ai-sdlc 0.2.0-alpha.5 → 0.2.0-alpha.51

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 (131) hide show
  1. package/README.md +53 -1058
  2. package/dist/agents/implementation.d.ts +6 -0
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +151 -13
  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 +103 -2
  26. package/dist/agents/review.d.ts.map +1 -1
  27. package/dist/agents/review.js +775 -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 +22 -3
  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 +97 -12
  47. package/dist/agents/verification.js.map +1 -1
  48. package/dist/cli/commands/migrate.js +1 -1
  49. package/dist/cli/commands/migrate.js.map +1 -1
  50. package/dist/cli/commands.d.ts +65 -3
  51. package/dist/cli/commands.d.ts.map +1 -1
  52. package/dist/cli/commands.js +1108 -204
  53. package/dist/cli/commands.js.map +1 -1
  54. package/dist/cli/daemon.d.ts.map +1 -1
  55. package/dist/cli/daemon.js +20 -3
  56. package/dist/cli/daemon.js.map +1 -1
  57. package/dist/cli/runner.d.ts.map +1 -1
  58. package/dist/cli/runner.js +19 -11
  59. package/dist/cli/runner.js.map +1 -1
  60. package/dist/core/auth.d.ts +43 -0
  61. package/dist/core/auth.d.ts.map +1 -1
  62. package/dist/core/auth.js +105 -1
  63. package/dist/core/auth.js.map +1 -1
  64. package/dist/core/client.d.ts +6 -0
  65. package/dist/core/client.d.ts.map +1 -1
  66. package/dist/core/client.js +57 -3
  67. package/dist/core/client.js.map +1 -1
  68. package/dist/core/config.d.ts +24 -1
  69. package/dist/core/config.d.ts.map +1 -1
  70. package/dist/core/config.js +100 -3
  71. package/dist/core/config.js.map +1 -1
  72. package/dist/core/conflict-detector.d.ts +108 -0
  73. package/dist/core/conflict-detector.d.ts.map +1 -0
  74. package/dist/core/conflict-detector.js +413 -0
  75. package/dist/core/conflict-detector.js.map +1 -0
  76. package/dist/core/git-utils.d.ts +28 -0
  77. package/dist/core/git-utils.d.ts.map +1 -0
  78. package/dist/core/git-utils.js +146 -0
  79. package/dist/core/git-utils.js.map +1 -0
  80. package/dist/core/index.d.ts +19 -0
  81. package/dist/core/index.d.ts.map +1 -0
  82. package/dist/core/index.js +19 -0
  83. package/dist/core/index.js.map +1 -0
  84. package/dist/core/kanban.d.ts +1 -1
  85. package/dist/core/kanban.d.ts.map +1 -1
  86. package/dist/core/kanban.js +7 -6
  87. package/dist/core/kanban.js.map +1 -1
  88. package/dist/core/llm-utils.d.ts +103 -0
  89. package/dist/core/llm-utils.d.ts.map +1 -0
  90. package/dist/core/llm-utils.js +368 -0
  91. package/dist/core/llm-utils.js.map +1 -0
  92. package/dist/core/logger.d.ts +92 -0
  93. package/dist/core/logger.d.ts.map +1 -0
  94. package/dist/core/logger.js +221 -0
  95. package/dist/core/logger.js.map +1 -0
  96. package/dist/core/story-logger.d.ts +102 -0
  97. package/dist/core/story-logger.d.ts.map +1 -0
  98. package/dist/core/story-logger.js +265 -0
  99. package/dist/core/story-logger.js.map +1 -0
  100. package/dist/core/story.d.ts +89 -20
  101. package/dist/core/story.d.ts.map +1 -1
  102. package/dist/core/story.js +300 -52
  103. package/dist/core/story.js.map +1 -1
  104. package/dist/core/task-parser.d.ts +59 -0
  105. package/dist/core/task-parser.d.ts.map +1 -0
  106. package/dist/core/task-parser.js +235 -0
  107. package/dist/core/task-parser.js.map +1 -0
  108. package/dist/core/task-progress.d.ts +92 -0
  109. package/dist/core/task-progress.d.ts.map +1 -0
  110. package/dist/core/task-progress.js +280 -0
  111. package/dist/core/task-progress.js.map +1 -0
  112. package/dist/core/workflow-state.d.ts +45 -6
  113. package/dist/core/workflow-state.d.ts.map +1 -1
  114. package/dist/core/workflow-state.js +201 -12
  115. package/dist/core/workflow-state.js.map +1 -1
  116. package/dist/core/worktree.d.ts +77 -0
  117. package/dist/core/worktree.d.ts.map +1 -0
  118. package/dist/core/worktree.js +246 -0
  119. package/dist/core/worktree.js.map +1 -0
  120. package/dist/index.js +135 -5
  121. package/dist/index.js.map +1 -1
  122. package/dist/services/error-classifier.d.ts +119 -0
  123. package/dist/services/error-classifier.d.ts.map +1 -0
  124. package/dist/services/error-classifier.js +182 -0
  125. package/dist/services/error-classifier.js.map +1 -0
  126. package/dist/types/index.d.ts +362 -1
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/index.js +1 -0
  129. package/dist/types/index.js.map +1 -1
  130. package/package.json +4 -1
  131. package/templates/story.md +5 -0
