ai-sdlc 0.2.0 → 0.3.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 (87) hide show
  1. package/dist/agents/implementation.d.ts +30 -1
  2. package/dist/agents/implementation.d.ts.map +1 -1
  3. package/dist/agents/implementation.js +172 -17
  4. package/dist/agents/implementation.js.map +1 -1
  5. package/dist/agents/index.d.ts +2 -0
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +2 -0
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/orchestrator.d.ts +61 -0
  10. package/dist/agents/orchestrator.d.ts.map +1 -0
  11. package/dist/agents/orchestrator.js +443 -0
  12. package/dist/agents/orchestrator.js.map +1 -0
  13. package/dist/agents/planning.d.ts +1 -1
  14. package/dist/agents/planning.d.ts.map +1 -1
  15. package/dist/agents/planning.js +33 -1
  16. package/dist/agents/planning.js.map +1 -1
  17. package/dist/agents/review.d.ts +37 -1
  18. package/dist/agents/review.d.ts.map +1 -1
  19. package/dist/agents/review.js +319 -44
  20. package/dist/agents/review.js.map +1 -1
  21. package/dist/agents/rework.d.ts.map +1 -1
  22. package/dist/agents/rework.js +3 -1
  23. package/dist/agents/rework.js.map +1 -1
  24. package/dist/agents/single-task.d.ts +41 -0
  25. package/dist/agents/single-task.d.ts.map +1 -0
  26. package/dist/agents/single-task.js +357 -0
  27. package/dist/agents/single-task.js.map +1 -0
  28. package/dist/agents/verification.d.ts.map +1 -1
  29. package/dist/agents/verification.js +26 -12
  30. package/dist/agents/verification.js.map +1 -1
  31. package/dist/cli/commands.d.ts +7 -0
  32. package/dist/cli/commands.d.ts.map +1 -1
  33. package/dist/cli/commands.js +560 -48
  34. package/dist/cli/commands.js.map +1 -1
  35. package/dist/cli/daemon.d.ts.map +1 -1
  36. package/dist/cli/daemon.js +5 -0
  37. package/dist/cli/daemon.js.map +1 -1
  38. package/dist/cli/runner.d.ts.map +1 -1
  39. package/dist/cli/runner.js +20 -9
  40. package/dist/cli/runner.js.map +1 -1
  41. package/dist/core/client.d.ts +19 -1
  42. package/dist/core/client.d.ts.map +1 -1
  43. package/dist/core/client.js +191 -5
  44. package/dist/core/client.js.map +1 -1
  45. package/dist/core/config.d.ts +9 -1
  46. package/dist/core/config.d.ts.map +1 -1
  47. package/dist/core/config.js +51 -2
  48. package/dist/core/config.js.map +1 -1
  49. package/dist/core/index.d.ts +2 -0
  50. package/dist/core/index.d.ts.map +1 -1
  51. package/dist/core/index.js +2 -0
  52. package/dist/core/index.js.map +1 -1
  53. package/dist/core/llm-utils.d.ts +103 -0
  54. package/dist/core/llm-utils.d.ts.map +1 -0
  55. package/dist/core/llm-utils.js +368 -0
  56. package/dist/core/llm-utils.js.map +1 -0
  57. package/dist/core/process-manager.d.ts +15 -0
  58. package/dist/core/process-manager.d.ts.map +1 -0
  59. package/dist/core/process-manager.js +132 -0
  60. package/dist/core/process-manager.js.map +1 -0
  61. package/dist/core/story.d.ts +35 -1
  62. package/dist/core/story.d.ts.map +1 -1
  63. package/dist/core/story.js +107 -1
  64. package/dist/core/story.js.map +1 -1
  65. package/dist/core/task-parser.d.ts +59 -0
  66. package/dist/core/task-parser.d.ts.map +1 -0
  67. package/dist/core/task-parser.js +235 -0
  68. package/dist/core/task-parser.js.map +1 -0
  69. package/dist/core/task-progress.d.ts +92 -0
  70. package/dist/core/task-progress.d.ts.map +1 -0
  71. package/dist/core/task-progress.js +280 -0
  72. package/dist/core/task-progress.js.map +1 -0
  73. package/dist/core/worktree.d.ts +111 -2
  74. package/dist/core/worktree.d.ts.map +1 -1
  75. package/dist/core/worktree.js +310 -2
  76. package/dist/core/worktree.js.map +1 -1
  77. package/dist/index.js +10 -0
  78. package/dist/index.js.map +1 -1
  79. package/dist/services/error-classifier.d.ts +119 -0
  80. package/dist/services/error-classifier.d.ts.map +1 -0
  81. package/dist/services/error-classifier.js +182 -0
  82. package/dist/services/error-classifier.js.map +1 -0
  83. package/dist/types/index.d.ts +230 -0
  84. package/dist/types/index.d.ts.map +1 -1
  85. package/dist/types/index.js.map +1 -1
  86. package/package.json +3 -2
  87. package/templates/story.md +5 -0
