ai-sdlc 0.2.0-alpha.4 → 0.2.0-alpha.41

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 (118) hide show
  1. package/README.md +53 -1058
  2. package/dist/agents/implementation.d.ts +62 -0
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +494 -90
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/index.d.ts +1 -0
  7. package/dist/agents/index.d.ts.map +1 -1
  8. package/dist/agents/index.js +1 -0
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/agents/planning.d.ts +1 -1
  11. package/dist/agents/planning.d.ts.map +1 -1
  12. package/dist/agents/planning.js +55 -4
  13. package/dist/agents/planning.js.map +1 -1
  14. package/dist/agents/refinement.d.ts.map +1 -1
  15. package/dist/agents/refinement.js +22 -3
  16. package/dist/agents/refinement.js.map +1 -1
  17. package/dist/agents/research.d.ts +85 -1
  18. package/dist/agents/research.d.ts.map +1 -1
  19. package/dist/agents/research.js +506 -16
  20. package/dist/agents/research.js.map +1 -1
  21. package/dist/agents/review.d.ts +79 -2
  22. package/dist/agents/review.d.ts.map +1 -1
  23. package/dist/agents/review.js +568 -68
  24. package/dist/agents/review.js.map +1 -1
  25. package/dist/agents/rework.d.ts.map +1 -1
  26. package/dist/agents/rework.js +22 -3
  27. package/dist/agents/rework.js.map +1 -1
  28. package/dist/agents/single-task.d.ts +41 -0
  29. package/dist/agents/single-task.d.ts.map +1 -0
  30. package/dist/agents/single-task.js +357 -0
  31. package/dist/agents/single-task.js.map +1 -0
  32. package/dist/agents/state-assessor.d.ts +3 -3
  33. package/dist/agents/state-assessor.d.ts.map +1 -1
  34. package/dist/agents/state-assessor.js +6 -6
  35. package/dist/agents/state-assessor.js.map +1 -1
  36. package/dist/agents/test-pattern-detector.d.ts +49 -0
  37. package/dist/agents/test-pattern-detector.d.ts.map +1 -0
  38. package/dist/agents/test-pattern-detector.js +273 -0
  39. package/dist/agents/test-pattern-detector.js.map +1 -0
  40. package/dist/agents/verification.d.ts +11 -0
  41. package/dist/agents/verification.d.ts.map +1 -1
  42. package/dist/agents/verification.js +74 -1
  43. package/dist/agents/verification.js.map +1 -1
  44. package/dist/cli/commands/migrate.js +1 -1
  45. package/dist/cli/commands/migrate.js.map +1 -1
  46. package/dist/cli/commands.d.ts +59 -3
  47. package/dist/cli/commands.d.ts.map +1 -1
  48. package/dist/cli/commands.js +1057 -217
  49. package/dist/cli/commands.js.map +1 -1
  50. package/dist/cli/daemon.d.ts.map +1 -1
  51. package/dist/cli/daemon.js +40 -10
  52. package/dist/cli/daemon.js.map +1 -1
  53. package/dist/cli/runner.d.ts.map +1 -1
  54. package/dist/cli/runner.js +51 -20
  55. package/dist/cli/runner.js.map +1 -1
  56. package/dist/core/auth.d.ts +43 -0
  57. package/dist/core/auth.d.ts.map +1 -1
  58. package/dist/core/auth.js +105 -1
  59. package/dist/core/auth.js.map +1 -1
  60. package/dist/core/client.d.ts +6 -0
  61. package/dist/core/client.d.ts.map +1 -1
  62. package/dist/core/client.js +57 -3
  63. package/dist/core/client.js.map +1 -1
  64. package/dist/core/config.d.ts +36 -1
  65. package/dist/core/config.d.ts.map +1 -1
  66. package/dist/core/config.js +162 -1
  67. package/dist/core/config.js.map +1 -1
  68. package/dist/core/conflict-detector.d.ts +108 -0
  69. package/dist/core/conflict-detector.d.ts.map +1 -0
  70. package/dist/core/conflict-detector.js +413 -0
  71. package/dist/core/conflict-detector.js.map +1 -0
  72. package/dist/core/git-utils.d.ts +28 -0
  73. package/dist/core/git-utils.d.ts.map +1 -0
  74. package/dist/core/git-utils.js +146 -0
  75. package/dist/core/git-utils.js.map +1 -0
  76. package/dist/core/index.d.ts +18 -0
  77. package/dist/core/index.d.ts.map +1 -0
  78. package/dist/core/index.js +18 -0
  79. package/dist/core/index.js.map +1 -0
  80. package/dist/core/kanban.d.ts +1 -6
  81. package/dist/core/kanban.d.ts.map +1 -1
  82. package/dist/core/kanban.js +10 -49
  83. package/dist/core/kanban.js.map +1 -1
  84. package/dist/core/logger.d.ts +92 -0
  85. package/dist/core/logger.d.ts.map +1 -0
  86. package/dist/core/logger.js +221 -0
  87. package/dist/core/logger.js.map +1 -0
  88. package/dist/core/story-logger.d.ts +102 -0
  89. package/dist/core/story-logger.d.ts.map +1 -0
  90. package/dist/core/story-logger.js +265 -0
  91. package/dist/core/story-logger.js.map +1 -0
  92. package/dist/core/story.d.ts +122 -18
  93. package/dist/core/story.d.ts.map +1 -1
  94. package/dist/core/story.js +390 -58
  95. package/dist/core/story.js.map +1 -1
  96. package/dist/core/task-parser.d.ts +59 -0
  97. package/dist/core/task-parser.d.ts.map +1 -0
  98. package/dist/core/task-parser.js +235 -0
  99. package/dist/core/task-parser.js.map +1 -0
  100. package/dist/core/task-progress.d.ts +92 -0
  101. package/dist/core/task-progress.d.ts.map +1 -0
  102. package/dist/core/task-progress.js +280 -0
  103. package/dist/core/task-progress.js.map +1 -0
  104. package/dist/core/workflow-state.d.ts +45 -6
  105. package/dist/core/workflow-state.d.ts.map +1 -1
  106. package/dist/core/workflow-state.js +201 -12
  107. package/dist/core/workflow-state.js.map +1 -1
  108. package/dist/core/worktree.d.ts +77 -0
  109. package/dist/core/worktree.d.ts.map +1 -0
  110. package/dist/core/worktree.js +246 -0
  111. package/dist/core/worktree.js.map +1 -0
  112. package/dist/index.js +135 -5
  113. package/dist/index.js.map +1 -1
  114. package/dist/types/index.d.ts +288 -1
  115. package/dist/types/index.d.ts.map +1 -1
  116. package/dist/types/index.js +1 -0
  117. package/dist/types/index.js.map +1 -1
  118. package/package.json +3 -1
