Ship War Room UX, CEO inbox, mobile chat, and Agents NAS workspace.

Make A2A togglable, keep reply context while reading, route agent data to //10.4.7.11/share/Agents, and polish themes plus export-intel sync cancel.
This commit is contained in:
Aissa
2026-08-16 22:40:32 +00:00
parent 910ba465d7
commit c5ea8cbb63
26 changed files with 2891 additions and 407 deletions
+26 -1
View File
@@ -8,7 +8,7 @@ from typing import Any, Optional
import httpx
from app.db import fetch_all, fetch_one
from app.services import agent_integration, agent_souls, herman, webbuilder_agent
from app.services import agent_integration, agent_nas, agent_souls, herman, webbuilder_agent
from app.services.agent_events_log import log_agent_event
from app.services.agent_names import normalize_agent_key
@@ -24,6 +24,8 @@ GLOBAL_HELP = [
"handoff <agent> <type> [notitie]",
"say <bericht> — log een notitie",
"ask <vraag> — AI-antwoord in rol van deze agent",
"nas — toon Agents NAS-pad",
"save <bestand> <tekst> — schrijf naar NAS Agents/<agent>/notes/",
]
AGENT_HELP: dict[str, list[str]] = {
@@ -430,6 +432,29 @@ async def execute_terminal_command(
else:
note = " ".join(args[2:]) if len(args) > 2 else ""
lines = _handoff(key, args[0], args[1], note)
elif cmd == "nas":
try:
agent_nas.ensure_agent_folder(key)
paths = agent_nas.agent_paths(key)
lines = [
_line("Agents NAS: " + str(agent_nas.smb())),
_line("Jouw map: " + str(paths.get("smb") or "")),
_line("Container: " + str(paths.get("root") or "")),
_line("Sub: notes/ exports/ memory/ inbox/ outbox/"),
]
except Exception as exc:
lines = [_line("NAS fout: " + str(exc), line_type="error")]
elif cmd == "save":
if len(args) < 2:
lines = [_line("Gebruik: save <bestandsnaam> <tekst>", line_type="error")]
else:
fname = args[0]
body = " ".join(args[1:])
try:
result = agent_nas.write_text(key, fname, body, subdir="notes")
lines = [_line("Opgeslagen op NAS: " + str(result.get("smb") or result.get("path")))]
except Exception as exc:
lines = [_line("Save mislukt: " + str(exc), line_type="error")]
elif cmd == "say":
if not rest:
lines = [_line("Gebruik: say <bericht>", line_type="error")]