sensorium-mcp 2.16.96 → 2.16.98
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.
- package/dist/data/memory/index.d.ts +4 -0
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +4 -0
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/reflection.d.ts +37 -0
- package/dist/data/memory/reflection.d.ts.map +1 -0
- package/dist/data/memory/reflection.js +407 -0
- package/dist/data/memory/reflection.js.map +1 -0
- package/dist/intent.d.ts +1 -1
- package/dist/intent.d.ts.map +1 -1
- package/dist/intent.js +24 -2
- package/dist/intent.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +5 -1
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +2 -1
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/thread-lifecycle.d.ts +1 -1
- package/dist/tools/thread-lifecycle.d.ts.map +1 -1
- package/dist/tools/thread-lifecycle.js +2 -1
- package/dist/tools/thread-lifecycle.js.map +1 -1
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +24 -5
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/package.json +1 -1
- package/templates/code-review.default.md +68 -0
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* All memory modules are re-exported here so consumers can import from
|
|
5
5
|
* a single path: `./data/memory/index.js`.
|
|
6
|
+
*
|
|
7
|
+
* Modules: utils, schema, episodes, semantic, procedures, voice-sig,
|
|
8
|
+
* consolidation, reflection (causal/pattern/counterfactual insights), bootstrap.
|
|
6
9
|
*/
|
|
7
10
|
export * from './utils.js';
|
|
8
11
|
export * from './schema.js';
|
|
@@ -11,5 +14,6 @@ export * from './semantic.js';
|
|
|
11
14
|
export * from './procedures.js';
|
|
12
15
|
export * from './voice-sig.js';
|
|
13
16
|
export * from './consolidation.js';
|
|
17
|
+
export * from './reflection.js';
|
|
14
18
|
export * from './bootstrap.js';
|
|
15
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* All memory modules are re-exported here so consumers can import from
|
|
5
5
|
* a single path: `./data/memory/index.js`.
|
|
6
|
+
*
|
|
7
|
+
* Modules: utils, schema, episodes, semantic, procedures, voice-sig,
|
|
8
|
+
* consolidation, reflection (causal/pattern/counterfactual insights), bootstrap.
|
|
6
9
|
*/
|
|
7
10
|
export * from './utils.js';
|
|
8
11
|
export * from './schema.js';
|
|
@@ -11,5 +14,6 @@ export * from './semantic.js';
|
|
|
11
14
|
export * from './procedures.js';
|
|
12
15
|
export * from './voice-sig.js';
|
|
13
16
|
export * from './consolidation.js';
|
|
17
|
+
export * from './reflection.js';
|
|
14
18
|
export * from './bootstrap.js';
|
|
15
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reflection pipeline — the "dreaming" phase that generates deeper insights
|
|
3
|
+
* from episodic memories after consolidation.
|
|
4
|
+
*
|
|
5
|
+
* Unlike consolidation (which extracts facts and preferences), reflection
|
|
6
|
+
* finds causal chains, recurring patterns, counterfactuals, and
|
|
7
|
+
* self-assessments across episodes. It runs post-consolidation when
|
|
8
|
+
* enough episodes exist, rate-limited to once per 4 hours.
|
|
9
|
+
*/
|
|
10
|
+
import type { Database } from "./schema.js";
|
|
11
|
+
export interface ReflectionInsight {
|
|
12
|
+
type: "causal" | "pattern" | "self_assessment" | "counterfactual";
|
|
13
|
+
content: string;
|
|
14
|
+
confidence: number;
|
|
15
|
+
relatedEpisodeIds: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface ReflectionResult {
|
|
18
|
+
insights: ReflectionInsight[];
|
|
19
|
+
processedEpisodeCount: number;
|
|
20
|
+
duration: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Run the reflection pipeline on recent consolidated episodes.
|
|
24
|
+
* Generates deeper insights beyond simple fact/preference extraction.
|
|
25
|
+
*
|
|
26
|
+
* Pipeline:
|
|
27
|
+
* 1. Gate check — enough episodes, rate limit, API key present
|
|
28
|
+
* 2. Gather episodes — recent + random sample of older ones
|
|
29
|
+
* 3. Build a narrative from episode content
|
|
30
|
+
* 4. Send to OpenAI with the reflection prompt
|
|
31
|
+
* 5. Parse insights, de-duplicate, and save as semantic notes
|
|
32
|
+
*/
|
|
33
|
+
export declare function runReflection(db: Database, threadId: number, options?: {
|
|
34
|
+
maxEpisodes?: number;
|
|
35
|
+
includeOldSample?: boolean;
|
|
36
|
+
}): Promise<ReflectionResult>;
|
|
37
|
+
//# sourceMappingURL=reflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../../../src/data/memory/reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAc5C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8ND;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAkJ3B"}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reflection pipeline — the "dreaming" phase that generates deeper insights
|
|
3
|
+
* from episodic memories after consolidation.
|
|
4
|
+
*
|
|
5
|
+
* Unlike consolidation (which extracts facts and preferences), reflection
|
|
6
|
+
* finds causal chains, recurring patterns, counterfactuals, and
|
|
7
|
+
* self-assessments across episodes. It runs post-consolidation when
|
|
8
|
+
* enough episodes exist, rate-limited to once per 4 hours.
|
|
9
|
+
*/
|
|
10
|
+
import { saveSemanticNote, searchByEmbedding, saveNoteEmbedding } from "./semantic.js";
|
|
11
|
+
import { nowISO } from "./utils.js";
|
|
12
|
+
import { log } from "../../logger.js";
|
|
13
|
+
import { chatCompletion, generateEmbedding, } from "../../integrations/openai/chat.js";
|
|
14
|
+
// ─── Rate-limiting ───────────────────────────────────────────────────────────
|
|
15
|
+
const REFLECTION_COOLDOWN_MS = 4 * 60 * 60 * 1000; // 4 hours
|
|
16
|
+
const MIN_EPISODES_FOR_REFLECTION = 20;
|
|
17
|
+
/** Per-thread timestamp of the last successful reflection run. */
|
|
18
|
+
const lastReflectionAt = new Map();
|
|
19
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
20
|
+
/** Extract text from an episode's content object. */
|
|
21
|
+
function episodeText(ep) {
|
|
22
|
+
const c = ep.content;
|
|
23
|
+
if (typeof c === "string")
|
|
24
|
+
return c;
|
|
25
|
+
return c.text ?? c.caption ?? JSON.stringify(c);
|
|
26
|
+
}
|
|
27
|
+
/** Build a time-ordered narrative from a list of episodes. */
|
|
28
|
+
function buildNarrative(episodes) {
|
|
29
|
+
return episodes
|
|
30
|
+
.sort((a, b) => a.timestamp.localeCompare(b.timestamp))
|
|
31
|
+
.map((ep) => `[${ep.episodeId}] (${ep.type}/${ep.modality}, ${ep.timestamp}) ${episodeText(ep)}`)
|
|
32
|
+
.join("\n");
|
|
33
|
+
}
|
|
34
|
+
/** Gather consolidated episodes: last N recent + random sample of older ones. */
|
|
35
|
+
function gatherEpisodes(db, threadId, maxRecent, oldSampleSize) {
|
|
36
|
+
// Recent consolidated episodes
|
|
37
|
+
const recentRows = db
|
|
38
|
+
.prepare(`SELECT * FROM episodes
|
|
39
|
+
WHERE thread_id = ? AND consolidated = 1
|
|
40
|
+
ORDER BY timestamp DESC
|
|
41
|
+
LIMIT ?`)
|
|
42
|
+
.all(threadId, maxRecent);
|
|
43
|
+
const recentIds = new Set(recentRows.map((r) => r.episode_id));
|
|
44
|
+
// Random sample of older consolidated episodes from the past 7 days
|
|
45
|
+
// (excluding the ones already in the recent set)
|
|
46
|
+
const olderRows = db
|
|
47
|
+
.prepare(`SELECT * FROM episodes
|
|
48
|
+
WHERE thread_id = ? AND consolidated = 1
|
|
49
|
+
AND timestamp >= datetime('now', '-7 days')
|
|
50
|
+
ORDER BY RANDOM()
|
|
51
|
+
LIMIT ?`)
|
|
52
|
+
.all(threadId, oldSampleSize + recentRows.length);
|
|
53
|
+
const olderFiltered = olderRows
|
|
54
|
+
.filter((r) => !recentIds.has(r.episode_id))
|
|
55
|
+
.slice(0, oldSampleSize);
|
|
56
|
+
const allRows = [...recentRows, ...olderFiltered];
|
|
57
|
+
return allRows.map(rowToEpisode);
|
|
58
|
+
}
|
|
59
|
+
/** Map a raw DB row to an Episode (mirrors episodes.ts but avoids circular import). */
|
|
60
|
+
function rowToEpisode(row) {
|
|
61
|
+
return {
|
|
62
|
+
episodeId: row.episode_id,
|
|
63
|
+
sessionId: row.session_id,
|
|
64
|
+
threadId: row.thread_id,
|
|
65
|
+
timestamp: row.timestamp,
|
|
66
|
+
type: row.type,
|
|
67
|
+
modality: row.modality,
|
|
68
|
+
content: safeParseJson(row.content),
|
|
69
|
+
topicTags: safeParseArray(row.topic_tags),
|
|
70
|
+
importance: row.importance,
|
|
71
|
+
consolidated: row.consolidated === 1,
|
|
72
|
+
accessedCount: row.accessed_count,
|
|
73
|
+
lastAccessed: row.last_accessed ?? null,
|
|
74
|
+
createdAt: row.created_at,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function safeParseJson(val) {
|
|
78
|
+
if (!val)
|
|
79
|
+
return {};
|
|
80
|
+
try {
|
|
81
|
+
return JSON.parse(val);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return {};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function safeParseArray(val) {
|
|
88
|
+
if (!val)
|
|
89
|
+
return [];
|
|
90
|
+
try {
|
|
91
|
+
return JSON.parse(val);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// ─── JSON repair (minimal — shared pattern with consolidation.ts) ────────────
|
|
98
|
+
/** Return true if the character at `pos` is preceded by an odd number of backslashes (i.e. it is escaped). */
|
|
99
|
+
function isEscaped(text, pos) {
|
|
100
|
+
let count = 0;
|
|
101
|
+
let i = pos - 1;
|
|
102
|
+
while (i >= 0 && text[i] === "\\") {
|
|
103
|
+
count++;
|
|
104
|
+
i--;
|
|
105
|
+
}
|
|
106
|
+
return count % 2 !== 0;
|
|
107
|
+
}
|
|
108
|
+
function repairAndParseJSON(raw) {
|
|
109
|
+
try {
|
|
110
|
+
return JSON.parse(raw);
|
|
111
|
+
}
|
|
112
|
+
catch { /* continue */ }
|
|
113
|
+
let text = raw.trim();
|
|
114
|
+
// Strip markdown fences
|
|
115
|
+
if (text.startsWith("```")) {
|
|
116
|
+
text = text.replace(/^```(?:json)?\s*\n?/, "").replace(/\n?```\s*$/, "");
|
|
117
|
+
try {
|
|
118
|
+
return JSON.parse(text);
|
|
119
|
+
}
|
|
120
|
+
catch { /* continue */ }
|
|
121
|
+
}
|
|
122
|
+
// Fix unescaped control characters inside strings
|
|
123
|
+
const chars = [];
|
|
124
|
+
let inStr = false;
|
|
125
|
+
for (let i = 0; i < text.length; i++) {
|
|
126
|
+
const ch = text[i];
|
|
127
|
+
if (ch === '"' && !isEscaped(text, i)) {
|
|
128
|
+
inStr = !inStr;
|
|
129
|
+
chars.push(ch);
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if (inStr) {
|
|
133
|
+
if (ch === "\n") {
|
|
134
|
+
chars.push("\\n");
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (ch === "\r") {
|
|
138
|
+
chars.push("\\r");
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
if (ch === "\t") {
|
|
142
|
+
chars.push("\\t");
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
chars.push(ch);
|
|
147
|
+
}
|
|
148
|
+
text = chars.join("");
|
|
149
|
+
try {
|
|
150
|
+
return JSON.parse(text);
|
|
151
|
+
}
|
|
152
|
+
catch { /* continue */ }
|
|
153
|
+
// Close truncated structures
|
|
154
|
+
let quoteCount = 0;
|
|
155
|
+
for (let i = 0; i < text.length; i++) {
|
|
156
|
+
if (text[i] === '"' && !isEscaped(text, i))
|
|
157
|
+
quoteCount++;
|
|
158
|
+
}
|
|
159
|
+
if (quoteCount % 2 !== 0)
|
|
160
|
+
text += '"';
|
|
161
|
+
text = text.replace(/,\s*"[^"]*"\s*:\s*$/, "");
|
|
162
|
+
text = text.replace(/,\s*$/, "");
|
|
163
|
+
const opens = [];
|
|
164
|
+
let scanning = false;
|
|
165
|
+
for (let i = 0; i < text.length; i++) {
|
|
166
|
+
const c = text[i];
|
|
167
|
+
if (c === '"' && !isEscaped(text, i)) {
|
|
168
|
+
scanning = !scanning;
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
if (scanning)
|
|
172
|
+
continue;
|
|
173
|
+
if (c === "{" || c === "[")
|
|
174
|
+
opens.push(c);
|
|
175
|
+
else if (c === "}" || c === "]")
|
|
176
|
+
opens.pop();
|
|
177
|
+
}
|
|
178
|
+
for (let i = opens.length - 1; i >= 0; i--) {
|
|
179
|
+
text += opens[i] === "{" ? "}" : "]";
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
return JSON.parse(text);
|
|
183
|
+
}
|
|
184
|
+
catch { /* continue */ }
|
|
185
|
+
throw new SyntaxError(`Unable to repair reflection JSON (length=${raw.length}): ${raw.slice(0, 200)}…`);
|
|
186
|
+
}
|
|
187
|
+
// ─── Prompt ──────────────────────────────────────────────────────────────────
|
|
188
|
+
const REFLECTION_SYSTEM_PROMPT = `You are a reflective reasoning system analyzing an agent's recent experiences. Your job is to extract DEEP insights — not surface-level summaries.
|
|
189
|
+
|
|
190
|
+
## Analysis tasks:
|
|
191
|
+
|
|
192
|
+
1. CAUSAL CHAINS: What caused what? Find cause-effect relationships. "When [X happened], it led to [Y] because [Z]." Be specific — cite episode IDs.
|
|
193
|
+
|
|
194
|
+
2. RECURRING PATTERNS: What behaviors, problems, or situations keep repeating? "The operator tends to [X] when [Y]." or "The agent fails at [X] in [Y] conditions."
|
|
195
|
+
|
|
196
|
+
3. COUNTERFACTUALS: For any negative outcomes or frustrations, what could have been done differently? "Instead of [X], the agent could have [Y], which would have [Z]."
|
|
197
|
+
|
|
198
|
+
4. SELF-ASSESSMENT: What does the agent do well? What are its weaknesses? "The agent is strong at [X] but struggles with [Y]."
|
|
199
|
+
|
|
200
|
+
Respond in JSON format:
|
|
201
|
+
{
|
|
202
|
+
"insights": [
|
|
203
|
+
{
|
|
204
|
+
"type": "causal" | "pattern" | "self_assessment" | "counterfactual",
|
|
205
|
+
"content": "Specific, actionable insight with references to specific events",
|
|
206
|
+
"confidence": 0.0-1.0,
|
|
207
|
+
"episode_refs": ["ep_xxx", "ep_yyy"]
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
Rules:
|
|
213
|
+
- Minimum 3, maximum 10 insights
|
|
214
|
+
- Each insight must reference specific episodes by their ID
|
|
215
|
+
- Avoid generic statements — be specific to the actual events
|
|
216
|
+
- Confidence should reflect how well-supported the insight is by evidence
|
|
217
|
+
- Causal and pattern insights are most valuable`;
|
|
218
|
+
// ─── De-duplication ──────────────────────────────────────────────────────────
|
|
219
|
+
const DEDUP_SIMILARITY_THRESHOLD = 0.85;
|
|
220
|
+
async function checkDuplicate(db, content, apiKey, threadId) {
|
|
221
|
+
try {
|
|
222
|
+
const embedding = await generateEmbedding(content, apiKey);
|
|
223
|
+
const matches = searchByEmbedding(db, embedding, {
|
|
224
|
+
maxResults: 3,
|
|
225
|
+
minSimilarity: DEDUP_SIMILARITY_THRESHOLD,
|
|
226
|
+
skipAccessTracking: true,
|
|
227
|
+
threadId,
|
|
228
|
+
});
|
|
229
|
+
const isDuplicate = matches.some((m) => m.similarity >= DEDUP_SIMILARITY_THRESHOLD && m.content.startsWith("[REFLECTION]"));
|
|
230
|
+
return { isDuplicate, embedding };
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
// Embedding lookup failed — allow the insight through to avoid data loss
|
|
234
|
+
return { isDuplicate: false, embedding: null };
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// ─── Core Pipeline ───────────────────────────────────────────────────────────
|
|
238
|
+
/**
|
|
239
|
+
* Run the reflection pipeline on recent consolidated episodes.
|
|
240
|
+
* Generates deeper insights beyond simple fact/preference extraction.
|
|
241
|
+
*
|
|
242
|
+
* Pipeline:
|
|
243
|
+
* 1. Gate check — enough episodes, rate limit, API key present
|
|
244
|
+
* 2. Gather episodes — recent + random sample of older ones
|
|
245
|
+
* 3. Build a narrative from episode content
|
|
246
|
+
* 4. Send to OpenAI with the reflection prompt
|
|
247
|
+
* 5. Parse insights, de-duplicate, and save as semantic notes
|
|
248
|
+
*/
|
|
249
|
+
export async function runReflection(db, threadId, options) {
|
|
250
|
+
const startMs = Date.now();
|
|
251
|
+
const maxRecent = options?.maxEpisodes ?? 30;
|
|
252
|
+
const oldSampleSize = options?.includeOldSample !== false ? 10 : 0;
|
|
253
|
+
// ── Gate: rate limit ──────────────────────────────────────────────────────
|
|
254
|
+
const lastRun = lastReflectionAt.get(threadId) ?? 0;
|
|
255
|
+
if (Date.now() - lastRun < REFLECTION_COOLDOWN_MS) {
|
|
256
|
+
log.info("[reflection] Skipped — cooldown not elapsed");
|
|
257
|
+
return { insights: [], processedEpisodeCount: 0, duration: Date.now() - startMs };
|
|
258
|
+
}
|
|
259
|
+
// ── Gate: environment ─────────────────────────────────────────────────────
|
|
260
|
+
const apiKey = process.env.OPENAI_API_KEY;
|
|
261
|
+
if (!apiKey) {
|
|
262
|
+
log.warn("[reflection] Skipped — OPENAI_API_KEY not set");
|
|
263
|
+
return { insights: [], processedEpisodeCount: 0, duration: Date.now() - startMs };
|
|
264
|
+
}
|
|
265
|
+
const reflectionEnabled = process.env.REFLECTION_ENABLED;
|
|
266
|
+
if (reflectionEnabled === "false" || reflectionEnabled === "0") {
|
|
267
|
+
return { insights: [], processedEpisodeCount: 0, duration: Date.now() - startMs };
|
|
268
|
+
}
|
|
269
|
+
// ── Gate: episode count ───────────────────────────────────────────────────
|
|
270
|
+
const countRow = db
|
|
271
|
+
.prepare("SELECT COUNT(*) as c FROM episodes WHERE thread_id = ? AND consolidated = 1")
|
|
272
|
+
.get(threadId);
|
|
273
|
+
if (countRow.c < MIN_EPISODES_FOR_REFLECTION) {
|
|
274
|
+
log.info(`[reflection] Skipped — only ${countRow.c} consolidated episodes (need ${MIN_EPISODES_FOR_REFLECTION})`);
|
|
275
|
+
return { insights: [], processedEpisodeCount: 0, duration: Date.now() - startMs };
|
|
276
|
+
}
|
|
277
|
+
// ── Step 1: Gather episodes ───────────────────────────────────────────────
|
|
278
|
+
const episodes = gatherEpisodes(db, threadId, maxRecent, oldSampleSize);
|
|
279
|
+
if (episodes.length === 0) {
|
|
280
|
+
return { insights: [], processedEpisodeCount: 0, duration: Date.now() - startMs };
|
|
281
|
+
}
|
|
282
|
+
// ── Step 2: Build narrative ───────────────────────────────────────────────
|
|
283
|
+
const narrative = buildNarrative(episodes);
|
|
284
|
+
// ── Step 3: LLM call ─────────────────────────────────────────────────────
|
|
285
|
+
const messages = [
|
|
286
|
+
{ role: "system", content: REFLECTION_SYSTEM_PROMPT },
|
|
287
|
+
{ role: "user", content: `## Episodes to reflect on:\n${narrative}\n\nAnalyze the episodes above and produce deep reflective insights.` },
|
|
288
|
+
];
|
|
289
|
+
let raw;
|
|
290
|
+
try {
|
|
291
|
+
raw = await chatCompletion(messages, apiKey, {
|
|
292
|
+
model: process.env.REFLECTION_MODEL ?? process.env.CONSOLIDATION_MODEL ?? "gpt-4o-mini",
|
|
293
|
+
maxTokens: 4096,
|
|
294
|
+
temperature: 0.4, // slightly creative for deeper reasoning
|
|
295
|
+
responseFormat: { type: "json_object" },
|
|
296
|
+
timeoutMs: 90_000,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
301
|
+
log.error(`[reflection] LLM call failed: ${msg}`);
|
|
302
|
+
return { insights: [], processedEpisodeCount: episodes.length, duration: Date.now() - startMs };
|
|
303
|
+
}
|
|
304
|
+
// ── Step 4: Parse response ────────────────────────────────────────────────
|
|
305
|
+
let parsed;
|
|
306
|
+
try {
|
|
307
|
+
parsed = repairAndParseJSON(raw);
|
|
308
|
+
}
|
|
309
|
+
catch (err) {
|
|
310
|
+
log.error(`[reflection] JSON parse failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
311
|
+
return { insights: [], processedEpisodeCount: episodes.length, duration: Date.now() - startMs };
|
|
312
|
+
}
|
|
313
|
+
const rawInsights = parsed.insights ?? [];
|
|
314
|
+
const validTypes = new Set(["causal", "pattern", "self_assessment", "counterfactual"]);
|
|
315
|
+
// ── Step 5: Save insights ─────────────────────────────────────────────────
|
|
316
|
+
const savedInsights = [];
|
|
317
|
+
const episodeIdSet = new Set(episodes.map((e) => e.episodeId));
|
|
318
|
+
for (const ins of rawInsights) {
|
|
319
|
+
if (!ins.content || typeof ins.content !== "string")
|
|
320
|
+
continue;
|
|
321
|
+
const insightType = validTypes.has(ins.type) ? ins.type : "pattern";
|
|
322
|
+
const confidence = Math.max(0, Math.min(1, ins.confidence ?? 0.5));
|
|
323
|
+
const refs = (ins.episode_refs ?? []).filter((id) => typeof id === "string" && episodeIdSet.has(id));
|
|
324
|
+
// De-duplicate against existing reflections (embedding is cached for reuse)
|
|
325
|
+
const prefixedContent = `[REFLECTION] [${insightType.toUpperCase()}] ${ins.content}`;
|
|
326
|
+
const { isDuplicate: duplicate, embedding: cachedEmbedding } = await checkDuplicate(db, prefixedContent, apiKey, threadId);
|
|
327
|
+
if (duplicate) {
|
|
328
|
+
log.info(`[reflection] Skipped duplicate insight: ${ins.content.slice(0, 60)}…`);
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
// Generate keywords from content
|
|
332
|
+
const keywords = extractKeywords(ins.content);
|
|
333
|
+
// Save as a semantic note of type "pattern" (reflection insights are patterns)
|
|
334
|
+
const noteId = saveSemanticNote(db, {
|
|
335
|
+
type: "pattern",
|
|
336
|
+
content: prefixedContent,
|
|
337
|
+
keywords: ["reflection", insightType, ...keywords],
|
|
338
|
+
confidence,
|
|
339
|
+
priority: confidence >= 0.8 ? 1 : 0,
|
|
340
|
+
threadId,
|
|
341
|
+
sourceEpisodes: refs,
|
|
342
|
+
});
|
|
343
|
+
// Reuse the embedding from dedup check — avoids a second API call
|
|
344
|
+
if (cachedEmbedding) {
|
|
345
|
+
saveNoteEmbedding(db, noteId, cachedEmbedding);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
try {
|
|
349
|
+
const embedding = await generateEmbedding(prefixedContent, apiKey);
|
|
350
|
+
saveNoteEmbedding(db, noteId, embedding);
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
// Non-fatal — backfill will catch it later
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
savedInsights.push({
|
|
357
|
+
type: insightType,
|
|
358
|
+
content: ins.content,
|
|
359
|
+
confidence,
|
|
360
|
+
relatedEpisodeIds: refs,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
// ── Log result ────────────────────────────────────────────────────────────
|
|
364
|
+
logReflection(db, {
|
|
365
|
+
episodesProcessed: episodes.length,
|
|
366
|
+
insightsCreated: savedInsights.length,
|
|
367
|
+
durationMs: Date.now() - startMs,
|
|
368
|
+
});
|
|
369
|
+
lastReflectionAt.set(threadId, Date.now());
|
|
370
|
+
log.info(`[reflection] Completed: ${episodes.length} episodes → ${savedInsights.length} insights (${Date.now() - startMs}ms)`);
|
|
371
|
+
return {
|
|
372
|
+
insights: savedInsights,
|
|
373
|
+
processedEpisodeCount: episodes.length,
|
|
374
|
+
duration: Date.now() - startMs,
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
// ─── Keyword extraction ──────────────────────────────────────────────────────
|
|
378
|
+
const STOP_WORDS = new Set([
|
|
379
|
+
"this", "that", "with", "from", "have", "been", "will", "would", "could",
|
|
380
|
+
"should", "about", "there", "their", "which", "when", "what", "were",
|
|
381
|
+
"they", "than", "then", "also", "just", "more", "some", "into", "over",
|
|
382
|
+
"after", "before", "other", "very", "your", "here", "does", "because",
|
|
383
|
+
"instead", "agent", "operator", "the", "and", "for", "are", "but", "not",
|
|
384
|
+
"you", "all", "can", "had", "her", "was", "one", "our", "out",
|
|
385
|
+
]);
|
|
386
|
+
/** Extract up to 5 meaningful keywords from free-text content. */
|
|
387
|
+
function extractKeywords(text) {
|
|
388
|
+
const words = text
|
|
389
|
+
.toLowerCase()
|
|
390
|
+
.replace(/[^a-z0-9\s]/g, " ")
|
|
391
|
+
.split(/\s+/)
|
|
392
|
+
.filter((w) => w.length > 3 && !STOP_WORDS.has(w));
|
|
393
|
+
const freq = new Map();
|
|
394
|
+
for (const w of words)
|
|
395
|
+
freq.set(w, (freq.get(w) ?? 0) + 1);
|
|
396
|
+
return [...freq.entries()]
|
|
397
|
+
.sort((a, b) => b[1] - a[1])
|
|
398
|
+
.slice(0, 5)
|
|
399
|
+
.map(([w]) => w);
|
|
400
|
+
}
|
|
401
|
+
// ─── Consolidation log ───────────────────────────────────────────────────────
|
|
402
|
+
function logReflection(db, entry) {
|
|
403
|
+
db.prepare(`INSERT INTO meta_consolidation_log
|
|
404
|
+
(run_at, episodes_processed, notes_created, duration_ms)
|
|
405
|
+
VALUES (?, ?, ?, ?)`).run(nowISO(), entry.episodesProcessed, entry.insightsCreated, entry.durationMs);
|
|
406
|
+
}
|
|
407
|
+
//# sourceMappingURL=reflection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../src/data/memory/reflection.ts"],"names":[],"mappings":"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"}
|
package/dist/intent.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface Skill {
|
|
|
18
18
|
export declare function loadSkills(): Skill[];
|
|
19
19
|
/** Invalidate the skill cache so the next loadSkills() re-reads from disk. */
|
|
20
20
|
export declare function invalidateSkillCache(): void;
|
|
21
|
-
/** Match operator message against skill trigger phrases. */
|
|
21
|
+
/** Match operator message against skill trigger phrases (two-phase). */
|
|
22
22
|
export declare function matchSkill(message: string): Skill | null;
|
|
23
23
|
type MessageIntent = "conversational" | "task";
|
|
24
24
|
export declare function classifyIntent(message: string): MessageIntent;
|
package/dist/intent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../src/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AA4CD,qEAAqE;AACrE,wBAAgB,UAAU,IAAI,KAAK,EAAE,CA4DpC;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,IAAI,CAAwB;
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../src/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AA4CD,qEAAqE;AACrE,wBAAgB,UAAU,IAAI,KAAK,EAAE,CA4DpC;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,IAAI,CAAwB;AAepE,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAqBxD;AAmBD,KAAK,aAAa,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAE/C,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAa7D"}
|
package/dist/intent.js
CHANGED
|
@@ -136,16 +136,38 @@ export function loadSkills() {
|
|
|
136
136
|
}
|
|
137
137
|
/** Invalidate the skill cache so the next loadSkills() re-reads from disk. */
|
|
138
138
|
export function invalidateSkillCache() { skillCacheTime = 0; }
|
|
139
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* Explicit activation patterns — the message must contain one of these
|
|
141
|
+
* for any skill to fire. Prevents accidental triggers when a user just
|
|
142
|
+
* mentions a skill-related word in regular conversation.
|
|
143
|
+
*/
|
|
144
|
+
const ACTIVATION_PATTERNS = [
|
|
145
|
+
/\buse\s+(?:the\s+)?(?:[\w-]+\s+)?skill\b/i,
|
|
146
|
+
/\bapply\s+(?:the\s+)?(?:[\w-]+\s+)?skill\b/i,
|
|
147
|
+
/\bactivate\s+(?:the\s+)?(?:[\w-]+\s+)?skill\b/i,
|
|
148
|
+
/\bwith\s+(?:the\s+)?(?:[\w-]+\s+)?skill\b/i,
|
|
149
|
+
/@[\w-]+\s*skill\b/i,
|
|
150
|
+
];
|
|
151
|
+
/** Match operator message against skill trigger phrases (two-phase). */
|
|
140
152
|
export function matchSkill(message) {
|
|
141
|
-
const skills = loadSkills();
|
|
142
153
|
const lower = message.toLowerCase();
|
|
154
|
+
// Phase 1: Check for explicit activation intent
|
|
155
|
+
const hasActivation = ACTIVATION_PATTERNS.some(p => p.test(message));
|
|
156
|
+
if (!hasActivation)
|
|
157
|
+
return null;
|
|
158
|
+
// Phase 2: Match specific skill by trigger
|
|
159
|
+
const skills = loadSkills();
|
|
143
160
|
for (const skill of skills) {
|
|
144
161
|
for (const trigger of skill.triggers) {
|
|
145
162
|
if (lower.includes(trigger.toLowerCase()))
|
|
146
163
|
return skill;
|
|
147
164
|
}
|
|
148
165
|
}
|
|
166
|
+
// Phase 2b: Try matching by skill name directly
|
|
167
|
+
for (const skill of skills) {
|
|
168
|
+
if (lower.includes(skill.name.toLowerCase()))
|
|
169
|
+
return skill;
|
|
170
|
+
}
|
|
149
171
|
return null;
|
|
150
172
|
}
|
|
151
173
|
// ── Intent classification ─────────────────────────────────────────────────
|
package/dist/intent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../src/intent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../src/intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-defs.d.ts","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,eAAO,MAAM,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"session-defs.d.ts","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,eAAO,MAAM,eAAe,EAAE,cAAc,EAqR3C,CAAC"}
|
|
@@ -213,8 +213,12 @@ export const sessionToolDefs = [
|
|
|
213
213
|
description: 'Which agent type to use: "copilot" | "claude" | "cursor". Defaults to "claude".',
|
|
214
214
|
enum: ["copilot", "claude", "cursor"],
|
|
215
215
|
},
|
|
216
|
+
workingDirectory: {
|
|
217
|
+
type: "string",
|
|
218
|
+
description: "The absolute path to the working directory for the new thread. The agent will start in this directory.",
|
|
219
|
+
},
|
|
216
220
|
},
|
|
217
|
-
required: [],
|
|
221
|
+
required: ["workingDirectory"],
|
|
218
222
|
},
|
|
219
223
|
},
|
|
220
224
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe9C,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAyCD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe9C,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAyCD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CA+HrB;AAMD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,UAAU,CAyEZ"}
|
|
@@ -59,6 +59,7 @@ export async function handleStartThread(args, ctx) {
|
|
|
59
59
|
: typeof rawThreadId === "string" ? (Number.isFinite(Number(rawThreadId)) ? Number(rawThreadId) : undefined)
|
|
60
60
|
: undefined;
|
|
61
61
|
const rawAgentType = typeof args.agentType === "string" ? args.agentType.trim() : "claude";
|
|
62
|
+
const workingDirectory = typeof args.workingDirectory === "string" ? args.workingDirectory.trim() : undefined;
|
|
62
63
|
// name is required unless an explicit threadId is provided
|
|
63
64
|
if (!name && explicitThreadId === undefined) {
|
|
64
65
|
return errorResult("Error: 'name' parameter is required for start_thread (unless threadId is provided).");
|
|
@@ -133,7 +134,7 @@ export async function handleStartThread(args, ctx) {
|
|
|
133
134
|
}
|
|
134
135
|
// ── 4. Dormant (topic existed, process dead) → restart ────────────────
|
|
135
136
|
ensureDirs();
|
|
136
|
-
const result = spawnAgentProcess(claudePath, mcpConfigPath, name, threadId);
|
|
137
|
+
const result = spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, workingDirectory);
|
|
137
138
|
if ("error" in result)
|
|
138
139
|
return errorResult(`Error: ${result.error}`);
|
|
139
140
|
const status = topicExisted ? "restarted" : "created";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate-tool.js","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAkB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGnG,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAWxD,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB,CAC3B,MAAc,EACd,IAAY;IAEZ,+CAA+C;IAC/C,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,uDAAuD;QACvD,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iEAAiE;IACjE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA6B,EAC7B,GAAwB;IAExB,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;IAEzC,yEAAyE;IACzE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,MAAM,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW;QACpE,CAAC,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"delegate-tool.js","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export declare function resolveMcpConfigPath(): string | null;
|
|
|
37
37
|
* Returns null if not found. Uses where/which instead of execSync (L3).
|
|
38
38
|
*/
|
|
39
39
|
export declare function resolveClaudePath(): string | null;
|
|
40
|
-
export declare function spawnAgentProcess(claudePath: string, mcpConfigPath: string, name: string, threadId: number): {
|
|
40
|
+
export declare function spawnAgentProcess(claudePath: string, mcpConfigPath: string, name: string, threadId: number, workingDirectory?: string): {
|
|
41
41
|
pid: number;
|
|
42
42
|
logFile: string;
|
|
43
43
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAM3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAOD,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AAIjE,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CASjD;AAMD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAM3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAOD,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AAIjE,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CASjD;AAMD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA+FtD;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAkB3C"}
|
|
@@ -102,7 +102,7 @@ export function resolveClaudePath() {
|
|
|
102
102
|
// ---------------------------------------------------------------------------
|
|
103
103
|
// Spawn agent process
|
|
104
104
|
// ---------------------------------------------------------------------------
|
|
105
|
-
export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId) {
|
|
105
|
+
export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId, workingDirectory) {
|
|
106
106
|
const dateStr = new Date().toISOString().slice(0, 10);
|
|
107
107
|
const safeName = name.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
108
108
|
const logFileName = `${safeName}_${threadId}_${dateStr}.json`;
|
|
@@ -146,6 +146,7 @@ export function spawnAgentProcess(claudePath, mcpConfigPath, name, threadId) {
|
|
|
146
146
|
shell: needsShell,
|
|
147
147
|
windowsHide: true,
|
|
148
148
|
env: spawnEnv,
|
|
149
|
+
cwd: workingDirectory || undefined,
|
|
149
150
|
});
|
|
150
151
|
}
|
|
151
152
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lifecycle.js","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"thread-lifecycle.js","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/drive-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"drive-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/drive-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,UAAU,YAAY;IACpB,KAAK,EAAE;QACL,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE;QACN,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;CACtB;AAkDD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAqC5D;AAQD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CA2CzE"}
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { formatDrivePrompt, PHASE3_APPROVAL_PROMPT } from "../../drive.js";
|
|
9
9
|
import { log } from "../../logger.js";
|
|
10
|
-
import { runIntelligentConsolidation } from "../../memory.js";
|
|
10
|
+
import { runIntelligentConsolidation, runReflection } from "../../memory.js";
|
|
11
11
|
import { getReminders } from "../../response-builders.js";
|
|
12
12
|
import { backfillEmbeddings } from "../memory-tools.js";
|
|
13
|
+
const EPISODE_COUNT_CONSOLIDATION_THRESHOLD = 15;
|
|
13
14
|
// ---------------------------------------------------------------------------
|
|
14
15
|
// Auto-consolidation (3 strategies)
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
@@ -24,6 +25,18 @@ function fireConsolidation(db, threadId, label, apiKey) {
|
|
|
24
25
|
log.info(`[memory] ${label} consolidation: ${report.episodesProcessed} episodes \u2192 ${report.notesCreated} notes`);
|
|
25
26
|
}
|
|
26
27
|
await backfillEmbeddings(db, apiKey);
|
|
28
|
+
// Run reflection after consolidation if enough episodes exist
|
|
29
|
+
if (report.episodesProcessed > 0) {
|
|
30
|
+
try {
|
|
31
|
+
const reflectionResult = await runReflection(db, threadId);
|
|
32
|
+
if (reflectionResult.insights.length > 0) {
|
|
33
|
+
log.info(`[memory] ${label} reflection: ${reflectionResult.processedEpisodeCount} episodes → ${reflectionResult.insights.length} insights`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (reflErr) {
|
|
37
|
+
log.warn(`[memory] Reflection failed (non-fatal): ${reflErr instanceof Error ? reflErr.message : String(reflErr)}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
27
40
|
})
|
|
28
41
|
.catch((err) => {
|
|
29
42
|
log.error(`[memory] ${label} consolidation error: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -48,7 +61,9 @@ export function runAutoConsolidation(ctx) {
|
|
|
48
61
|
fireConsolidation(getMemoryDb(), effectiveThreadId, "Idle-based", apiKey);
|
|
49
62
|
}
|
|
50
63
|
}
|
|
51
|
-
catch (
|
|
64
|
+
catch (err) {
|
|
65
|
+
log.debug(`[memory] Consolidation check failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
66
|
+
}
|
|
52
67
|
// Strategy 2: Episode-count consolidation — don't wait for idle.
|
|
53
68
|
// If many episodes accumulated during active use, consolidate now.
|
|
54
69
|
// This prevents stale/contradictory knowledge from persisting.
|
|
@@ -56,13 +71,15 @@ export function runAutoConsolidation(ctx) {
|
|
|
56
71
|
if (effectiveThreadId !== undefined && Date.now() - state.lastConsolidationAt > 30 * 60 * 1000) {
|
|
57
72
|
const db = getMemoryDb();
|
|
58
73
|
const uncons = db.prepare("SELECT COUNT(*) as c FROM episodes WHERE consolidated = 0 AND thread_id = ?").get(effectiveThreadId);
|
|
59
|
-
if (uncons.c >=
|
|
74
|
+
if (uncons.c >= EPISODE_COUNT_CONSOLIDATION_THRESHOLD) {
|
|
60
75
|
state.lastConsolidationAt = Date.now();
|
|
61
76
|
fireConsolidation(db, effectiveThreadId, "Episode-count", apiKey);
|
|
62
77
|
}
|
|
63
78
|
}
|
|
64
79
|
}
|
|
65
|
-
catch (
|
|
80
|
+
catch (err) {
|
|
81
|
+
log.debug(`[memory] Consolidation check failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
82
|
+
}
|
|
66
83
|
// Strategy 3: Time-based consolidation — every 4 hours regardless.
|
|
67
84
|
// Ensures stale knowledge gets cleaned up even during low-activity periods.
|
|
68
85
|
try {
|
|
@@ -74,7 +91,9 @@ export function runAutoConsolidation(ctx) {
|
|
|
74
91
|
fireConsolidation(db, effectiveThreadId, "Time-based", apiKey);
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
|
-
catch (
|
|
94
|
+
catch (err) {
|
|
95
|
+
log.debug(`[memory] Consolidation check failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
96
|
+
}
|
|
78
97
|
}
|
|
79
98
|
// ---------------------------------------------------------------------------
|
|
80
99
|
// 3-Phase Autonomous Drive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/drive-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAqB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"drive-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/drive-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Code Review
|
|
3
|
+
triggers:
|
|
4
|
+
- code review
|
|
5
|
+
- review the code
|
|
6
|
+
- expert review
|
|
7
|
+
- review this
|
|
8
|
+
replaces_orchestrator: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Code Review Skill
|
|
12
|
+
|
|
13
|
+
You are an expert code reviewer. Your job is to find issues and FIX THEM DIRECTLY — do not report findings back to the manager thread.
|
|
14
|
+
|
|
15
|
+
## Review Process
|
|
16
|
+
|
|
17
|
+
1. **Read the target files** thoroughly using Desktop Commander or file read tools
|
|
18
|
+
2. **Analyze** against the criteria below
|
|
19
|
+
3. **Fix** each issue directly in the code
|
|
20
|
+
4. **Commit** each logical fix with a descriptive commit message
|
|
21
|
+
5. **Send a summary** of what was fixed to the requesting thread
|
|
22
|
+
|
|
23
|
+
## Review Criteria (in priority order)
|
|
24
|
+
|
|
25
|
+
### CRITICAL — Must fix immediately
|
|
26
|
+
- Unhandled exceptions that crash the process
|
|
27
|
+
- Security vulnerabilities (injection, path traversal, auth bypass)
|
|
28
|
+
- Data corruption or loss
|
|
29
|
+
- Race conditions
|
|
30
|
+
|
|
31
|
+
### HIGH — Should fix before shipping
|
|
32
|
+
- Error handling gaps
|
|
33
|
+
- Resource leaks (file handles, connections, memory)
|
|
34
|
+
- API contract violations
|
|
35
|
+
- Missing input validation
|
|
36
|
+
- Platform-specific bugs (Windows vs Linux behavior)
|
|
37
|
+
|
|
38
|
+
### MEDIUM — Fix when convenient
|
|
39
|
+
- Code quality (naming, readability)
|
|
40
|
+
- Type safety issues
|
|
41
|
+
- Logging gaps
|
|
42
|
+
- Missing edge case handling
|
|
43
|
+
|
|
44
|
+
### LOW — Nice to have
|
|
45
|
+
- Style consistency
|
|
46
|
+
- Documentation
|
|
47
|
+
- Minor optimizations
|
|
48
|
+
|
|
49
|
+
## Special Focus Areas (always check these)
|
|
50
|
+
- **Dead code** — functions never called, unreachable branches, unused imports
|
|
51
|
+
- **Code duplication** — similar logic in multiple places that should be extracted
|
|
52
|
+
- **Error messages** — are they descriptive enough to debug production issues?
|
|
53
|
+
|
|
54
|
+
## Output Format
|
|
55
|
+
|
|
56
|
+
For each finding you fix, include in your commit message:
|
|
57
|
+
- Severity level
|
|
58
|
+
- What was wrong
|
|
59
|
+
- What you changed
|
|
60
|
+
|
|
61
|
+
## Rules
|
|
62
|
+
|
|
63
|
+
- FIX issues directly — do not just list them
|
|
64
|
+
- Compile after each fix: `npx tsc --noEmit`
|
|
65
|
+
- Commit after each logical group of fixes
|
|
66
|
+
- Do NOT bump version — that's the manager's job
|
|
67
|
+
- Do NOT push — that's the manager's job
|
|
68
|
+
- Send a brief summary to the requesting thread when done
|