@kaitranntt/ccs 5.5.0 → 5.6.0-dev.1
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/VERSION +1 -1
- package/dist/ccs.js +24 -1
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +18 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +71 -10
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +31 -4
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/index.d.ts +4 -1
- package/dist/cliproxy/index.d.ts.map +1 -1
- package/dist/cliproxy/index.js +15 -1
- package/dist/cliproxy/index.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts +60 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -0
- package/dist/cliproxy/model-catalog.js +109 -0
- package/dist/cliproxy/model-catalog.js.map +1 -0
- package/dist/cliproxy/model-config.d.ts +28 -0
- package/dist/cliproxy/model-config.d.ts.map +1 -0
- package/dist/cliproxy/model-config.js +197 -0
- package/dist/cliproxy/model-config.js.map +1 -0
- package/dist/cliproxy/platform-detector.d.ts +2 -2
- package/dist/cliproxy/platform-detector.js +1 -1
- package/dist/cliproxy/types.d.ts +2 -0
- package/dist/cliproxy/types.d.ts.map +1 -1
- package/dist/commands/cliproxy-command.d.ts +17 -0
- package/dist/commands/cliproxy-command.d.ts.map +1 -0
- package/dist/commands/cliproxy-command.js +178 -0
- package/dist/commands/cliproxy-command.js.map +1 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +10 -3
- package/dist/commands/help-command.js.map +1 -1
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +3 -2
- package/dist/management/doctor.js.map +1 -1
- package/dist/utils/prompt.d.ts +19 -0
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +92 -0
- package/dist/utils/prompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/cliproxy/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAqD5E,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAE1F;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAI7F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAGlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGhG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Model Catalog - Available models for CLI Proxy providers
|
|
4
|
+
*
|
|
5
|
+
* Ships with CCS to provide users with interactive model selection.
|
|
6
|
+
* Models are mapped to their internal names used by the proxy backend.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getModelIssueUrl = exports.isModelBroken = exports.findModel = exports.getProviderCatalog = exports.supportsModelConfig = exports.MODEL_CATALOG = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Model catalog for providers that support interactive configuration
|
|
12
|
+
*
|
|
13
|
+
* Models listed in order of recommendation (top = best)
|
|
14
|
+
*/
|
|
15
|
+
exports.MODEL_CATALOG = {
|
|
16
|
+
agy: {
|
|
17
|
+
provider: 'agy',
|
|
18
|
+
displayName: 'Antigravity',
|
|
19
|
+
defaultModel: 'gemini-3-pro-preview',
|
|
20
|
+
models: [
|
|
21
|
+
{
|
|
22
|
+
id: 'gemini-claude-opus-4-5-thinking',
|
|
23
|
+
name: 'Claude Opus 4.5 Thinking',
|
|
24
|
+
description: 'Most capable, extended thinking',
|
|
25
|
+
broken: true,
|
|
26
|
+
issueUrl: 'https://github.com/router-for-me/CLIProxyAPI/issues/415',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'gemini-claude-sonnet-4-5-thinking',
|
|
30
|
+
name: 'Claude Sonnet 4.5 Thinking',
|
|
31
|
+
description: 'Balanced with extended thinking',
|
|
32
|
+
broken: true,
|
|
33
|
+
issueUrl: 'https://github.com/router-for-me/CLIProxyAPI/issues/415',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'gemini-claude-sonnet-4-5',
|
|
37
|
+
name: 'Claude Sonnet 4.5',
|
|
38
|
+
description: 'Fast and capable',
|
|
39
|
+
broken: true,
|
|
40
|
+
issueUrl: 'https://github.com/router-for-me/CLIProxyAPI/issues/415',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'gemini-3-pro-preview',
|
|
44
|
+
name: 'Gemini 3 Pro',
|
|
45
|
+
tier: 'paid',
|
|
46
|
+
description: 'Google latest, requires paid Google account',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
gemini: {
|
|
51
|
+
provider: 'gemini',
|
|
52
|
+
displayName: 'Gemini',
|
|
53
|
+
defaultModel: 'gemini-2.5-pro',
|
|
54
|
+
models: [
|
|
55
|
+
{
|
|
56
|
+
id: 'gemini-3-pro-preview',
|
|
57
|
+
name: 'Gemini 3 Pro',
|
|
58
|
+
tier: 'paid',
|
|
59
|
+
description: 'Latest model, requires paid Google account',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 'gemini-2.5-pro',
|
|
63
|
+
name: 'Gemini 2.5 Pro',
|
|
64
|
+
description: 'Stable, works with free Google account',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Check if provider supports interactive model configuration
|
|
71
|
+
*/
|
|
72
|
+
function supportsModelConfig(provider) {
|
|
73
|
+
return provider in exports.MODEL_CATALOG;
|
|
74
|
+
}
|
|
75
|
+
exports.supportsModelConfig = supportsModelConfig;
|
|
76
|
+
/**
|
|
77
|
+
* Get catalog for provider
|
|
78
|
+
*/
|
|
79
|
+
function getProviderCatalog(provider) {
|
|
80
|
+
return exports.MODEL_CATALOG[provider];
|
|
81
|
+
}
|
|
82
|
+
exports.getProviderCatalog = getProviderCatalog;
|
|
83
|
+
/**
|
|
84
|
+
* Find model entry by ID
|
|
85
|
+
*/
|
|
86
|
+
function findModel(provider, modelId) {
|
|
87
|
+
const catalog = exports.MODEL_CATALOG[provider];
|
|
88
|
+
if (!catalog)
|
|
89
|
+
return undefined;
|
|
90
|
+
return catalog.models.find((m) => m.id === modelId);
|
|
91
|
+
}
|
|
92
|
+
exports.findModel = findModel;
|
|
93
|
+
/**
|
|
94
|
+
* Check if model has known issues
|
|
95
|
+
*/
|
|
96
|
+
function isModelBroken(provider, modelId) {
|
|
97
|
+
const model = findModel(provider, modelId);
|
|
98
|
+
return model?.broken === true;
|
|
99
|
+
}
|
|
100
|
+
exports.isModelBroken = isModelBroken;
|
|
101
|
+
/**
|
|
102
|
+
* Get issue URL for broken model
|
|
103
|
+
*/
|
|
104
|
+
function getModelIssueUrl(provider, modelId) {
|
|
105
|
+
const model = findModel(provider, modelId);
|
|
106
|
+
return model?.issueUrl;
|
|
107
|
+
}
|
|
108
|
+
exports.getModelIssueUrl = getModelIssueUrl;
|
|
109
|
+
//# sourceMappingURL=model-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../src/cliproxy/model-catalog.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgCH;;;;GAIG;AACU,QAAA,aAAa,GAAuD;IAC/E,GAAG,EAAE;QACH,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,iCAAiC;gBACrC,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,iCAAiC;gBAC9C,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,yDAAyD;aACpE;YACD;gBACE,EAAE,EAAE,mCAAmC;gBACvC,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,iCAAiC;gBAC9C,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,yDAAyD;aACpE;YACD;gBACE,EAAE,EAAE,0BAA0B;gBAC9B,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,yDAAyD;aACpE;YACD;gBACE,EAAE,EAAE,sBAAsB;gBAC1B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,6CAA6C;aAC3D;SACF;KACF;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,sBAAsB;gBAC1B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4CAA4C;aAC1D;YACD;gBACE,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;aACtD;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,QAA0B;IAC5D,OAAO,QAAQ,IAAI,qBAAa,CAAC;AACnC,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,QAA0B;IAC3D,OAAO,qBAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,QAA0B,EAAE,OAAe;IACnE,MAAM,OAAO,GAAG,qBAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AACtD,CAAC;AAJD,8BAIC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,QAA0B,EAAE,OAAe;IACvE,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAChC,CAAC;AAHD,sCAGC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAA0B,EAAE,OAAe;IAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,KAAK,EAAE,QAAQ,CAAC;AACzB,CAAC;AAHD,4CAGC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Configuration - Interactive model selection for CLI Proxy providers
|
|
3
|
+
*
|
|
4
|
+
* Handles first-run configuration and explicit --config flag.
|
|
5
|
+
* Persists user selection to ~/.ccs/{provider}.settings.json
|
|
6
|
+
*/
|
|
7
|
+
import { CLIProxyProvider } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Check if provider has user settings configured
|
|
10
|
+
*/
|
|
11
|
+
export declare function hasUserSettings(provider: CLIProxyProvider): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Get current model from user settings
|
|
14
|
+
*/
|
|
15
|
+
export declare function getCurrentModel(provider: CLIProxyProvider): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Configure model for provider (interactive)
|
|
18
|
+
*
|
|
19
|
+
* @param provider CLIProxy provider (agy, gemini)
|
|
20
|
+
* @param force Force reconfiguration even if settings exist
|
|
21
|
+
* @returns true if configuration was performed, false if skipped
|
|
22
|
+
*/
|
|
23
|
+
export declare function configureProviderModel(provider: CLIProxyProvider, force?: boolean): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Show current model configuration
|
|
26
|
+
*/
|
|
27
|
+
export declare function showCurrentConfig(provider: CLIProxyProvider): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=model-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/cliproxy/model-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM3C;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAU9E;AAwBD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,OAAO,CAAC,CA8ElB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CjF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Model Configuration - Interactive model selection for CLI Proxy providers
|
|
4
|
+
*
|
|
5
|
+
* Handles first-run configuration and explicit --config flag.
|
|
6
|
+
* Persists user selection to ~/.ccs/{provider}.settings.json
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.showCurrentConfig = exports.configureProviderModel = exports.getCurrentModel = exports.hasUserSettings = void 0;
|
|
33
|
+
const fs = __importStar(require("fs"));
|
|
34
|
+
const path = __importStar(require("path"));
|
|
35
|
+
const prompt_1 = require("../utils/prompt");
|
|
36
|
+
const model_catalog_1 = require("./model-catalog");
|
|
37
|
+
const config_generator_1 = require("./config-generator");
|
|
38
|
+
const ui_1 = require("../utils/ui");
|
|
39
|
+
/** CCS directory */
|
|
40
|
+
const CCS_DIR = path.join(process.env.HOME || process.env.USERPROFILE || '', '.ccs');
|
|
41
|
+
/**
|
|
42
|
+
* Check if provider has user settings configured
|
|
43
|
+
*/
|
|
44
|
+
function hasUserSettings(provider) {
|
|
45
|
+
const settingsPath = (0, config_generator_1.getProviderSettingsPath)(provider);
|
|
46
|
+
return fs.existsSync(settingsPath);
|
|
47
|
+
}
|
|
48
|
+
exports.hasUserSettings = hasUserSettings;
|
|
49
|
+
/**
|
|
50
|
+
* Get current model from user settings
|
|
51
|
+
*/
|
|
52
|
+
function getCurrentModel(provider) {
|
|
53
|
+
const settingsPath = (0, config_generator_1.getProviderSettingsPath)(provider);
|
|
54
|
+
if (!fs.existsSync(settingsPath))
|
|
55
|
+
return undefined;
|
|
56
|
+
try {
|
|
57
|
+
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
58
|
+
return settings.env?.ANTHROPIC_MODEL;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.getCurrentModel = getCurrentModel;
|
|
65
|
+
/**
|
|
66
|
+
* Format model entry for display in selection list
|
|
67
|
+
*/
|
|
68
|
+
function formatModelOption(model) {
|
|
69
|
+
// Tier badge: clarify that "paid" means paid Google account (not free tier)
|
|
70
|
+
const tierBadge = model.tier === 'paid' ? (0, ui_1.color)(' [Paid Tier]', 'warning') : '';
|
|
71
|
+
const brokenBadge = model.broken ? (0, ui_1.color)(' [BROKEN]', 'error') : '';
|
|
72
|
+
return `${model.name}${tierBadge}${brokenBadge}`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Format model entry for detailed display (with description)
|
|
76
|
+
*/
|
|
77
|
+
function formatModelDetailed(model, isCurrent) {
|
|
78
|
+
const marker = isCurrent ? (0, ui_1.color)('>', 'success') : ' ';
|
|
79
|
+
const name = isCurrent ? (0, ui_1.bold)(model.name) : model.name;
|
|
80
|
+
const tierBadge = model.tier === 'paid' ? (0, ui_1.color)(' [Paid Tier]', 'warning') : '';
|
|
81
|
+
const brokenBadge = model.broken ? (0, ui_1.color)(' [BROKEN]', 'error') : '';
|
|
82
|
+
const desc = model.description ? (0, ui_1.dim)(` - ${model.description}`) : '';
|
|
83
|
+
return ` ${marker} ${name}${tierBadge}${brokenBadge}${desc}`;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Configure model for provider (interactive)
|
|
87
|
+
*
|
|
88
|
+
* @param provider CLIProxy provider (agy, gemini)
|
|
89
|
+
* @param force Force reconfiguration even if settings exist
|
|
90
|
+
* @returns true if configuration was performed, false if skipped
|
|
91
|
+
*/
|
|
92
|
+
async function configureProviderModel(provider, force = false) {
|
|
93
|
+
// Check if provider supports model configuration
|
|
94
|
+
if (!(0, model_catalog_1.supportsModelConfig)(provider)) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
const catalog = (0, model_catalog_1.getProviderCatalog)(provider);
|
|
98
|
+
if (!catalog)
|
|
99
|
+
return false;
|
|
100
|
+
const settingsPath = (0, config_generator_1.getProviderSettingsPath)(provider);
|
|
101
|
+
// Skip if already configured (unless --config flag)
|
|
102
|
+
if (!force && fs.existsSync(settingsPath)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
// Initialize UI for colors/gradient
|
|
106
|
+
await (0, ui_1.initUI)();
|
|
107
|
+
// Build options list
|
|
108
|
+
const options = catalog.models.map((m) => ({
|
|
109
|
+
id: m.id,
|
|
110
|
+
label: formatModelOption(m),
|
|
111
|
+
}));
|
|
112
|
+
// Find default index - use current model if configured, otherwise catalog default
|
|
113
|
+
const currentModel = getCurrentModel(provider);
|
|
114
|
+
const targetModel = currentModel || catalog.defaultModel;
|
|
115
|
+
const defaultIdx = catalog.models.findIndex((m) => m.id === targetModel);
|
|
116
|
+
const safeDefaultIdx = defaultIdx >= 0 ? defaultIdx : 0;
|
|
117
|
+
// Show header with context (gradient like ccs doctor)
|
|
118
|
+
console.error('');
|
|
119
|
+
console.error((0, ui_1.header)(`Configure ${catalog.displayName} Model`));
|
|
120
|
+
console.error('');
|
|
121
|
+
console.error((0, ui_1.dim)(' Select which model to use for this provider.'));
|
|
122
|
+
console.error((0, ui_1.dim)(' Models marked [Paid Tier] require a paid Google account (not free tier).'));
|
|
123
|
+
console.error('');
|
|
124
|
+
// Interactive selection
|
|
125
|
+
const selectedModel = await prompt_1.InteractivePrompt.selectFromList('Select model:', options, {
|
|
126
|
+
defaultIndex: safeDefaultIdx,
|
|
127
|
+
});
|
|
128
|
+
// Get base env vars to preserve haiku model and base URL
|
|
129
|
+
const baseEnv = (0, config_generator_1.getClaudeEnvVars)(provider);
|
|
130
|
+
// Build settings with selected model
|
|
131
|
+
const settings = {
|
|
132
|
+
env: {
|
|
133
|
+
...baseEnv,
|
|
134
|
+
ANTHROPIC_MODEL: selectedModel,
|
|
135
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: selectedModel,
|
|
136
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: selectedModel,
|
|
137
|
+
// Keep haiku as-is from base config (usually flash model)
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
// Ensure CCS directory exists
|
|
141
|
+
if (!fs.existsSync(CCS_DIR)) {
|
|
142
|
+
fs.mkdirSync(CCS_DIR, { recursive: true });
|
|
143
|
+
}
|
|
144
|
+
// Write settings file
|
|
145
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
146
|
+
// Find display name
|
|
147
|
+
const selectedEntry = catalog.models.find((m) => m.id === selectedModel);
|
|
148
|
+
const displayName = selectedEntry?.name || selectedModel;
|
|
149
|
+
console.error('');
|
|
150
|
+
console.error((0, ui_1.ok)(`Model set to: ${(0, ui_1.bold)(displayName)}`));
|
|
151
|
+
console.error((0, ui_1.dim)(` Config saved: ${settingsPath}`));
|
|
152
|
+
console.error('');
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
exports.configureProviderModel = configureProviderModel;
|
|
156
|
+
/**
|
|
157
|
+
* Show current model configuration
|
|
158
|
+
*/
|
|
159
|
+
async function showCurrentConfig(provider) {
|
|
160
|
+
if (!(0, model_catalog_1.supportsModelConfig)(provider)) {
|
|
161
|
+
console.error((0, ui_1.info)(`Provider ${provider} does not support model configuration`));
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const catalog = (0, model_catalog_1.getProviderCatalog)(provider);
|
|
165
|
+
if (!catalog)
|
|
166
|
+
return;
|
|
167
|
+
// Initialize UI for colors/gradient
|
|
168
|
+
await (0, ui_1.initUI)();
|
|
169
|
+
const currentModel = getCurrentModel(provider);
|
|
170
|
+
const settingsPath = (0, config_generator_1.getProviderSettingsPath)(provider);
|
|
171
|
+
console.error('');
|
|
172
|
+
console.error((0, ui_1.header)(`${catalog.displayName} Model Configuration`));
|
|
173
|
+
console.error('');
|
|
174
|
+
if (currentModel) {
|
|
175
|
+
const entry = catalog.models.find((m) => m.id === currentModel);
|
|
176
|
+
const displayName = entry?.name || 'Unknown';
|
|
177
|
+
console.error(` ${(0, ui_1.bold)('Current:')} ${(0, ui_1.color)(displayName, 'success')} ${(0, ui_1.dim)(`(${currentModel})`)}`);
|
|
178
|
+
console.error(` ${(0, ui_1.bold)('Config:')} ${(0, ui_1.dim)(settingsPath)}`);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
console.error(` ${(0, ui_1.bold)('Current:')} ${(0, ui_1.dim)('(using defaults)')}`);
|
|
182
|
+
console.error(` ${(0, ui_1.bold)('Default:')} ${catalog.defaultModel}`);
|
|
183
|
+
}
|
|
184
|
+
console.error('');
|
|
185
|
+
console.error((0, ui_1.bold)('Available models:'));
|
|
186
|
+
console.error((0, ui_1.dim)(' [Paid Tier] = Requires paid Google account (not free tier)'));
|
|
187
|
+
console.error('');
|
|
188
|
+
catalog.models.forEach((m) => {
|
|
189
|
+
const isCurrent = m.id === currentModel;
|
|
190
|
+
console.error(formatModelDetailed(m, isCurrent));
|
|
191
|
+
});
|
|
192
|
+
console.error('');
|
|
193
|
+
console.error((0, ui_1.dim)(`Run "ccs ${provider} --config" to change`));
|
|
194
|
+
console.error('');
|
|
195
|
+
}
|
|
196
|
+
exports.showCurrentConfig = showCurrentConfig;
|
|
197
|
+
//# sourceMappingURL=model-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/cliproxy/model-config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,4CAAoD;AACpD,mDAAsF;AACtF,yDAA+E;AAE/E,oCAAyE;AAEzE,oBAAoB;AACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;AAErF;;GAEG;AACH,SAAgB,eAAe,CAAC,QAA0B;IACxD,MAAM,YAAY,GAAG,IAAA,0CAAuB,EAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAHD,0CAGC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,QAA0B;IACxD,MAAM,YAAY,GAAG,IAAA,0CAAuB,EAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAVD,0CAUC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAiB;IAC1C,4EAA4E;IAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAiB,EAAE,SAAkB;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,SAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,QAAG,EAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,KAAK,MAAM,IAAI,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAA0B,EAC1B,QAAiB,KAAK;IAEtB,iDAAiD;IACjD,IAAI,CAAC,IAAA,mCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,YAAY,GAAG,IAAA,0CAAuB,EAAC,QAAQ,CAAC,CAAC;IAEvD,oDAAoD;IACpD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,IAAA,WAAM,GAAE,CAAC;IAEf,qBAAqB;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;KAC5B,CAAC,CAAC,CAAC;IAEJ,kFAAkF;IAClF,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,WAAM,EAAC,aAAa,OAAO,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,QAAG,EAAC,kDAAkD,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CACX,IAAA,QAAG,EAAC,8EAA8E,CAAC,CACpF,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElB,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,0BAAiB,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE;QACrF,YAAY,EAAE,cAAc;KAC7B,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,QAAQ,CAAC,CAAC;IAE3C,qCAAqC;IACrC,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE;YACH,GAAG,OAAO;YACV,eAAe,EAAE,aAAa;YAC9B,4BAA4B,EAAE,aAAa;YAC3C,8BAA8B,EAAE,aAAa;YAC7C,0DAA0D;SAC3D;KACF,CAAC;IAEF,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB;IACtB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,oBAAoB;IACpB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,aAAa,EAAE,IAAI,IAAI,aAAa,CAAC;IAEzD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,OAAE,EAAC,iBAAiB,IAAA,SAAI,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,IAAA,QAAG,EAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,IAAI,CAAC;AACd,CAAC;AAjFD,wDAiFC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,QAA0B;IAChE,IAAI,CAAC,IAAA,mCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,YAAY,QAAQ,uCAAuC,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,oCAAoC;IACpC,MAAM,IAAA,WAAM,GAAE,CAAC;IAEf,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAA,0CAAuB,EAAC,QAAQ,CAAC,CAAC;IAEvD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,WAAM,EAAC,GAAG,OAAO,CAAC,WAAW,sBAAsB,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;QAC7C,OAAO,CAAC,KAAK,CACX,KAAK,IAAA,SAAI,EAAC,UAAU,CAAC,IAAI,IAAA,UAAK,EAAC,WAAW,EAAE,SAAS,CAAC,IAAI,IAAA,QAAG,EAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CACrF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,KAAK,IAAA,SAAI,EAAC,SAAS,CAAC,KAAK,IAAA,QAAG,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,IAAA,SAAI,EAAC,UAAU,CAAC,IAAI,IAAA,QAAG,EAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAA,SAAI,EAAC,UAAU,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,mBAAmB,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,IAAA,QAAG,EAAC,8DAA8D,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,IAAA,QAAG,EAAC,YAAY,QAAQ,sBAAsB,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AA3CD,8CA2CC"}
|
|
@@ -9,9 +9,9 @@ import { PlatformInfo } from './types';
|
|
|
9
9
|
* CLIProxyAPI fallback version (used when GitHub API unavailable)
|
|
10
10
|
* Auto-update fetches latest from GitHub; this is only a safety net
|
|
11
11
|
*/
|
|
12
|
-
export declare const CLIPROXY_FALLBACK_VERSION = "6.5.
|
|
12
|
+
export declare const CLIPROXY_FALLBACK_VERSION = "6.5.40";
|
|
13
13
|
/** @deprecated Use CLIPROXY_FALLBACK_VERSION instead */
|
|
14
|
-
export declare const CLIPROXY_VERSION = "6.5.
|
|
14
|
+
export declare const CLIPROXY_VERSION = "6.5.40";
|
|
15
15
|
/**
|
|
16
16
|
* Detect current platform and return binary info
|
|
17
17
|
* @param version Optional version for binaryName (defaults to fallback)
|
|
@@ -11,7 +11,7 @@ exports.getPlatformDescription = exports.isPlatformSupported = exports.getChecks
|
|
|
11
11
|
* CLIProxyAPI fallback version (used when GitHub API unavailable)
|
|
12
12
|
* Auto-update fetches latest from GitHub; this is only a safety net
|
|
13
13
|
*/
|
|
14
|
-
exports.CLIPROXY_FALLBACK_VERSION = '6.5.
|
|
14
|
+
exports.CLIPROXY_FALLBACK_VERSION = '6.5.40';
|
|
15
15
|
/** @deprecated Use CLIPROXY_FALLBACK_VERSION instead */
|
|
16
16
|
exports.CLIPROXY_VERSION = exports.CLIPROXY_FALLBACK_VERSION;
|
|
17
17
|
/**
|
package/dist/cliproxy/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cliproxy/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,EAAE,EAAE,WAAW,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,aAAa,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cliproxy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLIProxy Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Manages CLIProxyAPI binary installation and version control.
|
|
5
|
+
* Allows users to install specific versions or update to latest.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ccs cliproxy Show current version
|
|
9
|
+
* ccs cliproxy --install <ver> Install specific version
|
|
10
|
+
* ccs cliproxy --latest Install latest version
|
|
11
|
+
* ccs cliproxy --help Show help
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Main cliproxy command handler
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleCliproxyCommand(args: string[]): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=cliproxy-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliproxy-command.d.ts","sourceRoot":"","sources":["../../src/commands/cliproxy-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwJH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BzE"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CLIProxy Command Handler
|
|
4
|
+
*
|
|
5
|
+
* Manages CLIProxyAPI binary installation and version control.
|
|
6
|
+
* Allows users to install specific versions or update to latest.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ccs cliproxy Show current version
|
|
10
|
+
* ccs cliproxy --install <ver> Install specific version
|
|
11
|
+
* ccs cliproxy --latest Install latest version
|
|
12
|
+
* ccs cliproxy --help Show help
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.handleCliproxyCommand = void 0;
|
|
16
|
+
const cliproxy_1 = require("../cliproxy");
|
|
17
|
+
const platform_detector_1 = require("../cliproxy/platform-detector");
|
|
18
|
+
const ui_1 = require("../utils/ui");
|
|
19
|
+
/**
|
|
20
|
+
* Show cliproxy command help
|
|
21
|
+
*/
|
|
22
|
+
function showHelp() {
|
|
23
|
+
console.log('');
|
|
24
|
+
console.log('Usage: ccs cliproxy [options]');
|
|
25
|
+
console.log('');
|
|
26
|
+
console.log('Manage CLIProxyAPI binary installation.');
|
|
27
|
+
console.log('');
|
|
28
|
+
console.log('Options:');
|
|
29
|
+
console.log(' --install <version> Install a specific version (e.g., 6.5.40)');
|
|
30
|
+
console.log(' --latest Install the latest version from GitHub');
|
|
31
|
+
console.log(' --verbose, -v Enable verbose output');
|
|
32
|
+
console.log(' --help, -h Show this help message');
|
|
33
|
+
console.log('');
|
|
34
|
+
console.log('Examples:');
|
|
35
|
+
console.log(' ccs cliproxy Show current installed version');
|
|
36
|
+
console.log(' ccs cliproxy --install 6.5.38 Install version 6.5.38');
|
|
37
|
+
console.log(' ccs cliproxy --latest Update to latest version');
|
|
38
|
+
console.log('');
|
|
39
|
+
console.log('Notes:');
|
|
40
|
+
console.log(` Default fallback version: ${platform_detector_1.CLIPROXY_FALLBACK_VERSION}`);
|
|
41
|
+
console.log(' Releases: https://github.com/router-for-me/CLIProxyAPI/releases');
|
|
42
|
+
console.log('');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Show current cliproxy status
|
|
46
|
+
*/
|
|
47
|
+
async function showStatus(verbose) {
|
|
48
|
+
await (0, ui_1.initUI)();
|
|
49
|
+
const installed = (0, cliproxy_1.isCLIProxyInstalled)();
|
|
50
|
+
const currentVersion = (0, cliproxy_1.getInstalledCliproxyVersion)();
|
|
51
|
+
const binaryPath = (0, cliproxy_1.getCLIProxyPath)();
|
|
52
|
+
console.log('');
|
|
53
|
+
console.log((0, ui_1.color)('CLIProxyAPI Status', 'primary'));
|
|
54
|
+
console.log('');
|
|
55
|
+
if (installed) {
|
|
56
|
+
console.log(` Installed: ${(0, ui_1.color)('Yes', 'success')}`);
|
|
57
|
+
console.log(` Version: ${(0, ui_1.color)(`v${currentVersion}`, 'info')}`);
|
|
58
|
+
console.log(` Binary: ${(0, ui_1.dim)(binaryPath)}`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
console.log(` Installed: ${(0, ui_1.color)('No', 'error')}`);
|
|
62
|
+
console.log(` Fallback: ${(0, ui_1.color)(`v${platform_detector_1.CLIPROXY_FALLBACK_VERSION}`, 'info')}`);
|
|
63
|
+
console.log(` ${(0, ui_1.dim)('Run "ccs gemini" or any provider to auto-install')}`);
|
|
64
|
+
}
|
|
65
|
+
// Try to fetch latest version
|
|
66
|
+
try {
|
|
67
|
+
console.log('');
|
|
68
|
+
console.log(` ${(0, ui_1.dim)('Checking for updates...')}`);
|
|
69
|
+
const latestVersion = await (0, cliproxy_1.fetchLatestCliproxyVersion)();
|
|
70
|
+
if (latestVersion !== currentVersion) {
|
|
71
|
+
console.log(` Latest: ${(0, ui_1.color)(`v${latestVersion}`, 'success')} ${(0, ui_1.dim)('(update available)')}`);
|
|
72
|
+
console.log('');
|
|
73
|
+
console.log(` ${(0, ui_1.dim)(`Run "ccs cliproxy --latest" to update`)}`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.log(` Latest: ${(0, ui_1.color)(`v${latestVersion}`, 'success')} ${(0, ui_1.dim)('(up to date)')}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (verbose) {
|
|
81
|
+
const err = error;
|
|
82
|
+
console.log(` Latest: ${(0, ui_1.dim)(`Could not fetch (${err.message})`)}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
console.log('');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Install a specific version
|
|
89
|
+
*/
|
|
90
|
+
async function installVersion(version, verbose) {
|
|
91
|
+
// Validate version format (basic semver check)
|
|
92
|
+
if (!/^\d+\.\d+\.\d+$/.test(version)) {
|
|
93
|
+
console.error('[X] Invalid version format. Expected format: X.Y.Z (e.g., 6.5.40)');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
console.log(`[i] Installing CLIProxyAPI v${version}...`);
|
|
97
|
+
console.log('');
|
|
98
|
+
try {
|
|
99
|
+
await (0, cliproxy_1.installCliproxyVersion)(version, verbose);
|
|
100
|
+
console.log('');
|
|
101
|
+
console.log(`[OK] CLIProxyAPI v${version} installed successfully`);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
const err = error;
|
|
105
|
+
console.error('');
|
|
106
|
+
console.error(`[X] Failed to install CLIProxyAPI v${version}`);
|
|
107
|
+
console.error(` ${err.message}`);
|
|
108
|
+
console.error('');
|
|
109
|
+
console.error('Possible causes:');
|
|
110
|
+
console.error(' 1. Version does not exist on GitHub');
|
|
111
|
+
console.error(' 2. Network connectivity issues');
|
|
112
|
+
console.error(' 3. GitHub API rate limiting');
|
|
113
|
+
console.error('');
|
|
114
|
+
console.error('Check available versions at:');
|
|
115
|
+
console.error(' https://github.com/router-for-me/CLIProxyAPI/releases');
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Install latest version
|
|
121
|
+
*/
|
|
122
|
+
async function installLatest(verbose) {
|
|
123
|
+
console.log('[i] Fetching latest CLIProxyAPI version...');
|
|
124
|
+
try {
|
|
125
|
+
const latestVersion = await (0, cliproxy_1.fetchLatestCliproxyVersion)();
|
|
126
|
+
const currentVersion = (0, cliproxy_1.getInstalledCliproxyVersion)();
|
|
127
|
+
if ((0, cliproxy_1.isCLIProxyInstalled)() && latestVersion === currentVersion) {
|
|
128
|
+
console.log(`[OK] Already running latest version: v${latestVersion}`);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
console.log(`[i] Latest version: v${latestVersion}`);
|
|
132
|
+
if ((0, cliproxy_1.isCLIProxyInstalled)()) {
|
|
133
|
+
console.log(`[i] Current version: v${currentVersion}`);
|
|
134
|
+
}
|
|
135
|
+
console.log('');
|
|
136
|
+
await (0, cliproxy_1.installCliproxyVersion)(latestVersion, verbose);
|
|
137
|
+
console.log('');
|
|
138
|
+
console.log(`[OK] CLIProxyAPI updated to v${latestVersion}`);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
const err = error;
|
|
142
|
+
console.error(`[X] Failed to install latest version: ${err.message}`);
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Main cliproxy command handler
|
|
148
|
+
*/
|
|
149
|
+
async function handleCliproxyCommand(args) {
|
|
150
|
+
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
151
|
+
// Handle --help
|
|
152
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
153
|
+
showHelp();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
// Handle --install <version>
|
|
157
|
+
const installIdx = args.indexOf('--install');
|
|
158
|
+
if (installIdx !== -1) {
|
|
159
|
+
const version = args[installIdx + 1];
|
|
160
|
+
if (!version || version.startsWith('-')) {
|
|
161
|
+
console.error('[X] Missing version argument for --install');
|
|
162
|
+
console.error(' Usage: ccs cliproxy --install <version>');
|
|
163
|
+
console.error(' Example: ccs cliproxy --install 6.5.40');
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
await installVersion(version, verbose);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
// Handle --latest
|
|
170
|
+
if (args.includes('--latest')) {
|
|
171
|
+
await installLatest(verbose);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
// Default: show status
|
|
175
|
+
await showStatus(verbose);
|
|
176
|
+
}
|
|
177
|
+
exports.handleCliproxyCommand = handleCliproxyCommand;
|
|
178
|
+
//# sourceMappingURL=cliproxy-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliproxy-command.js","sourceRoot":"","sources":["../../src/commands/cliproxy-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../src/commands/help-command.ts"],"names":[],"mappings":"AAoFA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"help-command.d.ts","sourceRoot":"","sources":["../../src/commands/help-command.ts"],"names":[],"mappings":"AAoFA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgLvD"}
|