openplanr 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/agents/agent-factory.d.ts +1 -1
  2. package/dist/agents/agent-factory.d.ts.map +1 -1
  3. package/dist/agents/claude-agent.d.ts +8 -3
  4. package/dist/agents/claude-agent.d.ts.map +1 -1
  5. package/dist/agents/claude-agent.js +150 -19
  6. package/dist/agents/claude-agent.js.map +1 -1
  7. package/dist/agents/codex-agent.d.ts +7 -3
  8. package/dist/agents/codex-agent.d.ts.map +1 -1
  9. package/dist/agents/codex-agent.js +96 -19
  10. package/dist/agents/codex-agent.js.map +1 -1
  11. package/dist/agents/cursor-agent.d.ts +3 -2
  12. package/dist/agents/cursor-agent.d.ts.map +1 -1
  13. package/dist/agents/cursor-agent.js +21 -12
  14. package/dist/agents/cursor-agent.js.map +1 -1
  15. package/dist/agents/implementation-bridge.d.ts +9 -0
  16. package/dist/agents/implementation-bridge.d.ts.map +1 -1
  17. package/dist/agents/implementation-bridge.js +90 -28
  18. package/dist/agents/implementation-bridge.js.map +1 -1
  19. package/dist/agents/index.d.ts +4 -3
  20. package/dist/agents/index.d.ts.map +1 -1
  21. package/dist/agents/index.js +3 -2
  22. package/dist/agents/index.js.map +1 -1
  23. package/dist/agents/progress.d.ts +62 -0
  24. package/dist/agents/progress.d.ts.map +1 -0
  25. package/dist/agents/progress.js +155 -0
  26. package/dist/agents/progress.js.map +1 -0
  27. package/dist/agents/prompt-composer.js +2 -2
  28. package/dist/agents/prompt-composer.js.map +1 -1
  29. package/dist/agents/task-parser.js +1 -1
  30. package/dist/agents/task-parser.js.map +1 -1
  31. package/dist/agents/types.d.ts +2 -0
  32. package/dist/agents/types.d.ts.map +1 -1
  33. package/dist/agents/utils.d.ts +4 -0
  34. package/dist/agents/utils.d.ts.map +1 -1
  35. package/dist/agents/utils.js +23 -0
  36. package/dist/agents/utils.js.map +1 -1
  37. package/dist/ai/codebase/context-builder.d.ts.map +1 -1
  38. package/dist/ai/codebase/context-builder.js +3 -3
  39. package/dist/ai/codebase/context-builder.js.map +1 -1
  40. package/dist/ai/codebase/file-reader.d.ts.map +1 -1
  41. package/dist/ai/codebase/file-reader.js +39 -10
  42. package/dist/ai/codebase/file-reader.js.map +1 -1
  43. package/dist/ai/codebase/index.d.ts +2 -2
  44. package/dist/ai/codebase/index.d.ts.map +1 -1
  45. package/dist/ai/codebase/index.js +2 -2
  46. package/dist/ai/codebase/index.js.map +1 -1
  47. package/dist/ai/codebase/stack-detector.d.ts.map +1 -1
  48. package/dist/ai/codebase/stack-detector.js +42 -19
  49. package/dist/ai/codebase/stack-detector.js.map +1 -1
  50. package/dist/ai/codebase/tree-generator.d.ts.map +1 -1
  51. package/dist/ai/codebase/tree-generator.js +3 -7
  52. package/dist/ai/codebase/tree-generator.js.map +1 -1
  53. package/dist/ai/errors.d.ts.map +1 -1
  54. package/dist/ai/errors.js.map +1 -1
  55. package/dist/ai/index.d.ts +2 -2
  56. package/dist/ai/index.d.ts.map +1 -1
  57. package/dist/ai/index.js +1 -1
  58. package/dist/ai/index.js.map +1 -1
  59. package/dist/ai/prompts/prompt-builder.d.ts.map +1 -1
  60. package/dist/ai/prompts/prompt-builder.js +1 -1
  61. package/dist/ai/prompts/prompt-builder.js.map +1 -1
  62. package/dist/ai/provider-factory.d.ts.map +1 -1
  63. package/dist/ai/provider-factory.js.map +1 -1
  64. package/dist/ai/providers/anthropic-provider.d.ts +1 -1
  65. package/dist/ai/providers/anthropic-provider.d.ts.map +1 -1
  66. package/dist/ai/providers/anthropic-provider.js +6 -4
  67. package/dist/ai/providers/anthropic-provider.js.map +1 -1
  68. package/dist/ai/providers/openai-provider.d.ts +1 -1
  69. package/dist/ai/providers/openai-provider.d.ts.map +1 -1
  70. package/dist/ai/providers/openai-provider.js +10 -2
  71. package/dist/ai/providers/openai-provider.js.map +1 -1
  72. package/dist/ai/schemas/ai-response-schemas.d.ts.map +1 -1
  73. package/dist/ai/schemas/ai-response-schemas.js +7 -1
  74. package/dist/ai/schemas/ai-response-schemas.js.map +1 -1
  75. package/dist/ai/types.d.ts +18 -0
  76. package/dist/ai/types.d.ts.map +1 -1
  77. package/dist/ai/types.js +19 -0
  78. package/dist/ai/types.js.map +1 -1
  79. package/dist/cli/commands/checklist.d.ts +1 -1
  80. package/dist/cli/commands/checklist.d.ts.map +1 -1
  81. package/dist/cli/commands/checklist.js +2 -2
  82. package/dist/cli/commands/checklist.js.map +1 -1
  83. package/dist/cli/commands/config.d.ts +1 -1
  84. package/dist/cli/commands/config.d.ts.map +1 -1
  85. package/dist/cli/commands/config.js +15 -8
  86. package/dist/cli/commands/config.js.map +1 -1
  87. package/dist/cli/commands/epic.d.ts +1 -1
  88. package/dist/cli/commands/epic.d.ts.map +1 -1
  89. package/dist/cli/commands/epic.js +13 -10
  90. package/dist/cli/commands/epic.js.map +1 -1
  91. package/dist/cli/commands/feature.d.ts +1 -1
  92. package/dist/cli/commands/feature.d.ts.map +1 -1
  93. package/dist/cli/commands/feature.js +9 -6
  94. package/dist/cli/commands/feature.js.map +1 -1
  95. package/dist/cli/commands/init.d.ts +1 -1
  96. package/dist/cli/commands/init.d.ts.map +1 -1
  97. package/dist/cli/commands/init.js +8 -5
  98. package/dist/cli/commands/init.js.map +1 -1
  99. package/dist/cli/commands/plan.d.ts +1 -1
  100. package/dist/cli/commands/plan.d.ts.map +1 -1
  101. package/dist/cli/commands/plan.js +26 -14
  102. package/dist/cli/commands/plan.js.map +1 -1
  103. package/dist/cli/commands/refine.d.ts +1 -1
  104. package/dist/cli/commands/refine.d.ts.map +1 -1
  105. package/dist/cli/commands/refine.js +10 -9
  106. package/dist/cli/commands/refine.js.map +1 -1
  107. package/dist/cli/commands/rules.d.ts +1 -1
  108. package/dist/cli/commands/rules.d.ts.map +1 -1
  109. package/dist/cli/commands/rules.js +3 -3
  110. package/dist/cli/commands/rules.js.map +1 -1
  111. package/dist/cli/commands/status.d.ts +1 -1
  112. package/dist/cli/commands/status.d.ts.map +1 -1
  113. package/dist/cli/commands/status.js +5 -5
  114. package/dist/cli/commands/status.js.map +1 -1
  115. package/dist/cli/commands/story.d.ts +1 -1
  116. package/dist/cli/commands/story.d.ts.map +1 -1
  117. package/dist/cli/commands/story.js +10 -7
  118. package/dist/cli/commands/story.js.map +1 -1
  119. package/dist/cli/commands/sync.d.ts +1 -1
  120. package/dist/cli/commands/sync.d.ts.map +1 -1
  121. package/dist/cli/commands/sync.js +3 -3
  122. package/dist/cli/commands/sync.js.map +1 -1
  123. package/dist/cli/commands/task.d.ts +1 -1
  124. package/dist/cli/commands/task.d.ts.map +1 -1
  125. package/dist/cli/commands/task.js +63 -9
  126. package/dist/cli/commands/task.js.map +1 -1
  127. package/dist/cli/index.js +7 -7
  128. package/dist/cli/index.js.map +1 -1
  129. package/dist/generators/base-generator.d.ts +1 -1
  130. package/dist/generators/base-generator.d.ts.map +1 -1
  131. package/dist/generators/base-generator.js.map +1 -1
  132. package/dist/generators/claude-generator.d.ts +2 -2
  133. package/dist/generators/claude-generator.d.ts.map +1 -1
  134. package/dist/generators/claude-generator.js +3 -3
  135. package/dist/generators/claude-generator.js.map +1 -1
  136. package/dist/generators/codex-generator.d.ts +2 -2
  137. package/dist/generators/codex-generator.d.ts.map +1 -1
  138. package/dist/generators/codex-generator.js +2 -2
  139. package/dist/generators/codex-generator.js.map +1 -1
  140. package/dist/generators/cursor-generator.d.ts +1 -1
  141. package/dist/generators/cursor-generator.d.ts.map +1 -1
  142. package/dist/generators/cursor-generator.js +1 -1
  143. package/dist/generators/cursor-generator.js.map +1 -1
  144. package/dist/generators/generator-factory.d.ts +1 -1
  145. package/dist/generators/generator-factory.d.ts.map +1 -1
  146. package/dist/generators/generator-factory.js +1 -1
  147. package/dist/generators/generator-factory.js.map +1 -1
  148. package/dist/services/ai-service.d.ts +8 -8
  149. package/dist/services/ai-service.d.ts.map +1 -1
  150. package/dist/services/ai-service.js +89 -60
  151. package/dist/services/ai-service.js.map +1 -1
  152. package/dist/services/artifact-gathering.d.ts.map +1 -1
  153. package/dist/services/artifact-gathering.js +3 -3
  154. package/dist/services/artifact-gathering.js.map +1 -1
  155. package/dist/services/artifact-service.d.ts +1 -1
  156. package/dist/services/artifact-service.d.ts.map +1 -1
  157. package/dist/services/artifact-service.js +3 -3
  158. package/dist/services/artifact-service.js.map +1 -1
  159. package/dist/services/checklist-service.d.ts.map +1 -1
  160. package/dist/services/checklist-service.js.map +1 -1
  161. package/dist/services/config-service.d.ts.map +1 -1
  162. package/dist/services/config-service.js +2 -2
  163. package/dist/services/config-service.js.map +1 -1
  164. package/dist/services/credential-backends.d.ts +41 -0
  165. package/dist/services/credential-backends.d.ts.map +1 -0
  166. package/dist/services/credential-backends.js +208 -0
  167. package/dist/services/credential-backends.js.map +1 -0
  168. package/dist/services/credentials-service.d.ts +38 -14
  169. package/dist/services/credentials-service.d.ts.map +1 -1
  170. package/dist/services/credentials-service.js +132 -42
  171. package/dist/services/credentials-service.js.map +1 -1
  172. package/dist/services/id-service.d.ts.map +1 -1
  173. package/dist/services/id-service.js.map +1 -1
  174. package/dist/services/prompt-service.js +1 -1
  175. package/dist/services/prompt-service.js.map +1 -1
  176. package/dist/services/template-service.js +1 -1
  177. package/dist/services/template-service.js.map +1 -1
  178. package/dist/utils/error-context.d.ts +23 -0
  179. package/dist/utils/error-context.d.ts.map +1 -0
  180. package/dist/utils/error-context.js +94 -0
  181. package/dist/utils/error-context.js.map +1 -0
  182. package/dist/utils/fs.d.ts.map +1 -1
  183. package/dist/utils/fs.js +7 -3
  184. package/dist/utils/fs.js.map +1 -1
  185. package/dist/utils/logger.js +2 -2
  186. package/dist/utils/logger.js.map +1 -1
  187. package/package.json +7 -2