@@ -1,15 +1,16 @@
1
1
  import ora from 'ora';
2
2
  import { getSdlcRoot, loadConfig, isStageGateEnabled } from '../core/config.js';
3
3
  import { assessState, kanbanExists } from '../core/kanban.js';
4
- import { parseStory, resetRPIVCycle, markStoryComplete, updateStoryStatus, isAtMaxRetries } from '../core/story.js';
4
+ import { parseStory, resetRPIVCycle, markStoryComplete, updateStoryStatus, isAtMaxRetries, getStory, incrementImplementationRetryCount } from '../core/story.js';
5
5
  import { ReviewDecision } from '../types/index.js';
6
6
  import { runRefinementAgent } from '../agents/refinement.js';
7
7
  import { runResearchAgent } from '../agents/research.js';
8
8
  import { runPlanningAgent } from '../agents/planning.js';
9
9
  import { runImplementationAgent } from '../agents/implementation.js';
10
- import { runReviewAgent, createPullRequest } from '../agents/review.js';
10
+ import { runReviewAgent, createPullRequest, generateReviewSummary } from '../agents/review.js';
11
11
  import { runReworkAgent, packageReworkContext } from '../agents/rework.js';
12
12
  import { getThemedChalk } from '../core/theme.js';
13
+ import { getTerminalWidth } from './formatting.js';
13
14
  /**
14
15
  * Workflow Runner
15
16
  *
@@ -33,7 +34,7 @@ export class WorkflowRunner {
33
34
  console.log(c.warning('ai-sdlc not initialized. Run `ai-sdlc init` first.'));
34
35
  return;
35
36
  }
36
- const assessment = assessState(this.sdlcRoot);
37
+ const assessment = await assessState(this.sdlcRoot);
37
38
  if (assessment.recommendedActions.length === 0) {
38
39
  console.log(c.success('No pending actions. Board is up to date!'));
39
40
  return;
@@ -89,7 +90,7 @@ export class WorkflowRunner {
89
90
  await this.runSingleAction(action);
90
91
  actionsProcessed++;
91
92
  // Re-assess after each action
92
- assessment = assessState(this.sdlcRoot);
93
+ assessment = await assessState(this.sdlcRoot);
93
94
  }
94
95
  if (actionsProcessed >= maxActions) {
95
96
  console.log(c.warning(`\nReached maximum actions limit (${maxActions}). Stopping.`));
@@ -133,20 +134,36 @@ export class WorkflowRunner {
133
134
  */
