ai-sdlc 0.2.1-alpha.1 → 0.3.0-alpha.1

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 (60) hide show
  1. package/README.md +19 -6
  2. package/dist/agents/implementation.d.ts +30 -1
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +108 -17
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/review.d.ts +40 -1
  7. package/dist/agents/review.d.ts.map +1 -1
  8. package/dist/agents/review.js +276 -44
  9. package/dist/agents/review.js.map +1 -1
  10. package/dist/agents/rework.d.ts.map +1 -1
  11. package/dist/agents/rework.js +3 -1
  12. package/dist/agents/rework.js.map +1 -1
  13. package/dist/agents/verification.d.ts.map +1 -1
  14. package/dist/agents/verification.js +26 -12
  15. package/dist/agents/verification.js.map +1 -1
  16. package/dist/cli/batch-processor.d.ts +64 -0
  17. package/dist/cli/batch-processor.d.ts.map +1 -0
  18. package/dist/cli/batch-processor.js +85 -0
  19. package/dist/cli/batch-processor.js.map +1 -0
  20. package/dist/cli/batch-validator.d.ts +80 -0
  21. package/dist/cli/batch-validator.d.ts.map +1 -0
  22. package/dist/cli/batch-validator.js +121 -0
  23. package/dist/cli/batch-validator.js.map +1 -0
  24. package/dist/cli/commands.d.ts +8 -0
  25. package/dist/cli/commands.d.ts.map +1 -1
  26. package/dist/cli/commands.js +756 -46
  27. package/dist/cli/commands.js.map +1 -1
  28. package/dist/cli/daemon.d.ts.map +1 -1
  29. package/dist/cli/daemon.js +5 -0
  30. package/dist/cli/daemon.js.map +1 -1
  31. package/dist/cli/runner.d.ts.map +1 -1
  32. package/dist/cli/runner.js +17 -2
  33. package/dist/cli/runner.js.map +1 -1
  34. package/dist/core/client.d.ts +19 -1
  35. package/dist/core/client.d.ts.map +1 -1
  36. package/dist/core/client.js +191 -5
  37. package/dist/core/client.js.map +1 -1
  38. package/dist/core/config.d.ts +9 -1
  39. package/dist/core/config.d.ts.map +1 -1
  40. package/dist/core/config.js +47 -0
  41. package/dist/core/config.js.map +1 -1
  42. package/dist/core/process-manager.d.ts +15 -0
  43. package/dist/core/process-manager.d.ts.map +1 -0
  44. package/dist/core/process-manager.js +132 -0
  45. package/dist/core/process-manager.js.map +1 -0
  46. package/dist/core/story.d.ts +24 -0
  47. package/dist/core/story.d.ts.map +1 -1
  48. package/dist/core/story.js +74 -0
  49. package/dist/core/story.js.map +1 -1
  50. package/dist/core/worktree.d.ts +111 -2
  51. package/dist/core/worktree.d.ts.map +1 -1
  52. package/dist/core/worktree.js +310 -2
  53. package/dist/core/worktree.js.map +1 -1
  54. package/dist/index.js +11 -0
  55. package/dist/index.js.map +1 -1
  56. package/dist/types/index.d.ts +47 -0
  57. package/dist/types/index.d.ts.map +1 -1
  58. package/dist/types/index.js.map +1 -1
  59. package/package.json +2 -2
  60. package/templates/story.md +5 -0
package/README.md CHANGED
@@ -68,23 +68,36 @@ Refine → Research → Plan → Implement → Review → Create PR → Done
68
68
 
69
69
  ## Configuration
70
70
 
71
- Settings in `.ai-sdlc.json`:
71
+ Configure ai-sdlc behavior via a `.ai-sdlc.json` file in your project root. If no configuration file exists, ai-sdlc uses sensible defaults.
72
72
 
73
+ **Key configuration areas:**
74
+ - **Stage gates** - Control approval requirements before implementation and PR creation
75
+ - **Timeouts** - Configure operation timeouts (agent, build, test)
76
+ - **Retry policies** - Control automatic retry behavior for review and implementation failures
77
+ - **TDD mode** - Enable test-driven development with red-green-refactor cycles
78
+ - **Worktree isolation** - Use git worktrees for parallel story development
79
+ - **Environment variable overrides** - Use `AI_SDLC_*` variables for CI/CD or temporary changes
80
+
81
+ **Minimal example** (uses all defaults):
82
+ ```json
83
+ {}
84
+ ```
85
+
86
+ **Basic customization**:
73
87
  ```json
74
88
  {
75
89
  "sdlcFolder": ".ai-sdlc",
76
90
  "stageGates": {
77
- "requireApprovalBeforeImplementation": false,
78
- "requireApprovalBeforePR": false
91
+ "requireApprovalBeforeImplementation": true
79
92
  },
80
- "tdd": {
81
- "enabled": false
93
+ "timeouts": {
94
+ "agentTimeout": 1800000
82
95
  },
83
96
  "theme": "auto"
84
97
  }
85
98
  ```
