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

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 (43) hide show
  1. package/dist/agents/implementation.d.ts +56 -0
  2. package/dist/agents/implementation.d.ts.map +1 -1
  3. package/dist/agents/implementation.js +414 -84
  4. package/dist/agents/implementation.js.map +1 -1
  5. package/dist/agents/review.d.ts +12 -0
  6. package/dist/agents/review.d.ts.map +1 -1
  7. package/dist/agents/review.js +91 -0
  8. package/dist/agents/review.js.map +1 -1
  9. package/dist/cli/commands.d.ts.map +1 -1
  10. package/dist/cli/commands.js +17 -25
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/cli/daemon.d.ts.map +1 -1
  13. package/dist/cli/daemon.js +20 -7
  14. package/dist/cli/daemon.js.map +1 -1
  15. package/dist/cli/formatting.js +1 -1
  16. package/dist/cli/formatting.js.map +1 -1
  17. package/dist/cli/runner.d.ts.map +1 -1
  18. package/dist/cli/runner.js +34 -15
  19. package/dist/cli/runner.js.map +1 -1
  20. package/dist/core/auth.d.ts +8 -2
  21. package/dist/core/auth.d.ts.map +1 -1
  22. package/dist/core/auth.js +163 -7
  23. package/dist/core/auth.js.map +1 -1
  24. package/dist/core/client.d.ts.map +1 -1
  25. package/dist/core/client.js +11 -1
  26. package/dist/core/client.js.map +1 -1
  27. package/dist/core/config.d.ts +13 -1
  28. package/dist/core/config.d.ts.map +1 -1
  29. package/dist/core/config.js +67 -0
  30. package/dist/core/config.js.map +1 -1
  31. package/dist/core/kanban.d.ts +0 -5
  32. package/dist/core/kanban.d.ts.map +1 -1
  33. package/dist/core/kanban.js +3 -43
  34. package/dist/core/kanban.js.map +1 -1
  35. package/dist/core/story.d.ts +56 -2
  36. package/dist/core/story.d.ts.map +1 -1
  37. package/dist/core/story.js +175 -23
  38. package/dist/core/story.js.map +1 -1
  39. package/dist/index.js +0 -0
  40. package/dist/types/index.d.ts +12 -0
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/dist/types/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -3,7 +3,8 @@ export type CredentialType = 'api_key' | 'oauth_token' | 'none';
3
3
  * Get API key/token from various sources in order of preference:
4
4
  * 1. ANTHROPIC_API_KEY environment variable (direct API key)
5
5
  * 2. CLAUDE_CODE_OAUTH_TOKEN environment variable (OAuth token)
6
- * 3. macOS Keychain (Claude Code credentials)
6
+ * 3. Credential file at ~/.claude/.credentials.json (all platforms)
7
+ * 4. macOS Keychain (Claude Code credentials, darwin only)
7
8
  */
8
9
  export declare function getApiKey(): string | null;
9
10
  /**
@@ -23,6 +24,11 @@ export declare function getCredentialType(key: string | null): CredentialType;
23
24
  * The Agent SDK uses:
24
25
  * - ANTHROPIC_API_KEY for direct API keys
25
26
  * - CLAUDE_CODE_OAUTH_TOKEN for OAuth tokens
27
+ *
28
+ * SECURITY NOTE: Environment variables set by this function persist for the lifetime
29
+ * of the Node.js process. The tokens are not automatically cleared and will be
30
+ * accessible to any code running in the same process. This is intentional for the
31
+ * Agent SDK to work correctly, but callers should be aware of this behavior.
26
32
  */
