@kaitranntt/ccs 6.5.0 → 6.6.0-dev.3

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 (106) hide show
  1. package/README.md +1 -0
  2. package/dist/ccs.js +7 -4
  3. package/dist/ccs.js.map +1 -1
  4. package/dist/cliproxy/binary-manager.d.ts +16 -2
  5. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  6. package/dist/cliproxy/binary-manager.js +39 -15
  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 +208 -118
  10. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  11. package/dist/cliproxy/config-generator.d.ts +21 -1
  12. package/dist/cliproxy/config-generator.d.ts.map +1 -1
  13. package/dist/cliproxy/config-generator.js +60 -9
  14. package/dist/cliproxy/config-generator.js.map +1 -1
  15. package/dist/cliproxy/proxy-config-resolver.d.ts +79 -0
  16. package/dist/cliproxy/proxy-config-resolver.d.ts.map +1 -0
  17. package/dist/cliproxy/proxy-config-resolver.js +208 -0
  18. package/dist/cliproxy/proxy-config-resolver.js.map +1 -0
  19. package/dist/cliproxy/remote-proxy-client.d.ts +51 -0
  20. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -0
  21. package/dist/cliproxy/remote-proxy-client.js +198 -0
  22. package/dist/cliproxy/remote-proxy-client.js.map +1 -0
  23. package/dist/cliproxy/service-manager.d.ts.map +1 -1
  24. package/dist/cliproxy/service-manager.js +4 -0
  25. package/dist/cliproxy/service-manager.js.map +1 -1
  26. package/dist/cliproxy/stats-fetcher.d.ts +24 -0
  27. package/dist/cliproxy/stats-fetcher.d.ts.map +1 -1
  28. package/dist/cliproxy/stats-fetcher.js +56 -1
  29. package/dist/cliproxy/stats-fetcher.js.map +1 -1
  30. package/dist/cliproxy/types.d.ts +24 -0
  31. package/dist/cliproxy/types.d.ts.map +1 -1
  32. package/dist/commands/cleanup-command.d.ts +1 -0
  33. package/dist/commands/cleanup-command.d.ts.map +1 -1
  34. package/dist/commands/cleanup-command.js +158 -10
  35. package/dist/commands/cleanup-command.js.map +1 -1
  36. package/dist/commands/help-command.d.ts.map +1 -1
  37. package/dist/commands/help-command.js +17 -0
  38. package/dist/commands/help-command.js.map +1 -1
  39. package/dist/commands/update-command.d.ts +1 -1
  40. package/dist/commands/update-command.d.ts.map +1 -1
  41. package/dist/commands/update-command.js +24 -132
  42. package/dist/commands/update-command.js.map +1 -1
  43. package/dist/config/unified-config-loader.d.ts +6 -1
  44. package/dist/config/unified-config-loader.d.ts.map +1 -1
  45. package/dist/config/unified-config-loader.js +58 -1
  46. package/dist/config/unified-config-loader.js.map +1 -1
  47. package/dist/config/unified-config-types.d.ts +74 -2
  48. package/dist/config/unified-config-types.d.ts.map +1 -1
  49. package/dist/config/unified-config-types.js +38 -2
  50. package/dist/config/unified-config-types.js.map +1 -1
  51. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  52. package/dist/copilot/copilot-executor.js +6 -1
  53. package/dist/copilot/copilot-executor.js.map +1 -1
  54. package/dist/ui/assets/accounts-DNYYJ7ul.js +1 -0
  55. package/dist/ui/assets/analytics-Dhp2ikxe.js +1 -0
  56. package/dist/ui/assets/api-CZf-jQ-_.js +1 -0
  57. package/dist/ui/assets/{card-CR0u1y_L.js → card--rU2tDlq.js} +1 -1
  58. package/dist/ui/assets/{charts-D_0N6JY8.js → charts-B9Jh-s-X.js} +1 -1
  59. package/dist/ui/assets/cliproxy-DZ_5oEVY.js +1 -0
  60. package/dist/ui/assets/{cliproxy-control-panel-DIIw97Bs.js → cliproxy-control-panel-DKMAi4_4.js} +1 -1
  61. package/dist/ui/assets/{code-editor-CVohe7u9.js → code-editor-CYOD5x0C.js} +1 -1
  62. package/dist/ui/assets/{code-highlight-C2TXE0-z.js → code-highlight-BoHWVYut.js} +1 -1
  63. package/dist/ui/assets/copilot-Dd0yazW6.js +4 -0
  64. package/dist/ui/assets/{form-utils-BXvNPyud.js → form-utils-BuXDJb0w.js} +1 -1
  65. package/dist/ui/assets/{health-Dh8bSHe-.js → health-CyZQOQg7.js} +1 -1
  66. package/dist/ui/assets/icons-BOsxPbiD.js +1 -0
  67. package/dist/ui/assets/index-Brq6EBKZ.css +1 -0
  68. package/dist/ui/assets/index-Ced9Xuhx.js +48 -0
  69. package/dist/ui/assets/{notifications-cqk-Qeo2.js → notifications-B2Pz7lik.js} +1 -1
  70. package/dist/ui/assets/{radix-ui-VbLlN_Dz.js → radix-ui-DFHQr9A5.js} +1 -1
  71. package/dist/ui/assets/react-vendor-FspHSO0w.js +3 -0
  72. package/dist/ui/assets/settings-COL3veEu.js +1 -0
  73. package/dist/ui/assets/{shared-DQlPCpix.js → shared-BG9bijB0.js} +1 -1
  74. package/dist/ui/assets/{switch-pOvJh4Ez.js → switch-fBCFt0Fe.js} +1 -1
  75. package/dist/ui/assets/{tanstack-yybD444-.js → tanstack-C4gT2P7V.js} +1 -1
  76. package/dist/ui/index.html +9 -9
  77. package/dist/utils/package-manager-detector.d.ts +1 -4
  78. package/dist/utils/package-manager-detector.d.ts.map +1 -1
  79. package/dist/utils/package-manager-detector.js +2 -61
  80. package/dist/utils/package-manager-detector.js.map +1 -1
  81. package/dist/web-server/index.d.ts.map +1 -1
  82. package/dist/web-server/index.js +3 -0
  83. package/dist/web-server/index.js.map +1 -1
  84. package/dist/web-server/routes/proxy-routes.d.ts +11 -0
  85. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -0
  86. package/dist/web-server/routes/proxy-routes.js +88 -0
  87. package/dist/web-server/routes/proxy-routes.js.map +1 -0
  88. package/dist/web-server/routes.d.ts.map +1 -1
  89. package/dist/web-server/routes.js +141 -2
  90. package/dist/web-server/routes.js.map +1 -1
  91. package/package.json +6 -3
  92. package/scripts/send-discord-release.cjs +214 -0
  93. package/scripts/worker.js +18 -38
  94. package/VERSION +0 -1
  95. package/dist/ui/assets/accounts-OHf-47mH.js +0 -1
  96. package/dist/ui/assets/analytics-C4uOxyuU.js +0 -1
  97. package/dist/ui/assets/api-B_mbwU9C.js +0 -1
  98. package/dist/ui/assets/cliproxy-tXwMpEJd.js +0 -1
  99. package/dist/ui/assets/copilot-C-eWI9Ce.js +0 -4
  100. package/dist/ui/assets/icons-WTNLz24z.js +0 -1
  101. package/dist/ui/assets/index-BXPLu3zJ.js +0 -44
  102. package/dist/ui/assets/index-D2qNwUdc.css +0 -1
  103. package/dist/ui/assets/react-vendor-DMek_JCF.js +0 -3
  104. package/dist/ui/assets/settings-Bi8Aw4yN.js +0 -1
  105. package/scripts/sync-version-plugin.cjs +0 -41
  106. package/scripts/sync-version.js +0 -15
