@theihtisham/agent-shadow-brain 7.0.0 → 7.1.3

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 (130) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +47 -385
  3. package/dist/activity-cli.d.ts +3 -0
  4. package/dist/activity-cli.d.ts.map +1 -0
  5. package/dist/activity-cli.js +78 -0
  6. package/dist/activity-cli.js.map +1 -0
  7. package/dist/adapters/index.d.ts +2 -1
  8. package/dist/adapters/index.d.ts.map +1 -1
  9. package/dist/adapters/index.js +3 -2
  10. package/dist/adapters/index.js.map +1 -1
  11. package/dist/brain/activity-journal.d.ts +82 -0
  12. package/dist/brain/activity-journal.d.ts.map +1 -0
  13. package/dist/brain/activity-journal.js +314 -0
  14. package/dist/brain/activity-journal.js.map +1 -0
  15. package/dist/brain/activity-reporting.d.ts +14 -0
  16. package/dist/brain/activity-reporting.d.ts.map +1 -0
  17. package/dist/brain/activity-reporting.js +17 -0
  18. package/dist/brain/activity-reporting.js.map +1 -0
  19. package/dist/brain/auto-update.js +1 -1
  20. package/dist/brain/brain-portability.js +1 -1
  21. package/dist/brain/client-integrations.d.ts +61 -0
  22. package/dist/brain/client-integrations.d.ts.map +1 -0
  23. package/dist/brain/client-integrations.js +98 -0
  24. package/dist/brain/client-integrations.js.map +1 -0
  25. package/dist/brain/context-assembly.d.ts +76 -0
  26. package/dist/brain/context-assembly.d.ts.map +1 -0
  27. package/dist/brain/context-assembly.js +305 -0
  28. package/dist/brain/context-assembly.js.map +1 -0
  29. package/dist/brain/feature-settings.d.ts +58 -0
  30. package/dist/brain/feature-settings.d.ts.map +1 -0
  31. package/dist/brain/feature-settings.js +241 -0
  32. package/dist/brain/feature-settings.js.map +1 -0
  33. package/dist/brain/global-brain.d.ts +7 -0
  34. package/dist/brain/global-brain.d.ts.map +1 -1
  35. package/dist/brain/global-brain.js +19 -4
  36. package/dist/brain/global-brain.js.map +1 -1
  37. package/dist/brain/mcp-server.d.ts +23 -1
  38. package/dist/brain/mcp-server.d.ts.map +1 -1
  39. package/dist/brain/mcp-server.js +224 -24
  40. package/dist/brain/mcp-server.js.map +1 -1
  41. package/dist/brain/mcp-stdio.d.ts +12 -0
  42. package/dist/brain/mcp-stdio.d.ts.map +1 -0
  43. package/dist/brain/mcp-stdio.js +134 -0
  44. package/dist/brain/mcp-stdio.js.map +1 -0
  45. package/dist/brain/memory-annotations.d.ts +97 -0
  46. package/dist/brain/memory-annotations.d.ts.map +1 -0
  47. package/dist/brain/memory-annotations.js +388 -0
  48. package/dist/brain/memory-annotations.js.map +1 -0
  49. package/dist/brain/memory-graph.d.ts.map +1 -1
  50. package/dist/brain/memory-graph.js +12 -23
  51. package/dist/brain/memory-graph.js.map +1 -1
  52. package/dist/brain/memory-sources.d.ts +8 -0
  53. package/dist/brain/memory-sources.d.ts.map +1 -0
  54. package/dist/brain/memory-sources.js +27 -0
  55. package/dist/brain/memory-sources.js.map +1 -0
  56. package/dist/brain/orchestrator.js +1 -1
  57. package/dist/brain/subconscious.d.ts +21 -24
  58. package/dist/brain/subconscious.d.ts.map +1 -1
  59. package/dist/brain/subconscious.js +82 -218
  60. package/dist/brain/subconscious.js.map +1 -1
  61. package/dist/brain/task-workflow.d.ts +22 -0
  62. package/dist/brain/task-workflow.d.ts.map +1 -0
  63. package/dist/brain/task-workflow.js +182 -0
  64. package/dist/brain/task-workflow.js.map +1 -0
  65. package/dist/brain/workflow-skills.d.ts +86 -0
  66. package/dist/brain/workflow-skills.d.ts.map +1 -0
  67. package/dist/brain/workflow-skills.js +514 -0
  68. package/dist/brain/workflow-skills.js.map +1 -0
  69. package/dist/cli.js +21 -2
  70. package/dist/cli.js.map +1 -1
  71. package/dist/context-cli.d.ts +3 -0
  72. package/dist/context-cli.d.ts.map +1 -0
  73. package/dist/context-cli.js +56 -0
  74. package/dist/context-cli.js.map +1 -0
  75. package/dist/curation-cli.d.ts +4 -0
  76. package/dist/curation-cli.d.ts.map +1 -0
  77. package/dist/curation-cli.js +118 -0
  78. package/dist/curation-cli.js.map +1 -0
  79. package/dist/dashboard/live-workspace-html.d.ts +2 -0
  80. package/dist/dashboard/live-workspace-html.d.ts.map +1 -0
  81. package/dist/dashboard/live-workspace-html.js +893 -0
  82. package/dist/dashboard/live-workspace-html.js.map +1 -0
  83. package/dist/dashboard/server.d.ts +1 -0
  84. package/dist/dashboard/server.d.ts.map +1 -1
  85. package/dist/dashboard/server.js +53 -18
  86. package/dist/dashboard/server.js.map +1 -1
  87. package/dist/dashboard/v6-dashboard-html.d.ts +1 -1
  88. package/dist/dashboard/v6-dashboard-html.d.ts.map +1 -1
  89. package/dist/dashboard/v6-dashboard-html.js +7 -29
  90. package/dist/dashboard/v6-dashboard-html.js.map +1 -1
  91. package/dist/dashboard/workspace-api.d.ts +16 -0
  92. package/dist/dashboard/workspace-api.d.ts.map +1 -0
  93. package/dist/dashboard/workspace-api.js +309 -0
  94. package/dist/dashboard/workspace-api.js.map +1 -0
  95. package/dist/dashboard/workspace-html.d.ts +2 -0
  96. package/dist/dashboard/workspace-html.d.ts.map +1 -0
  97. package/dist/dashboard/workspace-html.js +2132 -0
  98. package/dist/dashboard/workspace-html.js.map +1 -0
  99. package/dist/index.d.ts +14 -0
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +10 -0
  102. package/dist/index.js.map +1 -1
  103. package/dist/integration-cli.d.ts +3 -0
  104. package/dist/integration-cli.d.ts.map +1 -0
  105. package/dist/integration-cli.js +14 -0
  106. package/dist/integration-cli.js.map +1 -0
  107. package/dist/types.d.ts +12 -3
  108. package/dist/types.d.ts.map +1 -1
  109. package/dist/workflow-cli.d.ts +3 -0
  110. package/dist/workflow-cli.d.ts.map +1 -0
  111. package/dist/workflow-cli.js +100 -0
  112. package/dist/workflow-cli.js.map +1 -0
  113. package/docs/WORKFLOW_INTEGRATION.md +105 -0
  114. package/docs/WORKSPACE.md +111 -0
  115. package/docs/assets/context-flow-v7.2.png +0 -0
  116. package/docs/assets/live-v7.1.3.png +0 -0
  117. package/docs/assets/memory-detail-v7.1.3.png +0 -0
  118. package/docs/assets/overview-v7.1.3.png +0 -0
  119. package/docs/assets/workspace-graph-v7.2.png +0 -0
  120. package/docs/assets/workspace-overview-v7.2.png +0 -0
  121. package/docs/launch/RELEASE_NOTES_v7.1.0.md +32 -0
  122. package/docs/launch/RELEASE_NOTES_v7.1.3.md +40 -0
  123. package/docs/launch/RELEASE_NOTES_v7.2.0.md +24 -0
  124. package/package.json +112 -207
  125. package/skills/shadow-debug/SKILL.md +16 -0
  126. package/skills/shadow-implement/SKILL.md +16 -0
  127. package/skills/shadow-release/SKILL.md +16 -0
  128. package/skills/shadow-research/SKILL.md +12 -0
  129. package/skills/shadow-review/SKILL.md +14 -0
  130. package/skills/shadow-workflow/SKILL.md +31 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## [7.1.3] - 2026-11-11 - Live activity and curated memory
