@kaitranntt/ccs 5.5.0 → 5.6.0-dev.2
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 +26 -2
- 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/doctor-command.d.ts +2 -1
- package/dist/commands/doctor-command.d.ts.map +1 -1
- package/dist/commands/doctor-command.js +6 -1
- package/dist/commands/doctor-command.js.map +1 -1
- 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/commands/sync-command.d.ts.map +1 -1
- package/dist/commands/sync-command.js +7 -0
- package/dist/commands/sync-command.js.map +1 -1
- package/dist/management/doctor.d.ts +5 -0
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +45 -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,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Catalog - Available models for CLI Proxy providers
|
|
3
|
+
*
|
|
4
|
+
* Ships with CCS to provide users with interactive model selection.
|
|
5
|
+
* Models are mapped to their internal names used by the proxy backend.
|
|
6
|
+
*/
|
|
7
|
+
import { CLIProxyProvider } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Model entry definition
|
|
10
|
+
*/
|
|
11
|
+
export interface ModelEntry {
|
|
12
|
+
/** Literal model name to put in settings.json */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Human-readable name for display */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Access tier indicator - 'paid' means requires paid Google account (not free tier) */
|
|
17
|
+
tier?: 'free' | 'paid';
|
|
18
|
+
/** Optional description for the model */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Model has known issues - show warning when selected */
|
|
21
|
+
broken?: boolean;
|
|
22
|
+
/** Issue URL for broken models */
|
|
23
|
+
issueUrl?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Provider catalog definition
|
|
27
|
+
*/
|
|
28
|
+
export interface ProviderCatalog {
|
|
29
|
+
provider: CLIProxyProvider;
|
|
30
|
+
displayName: string;
|
|
31
|
+
models: ModelEntry[];
|
|
32
|
+
defaultModel: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Model catalog for providers that support interactive configuration
|
|
36
|
+
*
|
|
37
|
+
* Models listed in order of recommendation (top = best)
|
|
38
|
+
*/
|
|
39
|
+
export declare const MODEL_CATALOG: Partial<Record<CLIProxyProvider, ProviderCatalog>>;
|
|
40
|
+
/**
|
|
41
|
+
* Check if provider supports interactive model configuration
|
|
42
|
+
*/
|
|
43
|
+
export declare function supportsModelConfig(provider: CLIProxyProvider): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Get catalog for provider
|
|
46
|
+
*/
|
|
47
|
+
export declare function getProviderCatalog(provider: CLIProxyProvider): ProviderCatalog | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Find model entry by ID
|
|
50
|
+
*/
|
|
51
|
+
export declare function findModel(provider: CLIProxyProvider, modelId: string): ModelEntry | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Check if model has known issues
|
|
54
|
+
*/
|
|
55
|
+
export declare function isModelBroken(provider: CLIProxyProvider, modelId: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get issue URL for broken model
|
|
58
|
+
*/
|
|
59
|
+
export declare function getModelIssueUrl(provider: CLIProxyProvider, modelId: string): string | undefined;
|
|
60
|
+
//# sourceMappingURL=model-catalog.d.ts.map
|
|
@@ -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"}
|