@@ -1,4 +1,4 @@
1
- import { Story, StoryFrontmatter, StoryStatus, ReviewAttempt, Config } from '../types/index.js';
1
+ import { Story, StoryFrontmatter, StoryStatus, ReviewAttempt, Config, LockOptions, ReviewResult } from '../types/index.js';
2
2
  /**
3
3
  * Parse a story markdown file into a Story object
4
4
  *
@@ -7,19 +7,41 @@ import { Story, StoryFrontmatter, StoryStatus, ReviewAttempt, Config } from '../
7
7
  */
8
8
  export declare function parseStory(filePath: string): Story;
9
9
  /**
10
- * Write a story back to disk
10
+ * Write a story back to disk with file locking for atomic updates.
11
+ *
12
+ * This function acquires an exclusive lock before writing to prevent race conditions
13
+ * from concurrent processes. The lock is always released, even if an error occurs.
14
+ *
15
+ * **IMPORTANT:** Do not nest locks on the same file to avoid deadlock. Batch multiple
16
+ * updates into a single writeStory() call instead.
17
+ *
18
+ * @param story - Story object to write
19
+ * @param options - Lock options (timeout, retries, stale threshold)
20
+ * @throws Error if file is locked by another process or filesystem is read-only
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // Good: Batch updates
25
+ * story.frontmatter.status = 'in-progress';
26
+ * story.frontmatter.priority = 1;
27
+ * await writeStory(story);
28
+ *
29
+ * // Bad: Nested locks (potential deadlock)
30
+ * await writeStory(story); // holds lock
31
+ * await writeStory(story); // tries to acquire same lock = deadlock
32
+ * ```
11
33
  */
12
- export declare function writeStory(story: Story): void;
34
+ export declare function writeStory(story: Story, options?: LockOptions): Promise<void>;
13
35
  /**
14
36
  * Update story status in frontmatter without moving files
15
37
  * This is the preferred method in the new folder-per-story architecture
16
38
  */
17
- export declare function updateStoryStatus(story: Story, newStatus: StoryStatus): Story;
39
+ export declare function updateStoryStatus(story: Story, newStatus: StoryStatus): Promise<Story>;
18
40
  /**
19
41
  * Move a story to a different kanban folder
20
42
  * @deprecated Use updateStoryStatus() instead. Will be removed in v2.0
21
43
  */
22
- export declare function moveStory(story: Story, toFolder: string, sdlcRoot: string): Story;
44
+ export declare function moveStory(story: Story, toFolder: string, sdlcRoot: string): Promise<Story>;
23
45
  /**
24
46
  * Move a story to blocked status with reason and timestamp
25
47
  * In the new architecture, this only updates frontmatter - file path remains unchanged
@@ -27,7 +49,7 @@ export declare function moveStory(story: Story, toFolder: string, sdlcRoot: stri
27
49
  * @param storyPath - Absolute path to the story file
28
50
  * @param reason - Reason for blocking (e.g., "Max refinement attempts (2/2) reached")
29
51
  */
