@kaitranntt/ccs 6.6.0-dev.2 → 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 (55) hide show
  1. package/README.md +1 -0
  2. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  3. package/dist/cliproxy/cliproxy-executor.js +208 -122
  4. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  5. package/dist/cliproxy/config-generator.d.ts +14 -0
  6. package/dist/cliproxy/config-generator.d.ts.map +1 -1
  7. package/dist/cliproxy/config-generator.js +31 -1
  8. package/dist/cliproxy/config-generator.js.map +1 -1
  9. package/dist/cliproxy/proxy-config-resolver.d.ts +79 -0
  10. package/dist/cliproxy/proxy-config-resolver.d.ts.map +1 -0
  11. package/dist/cliproxy/proxy-config-resolver.js +208 -0
  12. package/dist/cliproxy/proxy-config-resolver.js.map +1 -0
  13. package/dist/cliproxy/remote-proxy-client.d.ts +51 -0
  14. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -0
  15. package/dist/cliproxy/remote-proxy-client.js +198 -0
  16. package/dist/cliproxy/remote-proxy-client.js.map +1 -0
  17. package/dist/cliproxy/types.d.ts +24 -0
  18. package/dist/cliproxy/types.d.ts.map +1 -1
  19. package/dist/commands/help-command.d.ts.map +1 -1
  20. package/dist/commands/help-command.js +17 -0
  21. package/dist/commands/help-command.js.map +1 -1
  22. package/dist/config/unified-config-loader.d.ts.map +1 -1
  23. package/dist/config/unified-config-loader.js +23 -0
  24. package/dist/config/unified-config-loader.js.map +1 -1
  25. package/dist/config/unified-config-types.d.ts +56 -2
  26. package/dist/config/unified-config-types.d.ts.map +1 -1
  27. package/dist/config/unified-config-types.js +25 -2
  28. package/dist/config/unified-config-types.js.map +1 -1
  29. package/dist/ui/assets/{accounts-C1DiBVWf.js → accounts-DNYYJ7ul.js} +1 -1
  30. package/dist/ui/assets/{analytics-34-9qi4o.js → analytics-Dhp2ikxe.js} +1 -1
  31. package/dist/ui/assets/{api-Lcsxd42l.js → api-CZf-jQ-_.js} +1 -1
  32. package/dist/ui/assets/{card-tk5ihPK8.js → card--rU2tDlq.js} +1 -1
  33. package/dist/ui/assets/{cliproxy-lpz8UdFt.js → cliproxy-DZ_5oEVY.js} +1 -1
  34. package/dist/ui/assets/{cliproxy-control-panel-BzhsXWKa.js → cliproxy-control-panel-DKMAi4_4.js} +1 -1
  35. package/dist/ui/assets/{code-editor-rSl_-6ob.js → code-editor-CYOD5x0C.js} +1 -1
  36. package/dist/ui/assets/{copilot-Djc29_O8.js → copilot-Dd0yazW6.js} +2 -2
  37. package/dist/ui/assets/{health-ByL12ZVZ.js → health-CyZQOQg7.js} +1 -1
  38. package/dist/ui/assets/icons-BOsxPbiD.js +1 -0
  39. package/dist/ui/assets/index-Brq6EBKZ.css +1 -0
  40. package/dist/ui/assets/{index-c9idYjfn.js → index-Ced9Xuhx.js} +11 -11
  41. package/dist/ui/assets/settings-COL3veEu.js +1 -0
  42. package/dist/ui/assets/{shared-CojMqcSc.js → shared-BG9bijB0.js} +1 -1
  43. package/dist/ui/assets/{switch-BQbPcCIQ.js → switch-fBCFt0Fe.js} +1 -1
  44. package/dist/ui/index.html +3 -3
  45. package/dist/web-server/index.d.ts.map +1 -1
  46. package/dist/web-server/index.js +3 -0
  47. package/dist/web-server/index.js.map +1 -1
  48. package/dist/web-server/routes/proxy-routes.d.ts +11 -0
  49. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -0
  50. package/dist/web-server/routes/proxy-routes.js +88 -0
  51. package/dist/web-server/routes/proxy-routes.js.map +1 -0
  52. package/package.json +1 -1
  53. package/dist/ui/assets/icons-U_6eBV_J.js +0 -1
  54. package/dist/ui/assets/index-CeV2P3Sp.css +0 -1
  55. package/dist/ui/assets/settings-BzHi9yIP.js +0 -1
