@jonnyhoo/ccs 1.1.1 → 1.1.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 (1033) hide show
  1. package/.claude/skills/ccs-delegation/SKILL.md +7 -7
  2. package/.claude/skills/ccs-delegation/references/troubleshooting.md +20 -20
  3. package/config/base-codex.settings.json +3 -3
  4. package/dist/api/services/index.d.ts +1 -1
  5. package/dist/api/services/index.d.ts.map +1 -1
  6. package/dist/api/services/index.js.map +1 -1
  7. package/dist/api/services/profile-reader.d.ts.map +1 -1
  8. package/dist/api/services/profile-reader.js +1 -21
  9. package/dist/api/services/profile-reader.js.map +1 -1
  10. package/dist/api/services/profile-types.d.ts +0 -7
  11. package/dist/api/services/profile-types.d.ts.map +1 -1
  12. package/dist/api/services/profile-writer.d.ts +1 -1
  13. package/dist/api/services/profile-writer.d.ts.map +1 -1
  14. package/dist/api/services/profile-writer.js +14 -11
  15. package/dist/api/services/profile-writer.js.map +1 -1
  16. package/dist/api/services/validation-service.d.ts.map +1 -1
  17. package/dist/api/services/validation-service.js +44 -3
  18. package/dist/api/services/validation-service.js.map +1 -1
  19. package/dist/ccs.js +263 -451
  20. package/dist/ccs.js.map +1 -1
  21. package/dist/commands/api-command.d.ts.map +1 -1
  22. package/dist/commands/api-command.js +22 -21
  23. package/dist/commands/api-command.js.map +1 -1
  24. package/dist/config/index.d.ts +1 -3
  25. package/dist/config/index.d.ts.map +1 -1
  26. package/dist/config/index.js +2 -6
  27. package/dist/config/index.js.map +1 -1
  28. package/dist/config/profile-detector.d.ts +64 -0
  29. package/dist/config/profile-detector.d.ts.map +1 -0
  30. package/dist/config/profile-detector.js +220 -0
  31. package/dist/config/profile-detector.js.map +1 -0
  32. package/dist/config/unified-config-loader.d.ts +3 -96
  33. package/dist/config/unified-config-loader.d.ts.map +1 -1
  34. package/dist/config/unified-config-loader.js +42 -474
  35. package/dist/config/unified-config-loader.js.map +1 -1
  36. package/dist/config/unified-config-types.d.ts +21 -489
  37. package/dist/config/unified-config-types.d.ts.map +1 -1
  38. package/dist/config/unified-config-types.js +8 -172
  39. package/dist/config/unified-config-types.js.map +1 -1
  40. package/dist/delegation/background-monitor.d.ts +80 -0
  41. package/dist/delegation/background-monitor.d.ts.map +1 -0
  42. package/dist/delegation/background-monitor.js +300 -0
  43. package/dist/delegation/background-monitor.js.map +1 -0
  44. package/dist/delegation/delegation-handler.d.ts +2 -1
  45. package/dist/delegation/delegation-handler.d.ts.map +1 -1
  46. package/dist/delegation/delegation-handler.js +48 -30
  47. package/dist/delegation/delegation-handler.js.map +1 -1
  48. package/dist/delegation/executor/types.d.ts +2 -0
  49. package/dist/delegation/executor/types.d.ts.map +1 -1
  50. package/dist/delegation/headless-executor.d.ts +3 -0
  51. package/dist/delegation/headless-executor.d.ts.map +1 -1
  52. package/dist/delegation/headless-executor.js +162 -14
  53. package/dist/delegation/headless-executor.js.map +1 -1
  54. package/dist/delegation/result-formatter.d.ts +1 -29
  55. package/dist/delegation/result-formatter.d.ts.map +1 -1
  56. package/dist/delegation/result-formatter.js +3 -188
  57. package/dist/delegation/result-formatter.js.map +1 -1
  58. package/dist/{cliproxy → proxy}/anthropic-to-openai-proxy.d.ts +17 -1
  59. package/dist/proxy/anthropic-to-openai-proxy.d.ts.map +1 -0
  60. package/dist/proxy/anthropic-to-openai-proxy.js +1708 -0
  61. package/dist/proxy/anthropic-to-openai-proxy.js.map +1 -0
  62. package/dist/proxy/cliproxy-autostart.d.ts +28 -0
  63. package/dist/proxy/cliproxy-autostart.d.ts.map +1 -0
  64. package/dist/proxy/cliproxy-autostart.js +226 -0
  65. package/dist/proxy/cliproxy-autostart.js.map +1 -0
  66. package/dist/proxy/tool-name-mapper.d.ts.map +1 -0
  67. package/dist/{cliproxy → proxy}/tool-name-mapper.js +13 -6
  68. package/dist/proxy/tool-name-mapper.js.map +1 -0
  69. package/dist/{cliproxy → proxy}/tool-name-sanitizer.d.ts +17 -21
  70. package/dist/proxy/tool-name-sanitizer.d.ts.map +1 -0
  71. package/dist/{cliproxy → proxy}/tool-name-sanitizer.js +46 -33
  72. package/dist/proxy/tool-name-sanitizer.js.map +1 -0
  73. package/dist/proxy/tool-sanitization-proxy.d.ts.map +1 -0
  74. package/dist/{cliproxy → proxy}/tool-sanitization-proxy.js +22 -2
  75. package/dist/proxy/tool-sanitization-proxy.js.map +1 -0
  76. package/dist/types/config.d.ts +0 -24
  77. package/dist/types/config.d.ts.map +1 -1
  78. package/dist/types/config.js.map +1 -1
  79. package/dist/types/index.d.ts +1 -2
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/types/index.js.map +1 -1
  82. package/dist/utils/config-manager.d.ts +0 -27
  83. package/dist/utils/config-manager.d.ts.map +1 -1
  84. package/dist/utils/config-manager.js +4 -65
  85. package/dist/utils/config-manager.js.map +1 -1
  86. package/dist/utils/delegation-validator.d.ts.map +1 -1
  87. package/dist/utils/delegation-validator.js +0 -11
  88. package/dist/utils/delegation-validator.js.map +1 -1
  89. package/dist/utils/error-manager.d.ts +0 -28
  90. package/dist/utils/error-manager.d.ts.map +1 -1
  91. package/dist/utils/error-manager.js +6 -105
  92. package/dist/utils/error-manager.js.map +1 -1
  93. package/dist/utils/helpers.js +1 -1
  94. package/dist/utils/helpers.js.map +1 -1
  95. package/dist/utils/index.d.ts +0 -5
  96. package/dist/utils/index.d.ts.map +1 -1
  97. package/dist/utils/index.js +3 -17
  98. package/dist/utils/index.js.map +1 -1
  99. package/dist/utils/shell-executor.d.ts.map +1 -1
  100. package/dist/utils/shell-executor.js +3 -9
  101. package/dist/utils/shell-executor.js.map +1 -1
  102. package/dist/utils/ui/index.d.ts +0 -4
  103. package/dist/utils/ui/index.d.ts.map +1 -1
  104. package/dist/utils/ui/index.js +1 -5
  105. package/dist/utils/ui/index.js.map +1 -1
  106. package/dist/utils/ui/init.d.ts.map +1 -1
  107. package/dist/utils/ui/init.js +1 -3
  108. package/dist/utils/ui/init.js.map +1 -1
  109. package/dist/utils/ui.d.ts +1 -2
  110. package/dist/utils/ui.d.ts.map +1 -1
  111. package/dist/utils/ui.js +2 -2
  112. package/dist/utils/ui.js.map +1 -1
  113. package/package.json +3 -29
  114. package/scripts/background-redis-bridge.js +320 -0
  115. package/scripts/dev-install.sh +2 -1
  116. package/scripts/monitor-task.js +313 -0
  117. package/dist/auth/auth-commands.d.ts +0 -62
  118. package/dist/auth/auth-commands.d.ts.map +0 -1
  119. package/dist/auth/auth-commands.js +0 -191
  120. package/dist/auth/auth-commands.js.map +0 -1
  121. package/dist/auth/commands/create-command.d.ts +0 -11
  122. package/dist/auth/commands/create-command.d.ts.map +0 -1
  123. package/dist/auth/commands/create-command.js +0 -137
  124. package/dist/auth/commands/create-command.js.map +0 -1
  125. package/dist/auth/commands/default-command.d.ts +0 -15
  126. package/dist/auth/commands/default-command.d.ts.map +0 -1
  127. package/dist/auth/commands/default-command.js +0 -71
  128. package/dist/auth/commands/default-command.js.map +0 -1
  129. package/dist/auth/commands/index.d.ts +0 -12
  130. package/dist/auth/commands/index.d.ts.map +0 -1
  131. package/dist/auth/commands/index.js +0 -25
  132. package/dist/auth/commands/index.js.map +0 -1
  133. package/dist/auth/commands/list-command.d.ts +0 -11
  134. package/dist/auth/commands/list-command.d.ts.map +0 -1
  135. package/dist/auth/commands/list-command.js +0 -124
  136. package/dist/auth/commands/list-command.js.map +0 -1
  137. package/dist/auth/commands/remove-command.d.ts +0 -11
  138. package/dist/auth/commands/remove-command.d.ts.map +0 -1
  139. package/dist/auth/commands/remove-command.js +0 -102
  140. package/dist/auth/commands/remove-command.js.map +0 -1
  141. package/dist/auth/commands/show-command.d.ts +0 -11
  142. package/dist/auth/commands/show-command.d.ts.map +0 -1
  143. package/dist/auth/commands/show-command.js +0 -103
  144. package/dist/auth/commands/show-command.js.map +0 -1
  145. package/dist/auth/commands/types.d.ts +0 -50
  146. package/dist/auth/commands/types.d.ts.map +0 -1
  147. package/dist/auth/commands/types.js +0 -26
  148. package/dist/auth/commands/types.js.map +0 -1
  149. package/dist/auth/index.d.ts +0 -8
  150. package/dist/auth/index.d.ts.map +0 -1
  151. package/dist/auth/index.js +0 -16
  152. package/dist/auth/index.js.map +0 -1
  153. package/dist/auth/profile-detector.d.ts +0 -106
  154. package/dist/auth/profile-detector.d.ts.map +0 -1
  155. package/dist/auth/profile-detector.js +0 -431
  156. package/dist/auth/profile-detector.js.map +0 -1
  157. package/dist/auth/profile-registry.d.ts +0 -110
  158. package/dist/auth/profile-registry.d.ts.map +0 -1
  159. package/dist/auth/profile-registry.js +0 -318
  160. package/dist/auth/profile-registry.js.map +0 -1
  161. package/dist/cliproxy/account-manager.d.ts +0 -218
  162. package/dist/cliproxy/account-manager.d.ts.map +0 -1
  163. package/dist/cliproxy/account-manager.js +0 -808
  164. package/dist/cliproxy/account-manager.js.map +0 -1
  165. package/dist/cliproxy/anthropic-to-openai-proxy.d.ts.map +0 -1
  166. package/dist/cliproxy/anthropic-to-openai-proxy.js +0 -856
  167. package/dist/cliproxy/anthropic-to-openai-proxy.js.map +0 -1
  168. package/dist/cliproxy/auth/auth-types.d.ts +0 -106
  169. package/dist/cliproxy/auth/auth-types.d.ts.map +0 -1
  170. package/dist/cliproxy/auth/auth-types.js +0 -164
  171. package/dist/cliproxy/auth/auth-types.js.map +0 -1
  172. package/dist/cliproxy/auth/environment-detector.d.ts +0 -30
  173. package/dist/cliproxy/auth/environment-detector.d.ts.map +0 -1
  174. package/dist/cliproxy/auth/environment-detector.js +0 -129
  175. package/dist/cliproxy/auth/environment-detector.js.map +0 -1
  176. package/dist/cliproxy/auth/gemini-token-refresh.d.ts +0 -38
  177. package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +0 -1
  178. package/dist/cliproxy/auth/gemini-token-refresh.js +0 -327
  179. package/dist/cliproxy/auth/gemini-token-refresh.js.map +0 -1
  180. package/dist/cliproxy/auth/index.d.ts +0 -11
  181. package/dist/cliproxy/auth/index.d.ts.map +0 -1
  182. package/dist/cliproxy/auth/index.js +0 -35
  183. package/dist/cliproxy/auth/index.js.map +0 -1
  184. package/dist/cliproxy/auth/kiro-import.d.ts +0 -23
  185. package/dist/cliproxy/auth/kiro-import.d.ts.map +0 -1
  186. package/dist/cliproxy/auth/kiro-import.js +0 -140
  187. package/dist/cliproxy/auth/kiro-import.js.map +0 -1
  188. package/dist/cliproxy/auth/oauth-handler.d.ts +0 -31
  189. package/dist/cliproxy/auth/oauth-handler.d.ts.map +0 -1
  190. package/dist/cliproxy/auth/oauth-handler.js +0 -422
  191. package/dist/cliproxy/auth/oauth-handler.js.map +0 -1
  192. package/dist/cliproxy/auth/oauth-process.d.ts +0 -27
  193. package/dist/cliproxy/auth/oauth-process.d.ts.map +0 -1
  194. package/dist/cliproxy/auth/oauth-process.js +0 -386
  195. package/dist/cliproxy/auth/oauth-process.js.map +0 -1
  196. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +0 -21
  197. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +0 -1
  198. package/dist/cliproxy/auth/provider-refreshers/index.js +0 -57
  199. package/dist/cliproxy/auth/provider-refreshers/index.js.map +0 -1
  200. package/dist/cliproxy/auth/token-expiry-checker.d.ts +0 -37
  201. package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +0 -1
  202. package/dist/cliproxy/auth/token-expiry-checker.js +0 -115
  203. package/dist/cliproxy/auth/token-expiry-checker.js.map +0 -1
  204. package/dist/cliproxy/auth/token-manager.d.ts +0 -66
  205. package/dist/cliproxy/auth/token-manager.d.ts.map +0 -1
  206. package/dist/cliproxy/auth/token-manager.js +0 -309
  207. package/dist/cliproxy/auth/token-manager.js.map +0 -1
  208. package/dist/cliproxy/auth/token-refresh-config.d.ts +0 -13
  209. package/dist/cliproxy/auth/token-refresh-config.d.ts.map +0 -1
  210. package/dist/cliproxy/auth/token-refresh-config.js +0 -31
  211. package/dist/cliproxy/auth/token-refresh-config.js.map +0 -1
  212. package/dist/cliproxy/auth/token-refresh-worker.d.ts +0 -83
  213. package/dist/cliproxy/auth/token-refresh-worker.d.ts.map +0 -1
  214. package/dist/cliproxy/auth/token-refresh-worker.js +0 -214
  215. package/dist/cliproxy/auth/token-refresh-worker.js.map +0 -1
  216. package/dist/cliproxy/auth-handler.d.ts +0 -31
  217. package/dist/cliproxy/auth-handler.d.ts.map +0 -1
  218. package/dist/cliproxy/auth-handler.js +0 -60
  219. package/dist/cliproxy/auth-handler.js.map +0 -1
  220. package/dist/cliproxy/auth-session-manager.d.ts +0 -51
  221. package/dist/cliproxy/auth-session-manager.d.ts.map +0 -1
  222. package/dist/cliproxy/auth-session-manager.js +0 -134
  223. package/dist/cliproxy/auth-session-manager.js.map +0 -1
  224. package/dist/cliproxy/auth-token-manager.d.ts +0 -82
  225. package/dist/cliproxy/auth-token-manager.d.ts.map +0 -1
  226. package/dist/cliproxy/auth-token-manager.js +0 -187
  227. package/dist/cliproxy/auth-token-manager.js.map +0 -1
  228. package/dist/cliproxy/auth-utils.d.ts +0 -16
  229. package/dist/cliproxy/auth-utils.d.ts.map +0 -1
  230. package/dist/cliproxy/auth-utils.js +0 -33
  231. package/dist/cliproxy/auth-utils.js.map +0 -1
  232. package/dist/cliproxy/base-config-loader.d.ts +0 -42
  233. package/dist/cliproxy/base-config-loader.d.ts.map +0 -1
  234. package/dist/cliproxy/base-config-loader.js +0 -123
  235. package/dist/cliproxy/base-config-loader.js.map +0 -1
  236. package/dist/cliproxy/binary/downloader.d.ts +0 -42
  237. package/dist/cliproxy/binary/downloader.d.ts.map +0 -1
  238. package/dist/cliproxy/binary/downloader.js +0 -407
  239. package/dist/cliproxy/binary/downloader.js.map +0 -1
  240. package/dist/cliproxy/binary/extractor.d.ts +0 -12
  241. package/dist/cliproxy/binary/extractor.d.ts.map +0 -1
  242. package/dist/cliproxy/binary/extractor.js +0 -28
  243. package/dist/cliproxy/binary/extractor.js.map +0 -1
  244. package/dist/cliproxy/binary/index.d.ts +0 -13
  245. package/dist/cliproxy/binary/index.d.ts.map +0 -1
  246. package/dist/cliproxy/binary/index.js +0 -54
  247. package/dist/cliproxy/binary/index.js.map +0 -1
  248. package/dist/cliproxy/binary/installer.d.ts +0 -25
  249. package/dist/cliproxy/binary/installer.d.ts.map +0 -1
  250. package/dist/cliproxy/binary/installer.js +0 -129
  251. package/dist/cliproxy/binary/installer.js.map +0 -1
  252. package/dist/cliproxy/binary/lifecycle.d.ts +0 -11
  253. package/dist/cliproxy/binary/lifecycle.d.ts.map +0 -1
  254. package/dist/cliproxy/binary/lifecycle.js +0 -150
  255. package/dist/cliproxy/binary/lifecycle.js.map +0 -1
  256. package/dist/cliproxy/binary/tar-extractor.d.ts +0 -10
  257. package/dist/cliproxy/binary/tar-extractor.d.ts.map +0 -1
  258. package/dist/cliproxy/binary/tar-extractor.js +0 -118
  259. package/dist/cliproxy/binary/tar-extractor.js.map +0 -1
  260. package/dist/cliproxy/binary/types.d.ts +0 -49
  261. package/dist/cliproxy/binary/types.d.ts.map +0 -1
  262. package/dist/cliproxy/binary/types.js +0 -32
  263. package/dist/cliproxy/binary/types.js.map +0 -1
  264. package/dist/cliproxy/binary/updater.d.ts +0 -7
  265. package/dist/cliproxy/binary/updater.d.ts.map +0 -1
  266. package/dist/cliproxy/binary/updater.js +0 -18
  267. package/dist/cliproxy/binary/updater.js.map +0 -1
  268. package/dist/cliproxy/binary/verifier.d.ts +0 -18
  269. package/dist/cliproxy/binary/verifier.d.ts.map +0 -1
  270. package/dist/cliproxy/binary/verifier.js +0 -82
  271. package/dist/cliproxy/binary/verifier.js.map +0 -1
  272. package/dist/cliproxy/binary/version-cache.d.ts +0 -64
  273. package/dist/cliproxy/binary/version-cache.d.ts.map +0 -1
  274. package/dist/cliproxy/binary/version-cache.js +0 -239
  275. package/dist/cliproxy/binary/version-cache.js.map +0 -1
  276. package/dist/cliproxy/binary/version-checker.d.ts +0 -36
  277. package/dist/cliproxy/binary/version-checker.d.ts.map +0 -1
  278. package/dist/cliproxy/binary/version-checker.js +0 -135
  279. package/dist/cliproxy/binary/version-checker.js.map +0 -1
  280. package/dist/cliproxy/binary/zip-extractor.d.ts +0 -10
  281. package/dist/cliproxy/binary/zip-extractor.d.ts.map +0 -1
  282. package/dist/cliproxy/binary/zip-extractor.js +0 -110
  283. package/dist/cliproxy/binary/zip-extractor.js.map +0 -1
  284. package/dist/cliproxy/binary-manager.d.ts +0 -59
  285. package/dist/cliproxy/binary-manager.d.ts.map +0 -1
  286. package/dist/cliproxy/binary-manager.js +0 -211
  287. package/dist/cliproxy/binary-manager.js.map +0 -1
  288. package/dist/cliproxy/cliproxy-executor.d.ts +0 -33
  289. package/dist/cliproxy/cliproxy-executor.d.ts.map +0 -1
  290. package/dist/cliproxy/cliproxy-executor.js +0 -1228
  291. package/dist/cliproxy/cliproxy-executor.js.map +0 -1
  292. package/dist/cliproxy/codex-reasoning-proxy.d.ts +0 -54
  293. package/dist/cliproxy/codex-reasoning-proxy.d.ts.map +0 -1
  294. package/dist/cliproxy/codex-reasoning-proxy.js +0 -373
  295. package/dist/cliproxy/codex-reasoning-proxy.js.map +0 -1
  296. package/dist/cliproxy/config-generator.d.ts +0 -236
  297. package/dist/cliproxy/config-generator.d.ts.map +0 -1
  298. package/dist/cliproxy/config-generator.js +0 -932
  299. package/dist/cliproxy/config-generator.js.map +0 -1
  300. package/dist/cliproxy/device-code-handler.d.ts +0 -28
  301. package/dist/cliproxy/device-code-handler.d.ts.map +0 -1
  302. package/dist/cliproxy/device-code-handler.js +0 -22
  303. package/dist/cliproxy/device-code-handler.js.map +0 -1
  304. package/dist/cliproxy/endpoint-setup.d.ts +0 -44
  305. package/dist/cliproxy/endpoint-setup.d.ts.map +0 -1
  306. package/dist/cliproxy/endpoint-setup.js +0 -299
  307. package/dist/cliproxy/endpoint-setup.js.map +0 -1
  308. package/dist/cliproxy/https-tunnel-proxy.d.ts +0 -44
  309. package/dist/cliproxy/https-tunnel-proxy.d.ts.map +0 -1
  310. package/dist/cliproxy/https-tunnel-proxy.js +0 -224
  311. package/dist/cliproxy/https-tunnel-proxy.js.map +0 -1
  312. package/dist/cliproxy/index.d.ts +0 -41
  313. package/dist/cliproxy/index.d.ts.map +0 -1
  314. package/dist/cliproxy/index.js +0 -152
  315. package/dist/cliproxy/index.js.map +0 -1
  316. package/dist/cliproxy/management-api-client.d.ts +0 -67
  317. package/dist/cliproxy/management-api-client.d.ts.map +0 -1
  318. package/dist/cliproxy/management-api-client.js +0 -347
  319. package/dist/cliproxy/management-api-client.js.map +0 -1
  320. package/dist/cliproxy/management-api-types.d.ts +0 -107
  321. package/dist/cliproxy/management-api-types.d.ts.map +0 -1
  322. package/dist/cliproxy/management-api-types.js +0 -9
  323. package/dist/cliproxy/management-api-types.js.map +0 -1
  324. package/dist/cliproxy/model-catalog.d.ts +0 -108
  325. package/dist/cliproxy/model-catalog.d.ts.map +0 -1
  326. package/dist/cliproxy/model-catalog.js +0 -247
  327. package/dist/cliproxy/model-catalog.js.map +0 -1
  328. package/dist/cliproxy/model-config.d.ts +0 -31
  329. package/dist/cliproxy/model-config.d.ts.map +0 -1
  330. package/dist/cliproxy/model-config.js +0 -250
  331. package/dist/cliproxy/model-config.js.map +0 -1
  332. package/dist/cliproxy/openai-compat-manager.d.ts +0 -46
  333. package/dist/cliproxy/openai-compat-manager.d.ts.map +0 -1
  334. package/dist/cliproxy/openai-compat-manager.js +0 -191
  335. package/dist/cliproxy/openai-compat-manager.js.map +0 -1
  336. package/dist/cliproxy/platform-detector.d.ts +0 -99
  337. package/dist/cliproxy/platform-detector.d.ts.map +0 -1
  338. package/dist/cliproxy/platform-detector.js +0 -174
  339. package/dist/cliproxy/platform-detector.js.map +0 -1
  340. package/dist/cliproxy/project-selection-handler.d.ts +0 -105
  341. package/dist/cliproxy/project-selection-handler.d.ts.map +0 -1
  342. package/dist/cliproxy/project-selection-handler.js +0 -167
  343. package/dist/cliproxy/project-selection-handler.js.map +0 -1
  344. package/dist/cliproxy/proxy-config-resolver.d.ts +0 -86
  345. package/dist/cliproxy/proxy-config-resolver.d.ts.map +0 -1
  346. package/dist/cliproxy/proxy-config-resolver.js +0 -253
  347. package/dist/cliproxy/proxy-config-resolver.js.map +0 -1
  348. package/dist/cliproxy/proxy-detector.d.ts +0 -72
  349. package/dist/cliproxy/proxy-detector.d.ts.map +0 -1
  350. package/dist/cliproxy/proxy-detector.js +0 -196
  351. package/dist/cliproxy/proxy-detector.js.map +0 -1
  352. package/dist/cliproxy/proxy-target-resolver.d.ts +0 -50
  353. package/dist/cliproxy/proxy-target-resolver.d.ts.map +0 -1
  354. package/dist/cliproxy/proxy-target-resolver.js +0 -105
  355. package/dist/cliproxy/proxy-target-resolver.js.map +0 -1
  356. package/dist/cliproxy/quota-fetcher-codex.d.ts +0 -66
  357. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +0 -1
  358. package/dist/cliproxy/quota-fetcher-codex.js +0 -315
  359. package/dist/cliproxy/quota-fetcher-codex.js.map +0 -1
  360. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts +0 -51
  361. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +0 -1
  362. package/dist/cliproxy/quota-fetcher-gemini-cli.js +0 -492
  363. package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +0 -1
  364. package/dist/cliproxy/quota-fetcher.d.ts +0 -95
  365. package/dist/cliproxy/quota-fetcher.d.ts.map +0 -1
  366. package/dist/cliproxy/quota-fetcher.js +0 -589
  367. package/dist/cliproxy/quota-fetcher.js.map +0 -1
  368. package/dist/cliproxy/quota-manager.d.ts +0 -88
  369. package/dist/cliproxy/quota-manager.d.ts.map +0 -1
  370. package/dist/cliproxy/quota-manager.js +0 -278
  371. package/dist/cliproxy/quota-manager.js.map +0 -1
  372. package/dist/cliproxy/quota-response-cache.d.ts +0 -46
  373. package/dist/cliproxy/quota-response-cache.d.ts.map +0 -1
  374. package/dist/cliproxy/quota-response-cache.js +0 -98
  375. package/dist/cliproxy/quota-response-cache.js.map +0 -1
  376. package/dist/cliproxy/quota-types.d.ts +0 -84
  377. package/dist/cliproxy/quota-types.d.ts.map +0 -1
  378. package/dist/cliproxy/quota-types.js +0 -9
  379. package/dist/cliproxy/quota-types.js.map +0 -1
  380. package/dist/cliproxy/remote-auth-fetcher.d.ts +0 -28
  381. package/dist/cliproxy/remote-auth-fetcher.d.ts.map +0 -1
  382. package/dist/cliproxy/remote-auth-fetcher.js +0 -117
  383. package/dist/cliproxy/remote-auth-fetcher.js.map +0 -1
  384. package/dist/cliproxy/remote-proxy-client.d.ts +0 -59
  385. package/dist/cliproxy/remote-proxy-client.d.ts.map +0 -1
  386. package/dist/cliproxy/remote-proxy-client.js +0 -278
  387. package/dist/cliproxy/remote-proxy-client.js.map +0 -1
  388. package/dist/cliproxy/remote-token-uploader.d.ts +0 -28
  389. package/dist/cliproxy/remote-token-uploader.d.ts.map +0 -1
  390. package/dist/cliproxy/remote-token-uploader.js +0 -178
  391. package/dist/cliproxy/remote-token-uploader.js.map +0 -1
  392. package/dist/cliproxy/service-manager.d.ts +0 -55
  393. package/dist/cliproxy/service-manager.d.ts.map +0 -1
  394. package/dist/cliproxy/service-manager.js +0 -327
  395. package/dist/cliproxy/service-manager.js.map +0 -1
  396. package/dist/cliproxy/services/binary-service.d.ts +0 -67
  397. package/dist/cliproxy/services/binary-service.d.ts.map +0 -1
  398. package/dist/cliproxy/services/binary-service.js +0 -176
  399. package/dist/cliproxy/services/binary-service.js.map +0 -1
  400. package/dist/cliproxy/services/index.d.ts +0 -8
  401. package/dist/cliproxy/services/index.d.ts.map +0 -1
  402. package/dist/cliproxy/services/index.js +0 -31
  403. package/dist/cliproxy/services/index.js.map +0 -1
  404. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +0 -38
  405. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +0 -1
  406. package/dist/cliproxy/services/proxy-lifecycle-service.js +0 -41
  407. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +0 -1
  408. package/dist/cliproxy/services/variant-config-adapter.d.ts +0 -48
  409. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +0 -1
  410. package/dist/cliproxy/services/variant-config-adapter.js +0 -215
  411. package/dist/cliproxy/services/variant-config-adapter.js.map +0 -1
  412. package/dist/cliproxy/services/variant-service.d.ts +0 -52
  413. package/dist/cliproxy/services/variant-service.d.ts.map +0 -1
  414. package/dist/cliproxy/services/variant-service.js +0 -218
  415. package/dist/cliproxy/services/variant-service.js.map +0 -1
  416. package/dist/cliproxy/services/variant-settings.d.ts +0 -37
  417. package/dist/cliproxy/services/variant-settings.d.ts.map +0 -1
  418. package/dist/cliproxy/services/variant-settings.js +0 -168
  419. package/dist/cliproxy/services/variant-settings.js.map +0 -1
  420. package/dist/cliproxy/session-tracker.d.ts +0 -100
  421. package/dist/cliproxy/session-tracker.d.ts.map +0 -1
  422. package/dist/cliproxy/session-tracker.js +0 -420
  423. package/dist/cliproxy/session-tracker.js.map +0 -1
  424. package/dist/cliproxy/startup-lock.d.ts +0 -57
  425. package/dist/cliproxy/startup-lock.d.ts.map +0 -1
  426. package/dist/cliproxy/startup-lock.js +0 -216
  427. package/dist/cliproxy/startup-lock.js.map +0 -1
  428. package/dist/cliproxy/stats-fetcher.d.ts +0 -106
  429. package/dist/cliproxy/stats-fetcher.d.ts.map +0 -1
  430. package/dist/cliproxy/stats-fetcher.js +0 -267
  431. package/dist/cliproxy/stats-fetcher.js.map +0 -1
  432. package/dist/cliproxy/sync/auto-sync-watcher.d.ts +0 -37
  433. package/dist/cliproxy/sync/auto-sync-watcher.d.ts.map +0 -1
  434. package/dist/cliproxy/sync/auto-sync-watcher.js +0 -211
  435. package/dist/cliproxy/sync/auto-sync-watcher.js.map +0 -1
  436. package/dist/cliproxy/sync/index.d.ts +0 -10
  437. package/dist/cliproxy/sync/index.d.ts.map +0 -1
  438. package/dist/cliproxy/sync/index.js +0 -27
  439. package/dist/cliproxy/sync/index.js.map +0 -1
  440. package/dist/cliproxy/sync/local-config-sync.d.ts +0 -28
  441. package/dist/cliproxy/sync/local-config-sync.d.ts.map +0 -1
  442. package/dist/cliproxy/sync/local-config-sync.js +0 -223
  443. package/dist/cliproxy/sync/local-config-sync.js.map +0 -1
  444. package/dist/cliproxy/sync/profile-mapper.d.ts +0 -55
  445. package/dist/cliproxy/sync/profile-mapper.d.ts.map +0 -1
  446. package/dist/cliproxy/sync/profile-mapper.js +0 -173
  447. package/dist/cliproxy/sync/profile-mapper.js.map +0 -1
  448. package/dist/cliproxy/thinking-validator.d.ts +0 -67
  449. package/dist/cliproxy/thinking-validator.d.ts.map +0 -1
  450. package/dist/cliproxy/thinking-validator.js +0 -327
  451. package/dist/cliproxy/thinking-validator.js.map +0 -1
  452. package/dist/cliproxy/tool-name-mapper.d.ts.map +0 -1
  453. package/dist/cliproxy/tool-name-mapper.js.map +0 -1
  454. package/dist/cliproxy/tool-name-sanitizer.d.ts.map +0 -1
  455. package/dist/cliproxy/tool-name-sanitizer.js.map +0 -1
  456. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +0 -1
  457. package/dist/cliproxy/tool-sanitization-proxy.js.map +0 -1
  458. package/dist/cliproxy/types.d.ts +0 -218
  459. package/dist/cliproxy/types.d.ts.map +0 -1
  460. package/dist/cliproxy/types.js +0 -12
  461. package/dist/cliproxy/types.js.map +0 -1
  462. package/dist/commands/cleanup-command.d.ts +0 -12
  463. package/dist/commands/cleanup-command.d.ts.map +0 -1
  464. package/dist/commands/cleanup-command.js +0 -350
  465. package/dist/commands/cleanup-command.js.map +0 -1
  466. package/dist/commands/cliproxy-command.d.ts +0 -21
  467. package/dist/commands/cliproxy-command.d.ts.map +0 -1
  468. package/dist/commands/cliproxy-command.js +0 -1099
  469. package/dist/commands/cliproxy-command.js.map +0 -1
  470. package/dist/commands/cliproxy-sync-handler.d.ts +0 -19
  471. package/dist/commands/cliproxy-sync-handler.d.ts.map +0 -1
  472. package/dist/commands/cliproxy-sync-handler.js +0 -99
  473. package/dist/commands/cliproxy-sync-handler.js.map +0 -1
  474. package/dist/commands/config-auth/disable-command.d.ts +0 -10
  475. package/dist/commands/config-auth/disable-command.d.ts.map +0 -1
  476. package/dist/commands/config-auth/disable-command.js +0 -64
  477. package/dist/commands/config-auth/disable-command.js.map +0 -1
  478. package/dist/commands/config-auth/index.d.ts +0 -14
  479. package/dist/commands/config-auth/index.d.ts.map +0 -1
  480. package/dist/commands/config-auth/index.js +0 -84
  481. package/dist/commands/config-auth/index.js.map +0 -1
  482. package/dist/commands/config-auth/setup-command.d.ts +0 -13
  483. package/dist/commands/config-auth/setup-command.d.ts.map +0 -1
  484. package/dist/commands/config-auth/setup-command.js +0 -121
  485. package/dist/commands/config-auth/setup-command.js.map +0 -1
  486. package/dist/commands/config-auth/show-command.d.ts +0 -10
  487. package/dist/commands/config-auth/show-command.d.ts.map +0 -1
  488. package/dist/commands/config-auth/show-command.js +0 -79
  489. package/dist/commands/config-auth/show-command.js.map +0 -1
  490. package/dist/commands/config-auth/types.d.ts +0 -25
  491. package/dist/commands/config-auth/types.d.ts.map +0 -1
  492. package/dist/commands/config-auth/types.js +0 -8
  493. package/dist/commands/config-auth/types.js.map +0 -1
  494. package/dist/commands/config-command.d.ts +0 -12
  495. package/dist/commands/config-command.d.ts.map +0 -1
  496. package/dist/commands/config-command.js +0 -184
  497. package/dist/commands/config-command.js.map +0 -1
  498. package/dist/commands/config-image-analysis-command.d.ts +0 -8
  499. package/dist/commands/config-image-analysis-command.d.ts.map +0 -1
  500. package/dist/commands/config-image-analysis-command.js +0 -174
  501. package/dist/commands/config-image-analysis-command.js.map +0 -1
  502. package/dist/commands/copilot-command.d.ts +0 -10
  503. package/dist/commands/copilot-command.d.ts.map +0 -1
  504. package/dist/commands/copilot-command.js +0 -228
  505. package/dist/commands/copilot-command.js.map +0 -1
  506. package/dist/commands/doctor-command.d.ts +0 -11
  507. package/dist/commands/doctor-command.d.ts.map +0 -1
  508. package/dist/commands/doctor-command.js +0 -92
  509. package/dist/commands/doctor-command.js.map +0 -1
  510. package/dist/commands/help-command.d.ts +0 -5
  511. package/dist/commands/help-command.d.ts.map +0 -1
  512. package/dist/commands/help-command.js +0 -359
  513. package/dist/commands/help-command.js.map +0 -1
  514. package/dist/commands/index.d.ts +0 -18
  515. package/dist/commands/index.d.ts.map +0 -1
  516. package/dist/commands/index.js +0 -35
  517. package/dist/commands/index.js.map +0 -1
  518. package/dist/commands/install-command.d.ts +0 -14
  519. package/dist/commands/install-command.d.ts.map +0 -1
  520. package/dist/commands/install-command.js +0 -62
  521. package/dist/commands/install-command.js.map +0 -1
  522. package/dist/commands/migrate-command.d.ts +0 -17
  523. package/dist/commands/migrate-command.d.ts.map +0 -1
  524. package/dist/commands/migrate-command.js +0 -139
  525. package/dist/commands/migrate-command.js.map +0 -1
  526. package/dist/commands/persist-command.d.ts +0 -12
  527. package/dist/commands/persist-command.d.ts.map +0 -1
  528. package/dist/commands/persist-command.js +0 -565
  529. package/dist/commands/persist-command.js.map +0 -1
  530. package/dist/commands/router.d.ts +0 -41
  531. package/dist/commands/router.d.ts.map +0 -1
  532. package/dist/commands/router.js +0 -234
  533. package/dist/commands/router.js.map +0 -1
  534. package/dist/commands/setup-command.d.ts +0 -29
  535. package/dist/commands/setup-command.d.ts.map +0 -1
  536. package/dist/commands/setup-command.js +0 -426
  537. package/dist/commands/setup-command.js.map +0 -1
  538. package/dist/commands/shell-completion-command.d.ts +0 -10
  539. package/dist/commands/shell-completion-command.d.ts.map +0 -1
  540. package/dist/commands/shell-completion-command.js +0 -90
  541. package/dist/commands/shell-completion-command.js.map +0 -1
  542. package/dist/commands/sync-command.d.ts +0 -10
  543. package/dist/commands/sync-command.d.ts.map +0 -1
  544. package/dist/commands/sync-command.js +0 -67
  545. package/dist/commands/sync-command.js.map +0 -1
  546. package/dist/commands/tokens-command.d.ts +0 -19
  547. package/dist/commands/tokens-command.d.ts.map +0 -1
  548. package/dist/commands/tokens-command.js +0 -173
  549. package/dist/commands/tokens-command.js.map +0 -1
  550. package/dist/commands/update-command.d.ts +0 -19
  551. package/dist/commands/update-command.d.ts.map +0 -1
  552. package/dist/commands/update-command.js +0 -290
  553. package/dist/commands/update-command.js.map +0 -1
  554. package/dist/commands/version-command.d.ts +0 -10
  555. package/dist/commands/version-command.d.ts.map +0 -1
  556. package/dist/commands/version-command.js +0 -100
  557. package/dist/commands/version-command.js.map +0 -1
  558. package/dist/config/feature-flags.d.ts +0 -19
  559. package/dist/config/feature-flags.d.ts.map +0 -1
  560. package/dist/config/feature-flags.js +0 -31
  561. package/dist/config/feature-flags.js.map +0 -1
  562. package/dist/config/migration-manager.d.ts +0 -75
  563. package/dist/config/migration-manager.d.ts.map +0 -1
  564. package/dist/config/migration-manager.js +0 -446
  565. package/dist/config/migration-manager.js.map +0 -1
  566. package/dist/config/reserved-names.d.ts +0 -31
  567. package/dist/config/reserved-names.d.ts.map +0 -1
  568. package/dist/config/reserved-names.js +0 -80
  569. package/dist/config/reserved-names.js.map +0 -1
  570. package/dist/copilot/copilot-auth.d.ts +0 -52
  571. package/dist/copilot/copilot-auth.d.ts.map +0 -1
  572. package/dist/copilot/copilot-auth.js +0 -201
  573. package/dist/copilot/copilot-auth.js.map +0 -1
  574. package/dist/copilot/copilot-daemon.d.ts +0 -36
  575. package/dist/copilot/copilot-daemon.d.ts.map +0 -1
  576. package/dist/copilot/copilot-daemon.js +0 -237
  577. package/dist/copilot/copilot-daemon.js.map +0 -1
  578. package/dist/copilot/copilot-executor.d.ts +0 -26
  579. package/dist/copilot/copilot-executor.d.ts.map +0 -1
  580. package/dist/copilot/copilot-executor.js +0 -150
  581. package/dist/copilot/copilot-executor.js.map +0 -1
  582. package/dist/copilot/copilot-models.d.ts +0 -34
  583. package/dist/copilot/copilot-models.d.ts.map +0 -1
  584. package/dist/copilot/copilot-models.js +0 -261
  585. package/dist/copilot/copilot-models.js.map +0 -1
  586. package/dist/copilot/copilot-package-manager.d.ts +0 -93
  587. package/dist/copilot/copilot-package-manager.d.ts.map +0 -1
  588. package/dist/copilot/copilot-package-manager.js +0 -488
  589. package/dist/copilot/copilot-package-manager.js.map +0 -1
  590. package/dist/copilot/index.d.ts +0 -13
  591. package/dist/copilot/index.d.ts.map +0 -1
  592. package/dist/copilot/index.js +0 -63
  593. package/dist/copilot/index.js.map +0 -1
  594. package/dist/copilot/types.d.ts +0 -65
  595. package/dist/copilot/types.d.ts.map +0 -1
  596. package/dist/copilot/types.js +0 -8
  597. package/dist/copilot/types.js.map +0 -1
  598. package/dist/management/checks/cliproxy-check.d.ts +0 -37
  599. package/dist/management/checks/cliproxy-check.d.ts.map +0 -1
  600. package/dist/management/checks/cliproxy-check.js +0 -187
  601. package/dist/management/checks/cliproxy-check.js.map +0 -1
  602. package/dist/management/checks/config-check.d.ts +0 -38
  603. package/dist/management/checks/config-check.d.ts.map +0 -1
  604. package/dist/management/checks/config-check.js +0 -215
  605. package/dist/management/checks/config-check.js.map +0 -1
  606. package/dist/management/checks/env-check.d.ts +0 -17
  607. package/dist/management/checks/env-check.d.ts.map +0 -1
  608. package/dist/management/checks/env-check.js +0 -71
  609. package/dist/management/checks/env-check.js.map +0 -1
  610. package/dist/management/checks/image-analysis-check.d.ts +0 -16
  611. package/dist/management/checks/image-analysis-check.d.ts.map +0 -1
  612. package/dist/management/checks/image-analysis-check.js +0 -140
  613. package/dist/management/checks/image-analysis-check.js.map +0 -1
  614. package/dist/management/checks/index.d.ts +0 -13
  615. package/dist/management/checks/index.d.ts.map +0 -1
  616. package/dist/management/checks/index.js +0 -52
  617. package/dist/management/checks/index.js.map +0 -1
  618. package/dist/management/checks/oauth-check.d.ts +0 -16
  619. package/dist/management/checks/oauth-check.d.ts.map +0 -1
  620. package/dist/management/checks/oauth-check.js +0 -68
  621. package/dist/management/checks/oauth-check.js.map +0 -1
  622. package/dist/management/checks/profile-check.d.ts +0 -40
  623. package/dist/management/checks/profile-check.d.ts.map +0 -1
  624. package/dist/management/checks/profile-check.js +0 -190
  625. package/dist/management/checks/profile-check.js.map +0 -1
  626. package/dist/management/checks/symlink-check.d.ts +0 -30
  627. package/dist/management/checks/symlink-check.d.ts.map +0 -1
  628. package/dist/management/checks/symlink-check.js +0 -214
  629. package/dist/management/checks/symlink-check.js.map +0 -1
  630. package/dist/management/checks/system-check.d.ts +0 -25
  631. package/dist/management/checks/system-check.d.ts.map +0 -1
  632. package/dist/management/checks/system-check.js +0 -135
  633. package/dist/management/checks/system-check.js.map +0 -1
  634. package/dist/management/checks/types.d.ts +0 -64
  635. package/dist/management/checks/types.d.ts.map +0 -1
  636. package/dist/management/checks/types.js +0 -64
  637. package/dist/management/checks/types.js.map +0 -1
  638. package/dist/management/doctor.d.ts +0 -34
  639. package/dist/management/doctor.d.ts.map +0 -1
  640. package/dist/management/doctor.js +0 -154
  641. package/dist/management/doctor.js.map +0 -1
  642. package/dist/management/environment-diagnostics.d.ts +0 -69
  643. package/dist/management/environment-diagnostics.d.ts.map +0 -1
  644. package/dist/management/environment-diagnostics.js +0 -229
  645. package/dist/management/environment-diagnostics.js.map +0 -1
  646. package/dist/management/index.d.ts +0 -15
  647. package/dist/management/index.d.ts.map +0 -1
  648. package/dist/management/index.js +0 -56
  649. package/dist/management/index.js.map +0 -1
  650. package/dist/management/instance-manager.d.ts +0 -57
  651. package/dist/management/instance-manager.d.ts.map +0 -1
  652. package/dist/management/instance-manager.js +0 -195
  653. package/dist/management/instance-manager.js.map +0 -1
  654. package/dist/management/oauth-port-diagnostics.d.ts +0 -115
  655. package/dist/management/oauth-port-diagnostics.d.ts.map +0 -1
  656. package/dist/management/oauth-port-diagnostics.js +0 -291
  657. package/dist/management/oauth-port-diagnostics.js.map +0 -1
  658. package/dist/management/recovery-manager.d.ts +0 -56
  659. package/dist/management/recovery-manager.d.ts.map +0 -1
  660. package/dist/management/recovery-manager.js +0 -239
  661. package/dist/management/recovery-manager.js.map +0 -1
  662. package/dist/management/repair/auto-repair.d.ts +0 -13
  663. package/dist/management/repair/auto-repair.d.ts.map +0 -1
  664. package/dist/management/repair/auto-repair.js +0 -186
  665. package/dist/management/repair/auto-repair.js.map +0 -1
  666. package/dist/management/repair/index.d.ts +0 -5
  667. package/dist/management/repair/index.d.ts.map +0 -1
  668. package/dist/management/repair/index.js +0 -9
  669. package/dist/management/repair/index.js.map +0 -1
  670. package/dist/management/shared-manager.d.ts +0 -55
  671. package/dist/management/shared-manager.d.ts.map +0 -1
  672. package/dist/management/shared-manager.js +0 -424
  673. package/dist/management/shared-manager.js.map +0 -1
  674. package/dist/router/index.d.ts +0 -13
  675. package/dist/router/index.d.ts.map +0 -1
  676. package/dist/router/index.js +0 -25
  677. package/dist/router/index.js.map +0 -1
  678. package/dist/router/scenario-router.d.ts +0 -86
  679. package/dist/router/scenario-router.d.ts.map +0 -1
  680. package/dist/router/scenario-router.js +0 -178
  681. package/dist/router/scenario-router.js.map +0 -1
  682. package/dist/router/scenario-routing-proxy.d.ts +0 -138
  683. package/dist/router/scenario-routing-proxy.d.ts.map +0 -1
  684. package/dist/router/scenario-routing-proxy.js +0 -380
  685. package/dist/router/scenario-routing-proxy.js.map +0 -1
  686. package/dist/router/settings-routing-executor.d.ts +0 -21
  687. package/dist/router/settings-routing-executor.d.ts.map +0 -1
  688. package/dist/router/settings-routing-executor.js +0 -111
  689. package/dist/router/settings-routing-executor.js.map +0 -1
  690. package/dist/router/types.d.ts +0 -72
  691. package/dist/router/types.d.ts.map +0 -1
  692. package/dist/router/types.js +0 -20
  693. package/dist/router/types.js.map +0 -1
  694. package/dist/types/glmt.d.ts +0 -95
  695. package/dist/types/glmt.d.ts.map +0 -1
  696. package/dist/types/glmt.js +0 -7
  697. package/dist/types/glmt.js.map +0 -1
  698. package/dist/utils/api-key-validator.d.ts +0 -14
  699. package/dist/utils/api-key-validator.d.ts.map +0 -1
  700. package/dist/utils/api-key-validator.js +0 -143
  701. package/dist/utils/api-key-validator.js.map +0 -1
  702. package/dist/utils/claude-dir-installer.d.ts +0 -46
  703. package/dist/utils/claude-dir-installer.d.ts.map +0 -1
  704. package/dist/utils/claude-dir-installer.js +0 -289
  705. package/dist/utils/claude-dir-installer.js.map +0 -1
  706. package/dist/utils/claude-spawner.d.ts +0 -54
  707. package/dist/utils/claude-spawner.d.ts.map +0 -1
  708. package/dist/utils/claude-spawner.js +0 -118
  709. package/dist/utils/claude-spawner.js.map +0 -1
  710. package/dist/utils/claude-symlink-manager.d.ts +0 -75
  711. package/dist/utils/claude-symlink-manager.d.ts.map +0 -1
  712. package/dist/utils/claude-symlink-manager.js +0 -393
  713. package/dist/utils/claude-symlink-manager.js.map +0 -1
  714. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +0 -17
  715. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +0 -1
  716. package/dist/utils/hooks/get-image-analysis-hook-env.js +0 -42
  717. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +0 -1
  718. package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts +0 -17
  719. package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts.map +0 -1
  720. package/dist/utils/hooks/image-analyzer-hook-configuration.js +0 -71
  721. package/dist/utils/hooks/image-analyzer-hook-configuration.js.map +0 -1
  722. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts +0 -31
  723. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +0 -1
  724. package/dist/utils/hooks/image-analyzer-hook-installer.js +0 -149
  725. package/dist/utils/hooks/image-analyzer-hook-installer.js.map +0 -1
  726. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts +0 -24
  727. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +0 -1
  728. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +0 -251
  729. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +0 -1
  730. package/dist/utils/hooks/index.d.ts +0 -11
  731. package/dist/utils/hooks/index.d.ts.map +0 -1
  732. package/dist/utils/hooks/index.js +0 -21
  733. package/dist/utils/hooks/index.js.map +0 -1
  734. package/dist/utils/image-analysis/hook-installer.d.ts +0 -19
  735. package/dist/utils/image-analysis/hook-installer.d.ts.map +0 -1
  736. package/dist/utils/image-analysis/hook-installer.js +0 -112
  737. package/dist/utils/image-analysis/hook-installer.js.map +0 -1
  738. package/dist/utils/image-analysis/index.d.ts +0 -7
  739. package/dist/utils/image-analysis/index.d.ts.map +0 -1
  740. package/dist/utils/image-analysis/index.js +0 -12
  741. package/dist/utils/image-analysis/index.js.map +0 -1
  742. package/dist/utils/package-manager-detector.d.ts +0 -11
  743. package/dist/utils/package-manager-detector.d.ts.map +0 -1
  744. package/dist/utils/package-manager-detector.js +0 -103
  745. package/dist/utils/package-manager-detector.js.map +0 -1
  746. package/dist/utils/platform-commands.d.ts +0 -53
  747. package/dist/utils/platform-commands.d.ts.map +0 -1
  748. package/dist/utils/platform-commands.js +0 -189
  749. package/dist/utils/platform-commands.js.map +0 -1
  750. package/dist/utils/port-utils.d.ts +0 -55
  751. package/dist/utils/port-utils.d.ts.map +0 -1
  752. package/dist/utils/port-utils.js +0 -217
  753. package/dist/utils/port-utils.js.map +0 -1
  754. package/dist/utils/sensitive-keys.d.ts +0 -35
  755. package/dist/utils/sensitive-keys.d.ts.map +0 -1
  756. package/dist/utils/sensitive-keys.js +0 -67
  757. package/dist/utils/sensitive-keys.js.map +0 -1
  758. package/dist/utils/shell-completion.d.ts +0 -54
  759. package/dist/utils/shell-completion.d.ts.map +0 -1
  760. package/dist/utils/shell-completion.js +0 -260
  761. package/dist/utils/shell-completion.js.map +0 -1
  762. package/dist/utils/ui/tasks.d.ts +0 -26
  763. package/dist/utils/ui/tasks.d.ts.map +0 -1
  764. package/dist/utils/ui/tasks.js +0 -102
  765. package/dist/utils/ui/tasks.js.map +0 -1
  766. package/dist/utils/update-checker.d.ts +0 -71
  767. package/dist/utils/update-checker.d.ts.map +0 -1
  768. package/dist/utils/update-checker.js +0 -377
  769. package/dist/utils/update-checker.js.map +0 -1
  770. package/dist/utils/version.d.ts +0 -8
  771. package/dist/utils/version.d.ts.map +0 -1
  772. package/dist/utils/version.js +0 -51
  773. package/dist/utils/version.js.map +0 -1
  774. package/dist/utils/websearch/gemini-cli.d.ts +0 -36
  775. package/dist/utils/websearch/gemini-cli.d.ts.map +0 -1
  776. package/dist/utils/websearch/gemini-cli.js +0 -132
  777. package/dist/utils/websearch/gemini-cli.js.map +0 -1
  778. package/dist/utils/websearch/grok-cli.d.ts +0 -26
  779. package/dist/utils/websearch/grok-cli.d.ts.map +0 -1
  780. package/dist/utils/websearch/grok-cli.js +0 -81
  781. package/dist/utils/websearch/grok-cli.js.map +0 -1
  782. package/dist/utils/websearch/hook-config.d.ts +0 -27
  783. package/dist/utils/websearch/hook-config.d.ts.map +0 -1
  784. package/dist/utils/websearch/hook-config.js +0 -280
  785. package/dist/utils/websearch/hook-config.js.map +0 -1
  786. package/dist/utils/websearch/hook-env.d.ts +0 -16
  787. package/dist/utils/websearch/hook-env.d.ts.map +0 -1
  788. package/dist/utils/websearch/hook-env.js +0 -62
  789. package/dist/utils/websearch/hook-env.js.map +0 -1
  790. package/dist/utils/websearch/hook-installer.d.ts +0 -30
  791. package/dist/utils/websearch/hook-installer.d.ts.map +0 -1
  792. package/dist/utils/websearch/hook-installer.js +0 -148
  793. package/dist/utils/websearch/hook-installer.js.map +0 -1
  794. package/dist/utils/websearch/hook-utils.d.ts +0 -18
  795. package/dist/utils/websearch/hook-utils.d.ts.map +0 -1
  796. package/dist/utils/websearch/hook-utils.js +0 -59
  797. package/dist/utils/websearch/hook-utils.js.map +0 -1
  798. package/dist/utils/websearch/index.d.ts +0 -17
  799. package/dist/utils/websearch/index.d.ts.map +0 -1
  800. package/dist/utils/websearch/index.js +0 -51
  801. package/dist/utils/websearch/index.js.map +0 -1
  802. package/dist/utils/websearch/opencode-cli.d.ts +0 -26
  803. package/dist/utils/websearch/opencode-cli.d.ts.map +0 -1
  804. package/dist/utils/websearch/opencode-cli.js +0 -81
  805. package/dist/utils/websearch/opencode-cli.js.map +0 -1
  806. package/dist/utils/websearch/profile-hook-injector.d.ts +0 -20
  807. package/dist/utils/websearch/profile-hook-injector.d.ts.map +0 -1
  808. package/dist/utils/websearch/profile-hook-injector.js +0 -250
  809. package/dist/utils/websearch/profile-hook-injector.js.map +0 -1
  810. package/dist/utils/websearch/status.d.ts +0 -36
  811. package/dist/utils/websearch/status.d.ts.map +0 -1
  812. package/dist/utils/websearch/status.js +0 -192
  813. package/dist/utils/websearch/status.js.map +0 -1
  814. package/dist/utils/websearch/types.d.ts +0 -85
  815. package/dist/utils/websearch/types.d.ts.map +0 -1
  816. package/dist/utils/websearch/types.js +0 -10
  817. package/dist/utils/websearch/types.js.map +0 -1
  818. package/dist/utils/websearch-manager.d.ts +0 -31
  819. package/dist/utils/websearch-manager.d.ts.map +0 -1
  820. package/dist/utils/websearch-manager.js +0 -72
  821. package/dist/utils/websearch-manager.js.map +0 -1
  822. package/dist/web-server/data-aggregator.d.ts +0 -7
  823. package/dist/web-server/data-aggregator.d.ts.map +0 -1
  824. package/dist/web-server/data-aggregator.js +0 -23
  825. package/dist/web-server/data-aggregator.js.map +0 -1
  826. package/dist/web-server/file-watcher.d.ts +0 -15
  827. package/dist/web-server/file-watcher.d.ts.map +0 -1
  828. package/dist/web-server/file-watcher.js +0 -93
  829. package/dist/web-server/file-watcher.js.map +0 -1
  830. package/dist/web-server/health/cliproxy-checks.d.ts +0 -23
  831. package/dist/web-server/health/cliproxy-checks.d.ts.map +0 -1
  832. package/dist/web-server/health/cliproxy-checks.js +0 -171
  833. package/dist/web-server/health/cliproxy-checks.js.map +0 -1
  834. package/dist/web-server/health/config-checks.d.ts +0 -20
  835. package/dist/web-server/health/config-checks.d.ts.map +0 -1
  836. package/dist/web-server/health/config-checks.js +0 -212
  837. package/dist/web-server/health/config-checks.js.map +0 -1
  838. package/dist/web-server/health/environment-checks.d.ts +0 -11
  839. package/dist/web-server/health/environment-checks.d.ts.map +0 -1
  840. package/dist/web-server/health/environment-checks.js +0 -40
  841. package/dist/web-server/health/environment-checks.js.map +0 -1
  842. package/dist/web-server/health/index.d.ts +0 -13
  843. package/dist/web-server/health/index.d.ts.map +0 -1
  844. package/dist/web-server/health/index.js +0 -41
  845. package/dist/web-server/health/index.js.map +0 -1
  846. package/dist/web-server/health/oauth-checks.d.ts +0 -11
  847. package/dist/web-server/health/oauth-checks.d.ts.map +0 -1
  848. package/dist/web-server/health/oauth-checks.js +0 -34
  849. package/dist/web-server/health/oauth-checks.js.map +0 -1
  850. package/dist/web-server/health/profile-checks.d.ts +0 -20
  851. package/dist/web-server/health/profile-checks.d.ts.map +0 -1
  852. package/dist/web-server/health/profile-checks.js +0 -184
  853. package/dist/web-server/health/profile-checks.js.map +0 -1
  854. package/dist/web-server/health/symlink-checks.d.ts +0 -15
  855. package/dist/web-server/health/symlink-checks.d.ts.map +0 -1
  856. package/dist/web-server/health/symlink-checks.js +0 -173
  857. package/dist/web-server/health/symlink-checks.js.map +0 -1
  858. package/dist/web-server/health/system-checks.d.ts +0 -19
  859. package/dist/web-server/health/system-checks.d.ts.map +0 -1
  860. package/dist/web-server/health/system-checks.js +0 -127
  861. package/dist/web-server/health/system-checks.js.map +0 -1
  862. package/dist/web-server/health/types.d.ts +0 -34
  863. package/dist/web-server/health/types.d.ts.map +0 -1
  864. package/dist/web-server/health/types.js +0 -8
  865. package/dist/web-server/health/types.js.map +0 -1
  866. package/dist/web-server/health/websearch-checks.d.ts +0 -11
  867. package/dist/web-server/health/websearch-checks.d.ts.map +0 -1
  868. package/dist/web-server/health/websearch-checks.js +0 -53
  869. package/dist/web-server/health/websearch-checks.js.map +0 -1
  870. package/dist/web-server/health-service.d.ts +0 -20
  871. package/dist/web-server/health-service.d.ts.map +0 -1
  872. package/dist/web-server/health-service.js +0 -162
  873. package/dist/web-server/health-service.js.map +0 -1
  874. package/dist/web-server/index.d.ts +0 -25
  875. package/dist/web-server/index.d.ts.map +0 -1
  876. package/dist/web-server/index.js +0 -118
  877. package/dist/web-server/index.js.map +0 -1
  878. package/dist/web-server/jsonl-parser.d.ts +0 -68
  879. package/dist/web-server/jsonl-parser.d.ts.map +0 -1
  880. package/dist/web-server/jsonl-parser.js +0 -214
  881. package/dist/web-server/jsonl-parser.js.map +0 -1
  882. package/dist/web-server/middleware/auth-middleware.d.ts +0 -27
  883. package/dist/web-server/middleware/auth-middleware.d.ts.map +0 -1
  884. package/dist/web-server/middleware/auth-middleware.js +0 -116
  885. package/dist/web-server/middleware/auth-middleware.js.map +0 -1
  886. package/dist/web-server/model-pricing.d.ts +0 -42
  887. package/dist/web-server/model-pricing.d.ts.map +0 -1
  888. package/dist/web-server/model-pricing.js +0 -669
  889. package/dist/web-server/model-pricing.js.map +0 -1
  890. package/dist/web-server/overview-routes.d.ts +0 -7
  891. package/dist/web-server/overview-routes.d.ts.map +0 -1
  892. package/dist/web-server/overview-routes.js +0 -75
  893. package/dist/web-server/overview-routes.js.map +0 -1
  894. package/dist/web-server/routes/account-routes.d.ts +0 -9
  895. package/dist/web-server/routes/account-routes.d.ts.map +0 -1
  896. package/dist/web-server/routes/account-routes.js +0 -274
  897. package/dist/web-server/routes/account-routes.js.map +0 -1
  898. package/dist/web-server/routes/auth-routes.d.ts +0 -7
  899. package/dist/web-server/routes/auth-routes.d.ts.map +0 -1
  900. package/dist/web-server/routes/auth-routes.js +0 -108
  901. package/dist/web-server/routes/auth-routes.js.map +0 -1
  902. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +0 -3
  903. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +0 -1
  904. package/dist/web-server/routes/cliproxy-auth-routes.js +0 -610
  905. package/dist/web-server/routes/cliproxy-auth-routes.js.map +0 -1
  906. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +0 -6
  907. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +0 -1
  908. package/dist/web-server/routes/cliproxy-stats-routes.js +0 -681
  909. package/dist/web-server/routes/cliproxy-stats-routes.js.map +0 -1
  910. package/dist/web-server/routes/cliproxy-sync-routes.d.ts +0 -6
  911. package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +0 -1
  912. package/dist/web-server/routes/cliproxy-sync-routes.js +0 -157
  913. package/dist/web-server/routes/cliproxy-sync-routes.js.map +0 -1
  914. package/dist/web-server/routes/config-routes.d.ts +0 -6
  915. package/dist/web-server/routes/config-routes.d.ts.map +0 -1
  916. package/dist/web-server/routes/config-routes.js +0 -130
  917. package/dist/web-server/routes/config-routes.js.map +0 -1
  918. package/dist/web-server/routes/copilot-routes.d.ts +0 -6
  919. package/dist/web-server/routes/copilot-routes.d.ts.map +0 -1
  920. package/dist/web-server/routes/copilot-routes.js +0 -195
  921. package/dist/web-server/routes/copilot-routes.js.map +0 -1
  922. package/dist/web-server/routes/copilot-settings-routes.d.ts +0 -6
  923. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +0 -1
  924. package/dist/web-server/routes/copilot-settings-routes.js +0 -122
  925. package/dist/web-server/routes/copilot-settings-routes.js.map +0 -1
  926. package/dist/web-server/routes/health-routes.d.ts +0 -6
  927. package/dist/web-server/routes/health-routes.d.ts.map +0 -1
  928. package/dist/web-server/routes/health-routes.js +0 -40
  929. package/dist/web-server/routes/health-routes.js.map +0 -1
  930. package/dist/web-server/routes/index.d.ts +0 -8
  931. package/dist/web-server/routes/index.d.ts.map +0 -1
  932. package/dist/web-server/routes/index.js +0 -62
  933. package/dist/web-server/routes/index.js.map +0 -1
  934. package/dist/web-server/routes/misc-routes.d.ts +0 -6
  935. package/dist/web-server/routes/misc-routes.d.ts.map +0 -1
  936. package/dist/web-server/routes/misc-routes.js +0 -396
  937. package/dist/web-server/routes/misc-routes.js.map +0 -1
  938. package/dist/web-server/routes/persist-routes.d.ts +0 -6
  939. package/dist/web-server/routes/persist-routes.d.ts.map +0 -1
  940. package/dist/web-server/routes/persist-routes.js +0 -286
  941. package/dist/web-server/routes/persist-routes.js.map +0 -1
  942. package/dist/web-server/routes/profile-routes.d.ts +0 -9
  943. package/dist/web-server/routes/profile-routes.d.ts.map +0 -1
  944. package/dist/web-server/routes/profile-routes.js +0 -116
  945. package/dist/web-server/routes/profile-routes.js.map +0 -1
  946. package/dist/web-server/routes/provider-routes.d.ts +0 -6
  947. package/dist/web-server/routes/provider-routes.d.ts.map +0 -1
  948. package/dist/web-server/routes/provider-routes.js +0 -146
  949. package/dist/web-server/routes/provider-routes.js.map +0 -1
  950. package/dist/web-server/routes/proxy-routes.d.ts +0 -11
  951. package/dist/web-server/routes/proxy-routes.d.ts.map +0 -1
  952. package/dist/web-server/routes/proxy-routes.js +0 -154
  953. package/dist/web-server/routes/proxy-routes.js.map +0 -1
  954. package/dist/web-server/routes/route-helpers.d.ts +0 -50
  955. package/dist/web-server/routes/route-helpers.d.ts.map +0 -1
  956. package/dist/web-server/routes/route-helpers.js +0 -179
  957. package/dist/web-server/routes/route-helpers.js.map +0 -1
  958. package/dist/web-server/routes/settings-routes.d.ts +0 -6
  959. package/dist/web-server/routes/settings-routes.d.ts.map +0 -1
  960. package/dist/web-server/routes/settings-routes.js +0 -413
  961. package/dist/web-server/routes/settings-routes.js.map +0 -1
  962. package/dist/web-server/routes/variant-routes.d.ts +0 -8
  963. package/dist/web-server/routes/variant-routes.d.ts.map +0 -1
  964. package/dist/web-server/routes/variant-routes.js +0 -119
  965. package/dist/web-server/routes/variant-routes.js.map +0 -1
  966. package/dist/web-server/routes/websearch-routes.d.ts +0 -6
  967. package/dist/web-server/routes/websearch-routes.d.ts.map +0 -1
  968. package/dist/web-server/routes/websearch-routes.js +0 -130
  969. package/dist/web-server/routes/websearch-routes.js.map +0 -1
  970. package/dist/web-server/services/index.d.ts +0 -7
  971. package/dist/web-server/services/index.d.ts.map +0 -1
  972. package/dist/web-server/services/index.js +0 -21
  973. package/dist/web-server/services/index.js.map +0 -1
  974. package/dist/web-server/services/usage-aggregator.d.ts +0 -7
  975. package/dist/web-server/services/usage-aggregator.d.ts.map +0 -1
  976. package/dist/web-server/services/usage-aggregator.js +0 -23
  977. package/dist/web-server/services/usage-aggregator.js.map +0 -1
  978. package/dist/web-server/shared-routes.d.ts +0 -7
  979. package/dist/web-server/shared-routes.d.ts.map +0 -1
  980. package/dist/web-server/shared-routes.js +0 -168
  981. package/dist/web-server/shared-routes.js.map +0 -1
  982. package/dist/web-server/shutdown.d.ts +0 -14
  983. package/dist/web-server/shutdown.d.ts.map +0 -1
  984. package/dist/web-server/shutdown.js +0 -29
  985. package/dist/web-server/shutdown.js.map +0 -1
  986. package/dist/web-server/usage/aggregator.d.ts +0 -54
  987. package/dist/web-server/usage/aggregator.d.ts.map +0 -1
  988. package/dist/web-server/usage/aggregator.js +0 -470
  989. package/dist/web-server/usage/aggregator.js.map +0 -1
  990. package/dist/web-server/usage/data-aggregator.d.ts +0 -55
  991. package/dist/web-server/usage/data-aggregator.d.ts.map +0 -1
  992. package/dist/web-server/usage/data-aggregator.js +0 -391
  993. package/dist/web-server/usage/data-aggregator.js.map +0 -1
  994. package/dist/web-server/usage/disk-cache.d.ts +0 -46
  995. package/dist/web-server/usage/disk-cache.d.ts.map +0 -1
  996. package/dist/web-server/usage/disk-cache.js +0 -162
  997. package/dist/web-server/usage/disk-cache.js.map +0 -1
  998. package/dist/web-server/usage/handlers.d.ts +0 -50
  999. package/dist/web-server/usage/handlers.d.ts.map +0 -1
  1000. package/dist/web-server/usage/handlers.js +0 -524
  1001. package/dist/web-server/usage/handlers.js.map +0 -1
  1002. package/dist/web-server/usage/index.d.ts +0 -12
  1003. package/dist/web-server/usage/index.d.ts.map +0 -1
  1004. package/dist/web-server/usage/index.js +0 -54
  1005. package/dist/web-server/usage/index.js.map +0 -1
  1006. package/dist/web-server/usage/routes.d.ts +0 -11
  1007. package/dist/web-server/usage/routes.d.ts.map +0 -1
  1008. package/dist/web-server/usage/routes.js +0 -37
  1009. package/dist/web-server/usage/routes.js.map +0 -1
  1010. package/dist/web-server/usage/types.d.ts +0 -119
  1011. package/dist/web-server/usage/types.d.ts.map +0 -1
  1012. package/dist/web-server/usage/types.js +0 -9
  1013. package/dist/web-server/usage/types.js.map +0 -1
  1014. package/dist/web-server/usage-disk-cache.d.ts +0 -7
  1015. package/dist/web-server/usage-disk-cache.d.ts.map +0 -1
  1016. package/dist/web-server/usage-disk-cache.js +0 -23
  1017. package/dist/web-server/usage-disk-cache.js.map +0 -1
  1018. package/dist/web-server/usage-routes.d.ts +0 -7
  1019. package/dist/web-server/usage-routes.d.ts.map +0 -1
  1020. package/dist/web-server/usage-routes.js +0 -14
  1021. package/dist/web-server/usage-routes.js.map +0 -1
  1022. package/dist/web-server/usage-types.d.ts +0 -7
  1023. package/dist/web-server/usage-types.d.ts.map +0 -1
  1024. package/dist/web-server/usage-types.js +0 -23
  1025. package/dist/web-server/usage-types.js.map +0 -1
  1026. package/dist/web-server/websocket.d.ts +0 -15
  1027. package/dist/web-server/websocket.d.ts.map +0 -1
  1028. package/dist/web-server/websocket.js +0 -162
  1029. package/dist/web-server/websocket.js.map +0 -1
  1030. package/lib/hooks/block-websearch.cjs +0 -75
  1031. package/lib/hooks/websearch-transformer.cjs +0 -632
  1032. /package/dist/{cliproxy → proxy}/tool-name-mapper.d.ts +0 -0
  1033. /package/dist/{cliproxy → proxy}/tool-sanitization-proxy.d.ts +0 -0
