@agentuity/opencode 1.0.15 → 1.0.17
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/agents/architect.d.ts +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +30 -33
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/builder.d.ts +1 -1
- package/dist/agents/builder.d.ts.map +1 -1
- package/dist/agents/builder.js +53 -60
- package/dist/agents/builder.js.map +1 -1
- package/dist/agents/expert-backend.d.ts +1 -1
- package/dist/agents/expert-backend.d.ts.map +1 -1
- package/dist/agents/expert-backend.js +32 -40
- package/dist/agents/expert-backend.js.map +1 -1
- package/dist/agents/expert-frontend.d.ts +1 -1
- package/dist/agents/expert-frontend.d.ts.map +1 -1
- package/dist/agents/expert-frontend.js +18 -24
- package/dist/agents/expert-frontend.js.map +1 -1
- package/dist/agents/expert-ops.d.ts +1 -1
- package/dist/agents/expert-ops.d.ts.map +1 -1
- package/dist/agents/expert-ops.js +37 -51
- package/dist/agents/expert-ops.js.map +1 -1
- package/dist/agents/expert.d.ts +1 -1
- package/dist/agents/expert.d.ts.map +1 -1
- package/dist/agents/expert.js +33 -43
- package/dist/agents/expert.js.map +1 -1
- package/dist/agents/lead.d.ts +1 -1
- package/dist/agents/lead.d.ts.map +1 -1
- package/dist/agents/lead.js +179 -222
- package/dist/agents/lead.js.map +1 -1
- package/dist/agents/memory.d.ts +1 -1
- package/dist/agents/memory.d.ts.map +1 -1
- package/dist/agents/memory.js +62 -90
- package/dist/agents/memory.js.map +1 -1
- package/dist/agents/monitor.d.ts +1 -1
- package/dist/agents/monitor.d.ts.map +1 -1
- package/dist/agents/monitor.js +84 -44
- package/dist/agents/monitor.js.map +1 -1
- package/dist/agents/product.d.ts +1 -1
- package/dist/agents/product.d.ts.map +1 -1
- package/dist/agents/product.js +16 -22
- package/dist/agents/product.js.map +1 -1
- package/dist/agents/reviewer.d.ts +1 -1
- package/dist/agents/reviewer.d.ts.map +1 -1
- package/dist/agents/reviewer.js +15 -27
- package/dist/agents/reviewer.js.map +1 -1
- package/dist/agents/runner.d.ts +1 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +52 -76
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/scout.d.ts +1 -1
- package/dist/agents/scout.d.ts.map +1 -1
- package/dist/agents/scout.js +42 -43
- package/dist/agents/scout.js.map +1 -1
- package/dist/agents/types.d.ts +8 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/background/manager.d.ts +18 -0
- package/dist/background/manager.d.ts.map +1 -1
- package/dist/background/manager.js +201 -33
- package/dist/background/manager.js.map +1 -1
- package/dist/background/types.d.ts +3 -0
- package/dist/background/types.d.ts.map +1 -1
- package/dist/config/loader.js +2 -2
- package/dist/plugin/hooks/cadence.d.ts +3 -1
- package/dist/plugin/hooks/cadence.d.ts.map +1 -1
- package/dist/plugin/hooks/cadence.js +167 -70
- package/dist/plugin/hooks/cadence.js.map +1 -1
- package/dist/plugin/hooks/compaction-utils.d.ts +48 -0
- package/dist/plugin/hooks/compaction-utils.d.ts.map +1 -0
- package/dist/plugin/hooks/compaction-utils.js +259 -0
- package/dist/plugin/hooks/compaction-utils.js.map +1 -0
- package/dist/plugin/hooks/completion.d.ts +14 -0
- package/dist/plugin/hooks/completion.d.ts.map +1 -0
- package/dist/plugin/hooks/completion.js +45 -0
- package/dist/plugin/hooks/completion.js.map +1 -0
- package/dist/plugin/hooks/params.d.ts +47 -2
- package/dist/plugin/hooks/params.d.ts.map +1 -1
- package/dist/plugin/hooks/params.js +82 -1
- package/dist/plugin/hooks/params.js.map +1 -1
- package/dist/plugin/hooks/session-memory.d.ts +2 -1
- package/dist/plugin/hooks/session-memory.d.ts.map +1 -1
- package/dist/plugin/hooks/session-memory.js +101 -48
- package/dist/plugin/hooks/session-memory.js.map +1 -1
- package/dist/plugin/hooks/tools.d.ts.map +1 -1
- package/dist/plugin/hooks/tools.js +26 -1
- package/dist/plugin/hooks/tools.js.map +1 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +38 -9
- package/dist/plugin/plugin.js.map +1 -1
- package/dist/sqlite/index.d.ts +1 -1
- package/dist/sqlite/index.d.ts.map +1 -1
- package/dist/sqlite/queries.d.ts +1 -0
- package/dist/sqlite/queries.d.ts.map +1 -1
- package/dist/sqlite/queries.js +4 -0
- package/dist/sqlite/queries.js.map +1 -1
- package/dist/sqlite/reader.d.ts +11 -1
- package/dist/sqlite/reader.d.ts.map +1 -1
- package/dist/sqlite/reader.js +62 -0
- package/dist/sqlite/reader.js.map +1 -1
- package/dist/sqlite/types.d.ts +40 -0
- package/dist/sqlite/types.d.ts.map +1 -1
- package/dist/tools/background.d.ts.map +1 -1
- package/dist/tools/background.js +15 -0
- package/dist/tools/background.js.map +1 -1
- package/dist/types.d.ts +46 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/src/agents/architect.ts +30 -33
- package/src/agents/builder.ts +53 -60
- package/src/agents/expert-backend.ts +32 -40
- package/src/agents/expert-frontend.ts +18 -24
- package/src/agents/expert-ops.ts +37 -51
- package/src/agents/expert.ts +33 -43
- package/src/agents/lead.ts +179 -222
- package/src/agents/memory.ts +62 -90
- package/src/agents/monitor.ts +84 -44
- package/src/agents/product.ts +16 -22
- package/src/agents/reviewer.ts +15 -27
- package/src/agents/runner.ts +52 -76
- package/src/agents/scout.ts +42 -43
- package/src/agents/types.ts +8 -0
- package/src/background/manager.ts +227 -38
- package/src/background/types.ts +3 -0
- package/src/config/loader.ts +2 -2
- package/src/plugin/hooks/cadence.ts +188 -74
- package/src/plugin/hooks/compaction-utils.ts +291 -0
- package/src/plugin/hooks/completion.ts +61 -0
- package/src/plugin/hooks/params.ts +107 -2
- package/src/plugin/hooks/session-memory.ts +113 -47
- package/src/plugin/hooks/tools.ts +32 -1
- package/src/plugin/plugin.ts +54 -10
- package/src/sqlite/index.ts +4 -0
- package/src/sqlite/queries.ts +5 -0
- package/src/sqlite/reader.ts +69 -0
- package/src/sqlite/types.ts +40 -0
- package/src/tools/background.ts +28 -0
- package/src/types.ts +40 -0
|
@@ -1,21 +1,5 @@
|
|
|
1
|
+
import { getCurrentBranch, buildCustomCompactionPrompt, fetchAndFormatPlanningState, getImageDescriptions, getRecentToolCallSummaries, storePreCompactionSnapshot, persistCadenceStateToKV, restoreCadenceStateFromKV, formatCompactionDiagnostics, countListItems, } from './compaction-utils';
|
|
1
2
|
const COMPLETION_PATTERN = /<promise>\s*DONE\s*<\/promise>/i;
|
|
2
|
-
/**
|
|
3
|
-
* Get the current git branch name.
|
|
4
|
-
*/
|
|
5
|
-
async function getCurrentBranch() {
|
|
6
|
-
try {
|
|
7
|
-
const proc = Bun.spawn(['git', 'branch', '--show-current'], {
|
|
8
|
-
stdout: 'pipe',
|
|
9
|
-
stderr: 'pipe',
|
|
10
|
-
});
|
|
11
|
-
const stdout = await new Response(proc.stdout).text();
|
|
12
|
-
await proc.exited;
|
|
13
|
-
return stdout.trim() || 'unknown';
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
return 'unknown';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
3
|
// Ultrawork trigger keywords - case insensitive matching
|
|
20
4
|
const ULTRAWORK_TRIGGERS = [
|
|
21
5
|
'ultrawork',
|
|
@@ -39,8 +23,10 @@ const ULTRAWORK_TRIGGERS = [
|
|
|
39
23
|
* 4. Trigger continuation after compaction (session.compacted)
|
|
40
24
|
* 5. Clean up on session abort/error
|
|
41
25
|
*/
|
|
42
|
-
export function createCadenceHooks(ctx,
|
|
26
|
+
export function createCadenceHooks(ctx, config, backgroundManager, dbReader, lastUserMessages) {
|
|
43
27
|
const activeCadenceSessions = new Map();
|
|
28
|
+
const nonCadenceSessions = new Set();
|
|
29
|
+
const NON_CADENCE_CACHE_MAX = 500;
|
|
44
30
|
const log = (msg) => {
|
|
45
31
|
ctx.client.app.log({
|
|
46
32
|
body: {
|
|
@@ -55,11 +41,14 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
55
41
|
const sessionId = extractSessionId(input);
|
|
56
42
|
if (!sessionId)
|
|
57
43
|
return;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
|
|
44
|
+
// Use the USER's message (from chat.params) for trigger detection,
|
|
45
|
+
// not the model's output — avoids false positives when the model
|
|
46
|
+
// uses phrases like "go deep" or "be thorough" in its response.
|
|
47
|
+
// Delete after read — entries are transient (set in chat.params,
|
|
48
|
+
// consumed here in chat.message) so no unbounded Map growth.
|
|
49
|
+
const userText = lastUserMessages?.get(sessionId) ?? '';
|
|
50
|
+
lastUserMessages?.delete(sessionId);
|
|
51
|
+
const cadenceType = getCadenceTriggerType(userText);
|
|
63
52
|
if (cadenceType && !activeCadenceSessions.has(sessionId)) {
|
|
64
53
|
log(`Cadence started for session ${sessionId} via ${cadenceType}`);
|
|
65
54
|
const now = new Date().toISOString();
|
|
@@ -70,6 +59,8 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
70
59
|
lastActivity: now,
|
|
71
60
|
};
|
|
72
61
|
activeCadenceSessions.set(sessionId, state);
|
|
62
|
+
nonCadenceSessions.delete(sessionId);
|
|
63
|
+
persistCadenceStateToKV(sessionId, { ...state }).catch(() => { });
|
|
73
64
|
// If triggered by ultrawork keywords, inject [CADENCE MODE] tag
|
|
74
65
|
if (cadenceType === 'ultrawork') {
|
|
75
66
|
injectCadenceTag(output);
|
|
@@ -77,6 +68,12 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
77
68
|
showToast(ctx, `⚡ Cadence started · ${state.iteration}/${state.maxIterations}`);
|
|
78
69
|
return;
|
|
79
70
|
}
|
|
71
|
+
// Everything below parses the MODEL's output for structured tags
|
|
72
|
+
// (CADENCE_STATUS, iteration counts, completion signals) that the
|
|
73
|
+
// model intentionally emits — these are NOT false-positive-prone.
|
|
74
|
+
const messageText = extractMessageText(output);
|
|
75
|
+
if (!messageText)
|
|
76
|
+
return;
|
|
80
77
|
// Check if this session is in Cadence mode
|
|
81
78
|
const state = activeCadenceSessions.get(sessionId);
|
|
82
79
|
if (!state) {
|
|
@@ -102,6 +99,7 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
102
99
|
if (changed) {
|
|
103
100
|
const loopInfo = state.loopId ? ` · ${state.loopId}` : '';
|
|
104
101
|
showToast(ctx, `⚡ Cadence · ${state.iteration}/${state.maxIterations}${loopInfo}`);
|
|
102
|
+
persistCadenceStateToKV(sessionId, { ...state }).catch(() => { });
|
|
105
103
|
}
|
|
106
104
|
return;
|
|
107
105
|
}
|
|
@@ -113,6 +111,7 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
113
111
|
state.iteration = newIteration;
|
|
114
112
|
const loopInfo = state.loopId ? ` · ${state.loopId}` : '';
|
|
115
113
|
showToast(ctx, `⚡ Cadence · ${state.iteration}/${state.maxIterations}${loopInfo}`);
|
|
114
|
+
persistCadenceStateToKV(sessionId, { ...state }).catch(() => { });
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
// Check for completion signal
|
|
@@ -134,7 +133,10 @@ export function createCadenceHooks(ctx, _config, backgroundManager, dbReader) {
|
|
|
134
133
|
if (!event)
|
|
135
134
|
return;
|
|
136
135
|
log(`Event received: ${event.type}`);
|
|
137
|
-
// Handle session.compacted - save compaction AND continue loop
|
|
136
|
+
// Handle session.compacted - save compaction AND continue loop.
|
|
137
|
+
// Note: Compaction continues in the SAME session (via session.prompt with
|
|
138
|
+
// the existing sessionId), so permissions configured in the config hook
|
|
139
|
+
// (plugin.ts) are automatically inherited — no re-application needed.
|
|
138
140
|
if (event.type === 'session.compacted') {
|
|
139
141
|
const sessionId = event.sessionId;
|
|
140
142
|
if (!sessionId)
|
|
@@ -232,6 +234,8 @@ Continue Cadence iteration ${state.iteration} of ${state.maxIterations}
|
|
|
232
234
|
/**
|
|
233
235
|
* Called during context compaction to inject Cadence state.
|
|
234
236
|
* This ensures the compaction summary includes critical loop state.
|
|
237
|
+
* Uses output.prompt to REPLACE the default compaction prompt with
|
|
238
|
+
* enriched context (planning state, images, tool calls, diagnostics).
|
|
235
239
|
*/
|
|
236
240
|
async onCompacting(input, output) {
|
|
237
241
|
const sessionId = input.sessionID;
|
|
@@ -242,38 +246,27 @@ Continue Cadence iteration ${state.iteration} of ${state.maxIterations}
|
|
|
242
246
|
}
|
|
243
247
|
log(`Injecting Cadence context during compaction for session ${sessionId}`);
|
|
244
248
|
showToast(ctx, '💾 Compacting Cadence context...');
|
|
245
|
-
//
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
\`\`\`typescript
|
|
267
|
-
agentuity_background_task({
|
|
268
|
-
agent: "monitor",
|
|
269
|
-
task: "Monitor these background tasks and report when all complete:\\n${tasks.map((t) => `- ${t.id}`).join('\\n')}",
|
|
270
|
-
description: "Monitor child tasks"
|
|
271
|
-
})
|
|
272
|
-
\`\`\`
|
|
273
|
-
`;
|
|
274
|
-
}
|
|
275
|
-
output.context.push(`
|
|
276
|
-
## CADENCE MODE ACTIVE
|
|
249
|
+
// Config flags for compaction behavior
|
|
250
|
+
const compactionCfg = config?.compaction ?? {};
|
|
251
|
+
const useCustomPrompt = compactionCfg.customPrompt !== false;
|
|
252
|
+
const useInlinePlanning = compactionCfg.inlinePlanning !== false;
|
|
253
|
+
const useImageAwareness = compactionCfg.imageAwareness !== false;
|
|
254
|
+
const useSnapshotToKV = compactionCfg.snapshotToKV !== false;
|
|
255
|
+
const maxTokens = compactionCfg.maxContextTokens ?? 4000;
|
|
256
|
+
// 1. Build custom compaction instructions
|
|
257
|
+
const instructions = useCustomPrompt ? buildCustomCompactionPrompt('cadence') : null;
|
|
258
|
+
// 2. Gather enrichment data in parallel
|
|
259
|
+
const toolCallLimit = config?.compaction?.toolCallSummaryLimit ?? 5;
|
|
260
|
+
const [branch, planningState, imageDescs, toolSummaries] = await Promise.all([
|
|
261
|
+
getCurrentBranch(),
|
|
262
|
+
useInlinePlanning ? fetchAndFormatPlanningState(sessionId) : Promise.resolve(null),
|
|
263
|
+
useImageAwareness
|
|
264
|
+
? Promise.resolve(getImageDescriptions(dbReader ?? null, sessionId))
|
|
265
|
+
: Promise.resolve(null),
|
|
266
|
+
Promise.resolve(getRecentToolCallSummaries(dbReader ?? null, sessionId, toolCallLimit)),
|
|
267
|
+
]);
|
|
268
|
+
// 3. Build Cadence state section
|
|
269
|
+
const cadenceStateSection = `## CADENCE MODE ACTIVE
|
|
277
270
|
|
|
278
271
|
This session is running in Cadence mode (long-running autonomous loop).
|
|
279
272
|
|
|
@@ -288,24 +281,92 @@ This session is running in Cadence mode (long-running autonomous loop).
|
|
|
288
281
|
**Session Record Location:**
|
|
289
282
|
\`session:${sessionId}\` in agentuity-opencode-memory
|
|
290
283
|
|
|
291
|
-
**Planning State:**
|
|
292
|
-
If this session has planning active, the session record contains:
|
|
293
|
-
- \`planning.prdKey\` - Link to the PRD being executed
|
|
294
|
-
- \`planning.objective\` - What we're trying to accomplish
|
|
295
|
-
- \`planning.phases\` - Current phases with status and notes
|
|
296
|
-
- \`planning.current\` - Current phase
|
|
297
|
-
- \`planning.findings\` - Discoveries made during work
|
|
298
|
-
- \`planning.errors\` - Failures to avoid repeating
|
|
299
|
-
${backgroundTaskContext}
|
|
300
284
|
After compaction:
|
|
301
285
|
1. Memory will save this summary and update the session record
|
|
302
286
|
2. Memory should update planning.progress with this compaction
|
|
303
287
|
3. Lead will continue the loop from iteration ${state.iteration}
|
|
304
|
-
4. Use 5-Question Reboot to re-orient: Where am I? Where going? Goal? Learned? Done
|
|
305
|
-
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
288
|
+
4. Use 5-Question Reboot to re-orient: Where am I? Where going? Goal? Learned? Done?`;
|
|
289
|
+
// 4. Build background tasks section
|
|
290
|
+
const tasks = backgroundManager?.getTasksByParent(sessionId) ?? [];
|
|
291
|
+
let backgroundSection = null;
|
|
292
|
+
if (tasks.length > 0) {
|
|
293
|
+
const taskList = tasks
|
|
294
|
+
.map((t) => `- **${t.id}**: ${t.description || 'No description'} (session: ${t.sessionId ?? 'pending'}, status: ${t.status})`)
|
|
295
|
+
.join('\n');
|
|
296
|
+
backgroundSection = `## Active Background Tasks
|
|
297
|
+
|
|
298
|
+
This session has ${tasks.length} background task(s) running in separate sessions:
|
|
299
|
+
${taskList}
|
|
300
|
+
|
|
301
|
+
**CRITICAL:** Task IDs and session IDs persist across compaction - these tasks are still running.
|
|
302
|
+
Use \`agentuity_background_output({ task_id: "..." })\` to check their status.
|
|
303
|
+
Use \`agentuity_session_dashboard({ session_id: "..." })\` to get a full session tree with status, costs, and health summary for Lead-of-Leads monitoring.
|
|
304
|
+
|
|
305
|
+
**Tip:** A Monitor agent is auto-launched to watch these tasks. You will receive \`[BACKGROUND TASK COMPLETED]\` notifications as each task finishes, and \`[ALL BACKGROUND TASKS COMPLETE]\` when all are done. Use \`agentuity_session_dashboard\` for a unified progress view.`;
|
|
306
|
+
}
|
|
307
|
+
// 5. Build SQLite dashboard section
|
|
308
|
+
const dashboardSection = buildSqliteDashboardSummary(dbReader, sessionId);
|
|
309
|
+
// 6. Combine everything into the full prompt
|
|
310
|
+
const sections = [];
|
|
311
|
+
if (instructions)
|
|
312
|
+
sections.push(instructions);
|
|
313
|
+
sections.push(cadenceStateSection);
|
|
314
|
+
if (backgroundSection)
|
|
315
|
+
sections.push(backgroundSection);
|
|
316
|
+
if (planningState)
|
|
317
|
+
sections.push(planningState);
|
|
318
|
+
if (imageDescs)
|
|
319
|
+
sections.push(imageDescs);
|
|
320
|
+
if (toolSummaries)
|
|
321
|
+
sections.push(toolSummaries);
|
|
322
|
+
if (dashboardSection)
|
|
323
|
+
sections.push(dashboardSection);
|
|
324
|
+
// 7. Add diagnostics
|
|
325
|
+
const stats = {
|
|
326
|
+
planningPhasesCount: countListItems(planningState),
|
|
327
|
+
backgroundTasksCount: tasks.length,
|
|
328
|
+
imageDescriptionsCount: countListItems(imageDescs),
|
|
329
|
+
toolCallSummariesCount: countListItems(toolSummaries),
|
|
330
|
+
estimatedTokens: Math.ceil(sections.join('\n\n').length / 4),
|
|
331
|
+
};
|
|
332
|
+
const diagnostics = formatCompactionDiagnostics(stats);
|
|
333
|
+
if (diagnostics)
|
|
334
|
+
sections.push(diagnostics);
|
|
335
|
+
// 8. Enforce token budget
|
|
336
|
+
let fullPrompt = sections.join('\n\n');
|
|
337
|
+
const estimatedTokens = Math.ceil(fullPrompt.length / 4);
|
|
338
|
+
if (maxTokens > 0 && estimatedTokens > maxTokens) {
|
|
339
|
+
// Trim least-critical sections first
|
|
340
|
+
const trimOrder = [diagnostics, toolSummaries, imageDescs, planningState].filter(Boolean);
|
|
341
|
+
let trimmed = [...sections];
|
|
342
|
+
for (const candidate of trimOrder) {
|
|
343
|
+
if (Math.ceil(trimmed.join('\n\n').length / 4) <= maxTokens)
|
|
344
|
+
break;
|
|
345
|
+
trimmed = trimmed.filter((s) => s !== candidate);
|
|
346
|
+
}
|
|
347
|
+
fullPrompt = trimmed.join('\n\n');
|
|
348
|
+
}
|
|
349
|
+
// 9. Set the full prompt or push to context
|
|
350
|
+
if (useCustomPrompt) {
|
|
351
|
+
output.prompt = fullPrompt;
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
output.context.push(fullPrompt);
|
|
355
|
+
}
|
|
356
|
+
// 10. Store pre-compaction snapshot to KV (fire-and-forget)
|
|
357
|
+
if (useSnapshotToKV) {
|
|
358
|
+
storePreCompactionSnapshot(sessionId, {
|
|
359
|
+
timestamp: new Date().toISOString(),
|
|
360
|
+
sessionId,
|
|
361
|
+
planningState: planningState ? { raw: planningState } : undefined,
|
|
362
|
+
backgroundTasks: tasks.map((t) => ({
|
|
363
|
+
id: t.id,
|
|
364
|
+
description: t.description || 'No description',
|
|
365
|
+
status: t.status,
|
|
366
|
+
})),
|
|
367
|
+
cadenceState: state ? { ...state } : undefined,
|
|
368
|
+
branch,
|
|
369
|
+
}).catch(() => { }); // Fire and forget
|
|
309
370
|
}
|
|
310
371
|
},
|
|
311
372
|
/**
|
|
@@ -315,6 +376,42 @@ After compaction:
|
|
|
315
376
|
isActiveCadenceSession(sessionId) {
|
|
316
377
|
return activeCadenceSessions.has(sessionId);
|
|
317
378
|
},
|
|
379
|
+
/**
|
|
380
|
+
* Lazy restore: check KV for persisted Cadence state and populate in-memory Map.
|
|
381
|
+
* Called before routing decisions to recover state after plugin restarts.
|
|
382
|
+
* Returns true if state was found and restored.
|
|
383
|
+
*/
|
|
384
|
+
async tryRestoreFromKV(sessionId) {
|
|
385
|
+
// Already in memory — nothing to restore
|
|
386
|
+
if (activeCadenceSessions.has(sessionId))
|
|
387
|
+
return true;
|
|
388
|
+
// Known non-Cadence session — skip KV lookup
|
|
389
|
+
if (nonCadenceSessions.has(sessionId))
|
|
390
|
+
return false;
|
|
391
|
+
try {
|
|
392
|
+
const kvState = await restoreCadenceStateFromKV(sessionId);
|
|
393
|
+
if (!kvState) {
|
|
394
|
+
if (nonCadenceSessions.size >= NON_CADENCE_CACHE_MAX) {
|
|
395
|
+
nonCadenceSessions.clear();
|
|
396
|
+
}
|
|
397
|
+
nonCadenceSessions.add(sessionId);
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
const state = {
|
|
401
|
+
startedAt: kvState.startedAt ?? new Date().toISOString(),
|
|
402
|
+
loopId: kvState.loopId,
|
|
403
|
+
iteration: kvState.iteration ?? 1,
|
|
404
|
+
maxIterations: kvState.maxIterations ?? 50,
|
|
405
|
+
lastActivity: kvState.lastActivity ?? new Date().toISOString(),
|
|
406
|
+
};
|
|
407
|
+
activeCadenceSessions.set(sessionId, state);
|
|
408
|
+
log(`Restored Cadence state from KV for session ${sessionId} (iteration ${state.iteration}/${state.maxIterations})`);
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
catch {
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
},
|
|
318
415
|
};
|
|
319
416
|
}
|
|
320
417
|
function extractSessionId(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../../src/plugin/hooks/cadence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../../src/plugin/hooks/cadence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { OpenCodeDBReader } from '../../sqlite/reader';
|
|
2
|
+
import type { CompactionStats, PreCompactionSnapshot } from '../../sqlite/types';
|
|
3
|
+
/**
|
|
4
|
+
* Get the current git branch name.
|
|
5
|
+
* Moved here from cadence.ts and session-memory.ts to deduplicate.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getCurrentBranch(): Promise<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Build the custom compaction prompt for our agent system.
|
|
10
|
+
* This REPLACES the default OpenCode compaction prompt via output.prompt.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildCustomCompactionPrompt(mode: 'cadence' | 'regular'): string;
|
|
13
|
+
/**
|
|
14
|
+
* Fetch planning state from KV and format as markdown.
|
|
15
|
+
* Returns null if KV is unavailable or no planning state exists.
|
|
16
|
+
*/
|
|
17
|
+
export declare function fetchAndFormatPlanningState(sessionId: string): Promise<string | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Get image/attachment descriptions from SQLite for compaction context.
|
|
20
|
+
* Returns brief metadata about non-text parts in the conversation.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getImageDescriptions(dbReader: OpenCodeDBReader | null, sessionId: string): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Get recent tool call summaries for compaction context.
|
|
25
|
+
* CONCISE — capped at limit calls, brief descriptions only.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getRecentToolCallSummaries(dbReader: OpenCodeDBReader | null, sessionId: string, limit?: number): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Store a pre-compaction snapshot to KV as a recovery mechanism.
|
|
30
|
+
*/
|
|
31
|
+
export declare function storePreCompactionSnapshot(sessionId: string, snapshot: PreCompactionSnapshot): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Persist Cadence session state to KV for recovery after plugin restart.
|
|
34
|
+
*/
|
|
35
|
+
export declare function persistCadenceStateToKV(sessionId: string, state: Record<string, unknown>): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Restore Cadence session state from KV.
|
|
38
|
+
*/
|
|
39
|
+
export declare function restoreCadenceStateFromKV(sessionId: string): Promise<Record<string, unknown> | null>;
|
|
40
|
+
/**
|
|
41
|
+
* Format compaction diagnostics — brief summary of what was preserved.
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatCompactionDiagnostics(stats: CompactionStats): string;
|
|
44
|
+
/** Count markdown list items in a string */
|
|
45
|
+
export declare function countListItems(s: string | null): number;
|
|
46
|
+
export type { CompactionConfig } from '../../types';
|
|
47
|
+
export type { CompactionStats, DBNonTextPart, DBToolCallSummary, PreCompactionSnapshot, } from '../../sqlite/types';
|
|
48
|
+
//# sourceMappingURL=compaction-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-utils.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/compaction-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAiB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhG;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAYxD;AAkCD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAmD/E;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+C3F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAsBf;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAU,GACf,MAAM,GAAG,IAAI,CAiBf;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC/C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC9C,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAOzC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAS1E;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGvD;AAGD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,qBAAqB,GACrB,MAAM,oBAAoB,CAAC"}
|