ai-sdlc 0.3.0-alpha.9 → 0.3.1-alpha.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/implementation.d.ts +5 -0
- package/dist/agents/implementation.d.ts.map +1 -1
- package/dist/agents/implementation.js +76 -3
- package/dist/agents/implementation.js.map +1 -1
- package/dist/agents/planning.d.ts.map +1 -1
- package/dist/agents/planning.js +10 -3
- package/dist/agents/planning.js.map +1 -1
- package/dist/agents/research.d.ts.map +1 -1
- package/dist/agents/research.js +14 -6
- package/dist/agents/research.js.map +1 -1
- package/dist/agents/review.d.ts +59 -0
- package/dist/agents/review.d.ts.map +1 -1
- package/dist/agents/review.js +259 -3
- package/dist/agents/review.js.map +1 -1
- package/dist/agents/single-task.d.ts +1 -1
- package/dist/agents/single-task.d.ts.map +1 -1
- package/dist/agents/single-task.js +1 -1
- package/dist/cli/commands.d.ts +3 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +51 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/epic-processor.d.ts.map +1 -1
- package/dist/cli/epic-processor.js +144 -8
- package/dist/cli/epic-processor.js.map +1 -1
- package/dist/core/agent-executor.d.ts +13 -0
- package/dist/core/agent-executor.d.ts.map +1 -0
- package/dist/core/agent-executor.js +153 -0
- package/dist/core/agent-executor.js.map +1 -0
- package/dist/core/config.d.ts +12 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +43 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/kanban.d.ts +4 -4
- package/dist/core/kanban.d.ts.map +1 -1
- package/dist/core/kanban.js +13 -5
- package/dist/core/kanban.js.map +1 -1
- package/dist/core/orchestrator.d.ts +63 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js +320 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/story.d.ts +84 -0
- package/dist/core/story.d.ts.map +1 -1
- package/dist/core/story.js +155 -14
- package/dist/core/story.js.map +1 -1
- package/dist/core/worktree.d.ts +7 -0
- package/dist/core/worktree.d.ts.map +1 -1
- package/dist/core/worktree.js +44 -0
- package/dist/core/worktree.js.map +1 -1
- package/dist/index.js +28 -3
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +115 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import path from 'path';
|
|
1
2
|
import { spawn } from 'child_process';
|
|
2
|
-
import { getSdlcRoot, loadConfig, validateWorktreeBasePath } from '../core/config.js';
|
|
3
|
+
import { getSdlcRoot, loadConfig, validateWorktreeBasePath, DEFAULT_MERGE_CONFIG } from '../core/config.js';
|
|
3
4
|
import { findStoriesByEpic } from '../core/kanban.js';
|
|
4
5
|
import { GitWorktreeService } from '../core/worktree.js';
|
|
5
6
|
import { getThemedChalk } from '../core/theme.js';
|
|
6
7
|
import { groupStoriesByPhase, validateDependencies } from './dependency-resolver.js';
|
|
7
8
|
import { createDashboard, updateStoryStatus, markStorySkipped, markStoryFailed, advancePhase, startDashboardRenderer, } from './progress-dashboard.js';
|
|
8
9
|
import { StoryLogger } from '../core/story-logger.js';
|
|
10
|
+
import { parseStory, isPRMerged, markPRMerged } from '../core/story.js';
|
|
11
|
+
import { waitForChecks, mergePullRequest } from '../agents/review.js';
|
|
9
12
|
import fs from 'fs';
|
|
10
13
|
/**
|
|
11
14
|
* Normalize epic ID by stripping 'epic-' prefix if present
|
|
@@ -55,10 +58,83 @@ function formatExecutionPlan(epicId, phases) {
|
|
|
55
58
|
lines.push(`Estimated time: ${estimatedMinutes}-${estimatedMinutes * 2} minutes`);
|
|
56
59
|
return lines.join('\n');
|
|
57
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Merge a story's PR after successful completion
|
|
63
|
+
* Waits for CI checks to pass before merging
|
|
64
|
+
*/
|
|
65
|
+
async function mergeStoryPR(storyId, worktreePath, config, logger) {
|
|
66
|
+
const mergeConfig = config.merge ?? DEFAULT_MERGE_CONFIG;
|
|
67
|
+
if (!mergeConfig.enabled) {
|
|
68
|
+
logger.log('DEBUG', 'PR merge is disabled in config');
|
|
69
|
+
return { success: true };
|
|
70
|
+
}
|
|
71
|
+
// Load the story from the worktree to get pr_url
|
|
72
|
+
const sdlcRoot = path.join(worktreePath, config.sdlcFolder);
|
|
73
|
+
const storyPath = path.join(sdlcRoot, 'stories', storyId, 'story.md');
|
|
74
|
+
if (!fs.existsSync(storyPath)) {
|
|
75
|
+
logger.log('WARN', `Story file not found in worktree: ${storyPath}`);
|
|
76
|
+
return { success: true }; // Not a failure - story might not have a PR
|
|
77
|
+
}
|
|
78
|
+
let story;
|
|
79
|
+
try {
|
|
80
|
+
story = parseStory(storyPath);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
logger.log('ERROR', `Failed to parse story: ${error}`);
|
|
84
|
+
return { success: false, error: `Failed to parse story: ${error}` };
|
|
85
|
+
}
|
|
86
|
+
// Check if story has a PR URL
|
|
87
|
+
const prUrl = story.frontmatter.pr_url;
|
|
88
|
+
if (!prUrl) {
|
|
89
|
+
logger.log('DEBUG', 'Story has no PR URL, skipping merge');
|
|
90
|
+
return { success: true };
|
|
91
|
+
}
|
|
92
|
+
// Check if already merged
|
|
93
|
+
if (isPRMerged(story)) {
|
|
94
|
+
logger.log('DEBUG', 'PR already merged');
|
|
95
|
+
return { success: true };
|
|
96
|
+
}
|
|
97
|
+
logger.log('INFO', `Waiting for CI checks on PR: ${prUrl}`);
|
|
98
|
+
// Wait for CI checks to pass
|
|
99
|
+
const checksResult = await waitForChecks(prUrl, worktreePath, {
|
|
100
|
+
timeout: mergeConfig.checksTimeout,
|
|
101
|
+
pollingInterval: mergeConfig.checksPollingInterval,
|
|
102
|
+
requireAllChecksPassing: mergeConfig.requireAllChecksPassing,
|
|
103
|
+
});
|
|
104
|
+
if (!checksResult.allPassed) {
|
|
105
|
+
if (checksResult.timedOut) {
|
|
106
|
+
logger.log('WARN', `CI checks timed out after ${mergeConfig.checksTimeout}ms`);
|
|
107
|
+
return { success: false, error: 'CI checks timed out - manual merge required' };
|
|
108
|
+
}
|
|
109
|
+
logger.log('ERROR', `CI checks failed: ${checksResult.error}`);
|
|
110
|
+
return { success: false, error: checksResult.error || 'CI checks failed' };
|
|
111
|
+
}
|
|
112
|
+
logger.log('INFO', 'CI checks passed, merging PR');
|
|
113
|
+
// Merge the PR
|
|
114
|
+
const mergeResult = await mergePullRequest(prUrl, worktreePath, {
|
|
115
|
+
strategy: mergeConfig.strategy,
|
|
116
|
+
deleteBranchAfterMerge: mergeConfig.deleteBranchAfterMerge,
|
|
117
|
+
});
|
|
118
|
+
if (!mergeResult.success) {
|
|
119
|
+
logger.log('ERROR', `PR merge failed: ${mergeResult.error}`);
|
|
120
|
+
return { success: false, error: mergeResult.error || 'PR merge failed' };
|
|
121
|
+
}
|
|
122
|
+
logger.log('INFO', `PR merged successfully${mergeResult.mergeSha ? ` (SHA: ${mergeResult.mergeSha})` : ''}`);
|
|
123
|
+
// Update story with merge metadata
|
|
124
|
+
try {
|
|
125
|
+
await markPRMerged(story, mergeResult.mergeSha);
|
|
126
|
+
logger.log('DEBUG', 'Updated story with merge metadata');
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
// Log but don't fail - the merge succeeded
|
|
130
|
+
logger.log('WARN', `Failed to update story with merge metadata: ${error}`);
|
|
131
|
+
}
|
|
132
|
+
return { success: true };
|
|
133
|
+
}
|
|
58
134
|
/**
|
|
59
135
|
* Process a single story in an isolated worktree
|
|
60
136
|
*/
|
|
61
|
-
async function processStoryInWorktree(story, dashboard, worktreeService, keepWorktrees) {
|
|
137
|
+
async function processStoryInWorktree(story, dashboard, worktreeService, keepWorktrees, config) {
|
|
62
138
|
const storyId = story.frontmatter.id;
|
|
63
139
|
const slug = story.frontmatter.slug;
|
|
64
140
|
updateStoryStatus(dashboard, storyId, 'in-progress');
|
|
@@ -79,8 +155,10 @@ async function processStoryInWorktree(story, dashboard, worktreeService, keepWor
|
|
|
79
155
|
const logger = new StoryLogger(storyId, sdlcRoot);
|
|
80
156
|
logger.log('INFO', `Starting story execution in worktree: ${worktreePath}`);
|
|
81
157
|
// Spawn ai-sdlc run process in worktree
|
|
158
|
+
// Use the same invocation method as the current process (handles global install, npx, or dev mode)
|
|
159
|
+
// Use --no-worktree since we're already in an isolated worktree
|
|
82
160
|
const result = await new Promise((resolve) => {
|
|
83
|
-
const proc = spawn(
|
|
161
|
+
const proc = spawn(process.execPath, [process.argv[1], 'run', '--story', storyId, '--auto', '--no-worktree'], {
|
|
84
162
|
cwd: worktreePath,
|
|
85
163
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
86
164
|
shell: false,
|
|
@@ -94,6 +172,13 @@ async function processStoryInWorktree(story, dashboard, worktreeService, keepWor
|
|
|
94
172
|
stderr += data.toString();
|
|
95
173
|
});
|
|
96
174
|
proc.on('close', (code) => {
|
|
175
|
+
// Log subprocess output for debugging
|
|
176
|
+
if (stdout.trim()) {
|
|
177
|
+
logger.log('DEBUG', `Subprocess stdout:\n${stdout}`);
|
|
178
|
+
}
|
|
179
|
+
if (stderr.trim()) {
|
|
180
|
+
logger.log('DEBUG', `Subprocess stderr:\n${stderr}`);
|
|
181
|
+
}
|
|
97
182
|
if (code === 0) {
|
|
98
183
|
logger.log('INFO', 'Story execution completed successfully');
|
|
99
184
|
resolve({ success: true });
|
|
@@ -109,10 +194,22 @@ async function processStoryInWorktree(story, dashboard, worktreeService, keepWor
|
|
|
109
194
|
resolve({ success: false, error: err.message });
|
|
110
195
|
});
|
|
111
196
|
});
|
|
197
|
+
// If execution succeeded, attempt PR merge (if enabled)
|
|
198
|
+
if (result.success && config.merge?.enabled) {
|
|
199
|
+
const mergeResult = await mergeStoryPR(storyId, worktreePath, config, logger);
|
|
200
|
+
if (!mergeResult.success) {
|
|
201
|
+
// Merge failure is a story failure
|
|
202
|
+
result.success = false;
|
|
203
|
+
result.error = mergeResult.error || 'PR merge failed';
|
|
204
|
+
logger.log('ERROR', `Story failed due to merge failure: ${result.error}`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
112
207
|
// Cleanup worktree if not keeping
|
|
113
208
|
if (!keepWorktrees) {
|
|
114
209
|
try {
|
|
115
|
-
|
|
210
|
+
// Use force cleanup after successful merge since branch may be deleted
|
|
211
|
+
const forceCleanup = result.success && config.merge?.enabled && config.merge?.deleteBranchAfterMerge;
|
|
212
|
+
worktreeService.remove(worktreePath, forceCleanup);
|
|
116
213
|
}
|
|
117
214
|
catch (cleanupError) {
|
|
118
215
|
// Log but don't fail the story
|
|
@@ -136,7 +233,7 @@ async function processStoryInWorktree(story, dashboard, worktreeService, keepWor
|
|
|
136
233
|
/**
|
|
137
234
|
* Execute a single phase with concurrency limit
|
|
138
235
|
*/
|
|
139
|
-
async function executePhase(phase, phaseNumber, maxConcurrent, dashboard, worktreeService, keepWorktrees) {
|
|
236
|
+
async function executePhase(phase, phaseNumber, maxConcurrent, dashboard, worktreeService, keepWorktrees, config) {
|
|
140
237
|
const result = {
|
|
141
238
|
phase: phaseNumber,
|
|
142
239
|
succeeded: [],
|
|
@@ -149,7 +246,7 @@ async function executePhase(phase, phaseNumber, maxConcurrent, dashboard, worktr
|
|
|
149
246
|
// Fill up to maxConcurrent
|
|
150
247
|
while (active.size < maxConcurrent && queue.length > 0) {
|
|
151
248
|
const story = queue.shift();
|
|
152
|
-
const promise = processStoryInWorktree(story, dashboard, worktreeService, keepWorktrees)
|
|
249
|
+
const promise = processStoryInWorktree(story, dashboard, worktreeService, keepWorktrees, config)
|
|
153
250
|
.then(result => ({
|
|
154
251
|
storyId: story.frontmatter.id,
|
|
155
252
|
...result,
|
|
@@ -243,6 +340,15 @@ export async function processEpic(options) {
|
|
|
243
340
|
const maxConcurrent = options.maxConcurrent ?? config.epic?.maxConcurrent ?? 3;
|
|
244
341
|
const keepWorktrees = options.keepWorktrees ?? config.epic?.keepWorktrees ?? false;
|
|
245
342
|
const continueOnFailure = config.epic?.continueOnFailure ?? true;
|
|
343
|
+
// Apply CLI overrides for merge config
|
|
344
|
+
if (options.merge !== undefined) {
|
|
345
|
+
config.merge = config.merge ?? { ...DEFAULT_MERGE_CONFIG };
|
|
346
|
+
config.merge.enabled = options.merge;
|
|
347
|
+
}
|
|
348
|
+
if (options.mergeStrategy !== undefined) {
|
|
349
|
+
config.merge = config.merge ?? { ...DEFAULT_MERGE_CONFIG };
|
|
350
|
+
config.merge.strategy = options.mergeStrategy;
|
|
351
|
+
}
|
|
246
352
|
// Validate maxConcurrent
|
|
247
353
|
if (maxConcurrent < 1) {
|
|
248
354
|
console.log(c.error('Error: --max-concurrent must be >= 1'));
|
|
@@ -309,9 +415,10 @@ export async function processEpic(options) {
|
|
|
309
415
|
// Execute phases sequentially
|
|
310
416
|
for (let i = 0; i < phases.length; i++) {
|
|
311
417
|
const phase = phases[i];
|
|
312
|
-
// Check if any stories in this phase should be skipped due to failed dependencies
|
|
418
|
+
// Check if any stories in this phase should be skipped due to failed or unmerged dependencies
|
|
313
419
|
const phaseToExecute = phase.filter(story => {
|
|
314
420
|
const deps = story.frontmatter.dependencies || [];
|
|
421
|
+
// Check for failed dependencies
|
|
315
422
|
const hasFailedDep = deps.some(dep => failedStories.has(dep));
|
|
316
423
|
if (hasFailedDep) {
|
|
317
424
|
const failedDep = deps.find(dep => failedStories.has(dep));
|
|
@@ -320,6 +427,35 @@ export async function processEpic(options) {
|
|
|
320
427
|
skippedStories.set(story.frontmatter.id, reason);
|
|
321
428
|
return false;
|
|
322
429
|
}
|
|
430
|
+
// If merge is enabled, check for unmerged dependencies
|
|
431
|
+
// A dependency is unmerged if it has a pr_url but pr_merged !== true
|
|
432
|
+
if (config.merge?.enabled) {
|
|
433
|
+
for (const depId of deps) {
|
|
434
|
+
// Skip done stories (already validated) and failed stories (handled above)
|
|
435
|
+
if (doneStoryIds.has(depId) || failedStories.has(depId))
|
|
436
|
+
continue;
|
|
437
|
+
// Check if this dependency story has been completed in this run
|
|
438
|
+
const depCompleted = phaseResults.some(pr => pr.succeeded.includes(depId));
|
|
439
|
+
if (!depCompleted)
|
|
440
|
+
continue;
|
|
441
|
+
// Try to load the dependency story to check merge status
|
|
442
|
+
try {
|
|
443
|
+
const depStoryPath = path.join(sdlcRoot, 'stories', depId, 'story.md');
|
|
444
|
+
if (fs.existsSync(depStoryPath)) {
|
|
445
|
+
const depStory = parseStory(depStoryPath);
|
|
446
|
+
if (depStory.frontmatter.pr_url && !isPRMerged(depStory)) {
|
|
447
|
+
const reason = `Waiting for dependency merge: ${depId}`;
|
|
448
|
+
markStorySkipped(dashboard, story.frontmatter.id, reason);
|
|
449
|
+
skippedStories.set(story.frontmatter.id, reason);
|
|
450
|
+
return false;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
catch {
|
|
455
|
+
// If we can't read the story, skip this check
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
323
459
|
return true;
|
|
324
460
|
});
|
|
325
461
|
// Skip phase if all stories are blocked
|
|
@@ -327,7 +463,7 @@ export async function processEpic(options) {
|
|
|
327
463
|
continue;
|
|
328
464
|
}
|
|
329
465
|
// Execute phase
|
|
330
|
-
const result = await executePhase(phaseToExecute, i + 1, maxConcurrent, dashboard, worktreeService, keepWorktrees);
|
|
466
|
+
const result = await executePhase(phaseToExecute, i + 1, maxConcurrent, dashboard, worktreeService, keepWorktrees, config);
|
|
331
467
|
phaseResults.push(result);
|
|
332
468
|
// Track failed stories
|
|
333
469
|
result.failed.forEach(storyId => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epic-processor.js","sourceRoot":"","sources":["../../src/cli/epic-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"epic-processor.js","sourceRoot":"","sources":["../../src/cli/epic-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Agent Executor - Child process entry point for concurrent story execution
|
|
4
|
+
*
|
|
5
|
+
* This script is spawned as a child process by the orchestrator to execute
|
|
6
|
+
* a single story in isolation. It runs in its own worktree and communicates
|
|
7
|
+
* with the parent process via IPC.
|
|
8
|
+
*
|
|
9
|
+
* Usage: node agent-executor.js <storyId>
|
|
10
|
+
* Environment: AI_SDLC_STORY_ID must be set
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=agent-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-executor.d.ts","sourceRoot":"","sources":["../../src/core/agent-executor.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Agent Executor - Child process entry point for concurrent story execution
|
|
4
|
+
*
|
|
5
|
+
* This script is spawned as a child process by the orchestrator to execute
|
|
6
|
+
* a single story in isolation. It runs in its own worktree and communicates
|
|
7
|
+
* with the parent process via IPC.
|
|
8
|
+
*
|
|
9
|
+
* Usage: node agent-executor.js <storyId>
|
|
10
|
+
* Environment: AI_SDLC_STORY_ID must be set
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Send IPC message to parent process
|
|
14
|
+
*/
|
|
15
|
+
function sendToParent(message) {
|
|
16
|
+
if (process.send) {
|
|
17
|
+
process.send(message);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Send status update to parent
|
|
22
|
+
*/
|
|
23
|
+
function sendStatus(storyId, status, progress) {
|
|
24
|
+
sendToParent({
|
|
25
|
+
type: 'status_update',
|
|
26
|
+
storyId,
|
|
27
|
+
timestamp: Date.now(),
|
|
28
|
+
payload: { progress },
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Send error report to parent
|
|
33
|
+
*/
|
|
34
|
+
function sendError(storyId, error) {
|
|
35
|
+
sendToParent({
|
|
36
|
+
type: 'error',
|
|
37
|
+
storyId,
|
|
38
|
+
timestamp: Date.now(),
|
|
39
|
+
payload: { error },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Send completion message to parent
|
|
44
|
+
*/
|
|
45
|
+
function sendComplete(storyId, success, exitCode) {
|
|
46
|
+
sendToParent({
|
|
47
|
+
type: 'complete',
|
|
48
|
+
storyId,
|
|
49
|
+
timestamp: Date.now(),
|
|
50
|
+
payload: {
|
|
51
|
+
result: {
|
|
52
|
+
storyId,
|
|
53
|
+
success,
|
|
54
|
+
exitCode,
|
|
55
|
+
signal: null,
|
|
56
|
+
duration: Date.now() - startTime,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Handle IPC messages from parent
|
|
63
|
+
*/
|
|
64
|
+
function setupIPCHandlers(storyId) {
|
|
65
|
+
process.on('message', (msg) => {
|
|
66
|
+
if (!msg || typeof msg !== 'object')
|
|
67
|
+
return;
|
|
68
|
+
const message = msg;
|
|
69
|
+
switch (message.type) {
|
|
70
|
+
case 'health_check':
|
|
71
|
+
// Respond to health check
|
|
72
|
+
sendToParent({
|
|
73
|
+
type: 'health_response',
|
|
74
|
+
storyId,
|
|
75
|
+
timestamp: Date.now(),
|
|
76
|
+
});
|
|
77
|
+
break;
|
|
78
|
+
case 'shutdown':
|
|
79
|
+
// Graceful shutdown requested
|
|
80
|
+
console.log(`[${storyId}] Received shutdown signal, exiting...`);
|
|
81
|
+
process.exit(0);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Handle graceful shutdown on SIGTERM
|
|
88
|
+
*/
|
|
89
|
+
function setupShutdownHandlers(storyId) {
|
|
90
|
+
const shutdown = (signal) => {
|
|
91
|
+
console.log(`[${storyId}] Received ${signal}, shutting down gracefully...`);
|
|
92
|
+
sendToParent({
|
|
93
|
+
type: 'shutdown',
|
|
94
|
+
storyId,
|
|
95
|
+
timestamp: Date.now(),
|
|
96
|
+
});
|
|
97
|
+
process.exit(0);
|
|
98
|
+
};
|
|
99
|
+
process.on('SIGTERM', () => shutdown('SIGTERM'));
|
|
100
|
+
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
101
|
+
}
|
|
102
|
+
// Track execution start time
|
|
103
|
+
const startTime = Date.now();
|
|
104
|
+
/**
|
|
105
|
+
* Main entry point
|
|
106
|
+
*/
|
|
107
|
+
async function main() {
|
|
108
|
+
// Get story ID from arguments or environment
|
|
109
|
+
const storyId = process.argv[2] || process.env.AI_SDLC_STORY_ID;
|
|
110
|
+
if (!storyId) {
|
|
111
|
+
console.error('Error: Story ID not provided');
|
|
112
|
+
console.error('Usage: node agent-executor.js <storyId>');
|
|
113
|
+
console.error('Or set AI_SDLC_STORY_ID environment variable');
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
// Setup IPC and shutdown handlers
|
|
117
|
+
setupIPCHandlers(storyId);
|
|
118
|
+
setupShutdownHandlers(storyId);
|
|
119
|
+
console.log(`[${storyId}] Agent executor started in worktree: ${process.cwd()}`);
|
|
120
|
+
sendStatus(storyId, 'starting');
|
|
121
|
+
try {
|
|
122
|
+
// Import and execute the run command
|
|
123
|
+
// This reuses the existing single-story execution logic
|
|
124
|
+
const { run } = await import('../cli/commands.js');
|
|
125
|
+
sendStatus(storyId, 'running');
|
|
126
|
+
// Execute the story with auto mode and no-worktree flag
|
|
127
|
+
// (since we're already in an isolated worktree)
|
|
128
|
+
await run({
|
|
129
|
+
story: storyId,
|
|
130
|
+
auto: true,
|
|
131
|
+
worktree: false, // --no-worktree: already in a worktree
|
|
132
|
+
});
|
|
133
|
+
// Execution succeeded
|
|
134
|
+
console.log(`[${storyId}] Story execution completed successfully`);
|
|
135
|
+
sendComplete(storyId, true, 0);
|
|
136
|
+
process.exit(0);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// Execution failed
|
|
140
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
141
|
+
console.error(`[${storyId}] Story execution failed:`, errorMsg);
|
|
142
|
+
sendError(storyId, errorMsg);
|
|
143
|
+
sendComplete(storyId, false, 1);
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Run main with error handling
|
|
148
|
+
main().catch((error) => {
|
|
149
|
+
console.error('Fatal error in agent executor:', error);
|
|
150
|
+
process.exit(1);
|
|
151
|
+
});
|
|
152
|
+
export {};
|
|
153
|
+
//# sourceMappingURL=agent-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../../src/core/agent-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, StageGateConfig, RefinementConfig, ReviewConfig, ImplementationConfig, TimeoutConfig, DaemonConfig, TDDConfig, WorktreeConfig, LogConfig, RetryConfig, EpicConfig } from '../types/index.js';
|
|
1
|
+
import { Config, StageGateConfig, RefinementConfig, ReviewConfig, ImplementationConfig, TimeoutConfig, DaemonConfig, TDDConfig, WorktreeConfig, LogConfig, RetryConfig, EpicConfig, MergeConfig } from '../types/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Default timeout configuration
|
|
4
4
|
*/
|
|
@@ -19,6 +19,17 @@ export declare const DEFAULT_WORKTREE_CONFIG: WorktreeConfig;
|
|
|
19
19
|
* Default epic configuration
|
|
20
20
|
*/
|
|
21
21
|
export declare const DEFAULT_EPIC_CONFIG: EpicConfig;
|
|
22
|
+
/**
|
|
23
|
+
* Default merge configuration for automatic PR merging
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_MERGE_CONFIG: MergeConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Validate merge configuration values with bounds checking
|
|
28
|
+
* @param config Partial merge configuration to validate
|
|
29
|
+
* @returns Validated merge configuration
|
|
30
|
+
* @throws Error if configuration values are out of bounds
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateMergeConfig(config: Partial<MergeConfig>): MergeConfig;
|
|
22
33
|
/**
|
|
23
34
|
* Default implementation configuration
|
|
24
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI3N;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAI9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAGrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAIjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAOlC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAyB7E;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,oBAG3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAKpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAiD5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAOtE;AAuQD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAsJrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,IAAI,CAGnF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,EAC/B,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,eAAe,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAQrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAGrF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CA8B7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CA4BzE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,CA8B7G;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACnD,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAYtF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAOrF"}
|
package/dist/core/config.js
CHANGED
|
@@ -46,6 +46,44 @@ export const DEFAULT_EPIC_CONFIG = {
|
|
|
46
46
|
keepWorktrees: false,
|
|
47
47
|
continueOnFailure: true,
|
|
48
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Default merge configuration for automatic PR merging
|
|
51
|
+
*/
|
|
52
|
+
export const DEFAULT_MERGE_CONFIG = {
|
|
53
|
+
enabled: false,
|
|
54
|
+
strategy: 'squash',
|
|
55
|
+
deleteBranchAfterMerge: true,
|
|
56
|
+
checksTimeout: 600000, // 10 minutes
|
|
57
|
+
checksPollingInterval: 10000, // 10 seconds
|
|
58
|
+
requireAllChecksPassing: true,
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Validate merge configuration values with bounds checking
|
|
62
|
+
* @param config Partial merge configuration to validate
|
|
63
|
+
* @returns Validated merge configuration
|
|
64
|
+
* @throws Error if configuration values are out of bounds
|
|
65
|
+
*/
|
|
66
|
+
export function validateMergeConfig(config) {
|
|
67
|
+
const merged = { ...DEFAULT_MERGE_CONFIG, ...config };
|
|
68
|
+
// Validate strategy
|
|
69
|
+
const validStrategies = ['squash', 'merge', 'rebase'];
|
|
70
|
+
if (!validStrategies.includes(merged.strategy)) {
|
|
71
|
+
throw new Error(`Invalid merge strategy "${merged.strategy}". Must be one of: ${validStrategies.join(', ')}`);
|
|
72
|
+
}
|
|
73
|
+
// Validate checksTimeout bounds (1 second to 1 hour)
|
|
74
|
+
if (merged.checksTimeout < 1000 || merged.checksTimeout > 3600000) {
|
|
75
|
+
throw new Error(`checksTimeout must be between 1000ms and 3600000ms (1 hour), got ${merged.checksTimeout}`);
|
|
76
|
+
}
|
|
77
|
+
// Validate checksPollingInterval bounds (1 second to 5 minutes)
|
|
78
|
+
if (merged.checksPollingInterval < 1000 || merged.checksPollingInterval > 300000) {
|
|
79
|
+
throw new Error(`checksPollingInterval must be between 1000ms and 300000ms (5 min), got ${merged.checksPollingInterval}`);
|
|
80
|
+
}
|
|
81
|
+
// Ensure polling interval is less than timeout
|
|
82
|
+
if (merged.checksPollingInterval >= merged.checksTimeout) {
|
|
83
|
+
throw new Error(`checksPollingInterval (${merged.checksPollingInterval}) must be less than checksTimeout (${merged.checksTimeout})`);
|
|
84
|
+
}
|
|
85
|
+
return merged;
|
|
86
|
+
}
|
|
49
87
|
/**
|
|
50
88
|
* Default implementation configuration
|
|
51
89
|
*/
|
|
@@ -116,6 +154,8 @@ export const DEFAULT_CONFIG = {
|
|
|
116
154
|
logging: { ...DEFAULT_LOGGING_CONFIG },
|
|
117
155
|
// Epic configuration
|
|
118
156
|
epic: { ...DEFAULT_EPIC_CONFIG },
|
|
157
|
+
// Merge configuration
|
|
158
|
+
merge: { ...DEFAULT_MERGE_CONFIG },
|
|
119
159
|
// Orchestrator configuration
|
|
120
160
|
useOrchestrator: false,
|
|
121
161
|
};
|
|
@@ -415,6 +455,9 @@ export function loadConfig(workingDir = process.cwd()) {
|
|
|
415
455
|
...DEFAULT_EPIC_CONFIG,
|
|
416
456
|
...userConfig.epic,
|
|
417
457
|
},
|
|
458
|
+
merge: userConfig.merge
|
|
459
|
+
? validateMergeConfig(userConfig.merge)
|
|
460
|
+
: { ...DEFAULT_MERGE_CONFIG },
|
|
418
461
|
};
|
|
419
462
|
}
|
|
420
463
|
catch (error) {
|