@theihtisham/agent-shadow-brain 7.1.0 → 7.2.0

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 (59) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +36 -418
  3. package/dist/brain/auto-update.js +1 -1
  4. package/dist/brain/brain-portability.js +1 -1
  5. package/dist/brain/context-assembly.d.ts +58 -0
  6. package/dist/brain/context-assembly.d.ts.map +1 -0
  7. package/dist/brain/context-assembly.js +207 -0
  8. package/dist/brain/context-assembly.js.map +1 -0
  9. package/dist/brain/feature-settings.d.ts +53 -0
  10. package/dist/brain/feature-settings.d.ts.map +1 -0
  11. package/dist/brain/feature-settings.js +232 -0
  12. package/dist/brain/feature-settings.js.map +1 -0
  13. package/dist/brain/global-brain.d.ts +1 -0
  14. package/dist/brain/global-brain.d.ts.map +1 -1
  15. package/dist/brain/global-brain.js +3 -3
  16. package/dist/brain/global-brain.js.map +1 -1
  17. package/dist/brain/mcp-server.d.ts +2 -0
  18. package/dist/brain/mcp-server.d.ts.map +1 -1
  19. package/dist/brain/mcp-server.js +47 -5
  20. package/dist/brain/mcp-server.js.map +1 -1
  21. package/dist/brain/orchestrator.js +1 -1
  22. package/dist/brain/subconscious.d.ts +19 -24
  23. package/dist/brain/subconscious.d.ts.map +1 -1
  24. package/dist/brain/subconscious.js +77 -218
  25. package/dist/brain/subconscious.js.map +1 -1
  26. package/dist/cli.js +4 -2
  27. package/dist/cli.js.map +1 -1
  28. package/dist/context-cli.d.ts +3 -0
  29. package/dist/context-cli.d.ts.map +1 -0
  30. package/dist/context-cli.js +54 -0
  31. package/dist/context-cli.js.map +1 -0
  32. package/dist/dashboard/server.d.ts +1 -0
  33. package/dist/dashboard/server.d.ts.map +1 -1
  34. package/dist/dashboard/server.js +32 -4
  35. package/dist/dashboard/server.js.map +1 -1
  36. package/dist/dashboard/v6-dashboard-html.d.ts +1 -1
  37. package/dist/dashboard/v6-dashboard-html.d.ts.map +1 -1
  38. package/dist/dashboard/v6-dashboard-html.js +5 -27
  39. package/dist/dashboard/v6-dashboard-html.js.map +1 -1
  40. package/dist/dashboard/workspace-api.d.ts +10 -0
  41. package/dist/dashboard/workspace-api.d.ts.map +1 -0
  42. package/dist/dashboard/workspace-api.js +193 -0
  43. package/dist/dashboard/workspace-api.js.map +1 -0
  44. package/dist/dashboard/workspace-html.d.ts +2 -0
  45. package/dist/dashboard/workspace-html.d.ts.map +1 -0
  46. package/dist/dashboard/workspace-html.js +1555 -0
  47. package/dist/dashboard/workspace-html.js.map +1 -0
  48. package/dist/index.d.ts +4 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/types.d.ts +4 -2
  53. package/dist/types.d.ts.map +1 -1
  54. package/docs/WORKSPACE.md +70 -0
  55. package/docs/assets/context-flow-v7.2.png +0 -0
  56. package/docs/assets/workspace-graph-v7.2.png +0 -0
  57. package/docs/assets/workspace-overview-v7.2.png +0 -0
  58. package/docs/launch/RELEASE_NOTES_v7.2.0.md +24 -0
  59. package/package.json +19 -121
@@ -1,18 +1,9 @@
1
- // src/brain/subconscious.ts — Subconscious Engine (v5.2.0)
2
- //
3
- // On every new agent session, the Subconscious proactively injects a tight
4
- // briefing of relevant context — recent decisions, similar past work, project
5
- // state, cross-agent insights — so the agent doesn't have to ask.
6
- //
7
- // "Subconscious" because the agent doesn't actively retrieve this — the brain
8
- // makes it available implicitly. Like human intuition: the relevant memory
9
- // surfaces before you consciously look for it.
10
- //
11
- // Token budget: hard-capped (default 2000) to never bloat the agent's context.
12
- // Relevance ranked: each section competes for budget by importance × recency.
1
+ import * as path from 'node:path';
2
+ import { createHash, randomUUID } from 'node:crypto';
3
+ import { assembleContext, contextQueryKeywords } from './context-assembly.js';
4
+ import { FEATURE_SETTINGS_FILENAME, FeatureSettingsStore } from './feature-settings.js';
13
5
  import { getGlobalBrain, GlobalBrain } from './global-brain.js';
