feat(box): passkey fetch, agent key-approval flow, unified lookups, tmux agent UX
- box passkey [show|fetch] (+ muse passkey): documents VM-only passkey (/srv/box/passkey.txt, fallback /etc/netvm/passkey.txt on 34.139.37.135), probes VM over SSH with graceful fallback; --json supported. No secrets on bl. - approvals: request_key_approval / check_node_key_request; KEY_APPROVAL status surfaced in `box approvals check`; allow/deny resolve + audit to box-ctl.jsonl; never auto-approved. New `box approvals request-key <node> --reason`. - box lookup (summary|fleet|threads|unread|approvals|key|docs) and docs-lookup engine with lookup_internal/ database (docs_internal symlink). - muse-tmux: non-TTY attach falls back to scrollback capture; prune NameError fix. - box/muse passthrough for tmux/muse/docs; thread list/view alias + prefix resolve. - Docs: AGENTS.md, AGENT-TOOLING.md, BOX-WEB-SURFACE-GUIDE.md, README. - Tests: key-approval + passkey tests; sync stale sidechat UUIDs and manifest name. - .gitignore runtime trackers (subagent-sessions, conversation-nudge-tracker).
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "CLI Tools Reference & Grammar",
|
||||
"version": "1.0.0",
|
||||
"binaries": {
|
||||
"super": {
|
||||
"path": "/home/super/.local/bin/super",
|
||||
"target": "/home/super/Projects/NetVM/bin/super-cli.py",
|
||||
"description": "Unified off-board orchestrator CLI for NetVM & Box."
|
||||
},
|
||||
"box": {
|
||||
"path": "/home/super/.local/bin/box",
|
||||
"target": "/home/super/Projects/NetVM/bin/super-cli.py",
|
||||
"description": "Agent-facing unified CLI (symlink to super-cli.py)."
|
||||
},
|
||||
"muse": {
|
||||
"path": "/home/super/.local/bin/muse",
|
||||
"target": "/home/super/Projects/NetVM/bin/muse",
|
||||
"description": "Direct headless gateway wrapper with isolated per-node WARP netns."
|
||||
}
|
||||
},
|
||||
"domains": {
|
||||
"fleet": {
|
||||
"summary": "Node health, CDP status, active tabs, watch, restart",
|
||||
"subcommands": [
|
||||
{"cmd": "box fleet status", "desc": "Tabular health status of all 4 browser nodes (CDP latency, tabs, proc)"},
|
||||
{"cmd": "box fleet watch", "desc": "Live refresh terminal dashboard of fleet nodes"},
|
||||
{"cmd": "box fleet restart <node>", "desc": "Safely bounce a specific browser netns node"},
|
||||
{"cmd": "box fleet cdp <node>", "desc": "Inspect open DevTools targets and webSocket URLs"}
|
||||
]
|
||||
},
|
||||
"approvals": {
|
||||
"summary": "Inspect and handle agent browser & gateway approvals",
|
||||
"subcommands": [
|
||||
{"cmd": "box approvals check [-v]", "desc": "Check if any browser agent is waiting on approval dialogs"},
|
||||
{"cmd": "box approvals inspect <node>", "desc": "Inspect pending approval modal prompt and details"},
|
||||
{"cmd": "box approvals allow <node>", "desc": "Approve pending request on target node"},
|
||||
{"cmd": "box approvals deny <node>", "desc": "Reject pending request on target node"}
|
||||
]
|
||||
},
|
||||
"dm": {
|
||||
"summary": "Inter-agent DMs, work orders ([WO]), acks, live log tail",
|
||||
"subcommands": [
|
||||
{"cmd": "box dm send --agent <self> --to <peer> --target <sidechat> \"<msg>\"", "desc": "Send signed DM"},
|
||||
{"cmd": "box dm wo --agent <self> --to <peer> --target <chat> --title \"<title>\" \"<body>\"", "desc": "Dispatch structured [WO:id]"},
|
||||
{"cmd": "box dm ack <id> --agent <self>", "desc": "Acknowledge received work order"},
|
||||
{"cmd": "box dm log [--limit N]", "desc": "Read stream of signed work orders and DMs"},
|
||||
{"cmd": "box dm tail", "desc": "Live stream incoming DMs"}
|
||||
]
|
||||
},
|
||||
"thread": {
|
||||
"summary": "Inspect agent main chats, sidechats, and scrollbacks",
|
||||
"subcommands": [
|
||||
{"cmd": "box thread list [agent]", "desc": "List active sidechats and message threads"},
|
||||
{"cmd": "box thread view <agent> <thread_id> [--limit N]", "desc": "Read messages in a specific thread"}
|
||||
]
|
||||
},
|
||||
"job": {
|
||||
"summary": "Manage scheduled jobs, systemd timers, triggers, logs",
|
||||
"subcommands": [
|
||||
{"cmd": "box job list", "desc": "List registered jobs and systemd user timers"},
|
||||
{"cmd": "box job run <name>", "desc": "Hot-trigger immediate execution of a job"},
|
||||
{"cmd": "box job status <name>", "desc": "Inspect job execution status and logs"}
|
||||
]
|
||||
},
|
||||
"web": {
|
||||
"summary": "Probe VM web surfaces (box.muse-dev.online), auth, sync",
|
||||
"subcommands": [
|
||||
{"cmd": "box web health", "desc": "Check Google Cloud VM web surface HTTP status"},
|
||||
{"cmd": "box web test-auth", "desc": "Verify operator auth gating and session token"}
|
||||
]
|
||||
},
|
||||
"loop": {
|
||||
"summary": "Intrinsic loop strategy, health, break taxonomy, and variables",
|
||||
"subcommands": [
|
||||
{"cmd": "box loop status", "desc": "List active open loops, deadlines, and nudge counts"},
|
||||
{"cmd": "box loop health", "desc": "Show fleet loop health ratio and closure rate"},
|
||||
{"cmd": "box loop nudge <id>", "desc": "Manually trigger a followup nudge on an open loop"},
|
||||
{"cmd": "box loop close <id>", "desc": "Close a loop with verdict"}
|
||||
]
|
||||
},
|
||||
"vars": {
|
||||
"summary": "Inspect and adjust runtime control variables",
|
||||
"subcommands": [
|
||||
{"cmd": "box vars list", "desc": "List all dynamic runtime control variables"},
|
||||
{"cmd": "box vars get <name>", "desc": "Get current value of a variable"},
|
||||
{"cmd": "box vars set <name> <value>", "desc": "Update runtime variable value"},
|
||||
{"cmd": "box vars reset <name>", "desc": "Reset variable to canonical default"}
|
||||
]
|
||||
},
|
||||
"tmux": {
|
||||
"summary": "Manage headless background tmux sessions on /tmp/tmux-muse.sock",
|
||||
"subcommands": [
|
||||
{"cmd": "box tmux list", "desc": "List active background agent sessions"},
|
||||
{"cmd": "box tmux new <session> --command \"<cmd>\"", "desc": "Spawn new logged session"},
|
||||
{"cmd": "box tmux send <session> \"<keys>\"", "desc": "Send keystrokes to session"},
|
||||
{"cmd": "box tmux capture <session> [--lines N]", "desc": "Capture session output"}
|
||||
]
|
||||
},
|
||||
"deploy": {
|
||||
"summary": "Spawn sub-agent session and dispatch task",
|
||||
"subcommands": [
|
||||
{"cmd": "box deploy subagent --agent <self> --title \"<title>\" \"<prompt>\"", "desc": "Spawn autonomous subagent"}
|
||||
]
|
||||
},
|
||||
"docs": {
|
||||
"summary": "Internal documentation, surfaces, sentence grammar, and regex lookup",
|
||||
"subcommands": [
|
||||
{"cmd": "box docs search <query>", "desc": "Search internal docs database"},
|
||||
{"cmd": "box docs surfaces [name]", "desc": "Lookup assistive surfaces for box.muse-dev.online"},
|
||||
{"cmd": "box docs sentence [name]", "desc": "Lookup agent sentence structures and protocols"},
|
||||
{"cmd": "box docs regex [name] [--test \"str\"]", "desc": "Lookup or test regex patterns"},
|
||||
{"cmd": "box docs parse \"<utterance>\"", "desc": "Parse agent utterance through regex engine"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user