@@ -44,8 +44,10 @@ const ui_1 = require("../utils/ui");
44
44
  const shell_executor_1 = require("../utils/shell-executor");
45
45
  const binary_manager_1 = require("./binary-manager");
46
46
  const config_generator_1 = require("./config-generator");
47
+ const remote_proxy_client_1 = require("./remote-proxy-client");
47
48
  const auth_handler_1 = require("./auth-handler");
48
49
  const model_config_1 = require("./model-config");
50
+ const proxy_config_resolver_1 = require("./proxy-config-resolver");
49
51
  const websearch_manager_1 = require("../utils/websearch-manager");
50
52
  const model_catalog_1 = require("./model-catalog");
51
53
  const account_manager_1 = require("./account-manager");
@@ -108,6 +110,18 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
108
110
  console.error(`[cliproxy] ${msg}`);
109
111
  }
110
112
  };
113
+ // 0. Resolve proxy configuration (CLI > ENV > config.yaml > defaults)
114
+ // This filters proxy flags from args and returns resolved config
115
+ const { config: proxyConfig, remainingArgs: argsWithoutProxy } = (0, proxy_config_resolver_1.resolveProxyConfig)(args);
116
+ // Use resolved port from proxy config (overrides ExecutorConfig)
117
+ if (proxyConfig.port !== config_generator_1.CLIPROXY_DEFAULT_PORT) {
118
+ cfg.port = proxyConfig.port;
119
+ }
120
+ log(`Proxy mode: ${proxyConfig.mode}`);
121
+ if (proxyConfig.mode === 'remote') {
122
+ log(`Remote host: ${proxyConfig.host}:${proxyConfig.port} (${proxyConfig.protocol})`);
123
+ }
124
+ // Note: proxyConfig is available for Phase 4 (remote mode integration)
111
125
  // Ensure MCP web-search is configured for third-party profiles
