@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.
Files changed (137) hide show
  1. package/dist/agents/architect.d.ts +1 -1
  2. package/dist/agents/architect.d.ts.map +1 -1
  3. package/dist/agents/architect.js +30 -33
  4. package/dist/agents/architect.js.map +1 -1
  5. package/dist/agents/builder.d.ts +1 -1
  6. package/dist/agents/builder.d.ts.map +1 -1
  7. package/dist/agents/builder.js +53 -60
  8. package/dist/agents/builder.js.map +1 -1
  9. package/dist/agents/expert-backend.d.ts +1 -1
  10. package/dist/agents/expert-backend.d.ts.map +1 -1
  11. package/dist/agents/expert-backend.js +32 -40
  12. package/dist/agents/expert-backend.js.map +1 -1
  13. package/dist/agents/expert-frontend.d.ts +1 -1
  14. package/dist/agents/expert-frontend.d.ts.map +1 -1
  15. package/dist/agents/expert-frontend.js +18 -24
  16. package/dist/agents/expert-frontend.js.map +1 -1
  17. package/dist/agents/expert-ops.d.ts +1 -1
  18. package/dist/agents/expert-ops.d.ts.map +1 -1
  19. package/dist/agents/expert-ops.js +37 -51
  20. package/dist/agents/expert-ops.js.map +1 -1
  21. package/dist/agents/expert.d.ts +1 -1
  22. package/dist/agents/expert.d.ts.map +1 -1
  23. package/dist/agents/expert.js +33 -43
  24. package/dist/agents/expert.js.map +1 -1
  25. package/dist/agents/lead.d.ts +1 -1
  26. package/dist/agents/lead.d.ts.map +1 -1
  27. package/dist/agents/lead.js +179 -222
  28. package/dist/agents/lead.js.map +1 -1
  29. package/dist/agents/memory.d.ts +1 -1
  30. package/dist/agents/memory.d.ts.map +1 -1
  31. package/dist/agents/memory.js +62 -90
  32. package/dist/agents/memory.js.map +1 -1
  33. package/dist/agents/monitor.d.ts +1 -1
  34. package/dist/agents/monitor.d.ts.map +1 -1
  35. package/dist/agents/monitor.js +84 -44
  36. package/dist/agents/monitor.js.map +1 -1
  37. package/dist/agents/product.d.ts +1 -1
  38. package/dist/agents/product.d.ts.map +1 -1
  39. package/dist/agents/product.js +16 -22
  40. package/dist/agents/product.js.map +1 -1
  41. package/dist/agents/reviewer.d.ts +1 -1
  42. package/dist/agents/reviewer.d.ts.map +1 -1
  43. package/dist/agents/reviewer.js +15 -27
  44. package/dist/agents/reviewer.js.map +1 -1
  45. package/dist/agents/runner.d.ts +1 -1
  46. package/dist/agents/runner.d.ts.map +1 -1
  47. package/dist/agents/runner.js +52 -76
  48. package/dist/agents/runner.js.map +1 -1
  49. package/dist/agents/scout.d.ts +1 -1
  50. package/dist/agents/scout.d.ts.map +1 -1
  51. package/dist/agents/scout.js +42 -43
  52. package/dist/agents/scout.js.map +1 -1
  53. package/dist/agents/types.d.ts +8 -0
  54. package/dist/agents/types.d.ts.map +1 -1
  55. package/dist/background/manager.d.ts +18 -0
  56. package/dist/background/manager.d.ts.map +1 -1
  57. package/dist/background/manager.js +201 -33
  58. package/dist/background/manager.js.map +1 -1
  59. package/dist/background/types.d.ts +3 -0
  60. package/dist/background/types.d.ts.map +1 -1
  61. package/dist/config/loader.js +2 -2
  62. package/dist/plugin/hooks/cadence.d.ts +3 -1
  63. package/dist/plugin/hooks/cadence.d.ts.map +1 -1
  64. package/dist/plugin/hooks/cadence.js +167 -70
  65. package/dist/plugin/hooks/cadence.js.map +1 -1
  66. package/dist/plugin/hooks/compaction-utils.d.ts +48 -0
  67. package/dist/plugin/hooks/compaction-utils.d.ts.map +1 -0
  68. package/dist/plugin/hooks/compaction-utils.js +259 -0
  69. package/dist/plugin/hooks/compaction-utils.js.map +1 -0
  70. package/dist/plugin/hooks/completion.d.ts +14 -0
  71. package/dist/plugin/hooks/completion.d.ts.map +1 -0
  72. package/dist/plugin/hooks/completion.js +45 -0
  73. package/dist/plugin/hooks/completion.js.map +1 -0
  74. package/dist/plugin/hooks/params.d.ts +47 -2
  75. package/dist/plugin/hooks/params.d.ts.map +1 -1
  76. package/dist/plugin/hooks/params.js +82 -1
  77. package/dist/plugin/hooks/params.js.map +1 -1
  78. package/dist/plugin/hooks/session-memory.d.ts +2 -1
  79. package/dist/plugin/hooks/session-memory.d.ts.map +1 -1
  80. package/dist/plugin/hooks/session-memory.js +101 -48
  81. package/dist/plugin/hooks/session-memory.js.map +1 -1
  82. package/dist/plugin/hooks/tools.d.ts.map +1 -1
  83. package/dist/plugin/hooks/tools.js +26 -1
  84. package/dist/plugin/hooks/tools.js.map +1 -1
  85. package/dist/plugin/plugin.d.ts.map +1 -1
  86. package/dist/plugin/plugin.js +38 -9
  87. package/dist/plugin/plugin.js.map +1 -1
  88. package/dist/sqlite/index.d.ts +1 -1
  89. package/dist/sqlite/index.d.ts.map +1 -1
  90. package/dist/sqlite/queries.d.ts +1 -0
  91. package/dist/sqlite/queries.d.ts.map +1 -1
  92. package/dist/sqlite/queries.js +4 -0
  93. package/dist/sqlite/queries.js.map +1 -1
  94. package/dist/sqlite/reader.d.ts +11 -1
  95. package/dist/sqlite/reader.d.ts.map +1 -1
  96. package/dist/sqlite/reader.js +62 -0
  97. package/dist/sqlite/reader.js.map +1 -1
  98. package/dist/sqlite/types.d.ts +40 -0
  99. package/dist/sqlite/types.d.ts.map +1 -1
  100. package/dist/tools/background.d.ts.map +1 -1
  101. package/dist/tools/background.js +15 -0
  102. package/dist/tools/background.js.map +1 -1
  103. package/dist/types.d.ts +46 -0
  104. package/dist/types.d.ts.map +1 -1
  105. package/dist/types.js +10 -0
  106. package/dist/types.js.map +1 -1
  107. package/package.json +3 -3
  108. package/src/agents/architect.ts +30 -33
  109. package/src/agents/builder.ts +53 -60
  110. package/src/agents/expert-backend.ts +32 -40
  111. package/src/agents/expert-frontend.ts +18 -24
  112. package/src/agents/expert-ops.ts +37 -51
  113. package/src/agents/expert.ts +33 -43
  114. package/src/agents/lead.ts +179 -222
  115. package/src/agents/memory.ts +62 -90
  116. package/src/agents/monitor.ts +84 -44
  117. package/src/agents/product.ts +16 -22
  118. package/src/agents/reviewer.ts +15 -27
  119. package/src/agents/runner.ts +52 -76
  120. package/src/agents/scout.ts +42 -43
  121. package/src/agents/types.ts +8 -0
  122. package/src/background/manager.ts +227 -38
  123. package/src/background/types.ts +3 -0
  124. package/src/config/loader.ts +2 -2
  125. package/src/plugin/hooks/cadence.ts +188 -74
  126. package/src/plugin/hooks/compaction-utils.ts +291 -0
  127. package/src/plugin/hooks/completion.ts +61 -0
  128. package/src/plugin/hooks/params.ts +107 -2
  129. package/src/plugin/hooks/session-memory.ts +113 -47
  130. package/src/plugin/hooks/tools.ts +32 -1
  131. package/src/plugin/plugin.ts +54 -10
  132. package/src/sqlite/index.ts +4 -0
  133. package/src/sqlite/queries.ts +5 -0
  134. package/src/sqlite/reader.ts +69 -0
  135. package/src/sqlite/types.ts +40 -0
  136. package/src/tools/background.ts +28 -0
  137. 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, _config, backgroundManager, dbReader) {
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
- const messageText = extractMessageText(output);
59
- if (!messageText)
60
- return;
61
- // Check if this is a Cadence start command or ultrawork trigger
62
- const cadenceType = getCadenceTriggerType(messageText);
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
- // Get current git branch
246
- const branch = await getCurrentBranch();
247
- // Get active background tasks for this session
248
- const tasks = backgroundManager?.getTasksByParent(sessionId) ?? [];
249
- let backgroundTaskContext = '';
250
- if (tasks.length > 0) {
251
- const taskList = tasks
252
- .map((t) => `- **${t.id}**: ${t.description || 'No description'} (session: ${t.sessionId ?? 'pending'}, status: ${t.status})`)
253
- .join('\n');
254
- backgroundTaskContext = `
255
-
256
- ## Active Background Tasks
257
-
258
- This session has ${tasks.length} background task(s) running in separate sessions:
259
- ${taskList}
260
-
261
- **CRITICAL:** Task IDs and session IDs persist across compaction - these tasks are still running.
262
- Use \`agentuity_background_output({ task_id: "..." })\` to check their status.
263
- Use \`agentuity_session_dashboard({ session_id: "..." })\` to get a full session tree with status, costs, and health summary for Lead-of-Leads monitoring.
264
-
265
- **Tip:** If you spawned child Leads for parallel work, delegate monitoring to BackgroundMonitor:
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 dashboardSummary = buildSqliteDashboardSummary(dbReader, sessionId);
307
- if (dashboardSummary) {
308
- output.context.push(dashboardSummary);
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":"AAiBA,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;AAE7D;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;SACd,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,yDAAyD;AACzD,MAAM,kBAAkB,GAAG;IAC1B,WAAW;IACX,YAAY;IACZ,KAAK;IACL,YAAY;IACZ,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,SAAS;IACT,aAAa;CACb,CAAC;AAWF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CACjC,GAAgB,EAChB,OAAoB,EACpB,iBAAqC,EACrC,QAA2B;IAE3B,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAErE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAClB,IAAI,EAAE;gBACL,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,GAAG;aACZ;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACN,KAAK,CAAC,SAAS,CAAC,KAAc,EAAE,MAAe;YAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW;gBAAE,OAAO;YAEzB,gEAAgE;YAChE,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,+BAA+B,SAAS,QAAQ,WAAW,EAAE,CAAC,CAAC;gBACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAwB;oBAClC,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,EAAE;oBACjB,YAAY,EAAE,GAAG;iBACjB,CAAC;gBACF,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAE5C,gEAAgE;gBAChE,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBACjC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBAED,SAAS,CAAC,GAAG,EAAE,uBAAuB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChF,OAAO;YACR,CAAC;YAED,2CAA2C;YAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,OAAO;YACR,CAAC;YAED,uBAAuB;YACvB,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE9C,qDAAqD;YACrD,uFAAuF;YACvF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CACpC,uFAAuF,CACvF,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,WAAW,CAAC;gBACzD,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa;oBAAE,OAAO;gBACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM,OAAO,GACZ,KAAK,CAAC,MAAM,KAAK,MAAM;oBACvB,KAAK,CAAC,SAAS,KAAK,YAAY;oBAChC,KAAK,CAAC,aAAa,KAAK,MAAM,CAAC;gBAEhC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;gBAC/B,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;gBAE7B,IAAI,OAAO,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,SAAS,CAAC,GAAG,EAAE,eAAe,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,GAAG,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,OAAO;YACR,CAAC;YAED,uEAAuE;YACvE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7D,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,YAAY,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;oBACtC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;oBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,SAAS,CAAC,GAAG,EAAE,eAAe,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,GAAG,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;YACF,CAAC;YAED,8BAA8B;YAC9B,IAAI,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;gBAClD,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxC,SAAS,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;gBAC5C,OAAO;YACR,CAAC;YAED,iCAAiC;YACjC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;gBAChD,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxC,OAAO;YACR,CAAC;QACF,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,KAAc;YAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAErC,+DAA+D;YAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBAClC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAEnB,GAAG,CAAC,4CAA4C,SAAS,0BAA0B,CAAC,CAAC;gBACrF,SAAS,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;gBAE3D,yBAAyB;gBACzB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBAExC,IAAI,CAAC;oBACJ,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;wBAClC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACvB,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN;oCACC,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE;;;;kBAIG,MAAM;;;yFAGiE,SAAS;;sDAE5C,KAAK,CAAC,MAAM,IAAI,SAAS,gBAAgB,KAAK,CAAC,SAAS,mBAAmB,KAAK,CAAC,aAAa;;;;;;;;;;;4BAWxH,SAAS;;;;;;;;;;;6BAWR,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,aAAa;;;;;4BAK1C,SAAS;;;;;6BAKR,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,aAAa;;;;;+BAKvC,KAAK,CAAC,SAAS;mEACqB;iCAC1D;6BACD;4BACD,KAAK,EAAE,sBAAsB;yBAC7B;qBACD,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;gBACvD,CAAC;YACF,CAAC;YAED,qDAAqD;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBAClC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,IAAI,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,WAAW,SAAS,6BAA6B,CAAC,CAAC;gBACxD,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBAClC,IAAI,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;oBAChD,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,YAAY,CAAC,KAAsB,EAAE,MAAwB;YAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,2CAA2C;gBAC3C,OAAO;YACR,CAAC;YAED,GAAG,CAAC,2DAA2D,SAAS,EAAE,CAAC,CAAC;YAC5E,SAAS,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;YAEnD,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAExC,+CAA+C;YAC/C,MAAM,KAAK,GAAG,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,qBAAqB,GAAG,EAAE,CAAC;YAE/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,KAAK;qBACpB,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,IAAI,gBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,SAAS,aAAa,CAAC,CAAC,MAAM,GAAG,CAClH;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,qBAAqB,GAAG;;;;mBAIT,KAAK,CAAC,MAAM;EAC7B,QAAQ;;;;;;;;;;0EAUgE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;;CAIlH,CAAC;YACC,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;gBAMP,SAAS;aACZ,KAAK,CAAC,MAAM,IAAI,SAAS;YAC1B,MAAM;aACL,KAAK,CAAC,SAAS;eACb,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,aAAa;mBACpC,KAAK,CAAC,YAAY;;;YAGzB,SAAS;;;;;;;;;;EAUnB,qBAAqB;;;;gDAIyB,KAAK,CAAC,SAAS;;CAE9D,CAAC,CAAC;YAEA,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED;;;WAGG;QACH,sBAAsB,CAAC,SAAiB;YACvC,OAAO,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IAC5D,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAEpE,qCAAqC;IACrC,MAAM,GAAG,GAAG,MAA4E,CAAC;IACzF,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC;QACF,CAAC;IACF,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAElE,MAAM,GAAG,GAAG,KAA4E,CAAC;IACzF,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEvE,MAAM,SAAS,GACb,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,SAAgC;QACtD,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,SAAgC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAID,SAAS,qBAAqB,CAAC,IAAY;IAC1C,4BAA4B;IAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3E,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAE1D,MAAM,GAAG,GAAG,MAA6D,CAAC;IAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAEpD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO;QACR,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAClC,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CACnC,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CACnC,QAAsC,EACtC,eAAuB;IAEvB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAAE,OAAO,SAAS,CAAC;IAE3D,MAAM,SAAS,GAAG,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;;;oBAGY,eAAe;sBACb,SAAS,CAAC,SAAS;;EAEvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;CACjB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAAwB,EACxB,IAAqB,EACrB,KAAa,EACb,KAAe;IAEf,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;QACnC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,UAAU;QACjE,CAAC,CAAC,UAAU,CAAC;IACd,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;QACnC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,UAAU;QAC1E,CAAC,CAAC,cAAc,CAAC;IAClB,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IAExC,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,MAAM,CAAC,MAAM,YAAY,IAAI,CAAC,eAAe,YAAY,WAAW,eAAe,IAAI,CAAC,YAAY,WAAW,WAAW,EAAE,CAC/K,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA8C,CAAC;YAC9E,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,MAAM,CAAC,WAAW,CAAC;YAClD,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB,EAAE,OAAe;IACnD,IAAI,CAAC;QACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACR,6BAA6B;IAC9B,CAAC;AACF,CAAC"}
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"}