134
135
  async executeAction(action) {
135
136
  const config = loadConfig();
137
+ // Resolve story by ID to get current path (handles moves between folders)
138
+ let currentStoryPath;
139
+ try {
140
+ const story = getStory(this.sdlcRoot, action.storyId);
141
+ currentStoryPath = story.path;
142
+ }
143
+ catch (error) {
144
+ const c = getThemedChalk(config);
145
+ console.log(c.error(`Error: Cannot execute action "${action.type}"`));
146
+ console.log(c.dim(` Story ID: ${action.storyId}`));
147
+ console.log(c.dim(` Original path: ${action.storyPath}`));
148
+ if (error instanceof Error) {
149
+ console.log(c.dim(` ${error.message}`));
150
+ }
151
+ return { success: false, error: error instanceof Error ? error.message : 'Story not found', changesMade: [] };
152
+ }
136
153
  switch (action.type) {
137
154
  case 'refine':
138
- return runRefinementAgent(action.storyPath, this.sdlcRoot);
155
+ return runRefinementAgent(currentStoryPath, this.sdlcRoot);
139
156
  case 'research':
140
- return runResearchAgent(action.storyPath, this.sdlcRoot);
157
+ return runResearchAgent(currentStoryPath, this.sdlcRoot);
141
158
  case 'plan':
142
- return runPlanningAgent(action.storyPath, this.sdlcRoot);
159
+ return runPlanningAgent(currentStoryPath, this.sdlcRoot);
143
160
  case 'implement':
144
- return runImplementationAgent(action.storyPath, this.sdlcRoot);
161
+ return runImplementationAgent(currentStoryPath, this.sdlcRoot);
145
162
  case 'review': {
146
- const reviewResult = await runReviewAgent(action.storyPath, this.sdlcRoot);
163
+ const reviewResult = await runReviewAgent(currentStoryPath, this.sdlcRoot);
147
164
  // Handle review decision (auto-complete or restart RPIV)
148
165
  if (reviewResult.success) {
149
- await this.handleReviewDecision(action.storyPath, reviewResult);
166
+ await this.handleReviewDecision(currentStoryPath, reviewResult);
150
167
  }
151
168
  return reviewResult;
152
169
  }
@@ -157,22 +174,22 @@ export class WorkflowRunner {
157
174
  throw new Error('Rework action missing required context (targetPhase)');
158
175
  }
159
176
  // Run rework agent to prepare the story for refinement
160
- const reworkResult = await runReworkAgent(action.storyPath, this.sdlcRoot, reworkContext);
177
+ const reworkResult = await runReworkAgent(currentStoryPath, this.sdlcRoot, reworkContext);
161
178
  // If rework setup succeeded, automatically trigger the target phase agent
162
179
  if (reworkResult.success) {
163
180
  const c = getThemedChalk(config);
164
181
  console.log(c.info(`\n ↳ Triggering ${reworkContext.targetPhase} agent for refinement...`));
165
182
  // Package the review feedback as context for the agent
166
- const story = parseStory(action.storyPath);
183
+ const story = parseStory(currentStoryPath);
167
184
  const agentReworkContext = packageReworkContext(story, reworkContext.reviewFeedback);
168
185
  // Execute the appropriate agent based on target phase, passing the rework context
169
186
  switch (reworkContext.targetPhase) {
170
187
  case 'research':
171
- return runResearchAgent(action.storyPath, this.sdlcRoot, { reworkContext: agentReworkContext });
188
+ return runResearchAgent(currentStoryPath, this.sdlcRoot, { reworkContext: agentReworkContext });
172
189
  case 'plan':
173
- return runPlanningAgent(action.storyPath, this.sdlcRoot, { reworkContext: agentReworkContext });
190
+ return runPlanningAgent(currentStoryPath, this.sdlcRoot, { reworkContext: agentReworkContext });
174
191
  case 'implement':
175
- return runImplementationAgent(action.storyPath, this.sdlcRoot, { reworkContext: agentReworkContext });
192
+ return runImplementationAgent(currentStoryPath, this.sdlcRoot, { reworkContext: agentReworkContext });
176
193
  default:
177
194
  throw new Error(`Unknown target phase: ${reworkContext.targetPhase}`);
178
195
  }
@@ -180,7 +197,7 @@ export class WorkflowRunner {
180
197
  return reworkResult;
181
198
  }
182
199
  case 'create_pr':
183
- return createPullRequest(action.storyPath, this.sdlcRoot);
200
+ return createPullRequest(currentStoryPath, this.sdlcRoot);
184
201
  default:
185
202
  throw new Error(`Unknown action type: ${action.type}`);
186
203
  }
@@ -196,10 +213,10 @@ export class WorkflowRunner {
196
213
  // Auto-complete on approval
197
214
  if (config.reviewConfig.autoCompleteOnApproval) {
198
215
  console.log(c.success(`\n✅ Review approved! Auto-completing story "${story.frontmatter.title}"`));
199
- markStoryComplete(story);
216
+ await markStoryComplete(story);
200
217
  // Update status to done if in in-progress
201
218
  if (story.frontmatter.status === 'in-progress') {
202
- story = updateStoryStatus(story, 'done');
219
+ story = await updateStoryStatus(story, 'done');
203
220
  console.log(c.success(`Updated story status to done`));
204
221
  }
205
222
  }
@@ -221,11 +238,25 @@ export class WorkflowRunner {
221
238
  const maxRetries = story.frontmatter.max_retries ?? config.reviewConfig.maxRetries;
222
239
  const maxRetriesDisplay = Number.isFinite(maxRetries) ? maxRetries : '∞';
223
240
  console.log(c.warning(`\n🔄 Review rejected. Restarting RPIV cycle (attempt ${retryCount}/${maxRetriesDisplay})`));
224
- console.log(c.dim(`Reason: ${reviewResult.feedback.substring(0, 200)}...`));
225
- resetRPIVCycle(story, reviewResult.feedback);
241
+ // Display executive summary
242
+ const summary = generateReviewSummary(reviewResult.issues, getTerminalWidth());
243
+ console.log(c.dim(` Summary: ${summary}`));
244
+ await resetRPIVCycle(story, reviewResult.feedback);
226
245
  console.log(c.info('RPIV cycle reset. Planning phase will restart on next run.'));
227
246
  }
228
247
  }
248
+ else if (reviewResult.decision === ReviewDecision.RECOVERY) {
249
+ // Implementation recovery: reset implementation_complete and increment implementation retry count
250
+ // This is distinct from REJECTED which resets the entire RPIV cycle
251
+ const retryCount = story.frontmatter.implementation_retry_count || 0;
252
+ console.log(c.warning(`\n🔄 Implementation recovery triggered (attempt ${retryCount + 1})`));
253
+ console.log(c.dim(` Reason: ${story.frontmatter.last_restart_reason || 'No source code changes detected'}`));
254
+ // Reset implementation_complete flag (already done by review agent, but refresh story state)
255
+ story = parseStory(storyPath);
256
+ // Increment implementation retry count
257
+ await incrementImplementationRetryCount(story);
258
+ console.log(c.info('Implementation phase will re-run on next execution.'));
259
+ }
229
260
  else if (reviewResult.decision === ReviewDecision.FAILED) {
230
261
  // Review agent failed - don't increment retry count
231
262
  console.log(c.error(`\n❌ Review process failed: ${reviewResult.error}`));
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,47 @@
1
1
  export type CredentialType = 'api_key' | 'oauth_token' | 'none';
2
+ /**
3
+ * Token expiration information
4
+ */
5
+ export interface TokenExpirationInfo {
6
+ /** Whether the token is currently expired (with clock skew buffer) */
7
+ isExpired: boolean;
8
+ /** Expiration date (null if not available or invalid) */
9
+ expiresAt: Date | null;
10
+ /** Milliseconds until expiration (null if not available or invalid) */
11
+ expiresInMs: number | null;
12
+ /** Source file path for debugging (null if not from file) */
13
+ source: string | null;
14
+ }
15
+ /**
16
+ * Check if a token expires within the given buffer period
17
+ * Returns false if date is invalid or missing
18
+ *
19
+ * @param expiresAt - ISO 8601 date string
20
+ * @param bufferMs - Time buffer in milliseconds (default: 5 minutes)
21
+ *
22
+ * @example
23
+ * // Check if token expires in next 5 minutes
24
+ * isTokenExpiringSoon('2026-01-15T12:05:00Z') // true if current time is after 12:00:00
25
+ *
26
+ * // Check with custom buffer (10 minutes)
27
+ * isTokenExpiringSoon('2026-01-15T12:10:00Z', 10 * 60 * 1000) // true if current time is after 12:00:00
28
+ */
29
+ export declare function isTokenExpiringSoon(expiresAt: string | undefined, bufferMs?: number): boolean;
30
+ /**
31
+ * Get token expiration information from credentials file
32
+ * Returns null fields if expiresAt is missing or unparseable
33
+ *
34
+ * @returns TokenExpirationInfo with expiration details
35
+ *
36
+ * @example
37
+ * const info = getTokenExpirationInfo();
38
+ * if (info.isExpired) {
39
+ * console.error('Token expired. Please run `claude login`');
40
+ * } else if (info.expiresInMs && info.expiresInMs < 5 * 60 * 1000) {
41
+ * console.warn('Token expires soon');
42
+ * }
43
+ */
44
+ export declare function getTokenExpirationInfo(): TokenExpirationInfo;
2
45
  /**
3
46
  * Get API key/token from various sources in order of preference:
4
47
  * 1. ANTHROPIC_API_KEY environment variable (direct API key)
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AA6IhE;;;;;;GAMG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAkCzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CAIpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAoBrF;AAkDD;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,GAAG,kBAAkB,GAAG,UAAU,GAAG,MAAM,CAkBlF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA6HD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAiB5G;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CA0D5D;AAwBD;;;;;;GAMG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAkCzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CAIpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAoBrF;AAkDD;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,GAAG,kBAAkB,GAAG,UAAU,GAAG,MAAM,CAkBlF"}
package/dist/core/auth.js CHANGED
@@ -88,6 +88,10 @@ function getCredentialsFromFile() {
88
88
  /**
89
89
  * Check if a token is expired based on ISO8601 expiresAt date
90
90
  * Returns false if date is invalid or missing (assume token is valid)
91
+ *
92
+ * Includes a 30-second clock skew buffer to handle minor time differences
93
+ * between client and server clocks. A token is considered expired if:
94
+ * current_time >= expiry_time - 30_seconds
91
95
  */
92
96
  function isTokenExpired(expiresAt) {
93
97
  if (!expiresAt) {
@@ -99,12 +103,112 @@ function isTokenExpired(expiresAt) {
99
103
  if (isNaN(expiry.getTime())) {
100
104
  return false; // Invalid date, skip expiration check
101
105
  }
102
- return Date.now() >= expiry.getTime();
106
+ // 30-second clock skew buffer (30000ms)
107
+ const CLOCK_SKEW_BUFFER_MS = 30000;
108
+ return Date.now() >= expiry.getTime() - CLOCK_SKEW_BUFFER_MS;
103
109
  }
104
110
  catch {
105
111
  return false; // Parse error, skip expiration check
106
112
  }
107
113
  }
114
+ /**
115
+ * Check if a token expires within the given buffer period
116
+ * Returns false if date is invalid or missing
117
+ *
118
+ * @param expiresAt - ISO 8601 date string
119
+ * @param bufferMs - Time buffer in milliseconds (default: 5 minutes)
120
+ *
121
+ * @example
122
+ * // Check if token expires in next 5 minutes
123
+ * isTokenExpiringSoon('2026-01-15T12:05:00Z') // true if current time is after 12:00:00
124
+ *
125
+ * // Check with custom buffer (10 minutes)
126
+ * isTokenExpiringSoon('2026-01-15T12:10:00Z', 10 * 60 * 1000) // true if current time is after 12:00:00
127
+ */
128
+ export function isTokenExpiringSoon(expiresAt, bufferMs = 5 * 60 * 1000) {
129
+ if (!expiresAt) {
130
+ return false; // No expiration date, assume not expiring soon
131
+ }
132
+ try {
133
+ const expiry = new Date(expiresAt);
134
+ // Check if date is valid (not NaN)
135
+ if (isNaN(expiry.getTime())) {
136
+ return false; // Invalid date, skip check
137
+ }
138
+ const expiresInMs = expiry.getTime() - Date.now();
139
+ return expiresInMs > 0 && expiresInMs <= bufferMs;
140
+ }
141
+ catch {
142
+ return false; // Parse error, skip check
143
+ }
144
+ }
145
+ /**
146
+ * Get token expiration information from credentials file
147
+ * Returns null fields if expiresAt is missing or unparseable
148
+ *
149
+ * @returns TokenExpirationInfo with expiration details
150
+ *
151
+ * @example
152
+ * const info = getTokenExpirationInfo();
153
+ * if (info.isExpired) {
154
+ * console.error('Token expired. Please run `claude login`');
155
+ * } else if (info.expiresInMs && info.expiresInMs < 5 * 60 * 1000) {
156
+ * console.warn('Token expires soon');
157
+ * }
158
+ */
159
+ export function getTokenExpirationInfo() {
160
+ const credentials = getCredentialsFromFile();
161
+ // If no credentials file, return null fields
162
+ if (!credentials) {
163
+ return {
164
+ isExpired: false,
165
+ expiresAt: null,
166
+ expiresInMs: null,
167
+ source: null,
168
+ };
169
+ }
170
+ const credentialPath = path.join(homedir(), '.claude', '.credentials.json');
171
+ const expiresAtStr = credentials.expiresAt;
172
+ // If no expiresAt field, return null expiration fields
173
+ if (!expiresAtStr) {
174
+ return {
175
+ isExpired: false,
176
+ expiresAt: null,
177
+ expiresInMs: null,
178
+ source: credentialPath,
179
+ };
180
+ }
181
+ try {
182
+ const expiry = new Date(expiresAtStr);
183
+ // Check if date is valid
184
+ if (isNaN(expiry.getTime())) {
185
+ console.debug(`Invalid date format in expiresAt: ${expiresAtStr}`);
186
+ return {
187
+ isExpired: false,
188
+ expiresAt: null,
189
+ expiresInMs: null,
190
+ source: credentialPath,
191
+ };
192
+ }
193
+ const expiresInMs = expiry.getTime() - Date.now();
194
+ const isExpired = isTokenExpired(expiresAtStr);
195
+ return {
196
+ isExpired,
197
+ expiresAt: expiry,
198
+ expiresInMs,
199
+ source: credentialPath,
200
+ };
201
+ }
202
+ catch (error) {
203
+ console.debug(`Error parsing expiresAt: ${error}`);
204
+ return {
205
+ isExpired: false,
206
+ expiresAt: null,
207
+ expiresInMs: null,
208
+ source: credentialPath,
209
+ };
210
+ }
211
+ }
108
212
  /**
109
213
  * Check credential file permissions and warn if insecure
110
214
  * Only 600 (owner read/write) and 400 (owner read-only) are considered secure
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ import { CredentialType } from './auth.js';
5
5
  export declare class AgentTimeoutError extends Error {
6
6
  constructor(timeoutMs: number);
7
7
  }
8
+ /**
9
+ * Error thrown when authentication fails (e.g., expired token)
10
+ */
11
+ export declare class AuthenticationError extends Error {
12
+ constructor(message: string);
13
+ }
8
14
  /**
9
15
  * Progress event types from the Agent SDK
10
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhG;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,SAAS,EAAE,MAAM;CAK9B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsH/E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,cAAc,EAA0B,MAAM,WAAW,CAAC;AAMxH;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,SAAS,EAAE,MAAM;CAK9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwK/E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
@@ -1,6 +1,7 @@
1
1
  import { query } from '@anthropic-ai/claude-agent-sdk';
2
- import { configureAgentSdkAuth, getApiKey, getCredentialType } from './auth.js';
2
+ import { configureAgentSdkAuth, getApiKey, getCredentialType, getTokenExpirationInfo } from './auth.js';
3
3
  import { loadConfig, DEFAULT_TIMEOUTS } from './config.js';
4
+ import { getLogger } from './logger.js';
4
5
  import { platform, homedir } from 'os';
5
6
  import path from 'path';
6
7
  /**
@@ -13,6 +14,15 @@ export class AgentTimeoutError extends Error {
13
14
  this.name = 'AgentTimeoutError';
14
15
  }
15
16
  }
17
+ /**
18
+ * Error thrown when authentication fails (e.g., expired token)
19
+ */
20
+ export class AuthenticationError extends Error {
21
+ constructor(message) {
22
+ super(message);
23
+ this.name = 'AuthenticationError';
24
+ }
25
+ }
16
26
  /**
17
27
  * Validate that the working directory is within safe boundaries
18
28
  */
@@ -33,6 +43,8 @@ function isValidWorkingDirectory(workingDir) {
33
43
  * CLAUDE.md discovery is handled automatically by the SDK when settingSources includes 'project'.
34
44
  */
35
45
  export async function runAgentQuery(options) {
46
+ const logger = getLogger();
47
+ const queryStartTime = Date.now();
36
48
  // Configure authentication
37
49
  const authResult = configureAgentSdkAuth();
38
50
  if (!authResult.configured) {
@@ -47,6 +59,19 @@ export async function runAgentQuery(options) {
47
59
  errorMessage += '.';
48
60
  throw new Error(errorMessage);
49
61
  }
62
+ // Check token expiration (only for OAuth tokens from credential file)
63
+ if (authResult.type === 'oauth_token') {
64
+ const tokenInfo = getTokenExpirationInfo();
65
+ // If token is expired, throw authentication error
66
+ if (tokenInfo.isExpired) {
67
+ const source = tokenInfo.source ? `Token from ${tokenInfo.source}` : 'OAuth token';
68
+ throw new AuthenticationError(`${source} has expired. Please run \`claude login\` to refresh your credentials.`);
69
+ }
70
+ // If token expires within 5 minutes, show warning but proceed
71
+ if (tokenInfo.expiresInMs !== null && tokenInfo.expiresInMs < 5 * 60 * 1000) {
72
+ console.warn('⚠️ OAuth token expires in less than 5 minutes. Consider running `claude login`.');
73
+ }
74
+ }
50
75
  // Validate and normalize working directory
51
76
  const workingDir = path.resolve(options.workingDirectory || process.cwd());
52
77
  if (!isValidWorkingDirectory(workingDir)) {
@@ -56,6 +81,14 @@ export async function runAgentQuery(options) {
56
81
  const config = loadConfig(workingDir);
57
82
  const settingSources = config.settingSources || [];
58
83
  const timeout = options.timeout ?? config.timeouts?.agentTimeout ?? DEFAULT_TIMEOUTS.agentTimeout;
84
+ // Log query start
85
+ logger.debug('agent-sdk', 'Starting agent query', {
86
+ model: options.model || 'claude-sonnet-4-5-20250929',
87
+ workingDirectory: workingDir,
88
+ timeoutMs: timeout,
89
+ authType: authResult.type,
90
+ promptLength: options.prompt.length,
91
+ });
59
92
  const results = [];
60
93
  const response = query({
61
94
  prompt: options.prompt,
@@ -127,9 +160,19 @@ export async function runAgentQuery(options) {
127
160
  break;
128
161
  case 'error':
129
162
  options.onProgress?.({ type: 'error', message: message.error?.message || 'Agent error' });
130
- throw new Error(message.error?.message || 'Agent error');
163
+ const agentError = new Error(message.error?.message || 'Agent error');
164
+ logger.error('agent-sdk', 'Agent query error', {
165
+ durationMs: Date.now() - queryStartTime,
166
+ error: agentError.message,
167
+ });
168
+ throw agentError;
131
169
  }
132
170
  }
171
+ const queryDuration = Date.now() - queryStartTime;
172
+ logger.info('agent-sdk', 'Agent query completed', {
173
+ durationMs: queryDuration,
174
+ resultLength: results.join('\n').length,
175
+ });
133
176
  return results.join('\n');
134
177
  }
135
178
  finally {
@@ -139,7 +182,18 @@ export async function runAgentQuery(options) {
139
182
  }
140
183
  };
141
184
  // Race between the agent query and the timeout
142
- return Promise.race([processMessages(), timeoutPromise]);
185
+ try {
186
+ return await Promise.race([processMessages(), timeoutPromise]);
187
+ }
188
+ catch (error) {
189
+ if (error instanceof AgentTimeoutError) {
190
+ logger.error('agent-sdk', 'Agent query timed out', {
191
+ durationMs: Date.now() - queryStartTime,
192
+ timeoutMs: timeout,
193
+ });
194
+ }
195
+ throw error;
196
+ }
143
197
  }
144
198
  /**
145
199
  * Get the current credential type being used
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Config, StageGateConfig, RefinementConfig, ReviewConfig, TimeoutConfig, DaemonConfig, TDDConfig } from '../types/index.js';
1
+ import { Config, StageGateConfig, RefinementConfig, ReviewConfig, ImplementationConfig, TimeoutConfig, DaemonConfig, TDDConfig, WorktreeConfig, LogConfig } from '../types/index.js';
2
2
  /**
3
3
  * Default timeout configuration
4
4
  */
@@ -11,6 +11,18 @@ export declare const DEFAULT_DAEMON_CONFIG: DaemonConfig;
11
11
  * Default TDD configuration
12
12
  */
13
13
  export declare const DEFAULT_TDD_CONFIG: TDDConfig;
14
+ /**
15
+ * Default worktree configuration
16
+ */
17
+ export declare const DEFAULT_WORKTREE_CONFIG: WorktreeConfig;
18
+ /**
19
+ * Default implementation configuration
20
+ */
21
+ export declare const DEFAULT_IMPLEMENTATION_CONFIG: ImplementationConfig;
22
+ /**
23
+ * Default logging configuration
24
+ */
25
+ export declare const DEFAULT_LOGGING_CONFIG: LogConfig;
14
26
  export declare const DEFAULT_CONFIG: Config;
15
27
  /**
16
28
  * Get the SDLC root folder path
@@ -53,4 +65,27 @@ export declare function validateReviewConfig(reviewConfig: ReviewConfig): Review
53
65
  * Update review configuration
54
66
  */
55
67
  export declare function updateReviewConfig(reviewConfig: Partial<ReviewConfig>, workingDir?: string): Config;
68
+ /**
69
+ * Validate implementation configuration
70
+ */
71
+ export declare function validateImplementationConfig(implementationConfig: ImplementationConfig): ImplementationConfig;
72
+ /**
73
+ * Update implementation configuration
74
+ */
75
+ export declare function updateImplementationConfig(implementationConfig: Partial<ImplementationConfig>, workingDir?: string): Config;
76
+ /**
77
+ * Validate and resolve worktree basePath
78
+ * @param basePath - The configured base path (may be relative)
79
+ * @param projectRoot - The project root directory
80
+ * @returns The resolved absolute path
81
+ * @throws Error if the parent directory does not exist
82
+ */
83
+ export declare function validateWorktreeBasePath(basePath: string, projectRoot: string): string;
84
+ /**
85
+ * Get resolved worktree configuration with validated paths
86
+ * @param config - The loaded configuration
87
+ * @param projectRoot - The project root directory
88
+ * @returns Resolved worktree config with absolute basePath
89
+ */
90
+ export declare function getWorktreeConfig(config: Config, projectRoot: string): WorktreeConfig;
56
91
  //# sourceMappingURL=config.d.ts.map