@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
@@ -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.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");
@@ -45,6 +45,15 @@ exports.CLIPROXY_DEFAULT_PORT = 8317;
45
45
  exports.CCS_INTERNAL_API_KEY = 'ccs-internal-managed';
46
46
  /** Simple secret key for Control Panel login (user-facing) */
47
47
  exports.CCS_CONTROL_PANEL_SECRET = 'ccs';
48
+ /**
49
+ * Get CLIProxy writable directory for logs and runtime files.
50
+ * This directory is set as WRITABLE_PATH env var when spawning CLIProxy.
51
+ * Logs will be stored in ~/.ccs/cliproxy/logs/
52
+ */
53
+ function getCliproxyWritablePath() {
54
+ return path.join((0, config_manager_1.getCcsDir)(), 'cliproxy');
55
+ }
56
+ exports.getCliproxyWritablePath = getCliproxyWritablePath;
48
57
  /**
49
58
  * Config version - bump when config format changes to trigger regeneration
50
59
  * v1: Initial config (port, auth-dir, api-keys only)
@@ -351,6 +360,17 @@ function getClaudeEnvVars(provider, port = exports.CLIPROXY_DEFAULT_PORT) {
351
360
  };
352
361
  }
353
362
  exports.getClaudeEnvVars = getClaudeEnvVars;
363
+ /**
364
+ * Get global env vars to inject into all third-party profiles.
365
+ * Returns empty object if disabled.
366
+ */
367
+ function getGlobalEnvVars() {
368
+ const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
369
+ if (!globalEnvConfig.enabled) {
370
+ return {};
371
+ }
372
+ return globalEnvConfig.env;
373
+ }
354
374
  /**
355
375
  * Get effective environment variables for provider
356
376
  *
@@ -359,10 +379,12 @@ exports.getClaudeEnvVars = getClaudeEnvVars;
359
379
  * 2. User settings file (~/.ccs/{provider}.settings.json) if exists
360
380
  * 3. Bundled defaults from PROVIDER_CONFIGS
361
381
  *
362
- * This allows users to customize model mappings without code changes.
382
+ * All results are merged with global_env vars (telemetry/reporting disables).
363
383
  * User takes full responsibility for custom settings.
364
384
  */