@@ -104,6 +104,22 @@ export interface RetryAttemptOptions {
104
104
  reworkContext?: string;
105
105
  onProgress?: AgentProgressCallback;
106
106
  }
107
+ /**
108
+ * Outcome type for retry attempts
109
+ */
110
+ export type AttemptOutcome = 'failed_tests' | 'failed_build' | 'no_change';
111
+ /**
112
+ * Result from a single retry attempt
113
+ */
114
+ export interface AttemptHistoryEntry {
115
+ attempt: number;
116
+ testFailures: number;
117
+ buildFailures: number;
118
+ testSnippet: string;
119
+ buildSnippet: string;
120
+ changesSummary: string;
121
+ outcome: AttemptOutcome;
122
+ }
107
123
  /**
108
124
  * Attempt implementation with retry logic
109
125
  *
@@ -134,6 +150,18 @@ export declare function captureCurrentDiffHash(workingDir: string): string;
134
150
  * @returns True if changes occurred (hashes are different)
135
151
  */
136
152
  export declare function hasChangesOccurred(previousHash: string, currentHash: string): boolean;
153
+ /**
154
+ * Extract list of changed files from git diff
155
+ * @param workingDir The working directory
156
+ * @returns Comma-separated list of changed files, or descriptive message
157
+ */
158
+ export declare function extractChangedFiles(workingDir: string): string;
159
+ /**
160
+ * Build formatted retry history section for agent prompts
161
+ * @param history Array of attempt history entries
162
+ * @returns Formatted string for inclusion in retry prompts
163
+ */
164
+ export declare function buildRetryHistorySection(history: AttemptHistoryEntry[]): string;
137
165
  /**
138
166
  * Sanitize test output to remove ANSI escape sequences and potential injection patterns
139
167
  * @param output Test output string
@@ -158,7 +186,8 @@ export declare function detectMissingDependencies(output: string): string[];
158
186
  * @param buildOutput Build output
159
187
  * @param attemptNumber Current attempt number (1-indexed)
160
188
  * @param maxRetries Maximum number of retries
189
+ * @param attemptHistory Optional history of previous attempts
161
190
  * @returns Prompt string for retry attempt
162
191
  */
163
- export declare function buildRetryPrompt(testOutput: string, buildOutput: string, attemptNumber: number, maxRetries: number): string;
192
+ export declare function buildRetryPrompt(testOutput: string, buildOutput: string, attemptNumber: number, maxRetries: number, attemptHistory?: AttemptHistoryEntry[]): string;
164
193
  //# sourceMappingURL=implementation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { spawn, spawnSync } from 'child_process';
2
2
  import path from 'path';
3
- import { parseStory, writeStory, updateStoryStatus, updateStoryField, resetImplementationRetryCount, incrementImplementationRetryCount, getEffectiveMaxImplementationRetries, } from '../core/story.js';
3
+ import { ProcessManager } from '../core/process-manager.js';
4
+ import { parseStory, writeStory, updateStoryStatus, updateStoryField, resetImplementationRetryCount, incrementImplementationRetryCount, getEffectiveMaxImplementationRetries, incrementTotalRecoveryAttempts, } from '../core/story.js';
4
5
  import { runAgentQuery } from '../core/client.js';