86
99
 
87
- **TDD Mode**: Enable per-story with `tdd_enabled: true` in frontmatter, or globally via config.
100
+ 📖 **[Complete Configuration Reference](docs/configuration.md)** - Detailed documentation of all configuration options, validation rules, environment variables, and 5 complete example configurations.
88
101
 
89
102
  ## Authentication
90
103
 
@@ -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,6 +1,7 @@
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';
@@ -61,6 +62,7 @@ export async function runSingleTest(testFile, workingDir, testTimeout) {
61
62
  cwd: workingDir,
62
63
  stdio: ['pipe', 'pipe', 'pipe'],
63
64
  });
65
+ ProcessManager.getInstance().registerChild(child);
64
66
  const timeoutId = setTimeout(() => {
65
67
  killed = true;
66
68
  child.kill('SIGTERM');
@@ -108,6 +110,7 @@ export async function runAllTests(workingDir, testTimeout) {
108
110
  cwd: workingDir,
109
111
  stdio: ['pipe', 'pipe', 'pipe'],
110
112
  });
113
+ ProcessManager.getInstance().registerChild(child);
111
114
  const timeoutId = setTimeout(() => {
112
115
  killed = true;
113
116
  child.kill('SIGTERM');
@@ -570,7 +573,7 @@ severity issues - these must be resolved. Review the specific feedback and make
570
573
  }
571
574
  // Add retry context if this is a retry attempt
572
575
  if (attemptNumber > 1 && lastVerification) {
573
- prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries);
576
+ prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries, attemptHistory);
574
577
  }
575
578
  else {
576
579
  prompt += `
@@ -610,6 +613,31 @@ ${implementationResult}
610
613
  updatedStory.content += '\n\n' + implementationNotes;
611
614
  await writeStory(updatedStory);
612
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;
613
641
  changesMade.push('Running verification before marking complete...');
614
642
  const verification = await verifyImplementation(updatedStory, workingDir);
615
643
  await updateStoryField(updatedStory, 'last_test_run', {
@@ -633,10 +661,10 @@ ${implementationResult}
633
661
  }
634
662
  // Verification failed - check for retry conditions
635
663
  lastVerification = verification;
636
- // Capture current diff hash for no-change detection
637
- const currentDiffHash = captureCurrentDiffHash(workingDir);
638
664
  // Track retry attempt
639
665
  await incrementImplementationRetryCount(updatedStory);
666
+ // Increment global recovery counter
667
+ await incrementTotalRecoveryAttempts(updatedStory);
640
668
  // Extract first 100 chars of test and build output for history
641
669
  const testSnippet = verification.testsOutput.substring(0, 100).replace(/\n/g, ' ');
642
670
  const buildSnippet = verification.buildOutput.substring(0, 100).replace(/\n/g, ' ');
@@ -646,6 +674,8 @@ ${implementationResult}
646
674
  verification.buildOutput.includes('Error') ||
647
675
  verification.buildOutput.includes('failed'));
648
676
  const buildFailures = hasBuildErrors ? 1 : 0;
677
+ // Determine outcome based on what failed
678
+ const outcome = hasBuildErrors ? 'failed_build' : 'failed_tests';
649
679
  // Record this attempt in history with both test and build failures
650
680
  attemptHistory.push({
651
681
  attempt: attemptNumber,
@@ -653,6 +683,8 @@ ${implementationResult}
653
683
  buildFailures,
654
684
  testSnippet,
655
685
  buildSnippet,
686
+ changesSummary,
687
+ outcome,
656
688
  });
657
689
  // Add structured retry entry to changes array
658
690
  if (attemptNumber > 1) {
@@ -661,17 +693,6 @@ ${implementationResult}
661
693
  else {
662
694
  changesMade.push(`Attempt ${attemptNumber}: ${verification.failures} test(s) failing`);
663
695
  }
664
- // Check for no-change scenario (agent made no progress)
665
- // Only check after first failure (attemptNumber > 1)
666
- // Check this BEFORE max retries to fail fast on identical changes
667
- if (attemptNumber > 1 && lastDiffHash && lastDiffHash === currentDiffHash) {
668
- return {
669
- success: false,
670
- story: parseStory(storyPath),
671
- changesMade,
672
- 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)}`,
673
- };
674
- }
675
696
  // Check if we've reached max retries
676
697
  if (attemptHistory.length > maxRetries) {
677
698
  const attemptSummary = attemptHistory
@@ -702,7 +723,6 @@ ${implementationResult}
702
723
  error: `Implementation blocked after ${attemptNumber} attempts:\n${attemptSummary}\n\nLast test output:\n${truncateTestOutput(verification.testsOutput, 5000)}`,
703
724
  };
704
725
  }
