ai-sdlc 0.2.0-alpha.6 → 0.2.0-alpha.61

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 (143) hide show
  1. package/README.md +65 -1057
  2. package/dist/agents/implementation.d.ts +36 -1
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +259 -30
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/index.d.ts +2 -0
  7. package/dist/agents/index.d.ts.map +1 -1
  8. package/dist/agents/index.js +2 -0
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/agents/orchestrator.d.ts +61 -0
  11. package/dist/agents/orchestrator.d.ts.map +1 -0
  12. package/dist/agents/orchestrator.js +443 -0
  13. package/dist/agents/orchestrator.js.map +1 -0
  14. package/dist/agents/planning.d.ts +1 -1
  15. package/dist/agents/planning.d.ts.map +1 -1
  16. package/dist/agents/planning.js +55 -4
  17. package/dist/agents/planning.js.map +1 -1
  18. package/dist/agents/refinement.d.ts.map +1 -1
  19. package/dist/agents/refinement.js +22 -3
  20. package/dist/agents/refinement.js.map +1 -1
  21. package/dist/agents/research.d.ts +85 -1
  22. package/dist/agents/research.d.ts.map +1 -1
  23. package/dist/agents/research.js +506 -16
  24. package/dist/agents/research.js.map +1 -1
  25. package/dist/agents/review.d.ts +116 -2
  26. package/dist/agents/review.d.ts.map +1 -1
  27. package/dist/agents/review.js +847 -93
  28. package/dist/agents/review.js.map +1 -1
  29. package/dist/agents/rework.d.ts.map +1 -1
  30. package/dist/agents/rework.js +25 -4
  31. package/dist/agents/rework.js.map +1 -1
  32. package/dist/agents/single-task.d.ts +41 -0
  33. package/dist/agents/single-task.d.ts.map +1 -0
  34. package/dist/agents/single-task.js +357 -0
  35. package/dist/agents/single-task.js.map +1 -0
  36. package/dist/agents/state-assessor.d.ts +3 -3
  37. package/dist/agents/state-assessor.d.ts.map +1 -1
  38. package/dist/agents/state-assessor.js +6 -6
  39. package/dist/agents/state-assessor.js.map +1 -1
  40. package/dist/agents/test-pattern-detector.d.ts +49 -0
  41. package/dist/agents/test-pattern-detector.d.ts.map +1 -0
  42. package/dist/agents/test-pattern-detector.js +273 -0
  43. package/dist/agents/test-pattern-detector.js.map +1 -0
  44. package/dist/agents/verification.d.ts +11 -0
  45. package/dist/agents/verification.d.ts.map +1 -1
  46. package/dist/agents/verification.js +99 -12
  47. package/dist/agents/verification.js.map +1 -1
  48. package/dist/cli/batch-processor.d.ts +64 -0
  49. package/dist/cli/batch-processor.d.ts.map +1 -0
  50. package/dist/cli/batch-processor.js +85 -0
  51. package/dist/cli/batch-processor.js.map +1 -0
  52. package/dist/cli/batch-validator.d.ts +80 -0
  53. package/dist/cli/batch-validator.d.ts.map +1 -0
  54. package/dist/cli/batch-validator.js +121 -0
  55. package/dist/cli/batch-validator.js.map +1 -0
  56. package/dist/cli/commands/migrate.js +1 -1
  57. package/dist/cli/commands/migrate.js.map +1 -1
  58. package/dist/cli/commands.d.ts +67 -3
  59. package/dist/cli/commands.d.ts.map +1 -1
  60. package/dist/cli/commands.js +1765 -198
  61. package/dist/cli/commands.js.map +1 -1
  62. package/dist/cli/daemon.d.ts.map +1 -1
  63. package/dist/cli/daemon.js +25 -3
  64. package/dist/cli/daemon.js.map +1 -1
  65. package/dist/cli/runner.d.ts.map +1 -1
  66. package/dist/cli/runner.js +35 -12
  67. package/dist/cli/runner.js.map +1 -1
  68. package/dist/core/auth.d.ts +43 -0
  69. package/dist/core/auth.d.ts.map +1 -1
  70. package/dist/core/auth.js +105 -1
  71. package/dist/core/auth.js.map +1 -1
  72. package/dist/core/client.d.ts +25 -1
  73. package/dist/core/client.d.ts.map +1 -1
  74. package/dist/core/client.js +247 -7
  75. package/dist/core/client.js.map +1 -1
  76. package/dist/core/config.d.ts +32 -1
  77. package/dist/core/config.d.ts.map +1 -1
  78. package/dist/core/config.js +146 -3
  79. package/dist/core/config.js.map +1 -1
  80. package/dist/core/conflict-detector.d.ts +108 -0
  81. package/dist/core/conflict-detector.d.ts.map +1 -0
  82. package/dist/core/conflict-detector.js +413 -0
  83. package/dist/core/conflict-detector.js.map +1 -0
  84. package/dist/core/git-utils.d.ts +28 -0
  85. package/dist/core/git-utils.d.ts.map +1 -0
  86. package/dist/core/git-utils.js +146 -0
  87. package/dist/core/git-utils.js.map +1 -0
  88. package/dist/core/index.d.ts +19 -0
  89. package/dist/core/index.d.ts.map +1 -0
  90. package/dist/core/index.js +19 -0
  91. package/dist/core/index.js.map +1 -0
  92. package/dist/core/kanban.d.ts +1 -1
  93. package/dist/core/kanban.d.ts.map +1 -1
  94. package/dist/core/kanban.js +3 -3
  95. package/dist/core/kanban.js.map +1 -1
  96. package/dist/core/llm-utils.d.ts +103 -0
  97. package/dist/core/llm-utils.d.ts.map +1 -0
  98. package/dist/core/llm-utils.js +368 -0
  99. package/dist/core/llm-utils.js.map +1 -0
  100. package/dist/core/logger.d.ts +92 -0
  101. package/dist/core/logger.d.ts.map +1 -0
  102. package/dist/core/logger.js +221 -0
  103. package/dist/core/logger.js.map +1 -0
  104. package/dist/core/process-manager.d.ts +15 -0
  105. package/dist/core/process-manager.d.ts.map +1 -0
  106. package/dist/core/process-manager.js +132 -0
  107. package/dist/core/process-manager.js.map +1 -0
  108. package/dist/core/story-logger.d.ts +102 -0
  109. package/dist/core/story-logger.d.ts.map +1 -0
  110. package/dist/core/story-logger.js +265 -0
  111. package/dist/core/story-logger.js.map +1 -0
  112. package/dist/core/story.d.ts +113 -20
  113. package/dist/core/story.d.ts.map +1 -1
  114. package/dist/core/story.js +328 -40
  115. package/dist/core/story.js.map +1 -1
  116. package/dist/core/task-parser.d.ts +59 -0
  117. package/dist/core/task-parser.d.ts.map +1 -0
  118. package/dist/core/task-parser.js +235 -0
  119. package/dist/core/task-parser.js.map +1 -0
  120. package/dist/core/task-progress.d.ts +92 -0
  121. package/dist/core/task-progress.d.ts.map +1 -0
  122. package/dist/core/task-progress.js +280 -0
  123. package/dist/core/task-progress.js.map +1 -0
  124. package/dist/core/workflow-state.d.ts +45 -6
  125. package/dist/core/workflow-state.d.ts.map +1 -1
  126. package/dist/core/workflow-state.js +201 -12
  127. package/dist/core/workflow-state.js.map +1 -1
  128. package/dist/core/worktree.d.ts +186 -0
  129. package/dist/core/worktree.d.ts.map +1 -0
  130. package/dist/core/worktree.js +554 -0
  131. package/dist/core/worktree.js.map +1 -0
  132. package/dist/index.js +146 -5
  133. package/dist/index.js.map +1 -1
  134. package/dist/services/error-classifier.d.ts +119 -0
  135. package/dist/services/error-classifier.d.ts.map +1 -0
  136. package/dist/services/error-classifier.js +182 -0
  137. package/dist/services/error-classifier.js.map +1 -0
  138. package/dist/types/index.d.ts +381 -1
  139. package/dist/types/index.d.ts.map +1 -1
  140. package/dist/types/index.js +1 -0
  141. package/dist/types/index.js.map +1 -1
  142. package/package.json +5 -2
  143. package/templates/story.md +5 -0