30
- export declare function moveToBlocked(storyPath: string, reason: string): void;
52
+ export declare function moveToBlocked(storyPath: string, reason: string): Promise<void>;
31
53
  /**
32
54
  * Generate a unique story ID in sequential format (S-0001, S-0002, etc.)
33
55
  * Scans the stories folder to find the highest existing number.
@@ -45,25 +67,50 @@ export declare function generateLegacyStoryId(): string;
45
67
  * Create a slug from a title
46
68
  */
47
69
  export declare function slugify(title: string): string;
70
+ /**
71
+ * Sanitize a title string for safe use in file paths and display.
72
+ * Removes dangerous characters that could be used for injection attacks.
73
+ *
74
+ * SECURITY: This function prevents command injection and path traversal through titles.
75
+ *
76
+ * @param title - Title string to sanitize
77
+ * @returns Sanitized title safe for use in paths and commands
78
+ */
79
+ export declare function sanitizeTitle(title: string): string;
80
+ /**
81
+ * Extract title from file content using safe parsing.
82
+ * Priority: YAML frontmatter > H1 heading > null
83
+ *
84
+ * SECURITY: Uses regex-only approach to avoid YAML parser vulnerabilities.
85
+ *
86
+ * @param content - File content to extract title from
87
+ * @returns Extracted title or null if not found
88
+ */
89
+ export declare function extractTitleFromContent(content: string): string | null;
48
90
  /**
49
91
  * Create a new story in the folder-per-story structure
50
92
  *
51
93
  * Creates stories/{id}/story.md with slug and priority in frontmatter.
52
94
  * Priority uses gaps (10, 20, 30...) for easy insertion without renumbering.
95
+ *
96
+ * @param title - Story title
97
+ * @param sdlcRoot - Root path of .ai-sdlc folder
98
+ * @param options - Optional frontmatter fields
99
+ * @param content - Optional custom story content (if not provided, uses default template)
53
100
  */
54
- export declare function createStory(title: string, sdlcRoot: string, options?: Partial<StoryFrontmatter>): Story;
101
+ export declare function createStory(title: string, sdlcRoot: string, options?: Partial<StoryFrontmatter>, content?: string): Promise<Story>;
55
102
  /**
56
103
  * Update story frontmatter field
57
104
  */
58
- export declare function updateStoryField<K extends keyof StoryFrontmatter>(story: Story, field: K, value: StoryFrontmatter[K]): Story;
105
+ export declare function updateStoryField<K extends keyof StoryFrontmatter>(story: Story, field: K, value: StoryFrontmatter[K]): Promise<Story>;
59
106
  /**
60
107
  * Append content to a section in the story
61
108
  */
62
- export declare function appendToSection(story: Story, section: string, content: string): Story;
109
+ export declare function appendToSection(story: Story, section: string, content: string): Promise<Story>;
63
110
  /**
64
111
  * Record a refinement attempt in the story's frontmatter
65
112
  */
66
- export declare function recordRefinementAttempt(story: Story, agentType: string, reviewFeedback: string): Story;
113
+ export declare function recordRefinementAttempt(story: Story, agentType: string, reviewFeedback: string): Promise<Story>;
67
114
  /**
68
115
  * Get the current refinement count for a story
69
116
  */
@@ -75,7 +122,7 @@ export declare function canRetryRefinement(story: Story, maxAttempts: number): b
75
122
  /**
76
123
  * Reset phase completion flags for rework
77
124
  */
78
- export declare function resetPhaseCompletion(story: Story, phase: 'research' | 'plan' | 'implement'): Story;
125
+ export declare function resetPhaseCompletion(story: Story, phase: 'research' | 'plan' | 'implement'): Promise<Story>;
79
126
  /**
80
127
  * Get the latest review feedback from the story content
81
128
  */
@@ -83,7 +130,7 @@ export declare function getLatestReviewFeedback(story: Story): string | null;
83
130
  /**
84
131
  * Append refinement feedback to the story content
85
132
  */
86
- export declare function appendRefinementNote(story: Story, iteration: number, feedback: string): Story;
133
+ export declare function appendRefinementNote(story: Story, iteration: number, feedback: string): Promise<Story>;
87
134
  /**
88
135
  * Get the effective maximum retries for a story (story-specific or config default)
89
136
  */