705
- lastDiffHash = currentDiffHash;
706
726
  // Continue to next retry attempt - send progress update
707
727
  if (onProgress) {
708
728
  onProgress({ type: 'assistant_message', content: `Retry ${attemptNumber} failed: ${verification.failures} test(s) failing, attempting retry ${attemptNumber + 1}...` });
@@ -992,6 +1012,72 @@ export function captureCurrentDiffHash(workingDir) {
992
1012
  export function hasChangesOccurred(previousHash, currentHash) {
993
1013
  return previousHash !== currentHash;
994
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
+ }
995
1081
  /**
996
1082
  * Sanitize test output to remove ANSI escape sequences and potential injection patterns
997
1083
  * @param output Test output string
@@ -1077,9 +1163,10 @@ export function detectMissingDependencies(output) {
1077
1163
  * @param buildOutput Build output
1078
1164
  * @param attemptNumber Current attempt number (1-indexed)
1079
1165
  * @param maxRetries Maximum number of retries
1166
+ * @param attemptHistory Optional history of previous attempts
1080
1167
  * @returns Prompt string for retry attempt
1081
1168
  */
1082
- export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries) {
1169
+ export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries, attemptHistory) {
1083
1170
  const truncatedTestOutput = truncateTestOutput(testOutput);
1084
1171
  const truncatedBuildOutput = truncateTestOutput(buildOutput);
1085
1172
  // Detect if this is a dependency issue
@@ -1135,6 +1222,10 @@ This is NOT a code bug - the packages need to be installed. Before making any co
1135
1222
 
1136
1223
  `;
1137
1224
  }
1225
+ if (attemptHistory && attemptHistory.length > 0) {
1226
+ prompt += buildRetryHistorySection(attemptHistory);
1227
+ prompt += '\n';
1228
+ }
1138
1229
  if (buildOutput && buildOutput.trim().length > 0) {
1139
1230
  prompt += `Build Output:
1140
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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"}
@@ -1,4 +1,4 @@
1
- import { Story, AgentResult, ReviewResult, ReviewIssue, TDDTestCycle } from '../types/index.js';
1
+ import { Story, AgentResult, ReviewResult, ReviewIssue, TDDTestCycle, ContentType } from '../types/index.js';
2
2
  /**
3
3
  * Validate TDD cycles for completeness
4
4
  *
@@ -50,6 +50,45 @@ export declare function deriveIndividualPassFailFromPerspectives(issues: ReviewI
50
50
  * @returns Array of source file paths that have changed, or ['unknown'] if git fails
51
51
  */
52
52
  export declare function getSourceCodeChanges(workingDir: string): string[];
53
+ /**
54
+ * Get configuration file changes from git diff
55
+ *
56
+ * Detects changes to configuration files including:
57
+ * - .claude/ directory (Agent SDK skills, CLAUDE.md)
58
+ * - .github/ directory (workflows, actions, issue templates)
59
+ * - Root config files (tsconfig.json, package.json, .gitignore, vitest.config.ts, etc.)
60
+ *
61
+ * Uses spawnSync for security (prevents command injection).
62
+ *
63
+ * @param workingDir - Working directory to run git diff in
64
+ * @returns Array of configuration file paths that have changed, or ['unknown'] if git fails
65
+ */
66
+ export declare function getConfigurationChanges(workingDir: string): string[];
67
+ /**
68
+ * Get documentation file changes from git diff
69
+ *
70
+ * Detects changes to documentation files including:
71
+ * - Markdown files (.md) anywhere in the project (excluding story files)
72
+ * - docs/ directory (any file type)
73
+ *
74
+ * Uses spawnSync for security (prevents command injection).
75
+ *
76
+ * @param workingDir - Working directory to run git diff in
77
+ * @returns Array of documentation file paths that have changed, or ['unknown'] if git fails
78
+ */
79
+ export declare function getDocumentationChanges(workingDir: string): string[];
80
+ /**
81
+ * Determine the effective content type for validation
82
+ *
83
+ * Resolves the final content type based on story frontmatter fields:
84
+ * 1. If requires_source_changes === false, treat as 'configuration'
85
+ * 2. If requires_source_changes === true, treat as 'code'
86
+ * 3. Otherwise, use content_type field (default: 'code' for backward compatibility)
87
+ *
88
+ * @param story - Story with frontmatter to analyze
89
+ * @returns The effective content type to use for validation
90
+ */
91
+ export declare function determineEffectiveContentType(story: Story): ContentType;
53
92
  /**
54
93
  * Check if test files exist in git diff
55
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAqH5K;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAuZrJ;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB,CAsBA;AAsED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2BxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+YvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,MAAM,CAqC9E;AAgCD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAqKtB"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqHzL;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAyZrJ;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB,CAsBA;AAsED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAqDpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAgCpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAavE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2BxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA4fvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,MAAM,CAqC9E;AAgCD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAqKtB"}