@@ -9,12 +9,12 @@
9
9
  * 5. Compose the implementation prompt
10
10
  * 6. Dispatch to the configured coding agent
11
11
  */
12
- import { readArtifact, readArtifactRaw, getParentChain, } from '../services/artifact-service.js';
12
+ import chalk from 'chalk';
13
+ import { getParentChain, readArtifact, readArtifactRaw } from '../services/artifact-service.js';
14
+ import { logger } from '../utils/logger.js';
13
15
  import { createAgent } from './agent-factory.js';
14
- import { parseTaskMarkdown, findSubtasks, getNextPending, formatSubtaskList } from './task-parser.js';
15
16
  import { composeImplementationPrompt } from './prompt-composer.js';
16
- import { logger } from '../utils/logger.js';
17
- import chalk from 'chalk';
17
+ import { findSubtasks, formatSubtaskList, getNextPending, parseTaskMarkdown, } from './task-parser.js';
18
18
  export async function executeImplementation(projectDir, config, taskId, opts) {
19
19
  // 1. Read the task artifact
20
20
  const taskData = await readArtifact(projectDir, config, 'task', taskId);
@@ -22,7 +22,6 @@ export async function executeImplementation(projectDir, config, taskId, opts) {
22
22
  logger.error(`Task list ${taskId} not found.`);
23
23
  process.exit(1);
24
24
  }
25
- const taskRaw = await readArtifactRaw(projectDir, config, 'task', taskId);
26
25
  logger.heading(`Implement: ${taskId}`);
27
26
  // 2. Parse subtasks
28
27
  const allSubtasks = parseTaskMarkdown(taskData.content);
@@ -64,58 +63,49 @@ export async function executeImplementation(projectDir, config, taskId, opts) {
64
63
  // 4. Gather parent chain context
65
64
  logger.info('Preparing implementation context...');
66
65
  const parents = await getParentChain(projectDir, config, 'task', taskId);
66
+ logger.success(`Read ${taskId} (${allSubtasks.length} subtasks)`);
67
67
  let storyContent;
68
68
  let featureContent;
69
69
  let epicContent;
70
70
  const storyId = taskData.data.storyId;
71
71
  if (storyId) {
72
72
  storyContent = (await readArtifactRaw(projectDir, config, 'story', storyId)) || undefined;
73
- logger.debug(`Read parent story ${storyId}`);
73
+ if (storyContent)
74
+ logger.success(`Read parent story (${storyId})`);
74
75
  }
75
76
  if (parents.feature) {
76
77
  const featureId = parents.story?.data?.featureId;
77
78
  if (featureId) {
78
- featureContent = (await readArtifactRaw(projectDir, config, 'feature', featureId)) || undefined;
79
- logger.debug(`Read parent feature ${featureId}`);
79
+ featureContent =
80
+ (await readArtifactRaw(projectDir, config, 'feature', featureId)) || undefined;
81
+ if (featureContent)
82
+ logger.success(`Read parent feature (${featureId})`);
80
83
  }
81
84
  }
82
85
  if (parents.epic) {
83
86
  const epicId = parents.feature?.data?.epicId;
84
87
  if (epicId) {
85
88
  epicContent = (await readArtifactRaw(projectDir, config, 'epic', epicId)) || undefined;
86
- logger.debug(`Read parent epic ${epicId}`);
89
+ if (epicContent)
90
+ logger.success(`Read parent epic (${epicId})`);
87
91
  }
88
92
  }
89
93
  // 5. Build codebase context
90
- logger.debug('Scanning codebase...');
91
94
  let codebaseContext;
92
95
  try {
93
96
  const { buildCodebaseContext, formatCodebaseContext, extractKeywords } = await import('../ai/codebase/index.js');
94
- const textToAnalyze = [
95
- taskData.content,
96
- storyContent || '',
97
- featureContent || '',
98
- ].join(' ');
97
+ const textToAnalyze = [taskData.content, storyContent || '', featureContent || ''].join(' ');
99
98
  const keywords = extractKeywords(textToAnalyze);
100
99
  const ctx = await buildCodebaseContext(projectDir, keywords);
101
100
  codebaseContext = formatCodebaseContext(ctx);
102
- if (ctx.techStack) {
103
- logger.debug(`Stack: ${ctx.techStack.language}${ctx.techStack.framework ? ' + ' + ctx.techStack.framework : ''}`);
104
- }
101
+ const stackInfo = ctx.techStack
102
+ ? ` ${ctx.techStack.language}${ctx.techStack.framework ? ` + ${ctx.techStack.framework}` : ''}`
103
+ : '';
104
+ logger.success(`Scanned codebase${stackInfo}`);
105
105
  }
106
106
  catch {
107
107
  // Codebase scanning is best-effort
108
108
  }
109
- // Show context summary
110
- logger.success(`Read ${taskId} (${allSubtasks.length} subtasks)`);
111
- if (storyContent)
112
- logger.success(`Read parent story`);
113
- if (featureContent)
114
- logger.success(`Read parent feature`);
115
- if (epicContent)
116
- logger.success(`Read parent epic`);
117
- if (codebaseContext)
118
- logger.success(`Scanned codebase`);
119
109
  // 6. Compose prompt
120
110
  const prompt = composeImplementationPrompt({
121
111
  taskId,
@@ -153,6 +143,7 @@ export async function executeImplementation(projectDir, config, taskId, opts) {
153
143
  logger.dim('Or use --dry-run to see the prompt without executing.');
154
144
  return;
155
145
  }
146
+ logger.dim(`Prompt: ${prompt.length.toLocaleString()} chars (~${Math.ceil(prompt.length / 4).toLocaleString()} tokens)`);
156
147
  logger.heading(`Launching ${agentName}...`);
157
148
  console.log(chalk.dim('━'.repeat(60)));
158
149
  const result = await agent.execute(prompt, {
@@ -163,9 +154,80 @@ export async function executeImplementation(projectDir, config, taskId, opts) {
163
154
  console.log(chalk.dim('━'.repeat(60)));
164
155
  if (result.exitCode === 0) {
165
156
  logger.success(`${agentName} completed successfully.`);
157
+ logger.dim('');
158
+ logger.dim('If something needs fixing, run:');
159
+ logger.dim(' planr task fix "describe the issue"');
160
+ logger.dim(' make build 2>&1 | planr task fix');
161
+ }
162
+ else {
163
+ logger.warn(`${agentName} exited with code ${result.exitCode}.`);
164
+ }
165
+ }
166
+ /**
167
+ * Send a follow-up message to the coding agent, continuing the
168
+ * previous session. This is the feedback loop for fixing issues
169
+ * found after implementation.
170
+ */
171
+ export async function executeFollowUp(projectDir, config, message, opts) {
172
+ logger.heading('Fix / Follow-up');
173
+ // Compose a focused fix prompt
174
+ const prompt = composeFixPrompt(message);
175
+ logger.dim(`Prompt: ${prompt.length.toLocaleString()} chars (~${Math.ceil(prompt.length / 4).toLocaleString()} tokens)`);
176
+ const agentName = (opts.agent || config.defaultAgent || 'claude');
177
+ const agent = await createAgent(agentName);
178
+ const available = await agent.isAvailable();
179
+ if (!available) {
180
+ logger.error(`Coding agent "${agentName}" is not available.`);
181
+ return;
182
+ }
183
+ logger.heading(`Continuing ${agentName} session...`);
184
+ console.log(chalk.dim('━'.repeat(60)));
185
+ const result = await agent.execute(prompt, {
186
+ cwd: projectDir,
187
+ stream: true,
188
+ dryRun: false,
189
+ continueSession: true,
190
+ });
191
+ console.log(chalk.dim('━'.repeat(60)));
192
+ if (result.exitCode === 0) {
193
+ logger.success(`${agentName} completed fix successfully.`);
194
+ logger.dim('');
195
+ logger.dim('Still broken? Run planr task fix again with the new error.');
166
196
  }
167
197
  else {
168
198
  logger.warn(`${agentName} exited with code ${result.exitCode}.`);
169
199
  }
170
200
  }
201
+ /**
202
+ * Compose a follow-up prompt that includes the error/issue context
203
+ * and clear instructions to fix the previously implemented code.
204
+ */
205
+ function composeFixPrompt(userMessage) {
206
+ const sections = [];
207
+ sections.push('# Fix Required\n');
208
+ sections.push('The previously implemented code has an issue that needs fixing.\n');
209
+ // Detect if the message looks like error output (long, has stack traces, etc.)
210
+ const isErrorOutput = userMessage.length > 200 ||
211
+ userMessage.includes('Error:') ||
212
+ userMessage.includes('error:') ||
213
+ userMessage.includes('FAIL') ||
214
+ userMessage.includes('exit code');
215
+ if (isErrorOutput) {
216
+ sections.push('## Error Output\n');
217
+ sections.push('```');
218
+ sections.push(userMessage.trim());
219
+ sections.push('```');
220
+ }
221
+ else {
222
+ sections.push('## Issue Description\n');
223
+ sections.push(userMessage.trim());
224
+ }
225
+ sections.push('\n## Instructions\n');
226
+ sections.push('1. Analyze the error/issue above.');
227
+ sections.push('2. Identify the root cause in the code you previously created.');
228
+ sections.push('3. Fix ONLY what is needed — do not rewrite unrelated code.');
229
+ sections.push('4. Verify the fix addresses the reported issue.');
230
+ sections.push('5. If the error involves missing dependencies, use compatible versions.');
231
+ return sections.join('\n');
232
+ }
171
233
  //# sourceMappingURL=implementation-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementation-bridge.js","sourceRoot":"","sources":["../../src/agents/implementation-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation-bridge.js","sourceRoot":"","sources":["../../src/agents/implementation-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- export type { CodingAgent, AgentOptions, AgentResult } from './types.js';
2
1
  export { createAgent } from './agent-factory.js';
3
- export { parseTaskMarkdown, findSubtasks, getNextPending } from './task-parser.js';
2
+ export { executeFollowUp, executeImplementation } from './implementation-bridge.js';
3
+ export { createProgressSpinner, describeActivity } from './progress.js';
4
4
  export { composeImplementationPrompt } from './prompt-composer.js';
5
- export { executeImplementation } from './implementation-bridge.js';
5
+ export { findSubtasks, getNextPending, parseTaskMarkdown } from './task-parser.js';
6
+ export type { AgentOptions, AgentResult, CodingAgent } from './types.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { createAgent } from './agent-factory.js';
2
- export { parseTaskMarkdown, findSubtasks, getNextPending } from './task-parser.js';
2
+ export { executeFollowUp, executeImplementation } from './implementation-bridge.js';
3
+ export { createProgressSpinner, describeActivity } from './progress.js';
3
4
  export { composeImplementationPrompt } from './prompt-composer.js';
4
- export { executeImplementation } from './implementation-bridge.js';
5
+ export { findSubtasks, getNextPending, parseTaskMarkdown } from './task-parser.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Progress display for coding agent execution.
3
+ *
4
+ * Provides a dynamic spinner with rotating messages, elapsed time,
5
+ * and real-time activity updates parsed from Claude's stream-json events.
6
+ * Extracted as a shared module so any agent adapter can reuse it.
7
+ */
8
+ export interface ProgressSpinner {
9
+ /** Update the spinner with a specific tool-activity message */
10
+ setActivity(msg: string): void;
11
+ /** Stop the spinner and clear the line */
12
+ stop(): void;
13
+ }
14
+ export declare function formatElapsed(seconds: number): string;
15
+ /**
16
+ * Create a dynamic progress spinner that:
17
+ * - Rotates through varied waiting messages every 8 seconds
18
+ * - Switches to a specific activity when `setActivity()` is called
19
+ * - Always shows elapsed time
20
+ */
21
+ export declare function createProgressSpinner(): ProgressSpinner;
22
+ /** Minimal shape of the Claude stream-json events we need */
23
+ export interface StreamEvent {
24
+ type: string;
25
+ message?: {
26
+ content?: Array<{
27
+ type: string;
28
+ name?: string;
29
+ input?: Record<string, unknown>;
30
+ }>;
31
+ };
32
+ result?: string;
33
+ }
34
+ /**
35
+ * Parse a stream-json event into a human-readable activity description.
36
+ * Returns `null` for events that don't represent a notable tool action.
37
+ */
38
+ export declare function describeActivity(event: StreamEvent): string | null;
39
+ /** Minimal shape of Codex exec --json events */
40
+ export interface CodexEvent {
41
+ type: string;
42
+ item?: {
43
+ id?: string;
44
+ type?: string;
45
+ text?: string;
46
+ command?: string;
47
+ aggregated_output?: string;
48
+ exit_code?: number | null;
49
+ status?: string;
50
+ };
51
+ usage?: {
52
+ input_tokens?: number;
53
+ cached_input_tokens?: number;
54
+ output_tokens?: number;
55
+ };
56
+ }
57
+ /**
58
+ * Parse a Codex JSONL event into a human-readable activity description.
59
+ * Returns `null` for events that don't represent a notable action.
60
+ */
61
+ export declare function describeCodexActivity(event: CodexEvent): string | null;
62
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/agents/progress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAwCvD;AAMD,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CA8BlE;AAaD,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA6BtE"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Progress display for coding agent execution.
3
+ *
4
+ * Provides a dynamic spinner with rotating messages, elapsed time,
5
+ * and real-time activity updates parsed from Claude's stream-json events.
6
+ * Extracted as a shared module so any agent adapter can reuse it.
7
+ */
8
+ import chalk from 'chalk';
9
+ // ---------------------------------------------------------------------------
10
+ // Spinner
11
+ // ---------------------------------------------------------------------------
12
+ const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
13
+ const WAITING_MESSAGES = [
14
+ 'Warming up...',
15
+ 'Analyzing the task...',
16
+ 'Planning implementation...',
17
+ 'Thinking about the approach...',
18
+ 'Working on it...',
19
+ 'Crafting the solution...',
20
+ 'Reviewing the codebase...',
21
+ 'Preparing changes...',
22
+ 'Designing the architecture...',
23
+ 'Almost ready...',
24
+ 'Putting it all together...',
25
+ 'Fine-tuning the details...',
26
+ 'Working through the requirements...',
27
+ 'Building the implementation...',
28
+ 'Connecting the pieces...',
29
+ ];
30
+ /** How often to rotate the generic waiting message (ms) */
31
+ const MESSAGE_ROTATE_MS = 8000;
32
+ export function formatElapsed(seconds) {
33
+ if (seconds < 60)
34
+ return `${seconds}s`;
35
+ const m = Math.floor(seconds / 60);
36
+ const s = seconds % 60;
37
+ return `${m}m${s > 0 ? ` ${s}s` : ''}`;
38
+ }
39
+ /**
40
+ * Create a dynamic progress spinner that:
41
+ * - Rotates through varied waiting messages every 8 seconds
42
+ * - Switches to a specific activity when `setActivity()` is called
43
+ * - Always shows elapsed time
44
+ */
45
+ export function createProgressSpinner() {
46
+ let frameIndex = 0;
47
+ let messageIndex = 0;
48
+ let currentActivity = '';
49
+ let lastMessageChange = Date.now();
50
+ const startTime = Date.now();
51
+ const write = () => {
52
+ const frame = chalk.cyan(SPINNER_FRAMES[frameIndex % SPINNER_FRAMES.length]);
53
+ const elapsed = Math.floor((Date.now() - startTime) / 1000);
54
+ const timeStr = chalk.dim(`(${formatElapsed(elapsed)})`);
55
+ let msg;
56
+ if (currentActivity) {
57
+ msg = currentActivity;
58
+ }
59
+ else {
60
+ const now = Date.now();
61
+ if (now - lastMessageChange > MESSAGE_ROTATE_MS) {
62
+ messageIndex = (messageIndex + 1) % WAITING_MESSAGES.length;
63
+ lastMessageChange = now;
64
+ }
65
+ msg = WAITING_MESSAGES[messageIndex];
66
+ }
67
+ process.stderr.write(`\r\x1b[K${frame} ${chalk.dim(msg)} ${timeStr}`);
68
+ frameIndex++;
69
+ };
70
+ write();
71
+ const interval = setInterval(write, 80);
72
+ return {
73
+ setActivity(msg) {
74
+ currentActivity = msg;
75
+ },
76
+ stop() {
77
+ clearInterval(interval);
78
+ process.stderr.write('\r\x1b[K');
79
+ },
80
+ };
81
+ }
82
+ /**
83
+ * Parse a stream-json event into a human-readable activity description.
84
+ * Returns `null` for events that don't represent a notable tool action.
85
+ */
86
+ export function describeActivity(event) {
87
+ if (event.type !== 'assistant' || !event.message?.content)
88
+ return null;
89
+ for (const block of event.message.content) {
90
+ if (block.type !== 'tool_use')
91
+ continue;
92
+ const input = block.input;
93
+ switch (block.name) {
94
+ case 'Write':
95
+ return `Creating ${shortPath(input?.file_path)}`;
96
+ case 'Edit':
97
+ return `Editing ${shortPath(input?.file_path)}`;
98
+ case 'Read':
99
+ return `Reading ${shortPath(input?.file_path)}`;
100
+ case 'Bash': {
101
+ const cmd = input?.command || '';
102
+ const firstLine = cmd.split('\n')[0] || 'command';
103
+ const display = firstLine.length > 80 ? `${firstLine.slice(0, 77)}...` : firstLine;
104
+ return `$ ${display}`;
105
+ }
106
+ case 'Glob':
107
+ return 'Searching files...';
108
+ case 'Grep':
109
+ return 'Searching code...';
110
+ default:
111
+ return `Using ${block.name}...`;
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ /** Shorten a file path to its last two segments for display */
117
+ function shortPath(filePath) {
118
+ if (!filePath)
119
+ return 'file';
120
+ const parts = filePath.split('/');
121
+ return parts.length > 2 ? parts.slice(-2).join('/') : filePath;
122
+ }
123
+ /**
124
+ * Parse a Codex JSONL event into a human-readable activity description.
125
+ * Returns `null` for events that don't represent a notable action.
126
+ */
127
+ export function describeCodexActivity(event) {
128
+ if (!event.item)
129
+ return null;
130
+ if (event.type === 'item.started' && event.item.type === 'command_execution') {
131
+ const cmd = event.item.command || '';
132
+ // Strip the shell wrapper (e.g., `/bin/zsh -lc "..."`)
133
+ const inner = cmd.replace(/^\/bin\/\w+\s+-\w+\s+/, '').replace(/^["']|["']$/g, '');
134
+ const firstLine = inner.split('\n')[0] || 'command';
135
+ const display = firstLine.length > 80 ? `${firstLine.slice(0, 77)}...` : firstLine;
136
+ return `$ ${display}`;
137
+ }
138
+ if (event.type === 'item.completed' && event.item.type === 'command_execution') {
139
+ const code = event.item.exit_code;
140
+ if (code !== null && code !== undefined && code !== 0) {
141
+ return `Command exited with code ${code}`;
142
+ }
143
+ return null; // Successful command completion — already shown at start
144
+ }
145
+ if (event.type === 'item.completed' && event.item.type === 'agent_message') {
146
+ const text = event.item.text || '';
147
+ // Show a brief preview of what the agent is saying
148
+ const firstLine = text.split('\n')[0] || '';
149
+ if (firstLine.length > 80)
150
+ return `${firstLine.slice(0, 77)}...`;
151
+ return firstLine || null;
152
+ }
153
+ return null;
154
+ }
155
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/agents/progress.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export function composeImplementationPrompt(ctx) {
39
39
  // Full task list (shows what's done and what's pending)
40
40
  sections.push('\n## Full Task List\n');
41
41
  sections.push('```');
42
- const targetIds = new Set(ctx.targetSubtasks.map((t) => t.id));
42
+ const _targetIds = new Set(ctx.targetSubtasks.map((t) => t.id));
43
43
  const firstTargetId = ctx.targetSubtasks[0]?.id;
44
44
  sections.push(formatSubtaskList(ctx.allSubtasks, firstTargetId));
45
45
  sections.push('```');
@@ -76,6 +76,6 @@ export function composeImplementationPrompt(ctx) {
76
76
  function truncate(text, maxChars) {
77
77
  if (text.length <= maxChars)
78
78
  return text;
79
- return text.slice(0, maxChars) + '\n\n... (truncated)';
79
+ return `${text.slice(0, maxChars)}\n\n... (truncated)`;
80
80
  }
81
81
  //# sourceMappingURL=prompt-composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-composer.js","sourceRoot":"","sources":["../../src/agents/prompt-composer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-composer.js","sourceRoot":"","sources":["../../src/agents/prompt-composer.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export function findSubtasks(tasks, query) {
53
53
  const isGroup = query.endsWith('.0');
54
54
  if (isGroup) {
55
55
  const groupNum = query.split('.')[0];
56
- return tasks.filter((t) => t.id.startsWith(groupNum + '.'));
56
+ return tasks.filter((t) => t.id.startsWith(`${groupNum}.`));
57
57
  }
58
58
  return exactMatch;
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-parser.js","sourceRoot":"","sources":["../../src/agents/task-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-parser.js","sourceRoot":"","sources":["../../src/agents/task-parser.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface AgentOptions {
8
8
  cwd: string;
9
9
  stream: boolean;
10
10
  dryRun: boolean;
11
+ /** Continue a previous session instead of starting fresh */
12
+ continueSession?: boolean;
11
13
  }
12
14
  export interface AgentResult {
13
15
  output: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uEAAuE;IACvE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACtE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uEAAuE;IACvE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACtE"}
@@ -6,4 +6,8 @@
6
6
  * Returns the path to the command or null.
7
7
  */
8
8
  export declare function which(command: string): Promise<string | null>;
9
+ export declare const MAX_RETRIES = 2;
10
+ export declare const RETRY_DELAY_MS = 3000;
11
+ export declare function isRetryableError(stderr: string): boolean;
12
+ export declare function sleep(ms: number): Promise<void>;
9
13
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/agents/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQnE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/agents/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQnE;AAMD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,cAAc,OAAO,CAAC;AAcnC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -18,4 +18,27 @@ export async function which(command) {
18
18
  return null;
19
19
  }
20
20
  }
21
+ // ---------------------------------------------------------------------------
22
+ // Retry helpers (shared across agent adapters)
23
+ // ---------------------------------------------------------------------------
24
+ export const MAX_RETRIES = 2;
25
+ export const RETRY_DELAY_MS = 3000;
26
+ /** Patterns in stderr that indicate a transient/retryable API error */
27
+ const RETRYABLE_PATTERNS = [
28
+ 'tool use concurrency',
29
+ 'overloaded',
30
+ '429',
31
+ '500',
32
+ '503',
33
+ 'rate limit',
34
+ 'econnreset',
35
+ 'socket hang up',
36
+ ];
37
+ export function isRetryableError(stderr) {
38
+ const lower = stderr.toLowerCase();
39
+ return RETRYABLE_PATTERNS.some((p) => lower.includes(p));
40
+ }
41
+ export function sleep(ms) {
42
+ return new Promise((resolve) => setTimeout(resolve, ms));
43
+ }
21
44
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/agents/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/agents/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,uEAAuE;AACvE,MAAM,kBAAkB,GAAG;IACzB,sBAAsB;IACtB,YAAY;IACZ,KAAK;IACL,KAAK;IACL,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,gBAAgB;CACjB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/ai/codebase/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMvF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAM,EAAO,GACtB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAwClE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BzD"}
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/ai/codebase/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKvF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAM,EAAO,GACtB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAwClE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BzD"}