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.
- package/dist/agents/agent-factory.d.ts +1 -1
- package/dist/agents/agent-factory.d.ts.map +1 -1
- package/dist/agents/claude-agent.d.ts +8 -3
- package/dist/agents/claude-agent.d.ts.map +1 -1
- package/dist/agents/claude-agent.js +150 -19
- package/dist/agents/claude-agent.js.map +1 -1
- package/dist/agents/codex-agent.d.ts +7 -3
- package/dist/agents/codex-agent.d.ts.map +1 -1
- package/dist/agents/codex-agent.js +96 -19
- package/dist/agents/codex-agent.js.map +1 -1
- package/dist/agents/cursor-agent.d.ts +3 -2
- package/dist/agents/cursor-agent.d.ts.map +1 -1
- package/dist/agents/cursor-agent.js +21 -12
- package/dist/agents/cursor-agent.js.map +1 -1
- package/dist/agents/implementation-bridge.d.ts +9 -0
- package/dist/agents/implementation-bridge.d.ts.map +1 -1
- package/dist/agents/implementation-bridge.js +90 -28
- package/dist/agents/implementation-bridge.js.map +1 -1
- package/dist/agents/index.d.ts +4 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +3 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/progress.d.ts +62 -0
- package/dist/agents/progress.d.ts.map +1 -0
- package/dist/agents/progress.js +155 -0
- package/dist/agents/progress.js.map +1 -0
- package/dist/agents/prompt-composer.js +2 -2
- package/dist/agents/prompt-composer.js.map +1 -1
- package/dist/agents/task-parser.js +1 -1
- package/dist/agents/task-parser.js.map +1 -1
- package/dist/agents/types.d.ts +2 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/utils.d.ts +4 -0
- package/dist/agents/utils.d.ts.map +1 -1
- package/dist/agents/utils.js +23 -0
- package/dist/agents/utils.js.map +1 -1
- package/dist/ai/codebase/context-builder.d.ts.map +1 -1
- package/dist/ai/codebase/context-builder.js +3 -3
- package/dist/ai/codebase/context-builder.js.map +1 -1
- package/dist/ai/codebase/file-reader.d.ts.map +1 -1
- package/dist/ai/codebase/file-reader.js +39 -10
- package/dist/ai/codebase/file-reader.js.map +1 -1
- package/dist/ai/codebase/index.d.ts +2 -2
- package/dist/ai/codebase/index.d.ts.map +1 -1
- package/dist/ai/codebase/index.js +2 -2
- package/dist/ai/codebase/index.js.map +1 -1
- package/dist/ai/codebase/stack-detector.d.ts.map +1 -1
- package/dist/ai/codebase/stack-detector.js +42 -19
- package/dist/ai/codebase/stack-detector.js.map +1 -1
- package/dist/ai/codebase/tree-generator.d.ts.map +1 -1
- package/dist/ai/codebase/tree-generator.js +3 -7
- package/dist/ai/codebase/tree-generator.js.map +1 -1
- package/dist/ai/errors.d.ts.map +1 -1
- package/dist/ai/errors.js.map +1 -1
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/prompts/prompt-builder.d.ts.map +1 -1
- package/dist/ai/prompts/prompt-builder.js +1 -1
- package/dist/ai/prompts/prompt-builder.js.map +1 -1
- package/dist/ai/provider-factory.d.ts.map +1 -1
- package/dist/ai/provider-factory.js.map +1 -1
- package/dist/ai/providers/anthropic-provider.d.ts +1 -1
- package/dist/ai/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/ai/providers/anthropic-provider.js +6 -4
- package/dist/ai/providers/anthropic-provider.js.map +1 -1
- package/dist/ai/providers/openai-provider.d.ts +1 -1
- package/dist/ai/providers/openai-provider.d.ts.map +1 -1
- package/dist/ai/providers/openai-provider.js +10 -2
- package/dist/ai/providers/openai-provider.js.map +1 -1
- package/dist/ai/schemas/ai-response-schemas.d.ts.map +1 -1
- package/dist/ai/schemas/ai-response-schemas.js +7 -1
- package/dist/ai/schemas/ai-response-schemas.js.map +1 -1
- package/dist/ai/types.d.ts +18 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +19 -0
- package/dist/ai/types.js.map +1 -1
- package/dist/cli/commands/checklist.d.ts +1 -1
- package/dist/cli/commands/checklist.d.ts.map +1 -1
- package/dist/cli/commands/checklist.js +2 -2
- package/dist/cli/commands/checklist.js.map +1 -1
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +15 -8
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/epic.d.ts +1 -1
- package/dist/cli/commands/epic.d.ts.map +1 -1
- package/dist/cli/commands/epic.js +13 -10
- package/dist/cli/commands/epic.js.map +1 -1
- package/dist/cli/commands/feature.d.ts +1 -1
- package/dist/cli/commands/feature.d.ts.map +1 -1
- package/dist/cli/commands/feature.js +9 -6
- package/dist/cli/commands/feature.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +8 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/plan.d.ts +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +26 -14
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/refine.d.ts +1 -1
- package/dist/cli/commands/refine.d.ts.map +1 -1
- package/dist/cli/commands/refine.js +10 -9
- package/dist/cli/commands/refine.js.map +1 -1
- package/dist/cli/commands/rules.d.ts +1 -1
- package/dist/cli/commands/rules.d.ts.map +1 -1
- package/dist/cli/commands/rules.js +3 -3
- package/dist/cli/commands/rules.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +5 -5
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/story.d.ts +1 -1
- package/dist/cli/commands/story.d.ts.map +1 -1
- package/dist/cli/commands/story.js +10 -7
- package/dist/cli/commands/story.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +3 -3
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/task.d.ts +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +63 -9
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/index.js +7 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/base-generator.d.ts +1 -1
- package/dist/generators/base-generator.d.ts.map +1 -1
- package/dist/generators/base-generator.js.map +1 -1
- package/dist/generators/claude-generator.d.ts +2 -2
- package/dist/generators/claude-generator.d.ts.map +1 -1
- package/dist/generators/claude-generator.js +3 -3
- package/dist/generators/claude-generator.js.map +1 -1
- package/dist/generators/codex-generator.d.ts +2 -2
- package/dist/generators/codex-generator.d.ts.map +1 -1
- package/dist/generators/codex-generator.js +2 -2
- package/dist/generators/codex-generator.js.map +1 -1
- package/dist/generators/cursor-generator.d.ts +1 -1
- package/dist/generators/cursor-generator.d.ts.map +1 -1
- package/dist/generators/cursor-generator.js +1 -1
- package/dist/generators/cursor-generator.js.map +1 -1
- package/dist/generators/generator-factory.d.ts +1 -1
- package/dist/generators/generator-factory.d.ts.map +1 -1
- package/dist/generators/generator-factory.js +1 -1
- package/dist/generators/generator-factory.js.map +1 -1
- package/dist/services/ai-service.d.ts +8 -8
- package/dist/services/ai-service.d.ts.map +1 -1
- package/dist/services/ai-service.js +89 -60
- package/dist/services/ai-service.js.map +1 -1
- package/dist/services/artifact-gathering.d.ts.map +1 -1
- package/dist/services/artifact-gathering.js +3 -3
- package/dist/services/artifact-gathering.js.map +1 -1
- package/dist/services/artifact-service.d.ts +1 -1
- package/dist/services/artifact-service.d.ts.map +1 -1
- package/dist/services/artifact-service.js +3 -3
- package/dist/services/artifact-service.js.map +1 -1
- package/dist/services/checklist-service.d.ts.map +1 -1
- package/dist/services/checklist-service.js.map +1 -1
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +2 -2
- package/dist/services/config-service.js.map +1 -1
- package/dist/services/credential-backends.d.ts +41 -0
- package/dist/services/credential-backends.d.ts.map +1 -0
- package/dist/services/credential-backends.js +208 -0
- package/dist/services/credential-backends.js.map +1 -0
- package/dist/services/credentials-service.d.ts +38 -14
- package/dist/services/credentials-service.d.ts.map +1 -1
- package/dist/services/credentials-service.js +132 -42
- package/dist/services/credentials-service.js.map +1 -1
- package/dist/services/id-service.d.ts.map +1 -1
- package/dist/services/id-service.js.map +1 -1
- package/dist/services/prompt-service.js +1 -1
- package/dist/services/prompt-service.js.map +1 -1
- package/dist/services/template-service.js +1 -1
- package/dist/services/template-service.js.map +1 -1
- package/dist/utils/error-context.d.ts +23 -0
- package/dist/utils/error-context.d.ts.map +1 -0
- package/dist/utils/error-context.js +94 -0
- package/dist/utils/error-context.js.map +1 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +7 -3
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/logger.js.map +1 -1
- 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
|
|
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 {
|
|
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
|
-
|
|
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 =
|
|
79
|
-
|
|
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
|
-
|
|
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
|
-
|
|
103
|
-
|
|
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":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"implementation-bridge.js","sourceRoot":"","sources":["../../src/agents/implementation-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export type { CodingAgent, AgentOptions, AgentResult } from './types.js';
|
|
2
1
|
export { createAgent } from './agent-factory.js';
|
|
3
|
-
export {
|
|
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 {
|
|
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,
|
|
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"}
|
package/dist/agents/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createAgent } from './agent-factory.js';
|
|
2
|
-
export {
|
|
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 {
|
|
5
|
+
export { findSubtasks, getNextPending, parseTaskMarkdown } from './task-parser.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"
|
|
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
|
|
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)
|
|
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":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAA0B;IACpE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,SAAS;IACT,QAAQ,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtD,oBAAoB;IACpB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,uBAAuB;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACnE,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt-composer.js","sourceRoot":"","sources":["../../src/agents/prompt-composer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAA0B;IACpE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,SAAS;IACT,QAAQ,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtD,oBAAoB;IACpB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,uBAAuB;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACnE,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErB,uBAAuB;IACvB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,8BAA8B;IAC9B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;IACnB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;IACf,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAE3E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC;AACzD,CAAC"}
|
|
@@ -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":"AAAA;;;;;;;;GAQG;AAUH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2DAA2D;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE;YACF,KAAK;YACL,IAAI;YACJ,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;YAC7C,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsB,EAAE,KAAa;IAChE,qBAAqB;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,8CAA8C;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"task-parser.js","sourceRoot":"","sources":["../../src/agents/task-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2DAA2D;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE;YACF,KAAK;YACL,IAAI;YACJ,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;YAC7C,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsB,EAAE,KAAa;IAChE,qBAAqB;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,8CAA8C;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,WAAoB;IAC5E,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/agents/utils.d.ts
CHANGED
|
@@ -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"}
|
package/dist/agents/utils.js
CHANGED
|
@@ -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
|
package/dist/agents/utils.js.map
CHANGED
|
@@ -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;
|
|
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"}
|