ai-sdlc 0.2.0-alpha.1 → 0.2.0-alpha.11

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 (55) hide show
  1. package/dist/agents/implementation.d.ts +69 -0
  2. package/dist/agents/implementation.d.ts.map +1 -1
  3. package/dist/agents/implementation.js +481 -79
  4. package/dist/agents/implementation.js.map +1 -1
  5. package/dist/agents/refinement.js +4 -4
  6. package/dist/agents/refinement.js.map +1 -1
  7. package/dist/agents/review.d.ts +12 -0
  8. package/dist/agents/review.d.ts.map +1 -1
  9. package/dist/agents/review.js +98 -7
  10. package/dist/agents/review.js.map +1 -1
  11. package/dist/cli/commands.d.ts +29 -0
  12. package/dist/cli/commands.d.ts.map +1 -1
  13. package/dist/cli/commands.js +568 -159
  14. package/dist/cli/commands.js.map +1 -1
  15. package/dist/cli/daemon.d.ts.map +1 -1
  16. package/dist/cli/daemon.js +20 -7
  17. package/dist/cli/daemon.js.map +1 -1
  18. package/dist/cli/formatting.js +1 -1
  19. package/dist/cli/formatting.js.map +1 -1
  20. package/dist/cli/runner.d.ts.map +1 -1
  21. package/dist/cli/runner.js +34 -15
  22. package/dist/cli/runner.js.map +1 -1
  23. package/dist/core/auth.d.ts +8 -2
  24. package/dist/core/auth.d.ts.map +1 -1
  25. package/dist/core/auth.js +163 -7
  26. package/dist/core/auth.js.map +1 -1
  27. package/dist/core/client.d.ts.map +1 -1
  28. package/dist/core/client.js +11 -1
  29. package/dist/core/client.js.map +1 -1
  30. package/dist/core/config.d.ts +32 -1
  31. package/dist/core/config.d.ts.map +1 -1
  32. package/dist/core/config.js +135 -1
  33. package/dist/core/config.js.map +1 -1
  34. package/dist/core/git-utils.d.ts +19 -0
  35. package/dist/core/git-utils.d.ts.map +1 -0
  36. package/dist/core/git-utils.js +95 -0
  37. package/dist/core/git-utils.js.map +1 -0
  38. package/dist/core/kanban.d.ts +0 -5
  39. package/dist/core/kanban.d.ts.map +1 -1
  40. package/dist/core/kanban.js +7 -46
  41. package/dist/core/kanban.js.map +1 -1
  42. package/dist/core/story.d.ts +56 -2
  43. package/dist/core/story.d.ts.map +1 -1
  44. package/dist/core/story.js +227 -29
  45. package/dist/core/story.js.map +1 -1
  46. package/dist/core/worktree.d.ts +68 -0
  47. package/dist/core/worktree.d.ts.map +1 -0
  48. package/dist/core/worktree.js +195 -0
  49. package/dist/core/worktree.js.map +1 -0
  50. package/dist/index.js +29 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/types/index.d.ts +40 -0
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/index.js.map +1 -1
  55. package/package.json +1 -1
@@ -44,6 +44,19 @@ export declare function runAllTests(workingDir: string, testTimeout: number): Pr
44
44
  passed: boolean;
45
45
  output: string;
46
46
  }>;
47
+ /**
48
+ * Commit changes if all tests pass
49
+ *
50
+ * @param workingDir - The working directory for git operations
51
+ * @param message - The commit message
52
+ * @param testTimeout - Timeout for running tests
53
+ * @param testRunner - Optional test runner for dependency injection (defaults to runAllTests)
54
+ * @returns Object indicating whether commit was made and reason if not
55
+ */
56
+ export declare function commitIfAllTestsPass(workingDir: string, message: string, testTimeout: number, testRunner?: typeof runAllTests): Promise<{
57
+ committed: boolean;
58
+ reason?: string;
59
+ }>;
47
60
  /**
48
61
  * RED Phase: Write a failing test
49
62
  *
@@ -80,10 +93,66 @@ export declare function checkACCoverage(story: Story): boolean;
80
93
  * or the maximum number of cycles is reached.
81
94
  */
82
95
  export declare function runTDDImplementation(story: Story, sdlcRoot: string, options?: TDDImplementationOptions): Promise<AgentResult>;
96
+ /**
97
+ * Options for the retry loop
98
+ */
99
+ export interface RetryAttemptOptions {
100
+ story: Story;
101
+ storyPath: string;
102
+ workingDir: string;
103
+ maxRetries: number;
104
+ reworkContext?: string;
105
+ onProgress?: AgentProgressCallback;
106
+ }
107
+ /**
108
+ * Attempt implementation with retry logic
109
+ *
110
+ * Runs the implementation loop, retrying on test failures up to maxRetries times.
111
+ * Includes no-change detection to exit early if the agent makes no progress.
112
+ *
113
+ * @param options Retry attempt options
114
+ * @param changesMade Array to track changes (mutated in place)
115
+ * @returns AgentResult with success/failure status
116
+ */
117
+ export declare function attemptImplementationWithRetries(options: RetryAttemptOptions, changesMade: string[]): Promise<AgentResult>;
83
118
  /**
84
119
  * Implementation Agent
85
120
  *
86
121
  * Executes the implementation plan, creating code changes and tests.
87
122
  */
88
123
  export declare function runImplementationAgent(storyPath: string, sdlcRoot: string, options?: AgentOptions): Promise<AgentResult>;
124
+ /**
125
+ * Capture the current git diff hash for no-change detection
126
+ * @param workingDir The working directory
127
+ * @returns SHA256 hash of git diff HEAD
128
+ */
129
+ export declare function captureCurrentDiffHash(workingDir: string): string;
130
+ /**
131
+ * Check if changes have occurred since last diff hash
132
+ * @param previousHash Previous diff hash
133
+ * @param currentHash Current diff hash
134
+ * @returns True if changes occurred (hashes are different)
135
+ */
136
+ export declare function hasChangesOccurred(previousHash: string, currentHash: string): boolean;
137
+ /**
138
+ * Sanitize test output to remove ANSI escape sequences and potential injection patterns
139
+ * @param output Test output string
140
+ * @returns Sanitized output
141
+ */
142
+ export declare function sanitizeTestOutput(output: string): string;
143
+ /**
144
+ * Truncate test output to prevent overwhelming the LLM
145
+ * @param output Test output string
146
+ * @param maxLength Maximum length (default 5000 chars)
147
+ * @returns Truncated and sanitized output with notice if truncated
148
+ */
149
+ export declare function truncateTestOutput(output: string, maxLength?: number): string;
150
+ /**
151
+ * Build retry prompt for implementation agent
152
+ * @param testOutput Test failure output
153
+ * @param attemptNumber Current attempt number (1-indexed)
154
+ * @param maxRetries Maximum number of retries
155
+ * @returns Prompt string for retry attempt
156
+ */
157
+ export declare function buildRetryPrompt(testOutput: string, buildOutput: string, attemptNumber: number, maxRetries: number): string;
89
158
  //# sourceMappingURL=implementation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7C,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,8zBAuB+B,CAAC;AAuB9D;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD9C;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD9C;AAmDD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAqCzB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAwCzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,cAAc,EAC3B,cAAc,EAAE,cAAc,GAC7B,YAAY,CAYd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAuBrD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,WAAW,CAAC,CA2HtB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAkLtB"}
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}