@@ -1,4 +1,4 @@
1
- import { 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
  *
@@ -23,6 +23,82 @@ export declare function generateTDDIssues(violations: string[]): ReviewIssue[];
23
23
  * Progress callback for verification steps
24
24
  */
25
25
  export type VerificationProgressCallback = (phase: 'build' | 'test', status: 'starting' | 'running' | 'passed' | 'failed', message?: string) => void;
26
+ /**
27
+ * Derive individual perspective pass/fail status from issues
28
+ *
29
+ * For backward compatibility with ReviewAttempt structure, determines whether
30
+ * each perspective (code, security, po) would pass based on issues flagged
31
+ * for that perspective.
32
+ *
33
+ * A perspective fails if it has any blocker or critical issues.
34
+ *
35
+ * @param issues - Array of review issues with perspectives field
36
+ * @returns Object with pass/fail status for each perspective
37
+ */
38
+ export declare function deriveIndividualPassFailFromPerspectives(issues: ReviewIssue[]): {
39
+ codeReviewPassed: boolean;
40
+ securityReviewPassed: boolean;
41
+ poReviewPassed: boolean;
42
+ };
43
+ /**
44
+ * Get source code changes from git diff
45
+ *
46
+ * Returns list of source files that have been modified (excludes tests and story files).
47
+ * Uses spawnSync for security (prevents command injection).
48
+ *
49
+ * @param workingDir - Working directory to run git diff in
50
+ * @returns Array of source file paths that have changed, or ['unknown'] if git fails
51
+ */
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;
92
+ /**
93
+ * Check if test files exist in git diff
94
+ *
95
+ * Returns true if any test files have been modified/added, false otherwise.
96
+ * Uses spawnSync for security (prevents command injection).
97
+ *
98
+ * @param workingDir - Working directory to run git diff in
99
+ * @returns True if test files exist in changes, false otherwise
100
+ */
101
+ export declare function hasTestFiles(workingDir: string): boolean;
26
102
  /**
27
103
  * Generate executive summary from review issues (1-3 sentences)
28
104
  *
@@ -49,8 +125,46 @@ export interface ReviewAgentOptions {
49
125
  * Now returns structured ReviewResult with pass/fail and issues.
50
126
  */
51
127
  export declare function runReviewAgent(storyPath: string, sdlcRoot: string, options?: ReviewAgentOptions): Promise<ReviewResult>;
128
+ /**
129
+ * Parse story content into sections by level-2 headers (##)
130
+ * Returns array of {title, content} objects
131
+ */
132
+ export declare function parseContentSections(content: string): Array<{
133
+ title: string;
134
+ content: string;
135
+ }>;
136
+ /**
137
+ * Remove unfinished checkboxes from content (per CLAUDE.md requirement)
138
+ * Removes lines with `- [ ]` or `* [ ]` patterns
139
+ * Preserves completed checkboxes `- [x]` and `- [X]`
140
+ */
141
+ export declare function removeUnfinishedCheckboxes(content: string): string;
142
+ /**
143
+ * Generate GitHub blob URL for story file
144
+ * Parses remote URL and constructs link to story in repository
145
+ */
146
+ export declare function getStoryFileURL(storyPath: string, branch: string, workingDir: string): string;
147
+ /**
148
+ * Format PR description from story sections
149
+ * Includes: Story ID, User Story, Summary, Acceptance Criteria, Implementation Summary
150
+ * Removes unfinished checkboxes from all sections
151
+ */
152
+ export declare function formatPRDescription(story: Story, storyFileUrl: string): string;
153
+ /**
154
+ * Truncate PR body to respect GitHub's 65K character limit
155
+ * Truncates Implementation Summary first (most verbose section)
156
+ * Adds clear truncation indicator with story link
157
+ */
158
+ export declare function truncatePRBody(body: string, maxLength?: number): string;
159
+ /**
160
+ * Options for creating a pull request
161
+ */
162
+ export interface CreatePROptions {
163
+ /** Create as draft PR (if not specified, uses config github.createDraftPRs) */
164
+ draft?: boolean;
165
+ }
52
166
  /**
53
167
  * Create a pull request for the completed story
54
168
  */
55
- export declare function createPullRequest(storyPath: string, sdlcRoot: string): Promise<AgentResult>;
169
+ export declare function createPullRequest(storyPath: string, sdlcRoot: string, options?: CreatePROptions): Promise<AgentResult>;
56
170
  //# sourceMappingURL=review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAOA,OAAO,EAAS,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkH5K;;;;;;;;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;AAsVrJ;;;;;;;;;;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,CA0PvB;AAgCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAgItB"}
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"}