4
+
5
+ This release follows 7.2.0 using the version number requested by the maintainer. Install `@7.1.3` explicitly when upgrading from 7.2.0.
6
+
7
+ - Added a live portal with an event-driven session network, measured tool charts, host-reported phases, timeline, pause, and reduced motion.
8
+ - Added a bounded cross-process activity journal, cursor and reset detection, metadata-only MCP instrumentation, host reporting, and separate recording and visibility controls.
9
+ - Added memory review, typed relations, audit history, and project-scoped curation through the workspace and CLI.
10
+ - Excluded archived, contested, and superseded memories before context ranking; briefings refresh when reviews change.
11
+ - Added standard MCP stdio, client capability checks, project skill diagnostics, and generated launch configuration.
12
+ - Improved workspace navigation, source coverage, graph filtering, context explanations, dark mode, and mobile layouts.
13
+ - Fixed empty-project graph scope, preservation of pending writes during read refresh, and per-client attach/detach targeting.
14
+
15
+
16
+ ## [7.2.0] - 2026-11-11 - Context Packs and Workspace
17
+
18
+ - Make the local workspace the default dashboard with overview, searchable memories, graph, context, and feature controls. Keep the previous dashboard at `/advanced`.
19
+ - Build size-bounded, project-scoped context packs with ranked memory selection, duplicate handling, recorded source provenance, and selection explanations.
20
+ - Use context packs for session briefings. Key cached results to the task and current settings, and check enablement before reading or returning a briefing.
21
+ - Persist four validated feature settings for context assembly, explicit cross-project context, automatic briefings, and dashboard activity delivery.
22
+ - Add `context-pack` and `features list|set` commands, read-only `context_pack` and `feature_flags` MCP tools, and public context and settings APIs.
23
+ - Refresh the README and workspace guide with a concept illustration and dashboard screenshots.
24
+
25
+ ## [7.1.0] - 2026-11-11 - Focused Workflows and Portable Skills
26
+
27
+ - Bundle six reusable skills for proportionate planning, implementation, diagnosis, review, research, and release work.
28
+ - Add project-local skill installation for Codex, Claude Code, OpenCode, DeepSeek Harness, and compatible portable clients. Preview by default; preserve user instructions, reject conflicting local edits and stale plans, validate paths, and back up managed updates.
29
+ - Add `skills list`, `skills show`, `skills targets`, `skills install`, and `workflow analyze` CLI commands.
30
+ - Add read-only `workflow_analyze` and `workflow_skills` MCP tools and public library APIs.
31
+ - Respect plan-only, diagnosis-only, and review-only scope in advisory routing. Add explicit task, mode, and complexity overrides; no provider calls or automatic task execution.
32
+ - Verify skill packaging, fresh-consumer installation, safe update behavior, and representative task scenarios.
33
+
3
34
 
