@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,20 +1,4 @@
1
- /**
2
- * Get the current git branch name.
3
- */
4
- async function getCurrentBranch() {
5
- try {
6
- const proc = Bun.spawn(['git', 'branch', '--show-current'], {
7
- stdout: 'pipe',
8
- stderr: 'pipe',
9
- });
10
- const stdout = await new Response(proc.stdout).text();
11
- await proc.exited;
12
- return stdout.trim() || 'unknown';
13
- }
14
- catch {
15
- return 'unknown';
16
- }
17
- }
1
+ import { getCurrentBranch, buildCustomCompactionPrompt, fetchAndFormatPlanningState, getImageDescriptions, getRecentToolCallSummaries, storePreCompactionSnapshot, formatCompactionDiagnostics, countListItems, } from './compaction-utils';
18
2
  /**
19
3
  * Session memory hooks handle compaction for non-Cadence sessions.
20
4
  *
@@ -22,7 +6,7 @@ async function getCurrentBranch() {
22
6
  * 1. On compacting: Inject Memory system info into compaction prompt
23
7
  * 2. On session.compacted: Tell Lead to have Memory save the summary (it's already in context!)
24
8
  */
25
- export function createSessionMemoryHooks(ctx, _config, backgroundManager) {
9
+ export function createSessionMemoryHooks(ctx, config, backgroundManager, dbReader) {
26
10
  const log = (msg) => {
27
11
  ctx.client.app.log({
28
12
  body: {
@@ -36,6 +20,10 @@ export function createSessionMemoryHooks(ctx, _config, backgroundManager) {
36
20
  /**
37
21
  * Listen for session.compacted event.
38
22
  * The compaction summary is already in context - just tell Lead to save it.
23
+ *
24
+ * Note: Compaction continues in the SAME session (via session.prompt with
25
+ * the existing sessionId), so permissions configured in the config hook
26
+ * (plugin.ts) are automatically inherited — no re-application needed.
39
27
  */
40
28
  async onEvent(input) {
41
29
  const { event } = input;
@@ -118,51 +106,116 @@ Then continue with the current task if there is one.`,
118
106
  },
119
107
  /**
120
108
  * Inject Memory system info during compaction.
121
- * This gets included in OpenCode's generated summary.
109
+ * Uses output.prompt to REPLACE the default compaction prompt with
110
+ * enriched context (planning state, images, tool calls, diagnostics).
122
111
  */
123
112
  async onCompacting(input, output) {
124
113
  const sessionId = input.sessionID;
125
114
  log(`Compacting session ${sessionId}`);
126
- // Get current git branch
127
- const branch = await getCurrentBranch();
128
- // Get active background tasks for this session
115
+ // Config flags for compaction behavior
116
+ const compactionCfg = config?.compaction ?? {};
117
+ const useCustomPrompt = compactionCfg.customPrompt !== false;
118
+ const useInlinePlanning = compactionCfg.inlinePlanning !== false;
119
+ const useImageAwareness = compactionCfg.imageAwareness !== false;
120
+ const useSnapshotToKV = compactionCfg.snapshotToKV !== false;
121
+ const maxTokens = compactionCfg.maxContextTokens ?? 4000;
122
+ // 1. Build custom compaction instructions
123
+ const instructions = useCustomPrompt ? buildCustomCompactionPrompt('regular') : null;
124
+ // 2. Gather enrichment data in parallel
125
+ const toolCallLimit = config?.compaction?.toolCallSummaryLimit ?? 5;
126
+ const [branch, planningState, imageDescs, toolSummaries] = await Promise.all([
127
+ getCurrentBranch(),
128
+ useInlinePlanning ? fetchAndFormatPlanningState(sessionId) : Promise.resolve(null),
129
+ useImageAwareness
130
+ ? Promise.resolve(getImageDescriptions(dbReader ?? null, sessionId))
131
+ : Promise.resolve(null),
132
+ Promise.resolve(getRecentToolCallSummaries(dbReader ?? null, sessionId, toolCallLimit)),
133
+ ]);
134
+ // 3. Build session state section
135
+ const sessionStateSection = `## Session Memory
136
+
137
+ This session's context is being saved to persistent memory.
138
+ Session record location: \`session:${sessionId}\` in agentuity-opencode-memory
139
+ Current branch: ${branch}
140
+
141
+ After compaction:
142
+ 1. Memory will save this summary to the session record
143
+ 2. If planning is active, Memory should update planning.progress with this compaction
144
+ 3. Memory will apply inline reasoning if significant patterns/corrections emerged`;
145
+ // 4. Build background tasks section
129
146
  const tasks = backgroundManager?.getTasksByParent(sessionId) ?? [];
130
- let backgroundTaskContext = '';
147
+ let backgroundSection = null;
131
148
  if (tasks.length > 0) {
132
149
  const taskList = tasks
133
150
  .map((t) => `- **${t.id}**: ${t.description || 'No description'} (session: ${t.sessionId ?? 'pending'}, status: ${t.status})`)
134
151
  .join('\n');
135
- backgroundTaskContext = `
136
-
137
- ## Active Background Tasks
152
+ backgroundSection = `## Active Background Tasks
138
153
 
139
154
  This session has ${tasks.length} background task(s) running in separate sessions:
140
155
  ${taskList}
141
156
 
142
157
  **CRITICAL:** Task IDs and session IDs persist across compaction - these tasks are still running.
143
- Use \`agentuity_background_output({ task_id: "..." })\` to check their status.
144
- `;
158
+ Use \`agentuity_background_output({ task_id: "..." })\` to check their status.`;
159
+ }
160
+ // 5. Combine everything into the full prompt
161
+ const sections = [];
162
+ if (instructions)
163
+ sections.push(instructions);
164
+ sections.push(sessionStateSection);
165
+ if (backgroundSection)
166
+ sections.push(backgroundSection);
167
+ if (planningState)
168
+ sections.push(planningState);
169
+ if (imageDescs)
170
+ sections.push(imageDescs);
171
+ if (toolSummaries)
172
+ sections.push(toolSummaries);
173
+ // 6. Add diagnostics
174
+ const stats = {
175
+ planningPhasesCount: countListItems(planningState),
176
+ backgroundTasksCount: tasks.length,
177
+ imageDescriptionsCount: countListItems(imageDescs),
178
+ toolCallSummariesCount: countListItems(toolSummaries),
179
+ estimatedTokens: Math.ceil(sections.join('\n\n').length / 4),
180
+ };
181
+ const diagnostics = formatCompactionDiagnostics(stats);
182
+ if (diagnostics)
183
+ sections.push(diagnostics);
184
+ // 7. Enforce token budget
185
+ let fullPrompt = sections.join('\n\n');
186
+ const estimatedTokens = Math.ceil(fullPrompt.length / 4);
187
+ if (maxTokens > 0 && estimatedTokens > maxTokens) {
188
+ // Trim least-critical sections first
189
+ const trimOrder = [diagnostics, toolSummaries, imageDescs, planningState].filter(Boolean);
190
+ let trimmed = [...sections];
191
+ for (const candidate of trimOrder) {
192
+ if (Math.ceil(trimmed.join('\n\n').length / 4) <= maxTokens)
193
+ break;
194
+ trimmed = trimmed.filter((s) => s !== candidate);
195
+ }
196
+ fullPrompt = trimmed.join('\n\n');
197
+ }
198
+ // 8. Set the full prompt or push to context
199
+ if (useCustomPrompt) {
200
+ output.prompt = fullPrompt;
201
+ }
202
+ else {
203
+ output.context.push(fullPrompt);
204
+ }
205
+ // 9. Store pre-compaction snapshot to KV (fire-and-forget)
206
+ if (useSnapshotToKV) {
207
+ storePreCompactionSnapshot(sessionId, {
208
+ timestamp: new Date().toISOString(),
209
+ sessionId,
210
+ planningState: planningState ? { raw: planningState } : undefined,
211
+ backgroundTasks: tasks.map((t) => ({
212
+ id: t.id,
213
+ description: t.description || 'No description',
214
+ status: t.status,
215
+ })),
216
+ branch,
217
+ }).catch(() => { }); // Fire and forget
145
218
  }
146
- output.context.push(`
147
- ## Session Memory
148
-
149
- This session's context is being saved to persistent memory.
150
- Session record location: \`session:${sessionId}\` in agentuity-opencode-memory
151
- Current branch: ${branch}
152
-
153
- **Planning State (if active):**
154
- If this session has planning active (user requested "track progress" or similar), the session record contains:
155
- - \`planning.prdKey\` - Link to PRD if one exists
156
- - \`planning.objective\` - What we're trying to accomplish
157
- - \`planning.phases\` - Current phases with status and notes
158
- - \`planning.findings\` - Discoveries made during work
159
- - \`planning.errors\` - Failures to avoid repeating
160
- ${backgroundTaskContext}
161
- After compaction:
162
- 1. Memory will save this summary to the session record
163
- 2. If planning is active, Memory should update planning.progress with this compaction
164
- 3. Memory will apply inline reasoning if significant patterns/corrections emerged
165
- `);
166
219
  },
167
220
  };
168
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-memory.js","sourceRoot":"","sources":["../../../src/plugin/hooks/session-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-memory.js","sourceRoot":"","sources":["../../../src/plugin/hooks/session-memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAkBD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAaD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAqHhF;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAeD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAkBD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAaD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAoJhF;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAeD"}
@@ -138,7 +138,32 @@ export function createToolHooks(ctx, config) {
138
138
  }
139
139
  }
140
140
  },
141
- async after(_input, _output) { },
141
+ async after(input, output) {
142
+ // Graceful handling for unavailable tools: if a tool execution produced an
143
+ // error indicating the tool doesn't exist or is unavailable, normalize the
144
+ // output to a helpful message so the session continues instead of crashing.
145
+ const toolName = extractToolName(input);
146
+ if (!toolName)
147
+ return;
148
+ const out = output;
149
+ if (typeof out.output !== 'string')
150
+ return;
151
+ const lower = out.output.toLowerCase();
152
+ const isToolMissing = (lower.includes('not found') ||
153
+ lower.includes('not available') ||
154
+ lower.includes('does not exist') ||
155
+ lower.includes('unknown tool') ||
156
+ lower.includes('no such tool')) &&
157
+ (lower.includes('tool') || lower.includes(toolName.toLowerCase()));
158
+ if (isToolMissing) {
159
+ out.output = JSON.stringify({
160
+ error: `Tool '${toolName}' is not available in this session. It may have been removed or is not installed. Please use an alternative approach or ask the user for guidance.`,
161
+ tool: toolName,
162
+ recoverable: true,
163
+ });
164
+ out.title = `Tool unavailable: ${toolName}`;
165
+ }
166
+ },
142
167
  };
143
168
  }
144
169
  export async function getEntityContextForSession() {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAOH,MAAM,mBAAmB,GAAG;IAC3B,cAAc;IACd,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;CACnB,CAAC;AAEF;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAW;IAC/B,0EAA0E;IAC1E,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAC5D,OAAO,OAAO,IAAI,YAAY,CAAC;AAChC,CAAC;AAED,gDAAgD;AAChD,MAAM,cAAc,GAAoD;IACvE,oBAAoB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;IAC1D,yBAAyB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;IAClE,wBAAwB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;IAChE,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;IAC5D,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;IACnD,qBAAqB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;CAC7D,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,MAAmB;IACpE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IAErD,OAAO;QACN,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,MAAe;YAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YACvE,CAAC;YAED,wBAAwB;YACxB,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,MAA4B,CAAC;oBACzC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACF,CAAC;YAED,2CAA2C;YAC3C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpC,qCAAqC;oBACrC,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAClE,IAAI,cAAc,EAAE,CAAC;wBACpB,MAAM,GAAG,GAAG,MAA+C,CAAC;wBAC5D,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;wBACnB,GAAG,CAAC,KAAK,GAAG,gBAAgB,cAAc,kDAAkD,CAAC;wBAE7F,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;4BAClB,IAAI,EAAE;gCACL,OAAO,EAAE,iBAAiB;gCAC1B,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,4BAA4B,cAAc,EAAE;gCACrD,KAAK,EAAE,EAAE,OAAO,EAAE;6BAClB;yBACD,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;oBAED,gFAAgF;oBAChF,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;oBAClC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC9D,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO;wBAC1C,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS;wBAClC,CAAC,CAAC,SAAS,CAAC;oBAEb,6CAA6C;oBAC7C,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC5C,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAExE,IAAI,eAAuB,CAAC;oBAE5B,sEAAsE;oBACtE,IAAI,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvD,4EAA4E;wBAC5E,eAAe,GAAG,OAAO,CAAC,OAAO,CAChC,oCAAoC,EACpC,GAAG,EAAE,CAAC,qBAAqB,cAAc,EAAE,CAC3C,CAAC;wBACF,uDAAuD;wBACvD,IACC,gBAAgB;4BAChB,CAAC,eAAe,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EACvD,CAAC;4BACF,eAAe,GAAG,8BAA8B,gBAAgB,IAAI,eAAe,EAAE,CAAC;wBACvF,CAAC;wBACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;4BACxD,eAAe,GAAG,iCAAiC,eAAe,EAAE,CAAC;wBACtE,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,oCAAoC;wBACpC,IAAI,OAAO,GAAG,qBAAqB,cAAc,gCAAgC,CAAC;wBAClF,IAAI,gBAAgB,EAAE,CAAC;4BACtB,OAAO,IAAI,+BAA+B,gBAAgB,EAAE,CAAC;wBAC9D,CAAC;wBACD,eAAe,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC3C,CAAC;oBACD,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAEvC,qCAAqC;oBACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5C,IAAI,OAAO,EAAE,CAAC;wBACb,IAAI,CAAC;4BACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gCACxB,IAAI,EAAE;oCACL,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,IAAI,EAAE;oCACrD,OAAO,EAAE,MAAM;iCACf;6BACD,CAAC,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACR,6BAA6B;wBAC9B,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,2EAA2E;YAC3E,qFAAqF;YACrF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,MAA4C,CAAC;gBACzD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,aAAmC,CAAC;gBACnE,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBACpD,IAAI,UAAU,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;wBAC/C,GAAG,CAAC,IAAK,CAAC,aAAa,GAAG,UAAU,CAAC;oBACtC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,MAAe,EAAE,OAAgB,IAAkB,CAAC;KAChE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAM/C,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACrC,OAAO;YACN,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAChE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,MAAM,EACL,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI;gBAC9B,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjD,CAAC,CAAC,SAAS;SACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpE,OAAQ,KAA0B,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,wCAAwC;IACxC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAC3D,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,OAAe;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IACxD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,uDAAuD;IACvD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACpC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,0FAA0F;AAC1F,SAAS,gBAAgB,CAAC,OAAe,EAAE,eAAyB;IACnE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACvC,6EAA6E;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iEAAiE;IACjE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACtC,kEAAkE;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IAClC,OAAO,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/plugin/hooks/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAgF9D,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CA0KxE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAiF9D,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CA0MxE"}
@@ -13,6 +13,7 @@ import { createKeywordHooks } from './hooks/keyword';
13
13
  import { createParamsHooks } from './hooks/params';
14
14
  import { createCadenceHooks } from './hooks/cadence';
15
15
  import { createSessionMemoryHooks } from './hooks/session-memory';
16
+ import { createCompletionHooks } from './hooks/completion';
16
17
  import { BackgroundManager } from '../background';
17
18
  import { OpenCodeDBReader } from '../sqlite';
18
19
  import { TmuxSessionManager } from '../tmux';
@@ -64,10 +65,14 @@ export async function createCoderPlugin(ctx) {
64
65
  const coderConfig = mergeConfig(getDefaultConfig(), userConfig);
65
66
  const resolvedDbPath = resolveOpenCodeDBPath();
66
67
  const dbReader = new OpenCodeDBReader(resolvedDbPath ? { dbPath: resolvedDbPath } : undefined);
68
+ // Shared Map: chat.params stores the user's message text per session,
69
+ // chat.message reads it for trigger detection (avoids scanning model output).
70
+ const lastUserMessages = new Map();
67
71
  const sessionHooks = createSessionHooks(ctx, coderConfig);
68
72
  const toolHooks = createToolHooks(ctx, coderConfig);
69
73
  const keywordHooks = createKeywordHooks(ctx, coderConfig);
70
74
  const paramsHooks = createParamsHooks(ctx, coderConfig);
75
+ const completionHooks = createCompletionHooks(ctx, coderConfig);
71
76
  const tmuxManager = coderConfig.tmux?.enabled
72
77
  ? new TmuxSessionManager(ctx, coderConfig.tmux, {
73
78
  onLog: (message) => ctx.client.app.log({
@@ -121,10 +126,10 @@ export async function createCoderPlugin(ctx) {
121
126
  });
122
127
  });
123
128
  // Create hooks that need backgroundManager for task reference injection during compaction
124
- const cadenceHooks = createCadenceHooks(ctx, coderConfig, backgroundManager, dbReader);
129
+ const cadenceHooks = createCadenceHooks(ctx, coderConfig, backgroundManager, dbReader, lastUserMessages);
125
130
  // Session memory hooks handle checkpointing and compaction for non-Cadence sessions
126
131
  // Orchestration (deciding which module handles which session) happens below in the hooks
127
- const sessionMemoryHooks = createSessionMemoryHooks(ctx, coderConfig, backgroundManager);
132
+ const sessionMemoryHooks = createSessionMemoryHooks(ctx, coderConfig, backgroundManager, dbReader);
128
133
  const configHandler = createConfigHandler(coderConfig);
129
134
  // Create plugin tools using the @opencode-ai/plugin tool helper
130
135
  const tools = createTools(backgroundManager, dbReader);
@@ -150,11 +155,15 @@ export async function createCoderPlugin(ctx) {
150
155
  ...(tools ? { tool: tools } : {}),
151
156
  config: configHandler,
152
157
  'chat.message': async (input, output) => {
158
+ completionHooks.onMessage(input);
153
159
  await keywordHooks.onMessage(input, output);
154
160
  await sessionHooks.onMessage(input, output);
155
161
  await cadenceHooks.onMessage(input, output);
156
162
  },
157
- 'chat.params': paramsHooks.onParams,
163
+ 'chat.params': async (input, output) => {
164
+ completionHooks.onParams(input);
165
+ await paramsHooks.onParams(input, output);
166
+ },
158
167
  'tool.execute.before': toolHooks.before,
159
168
  'tool.execute.after': toolHooks.after,
160
169
  'shell.env': async (_input, output) => {
@@ -187,15 +196,25 @@ export async function createCoderPlugin(ctx) {
187
196
  }
188
197
  // Orchestrate: route to appropriate module based on session type
189
198
  const sessionId = extractSessionIdFromEvent(input);
190
- if (sessionId && cadenceHooks.isActiveCadenceSession(sessionId)) {
191
- await cadenceHooks.onEvent(input);
192
- }
193
- else if (sessionId) {
194
- // Non-Cadence sessions - handle session.compacted for checkpointing
195
- await sessionMemoryHooks.onEvent(input);
199
+ if (sessionId) {
200
+ // Try lazy restore from KV if not in memory (survives plugin restarts)
201
+ if (!cadenceHooks.isActiveCadenceSession(sessionId)) {
202
+ await cadenceHooks.tryRestoreFromKV(sessionId);
203
+ }
204
+ if (cadenceHooks.isActiveCadenceSession(sessionId)) {
205
+ await cadenceHooks.onEvent(input);
206
+ }
207
+ else {
208
+ // Non-Cadence sessions - handle session.compacted for checkpointing
209
+ await sessionMemoryHooks.onEvent(input);
210
+ }
196
211
  }
197
212
  },
198
213
  'experimental.session.compacting': async (input, output) => {
214
+ // Try lazy restore from KV if not in memory (survives plugin restarts)
215
+ if (!cadenceHooks.isActiveCadenceSession(input.sessionID)) {
216
+ await cadenceHooks.tryRestoreFromKV(input.sessionID);
217
+ }
199
218
  // Orchestrate: route to appropriate module based on session type
200
219
  if (cadenceHooks.isActiveCadenceSession(input.sessionID)) {
201
220
  await cadenceHooks.onCompacting(input, output);
@@ -265,6 +284,15 @@ function createConfigHandler(coderConfig) {
265
284
  },
266
285
  };
267
286
  }
287
+ // Compaction config: increase reserved token buffer to accommodate our enriched
288
+ // compaction prompts (planning state, image descriptions, tool summaries, diagnostics).
289
+ // Default OpenCode reserved buffer is too small for the context we inject.
290
+ const existingCompaction = (config.compaction ?? {});
291
+ const existingReserved = existingCompaction.reserved;
292
+ config.compaction = {
293
+ ...existingCompaction,
294
+ reserved: typeof existingReserved === 'number' ? existingReserved : 40_000,
295
+ };
268
296
  config.command = {
269
297
  ...config.command,
270
298
  ...commands,
@@ -300,6 +328,7 @@ function createAgentConfigs(_config) {
300
328
  ...(agent.reasoningEffort ? { reasoningEffort: agent.reasoningEffort } : {}),
301
329
  ...(agent.thinking ? { thinking: agent.thinking } : {}),
302
330
  ...(agent.hidden ? { hidden: agent.hidden } : {}),
331
+ ...(agent.fallbackModels?.length ? { fallbackModels: agent.fallbackModels } : {}),
303
332
  };
304
333
  }
305
334
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { OpenCodeDBReader } from './reader';
2
- export type { DBMessage, DBPart, DBSession, DBTextPart, DBTodo, DBToolCall, MessageTokens, OpenCodeDBConfig, SessionCostSummary, SessionStatus, SessionSummary, SessionTreeNode, TodoSummary, } from './types';
2
+ export type { CompactionStats, DBMessage, DBNonTextPart, DBPart, DBSession, DBTextPart, DBTodo, DBToolCall, DBToolCallSummary, MessageTokens, OpenCodeDBConfig, PreCompactionSnapshot, SessionCostSummary, SessionStatus, SessionSummary, SessionTreeNode, TodoSummary, } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EACX,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EACX,eAAe,EACf,SAAS,EACT,aAAa,EACb,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,GACX,MAAM,SAAS,CAAC"}
@@ -14,5 +14,6 @@ export declare const QUERIES: {
14
14
  readonly GET_SESSION_COST: "SELECT \n\t\tCOALESCE(SUM(json_extract(data, '$.cost')), 0) as total_cost,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.total')), 0) as total_tokens,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.input')), 0) as input_tokens,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.output')), 0) as output_tokens,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.reasoning')), 0) as reasoning_tokens,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.cache.read')), 0) as cache_read,\n\t\tCOALESCE(SUM(json_extract(data, '$.tokens.cache.write')), 0) as cache_write,\n\t\tCOUNT(*) as message_count\n\t\tFROM message WHERE session_id = ? AND json_valid(data) AND json_extract(data, '$.role') = 'assistant'";
15
15
  readonly SEARCH_SESSIONS: "SELECT id, project_id, parent_id, slug, directory, title, version, share_url, summary_additions, summary_deletions, summary_files, summary_diffs, time_created, time_updated, time_compacting, time_archived FROM session WHERE title LIKE ? COLLATE NOCASE ORDER BY time_updated DESC";
16
16
  readonly SEARCH_SESSIONS_LIMITED: "SELECT id, project_id, parent_id, slug, directory, title, version, share_url, summary_additions, summary_deletions, summary_files, summary_diffs, time_created, time_updated, time_compacting, time_archived FROM session WHERE title LIKE ? COLLATE NOCASE ORDER BY time_updated DESC LIMIT ?";
17
+ readonly GET_NON_TEXT_PARTS: "SELECT * FROM part WHERE session_id = ?\n\t\tAND json_valid(data)\n\t\tAND json_extract(data, '$.type') != 'text'\n\t\tORDER BY time_created DESC LIMIT ?";
17
18
  };
18
19
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/sqlite/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;CAiDV,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/sqlite/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;CAsDV,CAAC"}
@@ -37,5 +37,9 @@ export const QUERIES = {
37
37
  FROM message WHERE session_id = ? AND json_valid(data) AND json_extract(data, '$.role') = 'assistant'`,
38
38
  SEARCH_SESSIONS: `SELECT id, project_id, parent_id, slug, directory, title, version, share_url, summary_additions, summary_deletions, summary_files, summary_diffs, time_created, time_updated, time_compacting, time_archived FROM session WHERE title LIKE ? COLLATE NOCASE ORDER BY time_updated DESC`,
39
39
  SEARCH_SESSIONS_LIMITED: `SELECT id, project_id, parent_id, slug, directory, title, version, share_url, summary_additions, summary_deletions, summary_files, summary_diffs, time_created, time_updated, time_compacting, time_archived FROM session WHERE title LIKE ? COLLATE NOCASE ORDER BY time_updated DESC LIMIT ?`,
40
+ GET_NON_TEXT_PARTS: `SELECT * FROM part WHERE session_id = ?
41
+ AND json_valid(data)
42
+ AND json_extract(data, '$.type') != 'text'
43
+ ORDER BY time_created DESC LIMIT ?`,
40
44
  };
41
45
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/sqlite/queries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,YAAY,EACX,sGAAsG;IAEvG,WAAW,EAAE,oCAAoC;IACjD,kBAAkB,EAAE,sEAAsE;IAC1F,uBAAuB,EAAE,uEAAuE;IAChG,uBAAuB,EAAE;;;;wDAI8B;IAEvD,YAAY,EACX,wFAAwF;IACzF,kBAAkB,EACjB,+EAA+E;IAChF,iBAAiB,EAAE,4DAA4D;IAE/E,gBAAgB,EAAE;;;;6BAIU;IAC5B,gBAAgB,EAAE;;;qCAGkB;IACpC,cAAc,EAAE;;;qCAGoB;IAEpC,SAAS,EAAE,+DAA+D;IAE1E,gBAAgB,EAAE;;;;;;;;;wGASqF;IAEvG,eAAe,EAAE,wRAAwR;IAEzS,uBAAuB,EAAE,gSAAgS;CAChT,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/sqlite/queries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,YAAY,EACX,sGAAsG;IAEvG,WAAW,EAAE,oCAAoC;IACjD,kBAAkB,EAAE,sEAAsE;IAC1F,uBAAuB,EAAE,uEAAuE;IAChG,uBAAuB,EAAE;;;;wDAI8B;IAEvD,YAAY,EACX,wFAAwF;IACzF,kBAAkB,EACjB,+EAA+E;IAChF,iBAAiB,EAAE,4DAA4D;IAE/E,gBAAgB,EAAE;;;;6BAIU;IAC5B,gBAAgB,EAAE;;;qCAGkB;IACpC,cAAc,EAAE;;;qCAGoB;IAEpC,SAAS,EAAE,+DAA+D;IAE1E,gBAAgB,EAAE;;;;;;;;;wGASqF;IAEvG,eAAe,EAAE,wRAAwR;IAEzS,uBAAuB,EAAE,gSAAgS;IAEzT,kBAAkB,EAAE;;;qCAGgB;CAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DBMessage, DBSession, DBTextPart, DBTodo, DBToolCall, OpenCodeDBConfig, SessionCostSummary, SessionStatus, SessionTreeNode } from './types';
1
+ import type { DBMessage, DBNonTextPart, DBSession, DBTextPart, DBTodo, DBToolCall, DBToolCallSummary, OpenCodeDBConfig, SessionCostSummary, SessionStatus, SessionTreeNode } from './types';
2
2
  export declare class OpenCodeDBReader {
3
3
  private db;
4
4
  private available;
@@ -26,6 +26,16 @@ export declare class OpenCodeDBReader {
26
26
  getTextParts(sessionId: string, opts?: {
27
27
  limit?: number;
28
28
  }): DBTextPart[];
29
+ /**
30
+ * Get non-text parts (images, files, tool calls) for a session.
31
+ * Useful for describing attachments during compaction.
32
+ */
33
+ getNonTextParts(sessionId: string): DBNonTextPart[];
34
+ /**
35
+ * Get recent tool calls for a session (newest first).
36
+ * Returns concise summaries for compaction context.
37
+ */
38
+ getRecentToolCalls(sessionId: string, limit?: number): DBToolCallSummary[];
29
39
  getTodos(sessionId: string): DBTodo[];
30
40
  getSessionCost(sessionId: string): SessionCostSummary;
31
41
  getSessionStatus(sessionId: string): SessionStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/sqlite/reader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EAEb,eAAe,EAEf,MAAM,SAAS,CAAC;AAmPjB,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAA8C;gBAEpD,MAAM,CAAC,EAAE,gBAAgB;IAOrC,WAAW,IAAI,OAAO;IAetB,IAAI,IAAI,OAAO;IAiDf,KAAK,IAAI,IAAI;IASb,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAaxC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAa/C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;IAapD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAK/C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAAE;IAgBvF,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAarD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAa1C,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAanD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE;IAe9E,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE;IAexE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAqBrC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAoDrD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IA6BlD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAAE;IAmBrE,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG;QAC7C,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;KAClB;IAQD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,gBAAgB;CA8BxB"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/sqlite/reader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,iBAAiB,EAEjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EAEb,eAAe,EAEf,MAAM,SAAS,CAAC;AAoRjB,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAA8C;gBAEpD,MAAM,CAAC,EAAE,gBAAgB;IAOrC,WAAW,IAAI,OAAO;IAetB,IAAI,IAAI,OAAO;IAiDf,KAAK,IAAI,IAAI;IASb,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAaxC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAa/C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;IAapD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAK/C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAAE;IAgBvF,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAarD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAa1C,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAanD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE;IAe9E,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE;IAexE;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IAanD;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,iBAAiB,EAAE;IAa7E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAqBrC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAoDrD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IA6BlD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAAE;IAmBrE,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG;QAC7C,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;KAClB;IAQD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,gBAAgB;CA8BxB"}