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

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 (130) 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 +77 -2
  26. package/dist/agents/review.d.ts.map +1 -1
  27. package/dist/agents/review.js +615 -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 +297 -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 +336 -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
@@ -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, ImplementationConfig, 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,10 +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;
14
18
  /**
15
19
  * Default implementation configuration
16
20
  */
17
21
  export declare const DEFAULT_IMPLEMENTATION_CONFIG: ImplementationConfig;
22
+ /**
23
+ * Default logging configuration
24
+ */
25
+ export declare const DEFAULT_LOGGING_CONFIG: LogConfig;
18
26
  export declare const DEFAULT_CONFIG: Config;
19
27
  /**
20
28
  * Get the SDLC root folder path
@@ -65,4 +73,19 @@ export declare function validateImplementationConfig(implementationConfig: Imple
65
73
  * Update implementation configuration
66
74
  */
67
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;
68
91
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI1J;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAI9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,oBAG3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAkC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAOtE;AAyKD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAmHrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,IAAI,CAGnF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,EAC/B,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,eAAe,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAQrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAGrF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CA8B7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,CA8B7G;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACnD,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIrL;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAI9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAGrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,oBAG3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAKpC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MA0C5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAOtE;AAiMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAsIrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,IAAI,CAGnF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,EAC/B,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,eAAe,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAQrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAE,MAAsB,GACjC,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAGrF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CA8B7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EACnC,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,CA8B7G;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACnD,UAAU,GAAE,MAAsB,GACjC,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAYtF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAOrF"}
@@ -1,4 +1,4 @@
1
- import fs from 'fs';
1
+ import * as fs from 'fs';
2
2
  import path from 'path';
3
3
  const CONFIG_FILENAME = '.ai-sdlc.json';
4
4
  /**
@@ -31,6 +31,13 @@ export const DEFAULT_TDD_CONFIG = {
31
31
  requireApprovalPerCycle: false,
32
32
  requirePassingTestsForComplete: true,
33
33
  };
34
+ /**
35
+ * Default worktree configuration
36
+ */
37
+ export const DEFAULT_WORKTREE_CONFIG = {
38
+ enabled: false,
39
+ basePath: '.ai-sdlc/worktrees',
40
+ };
34
41
  /**
35
42
  * Default implementation configuration
36
43
  */
@@ -38,6 +45,15 @@ export const DEFAULT_IMPLEMENTATION_CONFIG = {
38
45
  maxRetries: 3,
39
46
  maxRetriesUpperBound: 10,
40
47
  };