27
33
  export declare function configureAgentSdkAuth(): {
28
34
  configured: boolean;
@@ -35,5 +41,5 @@ export declare function hasApiKey(): boolean;
35
41
  /**
36
42
  * Get the source of the API key (for display purposes)
37
43
  */
38
- export declare function getApiKeySource(): 'env' | 'keychain' | 'none';
44
+ export declare function getApiKeySource(): 'env' | 'credentials_file' | 'keychain' | 'none';
39
45
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;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;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAoBrF;AA0CD;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,GAAG,UAAU,GAAG,MAAM,CAa7D"}
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"}
package/dist/core/auth.js CHANGED
@@ -1,10 +1,137 @@
1
1
  import { execSync } from 'child_process';
2
- import { platform } from 'os';
2
+ import { platform, homedir } from 'os';
3
+ import { readFileSync, statSync } from 'fs';
4
+ import path from 'path';
5
+ /**
6
+ * Validate that homedir() returns a legitimate user home directory
7
+ * Prevents attacks via manipulated HOME environment variable
8
+ */
9
+ function isValidHomeDirectory(homeDir) {
10
+ if (!homeDir || typeof homeDir !== 'string') {
11
+ return false;
12
+ }
13
+ const plat = platform();
14
+ if (plat === 'darwin') {
15
+ // macOS: /Users/<username> or /var/root
16
+ return homeDir.startsWith('/Users/') || homeDir === '/var/root';
17
+ }
18
+ else if (plat === 'win32') {
19
+ // Windows: C:\Users\<username> (case-insensitive)
20
+ return /^[A-Za-z]:\\Users\\/i.test(homeDir);
21
+ }
22
+ else {
23
+ // Linux/Unix: /home/<username> or /root
24
+ return homeDir.startsWith('/home/') || homeDir === '/root';
25
+ }
26
+ }
27
+ /**
28
+ * Validate that the credential path is within ~/.claude/ directory
29
+ * Prevents directory traversal attacks via manipulated HOME env var
30
+ */
31
+ function validateCredentialPath(credentialPath) {
32
+ try {
33
+ const homeDir = homedir();
34
+ // First validate that homedir is a legitimate user home directory
35
+ if (!isValidHomeDirectory(homeDir)) {
36
+ return false;
37
+ }
38
+ const normalized = path.resolve(credentialPath);
39
+ const expectedDir = path.resolve(homeDir, '.claude');
40
+ return normalized.startsWith(expectedDir);
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ /**
47
+ * Read credentials from ~/.claude/.credentials.json file
48
+ * Returns null if file doesn't exist, is malformed, or missing accessToken
49
+ */
50
+ function getCredentialsFromFile() {
51
+ try {
52
+ const credentialPath = path.join(homedir(), '.claude', '.credentials.json');
53
+ // Validate path to prevent directory traversal
54
+ if (!validateCredentialPath(credentialPath)) {
55
+ return null;
56
+ }
57
+ const content = readFileSync(credentialPath, 'utf-8');
58
+ // Handle empty file
59
+ if (!content || content.trim() === '') {
60
+ return null;
61
+ }
62
+ const parsed = JSON.parse(content);
63
+ // Validate required accessToken field
64
+ if (!parsed.accessToken) {
65
+ return null;
66
+ }
67
+ return parsed;
68
+ }
69
+ catch (error) {
70
+ // File not found - expected case
71
+ if (error.code === 'ENOENT') {
72
+ return null;
73
+ }
74
+ // Permission denied - log warning
75
+ if (error.code === 'EACCES') {
76
+ console.warn('Warning: Cannot read credential file - permission denied');
77
+ return null;
78
+ }
79
+ // JSON parse error - malformed file
80
+ if (error instanceof SyntaxError) {
81
+ return null;
82
+ }
83
+ // Unknown error - log generic message without exposing details
84
+ console.warn('Warning: Unexpected error reading credential file');
85
+ return null;
86
+ }
87
+ }
88
+ /**
89
+ * Check if a token is expired based on ISO8601 expiresAt date
90
+ * Returns false if date is invalid or missing (assume token is valid)
91
+ */
92
+ function isTokenExpired(expiresAt) {
93
+ if (!expiresAt) {
94
+ return false; // No expiration date, assume valid
95
+ }
96
+ try {
97
+ const expiry = new Date(expiresAt);
98
+ // Check if date is valid (not NaN)
99
+ if (isNaN(expiry.getTime())) {
100
+ return false; // Invalid date, skip expiration check
101
+ }
102
+ return Date.now() >= expiry.getTime();
103
+ }
104
+ catch {
105
+ return false; // Parse error, skip expiration check
106
+ }
107
+ }
108
+ /**
109
+ * Check credential file permissions and warn if insecure
110
+ * Only 600 (owner read/write) and 400 (owner read-only) are considered secure
111
+ */
112
+ function checkFilePermissions() {
113
+ try {
114
+ const credentialPath = path.join(homedir(), '.claude', '.credentials.json');
115
+ const stats = statSync(credentialPath);
116
+ const mode = stats.mode & parseInt('777', 8);
117
+ // Warn if permissions are NOT exactly 600 or 400
118
+ if (mode !== parseInt('600', 8) && mode !== parseInt('400', 8)) {
119
+ const isGroupReadable = (mode & parseInt('040', 8)) !== 0;
120
+ const isWorldReadable = (mode & parseInt('004', 8)) !== 0;
121
+ const readableType = isWorldReadable ? 'world readable' : (isGroupReadable ? 'group readable' : 'insecure');
122
+ console.warn(`Warning: Credential file ~/.claude/.credentials.json has insecure permissions (${mode.toString(8)}) - file is ${readableType}. Recommend: chmod 600`);
123
+ }
124
+ }
125
+ catch {
126
+ // If we can't stat the file, ignore (file might not exist)
127
+ }
128
+ }
3
129
  /**
4
130
  * Get API key/token from various sources in order of preference:
5
131
  * 1. ANTHROPIC_API_KEY environment variable (direct API key)
6
132
  * 2. CLAUDE_CODE_OAUTH_TOKEN environment variable (OAuth token)
7
- * 3. macOS Keychain (Claude Code credentials)
133
+ * 3. Credential file at ~/.claude/.credentials.json (all platforms)
134
+ * 4. macOS Keychain (Claude Code credentials, darwin only)
8
135
  */
9
136
  export function getApiKey() {
10
137
  // First check environment variables
@@ -14,6 +141,18 @@ export function getApiKey() {
14
141
  if (process.env.CLAUDE_CODE_OAUTH_TOKEN) {
15
142
  return process.env.CLAUDE_CODE_OAUTH_TOKEN;
16
143
  }
144
+ // Try credential file (all platforms)
145
+ // Check file permissions before reading (prevents TOCTOU vulnerability)
146
+ checkFilePermissions();
147
+ const credentials = getCredentialsFromFile();
148
+ if (credentials) {
149
+ // Check if token is expired and warn
150
+ if (isTokenExpired(credentials.expiresAt)) {
151
+ console.warn('Warning: Credential file token is expired. Run "claude login" to refresh.');
152
+ }
153
+ console.debug('Using credentials from: credentials_file');
154
+ return credentials.accessToken;
155
+ }
17
156
  // Try macOS Keychain
18
157
  if (platform() === 'darwin') {
19
158
  const keychainKey = getApiKeyFromKeychain();
@@ -50,6 +189,11 @@ export function getCredentialType(key) {
50
189
  * The Agent SDK uses:
51
190
  * - ANTHROPIC_API_KEY for direct API keys
52
191
  * - CLAUDE_CODE_OAUTH_TOKEN for OAuth tokens
192
+ *
193
+ * SECURITY NOTE: Environment variables set by this function persist for the lifetime
194
+ * of the Node.js process. The tokens are not automatically cleared and will be
195
+ * accessible to any code running in the same process. This is intentional for the
196
+ * Agent SDK to work correctly, but callers should be aware of this behavior.
53
197
  */
54
198
  export function configureAgentSdkAuth() {
55
199
  const key = getApiKey();
@@ -84,16 +228,24 @@ function getApiKeyFromKeychain() {
84
228
  const parsed = JSON.parse(credentials);
85
229
  // Check for Claude AI OAuth format: {"claudeAiOauth":{"accessToken":"..."}}
86
230
  if (parsed.claudeAiOauth?.accessToken) {
87
- return parsed.claudeAiOauth.accessToken;
231
+ const token = parsed.claudeAiOauth.accessToken;
232
+ // Validate token format before returning
233
+ if (isOAuthToken(token) || isDirectApiKey(token) || token.startsWith('sk-')) {
234
+ return token;
235
+ }
88
236
  }
89
237
  // Check for legacy format: {"accessToken":"..."}
90
238
  if (parsed.accessToken) {
91
- return parsed.accessToken;
239
+ const token = parsed.accessToken;
240
+ // Validate token format before returning
241
+ if (isOAuthToken(token) || isDirectApiKey(token) || token.startsWith('sk-')) {
242
+ return token;
243
+ }
92
244
  }
93
245
  }
94
246
  catch {
95
- // If not JSON, it might be the raw token
96
- if (credentials.startsWith('sk-') || credentials.length > 20) {
247
+ // If not JSON, it might be the raw token - validate before returning
248
+ if (isOAuthToken(credentials) || isDirectApiKey(credentials) || credentials.startsWith('sk-')) {
97
249
  return credentials;
98
250
  }
99
251
  }
@@ -114,9 +266,13 @@ export function hasApiKey() {
114
266
  * Get the source of the API key (for display purposes)
115
267
  */
116
268
  export function getApiKeySource() {
117
- if (process.env.ANTHROPIC_API_KEY) {
269
+ if (process.env.ANTHROPIC_API_KEY || process.env.CLAUDE_CODE_OAUTH_TOKEN) {
118
270
  return 'env';
119
271
  }
272
+ const credentials = getCredentialsFromFile();
273
+ if (credentials) {
274
+ return 'credentials_file';
275
+ }
120
276
  if (platform() === 'darwin') {
121
277
  const keychainKey = getApiKeyFromKeychain();
122
278
  if (keychainKey) {
@@ -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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"}
@@ -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;AAIhG;;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,CA2G/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,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,6 +1,7 @@
1
1
  import { query } from '@anthropic-ai/claude-agent-sdk';
2
2
  import { configureAgentSdkAuth, getApiKey, getCredentialType } from './auth.js';
3
3
  import { loadConfig, DEFAULT_TIMEOUTS } from './config.js';
4
+ import { platform, homedir } from 'os';
4
5
  import path from 'path';
5
6
  /**
6
7
  * Error thrown when an agent query times out
@@ -35,7 +36,16 @@ export async function runAgentQuery(options) {
35
36
  // Configure authentication
36
37
  const authResult = configureAgentSdkAuth();
37
38
  if (!authResult.configured) {
38
- throw new Error('No API key or OAuth token found. Set ANTHROPIC_API_KEY or sign in to Claude Code.');
39
+ const credentialPath = path.join(homedir(), '.claude', '.credentials.json');
40
+ const isDarwin = platform() === 'darwin';
41
+ let errorMessage = 'No API key or OAuth token found. ';
42
+ errorMessage += 'Set ANTHROPIC_API_KEY environment variable, ';
43
+ errorMessage += `or run "claude login" to create credentials at ${credentialPath}`;
44
+ if (isDarwin) {
45
+ errorMessage += ', or sign in to Claude Code (stored in macOS Keychain)';
46
+ }
47
+ errorMessage += '.';
48
+ throw new Error(errorMessage);
39
49
  }
40
50
  // Validate and normalize working directory
41
51
  const workingDir = path.resolve(options.workingDirectory || process.cwd());
@@ -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 } from '../types/index.js';
2
2
  /**
3
3
  * Default timeout configuration
4
4
  */
@@ -11,6 +11,10 @@ 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 implementation configuration
16
+ */
17
+ export declare const DEFAULT_IMPLEMENTATION_CONFIG: ImplementationConfig;
14
18
  export declare const DEFAULT_CONFIG: Config;
15
19
  /**
16
20
  * Get the SDLC root folder path
@@ -53,4 +57,12 @@ export declare function validateReviewConfig(reviewConfig: ReviewConfig): Review
53
57
  * Update review configuration
54
58
  */
55
59
  export declare function updateReviewConfig(reviewConfig: Partial<ReviewConfig>, workingDir?: string): Config;
60
+ /**
61
+ * Validate implementation configuration
62
+ */
63
+ export declare function validateImplementationConfig(implementationConfig: ImplementationConfig): ImplementationConfig;
64
+ /**
65
+ * Update implementation configuration
66
+ */
67
+ export declare function updateImplementationConfig(implementationConfig: Partial<ImplementationConfig>, workingDir?: string): Config;
56
68
  //# 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,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIpI;;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,eAAO,MAAM,cAAc,EAAE,MAiC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAOtE;AAyKD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CA4FrE;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"}
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"}
@@ -31,6 +31,13 @@ export const DEFAULT_TDD_CONFIG = {
31
31
  requireApprovalPerCycle: false,
32
32
  requirePassingTestsForComplete: true,
33
33
  };
34
+ /**
35
+ * Default implementation configuration
36
+ */
37
+ export const DEFAULT_IMPLEMENTATION_CONFIG = {
38
+ maxRetries: 3,
39
+ maxRetriesUpperBound: 10,
40
+ };
34
41
  export const DEFAULT_CONFIG = {
35
42
  sdlcFolder: '.ai-sdlc',
36
43
  stageGates: {
@@ -51,6 +58,7 @@ export const DEFAULT_CONFIG = {
51
58
  autoCompleteOnApproval: true,
52
59
  autoRestartOnRejection: true,
53
60
  },
61
+ implementation: { ...DEFAULT_IMPLEMENTATION_CONFIG },
54
62
  defaultLabels: [],
55
63
  theme: 'auto',
56
64
  // Test and build commands - auto-detected from package.json if present
@@ -251,6 +259,10 @@ export function loadConfig(workingDir = process.cwd()) {
251
259
  ...DEFAULT_CONFIG.reviewConfig,
252
260
  ...userConfig.reviewConfig,
253
261
  },
262
+ implementation: {
263
+ ...DEFAULT_IMPLEMENTATION_CONFIG,
264
+ ...userConfig.implementation,
265
+ },
254
266
  timeouts: {
255
267
  ...DEFAULT_TIMEOUTS,
256
268
  ...userConfig.timeouts,
@@ -288,6 +300,19 @@ export function loadConfig(workingDir = process.cwd()) {
288
300
  console.warn(`Invalid AI_SDLC_MAX_RETRIES value "${process.env.AI_SDLC_MAX_RETRIES}" (must be 0-10), ignoring`);
289
301
  }
290
302
  }
303
+ if (process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES) {
304
+ const maxRetries = parseInt(process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES, 10);
305
+ // Security: Limit to 0-10 range to prevent resource exhaustion
306
+ if (!isNaN(maxRetries) && maxRetries >= 0 && maxRetries <= 10) {
307
+ console.log(`Environment override: implementation.maxRetries set to ${maxRetries}`);
308
+ config.implementation.maxRetries = maxRetries;
309
+ // If user sets maxRetries via env, raise upper bound to allow it
310
+ config.implementation.maxRetriesUpperBound = Math.max(config.implementation.maxRetriesUpperBound, maxRetries);
311
+ }
312
+ else {
313
+ console.warn(`Invalid AI_SDLC_IMPLEMENTATION_MAX_RETRIES value "${process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES}" (must be 0-10), ignoring`);
314
+ }
315
+ }
291
316
  if (process.env.AI_SDLC_AUTO_COMPLETE) {
292
317
  const value = process.env.AI_SDLC_AUTO_COMPLETE;
293
318
  if (value === 'true' || value === 'false') {
@@ -310,6 +335,8 @@ export function loadConfig(workingDir = process.cwd()) {
310
335
  }
311
336
  // Validate review config
312
337
  config.reviewConfig = validateReviewConfig(config.reviewConfig);
338
+ // Validate implementation config
339
+ config.implementation = validateImplementationConfig(config.implementation);
313
340
  return config;
314
341
  }
315
342
  /**
@@ -407,4 +434,44 @@ export function updateReviewConfig(reviewConfig, workingDir = process.cwd()) {
407
434
  saveConfig(config, workingDir);
408
435
  return config;
409
436
  }
437
+ /**
438
+ * Validate implementation configuration
439
+ */
440
+ export function validateImplementationConfig(implementationConfig) {
441
+ const validated = { ...implementationConfig };
442
+ // Handle Infinity as valid "no limit" value
443
+ if (validated.maxRetries === Infinity) {
444
+ return validated;
445
+ }
446
+ // Ensure maxRetries is within valid bounds
447
+ if (validated.maxRetries < 0) {
448
+ console.warn(`Warning: implementation.maxRetries cannot be negative, using 0`);
449
+ validated.maxRetries = 0;
450
+ }
451
+ // Only apply upper bound check for finite values
452
+ if (Number.isFinite(validated.maxRetries) && Number.isFinite(validated.maxRetriesUpperBound)) {
453
+ if (validated.maxRetries > validated.maxRetriesUpperBound) {
454
+ console.warn(`Warning: implementation.maxRetries (${validated.maxRetries}) exceeds upper bound (${validated.maxRetriesUpperBound}), capping at ${validated.maxRetriesUpperBound}`);
455
+ validated.maxRetries = validated.maxRetriesUpperBound;
456
+ }
457
+ }
458
+ // Log unusual values
459
+ if (validated.maxRetries === 0) {
460
+ console.warn('Warning: implementation.maxRetries is set to 0 - implementation retry is disabled');
461
+ }
462
+ return validated;
463
+ }
464
+ /**
465
+ * Update implementation configuration
466
+ */
467
+ export function updateImplementationConfig(implementationConfig, workingDir = process.cwd()) {
468
+ const config = loadConfig(workingDir);
469
+ config.implementation = {
470
+ ...config.implementation,
471
+ ...implementationConfig,
472
+ };
473
+ config.implementation = validateImplementationConfig(config.implementation);
474
+ saveConfig(config, workingDir);
475
+ return config;
476
+ }
410
477
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,YAAY,EAAE,MAAM,EAAI,aAAa;IACrC,YAAY,EAAE,MAAM,EAAI,YAAY;IACpC,WAAW,EAAE,MAAM,EAAK,YAAY;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,IAAI,EAAe,YAAY;IAChD,aAAa,EAAE,CAAC,oBAAoB,CAAC;IACrC,YAAY,EAAE,GAAG,EAAmB,iBAAiB;IACrD,eAAe,EAAE,KAAK,EAAc,aAAa;IACjD,iBAAiB,EAAE,KAAK,EAAY,mBAAmB;IACvD,UAAU,EAAE,GAAG,EAAqB,oBAAoB;CACzD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,EAAE;IACb,uBAAuB,EAAE,KAAK;IAC9B,8BAA8B,EAAE,IAAI;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAyB;IACjE,UAAU,EAAE,CAAC;IACb,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,mCAAmC,EAAE,KAAK;QAC1C,uBAAuB,EAAE,KAAK;QAC9B,mBAAmB,EAAE,KAAK;KAC3B;IACD,UAAU,EAAE;QACV,aAAa,EAAE,CAAC;QAChB,qBAAqB,EAAE,QAAQ;QAC/B,oBAAoB,EAAE,IAAI;KAC3B;IACD,YAAY,EAAE;QACZ,yDAAyD;QACzD,UAAU,EAAE,CAAC;QACb,mDAAmD;QACnD,oBAAoB,EAAE,EAAE;QACxB,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,IAAI;KAC7B;IACD,cAAc,EAAE,EAAE,GAAG,6BAA6B,EAAE;IACpD,aAAa,EAAE,EAAE;IACjB,KAAK,EAAE,MAAM;IACb,uEAAuE;IACvE,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,eAAe;IAC7B,kFAAkF;IAClF,cAAc,EAAE,EAAE;IAClB,wBAAwB;IACxB,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE;IACjC,uBAAuB;IACvB,MAAM,EAAE,EAAE,GAAG,qBAAqB,EAAE;IACpC,oBAAoB;IACpB,GAAG,EAAE,EAAE,GAAG,kBAAkB,EAAE;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC5D,gCAAgC;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAClC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,SAAiB;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElG,uCAAuC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5B,sCAAsC;IACtC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,YAAY,SAAS,qCAAqC,UAAU,eAAe,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjI,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG;QACxB,WAAW,EAAO,kBAAkB;QACpC,MAAM,EAAY,wBAAwB;QAC1C,MAAM,EAAY,uBAAuB;KAC1C,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,YAAY,SAAS,yDAAyD,OAAO,EAAE,CAAC,CAAC;YACtG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,UAAe;IACzC,yCAAyC;IACzC,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,OAAO,UAAU,CAAC,cAAc,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CACrD,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC/D,CAAC;YACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CACV,4CAA4C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClH,CAAC;gBACF,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACtE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,CAAM,oBAAoB;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,CAAG,iBAAiB;IAEnD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,CAAU,CAAC;YAC/E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzE,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,mDAAmD,CAAC,CAAC;wBAClF,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;yBAAM,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,sBAAsB,cAAc,yBAAyB,CAAC,CAAC;wBACpF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;oBAC9C,CAAC;yBAAM,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,qBAAqB,cAAc,yBAAyB,CAAC,CAAC;wBACnF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,GAAG,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;oBAC/E,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC5C,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACnD,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;oBAClF,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC3C,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;oBAChI,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;oBACzF,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,IAAI,UAAU,CAAC,GAAG,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBACzD,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;oBAC/F,OAAO,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,UAAU,CAAC,GAAG,CAAC,8BAA8B,KAAK,SAAS,EAAE,CAAC;gBAChE,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,8BAA8B,KAAK,SAAS,EAAE,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;oBACtG,OAAO,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,MAAc,CAAC;IAEnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAoB,CAAC;YAEvE,MAAM,GAAG;gBACP,GAAG,cAAc;gBACjB,GAAG,UAAU;gBACb,UAAU,EAAE;oBACV,GAAG,cAAc,CAAC,UAAU;oBAC5B,GAAG,UAAU,CAAC,UAAU;iBACzB;gBACD,UAAU,EAAE;oBACV,GAAG,cAAc,CAAC,UAAU;oBAC5B,GAAG,UAAU,CAAC,UAAU;iBACzB;gBACD,YAAY,EAAE;oBACZ,GAAG,cAAc,CAAC,YAAY;oBAC9B,GAAG,UAAU,CAAC,YAAY;iBAC3B;gBACD,cAAc,EAAE;oBACd,GAAG,6BAA6B;oBAChC,GAAG,UAAU,CAAC,cAAc;iBAC7B;gBACD,QAAQ,EAAE;oBACR,GAAG,gBAAgB;oBACnB,GAAG,UAAU,CAAC,QAAQ;iBACvB;gBACD,MAAM,EAAE;oBACN,GAAG,qBAAqB;oBACxB,GAAG,UAAU,CAAC,MAAM;iBACrB;gBACD,GAAG,EAAE;oBACH,GAAG,kBAAkB;oBACrB,GAAG,UAAU,CAAC,GAAG;iBAClB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC5E,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,4BAA4B,eAAe,kBAAkB,CAAC,CAAC;YAC5E,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACjE,2EAA2E;QAC3E,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;YAC5C,iEAAiE;YACjE,MAAM,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACjD,MAAM,CAAC,YAAY,CAAC,oBAAoB,EACxC,UAAU,CACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,sCAAsC,OAAO,CAAC,GAAG,CAAC,mBAAmB,4BAA4B,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;QAChF,+DAA+D;QAC/D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,0DAA0D,UAAU,EAAE,CAAC,CAAC;YACpF,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;YAC9C,iEAAiE;YACjE,MAAM,CAAC,cAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnD,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAC1C,UAAU,CACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,qDAAqD,OAAO,CAAC,GAAG,CAAC,kCAAkC,4BAA4B,CAAC,CAAC;QAChJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAChD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,YAAY,CAAC,sBAAsB,GAAG,KAAK,KAAK,MAAM,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,wCAAwC,KAAK,yCAAyC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,YAAY,CAAC,sBAAsB,GAAG,KAAK,KAAK,MAAM,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,yCAAyC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEhE,iCAAiC;IACjC,MAAM,CAAC,cAAc,GAAG,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA+B,EAC/B,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,GAAG;QAClB,GAAG,MAAM,CAAC,UAAU;QACpB,GAAG,KAAK;KACT,CAAC;IACF,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA2B,EAC3B,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,gBAA2C,EAC3C,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,GAAG;QAClB,GAAG,MAAM,CAAC,UAAU;QACpB,GAAG,gBAAgB;KACpB,CAAC;IACF,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA0B;IAC7D,MAAM,SAAS,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAEtC,4CAA4C;IAC5C,IAAI,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAChE,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7F,IAAI,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CACV,wBAAwB,SAAS,CAAC,UAAU,0BAA0B,SAAS,CAAC,oBAAoB,iBAAiB,SAAS,CAAC,oBAAoB,EAAE,CACtJ,CAAC;YACF,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC;QACxD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAmC,EACnC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,YAAY,GAAG;QACpB,GAAG,MAAM,CAAC,YAAY;QACtB,GAAG,YAAY;KAChB,CAAC;IACF,MAAM,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,oBAA0C;IACrF,MAAM,SAAS,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,4CAA4C;IAC5C,IAAI,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC/E,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7F,IAAI,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CACV,uCAAuC,SAAS,CAAC,UAAU,0BAA0B,SAAS,CAAC,oBAAoB,iBAAiB,SAAS,CAAC,oBAAoB,EAAE,CACrK,CAAC;YACF,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC;QACxD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,oBAAmD,EACnD,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,cAAc,GAAG;QACtB,GAAG,MAAM,CAAC,cAAc;QACxB,GAAG,oBAAoB;KACxB,CAAC;IACF,MAAM,CAAC,cAAc,GAAG,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5E,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -20,11 +20,6 @@ export declare function getStoriesInFolder(sdlcRoot: string, folder: KanbanFolde
20
20
  * In new architecture, uses findAllStories() and groups by status
21
21
  */
22
22
  export declare function getAllStories(sdlcRoot: string): Map<KanbanFolder, Story[]>;
23
- /**
24
- * Find a story by ID using O(1) direct path lookup
25
- * Falls back to searching old folder structure for backwards compatibility
26
- */
27
- export declare function findStoryById(sdlcRoot: string, storyId: string): Story | null;
28
23
  /**
29
24
  * Find a story by slug across all folders
30
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAA0B,YAAY,EAA+D,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK3K;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CA4BxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAalF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,CAclF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAiC1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAsC7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAO7D;AAeD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA6M7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAItD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAa5E"}
1
+ {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAA0B,YAAY,EAA+D,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK3K;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CA4BxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAalF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,CAclF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAiC1E;AAKD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAO7D;AAeD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA6M7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAItD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAa5E"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { glob } from 'glob';
4
- import { KANBAN_FOLDERS, ReviewDecision, BLOCKED_DIR, STORIES_FOLDER, STORY_FILENAME } from '../types/index.js';
4
+ import { KANBAN_FOLDERS, ReviewDecision, STORIES_FOLDER, STORY_FILENAME } from '../types/index.js';
5
5
  import { parseStory, isAtMaxRetries, canRetryRefinement, getLatestReviewAttempt, moveToBlocked, getEffectiveMaxRetries, sanitizeReasonText } from './story.js';
6
6
  import { loadConfig } from './config.js';
7
7
  import { determineTargetPhase } from '../agents/rework.js';
@@ -102,48 +102,8 @@ export function getAllStories(sdlcRoot) {
102
102
  }
103
103
  return stories;
104
104
  }
105
- /**
106
- * Find a story by ID using O(1) direct path lookup
107
- * Falls back to searching old folder structure for backwards compatibility
108
- */
109
- export function findStoryById(sdlcRoot, storyId) {
110
- // O(1) direct path construction for new architecture
111
- const storyPath = path.join(sdlcRoot, STORIES_FOLDER, storyId, STORY_FILENAME);
112
- if (fs.existsSync(storyPath)) {
113
- try {
114
- return parseStory(storyPath);
115
- }
116
- catch (err) {
117
- // Story file exists but is malformed, fall through to search
118
- }
119
- }
120
- // Fallback: search old folder structure for backwards compatibility
121
- // Search kanban folders first
122
- for (const folder of KANBAN_FOLDERS) {
123
- const stories = getStoriesInFolder(sdlcRoot, folder);
124
- const found = stories.find(s => s.frontmatter.id === storyId);
125
- if (found)
126
- return found;
127
- }
128
- // Also search blocked folder
129
- const blockedFolder = path.join(sdlcRoot, BLOCKED_DIR);
130
- if (fs.existsSync(blockedFolder)) {
131
- const blockedFiles = fs.readdirSync(blockedFolder).filter(f => f.endsWith('.md'));
132
- for (const file of blockedFiles) {
133
- const filePath = path.join(blockedFolder, file);
134
- try {
135
- const story = parseStory(filePath);
136
- if (story.frontmatter.id === storyId) {
137
- return story;
138
- }
139
- }
140
- catch (err) {
141
- continue;
142
- }
143
- }
144
- }
145
- return null;
146
- }
105
+ // findStoryById has been moved to story.ts and is now imported above
106
+ // This consolidates story lookup logic in one place (DRY principle)
147
107
  /**
148
108
  * Find a story by slug across all folders
149
109
  */