@@ -1,1099 +0,0 @@
1
- "use strict";
2
- /**
3
- * CLIProxy Command Handler
4
- *
5
- * Manages CLIProxyAPI binary installation and profile variants.
6
- *
7
- * Binary commands:
8
- * ccs cliproxy Show current version
9
- * ccs cliproxy --install <ver> Install specific version
10
- * ccs cliproxy --latest Install latest version
11
- *
12
- * Profile commands:
13
- * ccs cliproxy create <name> Create CLIProxy variant profile
14
- * ccs cliproxy list List all CLIProxy variant profiles
15
- * ccs cliproxy remove <name> Remove CLIProxy variant profile
16
- *
17
- * Supports dual-mode configuration:
18
- * - Unified YAML format (config.yaml) when CCS_UNIFIED_CONFIG=1 or config.yaml exists
19
- * - Legacy JSON format (config.json) as fallback
20
- */
21
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- var desc = Object.getOwnPropertyDescriptor(m, k);
24
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
- desc = { enumerable: true, get: function() { return m[k]; } };
26
- }
27
- Object.defineProperty(o, k2, desc);
28
- }) : (function(o, m, k, k2) {
29
- if (k2 === undefined) k2 = k;
30
- o[k2] = m[k];
31
- }));
32
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
33
- Object.defineProperty(o, "default", { enumerable: true, value: v });
34
- }) : function(o, v) {
35
- o["default"] = v;
36
- });
37
- var __importStar = (this && this.__importStar) || function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
41
- __setModuleDefault(result, mod);
42
- return result;
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.handleCliproxyCommand = void 0;
46
- const path = __importStar(require("path"));
47
- const auth_handler_1 = require("../cliproxy/auth-handler");
48
- const account_manager_1 = require("../cliproxy/account-manager");
49
- const quota_fetcher_1 = require("../cliproxy/quota-fetcher");
50
- const quota_fetcher_codex_1 = require("../cliproxy/quota-fetcher-codex");
51
- const quota_fetcher_gemini_cli_1 = require("../cliproxy/quota-fetcher-gemini-cli");
52
- const quota_manager_1 = require("../cliproxy/quota-manager");
53
- const platform_detector_1 = require("../cliproxy/platform-detector");
54
- const profile_detector_1 = require("../auth/profile-detector");
55
- const model_catalog_1 = require("../cliproxy/model-catalog");
56
- const unified_config_loader_1 = require("../config/unified-config-loader");
57
- const ui_1 = require("../utils/ui");
58
- const prompt_1 = require("../utils/prompt");
59
- // Import services
60
- const services_1 = require("../cliproxy/services");
61
- // Import sync handler
62
- const cliproxy_sync_handler_1 = require("./cliproxy-sync-handler");
63
- // ============================================================================
64
- // ARGUMENT PARSING
65
- // ============================================================================
66
- /**
67
- * Parse --provider flag from args for quota command
68
- * Returns the provider filter value and remaining args
69
- * Accepts: agy, codex, gemini, gemini-cli, all
70
- */
71
- function parseProviderArg(args) {
72
- const providerIdx = args.indexOf('--provider');
73
- if (providerIdx === -1) {
74
- // Also check for --provider=value format
75
- const providerEqualsIdx = args.findIndex((a) => a.startsWith('--provider='));
76
- if (providerEqualsIdx !== -1) {
77
- const value = args[providerEqualsIdx].split('=')[1]?.toLowerCase() || '';
78
- const remainingArgs = [...args];
79
- remainingArgs.splice(providerEqualsIdx, 1);
80
- // Handle empty value
81
- if (!value) {
82
- console.error((0, ui_1.warn)('--provider requires a value. Valid options: agy, codex, gemini, gemini-cli, all'));
83
- return { provider: 'all', remainingArgs };
84
- }
85
- // Normalize gemini-cli to gemini
86
- const normalized = value === 'gemini-cli' ? 'gemini' : value;
87
- if (normalized !== 'agy' &&
88
- normalized !== 'codex' &&
89
- normalized !== 'gemini' &&
90
- normalized !== 'all') {
91
- console.error((0, ui_1.warn)(`Invalid provider '${value}'. Valid options: agy, codex, gemini, gemini-cli, all`));
92
- return { provider: 'all', remainingArgs };
93
- }
94
- return { provider: normalized, remainingArgs };
95
- }
96
- return { provider: 'all', remainingArgs: args };
97
- }
98
- const value = args[providerIdx + 1]?.toLowerCase() || 'all';
99
- const remainingArgs = [...args];
100
- remainingArgs.splice(providerIdx, 2);
101
- // Normalize gemini-cli to gemini
102
- const normalized = value === 'gemini-cli' ? 'gemini' : value;
103
- if (normalized !== 'agy' &&
104
- normalized !== 'codex' &&
105
- normalized !== 'gemini' &&
106
- normalized !== 'all') {
107
- console.error((0, ui_1.warn)(`Invalid provider '${value}'. Valid options: agy, codex, gemini, gemini-cli, all`));
108
- return { provider: 'all', remainingArgs };
109
- }
110
- return { provider: normalized, remainingArgs };
111
- }
112
- /**
113
- * Parse --backend flag from args
114
- * Returns the backend value and remaining args without --backend flag
115
- */
116
- function parseBackendArg(args) {
117
- const backendIdx = args.indexOf('--backend');
118
- if (backendIdx === -1) {
119
- // Also check for --backend=value format
120
- const backendEqualsIdx = args.findIndex((a) => a.startsWith('--backend='));
121
- if (backendEqualsIdx !== -1) {
122
- const value = args[backendEqualsIdx].split('=')[1];
123
- if (value !== 'original' && value !== 'plus') {
124
- (0, ui_1.warn)(`Invalid backend '${value}'. Valid options: original, plus`);
125
- return { backend: undefined, remainingArgs: args };
126
- }
127
- const remainingArgs = [...args];
128
- remainingArgs.splice(backendEqualsIdx, 1);
129
- return { backend: value, remainingArgs };
130
- }
131
- return { backend: undefined, remainingArgs: args };
132
- }
133
- const value = args[backendIdx + 1];
134
- if (value !== 'original' && value !== 'plus') {
135
- (0, ui_1.warn)(`Invalid backend '${value}'. Valid options: original, plus`);
136
- return { backend: undefined, remainingArgs: args };
137
- }
138
- const remainingArgs = [...args];
139
- remainingArgs.splice(backendIdx, 2);
140
- return { backend: value, remainingArgs };
141
- }
142
- /**
143
- * Get effective backend (CLI flag > config.yaml > default)
144
- */
145
- function getEffectiveBackend(cliBackend) {
146
- if (cliBackend)
147
- return cliBackend;
148
- const config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
149
- return config.cliproxy?.backend ?? platform_detector_1.DEFAULT_BACKEND;
150
- }
151
- /**
152
- * Get display label for backend
153
- */
154
- function getBackendLabel(backend) {
155
- return backend === 'plus' ? 'CLIProxy Plus' : 'CLIProxy';
156
- }
157
- function parseProfileArgs(args) {
158
- const result = {};
159
- for (let i = 0; i < args.length; i++) {
160
- const arg = args[i];
161
- if (arg === '--provider' && args[i + 1]) {
162
- result.provider = args[++i];
163
- }
164
- else if (arg === '--model' && args[i + 1]) {
165
- result.model = args[++i];
166
- }
167
- else if (arg === '--account' && args[i + 1]) {
168
- result.account = args[++i];
169
- }
170
- else if (arg === '--force') {
171
- result.force = true;
172
- }
173
- else if (arg === '--yes' || arg === '-y') {
174
- result.yes = true;
175
- }
176
- else if (!arg.startsWith('-') && !result.name) {
177
- result.name = arg;
178
- }
179
- }
180
- return result;
181
- }
182
- function formatModelOption(model) {
183
- const tierBadge = model.tier === 'ultra'
184
- ? (0, ui_1.color)(' [Ultra]', 'warning')
185
- : model.tier === 'pro'
186
- ? (0, ui_1.color)(' [Pro]', 'warning')
187
- : '';
188
- return `${model.name}${tierBadge}`;
189
- }
190
- // ============================================================================
191
- // COMMAND HANDLERS
192
- // ============================================================================
193
- async function handleCreate(args) {
194
- await (0, ui_1.initUI)();
195
- const { backend } = parseBackendArg(args);
196
- const effectiveBackend = getEffectiveBackend(backend);
197
- const parsedArgs = parseProfileArgs(args);
198
- console.log((0, ui_1.header)(`Create ${getBackendLabel(effectiveBackend)} Variant`));
199
- console.log('');
200
- // Step 1: Profile name
201
- let name = parsedArgs.name;
202
- if (!name) {
203
- name = await prompt_1.InteractivePrompt.input('Variant name (e.g., g3, flash, pro)', {
204
- validate: services_1.validateProfileName,
205
- });
206
- }
207
- else {
208
- const error = (0, services_1.validateProfileName)(name);
209
- if (error) {
210
- console.log((0, ui_1.fail)(error));
211
- process.exit(1);
212
- }
213
- }
214
- if ((0, services_1.variantExists)(name) && !parsedArgs.force) {
215
- console.log((0, ui_1.fail)(`Variant '${name}' already exists`));
216
- console.log(` Use ${(0, ui_1.color)('--force', 'command')} to overwrite`);
217
- process.exit(1);
218
- }
219
- // Step 2: Provider selection
220
- let provider = parsedArgs.provider;
221
- if (!provider) {
222
- const providerOptions = profile_detector_1.CLIPROXY_PROFILES.map((p) => ({
223
- id: p,
224
- label: p.charAt(0).toUpperCase() + p.slice(1),
225
- }));
226
- provider = (await prompt_1.InteractivePrompt.selectFromList('Select provider:', providerOptions));
227
- }
228
- else if (!profile_detector_1.CLIPROXY_PROFILES.includes(provider)) {
229
- console.log((0, ui_1.fail)(`Invalid provider: ${provider}`));
230
- console.log(` Available: ${profile_detector_1.CLIPROXY_PROFILES.join(', ')}`);
231
- process.exit(1);
232
- }
233
- // Step 2.5: Account selection
234
- let account = parsedArgs.account;
235
- const providerAccounts = (0, account_manager_1.getProviderAccounts)(provider);
236
- if (!account) {
237
- if (providerAccounts.length === 0) {
238
- console.log('');
239
- console.log((0, ui_1.warn)(`No accounts authenticated for ${provider}`));
240
- console.log('');
241
- const shouldAuth = await prompt_1.InteractivePrompt.confirm(`Authenticate with ${provider} now?`, {
242
- default: true,
243
- });
244
- if (!shouldAuth) {
245
- console.log('');
246
- console.log((0, ui_1.info)('Run authentication first:'));
247
- console.log(` ${(0, ui_1.color)(`ccs ${provider} --auth`, 'command')}`);
248
- process.exit(0);
249
- }
250
- console.log('');
251
- const newAccount = await (0, auth_handler_1.triggerOAuth)(provider, {
252
- add: true,
253
- verbose: args.includes('--verbose'),
254
- });
255
- if (!newAccount) {
256
- console.log((0, ui_1.fail)('Authentication failed'));
257
- process.exit(1);
258
- }
259
- account = newAccount.id;
260
- console.log('');
261
- console.log((0, ui_1.ok)(`Authenticated as ${newAccount.email || newAccount.id}`));
262
- }
263
- else if (providerAccounts.length === 1) {
264
- account = providerAccounts[0].id;
265
- }
266
- else {
267
- const ADD_NEW_ID = '__add_new__';
268
- const accountOptions = [
269
- ...providerAccounts.map((acc) => ({
270
- id: acc.id,
271
- label: `${acc.email || acc.id}${acc.isDefault ? ' (default)' : ''}`,
272
- })),
273
- { id: ADD_NEW_ID, label: (0, ui_1.color)('[+ Add new account...]', 'info') },
274
- ];
275
- const defaultIdx = providerAccounts.findIndex((a) => a.isDefault);
276
- const selectedAccount = await prompt_1.InteractivePrompt.selectFromList('Select account:', accountOptions, { defaultIndex: defaultIdx >= 0 ? defaultIdx : 0 });
277
- if (selectedAccount === ADD_NEW_ID) {
278
- console.log('');
279
- const newAccount = await (0, auth_handler_1.triggerOAuth)(provider, {
280
- add: true,
281
- verbose: args.includes('--verbose'),
282
- });
283
- if (!newAccount) {
284
- console.log((0, ui_1.fail)('Authentication failed'));
285
- process.exit(1);
286
- }
287
- account = newAccount.id;
288
- console.log('');
289
- console.log((0, ui_1.ok)(`Authenticated as ${newAccount.email || newAccount.id}`));
290
- }
291
- else {
292
- account = selectedAccount;
293
- }
294
- }
295
- }
296
- else {
297
- const exists = providerAccounts.find((a) => a.id === account);
298
- if (!exists) {
299
- console.log((0, ui_1.fail)(`Account '${account}' not found for ${provider}`));
300
- console.log('');
301
- console.log('Available accounts:');
302
- providerAccounts.forEach((a) => console.log(` - ${a.email || a.id}${a.isDefault ? ' (default)' : ''}`));
303
- process.exit(1);
304
- }
305
- }
306
- // Step 3: Model selection
307
- let model = parsedArgs.model;
308
- if (!model) {
309
- if ((0, model_catalog_1.supportsModelConfig)(provider)) {
310
- const catalog = (0, model_catalog_1.getProviderCatalog)(provider);
311
- if (catalog) {
312
- const modelOptions = catalog.models.map((m) => ({ id: m.id, label: formatModelOption(m) }));
313
- const defaultIdx = catalog.models.findIndex((m) => m.id === catalog.defaultModel);
314
- model = await prompt_1.InteractivePrompt.selectFromList('Select model:', modelOptions, {
315
- defaultIndex: defaultIdx >= 0 ? defaultIdx : 0,
316
- });
317
- }
318
- }
319
- if (!model) {
320
- model = await prompt_1.InteractivePrompt.input('Model name', {
321
- validate: (val) => (val ? null : 'Model is required'),
322
- });
323
- }
324
- }
325
- // Create variant
326
- console.log('');
327
- console.log((0, ui_1.info)(`Creating ${getBackendLabel(effectiveBackend)} variant...`));
328
- const result = (0, services_1.createVariant)(name, provider, model, account);
329
- if (!result.success) {
330
- console.log((0, ui_1.fail)(`Failed to create variant: ${result.error}`));
331
- process.exit(1);
332
- }
333
- console.log('');
334
- const configType = (0, unified_config_loader_1.isUnifiedMode)()
335
- ? 'CLIProxy Variant Created (Unified Config)'
336
- : 'CLIProxy Variant Created';
337
- const settingsDisplay = (0, unified_config_loader_1.isUnifiedMode)()
338
- ? '~/.ccs/config.yaml'
339
- : `~/.ccs/${path.basename(result.settingsPath || '')}`;
340
- const portInfo = result.variant?.port ? `Port: ${result.variant.port}\n` : '';
341
- console.log((0, ui_1.infoBox)(`Variant: ${name}\nProvider: ${provider}\nModel: ${model}\n${portInfo}${account ? `Account: ${account}\n` : ''}${(0, unified_config_loader_1.isUnifiedMode)() ? 'Config' : 'Settings'}: ${settingsDisplay}`, configType));
342
- console.log('');
343
- console.log((0, ui_1.header)('Usage'));
344
- console.log(` ${(0, ui_1.color)(`ccs ${name} "your prompt"`, 'command')}`);
345
- console.log('');
346
- console.log((0, ui_1.dim)('To change model later:'));
347
- console.log(` ${(0, ui_1.color)(`ccs ${name} --config`, 'command')}`);
348
- console.log('');
349
- }
350
- async function handleList() {
351
- await (0, ui_1.initUI)();
352
- console.log((0, ui_1.header)('CLIProxy Profiles'));
353
- console.log('');
354
- // Built-in profiles
355
- console.log((0, ui_1.subheader)('Built-in Profiles'));
356
- const authStatuses = (0, auth_handler_1.getAllAuthStatus)();
357
- for (const status of authStatuses) {
358
- const oauthConfig = (0, auth_handler_1.getOAuthConfig)(status.provider);
359
- const icon = status.authenticated ? (0, ui_1.ok)('') : (0, ui_1.warn)('');
360
- const authLabel = status.authenticated
361
- ? (0, ui_1.color)('authenticated', 'success')
362
- : (0, ui_1.dim)('not authenticated');
363
- const lastAuthStr = status.lastAuth ? (0, ui_1.dim)(` (${status.lastAuth.toLocaleDateString()})`) : '';
364
- console.log(` ${icon} ${(0, ui_1.color)(status.provider, 'command').padEnd(18)} ${oauthConfig.displayName.padEnd(16)} ${authLabel}${lastAuthStr}`);
365
- }
366
- console.log('');
367
- console.log((0, ui_1.dim)(' To authenticate: ccs <provider> --auth'));
368
- console.log((0, ui_1.dim)(' To logout: ccs <provider> --logout'));
369
- console.log('');
370
- // Custom variants
371
- const variants = (0, services_1.listVariants)();
372
- const variantNames = Object.keys(variants);
373
- if (variantNames.length > 0) {
374
- console.log((0, ui_1.subheader)('Custom Variants'));
375
- const rows = variantNames.map((name) => {
376
- const variant = variants[name];
377
- const portStr = variant.port ? String(variant.port) : '-';
378
- return [name, variant.provider, portStr, variant.settings || '-'];
379
- });
380
- console.log((0, ui_1.table)(rows, { head: ['Variant', 'Provider', 'Port', 'Settings'], colWidths: [15, 12, 8, 30] }));
381
- console.log('');
382
- console.log((0, ui_1.dim)(`Total: ${variantNames.length} custom variant(s)`));
383
- console.log('');
384
- }
385
- console.log((0, ui_1.dim)('To create a custom variant:'));
386
- console.log(` ${(0, ui_1.color)('ccs cliproxy create', 'command')}`);
387
- console.log('');
388
- }
389
- async function handleRemove(args) {
390
- await (0, ui_1.initUI)();
391
- const parsedArgs = parseProfileArgs(args);
392
- const variants = (0, services_1.listVariants)();
393
- const variantNames = Object.keys(variants);
394
- if (variantNames.length === 0) {
395
- console.log((0, ui_1.warn)('No CLIProxy variants to remove'));
396
- process.exit(0);
397
- }
398
- let name = parsedArgs.name;
399
- if (!name) {
400
- console.log((0, ui_1.header)('Remove CLIProxy Variant'));
401
- console.log('');
402
- console.log('Available variants:');
403
- variantNames.forEach((n, i) => console.log(` ${i + 1}. ${n} (${variants[n].provider})`));
404
- console.log('');
405
- name = await prompt_1.InteractivePrompt.input('Variant name to remove', {
406
- validate: (val) => {
407
- if (!val)
408
- return 'Variant name is required';
409
- if (!variantNames.includes(val))
410
- return `Variant '${val}' not found`;
411
- return null;
412
- },
413
- });
414
- }
415
- if (!variantNames.includes(name)) {
416
- console.log((0, ui_1.fail)(`Variant '${name}' not found`));
417
- console.log('');
418
- console.log('Available variants:');
419
- variantNames.forEach((n) => console.log(` - ${n}`));
420
- process.exit(1);
421
- }
422
- const variant = variants[name];
423
- console.log('');
424
- console.log(`Variant '${(0, ui_1.color)(name, 'command')}' will be removed.`);
425
- console.log(` Provider: ${variant.provider}`);
426
- if (variant.port) {
427
- console.log(` Port: ${variant.port}`);
428
- }
429
- console.log(` Settings: ${variant.settings || '-'}`);
430
- console.log('');
431
- const confirmed = parsedArgs.yes || (await prompt_1.InteractivePrompt.confirm('Delete this variant?', { default: false }));
432
- if (!confirmed) {
433
- console.log((0, ui_1.info)('Cancelled'));
434
- process.exit(0);
435
- }
436
- const result = (0, services_1.removeVariant)(name);
437
- if (!result.success) {
438
- console.log((0, ui_1.fail)(`Failed to remove variant: ${result.error}`));
439
- process.exit(1);
440
- }
441
- console.log((0, ui_1.ok)(`Variant removed: ${name}`));
442
- console.log('');
443
- }
444
- async function handleStop() {
445
- await (0, ui_1.initUI)();
446
- console.log((0, ui_1.header)('Stop CLIProxy'));
447
- console.log('');
448
- const result = await (0, services_1.stopProxy)();
449
- if (result.stopped) {
450
- console.log((0, ui_1.ok)(`CLIProxy stopped (PID ${result.pid})`));
451
- if (result.sessionCount && result.sessionCount > 0) {
452
- console.log((0, ui_1.info)(`${result.sessionCount} active session(s) were disconnected`));
453
- }
454
- }
455
- else {
456
- console.log((0, ui_1.warn)(result.error || 'Failed to stop CLIProxy'));
457
- }
458
- console.log('');
459
- }
460
- async function handleProxyStatus() {
461
- await (0, ui_1.initUI)();
462
- console.log((0, ui_1.header)('CLIProxy Status'));
463
- console.log('');
464
- const status = (0, services_1.getProxyStatus)();
465
- if (status.running) {
466
- console.log(` Status: ${(0, ui_1.color)('Running', 'success')}`);
467
- console.log(` PID: ${status.pid}`);
468
- console.log(` Port: ${status.port}`);
469
- console.log(` Sessions: ${status.sessionCount || 0} active`);
470
- if (status.startedAt) {
471
- console.log(` Started: ${new Date(status.startedAt).toLocaleString()}`);
472
- }
473
- console.log('');
474
- console.log((0, ui_1.dim)('To stop: ccs cliproxy stop'));
475
- }
476
- else {
477
- console.log(` Status: ${(0, ui_1.color)('Not running', 'warning')}`);
478
- console.log('');
479
- console.log((0, ui_1.dim)('CLIProxy starts automatically when you run ccs gemini, codex, etc.'));
480
- }
481
- console.log('');
482
- }
483
- async function showStatus(verbose, backend) {
484
- await (0, ui_1.initUI)();
485
- const status = (0, services_1.getBinaryStatus)(backend);
486
- console.log('');
487
- const backendLabel = getBackendLabel(backend);
488
- console.log((0, ui_1.color)(`${backendLabel} Status`, 'primary'));
489
- console.log('');
490
- console.log(` Backend: ${(0, ui_1.color)(backend, 'info')}${backend === platform_detector_1.DEFAULT_BACKEND ? (0, ui_1.dim)(' (default)') : ''}`);
491
- if (status.installed) {
492
- console.log(` Installed: ${(0, ui_1.color)('Yes', 'success')}`);
493
- const versionLabel = status.pinnedVersion
494
- ? `${(0, ui_1.color)(`v${status.currentVersion}`, 'info')} ${(0, ui_1.color)('(pinned)', 'warning')}`
495
- : (0, ui_1.color)(`v${status.currentVersion}`, 'info');
496
- console.log(` Version: ${versionLabel}`);
497
- console.log(` Binary: ${(0, ui_1.dim)(status.binaryPath)}`);
498
- }
499
- else {
500
- console.log(` Installed: ${(0, ui_1.color)('No', 'error')}`);
501
- console.log(` Fallback: ${(0, ui_1.color)(`v${status.fallbackVersion}`, 'info')}`);
502
- console.log(` ${(0, ui_1.dim)('Run "ccs gemini" or any provider to auto-install')}`);
503
- }
504
- const latestCheck = await (0, services_1.checkLatestVersion)();
505
- if (latestCheck.success && latestCheck.latestVersion) {
506
- console.log('');
507
- if (latestCheck.updateAvailable) {
508
- if (status.pinnedVersion) {
509
- console.log(` Latest: ${(0, ui_1.color)(`v${latestCheck.latestVersion}`, 'success')} ${(0, ui_1.dim)('(pinned to v' + status.pinnedVersion + ')')}`);
510
- console.log('');
511
- console.log(` ${(0, ui_1.dim)('Run "ccs cliproxy --update" to unpin and update')}`);
512
- }
513
- else {
514
- console.log(` Latest: ${(0, ui_1.color)(`v${latestCheck.latestVersion}`, 'success')} ${(0, ui_1.dim)('(update available)')}`);
515
- console.log('');
516
- console.log(` ${(0, ui_1.dim)('Run "ccs cliproxy --latest" to update')}`);
517
- }
518
- }
519
- else {
520
- console.log(` Latest: ${(0, ui_1.color)(`v${latestCheck.latestVersion}`, 'success')} ${(0, ui_1.dim)('(up to date)')}`);
521
- }
522
- }
523
- else if (verbose && latestCheck.error) {
524
- console.log(` Latest: ${(0, ui_1.dim)(`Could not fetch (${latestCheck.error})`)}`);
525
- }
526
- console.log('');
527
- console.log((0, ui_1.dim)('Run "ccs cliproxy --help" for all available commands'));
528
- console.log('');
529
- }
530
- async function handleInstallVersion(version, verbose, backend) {
531
- const label = getBackendLabel(backend);
532
- console.log((0, ui_1.info)(`Installing ${label} v${version}...`));
533
- console.log('');
534
- const result = await (0, services_1.installVersion)(version, verbose, backend);
535
- if (!result.success) {
536
- console.error('');
537
- console.error((0, ui_1.fail)(`Failed to install ${label} v${version}`));
538
- console.error(` ${result.error}`);
539
- console.error('');
540
- console.error('Possible causes:');
541
- console.error(' 1. Version does not exist on GitHub');
542
- console.error(' 2. Network connectivity issues');
543
- console.error(' 3. GitHub API rate limiting');
544
- console.error('');
545
- console.error('Check available versions at:');
546
- console.error(` https://github.com/${platform_detector_1.BACKEND_CONFIG[backend].repo}/releases`);
547
- process.exit(1);
548
- }
549
- console.log('');
550
- console.log((0, ui_1.ok)(`${label} v${version} installed (pinned)`));
551
- console.log('');
552
- console.log((0, ui_1.dim)('This version will be used until you run:'));
553
- console.log(` ${(0, ui_1.color)('ccs cliproxy --update', 'command')} ${(0, ui_1.dim)('# Update to latest and unpin')}`);
554
- console.log('');
555
- }
556
- async function handleInstallLatest(verbose, backend) {
557
- const label = getBackendLabel(backend);
558
- console.log((0, ui_1.info)(`Fetching latest ${label} version...`));
559
- const result = await (0, services_1.installLatest)(verbose, backend);
560
- if (!result.success) {
561
- console.error((0, ui_1.fail)(`Failed to install latest version: ${result.error}`));
562
- process.exit(1);
563
- }
564
- if (result.error?.startsWith('Already')) {
565
- console.log((0, ui_1.ok)(result.error));
566
- return;
567
- }
568
- console.log('');
569
- console.log((0, ui_1.ok)(`${label} updated to v${result.version}`));
570
- console.log((0, ui_1.dim)('Auto-update is now enabled.'));
571
- console.log('');
572
- }
573
- async function showHelp() {
574
- await (0, ui_1.initUI)();
575
- console.log('');
576
- console.log((0, ui_1.header)('CLIProxy Management'));
577
- console.log('');
578
- console.log((0, ui_1.subheader)('Usage:'));
579
- console.log(` ${(0, ui_1.color)('ccs cliproxy', 'command')} <command> [options]`);
580
- console.log('');
581
- const sections = [
582
- [
583
- 'Profile Commands:',
584
- [
585
- ['create [name]', 'Create new CLIProxy variant profile'],
586
- ['list', 'List all CLIProxy variant profiles'],
587
- ['remove <name>', 'Remove a CLIProxy variant profile'],
588
- ],
589
- ],
590
- [
591
- 'Local Sync:',
592
- [
593
- ['sync', 'Sync API profiles to local CLIProxy config'],
594
- ['sync --dry-run', 'Preview sync without applying'],
595
- ['sync --verbose', 'Show detailed sync information'],
596
- ],
597
- ],
598
- [
599
- 'Quota Management:',
600
- [
601
- ['default <account>', 'Set default account for rotation'],
602
- ['pause <account>', 'Pause account (skip in rotation)'],
603
- ['resume <account>', 'Resume paused account'],
604
- ['quota', 'Show quota status for all providers'],
605
- ['quota --provider <name>', 'Filter by provider (agy|codex|gemini)'],
606
- ],
607
- ],
608
- [
609
- 'Proxy Lifecycle:',
610
- [
611
- ['status', 'Show running CLIProxy status'],
612
- ['stop', 'Stop running CLIProxy instance'],
613
- ['doctor', 'Quota diagnostics and shared project detection'],
614
- ],
615
- ],
616
- [
617
- 'Binary Commands:',
618
- [
619
- ['--install <version>', 'Install and pin a specific version'],
620
- ['--latest', 'Install the latest version (no pin)'],
621
- ['--update', 'Unpin and update to latest version'],
622
- ],
623
- ],
624
- [
625
- 'Options:',
626
- [
627
- ['--backend <type>', 'Use specific backend: original | plus (default: from config)'],
628
- ['--verbose, -v', 'Show detailed quota fetch diagnostics'],
629
- ],
630
- ],
631
- ];
632
- for (const [title, cmds] of sections) {
633
- console.log((0, ui_1.subheader)(title));
634
- const maxLen = Math.max(...cmds.map(([cmd]) => cmd.length));
635
- for (const [cmd, desc] of cmds) {
636
- console.log(` ${(0, ui_1.color)(cmd.padEnd(maxLen + 2), 'command')} ${desc}`);
637
- }
638
- console.log('');
639
- }
640
- console.log((0, ui_1.dim)(' Note: CLIProxy now persists by default. Use "stop" to terminate.'));
641
- console.log('');
642
- console.log((0, ui_1.subheader)('Notes:'));
643
- console.log(` Default fallback version: ${(0, ui_1.color)((0, platform_detector_1.getFallbackVersion)(), 'info')}`);
644
- console.log(` Releases: ${(0, ui_1.color)(`https://github.com/${platform_detector_1.BACKEND_CONFIG[platform_detector_1.DEFAULT_BACKEND].repo}/releases`, 'path')}`);
645
- console.log('');
646
- }
647
- // ============================================================================
648
- // DOCTOR COMMAND - Quota diagnostics and shared project detection
649
- // ============================================================================
650
- async function handleDoctor(verbose = false) {
651
- await (0, ui_1.initUI)();
652
- console.log((0, ui_1.header)('CLIProxy Quota Diagnostics'));
653
- console.log('');
654
- // Check each OAuth provider (agy is the only one with quota)
655
- const provider = 'agy';
656
- const accounts = (0, account_manager_1.getProviderAccounts)(provider);
657
- if (accounts.length === 0) {
658
- console.log((0, ui_1.info)('No Antigravity accounts configured'));
659
- console.log(` Run: ${(0, ui_1.color)('ccs agy --auth', 'command')} to authenticate`);
660
- return;
661
- }
662
- console.log((0, ui_1.subheader)(`Antigravity Accounts (${accounts.length})`));
663
- console.log('');
664
- // Fetch quota for all accounts
665
- console.log((0, ui_1.dim)('Fetching quotas...'));
666
- const quotaResult = await (0, quota_fetcher_1.fetchAllProviderQuotas)(provider, verbose);
667
- // Display per-account quota status
668
- for (const { account, quota } of quotaResult.accounts) {
669
- const accountLabel = account.email || account.id || 'Unknown Account';
670
- const defaultBadge = account.isDefault ? (0, ui_1.color)(' (default)', 'info') : '';
671
- if (!quota.success) {
672
- console.log(` ${(0, ui_1.fail)(accountLabel)}${defaultBadge}`);
673
- console.log(` ${(0, ui_1.color)(quota.error || 'Failed to fetch quota', 'error')}`);
674
- if (quota.isUnprovisioned) {
675
- console.log(` ${(0, ui_1.warn)('Account not provisioned - open Gemini Code Assist in IDE first')}`);
676
- }
677
- console.log('');
678
- continue;
679
- }
680
- // Calculate overall quota health (guard against empty models array)
681
- const avgQuota = quota.models.length > 0
682
- ? quota.models.reduce((sum, m) => sum + m.percentage, 0) / quota.models.length
683
- : 0;
684
- const statusIcon = avgQuota > 50 ? (0, ui_1.ok)('') : avgQuota > 10 ? (0, ui_1.warn)('') : (0, ui_1.fail)('');
685
- console.log(` ${statusIcon}${accountLabel}${defaultBadge}`);
686
- if (quota.projectId) {
687
- console.log(` Project: ${(0, ui_1.dim)(quota.projectId)}`);
688
- }
689
- // Show model quotas
690
- for (const model of quota.models) {
691
- const bar = formatQuotaBar(model.percentage);
692
- console.log(` ${model.name.padEnd(20)} ${bar} ${model.percentage.toFixed(0)}%`);
693
- }
694
- console.log('');
695
- }
696
- // Check for shared GCP projects (critical warning)
697
- const sharedProjects = Object.entries(quotaResult.projectGroups).filter(([, accountIds]) => accountIds.length > 1);
698
- if (sharedProjects.length > 0) {
699
- console.log('');
700
- console.log((0, ui_1.subheader)('Shared Project Warning'));
701
- console.log('');
702
- for (const [projectId, accountIds] of sharedProjects) {
703
- console.log((0, ui_1.fail)(`Project ${projectId.substring(0, 20)}... shared by ${accountIds.length} accounts:`));
704
- for (const accountId of accountIds) {
705
- console.log(` - ${accountId}`);
706
- }
707
- console.log('');
708
- console.log((0, ui_1.warn)('These accounts share the same quota pool!'));
709
- console.log((0, ui_1.warn)('Failover between them will NOT help when quota is exhausted.'));
710
- console.log((0, ui_1.info)('Solution: Use accounts from different GCP projects.'));
711
- }
712
- }
713
- // Summary
714
- console.log('');
715
- console.log((0, ui_1.subheader)('Summary'));
716
- const healthyAccounts = quotaResult.accounts.filter(({ quota }) => quota.success && quota.models.some((m) => m.percentage > 5));
717
- console.log(` Accounts with quota: ${healthyAccounts.length}/${accounts.length}`);
718
- if (sharedProjects.length > 0) {
719
- console.log(` ${(0, ui_1.fail)(`Shared projects: ${sharedProjects.length} (failover limited)`)}`);
720
- }
721
- else if (accounts.length > 1) {
722
- console.log(` ${(0, ui_1.ok)('No shared projects (failover fully operational)')}`);
723
- }
724
- console.log('');
725
- }
726
- function formatQuotaBar(percentage) {
727
- const width = 20;
728
- const clampedPct = Math.max(0, Math.min(100, percentage));
729
- const filled = Math.round((clampedPct / 100) * width);
730
- const empty = width - filled;
731
- const filledChar = clampedPct > 50 ? '█' : clampedPct > 10 ? '▓' : '░';
732
- return `[${filledChar.repeat(filled)}${' '.repeat(empty)}]`;
733
- }
734
- // ============================================================================
735
- // QUOTA MANAGEMENT COMMANDS
736
- // ============================================================================
737
- async function handleSetDefault(args) {
738
- await (0, ui_1.initUI)();
739
- const parsed = parseProfileArgs(args);
740
- if (!parsed.name) {
741
- console.log((0, ui_1.fail)('Usage: ccs cliproxy default <account> [--provider <provider>]'));
742
- console.log('');
743
- console.log('Examples:');
744
- console.log(' ccs cliproxy default ultra@gmail.com');
745
- console.log(' ccs cliproxy default john --provider agy');
746
- process.exit(1);
747
- }
748
- const provider = (parsed.provider || 'agy');
749
- const account = (0, account_manager_1.findAccountByQuery)(provider, parsed.name);
750
- if (!account) {
751
- console.log((0, ui_1.fail)(`Account not found: ${parsed.name}`));
752
- console.log('');
753
- const accounts = (0, account_manager_1.getProviderAccounts)(provider);
754
- if (accounts.length > 0) {
755
- console.log('Available accounts:');
756
- for (const acc of accounts) {
757
- const badge = acc.isDefault ? (0, ui_1.color)(' (current default)', 'info') : '';
758
- console.log(` - ${acc.email || acc.id}${badge}`);
759
- }
760
- }
761
- else {
762
- console.log(`No accounts found for provider: ${provider}`);
763
- console.log(`Run: ccs ${provider} --auth`);
764
- }
765
- process.exit(1);
766
- }
767
- const success = (0, account_manager_1.setDefaultAccount)(provider, account.id);
768
- if (success) {
769
- console.log((0, ui_1.ok)(`Default account set to: ${account.email || account.id}`));
770
- console.log((0, ui_1.info)(`Provider: ${provider}`));
771
- }
772
- else {
773
- console.log((0, ui_1.fail)('Failed to set default account'));
774
- process.exit(1);
775
- }
776
- }
777
- async function handlePauseAccount(args) {
778
- await (0, ui_1.initUI)();
779
- const parsed = parseProfileArgs(args);
780
- if (!parsed.name) {
781
- console.log((0, ui_1.fail)('Usage: ccs cliproxy pause <account> [--provider <provider>]'));
782
- console.log('');
783
- console.log('Pauses an account so it will be skipped in quota rotation.');
784
- process.exit(1);
785
- }
786
- const provider = (parsed.provider || 'agy');
787
- const account = (0, account_manager_1.findAccountByQuery)(provider, parsed.name);
788
- if (!account) {
789
- console.log((0, ui_1.fail)(`Account not found: ${parsed.name}`));
790
- process.exit(1);
791
- }
792
- if (account.paused) {
793
- console.log((0, ui_1.warn)(`Account already paused: ${account.email || account.id}`));
794
- console.log((0, ui_1.info)(`Paused at: ${account.pausedAt || 'unknown'}`));
795
- return;
796
- }
797
- const success = (0, account_manager_1.pauseAccount)(provider, account.id);
798
- if (success) {
799
- console.log((0, ui_1.ok)(`Account paused: ${account.email || account.id}`));
800
- console.log((0, ui_1.info)('Account will be skipped in quota rotation'));
801
- }
802
- else {
803
- console.log((0, ui_1.fail)('Failed to pause account'));
804
- process.exit(1);
805
- }
806
- }
807
- async function handleResumeAccount(args) {
808
- await (0, ui_1.initUI)();
809
- const parsed = parseProfileArgs(args);
810
- if (!parsed.name) {
811
- console.log((0, ui_1.fail)('Usage: ccs cliproxy resume <account> [--provider <provider>]'));
812
- console.log('');
813
- console.log('Resumes a paused account for quota rotation.');
814
- process.exit(1);
815
- }
816
- const provider = (parsed.provider || 'agy');
817
- const account = (0, account_manager_1.findAccountByQuery)(provider, parsed.name);
818
- if (!account) {
819
- console.log((0, ui_1.fail)(`Account not found: ${parsed.name}`));
820
- process.exit(1);
821
- }
822
- if (!account.paused) {
823
- console.log((0, ui_1.warn)(`Account is not paused: ${account.email || account.id}`));
824
- return;
825
- }
826
- const success = (0, account_manager_1.resumeAccount)(provider, account.id);
827
- if (success) {
828
- console.log((0, ui_1.ok)(`Account resumed: ${account.email || account.id}`));
829
- console.log((0, ui_1.info)('Account is now active in quota rotation'));
830
- }
831
- else {
832
- console.log((0, ui_1.fail)('Failed to resume account'));
833
- process.exit(1);
834
- }
835
- }
836
- async function handleQuotaStatus(verbose = false, providerFilter = 'all') {
837
- await (0, ui_1.initUI)();
838
- console.log((0, ui_1.header)('Quota Status'));
839
- console.log('');
840
- const shouldFetch = {
841
- agy: providerFilter === 'all' || providerFilter === 'agy',
842
- codex: providerFilter === 'all' || providerFilter === 'codex',
843
- gemini: providerFilter === 'all' || providerFilter === 'gemini',
844
- };
845
- console.log((0, ui_1.dim)('Fetching quotas...'));
846
- // Parallel fetch from all requested providers
847
- const [agyResults, codexResults, geminiResults] = await Promise.all([
848
- shouldFetch.agy ? (0, quota_fetcher_1.fetchAllProviderQuotas)('agy', verbose) : null,
849
- shouldFetch.codex ? (0, quota_fetcher_codex_1.fetchAllCodexQuotas)(verbose) : null,
850
- shouldFetch.gemini ? (0, quota_fetcher_gemini_cli_1.fetchAllGeminiCliQuotas)(verbose) : null,
851
- ]);
852
- console.log('');
853
- // Display Antigravity section
854
- if (agyResults && agyResults.accounts.length > 0) {
855
- displayAntigravityQuotaSection(agyResults);
856
- }
857
- else if (shouldFetch.agy) {
858
- console.log((0, ui_1.subheader)('Antigravity (0 accounts)'));
859
- console.log((0, ui_1.info)('No Antigravity accounts configured'));
860
- console.log(` Run: ${(0, ui_1.color)('ccs agy --auth', 'command')} to authenticate`);
861
- console.log('');
862
- }
863
- // Display Codex section
864
- if (codexResults && codexResults.length > 0) {
865
- displayCodexQuotaSection(codexResults);
866
- }
867
- else if (shouldFetch.codex) {
868
- console.log((0, ui_1.subheader)('Codex (0 accounts)'));
869
- console.log((0, ui_1.info)('No Codex accounts configured'));
870
- console.log(` Run: ${(0, ui_1.color)('ccs codex --auth', 'command')} to authenticate`);
871
- console.log('');
872
- }
873
- // Display Gemini CLI section
874
- if (geminiResults && geminiResults.length > 0) {
875
- displayGeminiCliQuotaSection(geminiResults);
876
- }
877
- else if (shouldFetch.gemini) {
878
- console.log((0, ui_1.subheader)('Gemini CLI (0 accounts)'));
879
- console.log((0, ui_1.info)('No Gemini CLI accounts configured'));
880
- console.log(` Run: ${(0, ui_1.color)('ccs gemini --auth', 'command')} to authenticate`);
881
- console.log('');
882
- }
883
- }
884
- /**
885
- * Display Antigravity quota section
886
- */
887
- function displayAntigravityQuotaSection(quotaResult) {
888
- const provider = 'agy';
889
- const accounts = (0, account_manager_1.getProviderAccounts)(provider);
890
- console.log((0, ui_1.subheader)(`Antigravity (${accounts.length} account${accounts.length !== 1 ? 's' : ''})`));
891
- console.log('');
892
- // Build table rows
893
- const rows = [];
894
- for (const account of accounts) {
895
- const quotaData = quotaResult.accounts.find((q) => q.account.id === account.id);
896
- const quota = quotaData?.quota;
897
- // Calculate average quota
898
- let avgQuota = 'N/A';
899
- if (quota?.success && quota.models.length > 0) {
900
- const avg = Math.round(quota.models.reduce((sum, m) => sum + m.percentage, 0) / quota.models.length);
901
- avgQuota = `${avg}%`;
902
- }
903
- // Build status badges
904
- const statusParts = [];
905
- if (account.paused)
906
- statusParts.push((0, ui_1.color)('PAUSED', 'warning'));
907
- if ((0, quota_manager_1.isOnCooldown)(provider, account.id))
908
- statusParts.push((0, ui_1.color)('COOLDOWN', 'warning'));
909
- const defaultMark = account.isDefault ? (0, ui_1.color)('*', 'success') : ' ';
910
- const tier = account.tier || 'unknown';
911
- const status = statusParts.join(', ');
912
- rows.push([
913
- defaultMark,
914
- account.nickname || account.email || account.id,
915
- tier,
916
- avgQuota,
917
- status,
918
- ]);
919
- }
920
- console.log((0, ui_1.table)(rows, {
921
- head: ['', 'Account', 'Tier', 'Quota', 'Status'],
922
- colWidths: [3, 30, 10, 10, 20],
923
- }));
924
- console.log('');
925
- }
926
- /**
927
- * Display Codex quota section
928
- */
929
- function displayCodexQuotaSection(results) {
930
- console.log((0, ui_1.subheader)(`Codex (${results.length} account${results.length !== 1 ? 's' : ''})`));
931
- console.log('');
932
- for (const { account, quota } of results) {
933
- const accountInfo = (0, account_manager_1.findAccountByQuery)('codex', account);
934
- const defaultMark = accountInfo?.isDefault ? (0, ui_1.color)(' (default)', 'info') : '';
935
- if (!quota.success) {
936
- console.log(` ${(0, ui_1.fail)(account)}${defaultMark}`);
937
- console.log(` ${(0, ui_1.color)(quota.error || 'Failed to fetch quota', 'error')}`);
938
- console.log('');
939
- continue;
940
- }
941
- // Calculate overall quota health
942
- const avgQuota = quota.windows.length > 0
943
- ? quota.windows.reduce((sum, w) => sum + w.remainingPercent, 0) / quota.windows.length
944
- : 0;
945
- const statusIcon = avgQuota > 50 ? (0, ui_1.ok)('') : avgQuota > 10 ? (0, ui_1.warn)('') : (0, ui_1.fail)('');
946
- const planBadge = quota.planType ? (0, ui_1.color)(` [${quota.planType}]`, 'info') : '';
947
- console.log(` ${statusIcon}${account}${defaultMark}${planBadge}`);
948
- // Show windows
949
- for (const window of quota.windows) {
950
- const bar = formatQuotaBar(window.remainingPercent);
951
- const resetLabel = window.resetAfterSeconds
952
- ? (0, ui_1.dim)(` Resets ${formatResetTime(window.resetAfterSeconds)}`)
953
- : '';
954
- console.log(` ${window.label.padEnd(24)} ${bar} ${window.remainingPercent.toFixed(0)}%${resetLabel}`);
955
- }
956
- console.log('');
957
- }
958
- }
959
- /**
960
- * Display Gemini CLI quota section
961
- */
962
- function displayGeminiCliQuotaSection(results) {
963
- console.log((0, ui_1.subheader)(`Gemini CLI (${results.length} account${results.length !== 1 ? 's' : ''})`));
964
- console.log('');
965
- for (const { account, quota } of results) {
966
- const accountInfo = (0, account_manager_1.findAccountByQuery)('gemini', account);
967
- const defaultMark = accountInfo?.isDefault ? (0, ui_1.color)(' (default)', 'info') : '';
968
- if (!quota.success) {
969
- console.log(` ${(0, ui_1.fail)(account)}${defaultMark}`);
970
- console.log(` ${(0, ui_1.color)(quota.error || 'Failed to fetch quota', 'error')}`);
971
- console.log('');
972
- continue;
973
- }
974
- // Calculate overall quota health
975
- const avgQuota = quota.buckets.length > 0
976
- ? quota.buckets.reduce((sum, b) => sum + b.remainingPercent, 0) / quota.buckets.length
977
- : 0;
978
- const statusIcon = avgQuota > 50 ? (0, ui_1.ok)('') : avgQuota > 10 ? (0, ui_1.warn)('') : (0, ui_1.fail)('');
979
- console.log(` ${statusIcon}${account}${defaultMark}`);
980
- if (quota.projectId) {
981
- console.log(` Project: ${(0, ui_1.dim)(quota.projectId)}`);
982
- }
983
- // Show buckets
984
- for (const bucket of quota.buckets) {
985
- const bar = formatQuotaBar(bucket.remainingPercent);
986
- const tokenLabel = bucket.tokenType ? (0, ui_1.dim)(` (${bucket.tokenType})`) : '';
987
- const resetLabel = bucket.resetTime
988
- ? (0, ui_1.dim)(` Resets ${formatResetTimeISO(bucket.resetTime)}`)
989
- : '';
990
- console.log(` ${bucket.label.padEnd(24)} ${bar} ${bucket.remainingPercent.toFixed(0)}%${tokenLabel}${resetLabel}`);
991
- }
992
- console.log('');
993
- }
994
- }
995
- /**
996
- * Format reset time from seconds
997
- */
998
- function formatResetTime(seconds) {
999
- if (seconds <= 0)
1000
- return 'now';
1001
- if (seconds < 60)
1002
- return `in ${seconds}s`;
1003
- if (seconds < 3600)
1004
- return `in ${Math.round(seconds / 60)}m`;
1005
- return `in ${Math.round(seconds / 3600)}h`;
1006
- }
1007
- /**
1008
- * Format reset time from ISO timestamp
1009
- */
1010
- function formatResetTimeISO(isoTime) {
1011
- if (!isoTime)
1012
- return 'unknown';
1013
- const resetDate = new Date(isoTime);
1014
- if (isNaN(resetDate.getTime()))
1015
- return 'unknown';
1016
- const seconds = Math.max(0, Math.round((resetDate.getTime() - Date.now()) / 1000));
1017
- return formatResetTime(seconds);
1018
- }
1019
- // ============================================================================
1020
- // MAIN ROUTER
1021
- // ============================================================================
1022
- async function handleCliproxyCommand(args) {
1023
- // Parse --backend flag first (before other processing)
1024
- const { backend: cliBackend, remainingArgs } = parseBackendArg(args);
1025
- const effectiveBackend = getEffectiveBackend(cliBackend);
1026
- const verbose = remainingArgs.includes('--verbose') || remainingArgs.includes('-v');
1027
- const command = remainingArgs[0];
1028
- if (remainingArgs.includes('--help') || remainingArgs.includes('-h')) {
1029
- await showHelp();
1030
- return;
1031
- }
1032
- if (command === 'create') {
1033
- await handleCreate(remainingArgs.slice(1));
1034
- return;
1035
- }
1036
- if (command === 'list' || command === 'ls') {
1037
- await handleList();
1038
- return;
1039
- }
1040
- if (command === 'remove' || command === 'delete' || command === 'rm') {
1041
- await handleRemove(remainingArgs.slice(1));
1042
- return;
1043
- }
1044
- if (command === 'sync') {
1045
- await (0, cliproxy_sync_handler_1.handleSync)(remainingArgs.slice(1));
1046
- return;
1047
- }
1048
- if (command === 'stop') {
1049
- await handleStop();
1050
- return;
1051
- }
1052
- if (command === 'status') {
1053
- await handleProxyStatus();
1054
- return;
1055
- }
1056
- if (command === 'doctor' || command === 'diag') {
1057
- await handleDoctor(verbose);
1058
- return;
1059
- }
1060
- // Quota management commands
1061
- if (command === 'default') {
1062
- await handleSetDefault(remainingArgs.slice(1));
1063
- return;
1064
- }
1065
- if (command === 'pause') {
1066
- await handlePauseAccount(remainingArgs.slice(1));
1067
- return;
1068
- }
1069
- if (command === 'resume') {
1070
- await handleResumeAccount(remainingArgs.slice(1));
1071
- return;
1072
- }
1073
- if (command === 'quota') {
1074
- const { provider: providerFilter } = parseProviderArg(remainingArgs.slice(1));
1075
- await handleQuotaStatus(verbose, providerFilter);
1076
- return;
1077
- }
1078
- const installIdx = remainingArgs.indexOf('--install');
1079
- if (installIdx !== -1) {
1080
- let version = remainingArgs[installIdx + 1];
1081
- if (!version || version.startsWith('-')) {
1082
- console.error((0, ui_1.fail)('Missing version argument for --install'));
1083
- console.error(' Usage: ccs cliproxy --install <version>');
1084
- console.error(' Example: ccs cliproxy --install 6.6.80-0');
1085
- process.exit(1);
1086
- }
1087
- // Strip leading 'v' prefix and whitespace (user may type " v6.6.80-0 ")
1088
- version = version.trim().replace(/^v/, '');
1089
- await handleInstallVersion(version, verbose, effectiveBackend);
1090
- return;
1091
- }
1092
- if (remainingArgs.includes('--latest') || remainingArgs.includes('--update')) {
1093
- await handleInstallLatest(verbose, effectiveBackend);
1094
- return;
1095
- }
1096
- await showStatus(verbose, effectiveBackend);
1097
- }
1098
- exports.handleCliproxyCommand = handleCliproxyCommand;
1099
- //# sourceMappingURL=cliproxy-command.js.map