112
126
  // WebSearch is a server-side tool executed by Anthropic's API
113
127
  // Third-party providers don't have access, so we use MCP fallback
@@ -120,36 +134,89 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
120
134
  // Validate provider
121
135
  const providerConfig = (0, config_generator_1.getProviderConfig)(provider);
122
136
  log(`Provider: ${providerConfig.displayName}`);
123
- // 1. Ensure binary exists (downloads if needed)
124
- const spinner = new progress_indicator_1.ProgressIndicator('Preparing CLIProxy');
125
- spinner.start();
126
- let binaryPath;
127
- try {
128
- binaryPath = await (0, binary_manager_1.ensureCLIProxyBinary)(verbose);
129
- spinner.succeed('CLIProxy binary ready');
137
+ // Check remote proxy if configured (before binary download)
138
+ let useRemoteProxy = false;
139
+ if (proxyConfig.mode === 'remote' && proxyConfig.host) {
140
+ const status = await (0, remote_proxy_client_1.checkRemoteProxy)({
141
+ host: proxyConfig.host,
142
+ port: proxyConfig.port,
143
+ protocol: proxyConfig.protocol,
144
+ authToken: proxyConfig.authToken,
145
+ timeout: 2000,
146
+ allowSelfSigned: proxyConfig.protocol === 'https',
147
+ });
148
+ if (status.reachable) {
149
+ useRemoteProxy = true;
150
+ console.log((0, ui_1.ok)(`Connected to remote proxy at ${proxyConfig.host}:${proxyConfig.port} (${status.latencyMs}ms)`));
151
+ }
152
+ else {
153
+ console.error((0, ui_1.warn)(`Remote proxy unreachable: ${status.error}`));
154
+ if (proxyConfig.remoteOnly) {
155
+ throw new Error('Remote proxy unreachable and --remote-only specified');
156
+ }
157
+ if (proxyConfig.fallbackEnabled) {
158
+ if (proxyConfig.autoStartLocal) {
159
+ console.log((0, ui_1.info)('Falling back to local proxy...'));
160
+ }
161
+ else {
162
+ // Prompt user for fallback (only in TTY)
163
+ if (process.stdin.isTTY) {
164
+ const readline = await Promise.resolve().then(() => __importStar(require('readline')));
165
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
166
+ const answer = await new Promise((resolve) => {
167
+ rl.question('Start local proxy instead? [Y/n] ', resolve);
168
+ });
169
+ rl.close();
170
+ if (answer.toLowerCase() === 'n') {
171
+ throw new Error('Remote proxy unreachable and user declined fallback');
172
+ }
173
+ }
174
+ console.log((0, ui_1.info)('Starting local proxy...'));
175
+ }
176
+ }
177
+ else {
178
+ throw new Error('Remote proxy unreachable and fallback disabled');
179
+ }
180
+ }
130
181
  }
131
- catch (error) {
132
- spinner.fail('Failed to prepare CLIProxy');
133
- throw error;
182
+ // Variables for local proxy mode
183
+ let binaryPath;
184
+ let sessionId;
185
+ // 1. Ensure binary exists (downloads if needed) - SKIP for remote mode
186
+ if (!useRemoteProxy) {
187
+ const spinner = new progress_indicator_1.ProgressIndicator('Preparing CLIProxy');
188
+ spinner.start();
189
+ try {
190
+ binaryPath = await (0, binary_manager_1.ensureCLIProxyBinary)(verbose);
191
+ spinner.succeed('CLIProxy binary ready');
192
+ }
193
+ catch (error) {
194
+ spinner.fail('Failed to prepare CLIProxy');
195
+ throw error;
196
+ }
134
197
  }
135
- // 2. Handle special flags
136
- const forceAuth = args.includes('--auth');
137
- const forceHeadless = args.includes('--headless');
138
- const forceLogout = args.includes('--logout');
139
- const forceConfig = args.includes('--config');
140
- const addAccount = args.includes('--add');
141
- const showAccounts = args.includes('--accounts');
198
+ // 2. Handle special flags (use argsWithoutProxy - proxy flags already stripped)
199
+ const forceAuth = argsWithoutProxy.includes('--auth');
200
+ const forceHeadless = argsWithoutProxy.includes('--headless');
201
+ const forceLogout = argsWithoutProxy.includes('--logout');
202
+ const forceConfig = argsWithoutProxy.includes('--config');
203
+ const addAccount = argsWithoutProxy.includes('--add');
204
+ const showAccounts = argsWithoutProxy.includes('--accounts');
142
205
  // Parse --use <account> flag
143
206
  let useAccount;
144
- const useIdx = args.indexOf('--use');
145
- if (useIdx !== -1 && args[useIdx + 1] && !args[useIdx + 1].startsWith('-')) {
146
- useAccount = args[useIdx + 1];
207
+ const useIdx = argsWithoutProxy.indexOf('--use');
208
+ if (useIdx !== -1 &&
209
+ argsWithoutProxy[useIdx + 1] &&
210
+ !argsWithoutProxy[useIdx + 1].startsWith('-')) {
211
+ useAccount = argsWithoutProxy[useIdx + 1];
147
212
  }
148
213
  // Parse --nickname <name> flag
149
214
  let setNickname;
150
- const nicknameIdx = args.indexOf('--nickname');
151
- if (nicknameIdx !== -1 && args[nicknameIdx + 1] && !args[nicknameIdx + 1].startsWith('-')) {
152
- setNickname = args[nicknameIdx + 1];
215
+ const nicknameIdx = argsWithoutProxy.indexOf('--nickname');
216
+ if (nicknameIdx !== -1 &&
217
+ argsWithoutProxy[nicknameIdx + 1] &&
218
+ !argsWithoutProxy[nicknameIdx + 1].startsWith('-')) {
219
+ setNickname = argsWithoutProxy[nicknameIdx + 1];
153
220
  }
154
221
  // Handle --accounts: list accounts and exit
155
222
  if (showAccounts) {
@@ -275,104 +342,118 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
275
342
  }
276
343
  // 6. Ensure user settings file exists (creates from defaults if not)
277
344
  (0, config_generator_1.ensureProviderSettings)(provider);
278
- // 6. Generate config file
279
- log(`Generating config for ${provider}`);
280
- const configPath = (0, config_generator_1.generateConfig)(provider, cfg.port);
281
- log(`Config written: ${configPath}`);
282
- // 6a. Pre-flight check: handle existing proxy or port conflicts
283
- // Clean up orphaned sessions first (from crashed proxies)
284
- (0, session_tracker_1.cleanupOrphanedSessions)(cfg.port);
285
- // Check if there's an existing healthy proxy we can reuse
286
- const existingProxy = (0, session_tracker_1.getExistingProxy)(cfg.port);
345
+ // Local proxy mode: generate config, spawn proxy, track session
287
346
  let proxy = null;
288
- let sessionId;
289
- if (existingProxy) {
290
- // Reuse existing proxy - another CCS session started it
291
- log(`Reusing existing CLIProxy on port ${cfg.port} (PID ${existingProxy.pid})`);
292
- sessionId = (0, session_tracker_1.registerSession)(cfg.port, existingProxy.pid);
293
- console.log((0, ui_1.info)(`Joined existing CLIProxy (${existingProxy.sessions.length + 1} sessions active)`));
294
- }
295
- else {
296
- // No existing proxy - check if port is free
297
- const portProcess = await (0, port_utils_1.getPortProcess)(cfg.port);
298
- if (portProcess) {
299
- if ((0, port_utils_1.isCLIProxyProcess)(portProcess)) {
300
- // CLIProxy on port but no session lock - likely orphaned/zombie
301
- // Only kill if no active sessions registered
302
- if (!(0, session_tracker_1.hasActiveSessions)()) {
303
- log(`Found zombie CLIProxy on port ${cfg.port} (PID ${portProcess.pid}), killing...`);
304
- const killed = (0, platform_commands_1.killProcessOnPort)(cfg.port, verbose);
305
- if (killed) {
306
- console.log((0, ui_1.info)(`Cleaned up zombie CLIProxy process`));
307
- // Wait a bit for port to be released
308
- await new Promise((r) => setTimeout(r, 500));
347
+ if (!useRemoteProxy) {
348
+ // 6. Generate config file
349
+ log(`Generating config for ${provider}`);
350
+ const configPath = (0, config_generator_1.generateConfig)(provider, cfg.port);
351
+ log(`Config written: ${configPath}`);
352
+ // 6a. Pre-flight check: handle existing proxy or port conflicts
353
+ // Clean up orphaned sessions first (from crashed proxies)
354
+ (0, session_tracker_1.cleanupOrphanedSessions)(cfg.port);
355
+ // Check if there's an existing healthy proxy we can reuse
356
+ const existingProxy = (0, session_tracker_1.getExistingProxy)(cfg.port);
357
+ if (existingProxy) {
358
+ // Reuse existing proxy - another CCS session started it
359
+ log(`Reusing existing CLIProxy on port ${cfg.port} (PID ${existingProxy.pid})`);
360
+ sessionId = (0, session_tracker_1.registerSession)(cfg.port, existingProxy.pid);
361
+ console.log((0, ui_1.info)(`Joined existing CLIProxy (${existingProxy.sessions.length + 1} sessions active)`));
362
+ }
363
+ else {
364
+ // No existing proxy - check if port is free
365
+ const portProcess = await (0, port_utils_1.getPortProcess)(cfg.port);
366
+ if (portProcess) {
367
+ if ((0, port_utils_1.isCLIProxyProcess)(portProcess)) {
368
+ // CLIProxy on port but no session lock - likely orphaned/zombie
369
+ // Only kill if no active sessions registered
370
+ if (!(0, session_tracker_1.hasActiveSessions)()) {
371
+ log(`Found zombie CLIProxy on port ${cfg.port} (PID ${portProcess.pid}), killing...`);
372
+ const killed = (0, platform_commands_1.killProcessOnPort)(cfg.port, verbose);
373
+ if (killed) {
374
+ console.log((0, ui_1.info)(`Cleaned up zombie CLIProxy process`));
375
+ // Wait a bit for port to be released
376
+ await new Promise((r) => setTimeout(r, 500));
377
+ }
378
+ }
379
+ else {
380
+ // Active sessions exist but getExistingProxy returned null - something's wrong
381
+ // Try to connect anyway
382
+ log(`CLIProxy on port ${cfg.port} has active sessions, attempting to join...`);
309
383
  }
310
384
  }
311
385
  else {
312
- // Active sessions exist but getExistingProxy returned null - something's wrong
313
- // Try to connect anyway
314
- log(`CLIProxy on port ${cfg.port} has active sessions, attempting to join...`);
386
+ // Non-CLIProxy process blocking the port - warn user
387
+ console.error('');
388
+ console.error((0, ui_1.warn)(`Port ${cfg.port} is blocked by ${portProcess.processName} (PID ${portProcess.pid})`));
389
+ console.error('');
390
+ console.error('To fix this, close the blocking application or run:');
391
+ console.error(` ${(0, platform_commands_1.getPortCheckCommand)(cfg.port)}`);
392
+ console.error('');
393
+ throw new Error(`Port ${cfg.port} is in use by another application`);
315
394
  }
316
395
  }
317
- else {
318
- // Non-CLIProxy process blocking the port - warn user
396
+ // 6b. Spawn CLIProxyAPI binary (only if not reusing existing proxy)
397
+ // Use detached mode so proxy persists after terminal closes
398
+ const configPath = (0, config_generator_1.generateConfig)(provider, cfg.port);
399
+ const proxyArgs = ['--config', configPath];
400
+ log(`Spawning: ${binaryPath} ${proxyArgs.join(' ')}`);
401
+ proxy = (0, child_process_1.spawn)(binaryPath, proxyArgs, {
402
+ stdio: ['ignore', 'ignore', 'ignore'],
403
+ detached: true, // Persist after parent terminal closes
404
+ env: {
405
+ ...process.env,
406
+ WRITABLE_PATH: (0, config_generator_1.getCliproxyWritablePath)(), // Logs stored in ~/.ccs/cliproxy/logs/
407
+ },
408
+ });
409
+ // Unref so parent process can exit independently
410
+ proxy.unref();
411
+ // Handle proxy errors (only fires if spawn itself fails)
412
+ proxy.on('error', (error) => {
413
+ console.error((0, ui_1.fail)(`CLIProxy spawn error: ${error.message}`));
414
+ });
415
+ // 7. Wait for proxy readiness via TCP polling
416
+ const readySpinner = new progress_indicator_1.ProgressIndicator(`Waiting for CLIProxy on port ${cfg.port}`);
417
+ readySpinner.start();
418
+ try {
419
+ await waitForProxyReady(cfg.port, cfg.timeout, cfg.pollInterval);
420
+ readySpinner.succeed(`CLIProxy ready on port ${cfg.port}`);
421
+ }
422
+ catch (error) {
423
+ readySpinner.fail('CLIProxy startup failed');
424
+ proxy.kill('SIGTERM');
425
+ const err = error;
319
426
  console.error('');
320
- console.error((0, ui_1.warn)(`Port ${cfg.port} is blocked by ${portProcess.processName} (PID ${portProcess.pid})`));
427
+ console.error((0, ui_1.fail)('CLIProxy failed to start'));
321
428
  console.error('');
322
- console.error('To fix this, close the blocking application or run:');
323
- console.error(` ${(0, platform_commands_1.getPortCheckCommand)(cfg.port)}`);
429
+ console.error('Possible causes:');
430
+ console.error(` 1. Port ${cfg.port} already in use`);
431
+ console.error(' 2. Binary crashed on startup');
432
+ console.error(' 3. Invalid configuration');
324
433
  console.error('');
325
- throw new Error(`Port ${cfg.port} is in use by another application`);
434
+ console.error('Troubleshooting:');
435
+ console.error(` - Check port: ${(0, platform_commands_1.getPortCheckCommand)(cfg.port)}`);
436
+ console.error(' - Run with --verbose for detailed logs');
437
+ console.error(` - View config: ${(0, platform_commands_1.getCatCommand)(configPath)}`);
438
+ console.error(' - Try: ccs doctor --fix');
439
+ console.error('');
440
+ throw new Error(`CLIProxy startup failed: ${err.message}`);
326
441
  }
442
+ // Register this session with the new proxy
443
+ sessionId = (0, session_tracker_1.registerSession)(cfg.port, proxy.pid);
444
+ log(`Registered session ${sessionId} with new proxy (PID ${proxy.pid})`);
327
445
  }
328
- // 6b. Spawn CLIProxyAPI binary (only if not reusing existing proxy)
329
- // Use detached mode so proxy persists after terminal closes
330
- const proxyArgs = ['--config', configPath];
331
- log(`Spawning: ${binaryPath} ${proxyArgs.join(' ')}`);
332
- proxy = (0, child_process_1.spawn)(binaryPath, proxyArgs, {
333
- stdio: ['ignore', 'ignore', 'ignore'],
334
- detached: true, // Persist after parent terminal closes
335
- });
336
- // Unref so parent process can exit independently
337
- proxy.unref();
338
- // Handle proxy errors (only fires if spawn itself fails)
339
- proxy.on('error', (error) => {
340
- console.error((0, ui_1.fail)(`CLIProxy spawn error: ${error.message}`));
341
- });
342
- // 7. Wait for proxy readiness via TCP polling
343
- const readySpinner = new progress_indicator_1.ProgressIndicator(`Waiting for CLIProxy on port ${cfg.port}`);
344
- readySpinner.start();
345
- try {
346
- await waitForProxyReady(cfg.port, cfg.timeout, cfg.pollInterval);
347
- readySpinner.succeed(`CLIProxy ready on port ${cfg.port}`);
348
- }
349
- catch (error) {
350
- readySpinner.fail('CLIProxy startup failed');
351
- proxy.kill('SIGTERM');
352
- const err = error;
353
- console.error('');
354
- console.error((0, ui_1.fail)('CLIProxy failed to start'));
355
- console.error('');
356
- console.error('Possible causes:');
357
- console.error(` 1. Port ${cfg.port} already in use`);
358
- console.error(' 2. Binary crashed on startup');
359
- console.error(' 3. Invalid configuration');
360
- console.error('');
361
- console.error('Troubleshooting:');
362
- console.error(` - Check port: ${(0, platform_commands_1.getPortCheckCommand)(cfg.port)}`);
363
- console.error(' - Run with --verbose for detailed logs');
364
- console.error(` - View config: ${(0, platform_commands_1.getCatCommand)(configPath)}`);
365
- console.error(' - Try: ccs doctor --fix');
366
- console.error('');
367
- throw new Error(`CLIProxy startup failed: ${err.message}`);
368
- }
369
- // Register this session with the new proxy
370
- sessionId = (0, session_tracker_1.registerSession)(cfg.port, proxy.pid);
371
- log(`Registered session ${sessionId} with new proxy (PID ${proxy.pid})`);
372
446
  }
373
447
  // 7. Execute Claude CLI with proxied environment
374
- // Uses custom settings path (for variants), user settings, or bundled defaults
375
- const envVars = (0, config_generator_1.getEffectiveEnvVars)(provider, cfg.port, cfg.customSettingsPath);
448
+ // Use remote or local env vars based on mode
449
+ const envVars = useRemoteProxy
450
+ ? (0, config_generator_1.getRemoteEnvVars)(provider, {
451
+ host: proxyConfig.host ?? 'localhost',
452
+ port: proxyConfig.port,
453
+ protocol: proxyConfig.protocol,
454
+ authToken: proxyConfig.authToken,
455
+ })
456
+ : (0, config_generator_1.getEffectiveEnvVars)(provider, cfg.port, cfg.customSettingsPath);
376
457
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
377
458
  const env = {
378
459
  ...process.env,
@@ -386,6 +467,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
386
467
  log(`Claude env: WebSearch config=${JSON.stringify(webSearchEnv)}`);
387
468
  }
388
469
  // Filter out CCS-specific flags before passing to Claude CLI
470
+ // Note: Proxy flags (--proxy-host, etc.) already stripped by resolveProxyConfig()
389
471
  const ccsFlags = [
390
472
  '--auth',
391
473
  '--headless',
@@ -395,13 +477,15 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
395
477
  '--accounts',
396
478
  '--use',
397
479
  '--nickname',
480
+ // Proxy flags are handled by resolveProxyConfig, but list for documentation
481
+ ...proxy_config_resolver_1.PROXY_CLI_FLAGS,
398
482
  ];
399
- const claudeArgs = args.filter((arg, idx) => {
483
+ const claudeArgs = argsWithoutProxy.filter((arg, idx) => {
400
484
  // Filter out CCS flags
401
485
  if (ccsFlags.includes(arg))
402
486
  return false;
403
487
  // Filter out value after --use or --nickname
404
- if (args[idx - 1] === '--use' || args[idx - 1] === '--nickname')
488
+ if (argsWithoutProxy[idx - 1] === '--use' || argsWithoutProxy[idx - 1] === '--nickname')
405
489
  return false;
406
490
  return true;
407
491
  });
@@ -424,13 +508,15 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
424
508
  env,
425
509
  });
426
510
  }
427
- // 8. Cleanup: unregister session when Claude exits
511
+ // 8. Cleanup: unregister session when Claude exits (local mode only)
428
512
  // Proxy persists by default - use 'ccs cliproxy stop' to kill manually
429
513
  claude.on('exit', (code, signal) => {
430
514
  log(`Claude exited: code=${code}, signal=${signal}`);
431
- // Unregister this session (proxy keeps running for persistence)
432
- (0, session_tracker_1.unregisterSession)(sessionId);
433
- log(`Session ${sessionId} unregistered, proxy persists for other sessions or future use`);
515
+ // Unregister this session (proxy keeps running for persistence) - only for local mode
516
+ if (sessionId) {
517
+ (0, session_tracker_1.unregisterSession)(sessionId);
518
+ log(`Session ${sessionId} unregistered, proxy persists for other sessions or future use`);
519
+ }
434
520
  if (signal) {
435
521
  process.kill(process.pid, signal);
436
522
  }
@@ -440,15 +526,19 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
440
526
  });
441
527
  claude.on('error', (error) => {
442
528
  console.error((0, ui_1.fail)(`Claude CLI error: ${error}`));
443
- // Unregister session, proxy keeps running
444
- (0, session_tracker_1.unregisterSession)(sessionId);
529
+ // Unregister session, proxy keeps running (local mode only)
530
+ if (sessionId) {
531
+ (0, session_tracker_1.unregisterSession)(sessionId);
532
+ }
445
533
  process.exit(1);
446
534
  });
447
535
  // Handle parent process termination (SIGTERM, SIGINT)
448
536
  const cleanup = () => {
449
537
  log('Parent signal received, cleaning up');
450
- // Unregister session, proxy keeps running
451
- (0, session_tracker_1.unregisterSession)(sessionId);
538
+ // Unregister session, proxy keeps running (local mode only)
539
+ if (sessionId) {
540
+ (0, session_tracker_1.unregisterSession)(sessionId);
541
+ }
452
542
  claude.kill('SIGTERM');
453
543
  };
454
544
  process.once('SIGTERM', cleanup);
@@ -1 +1 @@
1
- {"version":3,"file":"cliproxy-executor.js","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliproxy-executor.js","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,12 @@ export declare const CLIPROXY_DEFAULT_PORT = 8317;
15
15
  export declare const CCS_INTERNAL_API_KEY = "ccs-internal-managed";
16
16
  /** Simple secret key for Control Panel login (user-facing) */
17
17
  export declare const CCS_CONTROL_PANEL_SECRET = "ccs";
18
+ /**
19
+ * Get CLIProxy writable directory for logs and runtime files.
20
+ * This directory is set as WRITABLE_PATH env var when spawning CLIProxy.
21
+ * Logs will be stored in ~/.ccs/cliproxy/logs/
22
+ */
23
+ export declare function getCliproxyWritablePath(): string;
18
24
  /**
19
25
  * Config version - bump when config format changes to trigger regeneration
20
26
  * v1: Initial config (port, auth-dir, api-keys only)
@@ -100,7 +106,7 @@ export declare function getClaudeEnvVars(provider: CLIProxyProvider, port?: numb
100
106
  * 2. User settings file (~/.ccs/{provider}.settings.json) if exists
101
107
  * 3. Bundled defaults from PROVIDER_CONFIGS
102
108
  *
103
- * This allows users to customize model mappings without code changes.
109
+ * All results are merged with global_env vars (telemetry/reporting disables).
104
110
  * User takes full responsibility for custom settings.
105
111
  */
106
112
  export declare function getEffectiveEnvVars(provider: CLIProxyProvider, port?: number, customSettingsPath?: string): NodeJS.ProcessEnv;
@@ -109,4 +115,18 @@ export declare function getEffectiveEnvVars(provider: CLIProxyProvider, port?: n
109
115
  * Called during installation/first run
110
116
  */
111
117
  export declare function ensureProviderSettings(provider: CLIProxyProvider): void;
118
+ /**
119
+ * Get environment variables for remote proxy mode.
120
+ * Uses the remote proxy's provider endpoint as the base URL.
121
+ *
122
+ * @param provider CLIProxy provider (gemini, codex, agy, qwen, iflow)
123
+ * @param remoteConfig Remote proxy connection details
124
+ * @returns Environment variables for Claude CLI
125
+ */
126
+ export declare function getRemoteEnvVars(provider: CLIProxyProvider, remoteConfig: {
127
+ host: string;
128
+ port: number;
129
+ protocol: 'http' | 'https';
130
+ authToken?: string;
131
+ }): Record<string, string>;
112
132
  //# sourceMappingURL=config-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../src/cliproxy/config-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;AAMH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AASjF,4BAA4B;AAC5B,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAWzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAe5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,oBAAoB,CAEhF;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAItE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAsGD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAA8B,GAAG,MAAM,CA4B7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoBjD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAAC,UAAU,CAiCnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAAC,UAAU,CA4CnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAmBvE"}
1
+ {"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../src/cliproxy/config-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;AAMH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AASjF,4BAA4B;AAC5B,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAWzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAe5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,oBAAoB,CAEhF;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAItE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAsGD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAA8B,GAAG,MAAM,CA4B7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoBjD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAAC,UAAU,CAiCnB;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,EACpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAAC,UAAU,CA8CnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAmBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiCxB"}