4
35
  ## [7.0.0] - 2026-11-11 - Durable Memory and Explained Recall
5
36
 
package/README.md CHANGED
@@ -1,428 +1,90 @@
1
1
  # Agent Shadow Brain
2
2
 
3
- Local-first memory and coordination for AI coding agents.
3
+ Agent Shadow Brain gives coding agents a shared local memory and a workspace you can inspect. Keep project decisions and sources together, review what is still useful, and build focused context for the next task. The live portal shows recorded sessions, tool calls, and host-reported task phases.
4
4
 
5
- Version: 7.0.0
5
+ ![Concept diagram showing coding agents sharing project memories and receiving a scoped, size-limited context pack](docs/assets/context-flow-v7.2.png)
6
6
 
7
+ *Concept illustration of the memory and context flow.*
7
8
 
8
- Agent Shadow Brain gives tools like Codex, Claude Code, Cursor, Cline, OpenCode, Aider, and related MCP clients a shared local memory layer. It stores compact, source-backed lessons about projects, recalls them later, generates fresh-session briefings, audits memory quality, and exports JSONL training/eval packs.
9
+ ## Get started
9
10
 
10
- It does not change model weights by itself. It helps agents work better by giving them relevant, current, source-linked context before and during complex work.
11
-
12
- ## What's New in 7.0.0
13
-
14
- - **Durable multi-agent memory.** Saves lock, reload, and merge the latest store so independent agents cannot replace each other's new memories. Queued writes acknowledge success after persistence. Failed operations remain retryable and visible in storage health.
15
- - **Explainable recall.** Results include matched keywords, score components, and identities reporting the same normalized content within the same project and category. Unrelated notes no longer inflate scores. Scores are ranking heuristics, not probabilities of truth or proof of independent verification.
16
- - **Storage diagnostics.** Use `shadow-brain storage-health --json` or MCP `global_storage_health` to inspect errors and pending operations. Invalid or unsupported stores fail explicitly and remain unchanged.
17
- - **Safer setup and packaging.** Installation no longer edits agent settings. Help, version, and memory diagnostics do not load provider configuration. Dependencies are refreshed, activity-log text is escaped, and package tests install a real tarball into a fresh consumer project.
18
-
19
- ### Upgrade from 6.x
20
-
21
- Use Node.js 22.12+ within 22.x, Node 24.x, or Node 26+. Back up your existing `global.json` before upgrading and stop older Shadow Brain writers; older versions do not participate in the new lock protocol. The schema remains version 1. Start integrations explicitly using the existing setup/attach commands after installation.
22
-
23
- `writeSync()` remains an in-memory operation; call `await brain.sync()` for durable persistence. `await brain.write()` resolves after the background sync or an explicit sync; a false result means persistence failed or the queue was full. Failed accepted operations remain pending for retry. Recall reads the process snapshot, refreshed by sync; it is not an instantaneous cross-process read.
24
-
25
- ### New commands
26
-
27
- ```bash
28
- shadow-brain storage-health --json
29
- shadow-brain storage-health --db ./global.json --json
30
- shadow-brain recall-explain "deployment rollback" --limit 5
31
- shadow-brain recall-explain "database migration" --project . --min-confidence 0.4
32
- ```
33
-
34
- `storage-health` validates readability and schema, reports JSON even on failure, and exits with code 1 for an invalid store. It does not repair or rewrite an existing store; when checking a missing store it may create its parent directory. `lastSuccessfulSync` describes the current process only. The MCP health tool inspects existing process state without initializing or flushing it.
35
-
36
- The library exports `GlobalBrain`, `getGlobalBrain`, and their public types:
37
-
38
- ```js
39
- import { getGlobalBrain } from '@theihtisham/agent-shadow-brain';
40
- const brain = getGlobalBrain({ dbPath: './global.json' });
41
- await brain.init();
42
- console.log(brain.recallScored({ keywords: ['deployment'], limit: 5 }));
43
- console.log(brain.getStorageHealth());
44
- await brain.shutdown();
45
- ```
46
-
47
- Details: [release notes](docs/launch/RELEASE_NOTES_v7.0.0.md).
48
-
49
- ## Earlier dashboard features
50
-
51
- - **Simple by default, Advanced on demand.** The dashboard opens with eight plain-English tabs (Home, Brain Map, Memories, Ask the Brain, Activity, Connected Tools, Brain Health, Settings). Flip to Advanced to reveal every feature — nothing was removed, just tidied.
52
- - **Brain Map.** An interactive graph of everything the brain remembers — memories, projects, tools, and tags — sized by importance (PageRank) and linked by shared context. Zoom, pan, click a node for details, and watch it grow live as new memories arrive.
53
- - **Realtime activity.** Memory writes, reflections, and tool events stream live over WebSocket instead of polling, with a live pulse on Home.
54
- - **Live Network.** A refreshed animation of your tools talking to the brain, with flowing signal pulses.
55
- - **Two-way knowledge seeding.** Quick-Save captures knowledge in one click; "Hand to Agent" generates a ready briefing to pass context back to any tool.
56
- - **Plain-language everywhere.** Cryptic feature names rewritten (e.g. Calibration → Accuracy, Pre-Mortem → Risk Check, Tokens → Cost & Usage), each with a hover description.
57
-
58
-
59
- ## What It Actually Does
60
-
61
- - Stores cross-project and cross-agent memories in a local JSON brain at `~/.shadow-brain/global.json`.
62
- - Recalls memories by project, agent, category, and keywords.
63
- - Generates source-backed resume packs for fresh sessions, account switches, context compaction, and handoffs.
64
- - Audits memory quality: source coverage, stale entries, duplicates, low-quality notes, recall health.
65
- - Creates verified memory seed drafts from dashboard/API, then requires user, agent, or dual approval before writing to durable memory.
66
- - Exports JSONL rows for evals, distillation, or local fine-tuning pipelines.
67
- - Provides CLI, dashboard API, and MCP tool surfaces.
68
- - Includes safety helpers such as hook audit, detach, and action firewall checks.
69
- - Works without telemetry and without an API key for local memory features.
70
-
71
- ## What It Does Not Claim
72
-
73
- - It does not secretly train GPT, Claude, Gemini, or any remote model.
74
- - It does not guarantee perfect recall.
75
- - It does not replace project docs, tests, source control, or human review.
76
- - It does not make every listed agent automatically available. Agent support depends on local installation and hook/config compatibility.
77
- - It does not publish or sync data unless you explicitly use export, sync, or other sharing commands.
78
-
79
- ## Install
80
-
81
- ```bash
82
- npm install -g @theihtisham/agent-shadow-brain
83
- ```
84
-
85
- CLI binaries:
86
-
87
- ```bash
88
- shadow-brain --help
89
- asb --help
90
- ```
91
-
92
- You can also run without global install:
93
-
94
- ```bash
95
- npx @theihtisham/agent-shadow-brain@latest --help
96
- ```
97
-
98
- ## Safe First Run
99
-
100
- Start by auditing before attaching hooks:
101
-
102
- ```bash
103
- shadow-brain audit-hooks .
104
- shadow-brain live-brain status .
105
- ```
106
-
107
- Only attach after you review what will be changed:
108
-
109
- ```bash
110
- shadow-brain attach-all .
111
- ```
112
-
113
- Detach later if needed:
114
-
115
- ```bash
116
- shadow-brain detach-all .
117
- ```
118
-
119
- ## v6.0.3: Live Brain
120
-
121
- The 6.0.3 release focuses on practical long-memory improvement for agents.
122
-
123
- ### Live Brain Status
124
-
125
- ```bash
126
- shadow-brain live-brain status .
127
- ```
128
-
129
- Shows:
130
-
131
- - memory count
132
- - average memory quality
133
- - source coverage
134
- - stale memories
135
- - duplicate clusters
136
- - recall eval score
137
- - recommended cleanup actions
138
-
139
- JSON output:
140
-
141
- ```bash
142
- shadow-brain live-brain status . --json
143
- ```
144
-
145
- ### Agent Briefing
146
-
147
- Generate a markdown briefing for a fresh agent session:
148
-
149
- ```bash
150
- shadow-brain live-brain brief . -o SHADOW_BRAIN_AGENT_BRIEF.md
151
- ```
152
-
153
- The briefing includes:
154
-
155
- - rules for agents
156
- - top source-backed memories
157
- - memory warnings
158
- - recall health
159
- - commands agents should run next
160
-
161
- ### Recall Eval
162
-
163
- Check whether the brain can retrieve useful memories for common agent tasks:
164
-
165
- ```bash
166
- shadow-brain live-brain eval .
167
- ```
168
-
169
- Custom eval queries use pipe separators:
170
-
171
- ```bash
172
- shadow-brain live-brain eval . --queries "current blocker|do not repeat|verified command"
173
- ```
174
-
175
- ### Memory Hygiene
176
-
177
- List concrete cleanup and learning actions:
178
-
179
- ```bash
180
- shadow-brain live-brain hygiene .
181
- ```
182
-
183
- This highlights missing sources, stale memories, duplicates, weak recall, and missing project-scoped memories.
184
-
185
- ### Training/Eval Export
186
-
187
- Export source-backed memories as JSONL:
11
+ Use Node.js 22.12+ within 22.x, Node.js 24.x, or Node.js 26+.
188
12
 
