ai-sdlc 0.2.0-alpha.2 → 0.2.0-alpha.20
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.
- package/dist/agents/implementation.d.ts +62 -0
- package/dist/agents/implementation.d.ts.map +1 -1
- package/dist/agents/implementation.js +502 -89
- package/dist/agents/implementation.js.map +1 -1
- package/dist/agents/planning.js +2 -2
- package/dist/agents/planning.js.map +1 -1
- package/dist/agents/refinement.js +2 -2
- package/dist/agents/refinement.js.map +1 -1
- package/dist/agents/research.js +2 -2
- package/dist/agents/research.js.map +1 -1
- package/dist/agents/review.d.ts +12 -0
- package/dist/agents/review.d.ts.map +1 -1
- package/dist/agents/review.js +100 -9
- package/dist/agents/review.js.map +1 -1
- package/dist/agents/rework.js +3 -3
- package/dist/agents/rework.js.map +1 -1
- package/dist/agents/state-assessor.d.ts +3 -3
- package/dist/agents/state-assessor.d.ts.map +1 -1
- package/dist/agents/state-assessor.js +6 -6
- package/dist/agents/state-assessor.js.map +1 -1
- package/dist/agents/verification.d.ts +11 -0
- package/dist/agents/verification.d.ts.map +1 -1
- package/dist/agents/verification.js +74 -1
- package/dist/agents/verification.js.map +1 -1
- package/dist/cli/commands/migrate.js +1 -1
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands.d.ts +30 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +637 -171
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +23 -10
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/formatting.js +1 -1
- package/dist/cli/formatting.js.map +1 -1
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +39 -20
- package/dist/cli/runner.js.map +1 -1
- package/dist/core/auth.d.ts +51 -2
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +267 -7
- package/dist/core/auth.js.map +1 -1
- package/dist/core/client.d.ts +6 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +34 -2
- package/dist/core/client.js.map +1 -1
- package/dist/core/config.d.ts +36 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +161 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/conflict-detector.d.ts +108 -0
- package/dist/core/conflict-detector.d.ts.map +1 -0
- package/dist/core/conflict-detector.js +413 -0
- package/dist/core/conflict-detector.js.map +1 -0
- package/dist/core/git-utils.d.ts +28 -0
- package/dist/core/git-utils.d.ts.map +1 -0
- package/dist/core/git-utils.js +146 -0
- package/dist/core/git-utils.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/kanban.d.ts +1 -6
- package/dist/core/kanban.d.ts.map +1 -1
- package/dist/core/kanban.js +10 -49
- package/dist/core/kanban.js.map +1 -1
- package/dist/core/logger.d.ts +92 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +221 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/story.d.ts +108 -20
- package/dist/core/story.d.ts.map +1 -1
- package/dist/core/story.js +340 -59
- package/dist/core/story.js.map +1 -1
- package/dist/core/workflow-state.d.ts +45 -6
- package/dist/core/workflow-state.d.ts.map +1 -1
- package/dist/core/workflow-state.js +185 -12
- package/dist/core/workflow-state.js.map +1 -1
- package/dist/core/worktree.d.ts +77 -0
- package/dist/core/worktree.d.ts.map +1 -0
- package/dist/core/worktree.js +246 -0
- package/dist/core/worktree.js.map +1 -0
- package/dist/index.js +49 -3
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +101 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -1
package/dist/core/client.js
CHANGED
|
@@ -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 { platform, homedir } from 'os';
|
|
4
5
|
import path from 'path';
|
|
5
6
|
/**
|
|
6
7
|
* Error thrown when an agent query times out
|
|
@@ -12,6 +13,15 @@ export class AgentTimeoutError extends Error {
|
|
|
12
13
|
this.name = 'AgentTimeoutError';
|
|
13
14
|
}
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Error thrown when authentication fails (e.g., expired token)
|
|
18
|
+
*/
|
|
19
|
+
export class AuthenticationError extends Error {
|
|
20
|
+
constructor(message) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.name = 'AuthenticationError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
15
25
|
/**
|
|
16
26
|
* Validate that the working directory is within safe boundaries
|
|
17
27
|
*/
|
|
@@ -35,7 +45,29 @@ export async function runAgentQuery(options) {
|
|
|
35
45
|
// Configure authentication
|
|
36
46
|
const authResult = configureAgentSdkAuth();
|
|
37
47
|
if (!authResult.configured) {
|
|
38
|
-
|
|
48
|
+
const credentialPath = path.join(homedir(), '.claude', '.credentials.json');
|
|
49
|
+
const isDarwin = platform() === 'darwin';
|
|
50
|
+
let errorMessage = 'No API key or OAuth token found. ';
|
|
51
|
+
errorMessage += 'Set ANTHROPIC_API_KEY environment variable, ';
|
|
52
|
+
errorMessage += `or run "claude login" to create credentials at ${credentialPath}`;
|
|
53
|
+
if (isDarwin) {
|
|
54
|
+
errorMessage += ', or sign in to Claude Code (stored in macOS Keychain)';
|
|
55
|
+
}
|
|
56
|
+
errorMessage += '.';
|
|
57
|
+
throw new Error(errorMessage);
|
|
58
|
+
}
|
|
59
|
+
// Check token expiration (only for OAuth tokens from credential file)
|
|
60
|
+
if (authResult.type === 'oauth_token') {
|
|
61
|
+
const tokenInfo = getTokenExpirationInfo();
|
|
62
|
+
// If token is expired, throw authentication error
|
|
63
|
+
if (tokenInfo.isExpired) {
|
|
64
|
+
const source = tokenInfo.source ? `Token from ${tokenInfo.source}` : 'OAuth token';
|
|
65
|
+
throw new AuthenticationError(`${source} has expired. Please run \`claude login\` to refresh your credentials.`);
|
|
66
|
+
}
|
|
67
|
+
// If token expires within 5 minutes, show warning but proceed
|
|
68
|
+
if (tokenInfo.expiresInMs !== null && tokenInfo.expiresInMs < 5 * 60 * 1000) {
|
|
69
|
+
console.warn('⚠️ OAuth token expires in less than 5 minutes. Consider running `claude login`.');
|
|
70
|
+
}
|
|
39
71
|
}
|
|
40
72
|
// Validate and normalize working directory
|
|
41
73
|
const workingDir = path.resolve(options.workingDirectory || process.cwd());
|
package/dist/core/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,iBAAiB,EAAkB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -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
|
|
@@ -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;
|
|
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,MAsC5B,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"}
|
package/dist/core/config.js
CHANGED
|
@@ -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,29 @@ 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
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Default implementation configuration
|
|
43
|
+
*/
|
|
44
|
+
export const DEFAULT_IMPLEMENTATION_CONFIG = {
|
|
45
|
+
maxRetries: 3,
|
|
46
|
+
maxRetriesUpperBound: 10,
|
|
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
|
+
};
|
|
34
57
|
export const DEFAULT_CONFIG = {
|
|
35
58
|
sdlcFolder: '.ai-sdlc',
|
|
36
59
|
stageGates: {
|
|
@@ -51,6 +74,7 @@ export const DEFAULT_CONFIG = {
|
|
|
51
74
|
autoCompleteOnApproval: true,
|
|
52
75
|
autoRestartOnRejection: true,
|
|
53
76
|
},
|
|
77
|
+
implementation: { ...DEFAULT_IMPLEMENTATION_CONFIG },
|
|
54
78
|
defaultLabels: [],
|
|
55
79
|
theme: 'auto',
|
|
56
80
|
// Test and build commands - auto-detected from package.json if present
|
|
@@ -64,6 +88,10 @@ export const DEFAULT_CONFIG = {
|
|
|
64
88
|
daemon: { ...DEFAULT_DAEMON_CONFIG },
|
|
65
89
|
// TDD configuration
|
|
66
90
|
tdd: { ...DEFAULT_TDD_CONFIG },
|
|
91
|
+
// Worktree configuration
|
|
92
|
+
worktree: { ...DEFAULT_WORKTREE_CONFIG },
|
|
93
|
+
// Logging configuration
|
|
94
|
+
logging: { ...DEFAULT_LOGGING_CONFIG },
|
|
67
95
|
};
|
|
68
96
|
/**
|
|
69
97
|
* Get the SDLC root folder path
|
|
@@ -220,6 +248,29 @@ function sanitizeUserConfig(userConfig) {
|
|
|
220
248
|
}
|
|
221
249
|
}
|
|
222
250
|
}
|
|
251
|
+
// Validate worktree configuration if present
|
|
252
|
+
if (userConfig.worktree !== undefined) {
|
|
253
|
+
if (typeof userConfig.worktree !== 'object' || userConfig.worktree === null) {
|
|
254
|
+
console.warn('Invalid worktree in config (must be object), ignoring');
|
|
255
|
+
delete userConfig.worktree;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// Validate worktree.enabled (must be boolean)
|
|
259
|
+
if (userConfig.worktree.enabled !== undefined) {
|
|
260
|
+
if (typeof userConfig.worktree.enabled !== 'boolean') {
|
|
261
|
+
console.warn('Invalid worktree.enabled in config (must be boolean), using default');
|
|
262
|
+
delete userConfig.worktree.enabled;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Validate worktree.basePath (must be string)
|
|
266
|
+
if (userConfig.worktree.basePath !== undefined) {
|
|
267
|
+
if (typeof userConfig.worktree.basePath !== 'string') {
|
|
268
|
+
console.warn('Invalid worktree.basePath in config (must be string), using default');
|
|
269
|
+
delete userConfig.worktree.basePath;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
223
274
|
return userConfig;
|
|
224
275
|
}
|
|
225
276
|
/**
|
|
@@ -251,6 +302,10 @@ export function loadConfig(workingDir = process.cwd()) {
|
|
|
251
302
|
...DEFAULT_CONFIG.reviewConfig,
|
|
252
303
|
...userConfig.reviewConfig,
|
|
253
304
|
},
|
|
305
|
+
implementation: {
|
|
306
|
+
...DEFAULT_IMPLEMENTATION_CONFIG,
|
|
307
|
+
...userConfig.implementation,
|
|
308
|
+
},
|
|
254
309
|
timeouts: {
|
|
255
310
|
...DEFAULT_TIMEOUTS,
|
|
256
311
|
...userConfig.timeouts,
|
|
@@ -263,6 +318,14 @@ export function loadConfig(workingDir = process.cwd()) {
|
|
|
263
318
|
...DEFAULT_TDD_CONFIG,
|
|
264
319
|
...userConfig.tdd,
|
|
265
320
|
},
|
|
321
|
+
worktree: {
|
|
322
|
+
...DEFAULT_WORKTREE_CONFIG,
|
|
323
|
+
...userConfig.worktree,
|
|
324
|
+
},
|
|
325
|
+
logging: {
|
|
326
|
+
...DEFAULT_LOGGING_CONFIG,
|
|
327
|
+
...userConfig.logging,
|
|
328
|
+
},
|
|
266
329
|
};
|
|
267
330
|
}
|
|
268
331
|
catch (error) {
|
|
@@ -288,6 +351,19 @@ export function loadConfig(workingDir = process.cwd()) {
|
|
|
288
351
|
console.warn(`Invalid AI_SDLC_MAX_RETRIES value "${process.env.AI_SDLC_MAX_RETRIES}" (must be 0-10), ignoring`);
|
|
289
352
|
}
|
|
290
353
|
}
|
|
354
|
+
if (process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES) {
|
|
355
|
+
const maxRetries = parseInt(process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES, 10);
|
|
356
|
+
// Security: Limit to 0-10 range to prevent resource exhaustion
|
|
357
|
+
if (!isNaN(maxRetries) && maxRetries >= 0 && maxRetries <= 10) {
|
|
358
|
+
console.log(`Environment override: implementation.maxRetries set to ${maxRetries}`);
|
|
359
|
+
config.implementation.maxRetries = maxRetries;
|
|
360
|
+
// If user sets maxRetries via env, raise upper bound to allow it
|
|
361
|
+
config.implementation.maxRetriesUpperBound = Math.max(config.implementation.maxRetriesUpperBound, maxRetries);
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
console.warn(`Invalid AI_SDLC_IMPLEMENTATION_MAX_RETRIES value "${process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES}" (must be 0-10), ignoring`);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
291
367
|
if (process.env.AI_SDLC_AUTO_COMPLETE) {
|
|
292
368
|
const value = process.env.AI_SDLC_AUTO_COMPLETE;
|
|
293
369
|
if (value === 'true' || value === 'false') {
|
|
@@ -308,8 +384,21 @@ export function loadConfig(workingDir = process.cwd()) {
|
|
|
308
384
|
console.warn(`Invalid AI_SDLC_AUTO_RESTART value "${value}" (must be "true" or "false"), ignoring`);
|
|
309
385
|
}
|
|
310
386
|
}
|
|
387
|
+
if (process.env.AI_SDLC_LOG_LEVEL) {
|
|
388
|
+
const value = process.env.AI_SDLC_LOG_LEVEL.toLowerCase();
|
|
389
|
+
const validLevels = ['debug', 'info', 'warn', 'error'];
|
|
390
|
+
if (validLevels.includes(value)) {
|
|
391
|
+
config.logging = config.logging || { ...DEFAULT_LOGGING_CONFIG };
|
|
392
|
+
config.logging.level = value;
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
console.warn(`Invalid AI_SDLC_LOG_LEVEL value "${process.env.AI_SDLC_LOG_LEVEL}" (must be debug, info, warn, or error), ignoring`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
311
398
|
// Validate review config
|
|
312
399
|
config.reviewConfig = validateReviewConfig(config.reviewConfig);
|
|
400
|
+
// Validate implementation config
|
|
401
|
+
config.implementation = validateImplementationConfig(config.implementation);
|
|
313
402
|
return config;
|
|
314
403
|
}
|
|
315
404
|
/**
|
|
@@ -407,4 +496,75 @@ export function updateReviewConfig(reviewConfig, workingDir = process.cwd()) {
|
|
|
407
496
|
saveConfig(config, workingDir);
|
|
408
497
|
return config;
|
|
409
498
|
}
|
|
499
|
+
/**
|
|
500
|
+
* Validate implementation configuration
|
|
501
|
+
*/
|
|
502
|
+
export function validateImplementationConfig(implementationConfig) {
|
|
503
|
+
const validated = { ...implementationConfig };
|
|
504
|
+
// Handle Infinity as valid "no limit" value
|
|
505
|
+
if (validated.maxRetries === Infinity) {
|
|
506
|
+
return validated;
|
|
507
|
+
}
|
|
508
|
+
// Ensure maxRetries is within valid bounds
|
|
509
|
+
if (validated.maxRetries < 0) {
|
|
510
|
+
console.warn(`Warning: implementation.maxRetries cannot be negative, using 0`);
|
|
511
|
+
validated.maxRetries = 0;
|
|
512
|
+
}
|
|
513
|
+
// Only apply upper bound check for finite values
|
|
514
|
+
if (Number.isFinite(validated.maxRetries) && Number.isFinite(validated.maxRetriesUpperBound)) {
|
|
515
|
+
if (validated.maxRetries > validated.maxRetriesUpperBound) {
|
|
516
|
+
console.warn(`Warning: implementation.maxRetries (${validated.maxRetries}) exceeds upper bound (${validated.maxRetriesUpperBound}), capping at ${validated.maxRetriesUpperBound}`);
|
|
517
|
+
validated.maxRetries = validated.maxRetriesUpperBound;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
// Log unusual values
|
|
521
|
+
if (validated.maxRetries === 0) {
|
|
522
|
+
console.warn('Warning: implementation.maxRetries is set to 0 - implementation retry is disabled');
|
|
523
|
+
}
|
|
524
|
+
return validated;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Update implementation configuration
|
|
528
|
+
*/
|
|
529
|
+
export function updateImplementationConfig(implementationConfig, workingDir = process.cwd()) {
|
|
530
|
+
const config = loadConfig(workingDir);
|
|
531
|
+
config.implementation = {
|
|
532
|
+
...config.implementation,
|
|
533
|
+
...implementationConfig,
|
|
534
|
+
};
|
|
535
|
+
config.implementation = validateImplementationConfig(config.implementation);
|
|
536
|
+
saveConfig(config, workingDir);
|
|
537
|
+
return config;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Validate and resolve worktree basePath
|
|
541
|
+
* @param basePath - The configured base path (may be relative)
|
|
542
|
+
* @param projectRoot - The project root directory
|
|
543
|
+
* @returns The resolved absolute path
|
|
544
|
+
* @throws Error if the parent directory does not exist
|
|
545
|
+
*/
|
|
546
|
+
export function validateWorktreeBasePath(basePath, projectRoot) {
|
|
547
|
+
const resolvedPath = path.isAbsolute(basePath)
|
|
548
|
+
? basePath
|
|
549
|
+
: path.resolve(projectRoot, basePath);
|
|
550
|
+
// Check parent directory exists (worktree dir itself may not exist yet)
|
|
551
|
+
const parentDir = path.dirname(resolvedPath);
|
|
552
|
+
if (!fs.existsSync(parentDir)) {
|
|
553
|
+
throw new Error(`Worktree basePath parent directory does not exist: ${parentDir}`);
|
|
554
|
+
}
|
|
555
|
+
return resolvedPath;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Get resolved worktree configuration with validated paths
|
|
559
|
+
* @param config - The loaded configuration
|
|
560
|
+
* @param projectRoot - The project root directory
|
|
561
|
+
* @returns Resolved worktree config with absolute basePath
|
|
562
|
+
*/
|
|
563
|
+
export function getWorktreeConfig(config, projectRoot) {
|
|
564
|
+
const worktreeConfig = config.worktree ?? DEFAULT_WORKTREE_CONFIG;
|
|
565
|
+
return {
|
|
566
|
+
enabled: worktreeConfig.enabled,
|
|
567
|
+
basePath: validateWorktreeBasePath(worktreeConfig.basePath, projectRoot),
|
|
568
|
+
};
|
|
569
|
+
}
|
|
410
570
|
//# sourceMappingURL=config.js.map
|
package/dist/core/config.js.map
CHANGED
|
@@ -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,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,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,uBAAuB,GAAmB;IACrD,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAyB;IACjE,UAAU,EAAE,CAAC;IACb,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAc;IAC/C,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,CAAC;CACZ,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;IAC9B,yBAAyB;IACzB,QAAQ,EAAE,EAAE,GAAG,uBAAuB,EAAE;IACxC,wBAAwB;IACxB,OAAO,EAAE,EAAE,GAAG,sBAAsB,EAAE;CACvC,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,6CAA6C;IAC7C,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,8CAA8C;YAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9C,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;oBACpF,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/C,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;oBACpF,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACtC,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;gBACD,QAAQ,EAAE;oBACR,GAAG,uBAAuB;oBAC1B,GAAG,UAAU,CAAC,QAAQ;iBACvB;gBACD,OAAO,EAAE;oBACP,GAAG,sBAAsB;oBACzB,GAAG,UAAU,CAAC,OAAO;iBACtB;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,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,sBAAsB,EAAE,CAAC;YACjE,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAA4C,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,GAAG,CAAC,iBAAiB,mDAAmD,CAAC,CAAC;QACrI,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;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB,EAAE,WAAmB;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAExC,wEAAwE;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAmB;IACnE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,uBAAuB,CAAC;IAElE,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,QAAQ,EAAE,wBAAwB,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC;KACzE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Story, ConflictDetectionResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Service for detecting conflicts between multiple stories by analyzing their git branches.
|
|
4
|
+
* Performs pairwise comparison of modified files to identify overlapping changes.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const detector = new ConflictDetectorService('/path/to/project', 'main');
|
|
9
|
+
* const result = await detector.detectConflicts([storyA, storyB]);
|
|
10
|
+
* if (!result.safeToRunConcurrently) {
|
|
11
|
+
* console.log('Conflicts detected:', result.summary);
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class ConflictDetectorService {
|
|
16
|
+
private projectRoot;
|
|
17
|
+
private baseBranch;
|
|
18
|
+
constructor(projectRoot: string, baseBranch?: string);
|
|
19
|
+
/**
|
|
20
|
+
* Detect conflicts between multiple stories by analyzing their git branches.
|
|
21
|
+
* Performs O(n²) pairwise comparison - acceptable for small story counts (<20).
|
|
22
|
+
*
|
|
23
|
+
* @param stories - Array of stories to analyze
|
|
24
|
+
* @returns Conflict analysis with severity classification and recommendations
|
|
25
|
+
*/
|
|
26
|
+
detectConflicts(stories: Story[]): ConflictDetectionResult;
|
|
27
|
+
/**
|
|
28
|
+
* Analyze potential conflicts between two stories
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
private analyzePair;
|
|
32
|
+
/**
|
|
33
|
+
* Get all modified files for a story (committed and uncommitted changes)
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
private getModifiedFiles;
|
|
37
|
+
/**
|
|
38
|
+
* Find the branch name for a story using pattern ai-sdlc/{storyId}-*
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
private getBranchName;
|
|
42
|
+
/**
|
|
43
|
+
* Determine the working directory for a story (worktree or main repo)
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
private getBranchWorkingDirectory;
|
|
47
|
+
/**
|
|
48
|
+
* Get committed changes using git diff --name-status.
|
|
49
|
+
* Handles renamed and deleted files by including both old and new paths.
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
private getCommittedChanges;
|
|
53
|
+
/**
|
|
54
|
+
* Get uncommitted changes using git status --porcelain.
|
|
55
|
+
* Handles quoted filenames with spaces or special characters.
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
private getUncommittedChanges;
|
|
59
|
+
/**
|
|
60
|
+
* Find files that appear in both arrays (exact path match)
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
private findSharedFiles;
|
|
64
|
+
/**
|
|
65
|
+
* Find directories that contain files from both arrays
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private findSharedDirectories;
|
|
69
|
+
/**
|
|
70
|
+
* Classify conflict severity based on overlap.
|
|
71
|
+
*
|
|
72
|
+
* Severity levels:
|
|
73
|
+
* - high: Same file modified in both stories (direct conflict)
|
|
74
|
+
* - medium: Same directory, different files (potential merge issues)
|
|
75
|
+
* - low: Different directories, but both stories have changes (cross-cutting concerns)
|
|
76
|
+
* - none: No overlap or one story has no changes
|
|
77
|
+
*
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
private classifySeverity;
|
|
81
|
+
/**
|
|
82
|
+
* Generate human-readable recommendation based on conflict analysis
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private generateRecommendation;
|
|
86
|
+
/**
|
|
87
|
+
* Generate overall summary of conflict detection results
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
private generateSummary;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Convenience function to detect conflicts between stories.
|
|
94
|
+
* Creates a ConflictDetectorService instance and runs conflict detection.
|
|
95
|
+
*
|
|
96
|
+
* @param stories - Array of stories to analyze
|
|
97
|
+
* @param projectRoot - Root directory of the git repository
|
|
98
|
+
* @param baseBranch - Base branch to compare against (default: 'main')
|
|
99
|
+
* @returns Conflict detection result
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const result = detectConflicts(stories, '/path/to/project');
|
|
104
|
+
* console.log(result.summary);
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare function detectConflicts(stories: Story[], projectRoot: string, baseBranch?: string): ConflictDetectionResult;
|
|
108
|
+
//# sourceMappingURL=conflict-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/core/conflict-detector.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EAEL,uBAAuB,EAExB,MAAM,mBAAmB,CAAC;AAmG3B;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;gBADV,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAe;IAOrC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,uBAAuB;IAuC1D;;;OAGG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmCrB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA8C3B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAkBxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EAAE,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAe,GAC1B,uBAAuB,CAGzB"}
|