14
- import { getCache } from './l0-cache.js';
15
- import * as crypto from 'crypto';
6
+ import { L0Cache } from './l0-cache.js';
16
7
  const DEFAULT_CONFIG = {
17
8
  enabled: true,
18
9
  tokenBudget: 2000,
@@ -21,14 +12,9 @@ const DEFAULT_CONFIG = {
21
12
  alwaysInclude: ['decision', 'pattern', 'warning'],
22
13
  enabledAgents: [],
23
14
  };
24
- /** ~4 chars per token (rough English heuristic) */
25
- function estimateTokens(text) {
26
- return Math.ceil(text.length / 4);
27
- }
28
15
  export class SubconsciousEngine {
29
- constructor(config = {}, brain) {
30
- this.config = { ...DEFAULT_CONFIG, ...config };
31
- this.brain = brain ?? getGlobalBrain();
16
+ constructor(config = {}, brain, settings) {
17
+ this.cache = new L0Cache({ bytesLimit: 2 * 1024 * 1024 });
32
18
  this.stats = {
33
19
  totalBriefings: 0,
34
20
  avgTokenCount: 0,
@@ -37,216 +23,92 @@ export class SubconsciousEngine {
37
23
  byAgent: {},
38
24
  lastBriefing: null,
39
25
  };
26
+ this.config = { ...DEFAULT_CONFIG, ...config };
27
+ this.brain = brain ?? getGlobalBrain();
28
+ this.settings = settings ?? new FeatureSettingsStore({
29
+ filePath: path.join(path.dirname(this.brain.dbPath), FEATURE_SETTINGS_FILENAME),
30
+ });
40
31
  }
41
- /** Generate a session-start briefing for the agent — proactive context injection */
32
+ /** Generate a session-start briefing from the current project and task. */
42
33
  async generateBriefing(opts) {
43
34
  const start = Date.now();
44
- const sessionId = crypto.randomUUID();
45
- const projectId = opts.projectId ?? GlobalBrain.projectIdFor(opts.projectDir);
46
- const projectName = opts.projectName ?? opts.projectDir.split(/[/\\]/).pop() ?? 'unknown';
47
- // L0 cache check — if we briefed this agent for this project recently, reuse
48
- const cacheKey = `subconscious:${opts.agentTool}:${projectId}`;
49
- const cache = getCache('subconscious');
50
- const cached = cache.get(cacheKey);
51
- if (cached && Date.now() - cached.generatedAt.getTime() < 60000) {
52
- return cached;
53
- }
54
- // Skip if disabled or agent not in enabled list
55
- if (!this.config.enabled || (this.config.enabledAgents.length > 0 && !this.config.enabledAgents.includes(opts.agentTool))) {
56
- return this.emptyBriefing(opts.agentTool, opts.projectDir, sessionId);
57
- }
58
- if (!('init' in this.brain)) {
59
- return this.emptyBriefing(opts.agentTool, opts.projectDir, sessionId);
35
+ const briefing = this.emptyBriefing(opts);
36
+ const config = this.getConfig();
37
+ if (!config.enabled)
38
+ return { ...briefing, disabledReason: 'configuration' };
39
+ if (config.enabledAgents.length && !config.enabledAgents.includes(opts.agentTool)) {
40
+ return { ...briefing, disabledReason: 'agent' };
60
41
  }
61
- try {
62
- await this.brain.init();
63
- }
64
- catch { /* already initialized */ }
65
- // Build sections within budget
66
- const lookbackMs = this.config.lookbackHours * 60 * 60 * 1000;
67
- const cutoff = Date.now() - lookbackMs;
68
- const recentDecisions = this.fetchSection(projectId, ['decision'], cutoff, 5);
69
- const activeTasks = this.fetchSection(projectId, ['task', 'todo'], cutoff, 5);
70
- const projectState = this.fetchProjectStateSummary(projectId);
71
- const crossAgentInsights = this.fetchCrossAgentInsights(projectId, opts.agentTool, cutoff, 5);
72
- const warnings = this.fetchSection(projectId, ['warning', 'critical', 'security'], cutoff, 3);
73
- const similarPastWork = opts.currentTask
74
- ? this.fetchSimilarWork(opts.currentTask, opts.agentTool, 3)
75
- : this.fetchTopPatterns(projectId, 3);
76
- const briefing = {
77
- agentTool: opts.agentTool,
78
- projectDir: opts.projectDir,
79
- sessionId,
80
- generatedAt: new Date(),
81
- tokenCount: 0,
82
- sections: {
83
- recentDecisions: recentDecisions.map(e => this.formatEntry(e)),
84
- activeTasks: activeTasks.map(e => this.formatEntry(e)),
85
- similarPastWork: similarPastWork.map(e => this.formatEntry(e)),
86
- projectState,
87
- crossAgentInsights: crossAgentInsights.map(e => `[${e.agentTool}] ${this.formatEntry(e)}`),
88
- warnings: warnings.map(e => this.formatEntry(e)),
89
- },
90
- fullText: '',
91
- };
92
- briefing.fullText = this.assembleBriefing(briefing, projectName);
93
- briefing.tokenCount = estimateTokens(briefing.fullText);
94
- // Trim if over budget — drop lowest-priority sections first
95
- if (briefing.tokenCount > this.config.tokenBudget) {
96
- briefing.fullText = this.trimToBudget(briefing, projectName);
97
- briefing.tokenCount = estimateTokens(briefing.fullText);
98
- }
99
- // Cache it
100
- cache.set(cacheKey, briefing);
101
- // Update stats
42
+ const settings = this.settings.get();
43
+ if (!settings.features.automaticBriefing)
44
+ return { ...briefing, disabledReason: 'automaticBriefing' };
45
+ if (!settings.features.contextAssembly)
46
+ return { ...briefing, disabledReason: 'contextAssembly' };
47
+ const projectId = opts.projectId ?? GlobalBrain.projectIdFor(opts.projectDir);
48
+ const terms = contextQueryKeywords(opts.currentTask);
49
+ await this.brain.init();
50
+ const key = createHash('sha256').update(JSON.stringify({
51
+ projectDir: opts.projectDir, projectId, agentTool: opts.agentTool, terms, config,
52
+ includeCrossProject: opts.includeCrossProject, settings,
53
+ lastCommit: this.brain.getStorageHealth().lastSuccessfulSync,
54
+ })).digest('hex');
55
+ const cached = this.cache.get(key);
56
+ if (cached && Date.now() - cached.generatedAt.getTime() < 60000)
57
+ return structuredClone(cached);
58
+ const context = assembleContext(this.brain, {
59
+ projectId,
60
+ query: opts.currentTask,
61
+ maxEntries: 15,
62
+ tokenBudget: config.tokenBudget,
63
+ minImportance: config.relevanceThreshold,
64
+ lookbackHours: config.lookbackHours,
65
+ alwaysInclude: config.alwaysInclude,
66
+ includeCrossProject: opts.includeCrossProject,
67
+ features: settings.features,
68
+ });
69
+ for (const entry of context.entries)
70
+ this.addSection(briefing.sections, entry, projectId, opts.agentTool, terms.length > 0);
71
+ briefing.fullText = context.markdown;
72
+ briefing.tokenCount = context.budget.estimatedTokens;
73
+ this.cache.set(key, structuredClone(briefing));
102
74
  this.stats.totalBriefings++;
103
- this.stats.avgTokenCount = this.runningAvg(this.stats.avgTokenCount, briefing.tokenCount, this.stats.totalBriefings);
104
- this.stats.avgGenerationMs = this.runningAvg(this.stats.avgGenerationMs, Date.now() - start, this.stats.totalBriefings);
75
+ this.stats.avgTokenCount += (briefing.tokenCount - this.stats.avgTokenCount) / this.stats.totalBriefings;
76
+ this.stats.avgGenerationMs += (Date.now() - start - this.stats.avgGenerationMs) / this.stats.totalBriefings;
105
77
  this.stats.byAgent[opts.agentTool] = (this.stats.byAgent[opts.agentTool] ?? 0) + 1;
106
78
  this.stats.lastBriefing = new Date();
107
79
  return briefing;
108
80
  }
109
- /** Get current stats */
110
81
  getStats() {
111
- return { ...this.stats };
82
+ return { ...this.stats, byAgent: { ...this.stats.byAgent } };
112
83
  }
113
- /** Update config at runtime */
114
84
  configure(patch) {
115
85
  this.config = { ...this.config, ...patch };
86
+ this.cache.clear();
116
87
  }
117
88
  getConfig() {
118
- return { ...this.config };
119
- }
120
- // ─── Private helpers ────────────────────────────────────────────────────────
121
- fetchSection(projectId, categories, cutoffMs, limit) {
122
- const results = [];
123
- for (const category of categories) {
124
- const entries = this.brain.recall({
125
- projectId,
126
- category,
127
- limit,
128
- minImportance: this.config.relevanceThreshold,
129
- });
130
- for (const e of entries) {
131
- if (e.lastAccessed.getTime() >= cutoffMs || e.createdAt.getTime() >= cutoffMs) {
132
- results.push(e);
133
- }
134
- }
135
- }
136
- return results
137
- .sort((a, b) => b.importance - a.importance)
138
- .slice(0, limit);
139
- }
140
- fetchCrossAgentInsights(projectId, currentAgent, cutoffMs, limit) {
141
- const all = this.brain.recall({
142
- projectId,
143
- limit: limit * 3,
144
- minImportance: this.config.relevanceThreshold,
145
- });
146
- return all
147
- .filter(e => e.agentTool !== currentAgent && (e.lastAccessed.getTime() >= cutoffMs || e.createdAt.getTime() >= cutoffMs))
148
- .slice(0, limit);
149
- }
150
- fetchProjectStateSummary(projectId) {
151
- const recent = this.brain.recall({ projectId, category: 'state', limit: 1 });
152
- if (recent.length)
153
- return recent[0].content.slice(0, 300);
154
- const top = this.brain.recall({ projectId, limit: 3 });
155
- if (!top.length)
156
- return '';
157
- return top.map(e => `${e.category}: ${e.content.slice(0, 80)}`).join('; ');
158
- }
159
- fetchSimilarWork(taskHint, agentTool, limit) {
160
- const keywords = this.extractKeywords(taskHint);
161
- if (!keywords.length)
162
- return [];
163
- return this.brain.recall({
164
- keywords,
165
- limit,
166
- minImportance: this.config.relevanceThreshold,
167
- });
168
- }
169
- fetchTopPatterns(projectId, limit) {
170
- return this.brain.recall({ projectId, category: 'pattern', limit });
171
- }
172
- extractKeywords(text) {
173
- const stop = new Set(['the', 'and', 'or', 'a', 'an', 'is', 'are', 'was', 'were', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by', 'this', 'that']);
174
- return text
175
- .toLowerCase()
176
- .split(/\W+/)
177
- .filter(w => w.length > 3 && !stop.has(w))
178
- .slice(0, 5);
179
- }
180
- formatEntry(entry) {
181
- const content = entry.content.length > 200 ? entry.content.slice(0, 197) + '...' : entry.content;
182
- return content;
183
- }
184
- assembleBriefing(briefing, projectName) {
185
- const parts = [];
186
- parts.push(`# 🧠 Shadow Brain — Subconscious Briefing`);
187
- parts.push(`_Project: ${projectName} | Agent: ${briefing.agentTool} | Auto-generated by Shadow Brain v5.2.0_`);
188
- parts.push('');
189
- if (briefing.sections.warnings.length) {
190
- parts.push(`## ⚠️ Warnings`);
191
- for (const w of briefing.sections.warnings)
192
- parts.push(`- ${w}`);
193
- parts.push('');
194
- }
195
- if (briefing.sections.recentDecisions.length) {
196
- parts.push(`## Recent Decisions`);
197
- for (const d of briefing.sections.recentDecisions)
198
- parts.push(`- ${d}`);
199
- parts.push('');
200
- }
201
- if (briefing.sections.activeTasks.length) {
202
- parts.push(`## Active Tasks`);
203
- for (const t of briefing.sections.activeTasks)
204
- parts.push(`- ${t}`);
205
- parts.push('');
206
- }
207
- if (briefing.sections.projectState) {
208
- parts.push(`## Project State`);
209
- parts.push(briefing.sections.projectState);
210
- parts.push('');
211
- }
212
- if (briefing.sections.crossAgentInsights.length) {
213
- parts.push(`## Cross-Agent Insights`);
214
- for (const i of briefing.sections.crossAgentInsights)
215
- parts.push(`- ${i}`);
216
- parts.push('');
217
- }
218
- if (briefing.sections.similarPastWork.length) {
219
- parts.push(`## Similar Past Work`);
220
- for (const s of briefing.sections.similarPastWork)
221
- parts.push(`- ${s}`);
222
- parts.push('');
223
- }
224
- return parts.join('\n').trim();
225
- }
226
- trimToBudget(briefing, projectName) {
227
- // Drop sections in this priority order until under budget:
228
- // similarPastWork → crossAgentInsights → activeTasks → recentDecisions → warnings (warnings last)
229
- const trimmedSections = { ...briefing.sections };
230
- const dropOrder = ['similarPastWork', 'crossAgentInsights', 'activeTasks', 'recentDecisions'];
231
- for (const key of dropOrder) {
232
- let text = this.assembleBriefing({ ...briefing, sections: trimmedSections }, projectName);
233
- if (estimateTokens(text) <= this.config.tokenBudget)
234
- return text;
235
- const arr = trimmedSections[key];
236
- if (Array.isArray(arr)) {
237
- trimmedSections[key] = [];
238
- }
239
- else {
240
- trimmedSections[key] = '';
241
- }
242
- }
243
- return this.assembleBriefing({ ...briefing, sections: trimmedSections }, projectName);
244
- }
245
- emptyBriefing(agentTool, projectDir, sessionId) {
89
+ return { ...this.config, alwaysInclude: [...this.config.alwaysInclude], enabledAgents: [...this.config.enabledAgents] };
90
+ }
91
+ addSection(sections, entry, projectId, agentTool, hasTask) {
92
+ const origin = entry.projectId === projectId ? '' : '[' + (entry.projectName || entry.projectId) + '] ';
93
+ const text = origin + (entry.excerptTruncated ? 'Excerpt: ' : '') + entry.excerpt;
94
+ if (['warning', 'critical', 'security'].includes(entry.category))
95
+ sections.warnings.push(text);
96
+ else if (entry.category === 'decision')
97
+ sections.recentDecisions.push(text);
98
+ else if (entry.category === 'task' || entry.category === 'todo')
99
+ sections.activeTasks.push(text);
100
+ else if (entry.category === 'state' && !sections.projectState)
101
+ sections.projectState = text;
102
+ else if (entry.agentTool !== agentTool && !hasTask)
103
+ sections.crossAgentInsights.push('[' + entry.agentTool + '] ' + text);
104
+ else
105
+ sections.similarPastWork.push(text);
106
+ }
107
+ emptyBriefing(opts) {
246
108
  return {
247
- agentTool,
248
- projectDir,
249
- sessionId,
109
+ agentTool: opts.agentTool,
110
+ projectDir: opts.projectDir,
111
+ sessionId: randomUUID(),
250
112
  generatedAt: new Date(),
251
113
  tokenCount: 0,
252
114
  sections: {
@@ -260,9 +122,6 @@ export class SubconsciousEngine {
260
122
  fullText: '',
261
123
  };
262
124
  }
263
- runningAvg(prev, next, n) {
264
- return prev + (next - prev) / n;
265
- }
266
125
  }
267
126
  let defaultEngine = null;
268
127
  export function getSubconscious(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"subconscious.js","sourceRoot":"","sources":["../../src/brain/subconscious.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subconscious.js","sourceRoot":"","sources":["../../src/brain/subconscious.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -9,7 +9,8 @@ import * as os from 'os';
9
9
  import { Orchestrator } from './brain/orchestrator.js';
10
10
  import { detectRunningAgents, createAdapter } from './adapters/index.js';
11
11
  import { registerWorkflowCommands } from './workflow-cli.js';
12
- const VERSION = '7.1.0';
12
+ import { registerContextCommands } from './context-cli.js';
13
+ const VERSION = '7.2.0';
13
14
  // Defer config reads until a command actually needs provider settings.
14
15
  let savedConfig;
15
16
  function getConfig() {
@@ -3022,7 +3023,7 @@ const subconsciousCmd = new Command('subconscious')
3022
3023
  console.log(JSON.stringify(briefing, null, 2));
3023
3024
  }
3024
3025
  else {
3025
- console.log(briefing.fullText || chalk.dim('(no relevant context yet — brain is empty)'));
3026
+ console.log(briefing.fullText || chalk.dim(briefing.disabledReason ? `(Briefing disabled: ${briefing.disabledReason})` : '(No relevant context fits this task and budget.)'));
3026
3027
  }
3027
3028
  }))
3028
3029
  .addCommand(new Command('status')
@@ -5071,6 +5072,7 @@ const recallExplainCmd = new Command('recall-explain')
5071
5072
  program.addCommand(storageHealthCmd);
5072
5073
  program.addCommand(recallExplainCmd);
5073
5074
  registerWorkflowCommands(program);
5075
+ registerContextCommands(program);
5074
5076
  program.parseAsync().catch((error) => {
5075
5077
  console.error(error instanceof Error ? error.message : 'Command failed.');
5076
5078
  process.exitCode = 1;