@kaitranntt/ccs 5.5.0 → 5.6.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.
Files changed (41) hide show
  1. package/VERSION +1 -1
  2. package/dist/ccs.js +24 -1
  3. package/dist/ccs.js.map +1 -1
  4. package/dist/cliproxy/binary-manager.d.ts +18 -0
  5. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  6. package/dist/cliproxy/binary-manager.js +71 -10
  7. package/dist/cliproxy/binary-manager.js.map +1 -1
  8. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  9. package/dist/cliproxy/cliproxy-executor.js +31 -4
  10. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  11. package/dist/cliproxy/index.d.ts +4 -1
  12. package/dist/cliproxy/index.d.ts.map +1 -1
  13. package/dist/cliproxy/index.js +15 -1
  14. package/dist/cliproxy/index.js.map +1 -1
  15. package/dist/cliproxy/model-catalog.d.ts +60 -0
  16. package/dist/cliproxy/model-catalog.d.ts.map +1 -0
  17. package/dist/cliproxy/model-catalog.js +109 -0
  18. package/dist/cliproxy/model-catalog.js.map +1 -0
  19. package/dist/cliproxy/model-config.d.ts +28 -0
  20. package/dist/cliproxy/model-config.d.ts.map +1 -0
  21. package/dist/cliproxy/model-config.js +197 -0
  22. package/dist/cliproxy/model-config.js.map +1 -0
  23. package/dist/cliproxy/platform-detector.d.ts +2 -2
  24. package/dist/cliproxy/platform-detector.js +1 -1
  25. package/dist/cliproxy/types.d.ts +2 -0
  26. package/dist/cliproxy/types.d.ts.map +1 -1
  27. package/dist/commands/cliproxy-command.d.ts +17 -0
  28. package/dist/commands/cliproxy-command.d.ts.map +1 -0
  29. package/dist/commands/cliproxy-command.js +178 -0
  30. package/dist/commands/cliproxy-command.js.map +1 -0
  31. package/dist/commands/help-command.d.ts.map +1 -1
  32. package/dist/commands/help-command.js +10 -3
  33. package/dist/commands/help-command.js.map +1 -1
  34. package/dist/management/doctor.d.ts.map +1 -1
  35. package/dist/management/doctor.js +3 -2
  36. package/dist/management/doctor.js.map +1 -1
  37. package/dist/utils/prompt.d.ts +19 -0
  38. package/dist/utils/prompt.d.ts.map +1 -1
  39. package/dist/utils/prompt.js +92 -0
  40. package/dist/utils/prompt.js.map +1 -1
  41. 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":"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"}
@@ -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.31";
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.31";
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.31';
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
  /**
@@ -41,6 +41,8 @@ export interface BinaryManagerConfig {
41
41
  maxRetries: number;
42
42
  /** Enable verbose logging */
43
43
  verbose: boolean;
44
+ /** Force specific version (skip auto-upgrade to latest) */
45
+ forceVersion?: boolean;
44
46
  }
45
47
  /**
46
48
  * Download progress callback
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cliproxy/types.ts"],"names":[],"mappings":"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"}
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,CAwKvD"}
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"}