feat: Mini-Apps registry, Stammdaten backend persistence, bank accounts

- Register 6 mini-apps in kommunikation plugin (contact_picker, file_share,
  calendar_invite, mail_forward, ai_search, task_create)
- Connect AdressenTab to backend API (GET/POST/PATCH/DELETE /addresses)
- Create BankAccount model, schema, service, routes + migration 0033
- Connect KontenTab to backend API (GET/POST/PATCH/DELETE /bank-accounts)
- AI tools already working: 7 tools registered (hybrid_search, get_contact_mails, etc.)
This commit is contained in:
Agent Zero
2026-07-25 02:11:29 +02:00
parent 382f500f39
commit 3e7abd4518
9 changed files with 600 additions and 29 deletions
+51 -1
View File
@@ -71,7 +71,57 @@ class KommunikationPlugin(BasePlugin):
miniapp_registry = MiniAppRegistry()
service_container.register("comm_miniapps", miniapp_registry)
logger.info("Kommunikation plugin activated — WebSocket + MiniApp registries ready")
# Register built-in mini-apps
miniapp_registry.register(
app_id="contact_picker",
name="Kontakt wählen",
icon="👤",
description="Kontakt aus dem CRM im Chat teilen",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"contact_id": {"type": "string"}}},
)
miniapp_registry.register(
app_id="file_share",
name="Datei teilen",
icon="📎",
description="Datei aus dem DMS im Chat teilen",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"file_id": {"type": "string"}}},
)
miniapp_registry.register(
app_id="calendar_invite",
name="Termin teilen",
icon="📅",
description="Kalender-Termin im Chat teilen",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"event_id": {"type": "string"}}},
)
miniapp_registry.register(
app_id="mail_forward",
name="E-Mail weiterleiten",
icon="✉️",
description="E-Mail im Chat weiterleiten",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"mail_id": {"type": "string"}}},
)
miniapp_registry.register(
app_id="ai_search",
name="KI Suche",
icon="🔍",
description="KI-gestützte Suche im CRM starten",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"query": {"type": "string"}}},
)
miniapp_registry.register(
app_id="task_create",
name="Aufgabe erstellen",
icon="",
description="Aufgabe aus dem Chat erstellen",
plugin_name="kommunikation",
render_schema={"type": "object", "properties": {"title": {"type": "string"}, "due_date": {"type": "string"}}},
)
logger.info("Kommunikation plugin activated — WebSocket + MiniApp registries ready (6 mini-apps registered)")
async def on_deactivate(self, db, service_container, event_bus) -> None:
"""Clean up registries."""