total-recall-brain 3.41.4 → 3.41.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/bin/total-recall.mjs +10 -6
  2. package/docs/reference/cli-reference.md +18 -0
  3. package/frontend/dist/assets/index-4tGQfTa2.js +5605 -0
  4. package/frontend/dist/assets/index-DtwsDyFM.css +1 -0
  5. package/frontend/dist/index.html +2 -2
  6. package/frontend/package.json +11 -0
  7. package/frontend/src/App.tsx +47 -122
  8. package/frontend/src/components/plugins/plugin-frame.ts +1 -0
  9. package/frontend/src/index.css +152 -86
  10. package/frontend/src/pages/HelpPage.tsx +13 -10
  11. package/frontend/src/pages/MemoryPage.tsx +28 -30
  12. package/frontend/src/pages/NetworkPage.tsx +3 -3
  13. package/frontend/src/pages/PluginsPage.tsx +6 -5
  14. package/frontend/src/pages/RulesPage.tsx +16 -12
  15. package/package.json +4 -3
  16. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +3114 -36
  17. package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +4 -1
  18. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +3114 -36
  19. package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +4 -1
  20. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +3121 -33
  21. package/scaffold/.agent/skills/total-recall/plugins/embeddings/package.json +4 -1
  22. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package-lock.json +3122 -34
  23. package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package.json +4 -1
  24. package/scaffold/.agent/skills/total-recall/plugins/mesh/package-lock.json +3127 -49
  25. package/scaffold/.agent/skills/total-recall/plugins/mesh/package.json +5 -2
  26. package/scaffold/.agent/skills/total-recall/plugins/mesh/src/core/mesh.mjs +1 -1
  27. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/capability/index.mjs +136 -7
  28. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/cli.mjs +135 -26
  29. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package-lock.json +3121 -33
  30. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package.json +5 -2
  31. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/plugin.json +228 -9
  32. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/skills/meta-harness/SKILL.md +24 -30
  33. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/alerts.mjs +29 -16
  34. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/cascade.mjs +73 -0
  35. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/coordinator.mjs +182 -365
  36. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/dispatch.mjs +33 -0
  37. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/documentation.mjs +40 -14
  38. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/executor.mjs +4 -4
  39. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/agy.mjs +187 -0
  40. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/claude.mjs +275 -0
  41. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/cline.mjs +132 -0
  42. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/codex.mjs +187 -0
  43. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/cursor.mjs +158 -0
  44. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/devin.mjs +157 -0
  45. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/dsh.mjs +183 -0
  46. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/grok.mjs +132 -0
  47. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/hermes.mjs +173 -0
  48. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/index.mjs +87 -0
  49. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/openclaw.mjs +173 -0
  50. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/pi.mjs +129 -0
  51. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate.mjs +12 -0
  52. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/json-reply.mjs +22 -0
  53. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/learner.mjs +72 -70
  54. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/model-catalog.mjs +195 -0
  55. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/paths.mjs +11 -0
  56. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/pool.mjs +36 -0
  57. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/review.mjs +169 -0
  58. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/router.mjs +136 -346
  59. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/runtime.mjs +1 -1
  60. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/ssss-store.mjs +20 -0
  61. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/telemetry.mjs +43 -0
  62. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/threads.mjs +156 -0
  63. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worker.mjs +117 -35
  64. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worktree.mjs +51 -0
  65. package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/card.js +398 -57
  66. package/scaffold/.agent/skills/total-recall/plugins/openwiki/cli.mjs +304 -46
  67. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +367 -41
  68. package/scaffold/.agent/skills/total-recall/plugins/openwiki/package.json +5 -2
  69. package/scaffold/.agent/skills/total-recall/plugins/openwiki/plugin.json +33 -0
  70. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/config.mjs +2 -2
  71. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/generate.mjs +159 -0
  72. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/graph.mjs +197 -0
  73. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/lint.mjs +153 -0
  74. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/mesh-vaults.mjs +261 -0
  75. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/refresh.mjs +151 -4
  76. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/search.mjs +114 -0
  77. package/scaffold/.agent/skills/total-recall/plugins/openwiki/src/token.mjs +96 -0
  78. package/scaffold/.agent/skills/total-recall/plugins/openwiki/ui/card.js +899 -662
  79. package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/openwiki.mjs +8987 -0
  80. package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/skills/mermaid-diagrams/SKILL.md +44 -0
  81. package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/skills/write-connector/SKILL.md +56 -0
  82. package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +3097 -81
  83. package/scaffold/.agent/skills/total-recall/plugins/security/package.json +4 -1
  84. package/src/cli/agent.mjs +12 -1
  85. package/src/cli/compact.mjs +108 -0
  86. package/src/cli/connect.mjs +56 -1
  87. package/src/cli/context.mjs +55 -23
  88. package/src/cli/doctor.mjs +5 -2
  89. package/src/cli/forget.mjs +2 -0
  90. package/src/cli/harness.mjs +62 -50
  91. package/src/cli/memory-entry.mjs +2 -2
  92. package/src/cli/preflight.mjs +152 -16
  93. package/src/cli/release.mjs +386 -0
  94. package/src/cli/remember.mjs +19 -1
  95. package/src/cli/rules.mjs +54 -12
  96. package/src/cli/startup.mjs +1 -1
  97. package/src/cli/status.mjs +12 -2
  98. package/src/core/claude-hooks.mjs +41 -3
  99. package/src/core/cli-commands.mjs +2 -0
  100. package/src/core/cli-semantic-index.mjs +3 -2
  101. package/src/core/conflict-detector.mjs +23 -12
  102. package/src/core/context-compactor.mjs +145 -0
  103. package/src/core/context-policy.mjs +20 -0
  104. package/src/core/duplicate-guard.mjs +350 -0
  105. package/src/core/meta-harness.mjs +31 -11
  106. package/src/core/preflight-gate.mjs +2 -2
  107. package/src/core/preflight-receipt.mjs +29 -1
  108. package/src/core/scaffold-plugins.mjs +7 -0
  109. package/src/core/stdio-flush.mjs +23 -0
  110. package/src/core/surface.mjs +33 -10
  111. package/src/server/invoke-durability.mjs +39 -0
  112. package/src/server/invoke-write-child.mjs +25 -0
  113. package/src/server/routes/invoke.mjs +7 -0
  114. package/src/server/routes/plugins.mjs +2 -2
  115. package/frontend/dist/assets/index-BIQmqDKP.css +0 -1
  116. package/frontend/dist/assets/index-CRzjQLu7.js +0 -5631
  117. package/frontend/src/components/DaemonLogsTab.tsx +0 -54
  118. package/frontend/src/components/ResearchAgendaTab.tsx +0 -712
  119. package/frontend/src/components/TaskQueueTab.tsx +0 -193
  120. package/frontend/src/components/VoiceInput.tsx +0 -112
  121. package/frontend/src/pages/ChatPage.tsx +0 -1059
  122. package/frontend/src/pages/CollabPage.tsx +0 -470
  123. package/frontend/src/pages/DesignDocsPage.tsx +0 -621
  124. package/frontend/src/pages/FilesPage.tsx +0 -393
  125. package/frontend/src/pages/HealthPage.tsx +0 -359
  126. package/frontend/src/pages/InboxPage.tsx +0 -83
  127. package/frontend/src/pages/InstructionsPage.tsx +0 -583
  128. package/frontend/src/pages/IntegrationsPage.tsx +0 -761
  129. package/frontend/src/pages/MeshPage.css +0 -58
  130. package/frontend/src/pages/MeshPage.tsx +0 -1219
  131. package/frontend/src/pages/OkfPage.tsx +0 -535
  132. package/frontend/src/pages/SandboxPage.tsx +0 -113
  133. package/frontend/src/pages/SkillsPage.tsx +0 -1994
  134. package/frontend/src/pages/TasksPage.tsx +0 -427
  135. package/frontend/src/pages/UsagePage.tsx +0 -702
  136. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/README.md +0 -65
  137. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/cli.mjs +0 -76
  138. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/package.json +0 -19
  139. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/plugin.json +0 -266
  140. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/adapters/dsh.mjs +0 -446
  141. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/documentation.mjs +0 -152
  142. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/executor.mjs +0 -71
  143. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/runtime.mjs +0 -36
  144. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/setup.mjs +0 -35
  145. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/worker.mjs +0 -175
  146. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/DESIGN.md +0 -32
  147. package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/card.js +0 -575
