Banner-Text + AI-Disclaimer-Modal + Translator-Robustheit
#28 Banner-Text bei Token-Budget aufgebraucht: - middleware/license_check.py + static/js/app.js: Statt "Bitte Verwaltung kontaktieren" jetzt konkreter Upgrade-Pfad mit info@aegis-sight.de. #29 AI-Hallucination-Disclaimer: - Neue static/js/ai-disclaimer.js (analog zu update-system.js): IIFE-Modul, localStorage-versioniert (aegis_ai_disclaimer_seen=v1), inline-CSS mit Theme-Variablen, Modal mit Lucide-Info-Icon. - Wird beim ersten Login einmalig gezeigt; ueber Header-User-Dropdown Eintrag "Ueber KI-Inhalte" jederzeit erneut oeffenbar. - dashboard.html: Script-Tag + Dropdown-Button mit Lucide-SVG. - style.css: kleiner Stil-Block fuer .header-dropdown-action. Translator-Robustheit (Bonus): - agents/translator.py: Parser akzeptiert jetzt auch von Claude wrapped Antworten ({{translations: [...]}}, {{items: [...]}}, einzelnes Object). Behebt Wrapper-Bug der gestern beim Backfill 75% der Calls fehlschlagen liess. - Prompt deutlicher: "flaches JSON-Array, kein Wrapper".
Dieser Commit ist enthalten in:
@@ -523,7 +523,7 @@ const App = {
|
||||
let text = 'Nur Lesezugriff';
|
||||
const reason = user.read_only_reason;
|
||||
if (reason === 'budget_exceeded') {
|
||||
text = 'Token-Budget aufgebraucht – nur Lesezugriff. Bitte Verwaltung kontaktieren.';
|
||||
text = 'Token-Budget aufgebraucht – nur Lesezugriff. Für Aufstockung oder Upgrade bitte info@aegis-sight.de kontaktieren.';
|
||||
} else if (reason === 'expired') {
|
||||
text = 'Lizenz abgelaufen – nur Lesezugriff';
|
||||
} else if (reason === 'no_license') {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren