@defai.digital/ax-cli 2.3.1 → 2.4.0
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/.ax-cli/CUSTOM.md +111 -89
- package/.ax-cli/index.json +4 -3
- package/README.md +43 -16
- package/config/prompts.yaml +9 -0
- package/config/settings.yaml +2 -0
- package/dist/agent/llm-agent.d.ts +17 -0
- package/dist/agent/llm-agent.js +151 -52
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/commands/init/wizard.d.ts +66 -0
- package/dist/commands/init/wizard.js +310 -0
- package/dist/commands/init/wizard.js.map +1 -0
- package/dist/commands/init.js +145 -31
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.js +3 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/memory.d.ts +5 -0
- package/dist/commands/memory.js +257 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/setup.js +1 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/templates.d.ts +5 -0
- package/dist/commands/templates.js +244 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/commands/update.js +9 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/usage.js +1 -1
- package/dist/commands/usage.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/hooks/use-input-handler.js +18 -4
- package/dist/hooks/use-input-handler.js.map +1 -1
- package/dist/index.js +143 -16
- package/dist/index.js.map +1 -1
- package/dist/llm/client.d.ts +5 -0
- package/dist/llm/client.js +43 -37
- package/dist/llm/client.js.map +1 -1
- package/dist/schemas/index.d.ts +69 -0
- package/dist/schemas/index.js +29 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/yaml-schemas.d.ts +10 -0
- package/dist/schemas/yaml-schemas.js +2 -0
- package/dist/schemas/yaml-schemas.js.map +1 -1
- package/dist/tools/search.js +7 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/text-editor.js +24 -14
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/tools/todo-tool.js +62 -21
- package/dist/tools/todo-tool.js.map +1 -1
- package/dist/types/template.d.ts +53 -0
- package/dist/types/template.js +5 -0
- package/dist/types/template.js.map +1 -0
- package/dist/ui/components/command-suggestions.js +2 -2
- package/dist/ui/components/command-suggestions.js.map +1 -1
- package/dist/utils/cache.d.ts +1 -0
- package/dist/utils/cache.js +39 -5
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/config-loader.d.ts +2 -0
- package/dist/utils/config-loader.js +2 -1
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/confirmation-service.js +6 -3
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/error-handler.d.ts +5 -0
- package/dist/utils/error-handler.js +9 -3
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/init-previewer.d.ts +56 -0
- package/dist/utils/init-previewer.js +217 -0
- package/dist/utils/init-previewer.js.map +1 -0
- package/dist/utils/init-validator.d.ts +61 -0
- package/dist/utils/init-validator.js +248 -0
- package/dist/utils/init-validator.js.map +1 -0
- package/dist/utils/onboarding-manager.js +34 -9
- package/dist/utils/onboarding-manager.js.map +1 -1
- package/dist/utils/path-utils.d.ts +83 -0
- package/dist/utils/path-utils.js +122 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/progress-tracker.d.ts +51 -0
- package/dist/utils/progress-tracker.js +152 -0
- package/dist/utils/progress-tracker.js.map +1 -0
- package/dist/utils/project-analyzer.js +8 -14
- package/dist/utils/project-analyzer.js.map +1 -1
- package/dist/utils/settings-manager.d.ts +3 -3
- package/dist/utils/settings-manager.js +6 -13
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/utils/string-utils.d.ts +19 -0
- package/dist/utils/string-utils.js +28 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/utils/template-manager.d.ts +54 -0
- package/dist/utils/template-manager.js +421 -0
- package/dist/utils/template-manager.js.map +1 -0
- package/dist/utils/text-utils.js +3 -1
- package/dist/utils/text-utils.js.map +1 -1
- package/package.json +2 -1
- package/vitest.config.ts +6 -0
- package/dist/utils/model-config.d.ts +0 -28
- package/dist/utils/model-config.js +0 -43
- package/dist/utils/model-config.js.map +0 -1
- package/dist/utils/tool-helpers.d.ts +0 -25
- package/dist/utils/tool-helpers.js +0 -53
- package/dist/utils/tool-helpers.js.map +0 -1
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import * as os from 'os';
|
|
7
|
+
import { fileURLToPath } from 'url';
|
|
8
|
+
import { parseJsonFile } from './json-utils.js';
|
|
7
9
|
export class OnboardingManager {
|
|
8
10
|
static FIRST_RUN_MARKER = '.first-run-complete';
|
|
9
11
|
static USER_CONFIG_DIR = '.ax-cli';
|
|
@@ -43,7 +45,24 @@ export class OnboardingManager {
|
|
|
43
45
|
completedAt: new Date().toISOString(),
|
|
44
46
|
version: this.getVersion(),
|
|
45
47
|
};
|
|
46
|
-
|
|
48
|
+
// Atomic write using temp file
|
|
49
|
+
const tmpPath = `${markerPath}.tmp`;
|
|
50
|
+
try {
|
|
51
|
+
fs.writeFileSync(tmpPath, JSON.stringify(state, null, 2), 'utf-8');
|
|
52
|
+
fs.renameSync(tmpPath, markerPath); // Atomic on POSIX systems
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
// Cleanup temp file on error
|
|
56
|
+
if (fs.existsSync(tmpPath)) {
|
|
57
|
+
try {
|
|
58
|
+
fs.unlinkSync(tmpPath);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Ignore cleanup errors
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
47
66
|
}
|
|
48
67
|
/**
|
|
49
68
|
* Get current onboarding state
|
|
@@ -57,11 +76,8 @@ export class OnboardingManager {
|
|
|
57
76
|
version: this.getVersion(),
|
|
58
77
|
};
|
|
59
78
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return JSON.parse(content);
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
79
|
+
const parseResult = parseJsonFile(markerPath);
|
|
80
|
+
if (!parseResult.success) {
|
|
65
81
|
// If marker file is corrupted, treat as first run
|
|
66
82
|
return {
|
|
67
83
|
isFirstRun: true,
|
|
@@ -69,6 +85,7 @@ export class OnboardingManager {
|
|
|
69
85
|
version: this.getVersion(),
|
|
70
86
|
};
|
|
71
87
|
}
|
|
88
|
+
return parseResult.data;
|
|
72
89
|
}
|
|
73
90
|
/**
|
|
74
91
|
* Reset onboarding state (useful for testing)
|
|
@@ -90,10 +107,18 @@ export class OnboardingManager {
|
|
|
90
107
|
*/
|
|
91
108
|
static getVersion() {
|
|
92
109
|
try {
|
|
93
|
-
|
|
110
|
+
// Use import.meta.url to find the actual CLI installation path
|
|
111
|
+
const currentModulePath = fileURLToPath(import.meta.url);
|
|
112
|
+
const cliRootPath = path.join(path.dirname(currentModulePath), '../..');
|
|
113
|
+
const packageJsonPath = path.join(cliRootPath, 'package.json');
|
|
94
114
|
if (fs.existsSync(packageJsonPath)) {
|
|
95
|
-
const
|
|
96
|
-
|
|
115
|
+
const parseResult = parseJsonFile(packageJsonPath);
|
|
116
|
+
if (parseResult.success) {
|
|
117
|
+
const pkg = parseResult.data;
|
|
118
|
+
if (pkg && typeof pkg === 'object' && 'version' in pkg && typeof pkg.version === 'string') {
|
|
119
|
+
return pkg.version;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
97
122
|
}
|
|
98
123
|
}
|
|
99
124
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-manager.js","sourceRoot":"","sources":["../../src/utils/onboarding-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"onboarding-manager.js","sourceRoot":"","sources":["../../src/utils/onboarding-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform path utility functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities for handling file paths consistently
|
|
5
|
+
* across different operating systems (Windows, macOS, Linux).
|
|
6
|
+
*
|
|
7
|
+
* @module path-utils
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Normalize path separators to forward slashes (for display and logging)
|
|
11
|
+
*
|
|
12
|
+
* This function converts all path separators to forward slashes, which is
|
|
13
|
+
* useful for consistent display across platforms and for comparison in tests.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Windows
|
|
17
|
+
* normalizePath('C:\\Users\\foo\\bar') // => 'C:/Users/foo/bar'
|
|
18
|
+
*
|
|
19
|
+
* // Unix
|
|
20
|
+
* normalizePath('/Users/foo/bar') // => '/Users/foo/bar'
|
|
21
|
+
*
|
|
22
|
+
* @param filePath - The path to normalize
|
|
23
|
+
* @returns Path with forward slashes (empty string if input is falsy)
|
|
24
|
+
*/
|
|
25
|
+
export declare function normalizePath(filePath: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Convert path to platform-native format (for filesystem operations)
|
|
28
|
+
*
|
|
29
|
+
* This function normalizes the path to use the platform's native separator,
|
|
30
|
+
* which is necessary for filesystem operations.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Windows
|
|
34
|
+
* platformPath('foo/bar/baz') // => 'foo\\bar\\baz'
|
|
35
|
+
*
|
|
36
|
+
* // Unix
|
|
37
|
+
* platformPath('foo/bar/baz') // => 'foo/bar/baz'
|
|
38
|
+
*
|
|
39
|
+
* @param filePath - The path to convert
|
|
40
|
+
* @returns Path with platform-native separators (empty string if input is falsy)
|
|
41
|
+
*/
|
|
42
|
+
export declare function platformPath(filePath: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Check if running on Windows
|
|
45
|
+
*
|
|
46
|
+
* @returns True if running on Windows platform
|
|
47
|
+
*/
|
|
48
|
+
export declare function isWindows(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Compare two paths for equality (ignoring separator differences)
|
|
51
|
+
*
|
|
52
|
+
* This function compares two paths by normalizing both to forward slashes
|
|
53
|
+
* and then comparing case-insensitively on Windows.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // Windows
|
|
57
|
+
* pathsEqual('foo/bar', 'foo\\bar') // => true
|
|
58
|
+
* pathsEqual('Foo/Bar', 'foo/bar') // => true
|
|
59
|
+
*
|
|
60
|
+
* // Unix
|
|
61
|
+
* pathsEqual('foo/bar', 'foo/bar') // => true
|
|
62
|
+
* pathsEqual('Foo/Bar', 'foo/bar') // => false
|
|
63
|
+
*
|
|
64
|
+
* @param path1 - First path to compare
|
|
65
|
+
* @param path2 - Second path to compare
|
|
66
|
+
* @returns True if paths are equal
|
|
67
|
+
*/
|
|
68
|
+
export declare function pathsEqual(path1: string, path2: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if a path contains a segment (cross-platform)
|
|
71
|
+
*
|
|
72
|
+
* This function checks if a full path contains a specific segment,
|
|
73
|
+
* normalizing both paths before comparison.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* pathContains('/foo/bar/baz', 'bar/baz') // => true
|
|
77
|
+
* pathContains('C:\\foo\\bar', 'bar') // => true
|
|
78
|
+
*
|
|
79
|
+
* @param fullPath - Full path to search in
|
|
80
|
+
* @param segment - Segment to search for
|
|
81
|
+
* @returns True if fullPath contains segment
|
|
82
|
+
*/
|
|
83
|
+
export declare function pathContains(fullPath: string, segment: string): boolean;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform path utility functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities for handling file paths consistently
|
|
5
|
+
* across different operating systems (Windows, macOS, Linux).
|
|
6
|
+
*
|
|
7
|
+
* @module path-utils
|
|
8
|
+
*/
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import os from 'node:os';
|
|
11
|
+
import { equalsIgnoreCase, containsIgnoreCase } from './string-utils.js';
|
|
12
|
+
/**
|
|
13
|
+
* Normalize path separators to forward slashes (for display and logging)
|
|
14
|
+
*
|
|
15
|
+
* This function converts all path separators to forward slashes, which is
|
|
16
|
+
* useful for consistent display across platforms and for comparison in tests.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Windows
|
|
20
|
+
* normalizePath('C:\\Users\\foo\\bar') // => 'C:/Users/foo/bar'
|
|
21
|
+
*
|
|
22
|
+
* // Unix
|
|
23
|
+
* normalizePath('/Users/foo/bar') // => '/Users/foo/bar'
|
|
24
|
+
*
|
|
25
|
+
* @param filePath - The path to normalize
|
|
26
|
+
* @returns Path with forward slashes (empty string if input is falsy)
|
|
27
|
+
*/
|
|
28
|
+
export function normalizePath(filePath) {
|
|
29
|
+
if (!filePath)
|
|
30
|
+
return '';
|
|
31
|
+
// Replace all backslashes with forward slashes
|
|
32
|
+
// This works consistently across all platforms
|
|
33
|
+
return filePath.replace(/\\/g, '/');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Convert path to platform-native format (for filesystem operations)
|
|
37
|
+
*
|
|
38
|
+
* This function normalizes the path to use the platform's native separator,
|
|
39
|
+
* which is necessary for filesystem operations.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* // Windows
|
|
43
|
+
* platformPath('foo/bar/baz') // => 'foo\\bar\\baz'
|
|
44
|
+
*
|
|
45
|
+
* // Unix
|
|
46
|
+
* platformPath('foo/bar/baz') // => 'foo/bar/baz'
|
|
47
|
+
*
|
|
48
|
+
* @param filePath - The path to convert
|
|
49
|
+
* @returns Path with platform-native separators (empty string if input is falsy)
|
|
50
|
+
*/
|
|
51
|
+
export function platformPath(filePath) {
|
|
52
|
+
if (!filePath)
|
|
53
|
+
return '';
|
|
54
|
+
return path.normalize(filePath);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Check if running on Windows
|
|
58
|
+
*
|
|
59
|
+
* @returns True if running on Windows platform
|
|
60
|
+
*/
|
|
61
|
+
export function isWindows() {
|
|
62
|
+
return os.platform() === 'win32';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Compare two paths for equality (ignoring separator differences)
|
|
66
|
+
*
|
|
67
|
+
* This function compares two paths by normalizing both to forward slashes
|
|
68
|
+
* and then comparing case-insensitively on Windows.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // Windows
|
|
72
|
+
* pathsEqual('foo/bar', 'foo\\bar') // => true
|
|
73
|
+
* pathsEqual('Foo/Bar', 'foo/bar') // => true
|
|
74
|
+
*
|
|
75
|
+
* // Unix
|
|
76
|
+
* pathsEqual('foo/bar', 'foo/bar') // => true
|
|
77
|
+
* pathsEqual('Foo/Bar', 'foo/bar') // => false
|
|
78
|
+
*
|
|
79
|
+
* @param path1 - First path to compare
|
|
80
|
+
* @param path2 - Second path to compare
|
|
81
|
+
* @returns True if paths are equal
|
|
82
|
+
*/
|
|
83
|
+
export function pathsEqual(path1, path2) {
|
|
84
|
+
// Handle null/undefined/empty cases
|
|
85
|
+
if (!path1 || !path2) {
|
|
86
|
+
return path1 === path2;
|
|
87
|
+
}
|
|
88
|
+
const normalized1 = normalizePath(path1);
|
|
89
|
+
const normalized2 = normalizePath(path2);
|
|
90
|
+
// Windows is case-insensitive
|
|
91
|
+
if (isWindows()) {
|
|
92
|
+
return equalsIgnoreCase(normalized1, normalized2);
|
|
93
|
+
}
|
|
94
|
+
return normalized1 === normalized2;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Check if a path contains a segment (cross-platform)
|
|
98
|
+
*
|
|
99
|
+
* This function checks if a full path contains a specific segment,
|
|
100
|
+
* normalizing both paths before comparison.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* pathContains('/foo/bar/baz', 'bar/baz') // => true
|
|
104
|
+
* pathContains('C:\\foo\\bar', 'bar') // => true
|
|
105
|
+
*
|
|
106
|
+
* @param fullPath - Full path to search in
|
|
107
|
+
* @param segment - Segment to search for
|
|
108
|
+
* @returns True if fullPath contains segment
|
|
109
|
+
*/
|
|
110
|
+
export function pathContains(fullPath, segment) {
|
|
111
|
+
if (!fullPath || !segment) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const normalizedFull = normalizePath(fullPath);
|
|
115
|
+
const normalizedSegment = normalizePath(segment);
|
|
116
|
+
// Windows is case-insensitive
|
|
117
|
+
if (isWindows()) {
|
|
118
|
+
return containsIgnoreCase(normalizedFull, normalizedSegment);
|
|
119
|
+
}
|
|
120
|
+
return normalizedFull.includes(normalizedSegment);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=path-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../src/utils/path-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,+CAA+C;IAC/C,+CAA+C;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa;IACrD,oCAAoC;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,KAAK,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEzC,8BAA8B;IAC9B,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,WAAW,KAAK,WAAW,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,OAAe;IAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEjD,8BAA8B;IAC9B,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress tracking utility for init command
|
|
3
|
+
*/
|
|
4
|
+
export interface ProgressStep {
|
|
5
|
+
name: string;
|
|
6
|
+
status: 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
7
|
+
startTime?: number;
|
|
8
|
+
endTime?: number;
|
|
9
|
+
details?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class ProgressTracker {
|
|
12
|
+
private steps;
|
|
13
|
+
private spinner?;
|
|
14
|
+
private currentStep?;
|
|
15
|
+
/**
|
|
16
|
+
* Add a step to track
|
|
17
|
+
*/
|
|
18
|
+
addStep(id: string, name: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Start a step
|
|
21
|
+
*/
|
|
22
|
+
startStep(id: string, message?: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Complete a step
|
|
25
|
+
*/
|
|
26
|
+
completeStep(id: string, details?: string): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Fail a step
|
|
29
|
+
*/
|
|
30
|
+
failStep(id: string, error: string): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Update step message
|
|
33
|
+
*/
|
|
34
|
+
updateMessage(message: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Format duration in human-readable form
|
|
37
|
+
*/
|
|
38
|
+
private formatDuration;
|
|
39
|
+
/**
|
|
40
|
+
* Get summary of all steps
|
|
41
|
+
*/
|
|
42
|
+
getSummary(): string;
|
|
43
|
+
/**
|
|
44
|
+
* Stop any active spinner
|
|
45
|
+
*/
|
|
46
|
+
stop(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Cleanup and destroy tracker
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress tracking utility for init command
|
|
3
|
+
*/
|
|
4
|
+
import * as prompts from '@clack/prompts';
|
|
5
|
+
export class ProgressTracker {
|
|
6
|
+
steps = new Map();
|
|
7
|
+
spinner = null;
|
|
8
|
+
currentStep;
|
|
9
|
+
/**
|
|
10
|
+
* Add a step to track
|
|
11
|
+
*/
|
|
12
|
+
addStep(id, name) {
|
|
13
|
+
this.steps.set(id, {
|
|
14
|
+
name,
|
|
15
|
+
status: 'pending',
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Start a step
|
|
20
|
+
*/
|
|
21
|
+
async startStep(id, message) {
|
|
22
|
+
const step = this.steps.get(id);
|
|
23
|
+
if (!step) {
|
|
24
|
+
throw new Error(`Step '${id}' not found`);
|
|
25
|
+
}
|
|
26
|
+
step.status = 'in_progress';
|
|
27
|
+
step.startTime = Date.now();
|
|
28
|
+
this.currentStep = id;
|
|
29
|
+
// Properly clean up previous spinner to prevent memory leak
|
|
30
|
+
if (this.spinner) {
|
|
31
|
+
this.spinner.stop();
|
|
32
|
+
this.spinner = null;
|
|
33
|
+
}
|
|
34
|
+
this.spinner = prompts.spinner();
|
|
35
|
+
this.spinner.start(message || step.name);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Complete a step
|
|
39
|
+
*/
|
|
40
|
+
async completeStep(id, details) {
|
|
41
|
+
const step = this.steps.get(id);
|
|
42
|
+
if (!step) {
|
|
43
|
+
throw new Error(`Step '${id}' not found`);
|
|
44
|
+
}
|
|
45
|
+
step.status = 'completed';
|
|
46
|
+
step.endTime = Date.now();
|
|
47
|
+
step.details = details;
|
|
48
|
+
if (this.spinner && this.currentStep === id) {
|
|
49
|
+
const duration = step.endTime - (step.startTime || step.endTime);
|
|
50
|
+
const durationStr = this.formatDuration(duration);
|
|
51
|
+
this.spinner.stop(`✅ ${step.name} ${durationStr}`);
|
|
52
|
+
this.spinner = null;
|
|
53
|
+
}
|
|
54
|
+
// Always clear current step, not just when spinner exists
|
|
55
|
+
if (this.currentStep === id) {
|
|
56
|
+
this.currentStep = undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Fail a step
|
|
61
|
+
*/
|
|
62
|
+
async failStep(id, error) {
|
|
63
|
+
const step = this.steps.get(id);
|
|
64
|
+
if (!step) {
|
|
65
|
+
throw new Error(`Step '${id}' not found`);
|
|
66
|
+
}
|
|
67
|
+
step.status = 'failed';
|
|
68
|
+
step.endTime = Date.now();
|
|
69
|
+
step.details = error;
|
|
70
|
+
if (this.spinner && this.currentStep === id) {
|
|
71
|
+
this.spinner.stop(`❌ ${step.name}: ${error}`);
|
|
72
|
+
this.spinner = null;
|
|
73
|
+
this.currentStep = undefined;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Update step message
|
|
78
|
+
*/
|
|
79
|
+
updateMessage(message) {
|
|
80
|
+
if (this.spinner) {
|
|
81
|
+
this.spinner.message(message);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format duration in human-readable form
|
|
86
|
+
*/
|
|
87
|
+
formatDuration(ms) {
|
|
88
|
+
if (ms < 1000) {
|
|
89
|
+
return `(${ms}ms)`;
|
|
90
|
+
}
|
|
91
|
+
else if (ms < 60000) {
|
|
92
|
+
return `(${(ms / 1000).toFixed(1)}s)`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const minutes = Math.floor(ms / 60000);
|
|
96
|
+
const seconds = Math.floor((ms % 60000) / 1000);
|
|
97
|
+
return `(${minutes}m ${seconds}s)`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get summary of all steps
|
|
102
|
+
*/
|
|
103
|
+
getSummary() {
|
|
104
|
+
const completed = Array.from(this.steps.values()).filter(s => s.status === 'completed');
|
|
105
|
+
const failed = Array.from(this.steps.values()).filter(s => s.status === 'failed');
|
|
106
|
+
const totalTime = completed.reduce((sum, step) => {
|
|
107
|
+
if (step.startTime && step.endTime) {
|
|
108
|
+
return sum + (step.endTime - step.startTime);
|
|
109
|
+
}
|
|
110
|
+
return sum;
|
|
111
|
+
}, 0);
|
|
112
|
+
const parts = [];
|
|
113
|
+
parts.push(`Completed: ${completed.length}/${this.steps.size} steps`);
|
|
114
|
+
if (failed.length > 0) {
|
|
115
|
+
parts.push(`Failed: ${failed.length}`);
|
|
116
|
+
}
|
|
117
|
+
parts.push(`Total time: ${this.formatDuration(totalTime)}`);
|
|
118
|
+
return parts.join('\n');
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Stop any active spinner
|
|
122
|
+
*/
|
|
123
|
+
stop() {
|
|
124
|
+
if (this.spinner) {
|
|
125
|
+
try {
|
|
126
|
+
this.spinner.stop();
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
// Ignore errors during cleanup
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
this.spinner = null;
|
|
133
|
+
this.currentStep = undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Cleanup and destroy tracker
|
|
139
|
+
*/
|
|
140
|
+
destroy() {
|
|
141
|
+
this.stop();
|
|
142
|
+
// Clear any pending timeouts
|
|
143
|
+
for (const step of this.steps.values()) {
|
|
144
|
+
if (step.status === 'in_progress') {
|
|
145
|
+
step.status = 'failed';
|
|
146
|
+
step.details = 'Tracker destroyed before completion';
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
this.steps.clear();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=progress-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../src/utils/progress-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import { parseJsonFile } from './json-utils.js';
|
|
7
|
+
import { normalizePath } from './path-utils.js';
|
|
7
8
|
export class ProjectAnalyzer {
|
|
8
9
|
projectRoot;
|
|
9
10
|
warnings = [];
|
|
@@ -285,11 +286,11 @@ export class ProjectAnalyzer {
|
|
|
285
286
|
break;
|
|
286
287
|
}
|
|
287
288
|
}
|
|
288
|
-
// Tools directory
|
|
289
|
+
// Tools directory (normalize for cross-platform compatibility)
|
|
289
290
|
if (dirs.source) {
|
|
290
291
|
const toolsPath = path.join(this.projectRoot, dirs.source, 'tools');
|
|
291
292
|
if (fs.existsSync(toolsPath) && fs.statSync(toolsPath).isDirectory()) {
|
|
292
|
-
dirs.tools = path.join(dirs.source, 'tools');
|
|
293
|
+
dirs.tools = normalizePath(path.join(dirs.source, 'tools'));
|
|
293
294
|
}
|
|
294
295
|
}
|
|
295
296
|
return dirs;
|
|
@@ -318,16 +319,10 @@ export class ProjectAnalyzer {
|
|
|
318
319
|
}
|
|
319
320
|
async detectConventions() {
|
|
320
321
|
const conventions = {};
|
|
321
|
-
// Module system from package.json
|
|
322
|
-
const
|
|
323
|
-
if (
|
|
324
|
-
|
|
325
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
326
|
-
conventions.moduleSystem = packageJson.type === 'module' ? 'esm' : 'commonjs';
|
|
327
|
-
}
|
|
328
|
-
catch {
|
|
329
|
-
// Ignore
|
|
330
|
-
}
|
|
322
|
+
// Module system from package.json (use cached version)
|
|
323
|
+
const packageJson = this.getPackageJson();
|
|
324
|
+
if (packageJson) {
|
|
325
|
+
conventions.moduleSystem = packageJson.type === 'module' ? 'esm' : 'commonjs';
|
|
331
326
|
}
|
|
332
327
|
// TypeScript config
|
|
333
328
|
const tsconfig = this.getTsConfig();
|
|
@@ -356,8 +351,7 @@ export class ProjectAnalyzer {
|
|
|
356
351
|
fs.existsSync(path.join(this.projectRoot, 'eslint.config.js'))) {
|
|
357
352
|
conventions.linter = 'eslint';
|
|
358
353
|
}
|
|
359
|
-
// Validation library from package.json
|
|
360
|
-
const packageJson = this.getPackageJson();
|
|
354
|
+
// Validation library from package.json (reuse cached packageJson)
|
|
361
355
|
if (packageJson) {
|
|
362
356
|
const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
|
|
363
357
|
if (deps['zod'])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/utils/project-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/utils/project-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,9 +64,9 @@ export declare class SettingsManager {
|
|
|
64
64
|
* Get the current model with proper fallback logic:
|
|
65
65
|
* 1. Project-specific model setting
|
|
66
66
|
* 2. User's default model
|
|
67
|
-
* 3.
|
|
67
|
+
* 3. Undefined (user must configure)
|
|
68
68
|
*/
|
|
69
|
-
getCurrentModel(): string;
|
|
69
|
+
getCurrentModel(): string | undefined;
|
|
70
70
|
/**
|
|
71
71
|
* Set the current model for the project
|
|
72
72
|
*/
|
|
@@ -82,7 +82,7 @@ export declare class SettingsManager {
|
|
|
82
82
|
/**
|
|
83
83
|
* Get base URL from user settings or environment
|
|
84
84
|
*/
|
|
85
|
-
getBaseURL(): string;
|
|
85
|
+
getBaseURL(): string | undefined;
|
|
86
86
|
/**
|
|
87
87
|
* Get the actual user settings path being used
|
|
88
88
|
*/
|