@@ -96,15 +143,15 @@ export declare function isAtMaxRetries(story: Story, config: Config, maxIteratio
96
143
  /**
97
144
  * Increment the retry count for a story
98
145
  */
99
- export declare function incrementRetryCount(story: Story): Story;
146
+ export declare function incrementRetryCount(story: Story): Promise<Story>;
100
147
  /**
101
148
  * Reset RPIV cycle for a story (keep research, reset plan/implementation/reviews)
102
149
  */
103
- export declare function resetRPIVCycle(story: Story, reason: string): Story;
150
+ export declare function resetRPIVCycle(story: Story, reason: string): Promise<Story>;
104
151
  /**
105
152
  * Append a review attempt to the story's review history
106
153
  */
107
- export declare function appendReviewHistory(story: Story, attempt: ReviewAttempt): Story;
154
+ export declare function appendReviewHistory(story: Story, attempt: ReviewAttempt): Promise<Story>;
108
155
  /**
109
156
  * Get the latest review attempt from a story's history
110
157
  */
@@ -112,11 +159,21 @@ export declare function getLatestReviewAttempt(story: Story): ReviewAttempt | nu
112
159
  /**
113
160
  * Mark a story as complete (all workflow flags set to true)
114
161
  */
115
- export declare function markStoryComplete(story: Story): Story;
162
+ export declare function markStoryComplete(story: Story): Promise<Story>;
163
+ /**
164
+ * Auto-complete story after review approval
165
+ * Handles marking story as complete and transitioning to done status
166
+ *
167
+ * @param story - The story to auto-complete
168
+ * @param config - The configuration containing reviewConfig settings
169
+ * @param reviewResult - The result from the review agent
170
+ * @returns Updated story if auto-completion occurred, original story otherwise
171
+ */
172
+ export declare function autoCompleteStoryAfterReview(story: Story, config: Config, reviewResult: ReviewResult): Promise<Story>;
116
173
  /**
117
174
  * Snapshot max_retries from config to story frontmatter (for mid-cycle config change protection)
118
175
  */
119
- export declare function snapshotMaxRetries(story: Story, config: Config): Story;
176
+ export declare function snapshotMaxRetries(story: Story, config: Config): Promise<Story>;
120
177
  /**
121
178
  * Get the current implementation retry count for a story
122
179
  */
@@ -135,11 +192,23 @@ export declare function isAtMaxImplementationRetries(story: Story, config: Confi
135
192
  /**
136
193
  * Reset implementation retry count to 0
137
194
  */
138
- export declare function resetImplementationRetryCount(story: Story): Story;
195
+ export declare function resetImplementationRetryCount(story: Story): Promise<Story>;
139
196
  /**
140
197
  * Increment the implementation retry count for a story
141
198
  */
142
- export declare function incrementImplementationRetryCount(story: Story): Story;
199
+ export declare function incrementImplementationRetryCount(story: Story): Promise<Story>;
200
+ /**
201
+ * Sanitize story ID for safe path construction.
202
+ * Prevents path traversal attacks by rejecting dangerous characters.
203
+ *
204
+ * SECURITY: This function is CRITICAL for preventing path traversal vulnerabilities.
205
+ * Use this before constructing ANY file paths with user-provided story IDs.
206
+ *
207
+ * @param storyId - Story ID to sanitize (e.g., 'S-0001')
208
+ * @returns Sanitized story ID safe for path construction
209
+ * @throws Error if storyId contains dangerous characters or patterns
210
+ */
211
+ export declare function sanitizeStoryId(storyId: string): string;
143
212
  /**
144
213
  * Sanitize user-controlled text for safe display and storage.
145
214
  * Removes ANSI escape sequences, control characters, and potential injection vectors.
@@ -179,5 +248,5 @@ export declare function getStory(sdlcRoot: string, storyId: string): Story;
179
248
  */
180
249
  export declare function unblockStory(storyId: string, sdlcRoot: string, options?: {
181
250
  resetRetries?: boolean;
182
- }): Story;
251
+ }): Promise<Story>;
183
252
  //# sourceMappingURL=story.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/core/story.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/core/story.ts"],"names":[],"mappings":"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"}