48
+ /**
49
+ * Default logging configuration
50
+ */
51
+ export const DEFAULT_LOGGING_CONFIG = {
52
+ enabled: true,
53
+ level: 'info',
54
+ maxFileSizeMb: 10,
55
+ maxFiles: 5,
56
+ };
41
57
  export const DEFAULT_CONFIG = {
42
58
  sdlcFolder: '.ai-sdlc',
43
59
  stageGates: {
@@ -57,6 +73,8 @@ export const DEFAULT_CONFIG = {
57
73
  maxRetriesUpperBound: 10,
58
74
  autoCompleteOnApproval: true,
59
75
  autoRestartOnRejection: true,
76
+ detectTestAntipatterns: true,
77
+ autoCreatePROnApproval: false, // Set to true in automated mode at runtime
60
78
  },
61
79
  implementation: { ...DEFAULT_IMPLEMENTATION_CONFIG },
62
80
  defaultLabels: [],
@@ -64,14 +82,20 @@ export const DEFAULT_CONFIG = {
64
82
  // Test and build commands - auto-detected from package.json if present
65
83
  testCommand: 'npm test',
66
84
  buildCommand: 'npm run build',
67
- // Agent SDK settings sources - empty array maintains SDK isolation mode (default)
68
- settingSources: [],
85
+ // Agent SDK settings sources - enables Skills discovery from .claude/skills/
86
+ settingSources: ['project'],
69
87
  // Timeout configuration
70
88
  timeouts: { ...DEFAULT_TIMEOUTS },
71
89
  // Daemon configuration
72
90
  daemon: { ...DEFAULT_DAEMON_CONFIG },
73
91
  // TDD configuration
74
92
  tdd: { ...DEFAULT_TDD_CONFIG },
93
+ // Worktree configuration
94
+ worktree: { ...DEFAULT_WORKTREE_CONFIG },
95
+ // Logging configuration
96
+ logging: { ...DEFAULT_LOGGING_CONFIG },
97
+ // Orchestrator configuration
98
+ useOrchestrator: false,
75
99
  };
76
100
  /**
77
101
  * Get the SDLC root folder path
@@ -228,6 +252,29 @@ function sanitizeUserConfig(userConfig) {
228
252
  }
229
253
  }
230
254
  }
255
+ // Validate worktree configuration if present
256
+ if (userConfig.worktree !== undefined) {
257
+ if (typeof userConfig.worktree !== 'object' || userConfig.worktree === null) {
258
+ console.warn('Invalid worktree in config (must be object), ignoring');
259
+ delete userConfig.worktree;
260
+ }
261
+ else {
262
+ // Validate worktree.enabled (must be boolean)
263
+ if (userConfig.worktree.enabled !== undefined) {
264
+ if (typeof userConfig.worktree.enabled !== 'boolean') {
265
+ console.warn('Invalid worktree.enabled in config (must be boolean), using default');
266
+ delete userConfig.worktree.enabled;
267
+ }
268
+ }
269
+ // Validate worktree.basePath (must be string)
270
+ if (userConfig.worktree.basePath !== undefined) {
271
+ if (typeof userConfig.worktree.basePath !== 'string') {
272
+ console.warn('Invalid worktree.basePath in config (must be string), using default');
273
+ delete userConfig.worktree.basePath;
274
+ }
275
+ }
276
+ }
277
+ }
231
278
  return userConfig;
232
279
  }
233
280
  /**
@@ -275,6 +322,14 @@ export function loadConfig(workingDir = process.cwd()) {
275
322
  ...DEFAULT_TDD_CONFIG,
276
323
  ...userConfig.tdd,
277
324
  },
325
+ worktree: {
326
+ ...DEFAULT_WORKTREE_CONFIG,
327
+ ...userConfig.worktree,
328
+ },
329
+ logging: {
330
+ ...DEFAULT_LOGGING_CONFIG,
331
+ ...userConfig.logging,
332
+ },
278
333
  };
279
334
  }
280
335
  catch (error) {
@@ -333,6 +388,17 @@ export function loadConfig(workingDir = process.cwd()) {
333
388
  console.warn(`Invalid AI_SDLC_AUTO_RESTART value "${value}" (must be "true" or "false"), ignoring`);
334
389
  }
335
390
  }
391
+ if (process.env.AI_SDLC_LOG_LEVEL) {
392
+ const value = process.env.AI_SDLC_LOG_LEVEL.toLowerCase();
393
+ const validLevels = ['debug', 'info', 'warn', 'error'];
394
+ if (validLevels.includes(value)) {
395
+ config.logging = config.logging || { ...DEFAULT_LOGGING_CONFIG };
396
+ config.logging.level = value;
397
+ }
398
+ else {
399
+ console.warn(`Invalid AI_SDLC_LOG_LEVEL value "${process.env.AI_SDLC_LOG_LEVEL}" (must be debug, info, warn, or error), ignoring`);
400
+ }
401
+ }
336
402
  // Validate review config
337
403
  config.reviewConfig = validateReviewConfig(config.reviewConfig);
338
404
  // Validate implementation config
@@ -474,4 +540,35 @@ export function updateImplementationConfig(implementationConfig, workingDir = pr
474
540
  saveConfig(config, workingDir);
475
541
  return config;
476
542
  }
543
+ /**
544
+ * Validate and resolve worktree basePath
545
+ * @param basePath - The configured base path (may be relative)
546
+ * @param projectRoot - The project root directory
547
+ * @returns The resolved absolute path
548
+ * @throws Error if the parent directory does not exist
549
+ */
550
+ export function validateWorktreeBasePath(basePath, projectRoot) {
551
+ const resolvedPath = path.isAbsolute(basePath)
552
+ ? basePath
553
+ : path.resolve(projectRoot, basePath);
554
+ // Check parent directory exists (worktree dir itself may not exist yet)
555
+ const parentDir = path.dirname(resolvedPath);
556
+ if (!fs.existsSync(parentDir)) {
557
+ throw new Error(`Worktree basePath parent directory does not exist: ${parentDir}`);
558
+ }
559
+ return resolvedPath;
560
+ }
561
+ /**
562
+ * Get resolved worktree configuration with validated paths
563
+ * @param config - The loaded configuration
564
+ * @param projectRoot - The project root directory
565
+ * @returns Resolved worktree config with absolute basePath
566
+ */
567
+ export function getWorktreeConfig(config, projectRoot) {
568
+ const worktreeConfig = config.worktree ?? DEFAULT_WORKTREE_CONFIG;
569
+ return {
570
+ enabled: worktreeConfig.enabled,
571
+ basePath: validateWorktreeBasePath(worktreeConfig.basePath, projectRoot),
572
+ };
573
+ }
477
574
  //# sourceMappingURL=config.js.map