feat(hololake): complete public runtime loop

This commit is contained in:
冰朔 2026-09-03 19:44:19 +08:00
commit 92cce27973
26 changed files with 2626 additions and 79 deletions

View file

@ -13,7 +13,7 @@ if len(ids) != len(set(ids)):
errors.append("duplicate module id")
required_sources = {
"USER_MESSAGE", "PERSONA_RESPONSE", "SYSTEM_CONTEXT", "PROTOCOL_EVENT",
"USER_MESSAGE", "PERSONA_RESPONSE", "EXTERNAL_AI_MESSAGE", "SYSTEM_CONTEXT", "PROTOCOL_EVENT",
"AGENT_ACTION", "TOOL_RESULT", "SYSTEM_RECEIPT",
}
types = (ROOT / "src/types.ts").read_text()
@ -31,6 +31,20 @@ for required in ("marked", "dompurify"):
renderer = ROOT / "src/modules/knowledge-render/index.tsx"
if not renderer.exists() or "MarkdownDocument" not in renderer.read_text():
errors.append("knowledge human visual renderer missing")
for required_file in (
"src-tauri/src/agent_executor.rs",
"src-tauri/src/persona_runtime.rs",
"src-tauri/src/realtime_bridge.rs",
"connectors/hololake-glp-client.py",
"contracts/public-runtime-v1.json",
):
if not (ROOT / required_file).exists():
errors.append(f"public runtime file missing: {required_file}")
runtime_contract = json.loads((ROOT / "contracts/public-runtime-v1.json").read_text())
if runtime_contract["transport"]["bind"] != "127.0.0.1":
errors.append("realtime bridge is not loopback-only")
if runtime_contract["mutation_gate"] != "PENDING_HUMAN_APPROVAL_TO_EXPLICIT_UI_APPROVAL_TO_EXECUTION":
errors.append("agent human approval gate missing")
tauri = json.loads((ROOT / "src-tauri/tauri.conf.json").read_text())
endpoints = tauri["plugins"]["updater"]["endpoints"]