5
6
  import { getLogger } from '../core/logger.js';
6
7
  import { loadConfig, DEFAULT_TDD_CONFIG } from '../core/config.js';
7
8
  import { verifyImplementation } from './verification.js';
8
9
  import { createHash } from 'crypto';
10
+ import { parseTypeScriptErrors, classifyAndSortErrors } from '../services/error-classifier.js';
9
11
  export const TDD_SYSTEM_PROMPT = `You are practicing strict Test-Driven Development.
10
12
 
11
13
  Your workflow MUST follow this exact cycle:
@@ -60,6 +62,7 @@ export async function runSingleTest(testFile, workingDir, testTimeout) {
60
62
  cwd: workingDir,
61
63
  stdio: ['pipe', 'pipe', 'pipe'],
62
64
  });
65
+ ProcessManager.getInstance().registerChild(child);
63
66
  const timeoutId = setTimeout(() => {
64
67
  killed = true;
65
68
  child.kill('SIGTERM');
@@ -107,6 +110,7 @@ export async function runAllTests(workingDir, testTimeout) {
107
110
  cwd: workingDir,
108
111
  stdio: ['pipe', 'pipe', 'pipe'],
109
112
  });
113
+ ProcessManager.getInstance().registerChild(child);
110
114
  const timeoutId = setTimeout(() => {
111
115
  killed = true;
112
116
  child.kill('SIGTERM');
@@ -569,7 +573,7 @@ severity issues - these must be resolved. Review the specific feedback and make
569
573
  }
570
574
  // Add retry context if this is a retry attempt
571
575
  if (attemptNumber > 1 && lastVerification) {
572
- prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries);
576
+ prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries, attemptHistory);
573
577
  }
574
578
  else {
575
579
  prompt += `
@@ -609,6 +613,31 @@ ${implementationResult}
609
613
  updatedStory.content += '\n\n' + implementationNotes;
610
614
  await writeStory(updatedStory);
611
615
  changesMade.push(attemptNumber > 1 ? `Added retry ${attemptNumber - 1} notes` : 'Added implementation notes');
616
+ // PRE-FLIGHT CHECK: Capture diff hash BEFORE verification to detect no-change scenarios early
617
+ const currentDiffHash = captureCurrentDiffHash(workingDir);
618
+ const changesSummary = extractChangedFiles(workingDir);
619
+ // Check for no-change scenario BEFORE running verification (saves ~30 seconds)
620
+ if (attemptNumber > 1 && lastDiffHash && lastDiffHash === currentDiffHash) {
621
+ changesMade.push('No changes detected since last attempt - skipping verification');
622
+ // Record this no-change attempt in history
623
+ attemptHistory.push({
624
+ attempt: attemptNumber,
625
+ testFailures: 0,
626
+ buildFailures: 0,
627
+ testSnippet: '',
628
+ buildSnippet: '',
629
+ changesSummary: 'No changes detected',
630
+ outcome: 'no_change',
631
+ });
632
+ return {
633
+ success: false,
634
+ story: parseStory(storyPath),
635
+ changesMade,
636
+ error: 'No progress detected - agent made no file changes',
637
+ };
638
+ }
639
+ // Update lastDiffHash for next iteration
640
+ lastDiffHash = currentDiffHash;
612
641
  changesMade.push('Running verification before marking complete...');
613
642
  const verification = await verifyImplementation(updatedStory, workingDir);
