@kaitranntt/ccs 7.54.0-dev.1 → 7.54.0-dev.11
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 +26 -4
- package/dist/ccs.js +70 -370
- package/dist/ccs.js.map +1 -1
- package/dist/commands/api-command/copy-command.d.ts +2 -0
- package/dist/commands/api-command/copy-command.d.ts.map +1 -0
- package/dist/commands/api-command/copy-command.js +41 -0
- package/dist/commands/api-command/copy-command.js.map +1 -0
- package/dist/commands/api-command/create-command.d.ts +2 -0
- package/dist/commands/api-command/create-command.d.ts.map +1 -0
- package/dist/commands/api-command/create-command.js +249 -0
- package/dist/commands/api-command/create-command.js.map +1 -0
- package/dist/commands/api-command/discover-command.d.ts +2 -0
- package/dist/commands/api-command/discover-command.d.ts.map +1 -0
- package/dist/commands/api-command/discover-command.js +69 -0
- package/dist/commands/api-command/discover-command.js.map +1 -0
- package/dist/commands/api-command/export-command.d.ts +2 -0
- package/dist/commands/api-command/export-command.d.ts.map +1 -0
- package/dist/commands/api-command/export-command.js +73 -0
- package/dist/commands/api-command/export-command.js.map +1 -0
- package/dist/commands/api-command/help.d.ts +3 -0
- package/dist/commands/api-command/help.d.ts.map +1 -0
- package/dist/commands/api-command/help.js +100 -0
- package/dist/commands/api-command/help.js.map +1 -0
- package/dist/commands/api-command/import-command.d.ts +2 -0
- package/dist/commands/api-command/import-command.d.ts.map +1 -0
- package/dist/commands/api-command/import-command.js +111 -0
- package/dist/commands/api-command/import-command.js.map +1 -0
- package/dist/commands/api-command/index.d.ts +3 -0
- package/dist/commands/api-command/index.d.ts.map +1 -0
- package/dist/commands/api-command/index.js +34 -0
- package/dist/commands/api-command/index.js.map +1 -0
- package/dist/commands/api-command/list-command.d.ts +2 -0
- package/dist/commands/api-command/list-command.d.ts.map +1 -0
- package/dist/commands/api-command/list-command.js +53 -0
- package/dist/commands/api-command/list-command.js.map +1 -0
- package/dist/commands/api-command/remove-command.d.ts +2 -0
- package/dist/commands/api-command/remove-command.d.ts.map +1 -0
- package/dist/commands/api-command/remove-command.js +63 -0
- package/dist/commands/api-command/remove-command.js.map +1 -0
- package/dist/commands/api-command/shared.d.ts +36 -0
- package/dist/commands/api-command/shared.d.ts.map +1 -0
- package/dist/commands/api-command/shared.js +164 -0
- package/dist/commands/api-command/shared.js.map +1 -0
- package/dist/commands/api-command.d.ts +1 -26
- package/dist/commands/api-command.d.ts.map +1 -1
- package/dist/commands/api-command.js +3 -807
- package/dist/commands/api-command.js.map +1 -1
- package/dist/commands/arg-extractor.d.ts +15 -0
- package/dist/commands/arg-extractor.d.ts.map +1 -1
- package/dist/commands/arg-extractor.js +48 -2
- package/dist/commands/arg-extractor.js.map +1 -1
- package/dist/commands/config-auth/index.d.ts.map +1 -1
- package/dist/commands/config-auth/index.js +35 -19
- package/dist/commands/config-auth/index.js.map +1 -1
- package/dist/commands/config-command-options.d.ts +14 -0
- package/dist/commands/config-command-options.d.ts.map +1 -0
- package/dist/commands/config-command-options.js +108 -0
- package/dist/commands/config-command-options.js.map +1 -0
- package/dist/commands/config-command.d.ts +1 -1
- package/dist/commands/config-command.d.ts.map +1 -1
- package/dist/commands/config-command.js +91 -104
- package/dist/commands/config-command.js.map +1 -1
- package/dist/commands/config-dashboard-host.d.ts +17 -0
- package/dist/commands/config-dashboard-host.d.ts.map +1 -0
- package/dist/commands/config-dashboard-host.js +99 -0
- package/dist/commands/config-dashboard-host.js.map +1 -0
- package/dist/commands/env-command.d.ts.map +1 -1
- package/dist/commands/env-command.js +5 -0
- package/dist/commands/env-command.js.map +1 -1
- package/dist/commands/help-command.js +1 -1
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/named-command-router.d.ts +17 -0
- package/dist/commands/named-command-router.d.ts.map +1 -0
- package/dist/commands/named-command-router.js +39 -0
- package/dist/commands/named-command-router.js.map +1 -0
- package/dist/commands/persist-command.js +1 -1
- package/dist/commands/persist-command.js.map +1 -1
- package/dist/commands/root-command-router.d.ts +2 -0
- package/dist/commands/root-command-router.d.ts.map +1 -0
- package/dist/commands/root-command-router.js +209 -0
- package/dist/commands/root-command-router.js.map +1 -0
- package/dist/config/unified-config-loader.js +1 -1
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/cursor/cursor-anthropic-response.d.ts +6 -0
- package/dist/cursor/cursor-anthropic-response.d.ts.map +1 -0
- package/dist/cursor/cursor-anthropic-response.js +190 -0
- package/dist/cursor/cursor-anthropic-response.js.map +1 -0
- package/dist/cursor/cursor-anthropic-translator.d.ts +11 -0
- package/dist/cursor/cursor-anthropic-translator.d.ts.map +1 -0
- package/dist/cursor/cursor-anthropic-translator.js +167 -0
- package/dist/cursor/cursor-anthropic-translator.js.map +1 -0
- package/dist/cursor/cursor-anthropic-types.d.ts +46 -0
- package/dist/cursor/cursor-anthropic-types.d.ts.map +1 -0
- package/dist/cursor/cursor-anthropic-types.js +3 -0
- package/dist/cursor/cursor-anthropic-types.js.map +1 -0
- package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon-entry.js +53 -24
- package/dist/cursor/cursor-daemon-entry.js.map +1 -1
- package/dist/cursor/cursor-models.d.ts.map +1 -1
- package/dist/cursor/cursor-models.js +36 -2
- package/dist/cursor/cursor-models.js.map +1 -1
- package/dist/glmt/glmt-proxy.d.ts +4 -3
- package/dist/glmt/glmt-proxy.d.ts.map +1 -1
- package/dist/glmt/glmt-proxy.js +4 -3
- package/dist/glmt/glmt-proxy.js.map +1 -1
- package/dist/glmt/sse-parser.d.ts +2 -0
- package/dist/glmt/sse-parser.d.ts.map +1 -1
- package/dist/glmt/sse-parser.js +4 -0
- package/dist/glmt/sse-parser.js.map +1 -1
- package/dist/management/instance-manager.d.ts.map +1 -1
- package/dist/management/instance-manager.js +1 -0
- package/dist/management/instance-manager.js.map +1 -1
- package/dist/management/recovery-manager.d.ts +2 -2
- package/dist/management/recovery-manager.js +2 -2
- package/dist/management/shared-manager.d.ts +18 -1
- package/dist/management/shared-manager.d.ts.map +1 -1
- package/dist/management/shared-manager.js +82 -14
- package/dist/management/shared-manager.js.map +1 -1
- package/dist/shared/claude-extension-setup.d.ts.map +1 -1
- package/dist/shared/claude-extension-setup.js +16 -2
- package/dist/shared/claude-extension-setup.js.map +1 -1
- package/dist/shared/provider-preset-catalog.d.ts +1 -1
- package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
- package/dist/shared/provider-preset-catalog.js +34 -40
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/ui/assets/{accounts-CZEg1_PX.js → accounts-CjGyCl_8.js} +1 -1
- package/dist/ui/assets/{alert-dialog-DhwS38kc.js → alert-dialog-cy99V8EM.js} +1 -1
- package/dist/ui/assets/{api-sWNND4wP.js → api-DKrhDjiy.js} +1 -1
- package/dist/ui/assets/{auth-section-nJIpOcnm.js → auth-section-DsDyGmzl.js} +1 -1
- package/dist/ui/assets/{backups-section-D3A6hmrU.js → backups-section-B63xrUmB.js} +1 -1
- package/dist/ui/assets/checkbox-AxZFvatO.js +1 -0
- package/dist/ui/assets/{claude-extension-BjInaILv.js → claude-extension-N0lxo7BY.js} +1 -1
- package/dist/ui/assets/cliproxy-D2ozaUJ3.js +3 -0
- package/dist/ui/assets/{cliproxy-control-panel-CKO2Sn9B.js → cliproxy-control-panel-5fYLcZKs.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-DTKxwrat.js → confirm-dialog-D2bDFGvT.js} +1 -1
- package/dist/ui/assets/copilot-INm6uOZF.js +3 -0
- package/dist/ui/assets/cursor-C8rDHKEp.js +1 -0
- package/dist/ui/assets/{droid-Cl8QsJJL.js → droid-OZDvbiwC.js} +2 -2
- package/dist/ui/assets/{globalenv-section-C3dxxoD9.js → globalenv-section-ClTBgKg5.js} +1 -1
- package/dist/ui/assets/{health-BUifaDU7.js → health-CGaRANip.js} +1 -1
- package/dist/ui/assets/icons-DtwH984l.js +1 -0
- package/dist/ui/assets/{index-CPdceT1C.js → index-CCSdUs7x.js} +1 -1
- package/dist/ui/assets/{index-BOsbrhaa.js → index-CGOZU3jq.js} +1 -1
- package/dist/ui/assets/index-ClEn7Y7g.css +1 -0
- package/dist/ui/assets/{index-xayyyR26.js → index-DQ4jn6yA.js} +1 -1
- package/dist/ui/assets/{index-CYo-E5rU.js → index-DS1QEaxk.js} +1 -1
- package/dist/ui/assets/index-tMnuUCFi.js +47 -0
- package/dist/ui/assets/providers/llama-cpp.svg +5 -0
- package/dist/ui/assets/{proxy-status-widget-D94htBPb.js → proxy-status-widget-PESjh9-t.js} +1 -1
- package/dist/ui/assets/{radix-ui-BR1vy4kf.js → radix-ui-Dt3edmE5.js} +8 -8
- package/dist/ui/assets/searchable-select-D6dcPTiL.js +1 -0
- package/dist/ui/assets/{separator-3fBbTn-V.js → separator-Czy9IRpl.js} +1 -1
- package/dist/ui/assets/{shared-q_FNNbjD.js → shared-BUJNJgAr.js} +1 -1
- package/dist/ui/assets/{switch-5N8qBdBr.js → switch-Bog43RUy.js} +1 -1
- package/dist/ui/assets/{tanstack-e99Cjjy2.js → tanstack-B8i0evp-.js} +1 -1
- package/dist/ui/assets/{updates-CubQ54J0.js → updates-jcWPnn9L.js} +1 -1
- package/dist/ui/icons/novita.svg +9 -0
- package/dist/ui/index.html +5 -5
- package/dist/utils/config-manager.d.ts +1 -1
- package/dist/utils/config-manager.js +1 -1
- package/dist/utils/fetch-proxy-setup.d.ts.map +1 -1
- package/dist/utils/fetch-proxy-setup.js.map +1 -1
- package/dist/utils/glmt-deprecation.d.ts +11 -0
- package/dist/utils/glmt-deprecation.d.ts.map +1 -0
- package/dist/utils/glmt-deprecation.js +64 -0
- package/dist/utils/glmt-deprecation.js.map +1 -0
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +12 -0
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/web-server/index.d.ts +1 -0
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +39 -3
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/routes/profile-routes.d.ts +1 -0
- package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
- package/dist/web-server/routes/profile-routes.js +3 -0
- package/dist/web-server/routes/profile-routes.js.map +1 -1
- package/dist/web-server/routes/variant-routes.d.ts +1 -0
- package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
- package/dist/web-server/routes/variant-routes.js +3 -0
- package/dist/web-server/routes/variant-routes.js.map +1 -1
- package/package.json +3 -2
- package/scripts/completion/README.md +1 -1
- package/scripts/completion/ccs.fish +1 -2
- package/scripts/completion/ccs.zsh +1 -2
- package/scripts/postinstall.js +3 -3
- package/dist/ui/assets/checkbox-CZrxD1iS.js +0 -1
- package/dist/ui/assets/cliproxy-BGiSCGkl.js +0 -3
- package/dist/ui/assets/copilot-CuRngdBg.js +0 -3
- package/dist/ui/assets/cursor-Dxo0uIiU.js +0 -1
- package/dist/ui/assets/icons-DrEfTmfX.js +0 -1
- package/dist/ui/assets/index-Btf_ow2V.css +0 -1
- package/dist/ui/assets/index-Cw9Urr0S.js +0 -47
|
@@ -0,0 +1,73 @@
|
|
|
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.handleApiExportCommand = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const services_1 = require("../../api/services");
|
|
30
|
+
const ui_1 = require("../../utils/ui");
|
|
31
|
+
const arg_extractor_1 = require("../arg-extractor");
|
|
32
|
+
const shared_1 = require("./shared");
|
|
33
|
+
async function handleApiExportCommand(args) {
|
|
34
|
+
await (0, ui_1.initUI)();
|
|
35
|
+
const includeSecrets = (0, arg_extractor_1.hasAnyFlag)(args, ['--include-secrets']);
|
|
36
|
+
const outExtracted = (0, arg_extractor_1.extractOption)(args, ['--out'], {
|
|
37
|
+
allowDashValue: true,
|
|
38
|
+
allowLongDashValue: true,
|
|
39
|
+
knownFlags: ['--out', '--include-secrets'],
|
|
40
|
+
});
|
|
41
|
+
if (outExtracted.found && (outExtracted.missingValue || !outExtracted.value)) {
|
|
42
|
+
console.log((0, ui_1.fail)('Missing value for --out'));
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
const syntax = (0, shared_1.collectUnexpectedApiArgs)(outExtracted.remainingArgs, {
|
|
46
|
+
knownFlags: ['--include-secrets'],
|
|
47
|
+
maxPositionals: 1,
|
|
48
|
+
});
|
|
49
|
+
if (syntax.errors.length > 0) {
|
|
50
|
+
syntax.errors.forEach((errorMessage) => console.log((0, ui_1.fail)(errorMessage)));
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
const name = syntax.positionals[0];
|
|
54
|
+
if (!name) {
|
|
55
|
+
console.log((0, ui_1.fail)('Profile name is required. Usage: ccs api export <name> [--out <file>]'));
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
const result = (0, services_1.exportApiProfile)(name, includeSecrets);
|
|
59
|
+
if (!result.success || !result.bundle) {
|
|
60
|
+
console.log((0, ui_1.fail)(result.error || 'Failed to export profile'));
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
const outputPath = path.resolve(outExtracted.value || `${name}.ccs-profile.json`);
|
|
64
|
+
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
65
|
+
fs.writeFileSync(outputPath, JSON.stringify(result.bundle, null, 2) + '\n', 'utf8');
|
|
66
|
+
console.log((0, ui_1.ok)(`Profile exported to: ${outputPath}`));
|
|
67
|
+
if (result.redacted) {
|
|
68
|
+
console.log((0, ui_1.warn)('Token was redacted in export. Use --include-secrets to include it.'));
|
|
69
|
+
}
|
|
70
|
+
console.log('');
|
|
71
|
+
}
|
|
72
|
+
exports.handleApiExportCommand = handleApiExportCommand;
|
|
73
|
+
//# sourceMappingURL=export-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-command.js","sourceRoot":"","sources":["../../../src/commands/api-command/export-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAsD;AACtD,uCAAwD;AACxD,oDAA6D;AAC7D,qCAAoD;AAE7C,KAAK,UAAU,sBAAsB,CAAC,IAAc;IACzD,MAAM,IAAA,WAAM,GAAE,CAAC;IACf,MAAM,cAAc,GAAG,IAAA,0BAAU,EAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,IAAA,6BAAa,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAClD,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC;KAC3C,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,yBAAyB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,YAAY,CAAC,aAAa,EAAE;QAClE,UAAU,EAAE,CAAC,mBAAmB,CAAC;QACjC,cAAc,EAAE,CAAC;KAClB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,uEAAuE,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAClF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpF,OAAO,CAAC,GAAG,CAAC,IAAA,OAAE,EAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,oEAAoE,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AA5CD,wDA4CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/help.ts"],"names":[],"mappings":"AAiBA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FxD;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1E"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.showUnknownApiCommand = exports.showApiCommandHelp = void 0;
|
|
4
|
+
const services_1 = require("../../api/services");
|
|
5
|
+
const ui_1 = require("../../utils/ui");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
7
|
+
function renderPresetHelpLine(preset, idWidth) {
|
|
8
|
+
const presetId = (0, shared_1.sanitizeHelpText)(preset.id) || 'unknown';
|
|
9
|
+
const paddedId = presetId.padEnd(idWidth);
|
|
10
|
+
const presetName = (0, shared_1.sanitizeHelpText)(preset.name) || 'Unknown preset';
|
|
11
|
+
const presetDescription = (0, shared_1.sanitizeHelpText)(preset.description) || 'No description';
|
|
12
|
+
return ` ${(0, ui_1.color)(paddedId, 'command')} ${presetName} - ${presetDescription}`;
|
|
13
|
+
}
|
|
14
|
+
async function showApiCommandHelp() {
|
|
15
|
+
await (0, ui_1.initUI)();
|
|
16
|
+
const presetIds = (0, services_1.getPresetIds)()
|
|
17
|
+
.map((id) => (0, shared_1.sanitizeHelpText)(id))
|
|
18
|
+
.filter(Boolean);
|
|
19
|
+
const presetAliases = (0, services_1.getPresetAliases)();
|
|
20
|
+
const presetIdWidth = Math.max(0, ...presetIds.map((id) => id.length)) + 2;
|
|
21
|
+
console.log((0, ui_1.header)('CCS API Management'));
|
|
22
|
+
console.log('');
|
|
23
|
+
console.log((0, ui_1.subheader)('Usage'));
|
|
24
|
+
console.log(` ${(0, ui_1.color)('ccs api', 'command')} <command> [options]`);
|
|
25
|
+
console.log('');
|
|
26
|
+
console.log((0, ui_1.subheader)('Commands'));
|
|
27
|
+
console.log(` ${(0, ui_1.color)('create [name]', 'command')} Create new API profile (interactive)`);
|
|
28
|
+
console.log(` ${(0, ui_1.color)('list', 'command')} List all API profiles`);
|
|
29
|
+
console.log(` ${(0, ui_1.color)('discover', 'command')} Discover orphan *.settings.json and register`);
|
|
30
|
+
console.log(` ${(0, ui_1.color)('copy <src> <dest>', 'command')} Duplicate API profile settings + config`);
|
|
31
|
+
console.log(` ${(0, ui_1.color)('export <name>', 'command')} Export profile bundle for cross-device transfer`);
|
|
32
|
+
console.log(` ${(0, ui_1.color)('import <file>', 'command')} Import profile bundle and register profile`);
|
|
33
|
+
console.log(` ${(0, ui_1.color)('remove <name>', 'command')} Remove an API profile`);
|
|
34
|
+
console.log('');
|
|
35
|
+
console.log((0, ui_1.subheader)('Options'));
|
|
36
|
+
console.log(` ${(0, ui_1.color)('--preset <id>', 'command')} Use provider preset (${presetIds.join(', ')})`);
|
|
37
|
+
console.log(` ${(0, ui_1.color)('--base-url <url>', 'command')} API base URL (create)`);
|
|
38
|
+
console.log(` ${(0, ui_1.color)('--api-key <key>', 'command')} API key (create)`);
|
|
39
|
+
console.log(` ${(0, ui_1.color)('--model <model>', 'command')} Default model (create)`);
|
|
40
|
+
console.log(` ${(0, ui_1.color)('--target <cli>', 'command')} Default target: claude or droid (create)`);
|
|
41
|
+
console.log(` ${(0, ui_1.color)('--register', 'command')} Register discovered orphan settings`);
|
|
42
|
+
console.log(` ${(0, ui_1.color)('--json', 'command')} JSON output for discover command`);
|
|
43
|
+
console.log(` ${(0, ui_1.color)('--out <file>', 'command')} Export bundle output path`);
|
|
44
|
+
console.log(` ${(0, ui_1.color)('--include-secrets', 'command')} Include token in export bundle`);
|
|
45
|
+
console.log(` ${(0, ui_1.color)('--name <name>', 'command')} Override profile name during import`);
|
|
46
|
+
console.log(` ${(0, ui_1.color)('--force', 'command')} Overwrite existing or bypass validation (create/discover/copy/import)`);
|
|
47
|
+
console.log(` ${(0, ui_1.color)('--yes, -y', 'command')} Skip confirmation prompts`);
|
|
48
|
+
console.log('');
|
|
49
|
+
console.log((0, ui_1.subheader)('Provider Presets'));
|
|
50
|
+
services_1.PROVIDER_PRESETS.forEach((preset) => console.log(renderPresetHelpLine(preset, presetIdWidth)));
|
|
51
|
+
Object.entries(presetAliases).forEach(([alias, canonical]) => {
|
|
52
|
+
const safeAlias = (0, shared_1.sanitizeHelpText)(alias);
|
|
53
|
+
const safeCanonical = (0, shared_1.sanitizeHelpText)(canonical);
|
|
54
|
+
console.log(` ${(0, ui_1.dim)(`Legacy alias: --preset ${safeAlias} (auto-mapped to ${safeCanonical})`)}`);
|
|
55
|
+
});
|
|
56
|
+
console.log('');
|
|
57
|
+
console.log((0, ui_1.subheader)('Examples'));
|
|
58
|
+
console.log(` ${(0, ui_1.dim)('# Interactive wizard')}`);
|
|
59
|
+
console.log(` ${(0, ui_1.color)('ccs api create', 'command')}`);
|
|
60
|
+
console.log('');
|
|
61
|
+
console.log(` ${(0, ui_1.dim)('# Quick setup with preset')}`);
|
|
62
|
+
console.log(` ${(0, ui_1.color)('ccs api create --preset anthropic', 'command')}`);
|
|
63
|
+
console.log(` ${(0, ui_1.color)('ccs api create --preset openrouter', 'command')}`);
|
|
64
|
+
console.log(` ${(0, ui_1.color)('ccs api create --preset alibaba-coding-plan', 'command')}`);
|
|
65
|
+
console.log(` ${(0, ui_1.color)('ccs api create --preset alibaba', 'command')} ${(0, ui_1.dim)('# alias')}`);
|
|
66
|
+
console.log(` ${(0, ui_1.color)('ccs api create --preset glm', 'command')}`);
|
|
67
|
+
console.log('');
|
|
68
|
+
console.log(` ${(0, ui_1.dim)('# Create with name')}`);
|
|
69
|
+
console.log(` ${(0, ui_1.color)('ccs api create myapi', 'command')}`);
|
|
70
|
+
console.log(` ${(0, ui_1.color)('ccs api create mydroid --preset glm --target droid', 'command')}`);
|
|
71
|
+
console.log('');
|
|
72
|
+
console.log(` ${(0, ui_1.dim)('# Remove API profile')}`);
|
|
73
|
+
console.log(` ${(0, ui_1.color)('ccs api remove myapi', 'command')}`);
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log(` ${(0, ui_1.dim)('# Discover and register orphan settings files')}`);
|
|
76
|
+
console.log(` ${(0, ui_1.color)('ccs api discover', 'command')}`);
|
|
77
|
+
console.log(` ${(0, ui_1.color)('ccs api discover --register', 'command')}`);
|
|
78
|
+
console.log('');
|
|
79
|
+
console.log(` ${(0, ui_1.dim)('# Duplicate an existing API profile')}`);
|
|
80
|
+
console.log(` ${(0, ui_1.color)('ccs api copy glm glm-backup', 'command')}`);
|
|
81
|
+
console.log('');
|
|
82
|
+
console.log(` ${(0, ui_1.dim)('# Export and import across devices')}`);
|
|
83
|
+
console.log(` ${(0, ui_1.color)('ccs api export glm --out ./glm.ccs-profile.json', 'command')}`);
|
|
84
|
+
console.log(` ${(0, ui_1.color)('ccs api import ./glm.ccs-profile.json', 'command')}`);
|
|
85
|
+
console.log('');
|
|
86
|
+
console.log(` ${(0, ui_1.dim)('# Show all API profiles')}`);
|
|
87
|
+
console.log(` ${(0, ui_1.color)('ccs api list', 'command')}`);
|
|
88
|
+
console.log('');
|
|
89
|
+
}
|
|
90
|
+
exports.showApiCommandHelp = showApiCommandHelp;
|
|
91
|
+
async function showUnknownApiCommand(command) {
|
|
92
|
+
await (0, ui_1.initUI)();
|
|
93
|
+
console.log((0, ui_1.fail)(`Unknown command: ${command}`));
|
|
94
|
+
console.log('');
|
|
95
|
+
console.log('Run for help:');
|
|
96
|
+
console.log(` ${(0, ui_1.color)('ccs api --help', 'command')}`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
exports.showUnknownApiCommand = showUnknownApiCommand;
|
|
100
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/commands/api-command/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-command.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/import-command.ts"],"names":[],"mappings":"AAYA,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqF1E"}
|
|
@@ -0,0 +1,111 @@
|
|
|
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.handleApiImportCommand = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const services_1 = require("../../api/services");
|
|
29
|
+
const ui_1 = require("../../utils/ui");
|
|
30
|
+
const prompt_1 = require("../../utils/prompt");
|
|
31
|
+
const arg_extractor_1 = require("../arg-extractor");
|
|
32
|
+
const shared_1 = require("./shared");
|
|
33
|
+
function renderValidationIssue(issue) {
|
|
34
|
+
const indicator = issue.level === 'error' ? (0, ui_1.color)('[X]', 'error') : (0, ui_1.color)('[!]', 'warning');
|
|
35
|
+
console.log(`${indicator} ${issue.message}`);
|
|
36
|
+
}
|
|
37
|
+
async function handleApiImportCommand(args) {
|
|
38
|
+
await (0, ui_1.initUI)();
|
|
39
|
+
const force = (0, arg_extractor_1.hasAnyFlag)(args, ['--force']);
|
|
40
|
+
const yes = (0, arg_extractor_1.hasAnyFlag)(args, ['--yes', '-y']);
|
|
41
|
+
const nameExtracted = (0, arg_extractor_1.extractOption)(args, ['--name'], {
|
|
42
|
+
knownFlags: ['--name', '--target', '--force', '--yes', '-y'],
|
|
43
|
+
});
|
|
44
|
+
if (nameExtracted.found && (nameExtracted.missingValue || !nameExtracted.value)) {
|
|
45
|
+
console.log((0, ui_1.fail)('Missing value for --name'));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
const targetParsed = (0, shared_1.parseOptionalTargetFlag)(nameExtracted.remainingArgs, [
|
|
49
|
+
'--name',
|
|
50
|
+
'--target',
|
|
51
|
+
'--force',
|
|
52
|
+
'--yes',
|
|
53
|
+
'-y',
|
|
54
|
+
]);
|
|
55
|
+
if (targetParsed.errors.length > 0) {
|
|
56
|
+
targetParsed.errors.forEach((errorMessage) => console.log((0, ui_1.fail)(errorMessage)));
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
const syntax = (0, shared_1.collectUnexpectedApiArgs)(targetParsed.remainingArgs, {
|
|
60
|
+
knownFlags: ['--force', '--yes', '-y'],
|
|
61
|
+
maxPositionals: 1,
|
|
62
|
+
});
|
|
63
|
+
if (syntax.errors.length > 0) {
|
|
64
|
+
syntax.errors.forEach((errorMessage) => console.log((0, ui_1.fail)(errorMessage)));
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
const importPath = syntax.positionals[0];
|
|
68
|
+
if (!importPath) {
|
|
69
|
+
console.log((0, ui_1.fail)('Import file path is required. Usage: ccs api import <file> [--name <new-name>]'));
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
if (!fs.existsSync(importPath)) {
|
|
73
|
+
console.log((0, ui_1.fail)(`File not found: ${importPath}`));
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
let bundle;
|
|
77
|
+
try {
|
|
78
|
+
bundle = JSON.parse(fs.readFileSync(importPath, 'utf8'));
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.log((0, ui_1.fail)(`Invalid JSON file: ${error.message}`));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
if (!yes) {
|
|
85
|
+
const confirmed = await prompt_1.InteractivePrompt.confirm(`Import profile bundle from "${importPath}"?`, {
|
|
86
|
+
default: true,
|
|
87
|
+
});
|
|
88
|
+
if (!confirmed) {
|
|
89
|
+
console.log((0, ui_1.info)('Cancelled'));
|
|
90
|
+
process.exit(0);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const result = (0, services_1.importApiProfileBundle)(bundle, {
|
|
94
|
+
name: nameExtracted.value,
|
|
95
|
+
target: targetParsed.target,
|
|
96
|
+
force,
|
|
97
|
+
});
|
|
98
|
+
if (!result.success) {
|
|
99
|
+
console.log((0, ui_1.fail)(result.error || 'Failed to import profile'));
|
|
100
|
+
if (result.validation?.issues?.length) {
|
|
101
|
+
console.log('');
|
|
102
|
+
result.validation.issues.forEach(renderValidationIssue);
|
|
103
|
+
}
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
console.log((0, ui_1.ok)(`Profile imported: ${result.name}`));
|
|
107
|
+
result.warnings?.forEach((warningMessage) => console.log((0, ui_1.warn)(warningMessage)));
|
|
108
|
+
console.log('');
|
|
109
|
+
}
|
|
110
|
+
exports.handleApiImportCommand = handleApiImportCommand;
|
|
111
|
+
//# sourceMappingURL=import-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-command.js","sourceRoot":"","sources":["../../../src/commands/api-command/import-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAY/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleApiCommand = exports.parseApiCommandArgs = void 0;
|
|
4
|
+
const named_command_router_1 = require("../named-command-router");
|
|
5
|
+
const copy_command_1 = require("./copy-command");
|
|
6
|
+
const create_command_1 = require("./create-command");
|
|
7
|
+
const discover_command_1 = require("./discover-command");
|
|
8
|
+
const export_command_1 = require("./export-command");
|
|
9
|
+
const help_1 = require("./help");
|
|
10
|
+
const import_command_1 = require("./import-command");
|
|
11
|
+
const list_command_1 = require("./list-command");
|
|
12
|
+
const remove_command_1 = require("./remove-command");
|
|
13
|
+
var shared_1 = require("./shared");
|
|
14
|
+
Object.defineProperty(exports, "parseApiCommandArgs", { enumerable: true, get: function () { return shared_1.parseApiCommandArgs; } });
|
|
15
|
+
const API_COMMAND_ROUTES = [
|
|
16
|
+
{ name: 'create', handle: create_command_1.handleApiCreateCommand },
|
|
17
|
+
{ name: 'list', handle: list_command_1.handleApiListCommand },
|
|
18
|
+
{ name: 'discover', handle: discover_command_1.handleApiDiscoverCommand },
|
|
19
|
+
{ name: 'copy', handle: copy_command_1.handleApiCopyCommand },
|
|
20
|
+
{ name: 'export', handle: export_command_1.handleApiExportCommand },
|
|
21
|
+
{ name: 'import', handle: import_command_1.handleApiImportCommand },
|
|
22
|
+
{ name: 'remove', aliases: ['delete', 'rm'], handle: remove_command_1.handleApiRemoveCommand },
|
|
23
|
+
];
|
|
24
|
+
async function handleApiCommand(args) {
|
|
25
|
+
await (0, named_command_router_1.dispatchNamedCommand)({
|
|
26
|
+
args,
|
|
27
|
+
routes: API_COMMAND_ROUTES,
|
|
28
|
+
onHelp: help_1.showApiCommandHelp,
|
|
29
|
+
onUnknown: help_1.showUnknownApiCommand,
|
|
30
|
+
allowEmptyHelp: true,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
exports.handleApiCommand = handleApiCommand;
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/api-command/index.ts"],"names":[],"mappings":";;;AAAA,kEAAuF;AACvF,iDAAsD;AACtD,qDAA0D;AAC1D,yDAA8D;AAC9D,qDAA0D;AAC1D,iCAAmE;AACnE,qDAA0D;AAC1D,iDAAsD;AACtD,qDAA0D;AAE1D,mCAA+C;AAAtC,6GAAA,mBAAmB,OAAA;AAE5B,MAAM,kBAAkB,GAAiC;IACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAsB,EAAE;IAClD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAoB,EAAE;IAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,2CAAwB,EAAE;IACtD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAoB,EAAE;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAsB,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAsB,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,uCAAsB,EAAE;CAC9E,CAAC;AAEK,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,IAAA,2CAAoB,EAAC;QACzB,IAAI;QACJ,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,yBAAkB;QAC1B,SAAS,EAAE,4BAAqB;QAChC,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AARD,4CAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-command.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/list-command.ts"],"names":[],"mappings":"AAIA,wBAAsB,oBAAoB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleApiListCommand = void 0;
|
|
4
|
+
const services_1 = require("../../api/services");
|
|
5
|
+
const ui_1 = require("../../utils/ui");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
7
|
+
async function handleApiListCommand(args = []) {
|
|
8
|
+
await (0, ui_1.initUI)();
|
|
9
|
+
const syntax = (0, shared_1.collectUnexpectedApiArgs)(args, {
|
|
10
|
+
maxPositionals: 0,
|
|
11
|
+
});
|
|
12
|
+
if (syntax.errors.length > 0) {
|
|
13
|
+
syntax.errors.forEach((errorMessage) => console.log((0, ui_1.fail)(errorMessage)));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
console.log((0, ui_1.header)('CCS API Profiles'));
|
|
17
|
+
console.log('');
|
|
18
|
+
const { profiles, variants } = (0, services_1.listApiProfiles)();
|
|
19
|
+
if (profiles.length === 0) {
|
|
20
|
+
console.log((0, ui_1.warn)('No API profiles configured'));
|
|
21
|
+
console.log('');
|
|
22
|
+
console.log('To create an API profile:');
|
|
23
|
+
console.log(` ${(0, ui_1.color)('ccs api create', 'command')}`);
|
|
24
|
+
console.log('');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const rows = profiles.map((profile) => {
|
|
28
|
+
const status = profile.isConfigured ? (0, ui_1.color)('[OK]', 'success') : (0, ui_1.color)('[!]', 'warning');
|
|
29
|
+
return [profile.name, profile.target, profile.settingsPath, status];
|
|
30
|
+
});
|
|
31
|
+
console.log((0, ui_1.table)(rows, {
|
|
32
|
+
head: ['API', 'Target', (0, services_1.isUsingUnifiedConfig)() ? 'Config' : 'Settings File', 'Status'],
|
|
33
|
+
colWidths: (0, services_1.isUsingUnifiedConfig)() ? [15, 10, 20, 10] : [15, 10, 35, 10],
|
|
34
|
+
}));
|
|
35
|
+
console.log('');
|
|
36
|
+
if (variants.length > 0) {
|
|
37
|
+
console.log((0, ui_1.subheader)('CLIProxy Variants'));
|
|
38
|
+
console.log((0, ui_1.table)(variants.map((variant) => [
|
|
39
|
+
variant.name,
|
|
40
|
+
variant.provider,
|
|
41
|
+
variant.target,
|
|
42
|
+
variant.settings,
|
|
43
|
+
]), {
|
|
44
|
+
head: ['Variant', 'Provider', 'Target', 'Settings'],
|
|
45
|
+
colWidths: [15, 12, 10, 28],
|
|
46
|
+
}));
|
|
47
|
+
console.log('');
|
|
48
|
+
}
|
|
49
|
+
console.log((0, ui_1.dim)(`Total: ${profiles.length} API profile(s)`));
|
|
50
|
+
console.log('');
|
|
51
|
+
}
|
|
52
|
+
exports.handleApiListCommand = handleApiListCommand;
|
|
53
|
+
//# sourceMappingURL=list-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-command.js","sourceRoot":"","sources":["../../../src/commands/api-command/list-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-command.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/remove-command.ts"],"names":[],"mappings":"AAKA,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D1E"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleApiRemoveCommand = void 0;
|
|
4
|
+
const services_1 = require("../../api/services");
|
|
5
|
+
const ui_1 = require("../../utils/ui");
|
|
6
|
+
const prompt_1 = require("../../utils/prompt");
|
|
7
|
+
const shared_1 = require("./shared");
|
|
8
|
+
async function handleApiRemoveCommand(args) {
|
|
9
|
+
await (0, ui_1.initUI)();
|
|
10
|
+
const parsedArgs = (0, shared_1.parseApiCommandArgs)(args);
|
|
11
|
+
(0, shared_1.exitOnApiCommandErrors)(parsedArgs.errors);
|
|
12
|
+
const apis = (0, services_1.getApiProfileNames)();
|
|
13
|
+
if (apis.length === 0) {
|
|
14
|
+
console.log((0, ui_1.warn)('No API profiles to remove'));
|
|
15
|
+
process.exit(0);
|
|
16
|
+
}
|
|
17
|
+
let name = parsedArgs.name;
|
|
18
|
+
if (!name) {
|
|
19
|
+
console.log((0, ui_1.header)('Remove API Profile'));
|
|
20
|
+
console.log('');
|
|
21
|
+
console.log('Available APIs:');
|
|
22
|
+
apis.forEach((api, index) => console.log(` ${index + 1}. ${api}`));
|
|
23
|
+
console.log('');
|
|
24
|
+
name = await prompt_1.InteractivePrompt.input('API name to remove', {
|
|
25
|
+
validate: (value) => {
|
|
26
|
+
if (!value)
|
|
27
|
+
return 'API name is required';
|
|
28
|
+
if (!apis.includes(value))
|
|
29
|
+
return `API '${value}' not found`;
|
|
30
|
+
return null;
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (!apis.includes(name)) {
|
|
35
|
+
console.log((0, ui_1.fail)(`API '${name}' not found`));
|
|
36
|
+
console.log('');
|
|
37
|
+
console.log('Available APIs:');
|
|
38
|
+
apis.forEach((api) => console.log(` - ${api}`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
console.log('');
|
|
42
|
+
console.log(`API '${(0, ui_1.color)(name, 'command')}' will be removed.`);
|
|
43
|
+
console.log(` Settings: ~/.ccs/${name}.settings.json`);
|
|
44
|
+
if ((0, services_1.isUsingUnifiedConfig)()) {
|
|
45
|
+
console.log(' Config: ~/.ccs/config.yaml');
|
|
46
|
+
}
|
|
47
|
+
console.log('');
|
|
48
|
+
const confirmed = parsedArgs.yes ||
|
|
49
|
+
(await prompt_1.InteractivePrompt.confirm('Delete this API profile?', { default: false }));
|
|
50
|
+
if (!confirmed) {
|
|
51
|
+
console.log((0, ui_1.info)('Cancelled'));
|
|
52
|
+
process.exit(0);
|
|
53
|
+
}
|
|
54
|
+
const result = (0, services_1.removeApiProfile)(name);
|
|
55
|
+
if (!result.success) {
|
|
56
|
+
console.log((0, ui_1.fail)(`Failed to remove API profile: ${result.error}`));
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
console.log((0, ui_1.ok)(`API profile removed: ${name}`));
|
|
60
|
+
console.log('');
|
|
61
|
+
}
|
|
62
|
+
exports.handleApiRemoveCommand = handleApiRemoveCommand;
|
|
63
|
+
//# sourceMappingURL=remove-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-command.js","sourceRoot":"","sources":["../../../src/commands/api-command/remove-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TargetType } from '../../targets/target-adapter';
|
|
2
|
+
export interface ApiCommandArgs {
|
|
3
|
+
name?: string;
|
|
4
|
+
positionals: string[];
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
model?: string;
|
|
8
|
+
preset?: string;
|
|
9
|
+
target?: TargetType;
|
|
10
|
+
force?: boolean;
|
|
11
|
+
yes?: boolean;
|
|
12
|
+
errors: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare const API_BOOLEAN_FLAGS: readonly ["--force", "--yes", "-y"];
|
|
15
|
+
export declare const API_VALUE_FLAGS: readonly ["--base-url", "--api-key", "--model", "--preset", "--target"];
|
|
16
|
+
export declare const API_KNOWN_FLAGS: readonly string[];
|
|
17
|
+
export interface ParseApiCommandArgsOptions {
|
|
18
|
+
maxPositionals?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function sanitizeHelpText(value: string): string;
|
|
21
|
+
export declare function extractPositionalArgs(args: string[]): string[];
|
|
22
|
+
export declare function parseOptionalTargetFlag(args: string[], knownFlags: readonly string[]): {
|
|
23
|
+
target?: TargetType;
|
|
24
|
+
remainingArgs: string[];
|
|
25
|
+
errors: string[];
|
|
26
|
+
};
|
|
27
|
+
export declare function collectUnexpectedApiArgs(args: string[], options: {
|
|
28
|
+
knownFlags?: readonly string[];
|
|
29
|
+
maxPositionals: number;
|
|
30
|
+
}): {
|
|
31
|
+
positionals: string[];
|
|
32
|
+
errors: string[];
|
|
33
|
+
};
|
|
34
|
+
export declare function parseApiCommandArgs(args: string[], options?: ParseApiCommandArgsOptions): ApiCommandArgs;
|
|
35
|
+
export declare function exitOnApiCommandErrors(errors: string[]): void;
|
|
36
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/api-command/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,qCAAsC,CAAC;AACrE,eAAO,MAAM,eAAe,yEAMlB,CAAC;AACX,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA+C,CAAC;AAI7F,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AA8BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwB9D;AAUD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBpE;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,GACA;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAe7C;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAmFhB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAS7D"}
|