365
385
  function getEffectiveEnvVars(provider, port = exports.CLIPROXY_DEFAULT_PORT, customSettingsPath) {
386
+ // Get global env vars (DISABLE_TELEMETRY, etc.)
387
+ const globalEnv = getGlobalEnvVars();
366
388
  // Priority 1: Custom settings path (for user-defined variants)
367
389
  if (customSettingsPath) {
368
390
  const expandedPath = customSettingsPath.replace(/^~/, require('os').homedir());
@@ -371,8 +393,8 @@ function getEffectiveEnvVars(provider, port = exports.CLIPROXY_DEFAULT_PORT, cus
371
393
  const content = fs.readFileSync(expandedPath, 'utf-8');
372
394
  const settings = JSON.parse(content);
373
395
  if (settings.env && typeof settings.env === 'object') {
374
- // Custom variant settings found - use them
375
- return settings.env;
396
+ // Custom variant settings found - merge with global env
397
+ return { ...globalEnv, ...settings.env };
376
398
  }
377
399
  }
378
400
  catch {
@@ -392,9 +414,8 @@ function getEffectiveEnvVars(provider, port = exports.CLIPROXY_DEFAULT_PORT, cus
392
414
  const content = fs.readFileSync(settingsPath, 'utf-8');
393
415
  const settings = JSON.parse(content);
394
416
  if (settings.env && typeof settings.env === 'object') {
395
- // User override found - use their settings
396
- // Note: User is responsible for correctness
397
- return settings.env;
417
+ // User override found - merge with global env
418
+ return { ...globalEnv, ...settings.env };
398
419
  }
399
420
  }
400
421
  catch {
@@ -402,8 +423,8 @@ function getEffectiveEnvVars(provider, port = exports.CLIPROXY_DEFAULT_PORT, cus
402
423
  // Silent fallback: don't spam errors for broken user files
403
424
  }
404
425
  }
405
- // No override or invalid - use bundled defaults
406
- return getClaudeEnvVars(provider, port);
426
+ // No override or invalid - use bundled defaults merged with global env
427
+ return { ...globalEnv, ...getClaudeEnvVars(provider, port) };
407
428
  }
408
429
  exports.getEffectiveEnvVars = getEffectiveEnvVars;
409
430
  /**
@@ -427,4 +448,34 @@ function ensureProviderSettings(provider) {
427
448
  });
428
449
  }
429
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;
430
481
  //# sourceMappingURL=config-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../src/cliproxy/config-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-generator.js","sourceRoot":"","sources":["../../src/cliproxy/config-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Proxy Config Resolver
3
+ *
4
+ * Resolves proxy configuration from multiple sources with priority:
5
+ * CLI flags > Environment variables > config.yaml > defaults
6
+ *
7
+ * Supports both local (spawn CLIProxyAPI) and remote (connect to external) modes.
8
+ */
9
+ import { ResolvedProxyConfig } from './types';
10
+ /** CLI flags for proxy configuration */
11
+ export declare const PROXY_CLI_FLAGS: readonly ["--proxy-host", "--proxy-port", "--proxy-protocol", "--proxy-auth-token", "--local-proxy", "--remote-only"];
12
+ /** Environment variable names for proxy configuration */
13
+ export declare const PROXY_ENV_VARS: {
14
+ readonly host: "CCS_PROXY_HOST";
15
+ readonly port: "CCS_PROXY_PORT";
16
+ readonly protocol: "CCS_PROXY_PROTOCOL";
17
+ readonly authToken: "CCS_PROXY_AUTH_TOKEN";
18
+ readonly fallbackEnabled: "CCS_PROXY_FALLBACK_ENABLED";
19
+ };
20
+ /** Parsed CLI proxy flags */
21
+ interface ParsedProxyFlags {
22
+ host?: string;
23
+ port?: number;
24
+ protocol?: 'http' | 'https';
25
+ authToken?: string;
26
+ localProxy: boolean;
27
+ remoteOnly: boolean;
28
+ }
29
+ /** Proxy config from environment variables */
30
+ interface EnvProxyConfig {
31
+ host?: string;
32
+ port?: number;
33
+ protocol?: 'http' | 'https';
34
+ authToken?: string;
35
+ fallbackEnabled?: boolean;
36
+ }
37
+ /**
38
+ * Parse proxy-related CLI flags from argv.
39
+ * Returns parsed flags and remaining args (with proxy flags removed).
40
+ */
41
+ export declare function parseProxyFlags(args: string[]): {
42
+ flags: ParsedProxyFlags;
43
+ remainingArgs: string[];
44
+ };
45
+ /**
46
+ * Get proxy configuration from environment variables.
47
+ */
48
+ export declare function getProxyEnvVars(): EnvProxyConfig;
49
+ /**
50
+ * Resolve proxy configuration with priority: CLI > ENV > config.yaml > defaults.
51
+ *
52
+ * @param cliArgs - Raw CLI arguments
53
+ * @param configYamlProxy - Proxy section from config.yaml (optional, Phase 1)
54
+ * @returns Resolved configuration and remaining args (without proxy flags)
55
+ */
56
+ export declare function resolveProxyConfig(cliArgs: string[], _configYamlProxy?: {
57
+ remote?: {
58
+ enabled?: boolean;
59
+ host?: string;
60
+ port?: number;
61
+ protocol?: 'http' | 'https';
62
+ auth_token?: string;
63
+ fallback_enabled?: boolean;
64
+ };
65
+ local?: {
66
+ port?: number;
67
+ auto_start?: boolean;
68
+ };
69
+ }): {
70
+ config: ResolvedProxyConfig;
71
+ remainingArgs: string[];
72
+ };
73
+ /**
74
+ * Check if args contain any proxy flags.
75
+ * Used for quick filtering before full parse.
76
+ */
77
+ export declare function hasProxyFlags(args: string[]): boolean;
78
+ export {};
79
+ //# sourceMappingURL=proxy-config-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-config-resolver.d.ts","sourceRoot":"","sources":["../../src/cliproxy/proxy-config-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,wCAAwC;AACxC,eAAO,MAAM,eAAe,uHAOlB,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,6BAA6B;AAC7B,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,8CAA8C;AAC9C,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC/C,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CA2DA;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,CAyChD;AAeD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EAAE,EAEjB,gBAAgB,CAAC,EAAE;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH,GACA;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CA6D1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAUrD"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ /**
3
+ * Proxy Config Resolver
4
+ *
5
+ * Resolves proxy configuration from multiple sources with priority:
6
+ * CLI flags > Environment variables > config.yaml > defaults
7
+ *
8
+ * Supports both local (spawn CLIProxyAPI) and remote (connect to external) modes.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.hasProxyFlags = exports.resolveProxyConfig = exports.getProxyEnvVars = exports.parseProxyFlags = exports.PROXY_ENV_VARS = exports.PROXY_CLI_FLAGS = void 0;
12
+ const config_generator_1 = require("./config-generator");
13
+ /** CLI flags for proxy configuration */
14
+ exports.PROXY_CLI_FLAGS = [
15
+ '--proxy-host',
16
+ '--proxy-port',
17
+ '--proxy-protocol',
18
+ '--proxy-auth-token',
19
+ '--local-proxy',
20
+ '--remote-only',
21
+ ];
22
+ /** Environment variable names for proxy configuration */
23
+ exports.PROXY_ENV_VARS = {
24
+ host: 'CCS_PROXY_HOST',
25
+ port: 'CCS_PROXY_PORT',
26
+ protocol: 'CCS_PROXY_PROTOCOL',
27
+ authToken: 'CCS_PROXY_AUTH_TOKEN',
28
+ fallbackEnabled: 'CCS_PROXY_FALLBACK_ENABLED',
29
+ };
30
+ /**
31
+ * Parse proxy-related CLI flags from argv.
32
+ * Returns parsed flags and remaining args (with proxy flags removed).
33
+ */
34
+ function parseProxyFlags(args) {
35
+ const flags = {
36
+ localProxy: false,
37
+ remoteOnly: false,
38
+ };
39
+ const remainingArgs = [];
40
+ let i = 0;
41
+ while (i < args.length) {
42
+ const arg = args[i];
43
+ if (arg === '--proxy-host' && args[i + 1] && !args[i + 1].startsWith('-')) {
44
+ flags.host = args[i + 1];
45
+ i += 2;
46
+ continue;
47
+ }
48
+ if (arg === '--proxy-port' && args[i + 1] && !args[i + 1].startsWith('-')) {
49
+ const port = parseInt(args[i + 1], 10);
50
+ if (!isNaN(port) && port > 0 && port <= 65535) {
51
+ flags.port = port;
52
+ }
53
+ i += 2;
54
+ continue;
55
+ }
56
+ if (arg === '--proxy-protocol' && args[i + 1] && !args[i + 1].startsWith('-')) {
57
+ const proto = args[i + 1].toLowerCase();
58
+ if (proto === 'http' || proto === 'https') {
59
+ flags.protocol = proto;
60
+ }
61
+ i += 2;
62
+ continue;
63
+ }
64
+ if (arg === '--proxy-auth-token' && args[i + 1] && !args[i + 1].startsWith('-')) {
65
+ flags.authToken = args[i + 1];
66
+ i += 2;
67
+ continue;
68
+ }
69
+ if (arg === '--local-proxy') {
70
+ flags.localProxy = true;
71
+ i += 1;
72
+ continue;
73
+ }
74
+ if (arg === '--remote-only') {
75
+ flags.remoteOnly = true;
76
+ i += 1;
77
+ continue;
78
+ }
79
+ // Not a proxy flag - keep in remaining args
80
+ remainingArgs.push(arg);
81
+ i += 1;
82
+ }
83
+ return { flags, remainingArgs };
84
+ }
85
+ exports.parseProxyFlags = parseProxyFlags;
86
+ /**
87
+ * Get proxy configuration from environment variables.
88
+ */
89
+ function getProxyEnvVars() {
90
+ const config = {};
91
+ const host = process.env[exports.PROXY_ENV_VARS.host];
92
+ if (host) {
93
+ config.host = host;
94
+ }
95
+ const port = process.env[exports.PROXY_ENV_VARS.port];
96
+ if (port) {
97
+ const portNum = parseInt(port, 10);
98
+ if (!isNaN(portNum) && portNum > 0 && portNum <= 65535) {
99
+ config.port = portNum;
100
+ }
101
+ }
102
+ const protocol = process.env[exports.PROXY_ENV_VARS.protocol];
103
+ if (protocol) {
104
+ const proto = protocol.toLowerCase();
105
+ if (proto === 'http' || proto === 'https') {
106
+ config.protocol = proto;
107
+ }
108
+ }
109
+ const authToken = process.env[exports.PROXY_ENV_VARS.authToken];
110
+ if (authToken) {
111
+ config.authToken = authToken;
112
+ }
113
+ const fallback = process.env[exports.PROXY_ENV_VARS.fallbackEnabled];
114
+ if (fallback !== undefined) {
115
+ // Accept: '1', 'true', 'yes' as enabled; '0', 'false', 'no' as disabled
116
+ const lower = fallback.toLowerCase();
117
+ if (lower === '1' || lower === 'true' || lower === 'yes') {
118
+ config.fallbackEnabled = true;
119
+ }
120
+ else if (lower === '0' || lower === 'false' || lower === 'no') {
121
+ config.fallbackEnabled = false;
122
+ }
123
+ }
124
+ return config;
125
+ }
126
+ exports.getProxyEnvVars = getProxyEnvVars;
127
+ /**
128
+ * Default proxy configuration values.
129
+ */
130
+ const DEFAULT_PROXY_CONFIG = {
131
+ mode: 'local',
132
+ port: config_generator_1.CLIPROXY_DEFAULT_PORT,
133
+ protocol: 'http',
134
+ fallbackEnabled: true,
135
+ autoStartLocal: true,
136
+ remoteOnly: false,
137
+ forceLocal: false,
138
+ };
139
+ /**
140
+ * Resolve proxy configuration with priority: CLI > ENV > config.yaml > defaults.
141
+ *
142
+ * @param cliArgs - Raw CLI arguments
143
+ * @param configYamlProxy - Proxy section from config.yaml (optional, Phase 1)
144
+ * @returns Resolved configuration and remaining args (without proxy flags)
145
+ */
146
+ function resolveProxyConfig(cliArgs, _configYamlProxy) {
147
+ // 1. Parse CLI flags (highest priority)
148
+ const { flags: cliFlags, remainingArgs } = parseProxyFlags(cliArgs);
149
+ // 2. Get environment variables
150
+ const envConfig = getProxyEnvVars();
151
+ // 3. config.yaml proxy section (passed as parameter - Phase 1 provides this)
152
+ // For now, we use empty object if not provided; Phase 1 integrates unified config loading
153
+ const yamlConfig = _configYamlProxy || {};
154
+ // 4. Build resolved config with priority merge
155
+ const resolved = {
156
+ ...DEFAULT_PROXY_CONFIG,
157
+ };
158
+ // Determine mode: remote if host is specified anywhere (unless --local-proxy)
159
+ const hasRemoteHost = cliFlags.host || envConfig.host || yamlConfig.remote?.host || yamlConfig.remote?.enabled;
160
+ // --local-proxy forces local mode regardless of remote config
161
+ if (cliFlags.localProxy) {
162
+ resolved.mode = 'local';
163
+ resolved.forceLocal = true;
164
+ }
165
+ else if (hasRemoteHost) {
166
+ resolved.mode = 'remote';
167
+ }
168
+ // Merge host: CLI > ENV > config.yaml
169
+ resolved.host = cliFlags.host ?? envConfig.host ?? yamlConfig.remote?.host;
170
+ // Merge port: CLI > ENV > config.yaml (remote or local) > default
171
+ resolved.port =
172
+ cliFlags.port ??
173
+ envConfig.port ??
174
+ (resolved.mode === 'remote' ? yamlConfig.remote?.port : yamlConfig.local?.port) ??
175
+ DEFAULT_PROXY_CONFIG.port;
176
+ // Merge protocol: CLI > ENV > config.yaml > default
177
+ resolved.protocol =
178
+ cliFlags.protocol ?? envConfig.protocol ?? yamlConfig.remote?.protocol ?? 'http';
179
+ // Merge auth token: CLI > ENV > config.yaml
180
+ resolved.authToken = cliFlags.authToken ?? envConfig.authToken ?? yamlConfig.remote?.auth_token;
181
+ // Merge fallback enabled: ENV > config.yaml > default
182
+ resolved.fallbackEnabled =
183
+ envConfig.fallbackEnabled ?? yamlConfig.remote?.fallback_enabled ?? true;
184
+ // --remote-only from CLI
185
+ resolved.remoteOnly = cliFlags.remoteOnly;
186
+ // If --remote-only, disable fallback
187
+ if (resolved.remoteOnly) {
188
+ resolved.fallbackEnabled = false;
189
+ }
190
+ // Auto-start local from config.yaml > default
191
+ resolved.autoStartLocal = yamlConfig.local?.auto_start ?? true;
192
+ return { config: resolved, remainingArgs };
193
+ }
194
+ exports.resolveProxyConfig = resolveProxyConfig;
195
+ /**
196
+ * Check if args contain any proxy flags.
197
+ * Used for quick filtering before full parse.
198
+ */
199
+ function hasProxyFlags(args) {
200
+ return args.some((arg) => arg === '--proxy-host' ||
201
+ arg === '--proxy-port' ||
202
+ arg === '--proxy-protocol' ||
203
+ arg === '--proxy-auth-token' ||
204
+ arg === '--local-proxy' ||
205
+ arg === '--remote-only');
206
+ }
207
+ exports.hasProxyFlags = hasProxyFlags;
208
+ //# sourceMappingURL=proxy-config-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-config-resolver.js","sourceRoot":"","sources":["../../src/cliproxy/proxy-config-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Remote Proxy Client for CLIProxyAPI
3
+ *
4
+ * HTTP client for health checks and connection testing against remote CLIProxyAPI instances.
5
+ * Uses native fetch API with aggressive timeout for CLI responsiveness.
6
+ */
7
+ /** Error codes for remote proxy status */
8
+ export type RemoteProxyErrorCode = 'CONNECTION_REFUSED' | 'TIMEOUT' | 'AUTH_FAILED' | 'UNKNOWN';
9
+ /** Status returned from remote proxy health check */
10
+ export interface RemoteProxyStatus {
11
+ /** Whether the remote proxy is reachable */
12
+ reachable: boolean;
13
+ /** Latency in milliseconds (only set if reachable) */
14
+ latencyMs?: number;
15
+ /** Error message (only set if not reachable) */
16
+ error?: string;
17
+ /** Error code for programmatic handling */
18
+ errorCode?: RemoteProxyErrorCode;
19
+ }
20
+ /** Configuration for remote proxy client */
21
+ export interface RemoteProxyClientConfig {
22
+ /** Remote proxy host (IP or hostname) */
23
+ host: string;
24
+ /** Remote proxy port */
25
+ port: number;
26
+ /** Protocol to use (http or https) */
27
+ protocol: 'http' | 'https';
28
+ /** Optional auth token for Authorization header */
29
+ authToken?: string;
30
+ /** Request timeout in ms (default: 2000) */
31
+ timeout?: number;
32
+ /** Allow self-signed certificates (default: false) */
33
+ allowSelfSigned?: boolean;
34
+ }
35
+ /**
36
+ * Check health of remote CLIProxyAPI instance
37
+ *
38
+ * @param config Remote proxy client configuration
39
+ * @returns RemoteProxyStatus with reachability and latency
40
+ */
41
+ export declare function checkRemoteProxy(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
42
+ /**
43
+ * Test connection to remote CLIProxyAPI (alias for dashboard use)
44
+ *
45
+ * This is an alias for checkRemoteProxy() for semantic clarity in UI contexts.
46
+ *
47
+ * @param config Remote proxy client configuration
48
+ * @returns RemoteProxyStatus with reachability and latency
49
+ */
50
+ export declare function testConnection(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
51
+ //# sourceMappingURL=remote-proxy-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-proxy-client.d.ts","sourceRoot":"","sources":["../../src/cliproxy/remote-proxy-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;AAEhG,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA8DD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAmH5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEhG"}