614
643
  await updateStoryField(updatedStory, 'last_test_run', {
@@ -632,10 +661,10 @@ ${implementationResult}
632
661
  }
633
662
  // Verification failed - check for retry conditions
634
663
  lastVerification = verification;
635
- // Capture current diff hash for no-change detection
636
- const currentDiffHash = captureCurrentDiffHash(workingDir);
637
664
  // Track retry attempt
638
665
  await incrementImplementationRetryCount(updatedStory);
666
+ // Increment global recovery counter
667
+ await incrementTotalRecoveryAttempts(updatedStory);
639
668
  // Extract first 100 chars of test and build output for history
640
669
  const testSnippet = verification.testsOutput.substring(0, 100).replace(/\n/g, ' ');
641
670
  const buildSnippet = verification.buildOutput.substring(0, 100).replace(/\n/g, ' ');
@@ -645,6 +674,8 @@ ${implementationResult}
645
674
  verification.buildOutput.includes('Error') ||
646
675
  verification.buildOutput.includes('failed'));
647
676
  const buildFailures = hasBuildErrors ? 1 : 0;
677
+ // Determine outcome based on what failed
678
+ const outcome = hasBuildErrors ? 'failed_build' : 'failed_tests';
648
679
  // Record this attempt in history with both test and build failures
649
680
  attemptHistory.push({
650
681
  attempt: attemptNumber,
@@ -652,6 +683,8 @@ ${implementationResult}
652
683
  buildFailures,
653
684
  testSnippet,
654
685
  buildSnippet,
686
+ changesSummary,
687
+ outcome,
655
688
  });
656
689
  // Add structured retry entry to changes array
657
690
  if (attemptNumber > 1) {
@@ -660,17 +693,6 @@ ${implementationResult}
660
693
  else {
661
694
  changesMade.push(`Attempt ${attemptNumber}: ${verification.failures} test(s) failing`);
662
695
  }
663
- // Check for no-change scenario (agent made no progress)
664
- // Only check after first failure (attemptNumber > 1)
665
- // Check this BEFORE max retries to fail fast on identical changes
666
- if (attemptNumber > 1 && lastDiffHash && lastDiffHash === currentDiffHash) {
667
- return {
668
- success: false,
669
- story: parseStory(storyPath),
670
- changesMade,
671
- error: `Implementation blocked: No progress detected on retry attempt ${attemptNumber - 1}. Agent made identical changes. Stopping retries early.\n\nLast test output:\n${truncateTestOutput(verification.testsOutput, 1000)}`,
672
- };
673
- }
674
696
  // Check if we've reached max retries
675
697
  if (attemptHistory.length > maxRetries) {
676
698
  const attemptSummary = attemptHistory
@@ -701,7 +723,6 @@ ${implementationResult}
701
723
  error: `Implementation blocked after ${attemptNumber} attempts:\n${attemptSummary}\n\nLast test output:\n${truncateTestOutput(verification.testsOutput, 5000)}`,
702
724
  };
703
725
  }
704
- lastDiffHash = currentDiffHash;
705
726
  // Continue to next retry attempt - send progress update