189
13
  ```bash
190
- shadow-brain live-brain train-pack . --out shadow-brain-training.jsonl
14
+ npm install -g @theihtisham/agent-shadow-brain@7.1.3
15
+ shadow-brain dash . --no-analysis
191
16
  ```
192
17
 
193
- This is useful for:
18
+ Run the dashboard command from your project directory. It opens the local workspace and skips background project analysis. Open the printed address if the browser does not start automatically. Use a second terminal for other commands while the dashboard is running.
194
19
 
195
- - retrieval evals
196
- - local distillation experiments
197
- - supervised fine-tuning datasets
198
- - memory regression tests
20
+ ## Watch activity as it happens
199
21
 
200
- The export is only data preparation. You choose the downstream training/eval tool.
22
+ Open **Live** in the workspace, or add `/live` to its address. Select a session to inspect its event network, reported phases, and timeline. Charts summarize tool throughput, errors, and measured duration in the loaded window. Pause updates or reduce motion at any time.
201
23
 
202
- ## Core Memory Commands
24
+ ![Live portal with a session network, observed tool calls, timing charts, and host-reported task phases](docs/assets/live-v7.1.3.png)
203
25
 
204
- Recall from the global brain:
26
+ *Running portal with scripted local MCP clients and synthetic data. Client labels in this demonstration do not prove native client installation or model connectivity.*
205
27
 