package/README.md CHANGED
@@ -243,6 +243,7 @@ See [docs/websearch.md](./docs/websearch.md) for detailed configuration and trou
243
243
  | OAuth Providers | [docs.ccs.kaitran.ca/providers/oauth-providers](https://docs.ccs.kaitran.ca/providers/oauth-providers) |
244
244
  | Multi-Account Claude | [docs.ccs.kaitran.ca/providers/claude-accounts](https://docs.ccs.kaitran.ca/providers/claude-accounts) |
245
245
  | API Profiles | [docs.ccs.kaitran.ca/providers/api-profiles](https://docs.ccs.kaitran.ca/providers/api-profiles) |
246
+ | Remote Proxy | [docs.ccs.kaitran.ca/features/remote-proxy](https://docs.ccs.kaitran.ca/features/remote-proxy) |
246
247
  | CLI Reference | [docs.ccs.kaitran.ca/reference/cli-commands](https://docs.ccs.kaitran.ca/reference/cli-commands) |
247
248
  | Architecture | [docs.ccs.kaitran.ca/reference/architecture](https://docs.ccs.kaitran.ca/reference/architecture) |
248
249
  | Troubleshooting | [docs.ccs.kaitran.ca/reference/troubleshooting](https://docs.ccs.kaitran.ca/reference/troubleshooting) |
@@ -1 +1 @@
1
- {"version":3,"file":"cliproxy-executor.d.ts","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4E3D;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CA0Yf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAepE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,GAAE,MAA8B,EACzC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"cliproxy-executor.d.ts","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA6E3D;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CAgff;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAepE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,GAAE,MAA8B,EACzC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAe,sBAAsB,CAAC"}
@@ -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,108 +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
- env: {
336
- ...process.env,
337
- WRITABLE_PATH: (0, config_generator_1.getCliproxyWritablePath)(), // Logs stored in ~/.ccs/cliproxy/logs/
338
- },
339
- });
340
- // Unref so parent process can exit independently
341
- proxy.unref();
342
- // Handle proxy errors (only fires if spawn itself fails)
343
- proxy.on('error', (error) => {
344
- console.error((0, ui_1.fail)(`CLIProxy spawn error: ${error.message}`));
345
- });
346
- // 7. Wait for proxy readiness via TCP polling
347
- const readySpinner = new progress_indicator_1.ProgressIndicator(`Waiting for CLIProxy on port ${cfg.port}`);
348
- readySpinner.start();
349
- try {
350
- await waitForProxyReady(cfg.port, cfg.timeout, cfg.pollInterval);
351
- readySpinner.succeed(`CLIProxy ready on port ${cfg.port}`);
352
- }
353
- catch (error) {
354
- readySpinner.fail('CLIProxy startup failed');
355
- proxy.kill('SIGTERM');
356
- const err = error;
357
- console.error('');
358
- console.error((0, ui_1.fail)('CLIProxy failed to start'));
359
- console.error('');
360
- console.error('Possible causes:');
361
- console.error(` 1. Port ${cfg.port} already in use`);
362
- console.error(' 2. Binary crashed on startup');
363
- console.error(' 3. Invalid configuration');
364
- console.error('');
365
- console.error('Troubleshooting:');
366
- console.error(` - Check port: ${(0, platform_commands_1.getPortCheckCommand)(cfg.port)}`);
367
- console.error(' - Run with --verbose for detailed logs');
368
- console.error(` - View config: ${(0, platform_commands_1.getCatCommand)(configPath)}`);
369
- console.error(' - Try: ccs doctor --fix');
370
- console.error('');
371
- throw new Error(`CLIProxy startup failed: ${err.message}`);
372
- }
373
- // Register this session with the new proxy
374
- sessionId = (0, session_tracker_1.registerSession)(cfg.port, proxy.pid);
375
- log(`Registered session ${sessionId} with new proxy (PID ${proxy.pid})`);
376
446
  }
377
447
  // 7. Execute Claude CLI with proxied environment
378
- // Uses custom settings path (for variants), user settings, or bundled defaults
379
- 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);
380
457
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
381
458
  const env = {
382
459
  ...process.env,
@@ -390,6 +467,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
390
467
  log(`Claude env: WebSearch config=${JSON.stringify(webSearchEnv)}`);
391
468
  }
392
469
  // Filter out CCS-specific flags before passing to Claude CLI
470
+ // Note: Proxy flags (--proxy-host, etc.) already stripped by resolveProxyConfig()
393
471
  const ccsFlags = [
394
472
  '--auth',
395
473
  '--headless',
@@ -399,13 +477,15 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
399
477
  '--accounts',
400
478
  '--use',
401
479
  '--nickname',
480
+ // Proxy flags are handled by resolveProxyConfig, but list for documentation
481
+ ...proxy_config_resolver_1.PROXY_CLI_FLAGS,
402
482
  ];
403
- const claudeArgs = args.filter((arg, idx) => {
483
+ const claudeArgs = argsWithoutProxy.filter((arg, idx) => {
404
484
  // Filter out CCS flags
405
485
  if (ccsFlags.includes(arg))
406
486
  return false;
407
487
  // Filter out value after --use or --nickname
408
- if (args[idx - 1] === '--use' || args[idx - 1] === '--nickname')
488
+ if (argsWithoutProxy[idx - 1] === '--use' || argsWithoutProxy[idx - 1] === '--nickname')
409
489
  return false;
410
490
  return true;
411
491
  });
@@ -428,13 +508,15 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
428
508
  env,
429
509
  });
430
510
  }
431
- // 8. Cleanup: unregister session when Claude exits
511
+ // 8. Cleanup: unregister session when Claude exits (local mode only)
432
512
  // Proxy persists by default - use 'ccs cliproxy stop' to kill manually
433
513
  claude.on('exit', (code, signal) => {
434
514
  log(`Claude exited: code=${code}, signal=${signal}`);
435
- // Unregister this session (proxy keeps running for persistence)
436
- (0, session_tracker_1.unregisterSession)(sessionId);
437
- 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
+ }
438
520
  if (signal) {
439
521
  process.kill(process.pid, signal);
440
522
  }
@@ -444,15 +526,19 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
444
526
  });
445
527
  claude.on('error', (error) => {
446
528
  console.error((0, ui_1.fail)(`Claude CLI error: ${error}`));
447
- // Unregister session, proxy keeps running
448
- (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
+ }
449
533
  process.exit(1);
450
534
  });
451
535
  // Handle parent process termination (SIGTERM, SIGINT)
452
536
  const cleanup = () => {
453
537
  log('Parent signal received, cleaning up');
454
- // Unregister session, proxy keeps running
455
- (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
+ }
456
542
  claude.kill('SIGTERM');
457
543
  };
458
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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"}
@@ -115,4 +115,18 @@ export declare function getEffectiveEnvVars(provider: CLIProxyProvider, port?: n
115
115
  * Called during installation/first run
116
116
  */
117
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>;
118
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;;;;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"}
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"}
@@ -32,7 +32,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
32
32
  return result;
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.ensureProviderSettings = exports.getEffectiveEnvVars = exports.getClaudeEnvVars = exports.getProviderSettingsPath = exports.deleteConfig = exports.configExists = exports.configNeedsRegeneration = exports.regenerateConfig = exports.generateConfig = exports.getBinDir = exports.getConfigPath = exports.getAuthDir = exports.getProviderAuthDir = exports.getCliproxyDir = exports.getModelMapping = exports.getProviderConfig = exports.CLIPROXY_CONFIG_VERSION = exports.getCliproxyWritablePath = exports.CCS_CONTROL_PANEL_SECRET = exports.CCS_INTERNAL_API_KEY = exports.CLIPROXY_DEFAULT_PORT = void 0;
35
+ exports.getRemoteEnvVars = exports.ensureProviderSettings = exports.getEffectiveEnvVars = exports.getClaudeEnvVars = exports.getProviderSettingsPath = exports.deleteConfig = exports.configExists = exports.configNeedsRegeneration = exports.regenerateConfig = exports.generateConfig = exports.getBinDir = exports.getConfigPath = exports.getAuthDir = exports.getProviderAuthDir = exports.getCliproxyDir = exports.getModelMapping = exports.getProviderConfig = exports.CLIPROXY_CONFIG_VERSION = exports.getCliproxyWritablePath = exports.CCS_CONTROL_PANEL_SECRET = exports.CCS_INTERNAL_API_KEY = exports.CLIPROXY_DEFAULT_PORT = void 0;
36
36
  const fs = __importStar(require("fs"));
37
37
  const path = __importStar(require("path"));
38
38
  const config_manager_1 = require("../utils/config-manager");
@@ -448,4 +448,34 @@ function ensureProviderSettings(provider) {
448
448
  });
449
449
  }
450
450
  exports.ensureProviderSettings = ensureProviderSettings;
451
+ /**
452
+ * Get environment variables for remote proxy mode.
453
+ * Uses the remote proxy's provider endpoint as the base URL.
454
+ *
455
+ * @param provider CLIProxy provider (gemini, codex, agy, qwen, iflow)
456
+ * @param remoteConfig Remote proxy connection details
457
+ * @returns Environment variables for Claude CLI
458
+ */
459
+ function getRemoteEnvVars(provider, remoteConfig) {
460
+ const baseUrl = `${remoteConfig.protocol}://${remoteConfig.host}:${remoteConfig.port}/api/provider/${provider}`;
461
+ const models = getModelMapping(provider);
462
+ // Get global env vars (DISABLE_TELEMETRY, etc.)
463
+ const globalEnv = getGlobalEnvVars();
464
+ // Get additional env vars from base config (ANTHROPIC_MAX_TOKENS, etc.)
465
+ const baseEnvVars = (0, base_config_loader_1.getEnvVarsFromConfig)(provider);
466
+ // Filter out core env vars from base config to avoid conflicts
467
+ const { ANTHROPIC_BASE_URL: _baseUrl, ANTHROPIC_AUTH_TOKEN: _authToken, ANTHROPIC_MODEL: _model, ANTHROPIC_DEFAULT_OPUS_MODEL: _opusModel, ANTHROPIC_DEFAULT_SONNET_MODEL: _sonnetModel, ANTHROPIC_DEFAULT_HAIKU_MODEL: _haikuModel, ...additionalEnvVars } = baseEnvVars;
468
+ const env = {
469
+ ...globalEnv,
470
+ ...additionalEnvVars,
471
+ ANTHROPIC_BASE_URL: baseUrl,
472
+ ANTHROPIC_AUTH_TOKEN: remoteConfig.authToken || exports.CCS_INTERNAL_API_KEY,
473
+ ANTHROPIC_MODEL: models.claudeModel,
474
+ ANTHROPIC_DEFAULT_OPUS_MODEL: models.opusModel || models.claudeModel,
475
+ ANTHROPIC_DEFAULT_SONNET_MODEL: models.sonnetModel || models.claudeModel,
476
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: models.haikuModel || models.claudeModel,
477
+ };
478
+ return env;
479
+ }
480
+ exports.getRemoteEnvVars = getRemoteEnvVars;
451
481
  //# sourceMappingURL=config-generator.js.map