@kaitranntt/ccs 4.4.0 → 5.0.1

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 (262) hide show
  1. package/README.md +98 -7
  2. package/VERSION +1 -1
  3. package/config/base-agy.settings.json +10 -0
  4. package/config/base-codex.settings.json +10 -0
  5. package/config/base-gemini.settings.json +10 -0
  6. package/dist/auth/auth-commands.d.ts +52 -0
  7. package/dist/auth/auth-commands.d.ts.map +1 -0
  8. package/dist/auth/auth-commands.js +479 -0
  9. package/dist/auth/auth-commands.js.map +1 -0
  10. package/dist/auth/profile-detector.d.ts +68 -0
  11. package/dist/auth/profile-detector.d.ts.map +1 -0
  12. package/dist/auth/profile-detector.js +209 -0
  13. package/dist/auth/profile-detector.js.map +1 -0
  14. package/dist/auth/profile-registry.d.ts +60 -0
  15. package/dist/auth/profile-registry.d.ts.map +1 -0
  16. package/dist/auth/profile-registry.js +188 -0
  17. package/dist/auth/profile-registry.js.map +1 -0
  18. package/dist/ccs.d.ts +10 -0
  19. package/dist/ccs.d.ts.map +1 -0
  20. package/dist/ccs.js +320 -0
  21. package/dist/ccs.js.map +1 -0
  22. package/dist/cliproxy/auth-handler.d.ts +95 -0
  23. package/dist/cliproxy/auth-handler.d.ts.map +1 -0
  24. package/dist/cliproxy/auth-handler.js +443 -0
  25. package/dist/cliproxy/auth-handler.js.map +1 -0
  26. package/dist/cliproxy/base-config-loader.d.ts +42 -0
  27. package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
  28. package/dist/cliproxy/base-config-loader.js +123 -0
  29. package/dist/cliproxy/base-config-loader.js.map +1 -0
  30. package/dist/cliproxy/binary-manager.d.ts +104 -0
  31. package/dist/cliproxy/binary-manager.d.ts.map +1 -0
  32. package/dist/cliproxy/binary-manager.js +567 -0
  33. package/dist/cliproxy/binary-manager.js.map +1 -0
  34. package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
  35. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
  36. package/dist/cliproxy/cliproxy-executor.js +297 -0
  37. package/dist/cliproxy/cliproxy-executor.js.map +1 -0
  38. package/dist/cliproxy/config-generator.d.ts +89 -0
  39. package/dist/cliproxy/config-generator.d.ts.map +1 -0
  40. package/dist/cliproxy/config-generator.js +263 -0
  41. package/dist/cliproxy/config-generator.js.map +1 -0
  42. package/dist/cliproxy/index.d.ts +13 -0
  43. package/dist/cliproxy/index.d.ts.map +1 -0
  44. package/dist/cliproxy/index.js +62 -0
  45. package/dist/cliproxy/index.js.map +1 -0
  46. package/dist/cliproxy/platform-detector.d.ts +48 -0
  47. package/dist/cliproxy/platform-detector.d.ts.map +1 -0
  48. package/dist/cliproxy/platform-detector.js +118 -0
  49. package/dist/cliproxy/platform-detector.js.map +1 -0
  50. package/dist/cliproxy/types.d.ts +169 -0
  51. package/dist/cliproxy/types.d.ts.map +1 -0
  52. package/dist/cliproxy/types.js +7 -0
  53. package/dist/cliproxy/types.js.map +1 -0
  54. package/dist/commands/doctor-command.d.ts +10 -0
  55. package/dist/commands/doctor-command.d.ts.map +1 -0
  56. package/dist/commands/doctor-command.js +44 -0
  57. package/dist/commands/doctor-command.js.map +1 -0
  58. package/dist/commands/help-command.d.ts +5 -0
  59. package/dist/commands/help-command.d.ts.map +1 -0
  60. package/dist/commands/help-command.js +104 -0
  61. package/dist/commands/help-command.js.map +1 -0
  62. package/dist/commands/install-command.d.ts +14 -0
  63. package/dist/commands/install-command.d.ts.map +1 -0
  64. package/dist/commands/install-command.js +39 -0
  65. package/dist/commands/install-command.js.map +1 -0
  66. package/dist/commands/shell-completion-command.d.ts +10 -0
  67. package/dist/commands/shell-completion-command.d.ts.map +1 -0
  68. package/dist/commands/shell-completion-command.js +85 -0
  69. package/dist/commands/shell-completion-command.js.map +1 -0
  70. package/dist/commands/sync-command.d.ts +10 -0
  71. package/dist/commands/sync-command.d.ts.map +1 -0
  72. package/dist/commands/sync-command.js +59 -0
  73. package/dist/commands/sync-command.js.map +1 -0
  74. package/dist/commands/update-command.d.ts +12 -0
  75. package/dist/commands/update-command.d.ts.map +1 -0
  76. package/dist/commands/update-command.js +295 -0
  77. package/dist/commands/update-command.js.map +1 -0
  78. package/dist/commands/version-command.d.ts +10 -0
  79. package/dist/commands/version-command.d.ts.map +1 -0
  80. package/dist/commands/version-command.js +100 -0
  81. package/dist/commands/version-command.js.map +1 -0
  82. package/dist/delegation/delegation-handler.d.ts +60 -0
  83. package/dist/delegation/delegation-handler.d.ts.map +1 -0
  84. package/dist/delegation/delegation-handler.js +174 -0
  85. package/dist/delegation/delegation-handler.js.map +1 -0
  86. package/dist/delegation/headless-executor.d.ts +114 -0
  87. package/dist/delegation/headless-executor.d.ts.map +1 -0
  88. package/dist/delegation/headless-executor.js +562 -0
  89. package/dist/delegation/headless-executor.js.map +1 -0
  90. package/dist/delegation/result-formatter.d.ts +108 -0
  91. package/dist/delegation/result-formatter.d.ts.map +1 -0
  92. package/dist/delegation/result-formatter.js +391 -0
  93. package/dist/delegation/result-formatter.js.map +1 -0
  94. package/dist/delegation/session-manager.d.ts +58 -0
  95. package/dist/delegation/session-manager.d.ts.map +1 -0
  96. package/dist/delegation/session-manager.js +153 -0
  97. package/dist/delegation/session-manager.js.map +1 -0
  98. package/dist/delegation/settings-parser.d.ts +31 -0
  99. package/dist/delegation/settings-parser.d.ts.map +1 -0
  100. package/dist/delegation/settings-parser.js +107 -0
  101. package/dist/delegation/settings-parser.js.map +1 -0
  102. package/dist/glmt/delta-accumulator.d.ts +210 -0
  103. package/dist/glmt/delta-accumulator.d.ts.map +1 -0
  104. package/dist/glmt/delta-accumulator.js +351 -0
  105. package/dist/glmt/delta-accumulator.js.map +1 -0
  106. package/dist/glmt/glmt-proxy.d.ts +72 -0
  107. package/dist/glmt/glmt-proxy.d.ts.map +1 -0
  108. package/dist/glmt/glmt-proxy.js +427 -0
  109. package/dist/glmt/glmt-proxy.js.map +1 -0
  110. package/dist/glmt/glmt-transformer.d.ts +265 -0
  111. package/dist/glmt/glmt-transformer.d.ts.map +1 -0
  112. package/dist/glmt/glmt-transformer.js +832 -0
  113. package/dist/glmt/glmt-transformer.js.map +1 -0
  114. package/dist/glmt/locale-enforcer.d.ts +38 -0
  115. package/dist/glmt/locale-enforcer.d.ts.map +1 -0
  116. package/dist/glmt/locale-enforcer.js +69 -0
  117. package/dist/glmt/locale-enforcer.js.map +1 -0
  118. package/dist/glmt/reasoning-enforcer.d.ts +52 -0
  119. package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
  120. package/dist/glmt/reasoning-enforcer.js +151 -0
  121. package/dist/glmt/reasoning-enforcer.js.map +1 -0
  122. package/dist/glmt/sse-parser.d.ts +47 -0
  123. package/dist/glmt/sse-parser.d.ts.map +1 -0
  124. package/dist/glmt/sse-parser.js +93 -0
  125. package/dist/glmt/sse-parser.js.map +1 -0
  126. package/dist/management/doctor.d.ts +104 -0
  127. package/dist/management/doctor.d.ts.map +1 -0
  128. package/dist/management/doctor.js +673 -0
  129. package/dist/management/doctor.js.map +1 -0
  130. package/dist/management/instance-manager.d.ts +57 -0
  131. package/dist/management/instance-manager.d.ts.map +1 -0
  132. package/dist/management/instance-manager.js +195 -0
  133. package/dist/management/instance-manager.js.map +1 -0
  134. package/dist/management/recovery-manager.d.ts +39 -0
  135. package/dist/management/recovery-manager.d.ts.map +1 -0
  136. package/dist/management/recovery-manager.js +141 -0
  137. package/dist/management/recovery-manager.js.map +1 -0
  138. package/dist/management/shared-manager.d.ts +47 -0
  139. package/dist/management/shared-manager.d.ts.map +1 -0
  140. package/dist/management/shared-manager.js +388 -0
  141. package/dist/management/shared-manager.js.map +1 -0
  142. package/dist/types/cli.d.ts +50 -0
  143. package/dist/types/cli.d.ts.map +1 -0
  144. package/dist/types/cli.js +16 -0
  145. package/dist/types/cli.js.map +1 -0
  146. package/dist/types/config.d.ts +51 -0
  147. package/dist/types/config.d.ts.map +1 -0
  148. package/dist/types/config.js +26 -0
  149. package/dist/types/config.js.map +1 -0
  150. package/dist/types/delegation.d.ts +61 -0
  151. package/dist/types/delegation.d.ts.map +1 -0
  152. package/dist/types/delegation.js +6 -0
  153. package/dist/types/delegation.js.map +1 -0
  154. package/dist/types/glmt.d.ts +95 -0
  155. package/dist/types/glmt.d.ts.map +1 -0
  156. package/dist/types/glmt.js +7 -0
  157. package/dist/types/glmt.js.map +1 -0
  158. package/dist/types/index.d.ts +13 -0
  159. package/dist/types/index.d.ts.map +1 -0
  160. package/dist/types/index.js +16 -0
  161. package/dist/types/index.js.map +1 -0
  162. package/dist/types/utils.d.ts +36 -0
  163. package/dist/types/utils.d.ts.map +1 -0
  164. package/dist/types/utils.js +22 -0
  165. package/dist/types/utils.js.map +1 -0
  166. package/dist/utils/claude-detector.d.ts +14 -0
  167. package/dist/utils/claude-detector.d.ts.map +1 -0
  168. package/dist/utils/claude-detector.js +112 -0
  169. package/dist/utils/claude-detector.js.map +1 -0
  170. package/dist/utils/claude-dir-installer.d.ts +46 -0
  171. package/dist/utils/claude-dir-installer.d.ts.map +1 -0
  172. package/dist/utils/claude-dir-installer.js +289 -0
  173. package/dist/utils/claude-dir-installer.js.map +1 -0
  174. package/dist/utils/claude-symlink-manager.d.ts +61 -0
  175. package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
  176. package/dist/utils/claude-symlink-manager.js +291 -0
  177. package/dist/utils/claude-symlink-manager.js.map +1 -0
  178. package/dist/utils/config-manager.d.ts +32 -0
  179. package/dist/utils/config-manager.d.ts.map +1 -0
  180. package/dist/utils/config-manager.js +143 -0
  181. package/dist/utils/config-manager.js.map +1 -0
  182. package/dist/utils/delegation-validator.d.ts +39 -0
  183. package/dist/utils/delegation-validator.d.ts.map +1 -0
  184. package/dist/utils/delegation-validator.js +161 -0
  185. package/dist/utils/delegation-validator.js.map +1 -0
  186. package/dist/utils/error-codes.d.ts +36 -0
  187. package/dist/utils/error-codes.d.ts.map +1 -0
  188. package/dist/utils/error-codes.js +63 -0
  189. package/dist/utils/error-codes.js.map +1 -0
  190. package/dist/utils/error-manager.d.ts +59 -0
  191. package/dist/utils/error-manager.d.ts.map +1 -0
  192. package/dist/utils/error-manager.js +228 -0
  193. package/dist/utils/error-manager.js.map +1 -0
  194. package/dist/utils/helpers.d.ts +27 -0
  195. package/dist/utils/helpers.d.ts.map +1 -0
  196. package/dist/utils/helpers.js +150 -0
  197. package/dist/utils/helpers.js.map +1 -0
  198. package/dist/utils/package-manager-detector.d.ts +14 -0
  199. package/dist/utils/package-manager-detector.d.ts.map +1 -0
  200. package/dist/utils/package-manager-detector.js +162 -0
  201. package/dist/utils/package-manager-detector.js.map +1 -0
  202. package/dist/utils/progress-indicator.d.ts +52 -0
  203. package/dist/utils/progress-indicator.d.ts.map +1 -0
  204. package/dist/utils/progress-indicator.js +102 -0
  205. package/dist/utils/progress-indicator.js.map +1 -0
  206. package/dist/utils/prompt.d.ts +29 -0
  207. package/dist/utils/prompt.d.ts.map +1 -0
  208. package/dist/utils/prompt.js +116 -0
  209. package/dist/utils/prompt.js.map +1 -0
  210. package/dist/utils/shell-completion.d.ts +52 -0
  211. package/dist/utils/shell-completion.d.ts.map +1 -0
  212. package/dist/utils/shell-completion.js +231 -0
  213. package/dist/utils/shell-completion.js.map +1 -0
  214. package/dist/utils/shell-executor.d.ts +15 -0
  215. package/dist/utils/shell-executor.d.ts.map +1 -0
  216. package/dist/utils/shell-executor.js +57 -0
  217. package/dist/utils/shell-executor.js.map +1 -0
  218. package/dist/utils/update-checker.d.ts +48 -0
  219. package/dist/utils/update-checker.d.ts.map +1 -0
  220. package/dist/utils/update-checker.js +241 -0
  221. package/dist/utils/update-checker.js.map +1 -0
  222. package/lib/ccs +21 -1907
  223. package/lib/ccs.ps1 +26 -1800
  224. package/lib/error-codes.ps1 +2 -1
  225. package/lib/prompt.ps1 +2 -2
  226. package/package.json +31 -11
  227. package/scripts/add-shebang.js +39 -0
  228. package/scripts/bump-version.sh +25 -37
  229. package/scripts/dev-install.sh +32 -11
  230. package/scripts/postinstall.js +29 -29
  231. package/bin/auth/auth-commands.js +0 -499
  232. package/bin/auth/profile-detector.js +0 -204
  233. package/bin/auth/profile-registry.js +0 -225
  234. package/bin/ccs.js +0 -1034
  235. package/bin/delegation/README.md +0 -191
  236. package/bin/delegation/delegation-handler.js +0 -212
  237. package/bin/delegation/headless-executor.js +0 -618
  238. package/bin/delegation/result-formatter.js +0 -485
  239. package/bin/delegation/session-manager.js +0 -157
  240. package/bin/delegation/settings-parser.js +0 -109
  241. package/bin/glmt/delta-accumulator.js +0 -276
  242. package/bin/glmt/glmt-proxy.js +0 -495
  243. package/bin/glmt/glmt-transformer.js +0 -999
  244. package/bin/glmt/locale-enforcer.js +0 -72
  245. package/bin/glmt/reasoning-enforcer.js +0 -173
  246. package/bin/glmt/sse-parser.js +0 -96
  247. package/bin/management/doctor.js +0 -721
  248. package/bin/management/instance-manager.js +0 -202
  249. package/bin/management/recovery-manager.js +0 -135
  250. package/bin/management/shared-manager.js +0 -402
  251. package/bin/utils/claude-detector.js +0 -73
  252. package/bin/utils/claude-dir-installer.js +0 -283
  253. package/bin/utils/claude-symlink-manager.js +0 -289
  254. package/bin/utils/config-manager.js +0 -103
  255. package/bin/utils/delegation-validator.js +0 -154
  256. package/bin/utils/error-codes.js +0 -59
  257. package/bin/utils/error-manager.js +0 -165
  258. package/bin/utils/helpers.js +0 -136
  259. package/bin/utils/progress-indicator.js +0 -111
  260. package/bin/utils/prompt.js +0 -134
  261. package/bin/utils/shell-completion.js +0 -256
  262. package/bin/utils/update-checker.js +0 -243
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-manager.js","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * CLIProxy Executor - Spawn/Kill Pattern for CLIProxyAPI
3
+ *
4
+ * Mirrors GLMT architecture:
5
+ * 1. Ensure binary exists (Phase 1)
6
+ * 2. Generate config for provider
7
+ * 3. Spawn CLIProxyAPI binary
8
+ * 4. Poll port for readiness (no stdout signal)
9
+ * 5. Execute Claude CLI with proxied environment
10
+ * 6. Kill proxy on Claude exit
11
+ *
12
+ * Key difference from GLMT: Uses TCP port polling instead of PROXY_READY signal
13
+ */
14
+ import { CLIProxyProvider, ExecutorConfig } from './types';
15
+ /**
16
+ * Execute Claude CLI with CLIProxy (main entry point)
17
+ *
18
+ * @param claudeCli Path to Claude CLI executable
19
+ * @param provider CLIProxy provider (gemini, codex, agy)
20
+ * @param args Arguments to pass to Claude CLI
21
+ * @param config Optional executor configuration
22
+ */
23
+ export declare function execClaudeWithCLIProxy(claudeCli: string, provider: CLIProxyProvider, args: string[], config?: Partial<ExecutorConfig>): Promise<void>;
24
+ /**
25
+ * Check if a port is available
26
+ */
27
+ export declare function isPortAvailable(port: number): Promise<boolean>;
28
+ /**
29
+ * Find an available port in range
30
+ */
31
+ export declare function findAvailablePort(startPort?: number, range?: number): Promise<number>;
32
+ export default execClaudeWithCLIProxy;
33
+ //# sourceMappingURL=cliproxy-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliproxy-executor.d.ts","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAmD3D;;;;;;;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,CAmMf;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"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ /**
3
+ * CLIProxy Executor - Spawn/Kill Pattern for CLIProxyAPI
4
+ *
5
+ * Mirrors GLMT architecture:
6
+ * 1. Ensure binary exists (Phase 1)
7
+ * 2. Generate config for provider
8
+ * 3. Spawn CLIProxyAPI binary
9
+ * 4. Poll port for readiness (no stdout signal)
10
+ * 5. Execute Claude CLI with proxied environment
11
+ * 6. Kill proxy on Claude exit
12
+ *
13
+ * Key difference from GLMT: Uses TCP port polling instead of PROXY_READY signal
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.findAvailablePort = exports.isPortAvailable = exports.execClaudeWithCLIProxy = void 0;
40
+ const child_process_1 = require("child_process");
41
+ const net = __importStar(require("net"));
42
+ const progress_indicator_1 = require("../utils/progress-indicator");
43
+ const shell_executor_1 = require("../utils/shell-executor");
44
+ const binary_manager_1 = require("./binary-manager");
45
+ const config_generator_1 = require("./config-generator");
46
+ const auth_handler_1 = require("./auth-handler");
47
+ /** Default executor configuration */
48
+ const DEFAULT_CONFIG = {
49
+ port: config_generator_1.CLIPROXY_DEFAULT_PORT,
50
+ timeout: 5000,
51
+ verbose: false,
52
+ pollInterval: 100,
53
+ };
54
+ /**
55
+ * Wait for TCP port to become available
56
+ * Uses polling since CLIProxyAPI doesn't emit PROXY_READY signal
57
+ */
58
+ async function waitForProxyReady(port, timeout = 5000, pollInterval = 100) {
59
+ const start = Date.now();
60
+ while (Date.now() - start < timeout) {
61
+ try {
62
+ await new Promise((resolve, reject) => {
63
+ const socket = net.createConnection({ port, host: '127.0.0.1' }, () => {
64
+ socket.destroy();
65
+ resolve();
66
+ });
67
+ socket.on('error', (err) => {
68
+ socket.destroy();
69
+ reject(err);
70
+ });
71
+ // Individual connection timeout
72
+ socket.setTimeout(1000, () => {
73
+ socket.destroy();
74
+ reject(new Error('Connection timeout'));
75
+ });
76
+ });
77
+ return; // Connection successful - proxy is ready
78
+ }
79
+ catch {
80
+ // Connection failed, wait and retry
81
+ await new Promise((r) => setTimeout(r, pollInterval));
82
+ }
83
+ }
84
+ throw new Error(`CLIProxy not ready after ${timeout}ms on port ${port}`);
85
+ }
86
+ /**
87
+ * Execute Claude CLI with CLIProxy (main entry point)
88
+ *
89
+ * @param claudeCli Path to Claude CLI executable
90
+ * @param provider CLIProxy provider (gemini, codex, agy)
91
+ * @param args Arguments to pass to Claude CLI
92
+ * @param config Optional executor configuration
93
+ */
94
+ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
95
+ const cfg = { ...DEFAULT_CONFIG, ...config };
96
+ const verbose = cfg.verbose || args.includes('--verbose') || args.includes('-v');
97
+ const log = (msg) => {
98
+ if (verbose) {
99
+ console.error(`[cliproxy] ${msg}`);
100
+ }
101
+ };
102
+ // Validate provider
103
+ const providerConfig = (0, config_generator_1.getProviderConfig)(provider);
104
+ log(`Provider: ${providerConfig.displayName}`);
105
+ // 1. Ensure binary exists (downloads if needed)
106
+ const spinner = new progress_indicator_1.ProgressIndicator('Preparing CLIProxy');
107
+ spinner.start();
108
+ let binaryPath;
109
+ try {
110
+ binaryPath = await (0, binary_manager_1.ensureCLIProxyBinary)(verbose);
111
+ spinner.succeed('CLIProxy binary ready');
112
+ }
113
+ catch (error) {
114
+ spinner.fail('Failed to prepare CLIProxy');
115
+ throw error;
116
+ }
117
+ // 2. Handle authentication flags
118
+ const forceAuth = args.includes('--auth');
119
+ const forceHeadless = args.includes('--headless');
120
+ const forceLogout = args.includes('--logout');
121
+ // Handle --logout: clear auth and exit
122
+ if (forceLogout) {
123
+ const { clearAuth } = await Promise.resolve().then(() => __importStar(require('./auth-handler')));
124
+ if (clearAuth(provider)) {
125
+ console.log(`[OK] Logged out from ${providerConfig.displayName}`);
126
+ }
127
+ else {
128
+ console.log(`[i] No authentication found for ${providerConfig.displayName}`);
129
+ }
130
+ process.exit(0);
131
+ }
132
+ // 3. Ensure OAuth completed (if provider requires it)
133
+ if (providerConfig.requiresOAuth) {
134
+ log(`Checking authentication for ${provider}`);
135
+ if (forceAuth || !(0, auth_handler_1.isAuthenticated)(provider)) {
136
+ // Pass headless only if explicitly set; otherwise let auth-handler auto-detect
137
+ const { triggerOAuth } = await Promise.resolve().then(() => __importStar(require('./auth-handler')));
138
+ const authSuccess = await triggerOAuth(provider, {
139
+ verbose,
140
+ ...(forceHeadless ? { headless: true } : {}),
141
+ });
142
+ if (!authSuccess) {
143
+ throw new Error(`Authentication required for ${providerConfig.displayName}`);
144
+ }
145
+ // If --auth was explicitly passed, exit after auth (don't start Claude)
146
+ if (forceAuth) {
147
+ process.exit(0);
148
+ }
149
+ }
150
+ else {
151
+ log(`${provider} already authenticated`);
152
+ }
153
+ }
154
+ // 4. Ensure user settings file exists (creates from defaults if not)
155
+ (0, config_generator_1.ensureProviderSettings)(provider);
156
+ // 5. Generate config file
157
+ log(`Generating config for ${provider}`);
158
+ const configPath = (0, config_generator_1.generateConfig)(provider, cfg.port);
159
+ log(`Config written: ${configPath}`);
160
+ // 6. Spawn CLIProxyAPI binary
161
+ const proxyArgs = ['--config', configPath];
162
+ log(`Spawning: ${binaryPath} ${proxyArgs.join(' ')}`);
163
+ const proxy = (0, child_process_1.spawn)(binaryPath, proxyArgs, {
164
+ stdio: ['ignore', verbose ? 'pipe' : 'ignore', verbose ? 'pipe' : 'ignore'],
165
+ detached: false,
166
+ });
167
+ // Forward proxy output in verbose mode
168
+ if (verbose) {
169
+ proxy.stdout?.on('data', (data) => {
170
+ process.stderr.write(`[cliproxy-out] ${data.toString()}`);
171
+ });
172
+ proxy.stderr?.on('data', (data) => {
173
+ process.stderr.write(`[cliproxy-err] ${data.toString()}`);
174
+ });
175
+ }
176
+ // Handle proxy errors
177
+ proxy.on('error', (error) => {
178
+ console.error(`[X] CLIProxy spawn error: ${error.message}`);
179
+ });
180
+ // 5. Wait for proxy readiness via TCP polling
181
+ const readySpinner = new progress_indicator_1.ProgressIndicator(`Waiting for CLIProxy on port ${cfg.port}`);
182
+ readySpinner.start();
183
+ try {
184
+ await waitForProxyReady(cfg.port, cfg.timeout, cfg.pollInterval);
185
+ readySpinner.succeed(`CLIProxy ready on port ${cfg.port}`);
186
+ }
187
+ catch (error) {
188
+ readySpinner.fail('CLIProxy startup failed');
189
+ proxy.kill('SIGTERM');
190
+ const err = error;
191
+ console.error('');
192
+ console.error('[X] CLIProxy failed to start');
193
+ console.error('');
194
+ console.error('Possible causes:');
195
+ console.error(` 1. Port ${cfg.port} already in use`);
196
+ console.error(' 2. Binary crashed on startup');
197
+ console.error(' 3. Invalid configuration');
198
+ console.error('');
199
+ console.error('Troubleshooting:');
200
+ console.error(` - Check if port ${cfg.port} is in use: lsof -i :${cfg.port}`);
201
+ console.error(' - Run with --verbose for detailed logs');
202
+ console.error(` - Check config: cat ${configPath}`);
203
+ console.error('');
204
+ throw new Error(`CLIProxy startup failed: ${err.message}`);
205
+ }
206
+ // 7. Execute Claude CLI with proxied environment
207
+ // Uses user settings if ~/.ccs/{provider}.settings.json exists, else bundled defaults
208
+ const envVars = (0, config_generator_1.getEffectiveEnvVars)(provider, cfg.port);
209
+ const env = { ...process.env, ...envVars };
210
+ log(`Claude env: ANTHROPIC_BASE_URL=${envVars.ANTHROPIC_BASE_URL}`);
211
+ log(`Claude env: ANTHROPIC_MODEL=${envVars.ANTHROPIC_MODEL}`);
212
+ // Filter out CCS-specific flags before passing to Claude CLI
213
+ const ccsFlags = ['--auth', '--headless', '--logout'];
214
+ const claudeArgs = args.filter((arg) => !ccsFlags.includes(arg));
215
+ const isWindows = process.platform === 'win32';
216
+ const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
217
+ let claude;
218
+ if (needsShell) {
219
+ const cmdString = [claudeCli, ...claudeArgs].map(shell_executor_1.escapeShellArg).join(' ');
220
+ claude = (0, child_process_1.spawn)(cmdString, {
221
+ stdio: 'inherit',
222
+ windowsHide: true,
223
+ shell: true,
224
+ env,
225
+ });
226
+ }
227
+ else {
228
+ claude = (0, child_process_1.spawn)(claudeCli, claudeArgs, {
229
+ stdio: 'inherit',
230
+ windowsHide: true,
231
+ env,
232
+ });
233
+ }
234
+ // 8. Cleanup: kill proxy when Claude exits
235
+ claude.on('exit', (code, signal) => {
236
+ log(`Claude exited: code=${code}, signal=${signal}`);
237
+ proxy.kill('SIGTERM');
238
+ if (signal) {
239
+ process.kill(process.pid, signal);
240
+ }
241
+ else {
242
+ process.exit(code || 0);
243
+ }
244
+ });
245
+ claude.on('error', (error) => {
246
+ console.error('[X] Claude CLI error:', error);
247
+ proxy.kill('SIGTERM');
248
+ process.exit(1);
249
+ });
250
+ // Handle parent process termination (SIGTERM, SIGINT)
251
+ const cleanup = () => {
252
+ log('Parent signal received, cleaning up');
253
+ proxy.kill('SIGTERM');
254
+ claude.kill('SIGTERM');
255
+ };
256
+ process.once('SIGTERM', cleanup);
257
+ process.once('SIGINT', cleanup);
258
+ // Handle proxy crash
259
+ proxy.on('exit', (code, signal) => {
260
+ if (code !== 0 && code !== null) {
261
+ log(`Proxy exited unexpectedly: code=${code}, signal=${signal}`);
262
+ // Don't kill Claude - it may have already exited
263
+ }
264
+ });
265
+ }
266
+ exports.execClaudeWithCLIProxy = execClaudeWithCLIProxy;
267
+ /**
268
+ * Check if a port is available
269
+ */
270
+ async function isPortAvailable(port) {
271
+ return new Promise((resolve) => {
272
+ const server = net.createServer();
273
+ server.once('error', () => {
274
+ resolve(false);
275
+ });
276
+ server.once('listening', () => {
277
+ server.close();
278
+ resolve(true);
279
+ });
280
+ server.listen(port, '127.0.0.1');
281
+ });
282
+ }
283
+ exports.isPortAvailable = isPortAvailable;
284
+ /**
285
+ * Find an available port in range
286
+ */
287
+ async function findAvailablePort(startPort = config_generator_1.CLIPROXY_DEFAULT_PORT, range = 10) {
288
+ for (let port = startPort; port < startPort + range; port++) {
289
+ if (await isPortAvailable(port)) {
290
+ return port;
291
+ }
292
+ }
293
+ throw new Error(`No available port found in range ${startPort}-${startPort + range - 1}`);
294
+ }
295
+ exports.findAvailablePort = findAvailablePort;
296
+ exports.default = execClaudeWithCLIProxy;
297
+ //# sourceMappingURL=cliproxy-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliproxy-executor.js","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Config Generator for CLIProxyAPI
3
+ *
4
+ * Generates config.yaml for CLIProxyAPI based on provider.
5
+ * Handles OAuth token paths and provider-specific settings.
6
+ *
7
+ * Model mappings are loaded from config/base-{provider}.settings.json files
8
+ * to allow easy updates without code changes.
9
+ */
10
+ /// <reference types="node" />
11
+ import { CLIProxyProvider, ProviderConfig, ProviderModelMapping } from './types';
12
+ /** Default CLIProxy port */
13
+ export declare const CLIPROXY_DEFAULT_PORT = 8317;
14
+ /**
15
+ * Get provider configuration
16
+ * Model mappings are loaded from config/base-{provider}.settings.json
17
+ */
18
+ export declare function getProviderConfig(provider: CLIProxyProvider): ProviderConfig;
19
+ /**
20
+ * Get model mapping for provider
21
+ * Loads from config/base-{provider}.settings.json
22
+ */
23
+ export declare function getModelMapping(provider: CLIProxyProvider): ProviderModelMapping;
24
+ /**
25
+ * Get CLIProxy base directory
26
+ * All CLIProxy-related files are stored under ~/.ccs/cliproxy/
27
+ */
28
+ export declare function getCliproxyDir(): string;
29
+ /**
30
+ * Get auth directory for provider
31
+ * All providers use a FLAT auth directory structure for unified config.
32
+ * CLIProxyAPI stores OAuth tokens directly in auth/ (not subdirectories).
33
+ * This enables all providers to be discovered and used concurrently.
34
+ */
35
+ export declare function getProviderAuthDir(_provider: CLIProxyProvider): string;
36
+ /**
37
+ * Get base auth directory for CLIProxyAPI
38
+ */
39
+ export declare function getAuthDir(): string;
40
+ /**
41
+ * Get config file path
42
+ */
43
+ export declare function getConfigPath(): string;
44
+ /**
45
+ * Get binary directory path
46
+ */
47
+ export declare function getBinDir(): string;
48
+ /**
49
+ * Generate unified config.yaml file (supports all providers concurrently)
50
+ * Only regenerates if config doesn't exist.
51
+ * @returns Path to config file
52
+ */
53
+ export declare function generateConfig(provider: CLIProxyProvider, port?: number): string;
54
+ /**
55
+ * Check if config exists for provider
56
+ */
57
+ export declare function configExists(): boolean;
58
+ /**
59
+ * Delete config file
60
+ */
61
+ export declare function deleteConfig(): void;
62
+ /**
63
+ * Get path to user settings file for provider
64
+ * Example: ~/.ccs/gemini.settings.json
65
+ */
66
+ export declare function getProviderSettingsPath(provider: CLIProxyProvider): string;
67
+ /**
68
+ * Get environment variables for Claude CLI (bundled defaults)
69
+ * Uses provider-specific endpoint (e.g., /api/provider/gemini) for explicit routing.
70
+ * This enables concurrent gemini/codex usage - each session routes to its provider via URL path.
71
+ */
72
+ export declare function getClaudeEnvVars(provider: CLIProxyProvider, port?: number): NodeJS.ProcessEnv;
73
+ /**
74
+ * Get effective environment variables for provider
75
+ *
76
+ * Priority order:
77
+ * 1. User settings file (~/.ccs/{provider}.settings.json) if exists
78
+ * 2. Bundled defaults from PROVIDER_CONFIGS
79
+ *
80
+ * This allows users to customize model mappings without code changes.
81
+ * User takes full responsibility for custom settings.
82
+ */
83
+ export declare function getEffectiveEnvVars(provider: CLIProxyProvider, port?: number): NodeJS.ProcessEnv;
84
+ /**
85
+ * Copy bundled settings template to user directory if not exists
86
+ * Called during installation/first run
87
+ */
88
+ export declare function ensureProviderSettings(provider: CLIProxyProvider): void;
89
+ //# sourceMappingURL=config-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../src/cliproxy/config-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;AAKH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAQjF,4BAA4B;AAC5B,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAY1C;;;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;AAmCD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;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,CAYnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAAC,UAAU,CAsBnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAmBvE"}