206
- ```bash
207
- shadow-brain global recall --query "current blocker next step" --json --limit 8
208
- ```
28
+ The standalone MCP service measures calls made through it. A connected host can explicitly report phases or its own tool events; these remain labeled **Host-reported**. Activity recording stores bounded metadata, not prompts, tool arguments, or memory content. The latest 500 events are retained, with visible notices for incomplete windows.
209
29
 
210
- Show global stats:
30
+ ## Review the context your agent uses
211
31
 
212
- ```bash
213
- shadow-brain global stats
214
- ```
32
+ - **Overview** shows project inventory, review states, recorded-source coverage, and recent activity.
33
+ - **Memories** lets you inspect content, sources, review history, and links. Mark entries active, archived, or contested.
34
+ - **Graph** connects projects, agents, and memories, including explicit support, contradiction, and replacement links.
35
+ - **Context** builds a copyable project pack and explains what was selected or excluded.
36
+ - **Integrations** shows client capabilities, project skill-file presence, and safe local diagnostics.
37
+ - **Features** controls context packs, cross-project context, automatic briefings, activity visibility, and activity recording separately.
215
38
 
216
- Create a source-backed resume seed:
39
+ ![Workspace overview with project inventory, review states, and source coverage](docs/assets/overview-v7.1.3.png)
217
40
 
218
- ```bash
219
- shadow-brain resume-seed . -o SHADOW_BRAIN_RESUME_SEED.md
220
- ```
41
+ ![Memory detail showing recorded references, review controls, relationships, and audit history](docs/assets/memory-detail-v7.1.3.png)
221
42
 
222
- Show what a project has learned:
43
+ *Workspace screenshots use synthetic memories. Recorded references and manual reviews help you check a claim; they do not establish its truth.*
223
44
 
224
- ```bash
225
- shadow-brain timeline . --limit 30
226
- ```
45
+ Open **Advanced tools** or visit `/advanced` for the previous dashboard. [Workspace guide](docs/WORKSPACE.md)
227
46
 
228
- Create a cross-agent handoff packet:
47
+ ## Build a context pack
229
48
 
230
49
  ```bash
231
- shadow-brain handoff codex claude-code . --task "continue release verification"
50
+ shadow-brain context-pack "import retry behavior" --project . --token-budget 1200
51
+ shadow-brain features list
52
+ shadow-brain features set automaticBriefing off
232
53
  ```
233
54
 
234
- Record a durable memory from a script:
235
-
236
- ```bash
237
- node tools/record-global-memory.mjs ^
238
- --project-dir "." ^
239
- --project-name "my-project" ^
240
- --agent codex ^
241
- --category "project.lesson" ^
242
- --importance 0.8 ^
243
- --tags "memory,release" ^
244
- --sources "README.md,CHANGELOG.md" ^
245
- --content "Keep release notes source-backed and verify npm metadata before publish."
246
- ```
55
+ A pack starts with the selected project's memories, excludes archived, contested, and superseded entries before ranking, collapses exact duplicates, and fits the rendered text to a size budget. Add `--json` to see selection reasons, sources, and recorded relationships. Cross-project context requires both an enabled feature setting and an explicit request. Token counts are estimates.
247
56
 
248
- ## Dashboard
57
+ Automatic briefings use the same context selection. Cached briefings follow the current task, feature settings, and memory reviews. Inspect and change reviews in the workspace or with `shadow-brain curate --help`.
249
58
 
250
- Start the local dashboard:
59
+ ## Connect your coding client
251
60
 
252
61
  ```bash
253
- shadow-brain dash . --no-open --port 7341
62
+ shadow-brain clients config
63
+ shadow-brain mcp --stdio
254
64
  ```
255
65
 
256
- For a fast UI/API-only launch on a large repo:
66
+ `clients config` prints a launch configuration for the installed CLI. Add it to a compatible MCP client. The stdio service provides nine read-only memory and workflow tools plus an explicit `activity_report` tool for host reports. It runs without loading provider configuration. Configure your client to use `context_pack` for curated context.
257
67
 
258
- ```bash
259
- shadow-brain dash . --no-open --no-analysis --host 127.0.0.1 --port 7341
260
- ```
68
+ Codex, Claude Code, OpenCode, and DeepSeek Harness have documented integration paths. DeepSeek Harness requires its MCP client and filesystem skill plugins. The Integrations view checks project skill files; loading them in a host is a separate step. [Connection and activity guide](docs/WORKSPACE.md)
261
69
 
262
- Open:
263
-
264
- ```text
265
- http://127.0.0.1:7341
266
- ```
70
+ ## Add skills to a project
267
71
 