706
727
  if (onProgress) {
707
728
  onProgress({ type: 'assistant_message', content: `Retry ${attemptNumber} failed: ${verification.failures} test(s) failing, attempting retry ${attemptNumber + 1}...` });
@@ -790,6 +811,37 @@ export async function runImplementationAgent(storyPath, sdlcRoot, options = {})
790
811
  // Check if TDD is enabled for this story
791
812
  const config = loadConfig(workingDir);
792
813
  const tddEnabled = story.frontmatter.tdd_enabled ?? config.tdd?.enabled ?? false;
814
+ // Check if orchestrator is enabled
815
+ if (config.useOrchestrator && !tddEnabled) {
816
+ changesMade.push('Using sequential task orchestrator for implementation');
817
+ const { runImplementationOrchestrator } = await import('./orchestrator.js');
818
+ const orchestratorResult = await runImplementationOrchestrator(currentStoryPath, sdlcRoot, {
819
+ maxRetriesPerTask: config.implementation.maxRetries,
820
+ commitAfterEachTask: true,
821
+ stopOnFirstFailure: true,
822
+ });
823
+ if (!orchestratorResult.success) {
824
+ // Orchestration failed
825
+ const errorDetails = orchestratorResult.failedTasks
826
+ .map((ft) => ` - ${ft.taskId}: ${ft.error} (${ft.attempts} attempts)`)
827
+ .join('\n');
828
+ return {
829
+ success: false,
830
+ story: parseStory(currentStoryPath),
831
+ changesMade,
832
+ error: `Implementation orchestration failed:\n${errorDetails}\n\nCompleted: ${orchestratorResult.tasksCompleted}, Failed: ${orchestratorResult.tasksFailed}, Remaining: ${orchestratorResult.tasksRemaining}`,
833
+ };
834
+ }
835
+ // Orchestration succeeded - mark implementation complete
836
+ await updateStoryField(story, 'implementation_complete', true);
837
+ changesMade.push('Marked implementation_complete: true');
838
+ changesMade.push(`Orchestration complete: ${orchestratorResult.tasksCompleted} tasks completed in ${orchestratorResult.totalAgentInvocations} agent invocations`);
839
+ return {
840
+ success: true,
841
+ story: parseStory(currentStoryPath),
842
+ changesMade,
843
+ };
844
+ }
793
845
  if (tddEnabled) {
794
846
  changesMade.push('TDD mode enabled - using Red-Green-Refactor implementation');
795
847
  // Run TDD implementation loop
@@ -960,6 +1012,72 @@ export function captureCurrentDiffHash(workingDir) {
960
1012
  export function hasChangesOccurred(previousHash, currentHash) {
961
1013
  return previousHash !== currentHash;
962
1014
  }
1015
+ /**
1016
+ * Extract list of changed files from git diff
1017
+ * @param workingDir The working directory
1018
+ * @returns Comma-separated list of changed files, or descriptive message
1019
+ */
1020
+ export function extractChangedFiles(workingDir) {
1021
+ try {
1022
+ validateWorkingDir(workingDir);
1023
+ const result = spawnSync('git', ['diff', 'HEAD', '--name-only'], {
1024
+ cwd: workingDir,
1025
+ shell: false,
1026
+ encoding: 'utf-8',
1027
+ stdio: ['ignore', 'pipe', 'pipe'],
1028
+ });
1029
+ if (result.status === 0 && result.stdout) {
1030
+ const files = result.stdout.trim().split('\n').filter(Boolean);
1031
+ if (files.length === 0) {
1032
+ return 'No changes detected';
1033
+ }
1034
+ return files.join(', ');
1035
+ }
1036
+ return 'No changes detected';
1037
+ }
1038
+ catch {
1039
+ return 'Unable to determine changes';
1040
+ }
1041
+ }
1042
+ /**
1043
+ * Build formatted retry history section for agent prompts
1044
+ * @param history Array of attempt history entries
1045
+ * @returns Formatted string for inclusion in retry prompts
1046
+ */
1047
+ export function buildRetryHistorySection(history) {
1048
+ if (!history || history.length === 0) {
1049
+ return '';
1050
+ }
1051
+ const recentHistory = history.slice(-3);
1052
+ let section = `PREVIOUS ATTEMPT HISTORY (Last ${recentHistory.length} attempts):
1053
+
1054
+ `;
1055
+ for (const entry of recentHistory) {
1056
+ const outcomeLabel = entry.outcome === 'failed_tests'
1057
+ ? 'Tests failed'
1058
+ : entry.outcome === 'failed_build'
1059
+ ? 'Build failed'
1060
+ : 'No changes made';
1061
+ section += `Attempt ${entry.attempt}: ${entry.changesSummary} -> ${outcomeLabel}\n`;
1062
+ const errors = [];
1063
+ if (entry.testSnippet && entry.testSnippet.trim()) {
1064
+ errors.push(entry.testSnippet.trim());
1065
+ }
1066
+ if (entry.buildSnippet && entry.buildSnippet.trim()) {
1067
+ errors.push(entry.buildSnippet.trim());
1068
+ }
1069
+ const errorsToShow = errors.slice(0, 2);
1070
+ if (errorsToShow.length > 0) {
1071
+ for (const err of errorsToShow) {
1072
+ section += ` - ${err.substring(0, 100)}\n`;
1073
+ }
1074
+ }
1075
+ }
1076
+ section += `
1077
+ **IMPORTANT: Do NOT repeat the same fixes. Try a different approach.**
1078
+ `;
1079
+ return section;
1080
+ }
963
1081
  /**
964
1082
  * Sanitize test output to remove ANSI escape sequences and potential injection patterns
965
1083
  * @param output Test output string
@@ -1045,14 +1163,18 @@ export function detectMissingDependencies(output) {
1045
1163
  * @param buildOutput Build output
1046
1164
  * @param attemptNumber Current attempt number (1-indexed)
1047
1165
  * @param maxRetries Maximum number of retries
1166
+ * @param attemptHistory Optional history of previous attempts
1048
1167
  * @returns Prompt string for retry attempt
1049
1168
  */
1050
- export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries) {
1169
+ export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries, attemptHistory) {
1051
1170
  const truncatedTestOutput = truncateTestOutput(testOutput);
1052
1171
  const truncatedBuildOutput = truncateTestOutput(buildOutput);
1053
1172
  // Detect if this is a dependency issue
1054
1173
  const combinedOutput = (buildOutput || '') + '\n' + (testOutput || '');
1055
1174
  const missingDeps = detectMissingDependencies(combinedOutput);
1175
+ // Parse and classify TypeScript errors from build output
1176
+ const tsErrors = parseTypeScriptErrors(buildOutput || '');
1177
+ const classified = classifyAndSortErrors(tsErrors);
1056
1178
  let prompt = `CRITICAL: Tests are failing. You attempted implementation but verification failed.
1057
1179
 
1058
1180
  This is retry attempt ${attemptNumber} of ${maxRetries}. Previous attempts failed with similar errors.
@@ -1071,6 +1193,39 @@ This is NOT a code bug - the packages need to be installed. Before making any co
1071
1193
 
1072
1194
  `;
1073
1195
  }
1196
+ // Add TypeScript error classification if errors were found
1197
+ if (classified.source.length > 0 || classified.cascading.length > 0) {
1198
+ prompt += `TYPESCRIPT ERROR CLASSIFICATION
1199
+
1200
+ `;
1201
+ if (classified.source.length > 0) {
1202
+ prompt += `⚠️ SOURCE ERRORS (Fix these first - root causes):
1203
+
1204
+ `;
1205
+ classified.source.forEach((err) => {
1206
+ const location = err.line ? `${err.filePath}:${err.line}` : err.filePath;
1207
+ prompt += `- ${err.code} in ${location}: ${err.message}\n`;
1208
+ });
1209
+ prompt += '\n';
1210
+ }
1211
+ if (classified.cascading.length > 0) {
1212
+ prompt += `💡 CASCADING ERRORS (may automatically resolve):
1213
+
1214
+ `;
1215
+ classified.cascading.forEach((err) => {
1216
+ const location = err.line ? `${err.filePath}:${err.line}` : err.filePath;
1217
+ prompt += `- ${err.code} in ${location}: ${err.message}\n`;
1218
+ });
1219
+ prompt += '\n';
1220
+ }
1221
+ prompt += `**Strategy:** Fix source errors first, as they may automatically resolve multiple cascading errors.
1222
+
1223
+ `;
1224
+ }
1225
+ if (attemptHistory && attemptHistory.length > 0) {
1226
+ prompt += buildRetryHistorySection(attemptHistory);
1227
+ prompt += '\n';
1228
+ }
1074
1229
  if (buildOutput && buildOutput.trim().length > 0) {
1075
1230
  prompt += `Build Output:
1076
1231
  \`\`\`
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@ export { runPlanningAgent } from './planning.js';
4
4
  export { runImplementationAgent } from './implementation.js';
5
5
  export { runReviewAgent, createPullRequest } from './review.js';
6
6
  export { runReworkAgent, determineTargetPhase, packageReworkContext } from './rework.js';
7
+ export { runSingleTaskAgent, buildTaskPrompt, parseTaskResult, verifyChanges, detectScopeViolation, } from './single-task.js';
8
+ export { runImplementationOrchestrator, buildTaskContext, evaluateTaskResult, getNextTask, } from './orchestrator.js';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
@@ -5,4 +5,6 @@ export { runPlanningAgent } from './planning.js';
5
5
  export { runImplementationAgent } from './implementation.js';
6
6
  export { runReviewAgent, createPullRequest } from './review.js';
7
7
  export { runReworkAgent, determineTargetPhase, packageReworkContext } from './rework.js';
8
+ export { runSingleTaskAgent, buildTaskPrompt, parseTaskResult, verifyChanges, detectScopeViolation, } from './single-task.js';
9
+ export { runImplementationOrchestrator, buildTaskContext, evaluateTaskResult, getNextTask, } from './orchestrator.js';
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Sequential Task Orchestrator
3
+ *
4
+ * Orchestrates implementation by running each task as an isolated agent,
5
+ * preventing context window exhaustion and enabling intelligent retry/recovery.
6
+ */
7
+ import { ImplementationTask, TaskProgress, AgentTaskResult, OrchestratorOptions, OrchestratorResult, TaskContext } from '../types/index.js';
8
+ /**
9
+ * Build minimal context for a single task
10
+ *
11
+ * Extracts relevant acceptance criteria, existing file contents, and project conventions.
12
+ * Truncates if context exceeds reasonable size (~2000 chars for projectPatterns).
13
+ *
14
+ * @param task - Task to build context for
15
+ * @param storyContent - Full story content
16
+ * @param workingDirectory - Working directory for task execution
17
+ * @returns Minimal task context
18
+ */
19
+ export declare function buildTaskContext(task: ImplementationTask, storyContent: string, workingDirectory: string): TaskContext;
20
+ /**
21
+ * Evaluate task result and categorize failure type
22
+ *
23
+ * Returns:
24
+ * - 'success': Task completed successfully
25
+ * - 'recoverable': Failure that can be retried (timeout, transient error, verification failed)
26
+ * - 'unrecoverable': Failure that should stop orchestration (deps not met, impossible task, max retries)
27
+ *
28
+ * @param result - Result from single-task agent execution
29
+ * @param attemptCount - Number of attempts made so far (including this one)
30
+ * @param maxRetries - Maximum retry attempts allowed
31
+ * @returns Failure category
32
+ */
33
+ export declare function evaluateTaskResult(result: AgentTaskResult, attemptCount: number, maxRetries: number): 'success' | 'recoverable' | 'unrecoverable';
34
+ /**
35
+ * Get next task to execute based on dependencies and progress
36
+ *
37
+ * Returns task with status 'pending' or 'in_progress' whose dependencies are all completed.
38
+ * Detects circular dependencies and throws error.
39
+ *
40
+ * @param tasks - All tasks from implementation plan
41
+ * @param progress - Current task progress
42
+ * @returns Next eligible task or null if none available
43
+ * @throws Error if circular dependency detected
44
+ */
45
+ export declare function getNextTask(tasks: ImplementationTask[], progress: TaskProgress[]): ImplementationTask | null;
46
+ /**
47
+ * Run implementation orchestrator
48
+ *
49
+ * Main orchestration loop:
50
+ * 1. Parse tasks from plan
51
+ * 2. Load/initialize progress
52
+ * 3. Loop: get next task → run agent → evaluate → commit → repeat
53
+ * 4. Return summary result
54
+ *
55
+ * @param storyPath - Absolute path to story.md file
56
+ * @param sdlcRoot - SDLC root directory
57
+ * @param options - Orchestrator options
58
+ * @returns Orchestration result summary
59
+ */
60
+ export declare function runImplementationOrchestrator(storyPath: string, sdlcRoot: string, options?: OrchestratorOptions): Promise<OrchestratorResult>;
61
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,kBAAkB,EAClB,YAAY,EAEZ,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAElB,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAuB3B;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,WAAW,CA2Eb;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,SAAS,GAAG,aAAa,GAAG,eAAe,CA8E7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,QAAQ,EAAE,YAAY,EAAE,GACvB,kBAAkB,GAAG,IAAI,CAkD3B;AAqED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAkM7B"}