@kaitranntt/ccs 4.4.0 → 5.0.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/README.md +14 -7
- package/VERSION +1 -1
- package/config/base-agy.settings.json +10 -0
- package/config/base-codex.settings.json +10 -0
- package/config/base-gemini.settings.json +10 -0
- package/dist/auth/auth-commands.d.ts +52 -0
- package/dist/auth/auth-commands.d.ts.map +1 -0
- package/dist/auth/auth-commands.js +479 -0
- package/dist/auth/auth-commands.js.map +1 -0
- package/dist/auth/profile-detector.d.ts +68 -0
- package/dist/auth/profile-detector.d.ts.map +1 -0
- package/dist/auth/profile-detector.js +209 -0
- package/dist/auth/profile-detector.js.map +1 -0
- package/dist/auth/profile-registry.d.ts +60 -0
- package/dist/auth/profile-registry.d.ts.map +1 -0
- package/dist/auth/profile-registry.js +188 -0
- package/dist/auth/profile-registry.js.map +1 -0
- package/dist/ccs.d.ts +10 -0
- package/dist/ccs.d.ts.map +1 -0
- package/dist/ccs.js +320 -0
- package/dist/ccs.js.map +1 -0
- package/dist/cliproxy/auth-handler.d.ts +93 -0
- package/dist/cliproxy/auth-handler.d.ts.map +1 -0
- package/dist/cliproxy/auth-handler.js +402 -0
- package/dist/cliproxy/auth-handler.js.map +1 -0
- package/dist/cliproxy/base-config-loader.d.ts +42 -0
- package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
- package/dist/cliproxy/base-config-loader.js +123 -0
- package/dist/cliproxy/base-config-loader.js.map +1 -0
- package/dist/cliproxy/binary-manager.d.ts +104 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -0
- package/dist/cliproxy/binary-manager.js +567 -0
- package/dist/cliproxy/binary-manager.js.map +1 -0
- package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
- package/dist/cliproxy/cliproxy-executor.js +297 -0
- package/dist/cliproxy/cliproxy-executor.js.map +1 -0
- package/dist/cliproxy/config-generator.d.ts +89 -0
- package/dist/cliproxy/config-generator.d.ts.map +1 -0
- package/dist/cliproxy/config-generator.js +263 -0
- package/dist/cliproxy/config-generator.js.map +1 -0
- package/dist/cliproxy/index.d.ts +13 -0
- package/dist/cliproxy/index.d.ts.map +1 -0
- package/dist/cliproxy/index.js +62 -0
- package/dist/cliproxy/index.js.map +1 -0
- package/dist/cliproxy/platform-detector.d.ts +48 -0
- package/dist/cliproxy/platform-detector.d.ts.map +1 -0
- package/dist/cliproxy/platform-detector.js +118 -0
- package/dist/cliproxy/platform-detector.js.map +1 -0
- package/dist/cliproxy/types.d.ts +169 -0
- package/dist/cliproxy/types.d.ts.map +1 -0
- package/dist/cliproxy/types.js +7 -0
- package/dist/cliproxy/types.js.map +1 -0
- package/dist/commands/doctor-command.d.ts +10 -0
- package/dist/commands/doctor-command.d.ts.map +1 -0
- package/dist/commands/doctor-command.js +44 -0
- package/dist/commands/doctor-command.js.map +1 -0
- package/dist/commands/help-command.d.ts +5 -0
- package/dist/commands/help-command.d.ts.map +1 -0
- package/dist/commands/help-command.js +104 -0
- package/dist/commands/help-command.js.map +1 -0
- package/dist/commands/install-command.d.ts +14 -0
- package/dist/commands/install-command.d.ts.map +1 -0
- package/dist/commands/install-command.js +39 -0
- package/dist/commands/install-command.js.map +1 -0
- package/dist/commands/shell-completion-command.d.ts +10 -0
- package/dist/commands/shell-completion-command.d.ts.map +1 -0
- package/dist/commands/shell-completion-command.js +85 -0
- package/dist/commands/shell-completion-command.js.map +1 -0
- package/dist/commands/sync-command.d.ts +10 -0
- package/dist/commands/sync-command.d.ts.map +1 -0
- package/dist/commands/sync-command.js +59 -0
- package/dist/commands/sync-command.js.map +1 -0
- package/dist/commands/update-command.d.ts +12 -0
- package/dist/commands/update-command.d.ts.map +1 -0
- package/dist/commands/update-command.js +295 -0
- package/dist/commands/update-command.js.map +1 -0
- package/dist/commands/version-command.d.ts +10 -0
- package/dist/commands/version-command.d.ts.map +1 -0
- package/dist/commands/version-command.js +100 -0
- package/dist/commands/version-command.js.map +1 -0
- package/dist/delegation/delegation-handler.d.ts +60 -0
- package/dist/delegation/delegation-handler.d.ts.map +1 -0
- package/dist/delegation/delegation-handler.js +174 -0
- package/dist/delegation/delegation-handler.js.map +1 -0
- package/dist/delegation/headless-executor.d.ts +114 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -0
- package/dist/delegation/headless-executor.js +562 -0
- package/dist/delegation/headless-executor.js.map +1 -0
- package/dist/delegation/result-formatter.d.ts +108 -0
- package/dist/delegation/result-formatter.d.ts.map +1 -0
- package/dist/delegation/result-formatter.js +391 -0
- package/dist/delegation/result-formatter.js.map +1 -0
- package/dist/delegation/session-manager.d.ts +58 -0
- package/dist/delegation/session-manager.d.ts.map +1 -0
- package/dist/delegation/session-manager.js +153 -0
- package/dist/delegation/session-manager.js.map +1 -0
- package/dist/delegation/settings-parser.d.ts +31 -0
- package/dist/delegation/settings-parser.d.ts.map +1 -0
- package/dist/delegation/settings-parser.js +107 -0
- package/dist/delegation/settings-parser.js.map +1 -0
- package/dist/glmt/delta-accumulator.d.ts +210 -0
- package/dist/glmt/delta-accumulator.d.ts.map +1 -0
- package/dist/glmt/delta-accumulator.js +351 -0
- package/dist/glmt/delta-accumulator.js.map +1 -0
- package/dist/glmt/glmt-proxy.d.ts +72 -0
- package/dist/glmt/glmt-proxy.d.ts.map +1 -0
- package/dist/glmt/glmt-proxy.js +427 -0
- package/dist/glmt/glmt-proxy.js.map +1 -0
- package/dist/glmt/glmt-transformer.d.ts +265 -0
- package/dist/glmt/glmt-transformer.d.ts.map +1 -0
- package/dist/glmt/glmt-transformer.js +832 -0
- package/dist/glmt/glmt-transformer.js.map +1 -0
- package/dist/glmt/locale-enforcer.d.ts +38 -0
- package/dist/glmt/locale-enforcer.d.ts.map +1 -0
- package/dist/glmt/locale-enforcer.js +69 -0
- package/dist/glmt/locale-enforcer.js.map +1 -0
- package/dist/glmt/reasoning-enforcer.d.ts +52 -0
- package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
- package/dist/glmt/reasoning-enforcer.js +151 -0
- package/dist/glmt/reasoning-enforcer.js.map +1 -0
- package/dist/glmt/sse-parser.d.ts +47 -0
- package/dist/glmt/sse-parser.d.ts.map +1 -0
- package/dist/glmt/sse-parser.js +93 -0
- package/dist/glmt/sse-parser.js.map +1 -0
- package/dist/management/doctor.d.ts +104 -0
- package/dist/management/doctor.d.ts.map +1 -0
- package/dist/management/doctor.js +673 -0
- package/dist/management/doctor.js.map +1 -0
- package/dist/management/instance-manager.d.ts +57 -0
- package/dist/management/instance-manager.d.ts.map +1 -0
- package/dist/management/instance-manager.js +195 -0
- package/dist/management/instance-manager.js.map +1 -0
- package/dist/management/recovery-manager.d.ts +39 -0
- package/dist/management/recovery-manager.d.ts.map +1 -0
- package/dist/management/recovery-manager.js +141 -0
- package/dist/management/recovery-manager.js.map +1 -0
- package/dist/management/shared-manager.d.ts +47 -0
- package/dist/management/shared-manager.d.ts.map +1 -0
- package/dist/management/shared-manager.js +388 -0
- package/dist/management/shared-manager.js.map +1 -0
- package/dist/types/cli.d.ts +50 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +16 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/config.d.ts +51 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +26 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/delegation.d.ts +61 -0
- package/dist/types/delegation.d.ts.map +1 -0
- package/dist/types/delegation.js +6 -0
- package/dist/types/delegation.js.map +1 -0
- package/dist/types/glmt.d.ts +95 -0
- package/dist/types/glmt.d.ts.map +1 -0
- package/dist/types/glmt.js +7 -0
- package/dist/types/glmt.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utils.d.ts +36 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +22 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/utils/claude-detector.d.ts +14 -0
- package/dist/utils/claude-detector.d.ts.map +1 -0
- package/dist/utils/claude-detector.js +112 -0
- package/dist/utils/claude-detector.js.map +1 -0
- package/dist/utils/claude-dir-installer.d.ts +46 -0
- package/dist/utils/claude-dir-installer.d.ts.map +1 -0
- package/dist/utils/claude-dir-installer.js +289 -0
- package/dist/utils/claude-dir-installer.js.map +1 -0
- package/dist/utils/claude-symlink-manager.d.ts +61 -0
- package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
- package/dist/utils/claude-symlink-manager.js +291 -0
- package/dist/utils/claude-symlink-manager.js.map +1 -0
- package/dist/utils/config-manager.d.ts +32 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +143 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/delegation-validator.d.ts +39 -0
- package/dist/utils/delegation-validator.d.ts.map +1 -0
- package/dist/utils/delegation-validator.js +161 -0
- package/dist/utils/delegation-validator.js.map +1 -0
- package/dist/utils/error-codes.d.ts +36 -0
- package/dist/utils/error-codes.d.ts.map +1 -0
- package/dist/utils/error-codes.js +63 -0
- package/dist/utils/error-codes.js.map +1 -0
- package/dist/utils/error-manager.d.ts +59 -0
- package/dist/utils/error-manager.d.ts.map +1 -0
- package/dist/utils/error-manager.js +228 -0
- package/dist/utils/error-manager.js.map +1 -0
- package/dist/utils/helpers.d.ts +27 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +150 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/package-manager-detector.d.ts +14 -0
- package/dist/utils/package-manager-detector.d.ts.map +1 -0
- package/dist/utils/package-manager-detector.js +162 -0
- package/dist/utils/package-manager-detector.js.map +1 -0
- package/dist/utils/progress-indicator.d.ts +52 -0
- package/dist/utils/progress-indicator.d.ts.map +1 -0
- package/dist/utils/progress-indicator.js +102 -0
- package/dist/utils/progress-indicator.js.map +1 -0
- package/dist/utils/prompt.d.ts +29 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +116 -0
- package/dist/utils/prompt.js.map +1 -0
- package/dist/utils/shell-completion.d.ts +52 -0
- package/dist/utils/shell-completion.d.ts.map +1 -0
- package/dist/utils/shell-completion.js +231 -0
- package/dist/utils/shell-completion.js.map +1 -0
- package/dist/utils/shell-executor.d.ts +15 -0
- package/dist/utils/shell-executor.d.ts.map +1 -0
- package/dist/utils/shell-executor.js +57 -0
- package/dist/utils/shell-executor.js.map +1 -0
- package/dist/utils/update-checker.d.ts +48 -0
- package/dist/utils/update-checker.d.ts.map +1 -0
- package/dist/utils/update-checker.js +241 -0
- package/dist/utils/update-checker.js.map +1 -0
- package/lib/ccs +21 -1907
- package/lib/ccs.ps1 +26 -1800
- package/lib/error-codes.ps1 +2 -1
- package/lib/prompt.ps1 +2 -2
- package/package.json +31 -11
- package/scripts/add-shebang.js +39 -0
- package/scripts/bump-version.sh +25 -37
- package/scripts/dev-install.sh +32 -11
- package/scripts/postinstall.js +29 -29
- package/bin/auth/auth-commands.js +0 -499
- package/bin/auth/profile-detector.js +0 -204
- package/bin/auth/profile-registry.js +0 -225
- package/bin/ccs.js +0 -1034
- package/bin/delegation/README.md +0 -191
- package/bin/delegation/delegation-handler.js +0 -212
- package/bin/delegation/headless-executor.js +0 -618
- package/bin/delegation/result-formatter.js +0 -485
- package/bin/delegation/session-manager.js +0 -157
- package/bin/delegation/settings-parser.js +0 -109
- package/bin/glmt/delta-accumulator.js +0 -276
- package/bin/glmt/glmt-proxy.js +0 -495
- package/bin/glmt/glmt-transformer.js +0 -999
- package/bin/glmt/locale-enforcer.js +0 -72
- package/bin/glmt/reasoning-enforcer.js +0 -173
- package/bin/glmt/sse-parser.js +0 -96
- package/bin/management/doctor.js +0 -721
- package/bin/management/instance-manager.js +0 -202
- package/bin/management/recovery-manager.js +0 -135
- package/bin/management/shared-manager.js +0 -402
- package/bin/utils/claude-detector.js +0 -73
- package/bin/utils/claude-dir-installer.js +0 -283
- package/bin/utils/claude-symlink-manager.js +0 -289
- package/bin/utils/config-manager.js +0 -103
- package/bin/utils/delegation-validator.js +0 -154
- package/bin/utils/error-codes.js +0 -59
- package/bin/utils/error-manager.js +0 -165
- package/bin/utils/helpers.js +0 -136
- package/bin/utils/progress-indicator.js +0 -111
- package/bin/utils/prompt.js +0 -134
- package/bin/utils/shell-completion.js +0 -256
- package/bin/utils/update-checker.js +0 -243
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-symlink-manager.js","sourceRoot":"","sources":["../../src/utils/claude-symlink-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Config, Settings } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Get the CCS home directory (respects CCS_HOME env var for test isolation)
|
|
4
|
+
* @returns Home directory path
|
|
5
|
+
*/
|
|
6
|
+
export declare function getCcsHome(): string;
|
|
7
|
+
/**
|
|
8
|
+
* Get the CCS directory path (~/.ccs)
|
|
9
|
+
* @returns Path to .ccs directory
|
|
10
|
+
*/
|
|
11
|
+
export declare function getCcsDir(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get config file path
|
|
14
|
+
*/
|
|
15
|
+
export declare function getConfigPath(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Load and validate config.json
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadConfig(): Config;
|
|
20
|
+
/**
|
|
21
|
+
* Load and validate settings.json
|
|
22
|
+
*/
|
|
23
|
+
export declare function loadSettings(settingsPath: string): Settings;
|
|
24
|
+
/**
|
|
25
|
+
* Read and parse config (legacy compatibility)
|
|
26
|
+
*/
|
|
27
|
+
export declare function readConfig(): Config;
|
|
28
|
+
/**
|
|
29
|
+
* Get settings path for profile
|
|
30
|
+
*/
|
|
31
|
+
export declare function getSettingsPath(profile: string): string;
|
|
32
|
+
//# sourceMappingURL=config-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAY,QAAQ,EAAc,MAAM,UAAU,CAAC;AAQlE;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAmBnC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAa3D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0CvD"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getSettingsPath = exports.readConfig = exports.loadSettings = exports.loadConfig = exports.getConfigPath = exports.getCcsDir = exports.getCcsHome = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const os = __importStar(require("os"));
|
|
30
|
+
const types_1 = require("../types");
|
|
31
|
+
const helpers_1 = require("./helpers");
|
|
32
|
+
const helpers_2 = require("./helpers");
|
|
33
|
+
// TODO: Replace with proper imports after converting these files
|
|
34
|
+
// const { ErrorManager } = require('./error-manager');
|
|
35
|
+
// const RecoveryManager = require('./recovery-manager');
|
|
36
|
+
/**
|
|
37
|
+
* Get the CCS home directory (respects CCS_HOME env var for test isolation)
|
|
38
|
+
* @returns Home directory path
|
|
39
|
+
*/
|
|
40
|
+
function getCcsHome() {
|
|
41
|
+
return process.env.CCS_HOME || os.homedir();
|
|
42
|
+
}
|
|
43
|
+
exports.getCcsHome = getCcsHome;
|
|
44
|
+
/**
|
|
45
|
+
* Get the CCS directory path (~/.ccs)
|
|
46
|
+
* @returns Path to .ccs directory
|
|
47
|
+
*/
|
|
48
|
+
function getCcsDir() {
|
|
49
|
+
return path.join(getCcsHome(), '.ccs');
|
|
50
|
+
}
|
|
51
|
+
exports.getCcsDir = getCcsDir;
|
|
52
|
+
/**
|
|
53
|
+
* Get config file path
|
|
54
|
+
*/
|
|
55
|
+
function getConfigPath() {
|
|
56
|
+
return process.env.CCS_CONFIG || path.join(getCcsHome(), '.ccs', 'config.json');
|
|
57
|
+
}
|
|
58
|
+
exports.getConfigPath = getConfigPath;
|
|
59
|
+
/**
|
|
60
|
+
* Load and validate config.json
|
|
61
|
+
*/
|
|
62
|
+
function loadConfig() {
|
|
63
|
+
const configPath = getConfigPath();
|
|
64
|
+
if (!fs.existsSync(configPath)) {
|
|
65
|
+
// TODO: Add recovery manager logic
|
|
66
|
+
// const recovery = new RecoveryManager();
|
|
67
|
+
// recovery.ensureConfigJson();
|
|
68
|
+
(0, helpers_2.error)(`Config not found: ${configPath}`);
|
|
69
|
+
}
|
|
70
|
+
const raw = fs.readFileSync(configPath, 'utf8');
|
|
71
|
+
const parsed = JSON.parse(raw);
|
|
72
|
+
if (!(0, types_1.isConfig)(parsed)) {
|
|
73
|
+
(0, helpers_2.error)(`Invalid config format: ${configPath}`);
|
|
74
|
+
}
|
|
75
|
+
return parsed;
|
|
76
|
+
}
|
|
77
|
+
exports.loadConfig = loadConfig;
|
|
78
|
+
/**
|
|
79
|
+
* Load and validate settings.json
|
|
80
|
+
*/
|
|
81
|
+
function loadSettings(settingsPath) {
|
|
82
|
+
if (!fs.existsSync(settingsPath)) {
|
|
83
|
+
(0, helpers_2.error)(`Settings not found: ${settingsPath}`);
|
|
84
|
+
}
|
|
85
|
+
const raw = fs.readFileSync(settingsPath, 'utf8');
|
|
86
|
+
const parsed = JSON.parse(raw);
|
|
87
|
+
if (!(0, types_1.isSettings)(parsed)) {
|
|
88
|
+
(0, helpers_2.error)(`Invalid settings format: ${settingsPath}`);
|
|
89
|
+
}
|
|
90
|
+
return parsed;
|
|
91
|
+
}
|
|
92
|
+
exports.loadSettings = loadSettings;
|
|
93
|
+
/**
|
|
94
|
+
* Read and parse config (legacy compatibility)
|
|
95
|
+
*/
|
|
96
|
+
function readConfig() {
|
|
97
|
+
return loadConfig();
|
|
98
|
+
}
|
|
99
|
+
exports.readConfig = readConfig;
|
|
100
|
+
/**
|
|
101
|
+
* Get settings path for profile
|
|
102
|
+
*/
|
|
103
|
+
function getSettingsPath(profile) {
|
|
104
|
+
const config = readConfig();
|
|
105
|
+
// Get settings path
|
|
106
|
+
const settingsPath = config.profiles[profile];
|
|
107
|
+
if (!settingsPath) {
|
|
108
|
+
const availableProfiles = Object.keys(config.profiles);
|
|
109
|
+
const profileList = availableProfiles.map((p) => ` - ${p}`);
|
|
110
|
+
(0, helpers_2.error)(`Profile '${profile}' not found. Available profiles:\n${profileList.join('\n')}`);
|
|
111
|
+
}
|
|
112
|
+
// Expand path
|
|
113
|
+
const expandedPath = (0, helpers_1.expandPath)(settingsPath);
|
|
114
|
+
// Validate settings file exists
|
|
115
|
+
if (!fs.existsSync(expandedPath)) {
|
|
116
|
+
// Auto-create if it's ~/.claude/settings.json
|
|
117
|
+
if (expandedPath.includes('.claude') && expandedPath.endsWith('settings.json')) {
|
|
118
|
+
// TODO: Add recovery manager logic
|
|
119
|
+
// const recovery = new RecoveryManager();
|
|
120
|
+
// recovery.ensureClaudeSettings();
|
|
121
|
+
console.log('[i] Auto-created missing settings file');
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
(0, helpers_2.error)(`Settings file not found: ${expandedPath}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Validate settings file is valid JSON
|
|
128
|
+
try {
|
|
129
|
+
const settingsContent = fs.readFileSync(expandedPath, 'utf8');
|
|
130
|
+
JSON.parse(settingsContent);
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
if (e instanceof Error) {
|
|
134
|
+
(0, helpers_2.error)(`Invalid JSON in settings file: ${expandedPath} - ${e.message}`);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
(0, helpers_2.error)(`Invalid JSON in settings file: ${expandedPath}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return expandedPath;
|
|
141
|
+
}
|
|
142
|
+
exports.getSettingsPath = getSettingsPath;
|
|
143
|
+
//# sourceMappingURL=config-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
interface ValidationResult {
|
|
3
|
+
valid: boolean;
|
|
4
|
+
error?: string;
|
|
5
|
+
suggestion?: string;
|
|
6
|
+
settingsPath?: string;
|
|
7
|
+
apiKey?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Validates delegation profiles for CCS delegation system
|
|
11
|
+
* Ensures profiles exist and have valid API keys configured
|
|
12
|
+
*/
|
|
13
|
+
export declare class DelegationValidator {
|
|
14
|
+
/**
|
|
15
|
+
* Validate a delegation profile
|
|
16
|
+
* @param profileName - Name of profile to validate (e.g., 'glm', 'kimi')
|
|
17
|
+
* @returns Validation result { valid: boolean, error?: string, settingsPath?: string }
|
|
18
|
+
*/
|
|
19
|
+
static validate(profileName: string): ValidationResult;
|
|
20
|
+
/**
|
|
21
|
+
* Format validation error for display
|
|
22
|
+
* @param result - Validation result from validate()
|
|
23
|
+
* @returns Formatted error message
|
|
24
|
+
*/
|
|
25
|
+
static formatError(result: ValidationResult): string;
|
|
26
|
+
/**
|
|
27
|
+
* Check if profile is delegation-ready (shorthand)
|
|
28
|
+
* @param profileName - Profile to check
|
|
29
|
+
* @returns True if ready for delegation
|
|
30
|
+
*/
|
|
31
|
+
static isReady(profileName: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get all delegation-ready profiles
|
|
34
|
+
* @returns List of profile names ready for delegation
|
|
35
|
+
*/
|
|
36
|
+
static getReadyProfiles(): string[];
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=delegation-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-validator.d.ts","sourceRoot":"","sources":["../../src/utils/delegation-validator.ts"],"names":[],"mappings":";AAOA,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAkFtD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAcpD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAK5C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM,EAAE;CAuBpC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.DelegationValidator = void 0;
|
|
28
|
+
const fs = __importStar(require("fs"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const os = __importStar(require("os"));
|
|
31
|
+
/**
|
|
32
|
+
* Validates delegation profiles for CCS delegation system
|
|
33
|
+
* Ensures profiles exist and have valid API keys configured
|
|
34
|
+
*/
|
|
35
|
+
class DelegationValidator {
|
|
36
|
+
/**
|
|
37
|
+
* Validate a delegation profile
|
|
38
|
+
* @param profileName - Name of profile to validate (e.g., 'glm', 'kimi')
|
|
39
|
+
* @returns Validation result { valid: boolean, error?: string, settingsPath?: string }
|
|
40
|
+
*/
|
|
41
|
+
static validate(profileName) {
|
|
42
|
+
const homeDir = os.homedir();
|
|
43
|
+
const settingsPath = path.join(homeDir, '.ccs', `${profileName}.settings.json`);
|
|
44
|
+
// Check if profile directory exists
|
|
45
|
+
if (!fs.existsSync(settingsPath)) {
|
|
46
|
+
return {
|
|
47
|
+
valid: false,
|
|
48
|
+
error: `Profile not found: ${profileName}`,
|
|
49
|
+
suggestion: `Profile settings missing at: ${settingsPath}\n\n` +
|
|
50
|
+
`To set up ${profileName} profile:\n` +
|
|
51
|
+
` 1. Copy base settings: cp config/base-${profileName}.settings.json ~/.ccs/${profileName}.settings.json\n` +
|
|
52
|
+
` 2. Edit settings: Edit ~/.ccs/${profileName}.settings.json\n` +
|
|
53
|
+
` 3. Set your API key in ANTHROPIC_AUTH_TOKEN field`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// Read and parse settings.json
|
|
57
|
+
let settings;
|
|
58
|
+
try {
|
|
59
|
+
const settingsContent = fs.readFileSync(settingsPath, 'utf8');
|
|
60
|
+
settings = JSON.parse(settingsContent);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return {
|
|
64
|
+
valid: false,
|
|
65
|
+
error: `Failed to parse settings.json for ${profileName}`,
|
|
66
|
+
suggestion: `Settings file is corrupted or invalid JSON.\n\n` +
|
|
67
|
+
`Location: ${settingsPath}\n` +
|
|
68
|
+
`Parse error: ${error.message}\n\n` +
|
|
69
|
+
`Fix: Restore from base config:\n` +
|
|
70
|
+
` cp config/base-${profileName}.settings.json ~/.ccs/${profileName}.settings.json`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// Validate API key exists and is not default
|
|
74
|
+
const apiKey = settings.env?.ANTHROPIC_AUTH_TOKEN;
|
|
75
|
+
if (!apiKey) {
|
|
76
|
+
return {
|
|
77
|
+
valid: false,
|
|
78
|
+
error: `API key not configured for ${profileName}`,
|
|
79
|
+
suggestion: `Missing ANTHROPIC_AUTH_TOKEN in settings.\n\n` +
|
|
80
|
+
`Edit: ${settingsPath}\n` +
|
|
81
|
+
`Set: env.ANTHROPIC_AUTH_TOKEN to your API key`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Check for default placeholder values
|
|
85
|
+
const defaultPlaceholders = [
|
|
86
|
+
'YOUR_GLM_API_KEY_HERE',
|
|
87
|
+
'YOUR_KIMI_API_KEY_HERE',
|
|
88
|
+
'YOUR_API_KEY_HERE',
|
|
89
|
+
'your-api-key-here',
|
|
90
|
+
'PLACEHOLDER',
|
|
91
|
+
];
|
|
92
|
+
if (defaultPlaceholders.some((placeholder) => apiKey.includes(placeholder))) {
|
|
93
|
+
return {
|
|
94
|
+
valid: false,
|
|
95
|
+
error: `Default API key placeholder detected for ${profileName}`,
|
|
96
|
+
suggestion: `API key is still set to default placeholder.\n\n` +
|
|
97
|
+
`To configure your profile:\n` +
|
|
98
|
+
` 1. Edit: ${settingsPath}\n` +
|
|
99
|
+
` 2. Replace ANTHROPIC_AUTH_TOKEN with your actual API key\n\n` +
|
|
100
|
+
`Get API key:\n` +
|
|
101
|
+
` GLM: https://z.ai/manage-apikey/apikey-list\n` +
|
|
102
|
+
` Kimi: https://platform.moonshot.cn/console/api-keys`,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// Validation passed
|
|
106
|
+
return {
|
|
107
|
+
valid: true,
|
|
108
|
+
settingsPath,
|
|
109
|
+
apiKey: apiKey.substring(0, 8) + '...', // Show first 8 chars for verification
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Format validation error for display
|
|
114
|
+
* @param result - Validation result from validate()
|
|
115
|
+
* @returns Formatted error message
|
|
116
|
+
*/
|
|
117
|
+
static formatError(result) {
|
|
118
|
+
if (result.valid) {
|
|
119
|
+
return '';
|
|
120
|
+
}
|
|
121
|
+
let message = `\n[X] ${result.error}\n\n`;
|
|
122
|
+
if (result.suggestion) {
|
|
123
|
+
message += `${result.suggestion}\n`;
|
|
124
|
+
}
|
|
125
|
+
return message;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Check if profile is delegation-ready (shorthand)
|
|
129
|
+
* @param profileName - Profile to check
|
|
130
|
+
* @returns True if ready for delegation
|
|
131
|
+
*/
|
|
132
|
+
static isReady(profileName) {
|
|
133
|
+
const result = this.validate(profileName);
|
|
134
|
+
return result.valid;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get all delegation-ready profiles
|
|
138
|
+
* @returns List of profile names ready for delegation
|
|
139
|
+
*/
|
|
140
|
+
static getReadyProfiles() {
|
|
141
|
+
const homeDir = os.homedir();
|
|
142
|
+
const ccsDir = path.join(homeDir, '.ccs');
|
|
143
|
+
if (!fs.existsSync(ccsDir)) {
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
const profiles = [];
|
|
147
|
+
const entries = fs.readdirSync(ccsDir, { withFileTypes: true });
|
|
148
|
+
// Look for *.settings.json files
|
|
149
|
+
for (const entry of entries) {
|
|
150
|
+
if (entry.isFile() && entry.name.endsWith('.settings.json')) {
|
|
151
|
+
const profileName = entry.name.replace('.settings.json', '');
|
|
152
|
+
if (this.isReady(profileName)) {
|
|
153
|
+
profiles.push(profileName);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return profiles;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.DelegationValidator = DelegationValidator;
|
|
161
|
+
//# sourceMappingURL=delegation-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-validator.js","sourceRoot":"","sources":["../../src/utils/delegation-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CCS Error Codes
|
|
3
|
+
* Documentation: ../../docs/errors/README.md
|
|
4
|
+
*/
|
|
5
|
+
export declare const ERROR_CODES: {
|
|
6
|
+
readonly CONFIG_MISSING: "E101";
|
|
7
|
+
readonly CONFIG_INVALID_JSON: "E102";
|
|
8
|
+
readonly CONFIG_INVALID_PROFILE: "E103";
|
|
9
|
+
readonly PROFILE_NOT_FOUND: "E104";
|
|
10
|
+
readonly PROFILE_ALREADY_EXISTS: "E105";
|
|
11
|
+
readonly PROFILE_CANNOT_DELETE_DEFAULT: "E106";
|
|
12
|
+
readonly PROFILE_INVALID_NAME: "E107";
|
|
13
|
+
readonly CLAUDE_NOT_FOUND: "E301";
|
|
14
|
+
readonly CLAUDE_VERSION_INCOMPATIBLE: "E302";
|
|
15
|
+
readonly CLAUDE_EXECUTION_FAILED: "E303";
|
|
16
|
+
readonly GLMT_PROXY_TIMEOUT: "E401";
|
|
17
|
+
readonly API_KEY_MISSING: "E402";
|
|
18
|
+
readonly API_AUTH_FAILED: "E403";
|
|
19
|
+
readonly API_RATE_LIMIT: "E404";
|
|
20
|
+
readonly FS_CANNOT_CREATE_DIR: "E501";
|
|
21
|
+
readonly FS_CANNOT_WRITE_FILE: "E502";
|
|
22
|
+
readonly FS_CANNOT_READ_FILE: "E503";
|
|
23
|
+
readonly FS_INSTANCE_NOT_FOUND: "E504";
|
|
24
|
+
readonly INTERNAL_ERROR: "E900";
|
|
25
|
+
readonly INVALID_STATE: "E901";
|
|
26
|
+
};
|
|
27
|
+
export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
|
|
28
|
+
/**
|
|
29
|
+
* Error code documentation URL generator
|
|
30
|
+
*/
|
|
31
|
+
export declare function getErrorDocUrl(errorCode: ErrorCode): string;
|
|
32
|
+
/**
|
|
33
|
+
* Get error category from code
|
|
34
|
+
*/
|
|
35
|
+
export declare function getErrorCategory(errorCode: ErrorCode): string;
|
|
36
|
+
//# sourceMappingURL=error-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/utils/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAS7D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CCS Error Codes
|
|
4
|
+
* Documentation: ../../docs/errors/README.md
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getErrorCategory = exports.getErrorDocUrl = exports.ERROR_CODES = void 0;
|
|
8
|
+
exports.ERROR_CODES = {
|
|
9
|
+
// Configuration Errors (E100-E199)
|
|
10
|
+
CONFIG_MISSING: 'E101',
|
|
11
|
+
CONFIG_INVALID_JSON: 'E102',
|
|
12
|
+
CONFIG_INVALID_PROFILE: 'E103',
|
|
13
|
+
// Profile Management Errors (E200-E299)
|
|
14
|
+
PROFILE_NOT_FOUND: 'E104',
|
|
15
|
+
PROFILE_ALREADY_EXISTS: 'E105',
|
|
16
|
+
PROFILE_CANNOT_DELETE_DEFAULT: 'E106',
|
|
17
|
+
PROFILE_INVALID_NAME: 'E107',
|
|
18
|
+
// Claude CLI Detection Errors (E300-E399)
|
|
19
|
+
CLAUDE_NOT_FOUND: 'E301',
|
|
20
|
+
CLAUDE_VERSION_INCOMPATIBLE: 'E302',
|
|
21
|
+
CLAUDE_EXECUTION_FAILED: 'E303',
|
|
22
|
+
// Network/API Errors (E400-E499)
|
|
23
|
+
GLMT_PROXY_TIMEOUT: 'E401',
|
|
24
|
+
API_KEY_MISSING: 'E402',
|
|
25
|
+
API_AUTH_FAILED: 'E403',
|
|
26
|
+
API_RATE_LIMIT: 'E404',
|
|
27
|
+
// File System Errors (E500-E599)
|
|
28
|
+
FS_CANNOT_CREATE_DIR: 'E501',
|
|
29
|
+
FS_CANNOT_WRITE_FILE: 'E502',
|
|
30
|
+
FS_CANNOT_READ_FILE: 'E503',
|
|
31
|
+
FS_INSTANCE_NOT_FOUND: 'E504',
|
|
32
|
+
// Internal Errors (E900-E999)
|
|
33
|
+
INTERNAL_ERROR: 'E900',
|
|
34
|
+
INVALID_STATE: 'E901',
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Error code documentation URL generator
|
|
38
|
+
*/
|
|
39
|
+
function getErrorDocUrl(errorCode) {
|
|
40
|
+
return `https://github.com/kaitranntt/ccs/blob/main/docs/errors/README.md#${errorCode.toLowerCase()}`;
|
|
41
|
+
}
|
|
42
|
+
exports.getErrorDocUrl = getErrorDocUrl;
|
|
43
|
+
/**
|
|
44
|
+
* Get error category from code
|
|
45
|
+
*/
|
|
46
|
+
function getErrorCategory(errorCode) {
|
|
47
|
+
const code = parseInt(errorCode.substring(1));
|
|
48
|
+
if (code >= 100 && code < 200)
|
|
49
|
+
return 'Configuration';
|
|
50
|
+
if (code >= 200 && code < 300)
|
|
51
|
+
return 'Profile Management';
|
|
52
|
+
if (code >= 300 && code < 400)
|
|
53
|
+
return 'Claude CLI Detection';
|
|
54
|
+
if (code >= 400 && code < 500)
|
|
55
|
+
return 'Network/API';
|
|
56
|
+
if (code >= 500 && code < 600)
|
|
57
|
+
return 'File System';
|
|
58
|
+
if (code >= 900 && code < 1000)
|
|
59
|
+
return 'Internal';
|
|
60
|
+
return 'Unknown';
|
|
61
|
+
}
|
|
62
|
+
exports.getErrorCategory = getErrorCategory;
|
|
63
|
+
//# sourceMappingURL=error-codes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/utils/error-codes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,WAAW,GAAG;IACzB,mCAAmC;IACnC,cAAc,EAAE,MAAM;IACtB,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,MAAM;IAE9B,wCAAwC;IACxC,iBAAiB,EAAE,MAAM;IACzB,sBAAsB,EAAE,MAAM;IAC9B,6BAA6B,EAAE,MAAM;IACrC,oBAAoB,EAAE,MAAM;IAE5B,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM;IACxB,2BAA2B,EAAE,MAAM;IACnC,uBAAuB,EAAE,MAAM;IAE/B,iCAAiC;IACjC,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IAEtB,iCAAiC;IACjC,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,MAAM;IAE7B,8BAA8B;IAC9B,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;CACb,CAAC;AAIX;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAoB;IACjD,OAAO,qEAAqE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;AACxG,CAAC;AAFD,wCAEC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,eAAe,CAAC;IACtD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,oBAAoB,CAAC;IAC3D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,sBAAsB,CAAC;IAC7D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,UAAU,CAAC;IAClD,OAAO,SAAS,CAAC;AACnB,CAAC;AATD,4CASC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ErrorCode } from './error-codes';
|
|
2
|
+
/**
|
|
3
|
+
* Error types with structured messages (Legacy - kept for compatibility)
|
|
4
|
+
*/
|
|
5
|
+
export declare const ErrorTypes: {
|
|
6
|
+
readonly NO_CLAUDE_CLI: "NO_CLAUDE_CLI";
|
|
7
|
+
readonly MISSING_SETTINGS: "MISSING_SETTINGS";
|
|
8
|
+
readonly INVALID_CONFIG: "INVALID_CONFIG";
|
|
9
|
+
readonly UNKNOWN_PROFILE: "UNKNOWN_PROFILE";
|
|
10
|
+
readonly PERMISSION_DENIED: "PERMISSION_DENIED";
|
|
11
|
+
readonly GENERIC: "GENERIC";
|
|
12
|
+
};
|
|
13
|
+
export type ErrorType = (typeof ErrorTypes)[keyof typeof ErrorTypes];
|
|
14
|
+
/**
|
|
15
|
+
* Enhanced error manager with context-aware messages
|
|
16
|
+
*/
|
|
17
|
+
export declare class ErrorManager {
|
|
18
|
+
/**
|
|
19
|
+
* Show error code and documentation URL
|
|
20
|
+
*/
|
|
21
|
+
static showErrorCode(errorCode: ErrorCode): void;
|
|
22
|
+
/**
|
|
23
|
+
* Show Claude CLI not found error
|
|
24
|
+
*/
|
|
25
|
+
static showClaudeNotFound(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Show settings file not found error
|
|
28
|
+
*/
|
|
29
|
+
static showSettingsNotFound(settingsPath: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Show invalid configuration error
|
|
32
|
+
*/
|
|
33
|
+
static showInvalidConfig(configPath: string, errorDetail: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Show profile not found error
|
|
36
|
+
*/
|
|
37
|
+
static showProfileNotFound(profileName: string, availableProfiles: string[], suggestions?: string[]): void;
|
|
38
|
+
/**
|
|
39
|
+
* Show permission denied error
|
|
40
|
+
*/
|
|
41
|
+
static showPermissionDenied(path: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Show CLIProxy OAuth timeout error
|
|
44
|
+
*/
|
|
45
|
+
static showOAuthTimeout(provider: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Show CLIProxy port conflict error
|
|
48
|
+
*/
|
|
49
|
+
static showPortConflict(port: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Show CLIProxy binary download failure error
|
|
52
|
+
*/
|
|
53
|
+
static showBinaryDownloadFailed(url: string, error: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Show CLIProxy authentication required error
|
|
56
|
+
*/
|
|
57
|
+
static showAuthRequired(provider: string): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=error-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-manager.d.ts","sourceRoot":"","sources":["../../src/utils/error-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMhD;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,IAAI;IAoBjC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IA6BvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAmBvE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,WAAW,GAAE,MAAM,EAAO,GACzB,IAAI;IAwBP;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmB/C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqB/C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB3C;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBjE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAWhD"}
|