feat(L4-L5): KI-Steuerung + XRechnung-Format-Layer (EN16931/CII)
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
L5 Format-Layer (User-Klaerung: Verkaufsmodul spaeter, Format JETZT): - einvoice.py: EN16931/XRechnung CII-XML-Generator (ElementTree, XML-Escaping gratis), Pflichtfeld-Validierung mit BT/BG-Codes, Decimal-kommerzielles Rounding, Header-Tax-Breakdown pro VAT-Satz, Profile en16931|xrechnung (XRechnung 3.0) - POST /einvoice/render (inline->XML), /einvoice/validate (422 mit BT-Fehlliste), /einvoice/render-for (Contract-Resolver einvoice_data() — Andockpunkt Verkaufsmodul, 404 no_data_source ohne Beitrag) L4 KI-Steuerung: - POST /documents/suggest: Natuerliche Sprache -> Block-Komposition via zentralem llm_complete (Cost-Tracking, Tenant-Budget), Registry-Sanitizing (ungueltige KI-Bloecke gefiltert, IDs serverseitig), Code-Fence-Stripping, 502 ai_unavailable/invalid_ai_response - Frontend: KI-Vorschlag-Panel im PrintTemplateEditor (Sparkles-Icon, Prompt-Textarea, Bloecke werden angehaengt), i18n de/en TDD: Rot 25 failed -> Gruen 25/25 (Validierung, XML-Struktur/Escaping/Summen, Contract-Mocks, API 200/422/403/404, Suggest Mock-LLM/Fence/502). tsc exit 0, Build OK, ruff clean. Doku: api-documentation.md, plugin-development-guide.md (einvoice_data-Contract), PROGRESS.md
This commit is contained in:
@@ -1559,6 +1559,15 @@
|
||||
"generated": "Dokument wurde erstellt",
|
||||
"generateFailed": "Dokument konnte nicht erstellt werden",
|
||||
"noTemplates": "Keine Druckvorlagen für diesen Datentyp. Vorlagen unter Einstellungen → Dokumente anlegen."
|
||||
},
|
||||
"ai": {
|
||||
"title": "KI-Vorschlag",
|
||||
"hint": "Beschreibe die Vorlage — die KI schlägt Blöcke vor und fügt sie hinzu.",
|
||||
"placeholder": "z.B. Angebotsvorlage mit Anrede, Firmenname, Leistungsliste und Grußformel",
|
||||
"suggest": "Vorschlagen",
|
||||
"suggested": "{{count}} Blöcke übernommen",
|
||||
"noBlocks": "KI hat keine gültigen Blöcke vorgeschlagen",
|
||||
"failed": "KI-Vorschlag fehlgeschlagen"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1559,6 +1559,15 @@
|
||||
"generated": "Document created",
|
||||
"generateFailed": "Document could not be created",
|
||||
"noTemplates": "No print templates for this data type. Create templates under Settings → Documents."
|
||||
},
|
||||
"ai": {
|
||||
"title": "AI Suggestion",
|
||||
"hint": "Describe the template — the AI suggests blocks and adds them.",
|
||||
"placeholder": "e.g. quote template with salutation, company name, service list and closing",
|
||||
"suggest": "Suggest",
|
||||
"suggested": "{{count}} blocks added",
|
||||
"noBlocks": "AI did not suggest valid blocks",
|
||||
"failed": "AI suggestion failed"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user