@@ -1,65 +0,0 @@
1
- # Command Fleet
2
-
3
- All nine adapters share one plugin: Claude Code, Codex, Antigravity, Cursor,
4
- DSH, Grok, Muse, Pi and Hermes. `runtime <agent> ...` exposes their native runtime
5
- commands; DSH observations and Hermes gateway management live here as well.
6
-
7
- `total-recall cli-agents setup` connects all nine native instruction surfaces.
8
- The declared setup operation also runs during daemon-owned plugin refresh.
9
- Every dispatched agent receives a freshly checked Total Recall context, complete
10
- core help, installed plugin operations and composed commands. Setup failure or
11
- an unready context stops dispatch.
12
-
13
- `docs-refresh`, `docs-ensure`, `docs-status`, `docs-read` and `docs-search` manage
14
- downloaded official documentation rather than a list of links. Content is hashed,
15
- bounded and refreshed after 24 hours. Maintenance uses the existing Total Recall
16
- daemon's plugin task, refreshing one stale adapter per run. Failed pages remain
17
- visible as failures and cannot certify complete coverage; successful cached
18
- content remains readable. `setup --node <recorded-node>` selects maintenance
19
- placement without creating a second scheduler.
20
-
21
- Standalone Total Recall owner for CLI-agent discovery and explicit mesh command execution. Install with `total-recall plugin install <path-or-private-git-url>`. Installation rebuilds the plugin inventory, CLI library and connected instruction surfaces. No model account is created or selected automatically.
22
-
23
- ```sh
24
- total-recall cli-agents catalog --json
25
- total-recall cli-agents nodes --json
26
- total-recall cli-agents inspect --node <recorded-node> --json
27
- total-recall cli-agents run-command --stdin --json < request.json
28
- ```
29
-
30
- `request.json` selects one installed plugin operation, its literal arguments, a node and an agent:
31
-
32
- ```json
33
- {
34
- "pluginId": "git-sentinel",
35
- "subcommand": "status",
36
- "args": [],
37
- "execution": {
38
- "agent": "codex",
39
- "node": "local",
40
- "permissions": { "read": true, "write": false, "send": false, "destructive": false }
41
- }
42
- }
43
- ```
44
-
45
- For remote nodes, supply `execution.cwd` as an explicit absolute workspace. `agent: "direct"` runs the actual installed Total Recall CLI without a model. Remote access comes from recorded mesh entities and verified SSH configuration; unavailable nodes or binaries produce errors. Secrets are never accepted in an agent prompt. Existing account metadata is inspected without printing credentials or substituting provider API keys.
46
-
47
- The four permissions are strict boolean **command-effect admission controls**. They allow or deny the selected plugin command before dispatch. They are not a network policy or an OS sandbox for every action a model might propose. Supported adapter write modes are scoped through the vendor CLI; vendor approval and sandbox defaults stay enabled. The host's authenticated authorization still applies.
48
-
49
- A completed model turn is distinct from a completed plugin operation. Structured results return `commandExecutionVerified: false` for agent turns; only direct CLI execution returns a command exit receipt. Muse preserves its actual headless JSONL log and documented process exit status rather than treating session-protocol notifications as headless output. Do not infer working accounts, provider delivery or successful mutations from discovery or fixture tests.
50
-
51
- ## Primary contracts checked 2026-10-14
52
-
53
- | Adapter | Contract |
54
- | --- | --- |
55
- | Claude Code | [Headless](https://code.claude.com/docs/en/headless) |
56
- | Codex | [Non-interactive mode](https://developers.openai.com/codex/noninteractive) |
57
- | Antigravity | [Headless CLI](https://antigravity.google/docs/cli/headless/) |
58
- | Cursor | [CLI parameters](https://docs.cursor.com/en/cli/reference/parameters) |
59
- | DSH | [Official CLI source](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/README.md) |
60
- | Grok | [Headless scripting](https://docs.x.ai/build/cli/headless-scripting) |
61
- | Muse | [Headless and CI](https://dev.meta.ai/docs/muse-code/extending) |
62
- | Pi | [Official CLI reference](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/cli.md) |
63
- | Hermes | [Official command reference](https://github.com/NousResearch/hermes-agent/blob/main/website/docs/reference/cli-commands.md) |
64
-
65
- Cursor discovery uses `cursor-agent`; an ambiguous `agent` binary is not assumed to be Cursor. Missing installations are listed as unavailable. Unknown authentication requires explicit agent selection and remains unverified until a real run. Tests exercise literal stdin, bounded child-process cleanup, command admission, recorded SSH access, account checks and completed-result parsing. Run suites on the configured sanctioned test node.
@@ -1,76 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- import { ADAPTERS, inspectAgents } from './src/worker.mjs';
5
- import { inspectNode, listTargets, executeCommand, executeOnNode } from './src/executor.mjs';
6
- import { DOC_SOURCES, documentationStatus, refreshDocumentation, ensureDocumentation, maintainDocumentation, readDocumentation, searchDocumentation } from './src/documentation.mjs';
7
- import { manageRuntime } from './src/runtime.mjs';
8
- import { setupIntegrations } from './src/setup.mjs';
9
-
10
- export async function run(argv = []) {
11
- const args = argv.slice(3); const operation = args[0] || 'status';
12
- if (['--help', '-h', 'help'].includes(operation)) {
13
- const manifest=JSON.parse(fs.readFileSync(new URL('./plugin.json',import.meta.url),'utf8'));
14
- console.log('Usage: total-recall cli-agents <operation> [options]\nEvery agent receives Total Recall bootstrap before dispatch. Runtime syntax: runtime <agent> <native-command...> [--node ID].\n');
15
- for(const command of manifest.cli.subcommands)console.log(` ${command.name} ${(command.args || []).map(arg=>arg.flag?`${arg.flag} <${arg.name}>`:`<${arg.name}>`).join(' ')} — ${command.description}`);
16
- return;
17
- }
18
- let result;
19
- if (operation === 'status') result = {...await inspectAgents(),documentation:documentationStatus()};
20
- else if (operation === 'catalog') result = { adapters: ADAPTERS, permissions: ['read', 'write', 'send', 'destructive'] };
21
- else if (operation === 'nodes') result = await listTargets();
22
- else if(operation==='docs-sources')result={sources:DOC_SOURCES};
23
- else if(operation==='docs-read' || operation==='docs-search') {
24
- const option=name=>{const i=args.indexOf(name);if(i<0)return undefined;if(!args[i+1] || args[i+1].startsWith('--'))throw new Error(`${name} requires a value`);return args[i+1];};
25
- result=operation==='docs-read'?readDocumentation({agent:option('--agent'),url:option('--url')}):searchDocumentation({agent:option('--agent'),query:option('--query')});
26
- }
27
- else if(operation==='setup') {
28
- const index=args.indexOf('--node');
29
- if(index>=0 && (!args[index+1] || args[index+1].startsWith('-')))throw new Error('--node requires a recorded node');
30
- result=await setupIntegrations({node:index>=0?args[index+1]:undefined});
31
- }
32
- else if (['docs-status','docs-refresh','docs-ensure','maintenance'].includes(operation)) {
33
- const selected = args.indexOf('--agent');
34
- if (selected>=0 && (!args[selected+1] || args[selected+1].startsWith('-'))) throw new Error('--agent requires an adapter identifier');
35
- const options = selected>=0 ? {agent:args[selected+1]} : {};
36
- if(operation==='maintenance') {
37
- const setup=await setupIntegrations();
38
- result={...await maintainDocumentation(options),setup};
39
- } else result = operation==='docs-status' ? documentationStatus(options) : operation==='docs-ensure' ? await ensureDocumentation(options) : await refreshDocumentation(options);
40
- if(!result.ok)process.exitCode=1;
41
- }
42
- else if (operation === 'runtime') {
43
- const runtimeArgs=args.slice(1).filter(arg=>arg!=='--json'), agent=runtimeArgs.shift();
44
- const index=runtimeArgs.indexOf('--node'); let node='local';
45
- if(index>=0){node=runtimeArgs[index+1];if(!node || node.startsWith('-'))throw new Error('--node requires an identifier');runtimeArgs.splice(index,2);}
46
- result = node==='local' ? await manageRuntime(agent,runtimeArgs) : await executeOnNode(node,{operation:'direct',cwd:process.cwd(),argv:['total-recall','cli-agents','runtime',agent,...runtimeArgs,'--json']});
47
- if(!result.ok)process.exitCode=1;
48
- }
49
- else if(operation==='dispatch') {
50
- if(!args.includes('--stdin'))throw new Error('Task requests must arrive through stdin');
51
- const input=fs.readFileSync(0,'utf8');if(Buffer.byteLength(input)>65536)throw new Error('Task request too large');
52
- const request=JSON.parse(input);
53
- result=await executeOnNode(request.node || 'local',{...request,operation:'dispatch'});
54
- if(!result.ok)process.exitCode=1;
55
- }
56
- else if (operation === 'inspect') {
57
- const index = args.indexOf('--node');
58
- if (index >= 0 && (!args[index + 1] || args[index + 1].startsWith('--'))) throw new Error('--node requires a recorded node identifier');
59
- result = await inspectNode(index >= 0 ? args[index + 1] : 'local');
60
- }
61
- else if (operation === 'run-command') {
62
- if (!args.includes('--stdin')) throw new Error('Supply the command request through stdin');
63
- const input = fs.readFileSync(0, 'utf8'); if (Buffer.byteLength(input) > 65536) throw new Error('Command request is too large');
64
- const request = JSON.parse(input);
65
- const root = process.env.TR_PACKAGE_ROOT;
66
- if (!root) throw new Error('Native host context required');
67
- if (!path.isAbsolute(root)) throw new Error('Absolute native host context required');
68
- if (JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8')).name !== 'total-recall-brain') throw new Error('Native host identity mismatch');
69
- const { getPlugin } = await import(pathToFileURL(path.join(root, 'src/core/plugin-loader.mjs')));
70
- const plugin = getPlugin(request.pluginId, request.projectRoot || process.cwd());
71
- result = await executeCommand({ ...request, plugin });
72
- if (!result.ok) process.exitCode = 1;
73
- } else throw new Error('Unknown CLI-agents operation');
74
- console.log(JSON.stringify(result));
75
- }
76
- export default run;
@@ -1,19 +0,0 @@
1
- {
2
- "name": "tr-plugin-cli-agents",
3
- "version": "0.2.0",
4
- "type": "module",
5
- "scripts": {
6
- "test": "node --test test/*.test.mjs"
7
- },
8
- "files": [
9
- "cli.mjs",
10
- "plugin.json",
11
- "README.md",
12
- "src/",
13
- "!src/**/*.spec.mjs",
14
- "ui/"
15
- ],
16
- "publishConfig": {
17
- "access": "public"
18
- }
19
- }
@@ -1,266 +0,0 @@
1
- {
2
- "id": "cli-agents",
3
- "name": "Command Fleet",
4
- "version": "0.2.0",
5
- "description": "Discover, configure, document and run CLI agents through Total Recall on selected mesh nodes.",
6
- "cli": {
7
- "command": "cli-agents",
8
- "handler": "cli.mjs",
9
- "subcommands": [
10
- {
11
- "name": "status",
12
- "description": "Inspect local agent binaries and authentication metadata",
13
- "effect": "read",
14
- "output": "json",
15
- "args": []
16
- },
17
- {
18
- "name": "catalog",
19
- "description": "List documented adapter contracts and source references",
20
- "effect": "read",
21
- "output": "json",
22
- "args": []
23
- },
24
- {
25
- "name": "nodes",
26
- "description": "List recorded mesh targets without probing or changing them",
27
- "effect": "read",
28
- "output": "json",
29
- "args": []
30
- },
31
- {
32
- "name": "inspect",
33
- "description": "Inspect installed harnesses on a selected node",
34
- "effect": "read",
35
- "output": "json",
36
- "args": [
37
- {
38
- "name": "node",
39
- "flag": "--node",
40
- "type": "string",
41
- "label": "Mesh node"
42
- }
43
- ],
44
- "timeout_ms": 120000
45
- },
46
- {
47
- "name": "run-command",
48
- "description": "Run an explicit plugin command through the selected agent and node using a JSON request on stdin",
49
- "effect": "write",
50
- "output": "json",
51
- "args": [],
52
- "timeout_ms": 600000
53
- },
54
- {
55
- "name": "runtime",
56
- "description": "Manage any agent runtime; includes Hermes gateway/auth/skills/plugins and DSH observations",
57
- "effect": "write",
58
- "output": "json",
59
- "args": [
60
- {
61
- "name": "agent",
62
- "type": "string",
63
- "label": "Agent adapter",
64
- "required": true,
65
- "positional": true
66
- },
67
- {
68
- "name": "operation",
69
- "type": "string",
70
- "label": "Native operation",
71
- "required": true,
72
- "positional": true
73
- }
74
- ],
75
- "timeout_ms": 120000
76
- },
77
- {
78
- "name": "dispatch",
79
- "description": "Run a task from stdin after automatic Total Recall bootstrap",
80
- "effect": "write",
81
- "output": "json",
82
- "args": [],
83
- "timeout_ms": 120000
84
- },
85
- {
86
- "name": "docs-status",
87
- "description": "Verify cached official documentation coverage freshness and hashes",
88
- "effect": "read",
89
- "output": "json",
90
- "args": [
91
- {
92
- "name": "agent",
93
- "flag": "--agent",
94
- "type": "string",
95
- "label": "Agent adapter"
96
- }
97
- ],
98
- "timeout_ms": 120000
99
- },
100
- {
101
- "name": "docs-refresh",
102
- "description": "Download complete official agent documentation and retain last-good content on failure",
103
- "effect": "write",
104
- "output": "json",
105
- "args": [
106
- {
107
- "name": "agent",
108
- "flag": "--agent",
109
- "type": "string",
110
- "label": "Agent adapter"
111
- }
112
- ],
113
- "timeout_ms": 600000
114
- },
115
- {
116
- "name": "docs-ensure",
117
- "description": "Refresh missing or stale documentation automatically",
118
- "effect": "write",
119
- "output": "json",
120
- "args": [
121
- {
122
- "name": "agent",
123
- "flag": "--agent",
124
- "type": "string",
125
- "label": "Agent adapter"
126
- }
127
- ],
128
- "timeout_ms": 600000
129
- },
130
- {
131
- "name": "maintenance",
132
- "description": "Total Recall daemon maintenance: current official documentation and integration surfaces",
133
- "effect": "write",
134
- "output": "json",
135
- "args": [],
136
- "timeout_ms": 600000
137
- },
138
- {
139
- "name": "setup",
140
- "description": "Configure supported agent instruction surfaces and daemon task placement",
141
- "effect": "write",
142
- "output": "json",
143
- "args": [
144
- {
145
- "name": "node",
146
- "flag": "--node",
147
- "type": "string",
148
- "label": "Maintenance mesh node"
149
- }
150
- ],
151
- "timeout_ms": 120000
152
- },
153
- {
154
- "name": "docs-sources",
155
- "description": "List approved official documentation sources",
156
- "effect": "read",
157
- "output": "json",
158
- "args": []
159
- },
160
- {
161
- "name": "docs-read",
162
- "description": "Read integrity-checked cached official documentation",
163
- "effect": "read",
164
- "output": "json",
165
- "args": [
166
- {
167
- "name": "agent",
168
- "flag": "--agent",
169
- "type": "string",
170
- "label": "Agent"
171
- },
172
- {
173
- "name": "url",
174
- "flag": "--url",
175
- "type": "string",
176
- "label": "Url"
177
- }
178
- ]
179
- },
180
- {
181
- "name": "docs-search",
182
- "description": "Search downloaded official documentation",
183
- "effect": "read",
184
- "output": "json",
185
- "args": [
186
- {
187
- "name": "agent",
188
- "flag": "--agent",
189
- "type": "string",
190
- "label": "Agent"
191
- },
192
- {
193
- "name": "query",
194
- "flag": "--query",
195
- "type": "string",
196
- "required": true,
197
- "label": "Query"
198
- }
199
- ]
200
- }
201
- ]
202
- },
203
- "runtime": {
204
- "modules": {
205
- "command-executor": "src/executor.mjs",
206
- "documentation": "src/documentation.mjs",
207
- "agent-runtime": "src/runtime.mjs"
208
- },
209
- "setup_command": "setup"
210
- },
211
- "branding": {
212
- "name": "Command Fleet",
213
- "color": "#184e47",
214
- "accent": "#dbb76a",
215
- "background": "#f3eee3",
216
- "font": "system"
217
- },
218
- "ui": {
219
- "elements": [
220
- {
221
- "id": "fleet-card",
222
- "kind": "card",
223
- "tag": "command-fleet-card",
224
- "module": "ui/card.js",
225
- "description": "Installed agent fleet"
226
- }
227
- ]
228
- },
229
- "card_face": {
230
- "quick_actions": [
231
- {
232
- "subcommand": "status",
233
- "label": "Local agents"
234
- },
235
- {
236
- "subcommand": "nodes",
237
- "label": "Mesh nodes"
238
- },
239
- {
240
- "subcommand": "catalog",
241
- "label": "Adapters"
242
- }
243
- ]
244
- },
245
- "auth": {
246
- "plugin": "auth",
247
- "methods": [
248
- "passkey",
249
- "google-oauth2"
250
- ],
251
- "session_verification": true
252
- },
253
- "distribution": {
254
- "tier": "official",
255
- "license": "open"
256
- },
257
- "tasks": [
258
- {
259
- "intent": "Keep official agent documentation and Total Recall integrations current",
260
- "schedule": "*/15 * * * *",
261
- "command": "maintenance",
262
- "placement": "selected-node",
263
- "timeout_ms": 600000
264
- }
265
- ]
266
- }