@kaitranntt/ccs 7.37.0-dev.2 → 7.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cliproxy/account-manager.d.ts +207 -5
- package/dist/cliproxy/account-manager.d.ts.map +1 -1
- package/dist/cliproxy/account-manager.js +795 -35
- package/dist/cliproxy/account-manager.js.map +1 -1
- package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-expiry-checker.js +1 -5
- package/dist/cliproxy/auth/token-expiry-checker.js.map +1 -1
- package/dist/cliproxy/cliproxy-executor.d.ts +28 -11
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +1028 -20
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/config-generator.d.ts +221 -9
- package/dist/cliproxy/config-generator.d.ts.map +1 -1
- package/dist/cliproxy/config-generator.js +856 -12
- package/dist/cliproxy/config-generator.js.map +1 -1
- package/dist/commands/cliproxy-command.d.ts +15 -4
- package/dist/commands/cliproxy-command.d.ts.map +1 -1
- package/dist/commands/cliproxy-command.js +1090 -5
- package/dist/commands/cliproxy-command.js.map +1 -1
- package/dist/ui/assets/{accounts-D0KU1a-4.js → accounts-DmKrgrCj.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BNRDV_Kh.js → alert-dialog-CHcjWgRn.js} +1 -1
- package/dist/ui/assets/{api-ClkFu9LY.js → api-BFHZ3RKb.js} +1 -1
- package/dist/ui/assets/{auth-section-CNhNN1Jp.js → auth-section-DAI6Q5vU.js} +1 -1
- package/dist/ui/assets/{backups-section-CZ721HIu.js → backups-section-B1O8i4FM.js} +1 -1
- package/dist/ui/assets/cliproxy-BsSI8qFW.js +3 -0
- package/dist/ui/assets/{cliproxy-control-panel-T9i_Ldh0.js → cliproxy-control-panel-3zVE7jZH.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-Cy1__gRc.js → confirm-dialog-DV0JzL4A.js} +1 -1
- package/dist/ui/assets/{copilot-Cdqs2Jbh.js → copilot-BX8vT5RR.js} +3 -3
- package/dist/ui/assets/{globalenv-section-BEKtYN6I.js → globalenv-section-BAft0m9b.js} +1 -1
- package/dist/ui/assets/{health-BaHazGgS.js → health-ct5TpFUE.js} +1 -1
- package/dist/ui/assets/{index-C2MS84sf.js → index-B8-K01HW.js} +1 -1
- package/dist/ui/assets/{index-BTBpI5th.js → index-BOsGipAU.js} +1 -1
- package/dist/ui/assets/{index-BZn6kF0u.js → index-CU3zgD6n.js} +1 -1
- package/dist/ui/assets/{index-PjscK1jS.js → index-RZ6b7YTz.js} +1 -1
- package/dist/ui/assets/{index-CiULLjNI.js → index-gfWiPznS.js} +8 -8
- package/dist/ui/assets/{proxy-status-widget-BY6Lnr80.js → proxy-status-widget-Ng9oZdrw.js} +1 -1
- package/dist/ui/assets/{shared-dZGNvBe9.js → shared-DpInRmag.js} +1 -1
- package/dist/ui/assets/{switch-BCFbehJz.js → switch-DkRSlAu-.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/cliproxy/accounts/bulk-ops.d.ts +0 -22
- package/dist/cliproxy/accounts/bulk-ops.d.ts.map +0 -1
- package/dist/cliproxy/accounts/bulk-ops.js +0 -88
- package/dist/cliproxy/accounts/bulk-ops.js.map +0 -1
- package/dist/cliproxy/accounts/index.d.ts +0 -19
- package/dist/cliproxy/accounts/index.d.ts.map +0 -1
- package/dist/cliproxy/accounts/index.js +0 -54
- package/dist/cliproxy/accounts/index.js.map +0 -1
- package/dist/cliproxy/accounts/query.d.ts +0 -36
- package/dist/cliproxy/accounts/query.d.ts.map +0 -1
- package/dist/cliproxy/accounts/query.js +0 -94
- package/dist/cliproxy/accounts/query.js.map +0 -1
- package/dist/cliproxy/accounts/registry.d.ts +0 -74
- package/dist/cliproxy/accounts/registry.d.ts.map +0 -1
- package/dist/cliproxy/accounts/registry.js +0 -510
- package/dist/cliproxy/accounts/registry.js.map +0 -1
- package/dist/cliproxy/accounts/token-file-ops.d.ts +0 -64
- package/dist/cliproxy/accounts/token-file-ops.d.ts.map +0 -1
- package/dist/cliproxy/accounts/token-file-ops.js +0 -206
- package/dist/cliproxy/accounts/token-file-ops.js.map +0 -1
- package/dist/cliproxy/accounts/types.d.ts +0 -66
- package/dist/cliproxy/accounts/types.d.ts.map +0 -1
- package/dist/cliproxy/accounts/types.js +0 -12
- package/dist/cliproxy/accounts/types.js.map +0 -1
- package/dist/cliproxy/config/env-builder.d.ts +0 -60
- package/dist/cliproxy/config/env-builder.d.ts.map +0 -1
- package/dist/cliproxy/config/env-builder.js +0 -311
- package/dist/cliproxy/config/env-builder.js.map +0 -1
- package/dist/cliproxy/config/generator.d.ts +0 -63
- package/dist/cliproxy/config/generator.d.ts.map +0 -1
- package/dist/cliproxy/config/generator.js +0 -336
- package/dist/cliproxy/config/generator.js.map +0 -1
- package/dist/cliproxy/config/index.d.ts +0 -10
- package/dist/cliproxy/config/index.d.ts.map +0 -1
- package/dist/cliproxy/config/index.js +0 -26
- package/dist/cliproxy/config/index.js.map +0 -1
- package/dist/cliproxy/config/path-resolver.d.ts +0 -47
- package/dist/cliproxy/config/path-resolver.d.ts.map +0 -1
- package/dist/cliproxy/config/path-resolver.js +0 -104
- package/dist/cliproxy/config/path-resolver.js.map +0 -1
- package/dist/cliproxy/config/port-manager.d.ts +0 -33
- package/dist/cliproxy/config/port-manager.d.ts.map +0 -1
- package/dist/cliproxy/config/port-manager.js +0 -68
- package/dist/cliproxy/config/port-manager.js.map +0 -1
- package/dist/cliproxy/config/thinking-config.d.ts +0 -39
- package/dist/cliproxy/config/thinking-config.d.ts.map +0 -1
- package/dist/cliproxy/config/thinking-config.js +0 -143
- package/dist/cliproxy/config/thinking-config.js.map +0 -1
- package/dist/cliproxy/executor/env-resolver.d.ts +0 -45
- package/dist/cliproxy/executor/env-resolver.d.ts.map +0 -1
- package/dist/cliproxy/executor/env-resolver.js +0 -106
- package/dist/cliproxy/executor/env-resolver.js.map +0 -1
- package/dist/cliproxy/executor/index.d.ts +0 -24
- package/dist/cliproxy/executor/index.d.ts.map +0 -1
- package/dist/cliproxy/executor/index.js +0 -669
- package/dist/cliproxy/executor/index.js.map +0 -1
- package/dist/cliproxy/executor/lifecycle-manager.d.ts +0 -33
- package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +0 -1
- package/dist/cliproxy/executor/lifecycle-manager.js +0 -161
- package/dist/cliproxy/executor/lifecycle-manager.js.map +0 -1
- package/dist/cliproxy/executor/retry-handler.d.ts +0 -27
- package/dist/cliproxy/executor/retry-handler.d.ts.map +0 -1
- package/dist/cliproxy/executor/retry-handler.js +0 -109
- package/dist/cliproxy/executor/retry-handler.js.map +0 -1
- package/dist/cliproxy/executor/session-bridge.d.ts +0 -30
- package/dist/cliproxy/executor/session-bridge.d.ts.map +0 -1
- package/dist/cliproxy/executor/session-bridge.js +0 -232
- package/dist/cliproxy/executor/session-bridge.js.map +0 -1
- package/dist/commands/cliproxy/auth-subcommand.d.ts +0 -10
- package/dist/commands/cliproxy/auth-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/auth-subcommand.js +0 -55
- package/dist/commands/cliproxy/auth-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/help-subcommand.d.ts +0 -8
- package/dist/commands/cliproxy/help-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/help-subcommand.js +0 -87
- package/dist/commands/cliproxy/help-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/index.d.ts +0 -11
- package/dist/commands/cliproxy/index.d.ts.map +0 -1
- package/dist/commands/cliproxy/index.js +0 -196
- package/dist/commands/cliproxy/index.js.map +0 -1
- package/dist/commands/cliproxy/install-subcommand.d.ts +0 -14
- package/dist/commands/cliproxy/install-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/install-subcommand.js +0 -112
- package/dist/commands/cliproxy/install-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts +0 -10
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js +0 -54
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/quota-subcommand.d.ts +0 -16
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/quota-subcommand.js +0 -383
- package/dist/commands/cliproxy/quota-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/variant-subcommand.d.ts +0 -11
- package/dist/commands/cliproxy/variant-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/variant-subcommand.js +0 -292
- package/dist/commands/cliproxy/variant-subcommand.js.map +0 -1
- package/dist/ui/assets/cliproxy-DeGucfVg.js +0 -3
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Session Bridge - Integration with session tracking and proxy detection
|
|
4
|
-
*
|
|
5
|
-
* Handles:
|
|
6
|
-
* - Session registration and unregistration
|
|
7
|
-
* - Proxy detection and version checking
|
|
8
|
-
* - Orphaned proxy reclamation
|
|
9
|
-
* - Startup lock coordination
|
|
10
|
-
*/
|
|
11
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
-
if (k2 === undefined) k2 = k;
|
|
13
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
-
}
|
|
17
|
-
Object.defineProperty(o, k2, desc);
|
|
18
|
-
}) : (function(o, m, k, k2) {
|
|
19
|
-
if (k2 === undefined) k2 = k;
|
|
20
|
-
o[k2] = m[k];
|
|
21
|
-
}));
|
|
22
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
-
}) : function(o, v) {
|
|
25
|
-
o["default"] = v;
|
|
26
|
-
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.setupCleanupHandlers = exports.registerProxySession = exports.checkOrJoinProxy = void 0;
|
|
36
|
-
const ui_1 = require("../../utils/ui");
|
|
37
|
-
const binary_manager_1 = require("../binary-manager");
|
|
38
|
-
const session_tracker_1 = require("../session-tracker");
|
|
39
|
-
const proxy_detector_1 = require("../proxy-detector");
|
|
40
|
-
const startup_lock_1 = require("../startup-lock");
|
|
41
|
-
const platform_commands_1 = require("../../utils/platform-commands");
|
|
42
|
-
/**
|
|
43
|
-
* Check for existing proxy and handle version mismatch, or determine if new spawn needed
|
|
44
|
-
*/
|
|
45
|
-
async function checkOrJoinProxy(port, timeout, verbose) {
|
|
46
|
-
const log = (msg) => {
|
|
47
|
-
if (verbose) {
|
|
48
|
-
console.error(`[cliproxy] ${msg}`);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
// Cleanup orphaned sessions before detection
|
|
52
|
-
(0, session_tracker_1.cleanupOrphanedSessions)(port);
|
|
53
|
-
let sessionId;
|
|
54
|
-
let shouldSpawn = false;
|
|
55
|
-
// Use startup lock to coordinate with other CCS processes
|
|
56
|
-
await (0, startup_lock_1.withStartupLock)(async () => {
|
|
57
|
-
// Detect running proxy using multiple methods (HTTP, session-lock, port-process)
|
|
58
|
-
let proxyStatus = await (0, proxy_detector_1.detectRunningProxy)(port);
|
|
59
|
-
log(`Proxy detection: ${JSON.stringify(proxyStatus)}`);
|
|
60
|
-
// Check for version mismatch - restart proxy if installed version differs from running
|
|
61
|
-
if (proxyStatus.running && proxyStatus.verified && proxyStatus.version) {
|
|
62
|
-
const installedVersion = (0, binary_manager_1.getInstalledCliproxyVersion)();
|
|
63
|
-
if (installedVersion !== proxyStatus.version) {
|
|
64
|
-
console.log((0, ui_1.warn)(`Version mismatch: running v${proxyStatus.version}, installed v${installedVersion}. Restarting proxy...`));
|
|
65
|
-
log(`Stopping outdated proxy (PID: ${proxyStatus.pid ?? 'unknown'})...`);
|
|
66
|
-
const stopResult = await (0, session_tracker_1.stopProxy)(port);
|
|
67
|
-
if (stopResult.stopped) {
|
|
68
|
-
log(`Stopped outdated proxy successfully`);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
log(`Stop proxy result: ${stopResult.error ?? 'unknown error'}`);
|
|
72
|
-
}
|
|
73
|
-
// Wait for port to be released
|
|
74
|
-
await new Promise((r) => setTimeout(r, 500));
|
|
75
|
-
// Re-detect proxy status (should now be not running)
|
|
76
|
-
proxyStatus = await (0, proxy_detector_1.detectRunningProxy)(port);
|
|
77
|
-
log(`Re-detection after version mismatch restart: ${JSON.stringify(proxyStatus)}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (proxyStatus.running && proxyStatus.verified) {
|
|
81
|
-
// Healthy proxy found - join it
|
|
82
|
-
if (proxyStatus.pid) {
|
|
83
|
-
sessionId = (0, proxy_detector_1.reclaimOrphanedProxy)(port, proxyStatus.pid, verbose) ?? undefined;
|
|
84
|
-
}
|
|
85
|
-
if (sessionId) {
|
|
86
|
-
console.log((0, ui_1.info)(`Joined existing CLIProxy on port ${port} (${proxyStatus.method})`));
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
// Failed to register session - proxy is running but we can't track it
|
|
90
|
-
console.log((0, ui_1.info)(`Using existing CLIProxy on port ${port} (session tracking unavailable)`));
|
|
91
|
-
log(`PID=${proxyStatus.pid ?? 'unknown'}, session registration skipped`);
|
|
92
|
-
}
|
|
93
|
-
return; // Exit lock early, skip spawning
|
|
94
|
-
}
|
|
95
|
-
if (proxyStatus.running && !proxyStatus.verified) {
|
|
96
|
-
// Proxy detected but not ready yet (another process is starting it)
|
|
97
|
-
log(`Proxy starting up (detected via ${proxyStatus.method}), waiting...`);
|
|
98
|
-
const becameHealthy = await (0, proxy_detector_1.waitForProxyHealthy)(port, timeout);
|
|
99
|
-
if (becameHealthy) {
|
|
100
|
-
if (proxyStatus.pid) {
|
|
101
|
-
sessionId = (0, proxy_detector_1.reclaimOrphanedProxy)(port, proxyStatus.pid, verbose) ?? undefined;
|
|
102
|
-
}
|
|
103
|
-
console.log((0, ui_1.info)(`Joined CLIProxy after startup wait`));
|
|
104
|
-
return; // Exit lock early
|
|
105
|
-
}
|
|
106
|
-
// Proxy didn't become healthy - kill and respawn
|
|
107
|
-
if (proxyStatus.pid) {
|
|
108
|
-
log(`Proxy PID ${proxyStatus.pid} not responding, killing...`);
|
|
109
|
-
(0, platform_commands_1.killProcessOnPort)(port, verbose);
|
|
110
|
-
await new Promise((r) => setTimeout(r, 500));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (proxyStatus.blocked && proxyStatus.blocker) {
|
|
114
|
-
// Port blocked by non-CLIProxy process
|
|
115
|
-
// Last resort: try HTTP health check (handles Windows PID-XXXXX case)
|
|
116
|
-
const isActuallyOurs = await (0, proxy_detector_1.waitForProxyHealthy)(port, 1000);
|
|
117
|
-
if (isActuallyOurs) {
|
|
118
|
-
sessionId = (0, proxy_detector_1.reclaimOrphanedProxy)(port, proxyStatus.blocker.pid, verbose) ?? undefined;
|
|
119
|
-
console.log((0, ui_1.info)(`Reclaimed CLIProxy with unrecognized process name`));
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
// Truly blocked by another application
|
|
123
|
-
const { getPortCheckCommand } = await Promise.resolve().then(() => __importStar(require('../../utils/platform-commands')));
|
|
124
|
-
console.error('');
|
|
125
|
-
console.error((0, ui_1.warn)(`Port ${port} is blocked by ${proxyStatus.blocker.processName} (PID ${proxyStatus.blocker.pid})`));
|
|
126
|
-
console.error('');
|
|
127
|
-
console.error('To fix this, close the blocking application or run:');
|
|
128
|
-
console.error(` ${getPortCheckCommand(port)}`);
|
|
129
|
-
console.error('');
|
|
130
|
-
throw new Error(`Port ${port} is in use by another application`);
|
|
131
|
-
}
|
|
132
|
-
// No proxy found - need to spawn
|
|
133
|
-
shouldSpawn = true;
|
|
134
|
-
});
|
|
135
|
-
return { sessionId, shouldSpawn };
|
|
136
|
-
}
|
|
137
|
-
exports.checkOrJoinProxy = checkOrJoinProxy;
|
|
138
|
-
/**
|
|
139
|
-
* Register a new proxy session after spawning
|
|
140
|
-
*/
|
|
141
|
-
function registerProxySession(port, pid, backend, verbose) {
|
|
142
|
-
const installedVersion = (0, binary_manager_1.getInstalledCliproxyVersion)();
|
|
143
|
-
const sessionId = (0, session_tracker_1.registerSession)(port, pid, installedVersion, backend);
|
|
144
|
-
if (verbose) {
|
|
145
|
-
console.error(`[cliproxy] Registered session ${sessionId} with new proxy (PID ${pid}, version ${installedVersion})`);
|
|
146
|
-
}
|
|
147
|
-
return sessionId;
|
|
148
|
-
}
|
|
149
|
-
exports.registerProxySession = registerProxySession;
|
|
150
|
-
/**
|
|
151
|
-
* Setup cleanup handlers for session unregistration
|
|
152
|
-
*/
|
|
153
|
-
function setupCleanupHandlers(claude, sessionId, sessionPort, codexReasoningProxy, toolSanitizationProxy, httpsTunnel, verbose) {
|
|
154
|
-
const log = (msg) => {
|
|
155
|
-
if (verbose) {
|
|
156
|
-
console.error(`[cliproxy] ${msg}`);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
const cleanup = () => {
|
|
160
|
-
log('Parent signal received, cleaning up');
|
|
161
|
-
if (codexReasoningProxy &&
|
|
162
|
-
typeof codexReasoningProxy === 'object' &&
|
|
163
|
-
'stop' in codexReasoningProxy) {
|
|
164
|
-
codexReasoningProxy.stop();
|
|
165
|
-
}
|
|
166
|
-
if (toolSanitizationProxy &&
|
|
167
|
-
typeof toolSanitizationProxy === 'object' &&
|
|
168
|
-
'stop' in toolSanitizationProxy) {
|
|
169
|
-
toolSanitizationProxy.stop();
|
|
170
|
-
}
|
|
171
|
-
if (httpsTunnel && typeof httpsTunnel === 'object' && 'stop' in httpsTunnel) {
|
|
172
|
-
httpsTunnel.stop();
|
|
173
|
-
}
|
|
174
|
-
// Unregister session, proxy keeps running (local mode only)
|
|
175
|
-
if (sessionId) {
|
|
176
|
-
(0, session_tracker_1.unregisterSession)(sessionId, sessionPort);
|
|
177
|
-
}
|
|
178
|
-
claude.kill('SIGTERM');
|
|
179
|
-
};
|
|
180
|
-
claude.on('exit', (code, signal) => {
|
|
181
|
-
log(`Claude exited: code=${code}, signal=${signal}`);
|
|
182
|
-
if (codexReasoningProxy &&
|
|
183
|
-
typeof codexReasoningProxy === 'object' &&
|
|
184
|
-
'stop' in codexReasoningProxy) {
|
|
185
|
-
codexReasoningProxy.stop();
|
|
186
|
-
}
|
|
187
|
-
if (toolSanitizationProxy &&
|
|
188
|
-
typeof toolSanitizationProxy === 'object' &&
|
|
189
|
-
'stop' in toolSanitizationProxy) {
|
|
190
|
-
toolSanitizationProxy.stop();
|
|
191
|
-
}
|
|
192
|
-
if (httpsTunnel && typeof httpsTunnel === 'object' && 'stop' in httpsTunnel) {
|
|
193
|
-
httpsTunnel.stop();
|
|
194
|
-
}
|
|
195
|
-
// Unregister this session (proxy keeps running for persistence) - only for local mode
|
|
196
|
-
if (sessionId) {
|
|
197
|
-
(0, session_tracker_1.unregisterSession)(sessionId, sessionPort);
|
|
198
|
-
log(`Session ${sessionId} unregistered, proxy persists for other sessions or future use`);
|
|
199
|
-
}
|
|
200
|
-
if (signal) {
|
|
201
|
-
process.kill(process.pid, signal);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
process.exit(code || 0);
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
claude.on('error', (error) => {
|
|
208
|
-
console.error(require('../../utils/ui').fail(`Claude CLI error: ${error}`));
|
|
209
|
-
if (codexReasoningProxy &&
|
|
210
|
-
typeof codexReasoningProxy === 'object' &&
|
|
211
|
-
'stop' in codexReasoningProxy) {
|
|
212
|
-
codexReasoningProxy.stop();
|
|
213
|
-
}
|
|
214
|
-
if (toolSanitizationProxy &&
|
|
215
|
-
typeof toolSanitizationProxy === 'object' &&
|
|
216
|
-
'stop' in toolSanitizationProxy) {
|
|
217
|
-
toolSanitizationProxy.stop();
|
|
218
|
-
}
|
|
219
|
-
if (httpsTunnel && typeof httpsTunnel === 'object' && 'stop' in httpsTunnel) {
|
|
220
|
-
httpsTunnel.stop();
|
|
221
|
-
}
|
|
222
|
-
// Unregister session, proxy keeps running (local mode only)
|
|
223
|
-
if (sessionId) {
|
|
224
|
-
(0, session_tracker_1.unregisterSession)(sessionId, sessionPort);
|
|
225
|
-
}
|
|
226
|
-
process.exit(1);
|
|
227
|
-
});
|
|
228
|
-
process.once('SIGTERM', cleanup);
|
|
229
|
-
process.once('SIGINT', cleanup);
|
|
230
|
-
}
|
|
231
|
-
exports.setupCleanupHandlers = setupCleanupHandlers;
|
|
232
|
-
//# sourceMappingURL=session-bridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-bridge.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/session-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLIProxy OAuth Authentication Operations
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - ccs cliproxy list
|
|
6
|
-
* - OAuth status display
|
|
7
|
-
* - Built-in profile authentication status
|
|
8
|
-
*/
|
|
9
|
-
export declare function handleList(): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=auth-subcommand.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/auth-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA8ChD"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CLIProxy OAuth Authentication Operations
|
|
4
|
-
*
|
|
5
|
-
* Handles:
|
|
6
|
-
* - ccs cliproxy list
|
|
7
|
-
* - OAuth status display
|
|
8
|
-
* - Built-in profile authentication status
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.handleList = void 0;
|
|
12
|
-
const auth_handler_1 = require("../../cliproxy/auth-handler");
|
|
13
|
-
const services_1 = require("../../cliproxy/services");
|
|
14
|
-
const ui_1 = require("../../utils/ui");
|
|
15
|
-
async function handleList() {
|
|
16
|
-
await (0, ui_1.initUI)();
|
|
17
|
-
console.log((0, ui_1.header)('CLIProxy Profiles'));
|
|
18
|
-
console.log('');
|
|
19
|
-
// Built-in profiles
|
|
20
|
-
console.log((0, ui_1.subheader)('Built-in Profiles'));
|
|
21
|
-
const authStatuses = (0, auth_handler_1.getAllAuthStatus)();
|
|
22
|
-
for (const status of authStatuses) {
|
|
23
|
-
const oauthConfig = (0, auth_handler_1.getOAuthConfig)(status.provider);
|
|
24
|
-
const icon = status.authenticated ? (0, ui_1.ok)('') : (0, ui_1.warn)('');
|
|
25
|
-
const authLabel = status.authenticated
|
|
26
|
-
? (0, ui_1.color)('authenticated', 'success')
|
|
27
|
-
: (0, ui_1.dim)('not authenticated');
|
|
28
|
-
const lastAuthStr = status.lastAuth ? (0, ui_1.dim)(` (${status.lastAuth.toLocaleDateString()})`) : '';
|
|
29
|
-
console.log(` ${icon} ${(0, ui_1.color)(status.provider, 'command').padEnd(18)} ${oauthConfig.displayName.padEnd(16)} ${authLabel}${lastAuthStr}`);
|
|
30
|
-
}
|
|
31
|
-
console.log('');
|
|
32
|
-
console.log((0, ui_1.dim)(' To authenticate: ccs <provider> --auth'));
|
|
33
|
-
console.log((0, ui_1.dim)(' To logout: ccs <provider> --logout'));
|
|
34
|
-
console.log('');
|
|
35
|
-
// Custom variants
|
|
36
|
-
const variants = (0, services_1.listVariants)();
|
|
37
|
-
const variantNames = Object.keys(variants);
|
|
38
|
-
if (variantNames.length > 0) {
|
|
39
|
-
console.log((0, ui_1.subheader)('Custom Variants'));
|
|
40
|
-
const rows = variantNames.map((name) => {
|
|
41
|
-
const variant = variants[name];
|
|
42
|
-
const portStr = variant.port ? String(variant.port) : '-';
|
|
43
|
-
return [name, variant.provider, portStr, variant.settings || '-'];
|
|
44
|
-
});
|
|
45
|
-
console.log((0, ui_1.table)(rows, { head: ['Variant', 'Provider', 'Port', 'Settings'], colWidths: [15, 12, 8, 30] }));
|
|
46
|
-
console.log('');
|
|
47
|
-
console.log((0, ui_1.dim)(`Total: ${variantNames.length} custom variant(s)`));
|
|
48
|
-
console.log('');
|
|
49
|
-
}
|
|
50
|
-
console.log((0, ui_1.dim)('To create a custom variant:'));
|
|
51
|
-
console.log(` ${(0, ui_1.color)('ccs cliproxy create', 'command')}`);
|
|
52
|
-
console.log('');
|
|
53
|
-
}
|
|
54
|
-
exports.handleList = handleList;
|
|
55
|
-
//# sourceMappingURL=auth-subcommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/auth-subcommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA8E9C"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CLIProxy Help Display
|
|
4
|
-
*
|
|
5
|
-
* Handles:
|
|
6
|
-
* - ccs cliproxy --help
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.showHelp = void 0;
|
|
10
|
-
const ui_1 = require("../../utils/ui");
|
|
11
|
-
const platform_detector_1 = require("../../cliproxy/platform-detector");
|
|
12
|
-
async function showHelp() {
|
|
13
|
-
await (0, ui_1.initUI)();
|
|
14
|
-
console.log('');
|
|
15
|
-
console.log((0, ui_1.header)('CLIProxy Management'));
|
|
16
|
-
console.log('');
|
|
17
|
-
console.log((0, ui_1.subheader)('Usage:'));
|
|
18
|
-
console.log(` ${(0, ui_1.color)('ccs cliproxy', 'command')} <command> [options]`);
|
|
19
|
-
console.log('');
|
|
20
|
-
const sections = [
|
|
21
|
-
[
|
|
22
|
-
'Profile Commands:',
|
|
23
|
-
[
|
|
24
|
-
['create [name]', 'Create new CLIProxy variant profile'],
|
|
25
|
-
['list', 'List all CLIProxy variant profiles'],
|
|
26
|
-
['remove <name>', 'Remove a CLIProxy variant profile'],
|
|
27
|
-
],
|
|
28
|
-
],
|
|
29
|
-
[
|
|
30
|
-
'Local Sync:',
|
|
31
|
-
[
|
|
32
|
-
['sync', 'Sync API profiles to local CLIProxy config'],
|
|
33
|
-
['sync --dry-run', 'Preview sync without applying'],
|
|
34
|
-
['sync --verbose', 'Show detailed sync information'],
|
|
35
|
-
],
|
|
36
|
-
],
|
|
37
|
-
[
|
|
38
|
-
'Quota Management:',
|
|
39
|
-
[
|
|
40
|
-
['default <account>', 'Set default account for rotation'],
|
|
41
|
-
['pause <account>', 'Pause account (skip in rotation)'],
|
|
42
|
-
['resume <account>', 'Resume paused account'],
|
|
43
|
-
['quota', 'Show quota status for all providers'],
|
|
44
|
-
['quota --provider <name>', 'Filter by provider (agy|codex|gemini)'],
|
|
45
|
-
],
|
|
46
|
-
],
|
|
47
|
-
[
|
|
48
|
-
'Proxy Lifecycle:',
|
|
49
|
-
[
|
|
50
|
-
['status', 'Show running CLIProxy status'],
|
|
51
|
-
['stop', 'Stop running CLIProxy instance'],
|
|
52
|
-
['doctor', 'Quota diagnostics and shared project detection'],
|
|
53
|
-
],
|
|
54
|
-
],
|
|
55
|
-
[
|
|
56
|
-
'Binary Commands:',
|
|
57
|
-
[
|
|
58
|
-
['--install <version>', 'Install and pin a specific version'],
|
|
59
|
-
['--latest', 'Install the latest version (no pin)'],
|
|
60
|
-
['--update', 'Unpin and update to latest version'],
|
|
61
|
-
],
|
|
62
|
-
],
|
|
63
|
-
[
|
|
64
|
-
'Options:',
|
|
65
|
-
[
|
|
66
|
-
['--backend <type>', 'Use specific backend: original | plus (default: from config)'],
|
|
67
|
-
['--verbose, -v', 'Show detailed quota fetch diagnostics'],
|
|
68
|
-
],
|
|
69
|
-
],
|
|
70
|
-
];
|
|
71
|
-
for (const [title, cmds] of sections) {
|
|
72
|
-
console.log((0, ui_1.subheader)(title));
|
|
73
|
-
const maxLen = Math.max(...cmds.map(([cmd]) => cmd.length));
|
|
74
|
-
for (const [cmd, desc] of cmds) {
|
|
75
|
-
console.log(` ${(0, ui_1.color)(cmd.padEnd(maxLen + 2), 'command')} ${desc}`);
|
|
76
|
-
}
|
|
77
|
-
console.log('');
|
|
78
|
-
}
|
|
79
|
-
console.log((0, ui_1.dim)(' Note: CLIProxy now persists by default. Use "stop" to terminate.'));
|
|
80
|
-
console.log('');
|
|
81
|
-
console.log((0, ui_1.subheader)('Notes:'));
|
|
82
|
-
console.log(` Default fallback version: ${(0, ui_1.color)((0, platform_detector_1.getFallbackVersion)(), 'info')}`);
|
|
83
|
-
console.log(` Releases: ${(0, ui_1.color)(`https://github.com/${platform_detector_1.BACKEND_CONFIG[platform_detector_1.DEFAULT_BACKEND].repo}/releases`, 'path')}`);
|
|
84
|
-
console.log('');
|
|
85
|
-
}
|
|
86
|
-
exports.showHelp = showHelp;
|
|
87
|
-
//# sourceMappingURL=help-subcommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help-subcommand.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/help-subcommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLIProxy Command Dispatcher
|
|
3
|
-
*
|
|
4
|
-
* Routes cliproxy subcommands to their respective handlers.
|
|
5
|
-
* This is the main entry point for all `ccs cliproxy` commands.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Main router for cliproxy commands
|
|
9
|
-
*/
|
|
10
|
-
export declare function handleCliproxyCommand(args: string[]): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmIH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiGzE"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CLIProxy Command Dispatcher
|
|
4
|
-
*
|
|
5
|
-
* Routes cliproxy subcommands to their respective handlers.
|
|
6
|
-
* This is the main entry point for all `ccs cliproxy` commands.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.handleCliproxyCommand = void 0;
|
|
10
|
-
const platform_detector_1 = require("../../cliproxy/platform-detector");
|
|
11
|
-
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
12
|
-
const cliproxy_sync_handler_1 = require("../cliproxy-sync-handler");
|
|
13
|
-
// Import subcommand handlers
|
|
14
|
-
const auth_subcommand_1 = require("./auth-subcommand");
|
|
15
|
-
const quota_subcommand_1 = require("./quota-subcommand");
|
|
16
|
-
const variant_subcommand_1 = require("./variant-subcommand");
|
|
17
|
-
const proxy_lifecycle_subcommand_1 = require("./proxy-lifecycle-subcommand");
|
|
18
|
-
const install_subcommand_1 = require("./install-subcommand");
|
|
19
|
-
const help_subcommand_1 = require("./help-subcommand");
|
|
20
|
-
/**
|
|
21
|
-
* Parse --backend flag from args
|
|
22
|
-
* Returns the backend value and remaining args without --backend flag
|
|
23
|
-
*/
|
|
24
|
-
function parseBackendArg(args) {
|
|
25
|
-
const backendIdx = args.indexOf('--backend');
|
|
26
|
-
if (backendIdx === -1) {
|
|
27
|
-
// Also check for --backend=value format
|
|
28
|
-
const backendEqualsIdx = args.findIndex((a) => a.startsWith('--backend='));
|
|
29
|
-
if (backendEqualsIdx !== -1) {
|
|
30
|
-
const value = args[backendEqualsIdx].split('=')[1];
|
|
31
|
-
if (value !== 'original' && value !== 'plus') {
|
|
32
|
-
console.warn(`Invalid backend '${value}'. Valid options: original, plus`);
|
|
33
|
-
return { backend: undefined, remainingArgs: args };
|
|
34
|
-
}
|
|
35
|
-
const remainingArgs = [...args];
|
|
36
|
-
remainingArgs.splice(backendEqualsIdx, 1);
|
|
37
|
-
return { backend: value, remainingArgs };
|
|
38
|
-
}
|
|
39
|
-
return { backend: undefined, remainingArgs: args };
|
|
40
|
-
}
|
|
41
|
-
const value = args[backendIdx + 1];
|
|
42
|
-
if (value !== 'original' && value !== 'plus') {
|
|
43
|
-
console.warn(`Invalid backend '${value}'. Valid options: original, plus`);
|
|
44
|
-
return { backend: undefined, remainingArgs: args };
|
|
45
|
-
}
|
|
46
|
-
const remainingArgs = [...args];
|
|
47
|
-
remainingArgs.splice(backendIdx, 2);
|
|
48
|
-
return { backend: value, remainingArgs };
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get effective backend (CLI flag > config.yaml > default)
|
|
52
|
-
*/
|
|
53
|
-
function getEffectiveBackend(cliBackend) {
|
|
54
|
-
if (cliBackend)
|
|
55
|
-
return cliBackend;
|
|
56
|
-
const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
|
|
57
|
-
return config.cliproxy?.backend ?? platform_detector_1.DEFAULT_BACKEND;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Parse --provider flag from args for quota command
|
|
61
|
-
* Returns the provider filter value and remaining args
|
|
62
|
-
* Accepts: agy, codex, gemini, gemini-cli, all
|
|
63
|
-
*/
|
|
64
|
-
function parseProviderArg(args) {
|
|
65
|
-
const providerIdx = args.indexOf('--provider');
|
|
66
|
-
if (providerIdx === -1) {
|
|
67
|
-
// Also check for --provider=value format
|
|
68
|
-
const providerEqualsIdx = args.findIndex((a) => a.startsWith('--provider='));
|
|
69
|
-
if (providerEqualsIdx !== -1) {
|
|
70
|
-
const value = args[providerEqualsIdx].split('=')[1]?.toLowerCase() || '';
|
|
71
|
-
const remainingArgs = [...args];
|
|
72
|
-
remainingArgs.splice(providerEqualsIdx, 1);
|
|
73
|
-
// Handle empty value
|
|
74
|
-
if (!value) {
|
|
75
|
-
console.error('Warning: --provider requires a value. Valid options: agy, codex, gemini, gemini-cli, all');
|
|
76
|
-
return { provider: 'all', remainingArgs };
|
|
77
|
-
}
|
|
78
|
-
// Normalize gemini-cli to gemini
|
|
79
|
-
const normalized = value === 'gemini-cli' ? 'gemini' : value;
|
|
80
|
-
if (normalized !== 'agy' &&
|
|
81
|
-
normalized !== 'codex' &&
|
|
82
|
-
normalized !== 'gemini' &&
|
|
83
|
-
normalized !== 'all') {
|
|
84
|
-
console.error(`Invalid provider '${value}'. Valid options: agy, codex, gemini, gemini-cli, all`);
|
|
85
|
-
return { provider: 'all', remainingArgs };
|
|
86
|
-
}
|
|
87
|
-
return { provider: normalized, remainingArgs };
|
|
88
|
-
}
|
|
89
|
-
return { provider: 'all', remainingArgs: args };
|
|
90
|
-
}
|
|
91
|
-
const rawValue = args[providerIdx + 1];
|
|
92
|
-
// Warn if no value or value looks like another flag
|
|
93
|
-
if (!rawValue || rawValue.startsWith('-')) {
|
|
94
|
-
console.error('Warning: --provider requires a value. Valid options: agy, codex, gemini, gemini-cli, all');
|
|
95
|
-
}
|
|
96
|
-
const value = rawValue?.toLowerCase() || 'all';
|
|
97
|
-
const remainingArgs = [...args];
|
|
98
|
-
remainingArgs.splice(providerIdx, 2);
|
|
99
|
-
// Normalize gemini-cli to gemini
|
|
100
|
-
const normalized = value === 'gemini-cli' ? 'gemini' : value;
|
|
101
|
-
if (normalized !== 'agy' &&
|
|
102
|
-
normalized !== 'codex' &&
|
|
103
|
-
normalized !== 'gemini' &&
|
|
104
|
-
normalized !== 'all') {
|
|
105
|
-
console.error(`Invalid provider '${value}'. Valid options: agy, codex, gemini, gemini-cli, all`);
|
|
106
|
-
return { provider: 'all', remainingArgs };
|
|
107
|
-
}
|
|
108
|
-
return { provider: normalized, remainingArgs };
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Main router for cliproxy commands
|
|
112
|
-
*/
|
|
113
|
-
async function handleCliproxyCommand(args) {
|
|
114
|
-
// Parse --backend flag first (before other processing)
|
|
115
|
-
const { backend: cliBackend, remainingArgs } = parseBackendArg(args);
|
|
116
|
-
const effectiveBackend = getEffectiveBackend(cliBackend);
|
|
117
|
-
const verbose = remainingArgs.includes('--verbose') || remainingArgs.includes('-v');
|
|
118
|
-
const command = remainingArgs[0];
|
|
119
|
-
if (remainingArgs.includes('--help') || remainingArgs.includes('-h')) {
|
|
120
|
-
await (0, help_subcommand_1.showHelp)();
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
// Profile commands
|
|
124
|
-
if (command === 'create') {
|
|
125
|
-
await (0, variant_subcommand_1.handleCreate)(remainingArgs.slice(1), effectiveBackend);
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
if (command === 'list' || command === 'ls') {
|
|
129
|
-
await (0, auth_subcommand_1.handleList)();
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
if (command === 'remove' || command === 'delete' || command === 'rm') {
|
|
133
|
-
await (0, variant_subcommand_1.handleRemove)(remainingArgs.slice(1));
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
// Sync command
|
|
137
|
-
if (command === 'sync') {
|
|
138
|
-
await (0, cliproxy_sync_handler_1.handleSync)(remainingArgs.slice(1));
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
// Proxy lifecycle commands
|
|
142
|
-
if (command === 'stop') {
|
|
143
|
-
await (0, proxy_lifecycle_subcommand_1.handleStop)();
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
if (command === 'status') {
|
|
147
|
-
await (0, proxy_lifecycle_subcommand_1.handleProxyStatus)();
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
// Diagnostics
|
|
151
|
-
if (command === 'doctor' || command === 'diag') {
|
|
152
|
-
await (0, quota_subcommand_1.handleDoctor)(verbose);
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
// Quota management commands
|
|
156
|
-
if (command === 'default') {
|
|
157
|
-
await (0, quota_subcommand_1.handleSetDefault)(remainingArgs.slice(1));
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (command === 'pause') {
|
|
161
|
-
await (0, quota_subcommand_1.handlePauseAccount)(remainingArgs.slice(1));
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
if (command === 'resume') {
|
|
165
|
-
await (0, quota_subcommand_1.handleResumeAccount)(remainingArgs.slice(1));
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
if (command === 'quota') {
|
|
169
|
-
const { provider: providerFilter } = parseProviderArg(remainingArgs.slice(1));
|
|
170
|
-
await (0, quota_subcommand_1.handleQuotaStatus)(verbose, providerFilter);
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
// Binary installation commands
|
|
174
|
-
const installIdx = remainingArgs.indexOf('--install');
|
|
175
|
-
if (installIdx !== -1) {
|
|
176
|
-
let version = remainingArgs[installIdx + 1];
|
|
177
|
-
if (!version || version.startsWith('-')) {
|
|
178
|
-
console.error('Missing version argument for --install');
|
|
179
|
-
console.error(' Usage: ccs cliproxy --install <version>');
|
|
180
|
-
console.error(' Example: ccs cliproxy --install 6.6.80-0');
|
|
181
|
-
process.exit(1);
|
|
182
|
-
}
|
|
183
|
-
// Strip leading 'v' prefix and whitespace (user may type " v6.6.80-0 ")
|
|
184
|
-
version = version.trim().replace(/^v/, '');
|
|
185
|
-
await (0, install_subcommand_1.handleInstallVersion)(version, verbose, effectiveBackend);
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
if (remainingArgs.includes('--latest') || remainingArgs.includes('--update')) {
|
|
189
|
-
await (0, install_subcommand_1.handleInstallLatest)(verbose, effectiveBackend);
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
// Default: show status
|
|
193
|
-
await (0, install_subcommand_1.showStatus)(verbose, effectiveBackend);
|
|
194
|
-
}
|
|
195
|
-
exports.handleCliproxyCommand = handleCliproxyCommand;
|
|
196
|
-
//# sourceMappingURL=index.js.map
|