Organisationsvorlagen: ein ganzes Haus als importierbare Datei (#691)

- Core/Organisation/OrgTemplate: format, export, parse, structural checks.
  Export empties every credential (nested, name variants) and names it;
  a template that carries one is refused.
- OrgAdministration: ExportTemplate, PreviewTemplate (problems, warnings,
  every text in full), ImportTemplateAsync - only with confirmation, units
  before agents, own workspace per unit, doctrines, model and budget factor
  overridable, templateOrigin on every unit and agent.
- Endpoints GET /organisation/template, POST .../preview, POST .../import;
  templates card in the organisation view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-10-01 12:37:18 +02:00
co-authored by Claude Opus 5.5
parent 11465f3d74
commit 706b5cfd9e
14 changed files with 880 additions and 3 deletions
@@ -152,6 +152,23 @@
"org.voteTallyText": "{yes} ja · {no} nein · {missing} fehlen",
"org.voteOutcome": "Ergebnis",
"org.voteCost": "Kosten der Abstimmenden",
"org.templates": "Organisationsvorlagen",
"org.templatesHint": "Ein ganzes Haus als Datei: Einheiten, Regeln, Doktrinen und Agenten mit ihren Texten, Werkzeugen, Modellen und Budgets. Exportiert ohne Zugangsdaten — sie werden benannt, nie mitgegeben. Importiert nur in IDs und Namen, die diese Instanz noch nicht hat, und erst, nachdem du gelesen hast, was hereinkommt.",
"org.templateNamePlaceholder": "Name der Vorlage",
"org.templateExport": "Exportieren",
"org.templateExportedCredentials": "Exportiert. {n} Zugangsdaten wurden weggelassen und sind in der Datei benannt.",
"org.templateFile": "Vorlage importieren",
"org.templateModel": "Modell für alle Agenten (optional)",
"org.templateModelPlaceholder": "Modelle der Vorlage behalten",
"org.templateBudgetFactor": "Budgetfaktor",
"org.templateProblems": "Die Vorlage lässt sich nicht importieren:",
"org.templateUnits": "{n} Einheit(en)",
"org.templateAgents": "{n} Agent(en)",
"org.templateDay": "Tag",
"org.templateCredentials": "Danach einzutragende Zugangsdaten",
"org.templateConfirm": "Ich habe die Identity- und Soul-Texte gelesen. Sie werden zu den Prompts meiner Agenten.",
"org.templateImport": "Importieren",
"org.templateUnreadable": "Die Datei ist keine Vorlage: {error}",
"org.ceilingInherited": "Von oben begrenzt auf: {tools}",
"org.settings": "Sammelwerte",
"org.settingsHint": "Werden nach einer Vorschau in die Agenten geschrieben. Die Einheit merkt sich den Wert nur als Vorgabe für neue Mitglieder — zur Laufzeit übertrumpft nichts einen Agenten.",