268
- The v6 dashboard includes a **Live Brain** tab for memory health, source coverage, recall evals, hygiene actions, top memories, and the generated agent briefing.
269
-
270
- It also includes:
271
-
272
- - **Memory Browser intelligence cards** for total memories, source coverage, fresh learning, seed queue, top categories, agent coverage, and top tags.
273
- - **Memory Seeder** for controlled research-to-memory workflows. Drafts stay out of the global brain until approval is complete.
274
- - **Token Economy accuracy split**: current runtime agent is shown separately from historical model spend, so old Claude/Cursor spend records do not imply the dashboard is running that agent.
275
-
276
- ### Realtime Activity (new in 6.1.0)
277
-
278
- The dashboard now streams brain activity live over its WebSocket instead of polling. Memory writes, dreams, seed drafts/commits, collisions, sub-agent spawns, and consolidation cycles appear the instant they happen.
279
-
280
- - **Live Pulse** card on the Overview with a streaming mini-feed and an events/min rate.
281
- - **Activity Log** tab with filter chips, a pulsing LIVE badge, pause/resume, clear, search, and an events/min sparkline.
282
- - **Connection indicator** in the header — green when the realtime socket is live, amber while reconnecting.
283
- - **Cross-process aware**: a memory written by an agent in a *different* terminal is picked up by watching `~/.shadow-brain/global.json`, so the feed reflects the whole machine, not just this process.
284
-
285
- Polling remains as a 15-second reconciliation fallback; live events arrive in well under a second.
286
-
287
- ### Intelligence Hub — Memory Constellation (new in 6.2.0)
288
-
289
- A new **Intelligence** tab turns the brain into an interactive graph. Every memory, project, agent, and tag is a node in a force-directed **Memory Constellation**, sized by importance (PageRank blended with each memory's own score) and linked by project, author, tags, and shared-tag relatedness.
290
-
291
- - **Interactive**: scroll to zoom, drag to pan, click a node to focus its neighborhood and open a detail drawer; hover for a tooltip.
292
- - **Filters + search** by node type (memory / project / agent / tag).
293
- - **Live**: new memories pulse into the graph over the realtime stream.
294
- - **Analytics strip**: source-coverage gauge, agent-contribution and category charts, tag cloud, and a recent-memory feed.
295
- - Works instantly on your existing `~/.shadow-brain/global.json` — no project analysis or setup step.
296
-
297
- Several previously sparse tabs were also rebuilt with real visualizations: **Pre-Mortem** (risk matrix + failure cards), **Attention** (weighted heat bars), **Calibration** (Brier/trust chart), **Reputation** (trust rings), **Causal Chains** (node-link DAG), and **Branch Brains** (stat cards).
298
-
299
- Constellation API:
300
-
301
- ```text
302
- GET /api/v6/memory-graph
303
- ```
304
-
305
-
306
- Memory seeding API:
307
-
308
- ```text
309
- GET /api/v6/seed-drafts
310
- POST /api/v6/seed-draft
311
- POST /api/v6/seed-approve
312
- POST /api/v6/seed-reject
313
- POST /api/v6/seed-commit
314
- GET /api/v6/memory-intelligence
315
- ```
316
-
317
- Useful API endpoints:
318
-
319
- ```text
320
- GET/POST /api/v6/live-brain
321
- GET/POST /api/v6/resume-pack
322
- GET/POST /api/v6/ww2br-recall
323
- GET/POST /api/v6/memory-browser
324
- ```
325
-
326
- Example:
327
-
328
- ```bash
329
- curl "http://127.0.0.1:7341/api/v6/live-brain?projectDir=C:/path/to/project"
330
- ```
331
-
332
- ## MCP Tools
333
-
334
- The MCP server exposes memory and agent-control tools for compatible clients.
335
-
336
- New in 6.3.0:
337
-
338
- - `global_recall_scored` — recall with a per-memory confidence score (recency, author importance, cross-agent corroboration, prior usage, keyword relevance). Results are ranked by confidence so agents can weight memories instead of trusting every hit equally. Supports `minConfidence` to drop low-trust hits.
339
-
340
- New in 6.0.3:
341
-
342
- - `live_brain_status`
343
- - `live_brain_brief`
344
- - `live_brain_train_pack`
345
-
346
- Existing useful tools include:
347
-
348
- - `global_recall`
349
- - `global_recall_scored`
350
- - `global_stats`
351
- - `global_timeline`
352
- - `subconscious_inject`
353
- - `agent_handoff`
354
- - `firewall_check`
355
-
356
- Start MCP from the dashboard API or existing CLI/server integration, depending on your setup.
357
-
358
- ## How Agents Should Use It
359
-
360
- Recommended workflow for complex work:
361
-
362
- 1. Run `shadow-brain live-brain status <project>`.
363
- 2. Generate or read a live briefing.
364
- 3. Verify current project docs and source files.
365
- 4. Work normally.
366
- 5. Record only durable, source-backed lessons after proof.
367
- 6. Run recall evals when memory quality starts to drift.
368
-
369
- Good memories are short, action-oriented, and source-backed:
370
-
371
- ```text
372
- [lesson:release-readme-v1] Before publishing, verify package.json version, package-lock root version, README install commands, build output, and npm pack contents.
373
- Sources: package.json; package-lock.json; README.md
374
- Tags: release,npm,verification
375
- ```
376
-
377
- Bad memories are vague:
378
-
379
- ```text
380
- Make project better.
381
- ```
382
-
383
- ## Local Data
384
-
385
- Default global brain:
386
-
387
- ```text
388
- ~/.shadow-brain/global.json
389
- ```
390
-
391
- Project-local generated files may include:
392
-
393
- ```text
394
- SHADOW_BRAIN_AGENT_BRIEF.md
395
- SHADOW_BRAIN_RESUME_SEED.md
396
- shadow-brain-training.jsonl
397
- ```
398
-
399
- Do not store secrets, API keys, passwords, private keys, or raw credentials in memory content, metadata, tags, prompts, reports, or exported training data.
400
-
401
- ## Development
72
+ Six bundled skills cover workflow selection, implementation, debugging, review, research, and release. They help a client focus on the requested work, plan when useful, and verify the result.
402
73
 
403
74
  ```bash
404
- npm ci --ignore-scripts
405
- npm run verify
406
- npm run test:package
75
+ shadow-brain skills list
76
+ shadow-brain skills install . --target codex
77
+ shadow-brain skills install . --target codex --apply
407
78
  ```
408
79
 
409
- Focused tests:
410
-
411
- ```bash
412
- npx vitest run tests/brain/live-brain.test.ts tests/brain/context-continuity.test.ts
413
- ```
414
-
415
- On Windows PowerShell, if execution policy blocks `npm.ps1`, use:
416
-
417
- ```powershell
418
- npm.cmd run build
419
- npx.cmd vitest run tests\brain\live-brain.test.ts
420
- ```
80
+ The first install command previews the files. The second applies the install and preserves your existing project instructions. Choose `claude-code`, `opencode`, `deepseek-harness`, or `portable` for other clients. Discovery depends on each client's skill support. [Skill integration guide](docs/WORKFLOW_INTEGRATION.md)
421
81
 
422
- ## Release Checklist
82
+ ## Upgrade and reference
423
83
 
424
- Run `npm run verify`, `npm audit --audit-level=high`, and `npm run test:package`. Inspect the package allowlist, then publish the verified tarball. Confirm the npm version, integrity, and GitHub tag before announcing a release. See [the complete release checklist](docs/launch/RELEASE_CHECKLIST_v7.0.0.md).
84
+ If you are upgrading from 6.x, back up `~/.shadow-brain/global.json` and stop older writers before using 7.x. The 7.x writers use a new lock protocol and keep memory schema version 1. [7.0 migration notes](docs/launch/RELEASE_NOTES_v7.0.0.md)
425
85
 
426
- ## License
86
+ Version **7.1.3** is the requested release number for this upgrade, published after 7.2.0. Install it explicitly as shown above: semver-based update tools may otherwise prefer 7.2.0.
427
87
 
428
- MIT
88
+ - [7.1.3 release notes](docs/launch/RELEASE_NOTES_v7.1.3.md)
89
+ - [Earlier CLI, MCP, seeding, and export guide](https://github.com/ihtishaam-dev/agent-shadow-brain/blob/v7.1.0/README.md)
90
+ - [Changelog](CHANGELOG.md) · [MIT license](LICENSE)
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerActivityCommands(program: Command): void;
3
+ //# sourceMappingURL=activity-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-cli.d.ts","sourceRoot":"","sources":["../src/activity-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2C/D"}
@@ -0,0 +1,78 @@
1
+ import * as os from 'node:os';
2
+ import * as path from 'node:path';
3
+ import { Command } from 'commander';
4
+ import { activityJournalFor } from './brain/activity-journal.js';
5
+ import { reportAgentActivity } from './brain/activity-reporting.js';
6
+ import { FEATURE_SETTINGS_FILENAME, FeatureSettingsStore } from './brain/feature-settings.js';
7
+ function stores(opts) {
8
+ const dbPath = path.resolve(opts.db ?? path.join(os.homedir(), '.shadow-brain', 'global.json'));
9
+ const settings = new FeatureSettingsStore({
10
+ filePath: opts.settings ?? (opts.db ? path.join(path.dirname(dbPath), FEATURE_SETTINGS_FILENAME) : undefined),
11
+ });
12
+ return { brain: { dbPath }, settings };
13
+ }
14
+ function storeOptions(command) {
15
+ return command.option('--db <path>', 'Use the activity journal adjacent to this memory store')
16
+ .option('--settings <path>', 'Explicit feature-settings file');
17
+ }
18
+ function cursorNumber(input) {
19
+ if (input === undefined)
20
+ return undefined;
21
+ if (!/^\d+$/.test(input) || !Number.isSafeInteger(Number(input))) {
22
+ throw new TypeError('Activity cursor must be a nonnegative integer.');
23
+ }
24
+ return Number(input);
25
+ }
26
+ function durationNumber(input) {
27
+ if (input === undefined)
28
+ return undefined;
29
+ const value = Number(input);
30
+ if (!/^\d+(?:\.\d+)?$/.test(input) || !Number.isFinite(value) || value > Number.MAX_SAFE_INTEGER) {
31
+ throw new TypeError('Activity duration must be a nonnegative number of milliseconds.');
32
+ }
33
+ return value;
34
+ }
35
+ export function registerActivityCommands(program) {
36
+ const activity = new Command('activity').description('Report or read bounded local activity metadata');
37
+ storeOptions(activity.command('report').description('Record an explicitly reported session, phase, or tool event'))
38
+ .argument('<kind>', 'session-start, phase, tool-start, tool-end, or session-end')
39
+ .requiredOption('--project-id <id>', 'Project label')
40
+ .requiredOption('--session <id>', 'Host session label')
41
+ .requiredOption('--agent <id>', 'Agent label')
42
+ .option('--phase <phase>', 'understand, plan, work, or verify')
43
+ .option('--tool <name>', 'Tool label')
44
+ .option('--correlation <id>', 'Shared ID for the tool start and end')
45
+ .option('--outcome <outcome>', 'success, error, or cancelled')
46
+ .option('--duration-ms <number>', 'Host-reported tool duration in milliseconds')
47
+ .action(async (kind, opts) => {
48
+ const durationMs = durationNumber(opts.durationMs);
49
+ const { brain, settings } = stores(opts);
50
+ const result = await reportAgentActivity(brain, settings, {
51
+ kind, projectId: opts.projectId, sessionId: opts.session, agent: opts.agent,
52
+ phase: opts.phase, tool: opts.tool, correlationId: opts.correlation, outcome: opts.outcome, durationMs,
53
+ });
54
+ console.log(JSON.stringify(result, null, 2));
55
+ });
56
+ storeOptions(activity.command('tail').description('Read a page of recent activity or continue from a cursor'))
57
+ .option('--project-id <id>', 'Filter by recorded project label')
58
+ .option('--cursor <number>', 'Continue after this event sequence')
59
+ .option('--journal-id <id>', 'Journal ID paired with a previous cursor')
60
+ .action((opts) => {
61
+ const { brain, settings } = stores(opts);
62
+ const flags = settings.get().features;
63
+ const enabled = { liveEnabled: flags.liveActivity, recordingEnabled: flags.activityRecording };
64
+ if (!flags.liveActivity) {
65
+ console.log(JSON.stringify({
66
+ ...enabled, events: [], journalId: null, revision: 0, oldestSequence: null, latestSequence: 0,
67
+ nextAfterSequence: 0, cursor: 0, hasMore: false, gap: false, reset: false, retainedCount: 0, droppedCount: 0,
68
+ }, null, 2));
69
+ return;
70
+ }
71
+ const page = activityJournalFor(brain).read({
72
+ projectId: opts.projectId, afterSequence: cursorNumber(opts.cursor), journalId: opts.journalId, limit: 200,
73
+ });
74
+ console.log(JSON.stringify({ ...enabled, ...page, cursor: page.nextAfterSequence }, null, 2));
75
+ });
76
+ program.addCommand(activity);
77
+ }
78
+ //# sourceMappingURL=activity-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-cli.js","sourceRoot":"","sources":["../src/activity-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAwB9F,SAAS,MAAM,CAAC,IAAkB;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC;QACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9G,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC3F,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACjG,MAAM,IAAI,SAAS,CAAC,iEAAiE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC;IACvG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC,CAAC;SAChH,QAAQ,CAAC,QAAQ,EAAE,4DAA4D,CAAC;SAChF,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC;SACpD,cAAc,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;SACtD,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC;SACrC,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;SACpE,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAmB,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;YACxD,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK;YAC3E,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU;SACvG,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,0DAA0D,CAAC,CAAC;SAC3G,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SAC/D,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;SACvE,MAAM,CAAC,CAAC,IAAiB,EAAE,EAAE;QAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QACtC,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/F,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC7F,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;aAC7G,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC1C,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG;SAC3G,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -9,7 +9,8 @@ import { AiderAdapter } from './aider.js';
9
9
  import { CursorAdapter } from './cursor.js';
10
10
  import { WindsurfAdapter } from './windsurf.js';
11
11
  import { CopilotAdapter } from './copilot.js';
12
- export declare const ALL_ADAPTERS: Record<AgentTool, () => AgentAdapter>;
12
+ /** File adapters are distinct from clients that connect through MCP and skills. */
13
+ export declare const ALL_ADAPTERS: Record<Exclude<AgentTool, 'deepseek-harness'>, () => AgentAdapter>;
13
14
  export declare function createAdapter(tool: AgentTool): AgentAdapter;
14
15
  export declare function detectRunningAgents(projectDir: string): Promise<AgentAdapter[]>;
15
16
  export { ClaudeCodeAdapter, KiloCodeAdapter, ClineAdapter, OpenCodeAdapter, CodexAdapter, RooCodeAdapter, AiderAdapter, CursorAdapter, WindsurfAdapter, CopilotAdapter, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,YAAY,CAW9D,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAI3D;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAcrF;AAED,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,GACf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,mFAAmF;AACnF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,MAAM,YAAY,CAW3F,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAI3D;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAcrF;AAED,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,GACf,CAAC"}
@@ -9,6 +9,7 @@ import { AiderAdapter } from './aider.js';
9
9
  import { CursorAdapter } from './cursor.js';
10
10
  import { WindsurfAdapter } from './windsurf.js';
11
11
  import { CopilotAdapter } from './copilot.js';
12
+ /** File adapters are distinct from clients that connect through MCP and skills. */
12
13
  export const ALL_ADAPTERS = {
13
14
  'claude-code': () => new ClaudeCodeAdapter(),
14
15
  'kilo-code': () => new KiloCodeAdapter(),
@@ -22,9 +23,9 @@ export const ALL_ADAPTERS = {
22
23
  'copilot': () => new CopilotAdapter(),
23
24
  };
24
25
  export function createAdapter(tool) {
26
+ if (!Object.hasOwn(ALL_ADAPTERS, tool))
27
+ throw new Error(`No native file adapter for ${tool}. Use its MCP or project-skill integration.`);
25
28
  const factory = ALL_ADAPTERS[tool];
26
- if (!factory)
27
- throw new Error(`Unknown agent tool: ${tool}`);
28
29
  return factory();
29
30
  }
30
31
  export async function detectRunningAgents(projectDir) {