@jonnyhoo/ccs 1.0.0

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 (1223) hide show
  1. package/.claude/commands/ccs/continue.md +15 -0
  2. package/.claude/commands/ccs.md +17 -0
  3. package/.claude/skills/ccs-delegation/CLAUDE.md.template +17 -0
  4. package/.claude/skills/ccs-delegation/SKILL.md +195 -0
  5. package/.claude/skills/ccs-delegation/references/troubleshooting.md +201 -0
  6. package/LICENSE +21 -0
  7. package/README.md +383 -0
  8. package/config/base-agy.settings.json +10 -0
  9. package/config/base-claude.settings.json +10 -0
  10. package/config/base-codex.settings.json +10 -0
  11. package/config/base-gemini.settings.json +10 -0
  12. package/config/base-ghcp.settings.json +10 -0
  13. package/config/base-glm.settings.json +10 -0
  14. package/config/base-glmt.settings.json +17 -0
  15. package/config/base-iflow.settings.json +10 -0
  16. package/config/base-kimi.settings.json +11 -0
  17. package/config/base-kiro.settings.json +10 -0
  18. package/config/base-mm.settings.json +10 -0
  19. package/config/base-ollama-cloud.settings.json +10 -0
  20. package/config/base-ollama.settings.json +10 -0
  21. package/config/base-qwen.settings.json +10 -0
  22. package/config/config.example.json +6 -0
  23. package/dist/api/index.d.ts +7 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +24 -0
  26. package/dist/api/index.js.map +1 -0
  27. package/dist/api/services/index.d.ts +13 -0
  28. package/dist/api/services/index.d.ts.map +1 -0
  29. package/dist/api/services/index.js +39 -0
  30. package/dist/api/services/index.js.map +1 -0
  31. package/dist/api/services/openrouter-catalog.d.ts +30 -0
  32. package/dist/api/services/openrouter-catalog.d.ts.map +1 -0
  33. package/dist/api/services/openrouter-catalog.js +130 -0
  34. package/dist/api/services/openrouter-catalog.js.map +1 -0
  35. package/dist/api/services/openrouter-picker.d.ts +15 -0
  36. package/dist/api/services/openrouter-picker.d.ts.map +1 -0
  37. package/dist/api/services/openrouter-picker.js +113 -0
  38. package/dist/api/services/openrouter-picker.js.map +1 -0
  39. package/dist/api/services/profile-reader.d.ts +31 -0
  40. package/dist/api/services/profile-reader.d.ts.map +1 -0
  41. package/dist/api/services/profile-reader.js +153 -0
  42. package/dist/api/services/profile-reader.js.map +1 -0
  43. package/dist/api/services/profile-types.d.ts +42 -0
  44. package/dist/api/services/profile-types.d.ts.map +1 -0
  45. package/dist/api/services/profile-types.js +8 -0
  46. package/dist/api/services/profile-types.js.map +1 -0
  47. package/dist/api/services/profile-writer.d.ts +6 -0
  48. package/dist/api/services/profile-writer.d.ts.map +1 -0
  49. package/dist/api/services/profile-writer.js +187 -0
  50. package/dist/api/services/profile-writer.js.map +1 -0
  51. package/dist/api/services/provider-presets.d.ts +38 -0
  52. package/dist/api/services/provider-presets.d.ts.map +1 -0
  53. package/dist/api/services/provider-presets.js +165 -0
  54. package/dist/api/services/provider-presets.js.map +1 -0
  55. package/dist/api/services/validation-service.d.ts +26 -0
  56. package/dist/api/services/validation-service.d.ts.map +1 -0
  57. package/dist/api/services/validation-service.js +80 -0
  58. package/dist/api/services/validation-service.js.map +1 -0
  59. package/dist/auth/auth-commands.d.ts +62 -0
  60. package/dist/auth/auth-commands.d.ts.map +1 -0
  61. package/dist/auth/auth-commands.js +191 -0
  62. package/dist/auth/auth-commands.js.map +1 -0
  63. package/dist/auth/commands/create-command.d.ts +11 -0
  64. package/dist/auth/commands/create-command.d.ts.map +1 -0
  65. package/dist/auth/commands/create-command.js +137 -0
  66. package/dist/auth/commands/create-command.js.map +1 -0
  67. package/dist/auth/commands/default-command.d.ts +15 -0
  68. package/dist/auth/commands/default-command.d.ts.map +1 -0
  69. package/dist/auth/commands/default-command.js +71 -0
  70. package/dist/auth/commands/default-command.js.map +1 -0
  71. package/dist/auth/commands/index.d.ts +12 -0
  72. package/dist/auth/commands/index.d.ts.map +1 -0
  73. package/dist/auth/commands/index.js +25 -0
  74. package/dist/auth/commands/index.js.map +1 -0
  75. package/dist/auth/commands/list-command.d.ts +11 -0
  76. package/dist/auth/commands/list-command.d.ts.map +1 -0
  77. package/dist/auth/commands/list-command.js +124 -0
  78. package/dist/auth/commands/list-command.js.map +1 -0
  79. package/dist/auth/commands/remove-command.d.ts +11 -0
  80. package/dist/auth/commands/remove-command.d.ts.map +1 -0
  81. package/dist/auth/commands/remove-command.js +102 -0
  82. package/dist/auth/commands/remove-command.js.map +1 -0
  83. package/dist/auth/commands/show-command.d.ts +11 -0
  84. package/dist/auth/commands/show-command.d.ts.map +1 -0
  85. package/dist/auth/commands/show-command.js +103 -0
  86. package/dist/auth/commands/show-command.js.map +1 -0
  87. package/dist/auth/commands/types.d.ts +50 -0
  88. package/dist/auth/commands/types.d.ts.map +1 -0
  89. package/dist/auth/commands/types.js +26 -0
  90. package/dist/auth/commands/types.js.map +1 -0
  91. package/dist/auth/index.d.ts +8 -0
  92. package/dist/auth/index.d.ts.map +1 -0
  93. package/dist/auth/index.js +16 -0
  94. package/dist/auth/index.js.map +1 -0
  95. package/dist/auth/profile-detector.d.ts +106 -0
  96. package/dist/auth/profile-detector.d.ts.map +1 -0
  97. package/dist/auth/profile-detector.js +431 -0
  98. package/dist/auth/profile-detector.js.map +1 -0
  99. package/dist/auth/profile-registry.d.ts +110 -0
  100. package/dist/auth/profile-registry.d.ts.map +1 -0
  101. package/dist/auth/profile-registry.js +318 -0
  102. package/dist/auth/profile-registry.js.map +1 -0
  103. package/dist/ccs.d.ts +2 -0
  104. package/dist/ccs.d.ts.map +1 -0
  105. package/dist/ccs.js +642 -0
  106. package/dist/ccs.js.map +1 -0
  107. package/dist/cliproxy/account-manager.d.ts +218 -0
  108. package/dist/cliproxy/account-manager.d.ts.map +1 -0
  109. package/dist/cliproxy/account-manager.js +808 -0
  110. package/dist/cliproxy/account-manager.js.map +1 -0
  111. package/dist/cliproxy/auth/auth-types.d.ts +106 -0
  112. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -0
  113. package/dist/cliproxy/auth/auth-types.js +164 -0
  114. package/dist/cliproxy/auth/auth-types.js.map +1 -0
  115. package/dist/cliproxy/auth/environment-detector.d.ts +30 -0
  116. package/dist/cliproxy/auth/environment-detector.d.ts.map +1 -0
  117. package/dist/cliproxy/auth/environment-detector.js +129 -0
  118. package/dist/cliproxy/auth/environment-detector.js.map +1 -0
  119. package/dist/cliproxy/auth/gemini-token-refresh.d.ts +38 -0
  120. package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +1 -0
  121. package/dist/cliproxy/auth/gemini-token-refresh.js +327 -0
  122. package/dist/cliproxy/auth/gemini-token-refresh.js.map +1 -0
  123. package/dist/cliproxy/auth/index.d.ts +11 -0
  124. package/dist/cliproxy/auth/index.d.ts.map +1 -0
  125. package/dist/cliproxy/auth/index.js +35 -0
  126. package/dist/cliproxy/auth/index.js.map +1 -0
  127. package/dist/cliproxy/auth/kiro-import.d.ts +23 -0
  128. package/dist/cliproxy/auth/kiro-import.d.ts.map +1 -0
  129. package/dist/cliproxy/auth/kiro-import.js +140 -0
  130. package/dist/cliproxy/auth/kiro-import.js.map +1 -0
  131. package/dist/cliproxy/auth/oauth-handler.d.ts +31 -0
  132. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -0
  133. package/dist/cliproxy/auth/oauth-handler.js +422 -0
  134. package/dist/cliproxy/auth/oauth-handler.js.map +1 -0
  135. package/dist/cliproxy/auth/oauth-process.d.ts +27 -0
  136. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -0
  137. package/dist/cliproxy/auth/oauth-process.js +386 -0
  138. package/dist/cliproxy/auth/oauth-process.js.map +1 -0
  139. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +21 -0
  140. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -0
  141. package/dist/cliproxy/auth/provider-refreshers/index.js +57 -0
  142. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -0
  143. package/dist/cliproxy/auth/token-expiry-checker.d.ts +37 -0
  144. package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +1 -0
  145. package/dist/cliproxy/auth/token-expiry-checker.js +115 -0
  146. package/dist/cliproxy/auth/token-expiry-checker.js.map +1 -0
  147. package/dist/cliproxy/auth/token-manager.d.ts +66 -0
  148. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -0
  149. package/dist/cliproxy/auth/token-manager.js +309 -0
  150. package/dist/cliproxy/auth/token-manager.js.map +1 -0
  151. package/dist/cliproxy/auth/token-refresh-config.d.ts +13 -0
  152. package/dist/cliproxy/auth/token-refresh-config.d.ts.map +1 -0
  153. package/dist/cliproxy/auth/token-refresh-config.js +31 -0
  154. package/dist/cliproxy/auth/token-refresh-config.js.map +1 -0
  155. package/dist/cliproxy/auth/token-refresh-worker.d.ts +83 -0
  156. package/dist/cliproxy/auth/token-refresh-worker.d.ts.map +1 -0
  157. package/dist/cliproxy/auth/token-refresh-worker.js +214 -0
  158. package/dist/cliproxy/auth/token-refresh-worker.js.map +1 -0
  159. package/dist/cliproxy/auth-handler.d.ts +31 -0
  160. package/dist/cliproxy/auth-handler.d.ts.map +1 -0
  161. package/dist/cliproxy/auth-handler.js +60 -0
  162. package/dist/cliproxy/auth-handler.js.map +1 -0
  163. package/dist/cliproxy/auth-session-manager.d.ts +51 -0
  164. package/dist/cliproxy/auth-session-manager.d.ts.map +1 -0
  165. package/dist/cliproxy/auth-session-manager.js +134 -0
  166. package/dist/cliproxy/auth-session-manager.js.map +1 -0
  167. package/dist/cliproxy/auth-token-manager.d.ts +82 -0
  168. package/dist/cliproxy/auth-token-manager.d.ts.map +1 -0
  169. package/dist/cliproxy/auth-token-manager.js +187 -0
  170. package/dist/cliproxy/auth-token-manager.js.map +1 -0
  171. package/dist/cliproxy/auth-utils.d.ts +16 -0
  172. package/dist/cliproxy/auth-utils.d.ts.map +1 -0
  173. package/dist/cliproxy/auth-utils.js +33 -0
  174. package/dist/cliproxy/auth-utils.js.map +1 -0
  175. package/dist/cliproxy/base-config-loader.d.ts +42 -0
  176. package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
  177. package/dist/cliproxy/base-config-loader.js +123 -0
  178. package/dist/cliproxy/base-config-loader.js.map +1 -0
  179. package/dist/cliproxy/binary/downloader.d.ts +42 -0
  180. package/dist/cliproxy/binary/downloader.d.ts.map +1 -0
  181. package/dist/cliproxy/binary/downloader.js +407 -0
  182. package/dist/cliproxy/binary/downloader.js.map +1 -0
  183. package/dist/cliproxy/binary/extractor.d.ts +12 -0
  184. package/dist/cliproxy/binary/extractor.d.ts.map +1 -0
  185. package/dist/cliproxy/binary/extractor.js +28 -0
  186. package/dist/cliproxy/binary/extractor.js.map +1 -0
  187. package/dist/cliproxy/binary/index.d.ts +13 -0
  188. package/dist/cliproxy/binary/index.d.ts.map +1 -0
  189. package/dist/cliproxy/binary/index.js +54 -0
  190. package/dist/cliproxy/binary/index.js.map +1 -0
  191. package/dist/cliproxy/binary/installer.d.ts +25 -0
  192. package/dist/cliproxy/binary/installer.d.ts.map +1 -0
  193. package/dist/cliproxy/binary/installer.js +129 -0
  194. package/dist/cliproxy/binary/installer.js.map +1 -0
  195. package/dist/cliproxy/binary/lifecycle.d.ts +11 -0
  196. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -0
  197. package/dist/cliproxy/binary/lifecycle.js +150 -0
  198. package/dist/cliproxy/binary/lifecycle.js.map +1 -0
  199. package/dist/cliproxy/binary/tar-extractor.d.ts +10 -0
  200. package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -0
  201. package/dist/cliproxy/binary/tar-extractor.js +118 -0
  202. package/dist/cliproxy/binary/tar-extractor.js.map +1 -0
  203. package/dist/cliproxy/binary/types.d.ts +49 -0
  204. package/dist/cliproxy/binary/types.d.ts.map +1 -0
  205. package/dist/cliproxy/binary/types.js +32 -0
  206. package/dist/cliproxy/binary/types.js.map +1 -0
  207. package/dist/cliproxy/binary/updater.d.ts +7 -0
  208. package/dist/cliproxy/binary/updater.d.ts.map +1 -0
  209. package/dist/cliproxy/binary/updater.js +18 -0
  210. package/dist/cliproxy/binary/updater.js.map +1 -0
  211. package/dist/cliproxy/binary/verifier.d.ts +18 -0
  212. package/dist/cliproxy/binary/verifier.d.ts.map +1 -0
  213. package/dist/cliproxy/binary/verifier.js +82 -0
  214. package/dist/cliproxy/binary/verifier.js.map +1 -0
  215. package/dist/cliproxy/binary/version-cache.d.ts +64 -0
  216. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -0
  217. package/dist/cliproxy/binary/version-cache.js +239 -0
  218. package/dist/cliproxy/binary/version-cache.js.map +1 -0
  219. package/dist/cliproxy/binary/version-checker.d.ts +36 -0
  220. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -0
  221. package/dist/cliproxy/binary/version-checker.js +135 -0
  222. package/dist/cliproxy/binary/version-checker.js.map +1 -0
  223. package/dist/cliproxy/binary/zip-extractor.d.ts +10 -0
  224. package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -0
  225. package/dist/cliproxy/binary/zip-extractor.js +110 -0
  226. package/dist/cliproxy/binary/zip-extractor.js.map +1 -0
  227. package/dist/cliproxy/binary-manager.d.ts +59 -0
  228. package/dist/cliproxy/binary-manager.d.ts.map +1 -0
  229. package/dist/cliproxy/binary-manager.js +211 -0
  230. package/dist/cliproxy/binary-manager.js.map +1 -0
  231. package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
  232. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
  233. package/dist/cliproxy/cliproxy-executor.js +1025 -0
  234. package/dist/cliproxy/cliproxy-executor.js.map +1 -0
  235. package/dist/cliproxy/codex-reasoning-proxy.d.ts +49 -0
  236. package/dist/cliproxy/codex-reasoning-proxy.d.ts.map +1 -0
  237. package/dist/cliproxy/codex-reasoning-proxy.js +367 -0
  238. package/dist/cliproxy/codex-reasoning-proxy.js.map +1 -0
  239. package/dist/cliproxy/config-generator.d.ts +227 -0
  240. package/dist/cliproxy/config-generator.d.ts.map +1 -0
  241. package/dist/cliproxy/config-generator.js +876 -0
  242. package/dist/cliproxy/config-generator.js.map +1 -0
  243. package/dist/cliproxy/device-code-handler.d.ts +28 -0
  244. package/dist/cliproxy/device-code-handler.d.ts.map +1 -0
  245. package/dist/cliproxy/device-code-handler.js +22 -0
  246. package/dist/cliproxy/device-code-handler.js.map +1 -0
  247. package/dist/cliproxy/https-tunnel-proxy.d.ts +44 -0
  248. package/dist/cliproxy/https-tunnel-proxy.d.ts.map +1 -0
  249. package/dist/cliproxy/https-tunnel-proxy.js +224 -0
  250. package/dist/cliproxy/https-tunnel-proxy.js.map +1 -0
  251. package/dist/cliproxy/index.d.ts +41 -0
  252. package/dist/cliproxy/index.d.ts.map +1 -0
  253. package/dist/cliproxy/index.js +151 -0
  254. package/dist/cliproxy/index.js.map +1 -0
  255. package/dist/cliproxy/management-api-client.d.ts +67 -0
  256. package/dist/cliproxy/management-api-client.d.ts.map +1 -0
  257. package/dist/cliproxy/management-api-client.js +347 -0
  258. package/dist/cliproxy/management-api-client.js.map +1 -0
  259. package/dist/cliproxy/management-api-types.d.ts +107 -0
  260. package/dist/cliproxy/management-api-types.d.ts.map +1 -0
  261. package/dist/cliproxy/management-api-types.js +9 -0
  262. package/dist/cliproxy/management-api-types.js.map +1 -0
  263. package/dist/cliproxy/model-catalog.d.ts +108 -0
  264. package/dist/cliproxy/model-catalog.d.ts.map +1 -0
  265. package/dist/cliproxy/model-catalog.js +247 -0
  266. package/dist/cliproxy/model-catalog.js.map +1 -0
  267. package/dist/cliproxy/model-config.d.ts +31 -0
  268. package/dist/cliproxy/model-config.d.ts.map +1 -0
  269. package/dist/cliproxy/model-config.js +250 -0
  270. package/dist/cliproxy/model-config.js.map +1 -0
  271. package/dist/cliproxy/openai-compat-manager.d.ts +46 -0
  272. package/dist/cliproxy/openai-compat-manager.d.ts.map +1 -0
  273. package/dist/cliproxy/openai-compat-manager.js +191 -0
  274. package/dist/cliproxy/openai-compat-manager.js.map +1 -0
  275. package/dist/cliproxy/platform-detector.d.ts +99 -0
  276. package/dist/cliproxy/platform-detector.d.ts.map +1 -0
  277. package/dist/cliproxy/platform-detector.js +174 -0
  278. package/dist/cliproxy/platform-detector.js.map +1 -0
  279. package/dist/cliproxy/project-selection-handler.d.ts +105 -0
  280. package/dist/cliproxy/project-selection-handler.d.ts.map +1 -0
  281. package/dist/cliproxy/project-selection-handler.js +167 -0
  282. package/dist/cliproxy/project-selection-handler.js.map +1 -0
  283. package/dist/cliproxy/proxy-config-resolver.d.ts +86 -0
  284. package/dist/cliproxy/proxy-config-resolver.d.ts.map +1 -0
  285. package/dist/cliproxy/proxy-config-resolver.js +253 -0
  286. package/dist/cliproxy/proxy-config-resolver.js.map +1 -0
  287. package/dist/cliproxy/proxy-detector.d.ts +72 -0
  288. package/dist/cliproxy/proxy-detector.d.ts.map +1 -0
  289. package/dist/cliproxy/proxy-detector.js +196 -0
  290. package/dist/cliproxy/proxy-detector.js.map +1 -0
  291. package/dist/cliproxy/proxy-target-resolver.d.ts +50 -0
  292. package/dist/cliproxy/proxy-target-resolver.d.ts.map +1 -0
  293. package/dist/cliproxy/proxy-target-resolver.js +105 -0
  294. package/dist/cliproxy/proxy-target-resolver.js.map +1 -0
  295. package/dist/cliproxy/quota-fetcher-codex.d.ts +66 -0
  296. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +1 -0
  297. package/dist/cliproxy/quota-fetcher-codex.js +315 -0
  298. package/dist/cliproxy/quota-fetcher-codex.js.map +1 -0
  299. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts +51 -0
  300. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +1 -0
  301. package/dist/cliproxy/quota-fetcher-gemini-cli.js +492 -0
  302. package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +1 -0
  303. package/dist/cliproxy/quota-fetcher.d.ts +95 -0
  304. package/dist/cliproxy/quota-fetcher.d.ts.map +1 -0
  305. package/dist/cliproxy/quota-fetcher.js +589 -0
  306. package/dist/cliproxy/quota-fetcher.js.map +1 -0
  307. package/dist/cliproxy/quota-manager.d.ts +88 -0
  308. package/dist/cliproxy/quota-manager.d.ts.map +1 -0
  309. package/dist/cliproxy/quota-manager.js +278 -0
  310. package/dist/cliproxy/quota-manager.js.map +1 -0
  311. package/dist/cliproxy/quota-response-cache.d.ts +46 -0
  312. package/dist/cliproxy/quota-response-cache.d.ts.map +1 -0
  313. package/dist/cliproxy/quota-response-cache.js +98 -0
  314. package/dist/cliproxy/quota-response-cache.js.map +1 -0
  315. package/dist/cliproxy/quota-types.d.ts +84 -0
  316. package/dist/cliproxy/quota-types.d.ts.map +1 -0
  317. package/dist/cliproxy/quota-types.js +9 -0
  318. package/dist/cliproxy/quota-types.js.map +1 -0
  319. package/dist/cliproxy/remote-auth-fetcher.d.ts +28 -0
  320. package/dist/cliproxy/remote-auth-fetcher.d.ts.map +1 -0
  321. package/dist/cliproxy/remote-auth-fetcher.js +117 -0
  322. package/dist/cliproxy/remote-auth-fetcher.js.map +1 -0
  323. package/dist/cliproxy/remote-proxy-client.d.ts +59 -0
  324. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -0
  325. package/dist/cliproxy/remote-proxy-client.js +278 -0
  326. package/dist/cliproxy/remote-proxy-client.js.map +1 -0
  327. package/dist/cliproxy/remote-token-uploader.d.ts +28 -0
  328. package/dist/cliproxy/remote-token-uploader.d.ts.map +1 -0
  329. package/dist/cliproxy/remote-token-uploader.js +178 -0
  330. package/dist/cliproxy/remote-token-uploader.js.map +1 -0
  331. package/dist/cliproxy/service-manager.d.ts +55 -0
  332. package/dist/cliproxy/service-manager.d.ts.map +1 -0
  333. package/dist/cliproxy/service-manager.js +327 -0
  334. package/dist/cliproxy/service-manager.js.map +1 -0
  335. package/dist/cliproxy/services/binary-service.d.ts +67 -0
  336. package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
  337. package/dist/cliproxy/services/binary-service.js +176 -0
  338. package/dist/cliproxy/services/binary-service.js.map +1 -0
  339. package/dist/cliproxy/services/index.d.ts +8 -0
  340. package/dist/cliproxy/services/index.d.ts.map +1 -0
  341. package/dist/cliproxy/services/index.js +31 -0
  342. package/dist/cliproxy/services/index.js.map +1 -0
  343. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
  344. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
  345. package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
  346. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
  347. package/dist/cliproxy/services/variant-config-adapter.d.ts +48 -0
  348. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
  349. package/dist/cliproxy/services/variant-config-adapter.js +215 -0
  350. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
  351. package/dist/cliproxy/services/variant-service.d.ts +52 -0
  352. package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
  353. package/dist/cliproxy/services/variant-service.js +218 -0
  354. package/dist/cliproxy/services/variant-service.js.map +1 -0
  355. package/dist/cliproxy/services/variant-settings.d.ts +37 -0
  356. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
  357. package/dist/cliproxy/services/variant-settings.js +168 -0
  358. package/dist/cliproxy/services/variant-settings.js.map +1 -0
  359. package/dist/cliproxy/session-tracker.d.ts +100 -0
  360. package/dist/cliproxy/session-tracker.d.ts.map +1 -0
  361. package/dist/cliproxy/session-tracker.js +420 -0
  362. package/dist/cliproxy/session-tracker.js.map +1 -0
  363. package/dist/cliproxy/startup-lock.d.ts +57 -0
  364. package/dist/cliproxy/startup-lock.d.ts.map +1 -0
  365. package/dist/cliproxy/startup-lock.js +216 -0
  366. package/dist/cliproxy/startup-lock.js.map +1 -0
  367. package/dist/cliproxy/stats-fetcher.d.ts +106 -0
  368. package/dist/cliproxy/stats-fetcher.d.ts.map +1 -0
  369. package/dist/cliproxy/stats-fetcher.js +267 -0
  370. package/dist/cliproxy/stats-fetcher.js.map +1 -0
  371. package/dist/cliproxy/sync/auto-sync-watcher.d.ts +37 -0
  372. package/dist/cliproxy/sync/auto-sync-watcher.d.ts.map +1 -0
  373. package/dist/cliproxy/sync/auto-sync-watcher.js +211 -0
  374. package/dist/cliproxy/sync/auto-sync-watcher.js.map +1 -0
  375. package/dist/cliproxy/sync/index.d.ts +10 -0
  376. package/dist/cliproxy/sync/index.d.ts.map +1 -0
  377. package/dist/cliproxy/sync/index.js +27 -0
  378. package/dist/cliproxy/sync/index.js.map +1 -0
  379. package/dist/cliproxy/sync/local-config-sync.d.ts +28 -0
  380. package/dist/cliproxy/sync/local-config-sync.d.ts.map +1 -0
  381. package/dist/cliproxy/sync/local-config-sync.js +223 -0
  382. package/dist/cliproxy/sync/local-config-sync.js.map +1 -0
  383. package/dist/cliproxy/sync/profile-mapper.d.ts +55 -0
  384. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -0
  385. package/dist/cliproxy/sync/profile-mapper.js +173 -0
  386. package/dist/cliproxy/sync/profile-mapper.js.map +1 -0
  387. package/dist/cliproxy/thinking-validator.d.ts +67 -0
  388. package/dist/cliproxy/thinking-validator.d.ts.map +1 -0
  389. package/dist/cliproxy/thinking-validator.js +327 -0
  390. package/dist/cliproxy/thinking-validator.js.map +1 -0
  391. package/dist/cliproxy/tool-name-mapper.d.ts +103 -0
  392. package/dist/cliproxy/tool-name-mapper.d.ts.map +1 -0
  393. package/dist/cliproxy/tool-name-mapper.js +149 -0
  394. package/dist/cliproxy/tool-name-mapper.js.map +1 -0
  395. package/dist/cliproxy/tool-name-sanitizer.d.ts +65 -0
  396. package/dist/cliproxy/tool-name-sanitizer.d.ts.map +1 -0
  397. package/dist/cliproxy/tool-name-sanitizer.js +118 -0
  398. package/dist/cliproxy/tool-name-sanitizer.js.map +1 -0
  399. package/dist/cliproxy/tool-sanitization-proxy.d.ts +70 -0
  400. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -0
  401. package/dist/cliproxy/tool-sanitization-proxy.js +453 -0
  402. package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -0
  403. package/dist/cliproxy/types.d.ts +218 -0
  404. package/dist/cliproxy/types.d.ts.map +1 -0
  405. package/dist/cliproxy/types.js +12 -0
  406. package/dist/cliproxy/types.js.map +1 -0
  407. package/dist/commands/api-command.d.ts +12 -0
  408. package/dist/commands/api-command.d.ts.map +1 -0
  409. package/dist/commands/api-command.js +423 -0
  410. package/dist/commands/api-command.js.map +1 -0
  411. package/dist/commands/cleanup-command.d.ts +12 -0
  412. package/dist/commands/cleanup-command.d.ts.map +1 -0
  413. package/dist/commands/cleanup-command.js +350 -0
  414. package/dist/commands/cleanup-command.js.map +1 -0
  415. package/dist/commands/cliproxy-command.d.ts +21 -0
  416. package/dist/commands/cliproxy-command.d.ts.map +1 -0
  417. package/dist/commands/cliproxy-command.js +1099 -0
  418. package/dist/commands/cliproxy-command.js.map +1 -0
  419. package/dist/commands/cliproxy-sync-handler.d.ts +19 -0
  420. package/dist/commands/cliproxy-sync-handler.d.ts.map +1 -0
  421. package/dist/commands/cliproxy-sync-handler.js +99 -0
  422. package/dist/commands/cliproxy-sync-handler.js.map +1 -0
  423. package/dist/commands/config-auth/disable-command.d.ts +10 -0
  424. package/dist/commands/config-auth/disable-command.d.ts.map +1 -0
  425. package/dist/commands/config-auth/disable-command.js +64 -0
  426. package/dist/commands/config-auth/disable-command.js.map +1 -0
  427. package/dist/commands/config-auth/index.d.ts +14 -0
  428. package/dist/commands/config-auth/index.d.ts.map +1 -0
  429. package/dist/commands/config-auth/index.js +84 -0
  430. package/dist/commands/config-auth/index.js.map +1 -0
  431. package/dist/commands/config-auth/setup-command.d.ts +13 -0
  432. package/dist/commands/config-auth/setup-command.d.ts.map +1 -0
  433. package/dist/commands/config-auth/setup-command.js +121 -0
  434. package/dist/commands/config-auth/setup-command.js.map +1 -0
  435. package/dist/commands/config-auth/show-command.d.ts +10 -0
  436. package/dist/commands/config-auth/show-command.d.ts.map +1 -0
  437. package/dist/commands/config-auth/show-command.js +79 -0
  438. package/dist/commands/config-auth/show-command.js.map +1 -0
  439. package/dist/commands/config-auth/types.d.ts +25 -0
  440. package/dist/commands/config-auth/types.d.ts.map +1 -0
  441. package/dist/commands/config-auth/types.js +8 -0
  442. package/dist/commands/config-auth/types.js.map +1 -0
  443. package/dist/commands/config-command.d.ts +12 -0
  444. package/dist/commands/config-command.d.ts.map +1 -0
  445. package/dist/commands/config-command.js +184 -0
  446. package/dist/commands/config-command.js.map +1 -0
  447. package/dist/commands/config-image-analysis-command.d.ts +8 -0
  448. package/dist/commands/config-image-analysis-command.d.ts.map +1 -0
  449. package/dist/commands/config-image-analysis-command.js +174 -0
  450. package/dist/commands/config-image-analysis-command.js.map +1 -0
  451. package/dist/commands/copilot-command.d.ts +10 -0
  452. package/dist/commands/copilot-command.d.ts.map +1 -0
  453. package/dist/commands/copilot-command.js +228 -0
  454. package/dist/commands/copilot-command.js.map +1 -0
  455. package/dist/commands/doctor-command.d.ts +11 -0
  456. package/dist/commands/doctor-command.d.ts.map +1 -0
  457. package/dist/commands/doctor-command.js +92 -0
  458. package/dist/commands/doctor-command.js.map +1 -0
  459. package/dist/commands/help-command.d.ts +5 -0
  460. package/dist/commands/help-command.d.ts.map +1 -0
  461. package/dist/commands/help-command.js +346 -0
  462. package/dist/commands/help-command.js.map +1 -0
  463. package/dist/commands/index.d.ts +18 -0
  464. package/dist/commands/index.d.ts.map +1 -0
  465. package/dist/commands/index.js +35 -0
  466. package/dist/commands/index.js.map +1 -0
  467. package/dist/commands/install-command.d.ts +14 -0
  468. package/dist/commands/install-command.d.ts.map +1 -0
  469. package/dist/commands/install-command.js +62 -0
  470. package/dist/commands/install-command.js.map +1 -0
  471. package/dist/commands/migrate-command.d.ts +17 -0
  472. package/dist/commands/migrate-command.d.ts.map +1 -0
  473. package/dist/commands/migrate-command.js +139 -0
  474. package/dist/commands/migrate-command.js.map +1 -0
  475. package/dist/commands/persist-command.d.ts +12 -0
  476. package/dist/commands/persist-command.d.ts.map +1 -0
  477. package/dist/commands/persist-command.js +565 -0
  478. package/dist/commands/persist-command.js.map +1 -0
  479. package/dist/commands/setup-command.d.ts +29 -0
  480. package/dist/commands/setup-command.d.ts.map +1 -0
  481. package/dist/commands/setup-command.js +426 -0
  482. package/dist/commands/setup-command.js.map +1 -0
  483. package/dist/commands/shell-completion-command.d.ts +10 -0
  484. package/dist/commands/shell-completion-command.d.ts.map +1 -0
  485. package/dist/commands/shell-completion-command.js +90 -0
  486. package/dist/commands/shell-completion-command.js.map +1 -0
  487. package/dist/commands/sync-command.d.ts +10 -0
  488. package/dist/commands/sync-command.d.ts.map +1 -0
  489. package/dist/commands/sync-command.js +67 -0
  490. package/dist/commands/sync-command.js.map +1 -0
  491. package/dist/commands/tokens-command.d.ts +19 -0
  492. package/dist/commands/tokens-command.d.ts.map +1 -0
  493. package/dist/commands/tokens-command.js +173 -0
  494. package/dist/commands/tokens-command.js.map +1 -0
  495. package/dist/commands/update-command.d.ts +19 -0
  496. package/dist/commands/update-command.d.ts.map +1 -0
  497. package/dist/commands/update-command.js +290 -0
  498. package/dist/commands/update-command.js.map +1 -0
  499. package/dist/commands/version-command.d.ts +10 -0
  500. package/dist/commands/version-command.d.ts.map +1 -0
  501. package/dist/commands/version-command.js +100 -0
  502. package/dist/commands/version-command.js.map +1 -0
  503. package/dist/config/feature-flags.d.ts +19 -0
  504. package/dist/config/feature-flags.d.ts.map +1 -0
  505. package/dist/config/feature-flags.js +31 -0
  506. package/dist/config/feature-flags.js.map +1 -0
  507. package/dist/config/index.d.ts +11 -0
  508. package/dist/config/index.d.ts.map +1 -0
  509. package/dist/config/index.js +32 -0
  510. package/dist/config/index.js.map +1 -0
  511. package/dist/config/migration-manager.d.ts +75 -0
  512. package/dist/config/migration-manager.d.ts.map +1 -0
  513. package/dist/config/migration-manager.js +446 -0
  514. package/dist/config/migration-manager.js.map +1 -0
  515. package/dist/config/reserved-names.d.ts +31 -0
  516. package/dist/config/reserved-names.d.ts.map +1 -0
  517. package/dist/config/reserved-names.js +80 -0
  518. package/dist/config/reserved-names.js.map +1 -0
  519. package/dist/config/unified-config-loader.d.ts +117 -0
  520. package/dist/config/unified-config-loader.d.ts.map +1 -0
  521. package/dist/config/unified-config-loader.js +756 -0
  522. package/dist/config/unified-config-loader.js.map +1 -0
  523. package/dist/config/unified-config-types.d.ts +519 -0
  524. package/dist/config/unified-config-types.d.ts.map +1 -0
  525. package/dist/config/unified-config-types.js +211 -0
  526. package/dist/config/unified-config-types.js.map +1 -0
  527. package/dist/copilot/copilot-auth.d.ts +52 -0
  528. package/dist/copilot/copilot-auth.d.ts.map +1 -0
  529. package/dist/copilot/copilot-auth.js +201 -0
  530. package/dist/copilot/copilot-auth.js.map +1 -0
  531. package/dist/copilot/copilot-daemon.d.ts +36 -0
  532. package/dist/copilot/copilot-daemon.d.ts.map +1 -0
  533. package/dist/copilot/copilot-daemon.js +237 -0
  534. package/dist/copilot/copilot-daemon.js.map +1 -0
  535. package/dist/copilot/copilot-executor.d.ts +26 -0
  536. package/dist/copilot/copilot-executor.d.ts.map +1 -0
  537. package/dist/copilot/copilot-executor.js +150 -0
  538. package/dist/copilot/copilot-executor.js.map +1 -0
  539. package/dist/copilot/copilot-models.d.ts +34 -0
  540. package/dist/copilot/copilot-models.d.ts.map +1 -0
  541. package/dist/copilot/copilot-models.js +261 -0
  542. package/dist/copilot/copilot-models.js.map +1 -0
  543. package/dist/copilot/copilot-package-manager.d.ts +93 -0
  544. package/dist/copilot/copilot-package-manager.d.ts.map +1 -0
  545. package/dist/copilot/copilot-package-manager.js +488 -0
  546. package/dist/copilot/copilot-package-manager.js.map +1 -0
  547. package/dist/copilot/index.d.ts +13 -0
  548. package/dist/copilot/index.d.ts.map +1 -0
  549. package/dist/copilot/index.js +63 -0
  550. package/dist/copilot/index.js.map +1 -0
  551. package/dist/copilot/types.d.ts +65 -0
  552. package/dist/copilot/types.d.ts.map +1 -0
  553. package/dist/copilot/types.js +8 -0
  554. package/dist/copilot/types.js.map +1 -0
  555. package/dist/delegation/delegation-handler.d.ts +66 -0
  556. package/dist/delegation/delegation-handler.d.ts.map +1 -0
  557. package/dist/delegation/delegation-handler.js +290 -0
  558. package/dist/delegation/delegation-handler.js.map +1 -0
  559. package/dist/delegation/executor/index.d.ts +7 -0
  560. package/dist/delegation/executor/index.d.ts.map +1 -0
  561. package/dist/delegation/executor/index.js +28 -0
  562. package/dist/delegation/executor/index.js.map +1 -0
  563. package/dist/delegation/executor/result-aggregator.d.ts +30 -0
  564. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
  565. package/dist/delegation/executor/result-aggregator.js +66 -0
  566. package/dist/delegation/executor/result-aggregator.js.map +1 -0
  567. package/dist/delegation/executor/stream-parser.d.ts +28 -0
  568. package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
  569. package/dist/delegation/executor/stream-parser.js +140 -0
  570. package/dist/delegation/executor/stream-parser.js.map +1 -0
  571. package/dist/delegation/executor/types.d.ts +129 -0
  572. package/dist/delegation/executor/types.d.ts.map +1 -0
  573. package/dist/delegation/executor/types.js +6 -0
  574. package/dist/delegation/executor/types.js.map +1 -0
  575. package/dist/delegation/headless-executor.d.ts +42 -0
  576. package/dist/delegation/headless-executor.d.ts.map +1 -0
  577. package/dist/delegation/headless-executor.js +480 -0
  578. package/dist/delegation/headless-executor.js.map +1 -0
  579. package/dist/delegation/index.d.ts +11 -0
  580. package/dist/delegation/index.d.ts.map +1 -0
  581. package/dist/delegation/index.js +33 -0
  582. package/dist/delegation/index.js.map +1 -0
  583. package/dist/delegation/result-formatter.d.ts +56 -0
  584. package/dist/delegation/result-formatter.d.ts.map +1 -0
  585. package/dist/delegation/result-formatter.js +341 -0
  586. package/dist/delegation/result-formatter.js.map +1 -0
  587. package/dist/delegation/session-manager.d.ts +58 -0
  588. package/dist/delegation/session-manager.d.ts.map +1 -0
  589. package/dist/delegation/session-manager.js +153 -0
  590. package/dist/delegation/session-manager.js.map +1 -0
  591. package/dist/delegation/settings-parser.d.ts +31 -0
  592. package/dist/delegation/settings-parser.d.ts.map +1 -0
  593. package/dist/delegation/settings-parser.js +107 -0
  594. package/dist/delegation/settings-parser.js.map +1 -0
  595. package/dist/errors/cleanup-registry.d.ts +64 -0
  596. package/dist/errors/cleanup-registry.d.ts.map +1 -0
  597. package/dist/errors/cleanup-registry.js +141 -0
  598. package/dist/errors/cleanup-registry.js.map +1 -0
  599. package/dist/errors/error-handler.d.ts +45 -0
  600. package/dist/errors/error-handler.d.ts.map +1 -0
  601. package/dist/errors/error-handler.js +150 -0
  602. package/dist/errors/error-handler.js.map +1 -0
  603. package/dist/errors/error-types.d.ts +102 -0
  604. package/dist/errors/error-types.d.ts.map +1 -0
  605. package/dist/errors/error-types.js +158 -0
  606. package/dist/errors/error-types.js.map +1 -0
  607. package/dist/errors/exit-codes.d.ts +49 -0
  608. package/dist/errors/exit-codes.d.ts.map +1 -0
  609. package/dist/errors/exit-codes.js +72 -0
  610. package/dist/errors/exit-codes.js.map +1 -0
  611. package/dist/errors/index.d.ts +29 -0
  612. package/dist/errors/index.d.ts.map +1 -0
  613. package/dist/errors/index.js +62 -0
  614. package/dist/errors/index.js.map +1 -0
  615. package/dist/glmt/delta-accumulator.d.ts +210 -0
  616. package/dist/glmt/delta-accumulator.d.ts.map +1 -0
  617. package/dist/glmt/delta-accumulator.js +351 -0
  618. package/dist/glmt/delta-accumulator.js.map +1 -0
  619. package/dist/glmt/glmt-proxy.d.ts +107 -0
  620. package/dist/glmt/glmt-proxy.d.ts.map +1 -0
  621. package/dist/glmt/glmt-proxy.js +665 -0
  622. package/dist/glmt/glmt-proxy.js.map +1 -0
  623. package/dist/glmt/glmt-transformer.d.ts +46 -0
  624. package/dist/glmt/glmt-transformer.d.ts.map +1 -0
  625. package/dist/glmt/glmt-transformer.js +177 -0
  626. package/dist/glmt/glmt-transformer.js.map +1 -0
  627. package/dist/glmt/index.d.ts +14 -0
  628. package/dist/glmt/index.d.ts.map +1 -0
  629. package/dist/glmt/index.js +41 -0
  630. package/dist/glmt/index.js.map +1 -0
  631. package/dist/glmt/locale-enforcer.d.ts +38 -0
  632. package/dist/glmt/locale-enforcer.d.ts.map +1 -0
  633. package/dist/glmt/locale-enforcer.js +69 -0
  634. package/dist/glmt/locale-enforcer.js.map +1 -0
  635. package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
  636. package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
  637. package/dist/glmt/pipeline/content-transformer.js +162 -0
  638. package/dist/glmt/pipeline/content-transformer.js.map +1 -0
  639. package/dist/glmt/pipeline/index.d.ts +12 -0
  640. package/dist/glmt/pipeline/index.d.ts.map +1 -0
  641. package/dist/glmt/pipeline/index.js +20 -0
  642. package/dist/glmt/pipeline/index.js.map +1 -0
  643. package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
  644. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
  645. package/dist/glmt/pipeline/request-transformer.js +116 -0
  646. package/dist/glmt/pipeline/request-transformer.js.map +1 -0
  647. package/dist/glmt/pipeline/response-builder.d.ts +52 -0
  648. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
  649. package/dist/glmt/pipeline/response-builder.js +205 -0
  650. package/dist/glmt/pipeline/response-builder.js.map +1 -0
  651. package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
  652. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
  653. package/dist/glmt/pipeline/stream-parser.js +241 -0
  654. package/dist/glmt/pipeline/stream-parser.js.map +1 -0
  655. package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
  656. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
  657. package/dist/glmt/pipeline/tool-call-handler.js +87 -0
  658. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
  659. package/dist/glmt/pipeline/types.d.ts +159 -0
  660. package/dist/glmt/pipeline/types.d.ts.map +1 -0
  661. package/dist/glmt/pipeline/types.js +6 -0
  662. package/dist/glmt/pipeline/types.js.map +1 -0
  663. package/dist/glmt/reasoning-enforcer.d.ts +52 -0
  664. package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
  665. package/dist/glmt/reasoning-enforcer.js +151 -0
  666. package/dist/glmt/reasoning-enforcer.js.map +1 -0
  667. package/dist/glmt/sse-parser.d.ts +47 -0
  668. package/dist/glmt/sse-parser.d.ts.map +1 -0
  669. package/dist/glmt/sse-parser.js +93 -0
  670. package/dist/glmt/sse-parser.js.map +1 -0
  671. package/dist/management/checks/cliproxy-check.d.ts +37 -0
  672. package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
  673. package/dist/management/checks/cliproxy-check.js +187 -0
  674. package/dist/management/checks/cliproxy-check.js.map +1 -0
  675. package/dist/management/checks/config-check.d.ts +38 -0
  676. package/dist/management/checks/config-check.d.ts.map +1 -0
  677. package/dist/management/checks/config-check.js +215 -0
  678. package/dist/management/checks/config-check.js.map +1 -0
  679. package/dist/management/checks/env-check.d.ts +17 -0
  680. package/dist/management/checks/env-check.d.ts.map +1 -0
  681. package/dist/management/checks/env-check.js +71 -0
  682. package/dist/management/checks/env-check.js.map +1 -0
  683. package/dist/management/checks/image-analysis-check.d.ts +16 -0
  684. package/dist/management/checks/image-analysis-check.d.ts.map +1 -0
  685. package/dist/management/checks/image-analysis-check.js +140 -0
  686. package/dist/management/checks/image-analysis-check.js.map +1 -0
  687. package/dist/management/checks/index.d.ts +13 -0
  688. package/dist/management/checks/index.d.ts.map +1 -0
  689. package/dist/management/checks/index.js +52 -0
  690. package/dist/management/checks/index.js.map +1 -0
  691. package/dist/management/checks/oauth-check.d.ts +16 -0
  692. package/dist/management/checks/oauth-check.d.ts.map +1 -0
  693. package/dist/management/checks/oauth-check.js +68 -0
  694. package/dist/management/checks/oauth-check.js.map +1 -0
  695. package/dist/management/checks/profile-check.d.ts +40 -0
  696. package/dist/management/checks/profile-check.d.ts.map +1 -0
  697. package/dist/management/checks/profile-check.js +190 -0
  698. package/dist/management/checks/profile-check.js.map +1 -0
  699. package/dist/management/checks/symlink-check.d.ts +30 -0
  700. package/dist/management/checks/symlink-check.d.ts.map +1 -0
  701. package/dist/management/checks/symlink-check.js +214 -0
  702. package/dist/management/checks/symlink-check.js.map +1 -0
  703. package/dist/management/checks/system-check.d.ts +25 -0
  704. package/dist/management/checks/system-check.d.ts.map +1 -0
  705. package/dist/management/checks/system-check.js +135 -0
  706. package/dist/management/checks/system-check.js.map +1 -0
  707. package/dist/management/checks/types.d.ts +64 -0
  708. package/dist/management/checks/types.d.ts.map +1 -0
  709. package/dist/management/checks/types.js +64 -0
  710. package/dist/management/checks/types.js.map +1 -0
  711. package/dist/management/doctor.d.ts +34 -0
  712. package/dist/management/doctor.d.ts.map +1 -0
  713. package/dist/management/doctor.js +154 -0
  714. package/dist/management/doctor.js.map +1 -0
  715. package/dist/management/environment-diagnostics.d.ts +69 -0
  716. package/dist/management/environment-diagnostics.d.ts.map +1 -0
  717. package/dist/management/environment-diagnostics.js +229 -0
  718. package/dist/management/environment-diagnostics.js.map +1 -0
  719. package/dist/management/index.d.ts +15 -0
  720. package/dist/management/index.d.ts.map +1 -0
  721. package/dist/management/index.js +56 -0
  722. package/dist/management/index.js.map +1 -0
  723. package/dist/management/instance-manager.d.ts +57 -0
  724. package/dist/management/instance-manager.d.ts.map +1 -0
  725. package/dist/management/instance-manager.js +195 -0
  726. package/dist/management/instance-manager.js.map +1 -0
  727. package/dist/management/oauth-port-diagnostics.d.ts +115 -0
  728. package/dist/management/oauth-port-diagnostics.d.ts.map +1 -0
  729. package/dist/management/oauth-port-diagnostics.js +291 -0
  730. package/dist/management/oauth-port-diagnostics.js.map +1 -0
  731. package/dist/management/recovery-manager.d.ts +56 -0
  732. package/dist/management/recovery-manager.d.ts.map +1 -0
  733. package/dist/management/recovery-manager.js +239 -0
  734. package/dist/management/recovery-manager.js.map +1 -0
  735. package/dist/management/repair/auto-repair.d.ts +13 -0
  736. package/dist/management/repair/auto-repair.d.ts.map +1 -0
  737. package/dist/management/repair/auto-repair.js +186 -0
  738. package/dist/management/repair/auto-repair.js.map +1 -0
  739. package/dist/management/repair/index.d.ts +5 -0
  740. package/dist/management/repair/index.d.ts.map +1 -0
  741. package/dist/management/repair/index.js +9 -0
  742. package/dist/management/repair/index.js.map +1 -0
  743. package/dist/management/shared-manager.d.ts +55 -0
  744. package/dist/management/shared-manager.d.ts.map +1 -0
  745. package/dist/management/shared-manager.js +424 -0
  746. package/dist/management/shared-manager.js.map +1 -0
  747. package/dist/types/cli.d.ts +50 -0
  748. package/dist/types/cli.d.ts.map +1 -0
  749. package/dist/types/cli.js +16 -0
  750. package/dist/types/cli.js.map +1 -0
  751. package/dist/types/config.d.ts +89 -0
  752. package/dist/types/config.d.ts.map +1 -0
  753. package/dist/types/config.js +26 -0
  754. package/dist/types/config.js.map +1 -0
  755. package/dist/types/delegation.d.ts +49 -0
  756. package/dist/types/delegation.d.ts.map +1 -0
  757. package/dist/types/delegation.js +6 -0
  758. package/dist/types/delegation.js.map +1 -0
  759. package/dist/types/glmt.d.ts +95 -0
  760. package/dist/types/glmt.d.ts.map +1 -0
  761. package/dist/types/glmt.js +7 -0
  762. package/dist/types/glmt.js.map +1 -0
  763. package/dist/types/index.d.ts +13 -0
  764. package/dist/types/index.d.ts.map +1 -0
  765. package/dist/types/index.js +16 -0
  766. package/dist/types/index.js.map +1 -0
  767. package/dist/types/utils.d.ts +107 -0
  768. package/dist/types/utils.d.ts.map +1 -0
  769. package/dist/types/utils.js +22 -0
  770. package/dist/types/utils.js.map +1 -0
  771. package/dist/utils/api-key-validator.d.ts +14 -0
  772. package/dist/utils/api-key-validator.d.ts.map +1 -0
  773. package/dist/utils/api-key-validator.js +143 -0
  774. package/dist/utils/api-key-validator.js.map +1 -0
  775. package/dist/utils/claude-detector.d.ts +14 -0
  776. package/dist/utils/claude-detector.d.ts.map +1 -0
  777. package/dist/utils/claude-detector.js +152 -0
  778. package/dist/utils/claude-detector.js.map +1 -0
  779. package/dist/utils/claude-dir-installer.d.ts +46 -0
  780. package/dist/utils/claude-dir-installer.d.ts.map +1 -0
  781. package/dist/utils/claude-dir-installer.js +289 -0
  782. package/dist/utils/claude-dir-installer.js.map +1 -0
  783. package/dist/utils/claude-spawner.d.ts +54 -0
  784. package/dist/utils/claude-spawner.d.ts.map +1 -0
  785. package/dist/utils/claude-spawner.js +118 -0
  786. package/dist/utils/claude-spawner.js.map +1 -0
  787. package/dist/utils/claude-symlink-manager.d.ts +75 -0
  788. package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
  789. package/dist/utils/claude-symlink-manager.js +393 -0
  790. package/dist/utils/claude-symlink-manager.js.map +1 -0
  791. package/dist/utils/config-manager.d.ts +59 -0
  792. package/dist/utils/config-manager.d.ts.map +1 -0
  793. package/dist/utils/config-manager.js +292 -0
  794. package/dist/utils/config-manager.js.map +1 -0
  795. package/dist/utils/delegation-validator.d.ts +44 -0
  796. package/dist/utils/delegation-validator.d.ts.map +1 -0
  797. package/dist/utils/delegation-validator.js +182 -0
  798. package/dist/utils/delegation-validator.js.map +1 -0
  799. package/dist/utils/error-codes.d.ts +36 -0
  800. package/dist/utils/error-codes.d.ts.map +1 -0
  801. package/dist/utils/error-codes.js +63 -0
  802. package/dist/utils/error-codes.js.map +1 -0
  803. package/dist/utils/error-manager.d.ts +59 -0
  804. package/dist/utils/error-manager.d.ts.map +1 -0
  805. package/dist/utils/error-manager.js +250 -0
  806. package/dist/utils/error-manager.js.map +1 -0
  807. package/dist/utils/helpers.d.ts +17 -0
  808. package/dist/utils/helpers.d.ts.map +1 -0
  809. package/dist/utils/helpers.js +111 -0
  810. package/dist/utils/helpers.js.map +1 -0
  811. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +17 -0
  812. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -0
  813. package/dist/utils/hooks/get-image-analysis-hook-env.js +42 -0
  814. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -0
  815. package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts +17 -0
  816. package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts.map +1 -0
  817. package/dist/utils/hooks/image-analyzer-hook-configuration.js +71 -0
  818. package/dist/utils/hooks/image-analyzer-hook-configuration.js.map +1 -0
  819. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts +31 -0
  820. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +1 -0
  821. package/dist/utils/hooks/image-analyzer-hook-installer.js +149 -0
  822. package/dist/utils/hooks/image-analyzer-hook-installer.js.map +1 -0
  823. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts +24 -0
  824. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -0
  825. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +251 -0
  826. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -0
  827. package/dist/utils/hooks/index.d.ts +11 -0
  828. package/dist/utils/hooks/index.d.ts.map +1 -0
  829. package/dist/utils/hooks/index.js +21 -0
  830. package/dist/utils/hooks/index.js.map +1 -0
  831. package/dist/utils/image-analysis/hook-installer.d.ts +19 -0
  832. package/dist/utils/image-analysis/hook-installer.d.ts.map +1 -0
  833. package/dist/utils/image-analysis/hook-installer.js +112 -0
  834. package/dist/utils/image-analysis/hook-installer.js.map +1 -0
  835. package/dist/utils/image-analysis/index.d.ts +7 -0
  836. package/dist/utils/image-analysis/index.d.ts.map +1 -0
  837. package/dist/utils/image-analysis/index.js +12 -0
  838. package/dist/utils/image-analysis/index.js.map +1 -0
  839. package/dist/utils/index.d.ts +15 -0
  840. package/dist/utils/index.d.ts.map +1 -0
  841. package/dist/utils/index.js +50 -0
  842. package/dist/utils/index.js.map +1 -0
  843. package/dist/utils/package-manager-detector.d.ts +11 -0
  844. package/dist/utils/package-manager-detector.d.ts.map +1 -0
  845. package/dist/utils/package-manager-detector.js +103 -0
  846. package/dist/utils/package-manager-detector.js.map +1 -0
  847. package/dist/utils/platform-commands.d.ts +53 -0
  848. package/dist/utils/platform-commands.d.ts.map +1 -0
  849. package/dist/utils/platform-commands.js +189 -0
  850. package/dist/utils/platform-commands.js.map +1 -0
  851. package/dist/utils/port-utils.d.ts +55 -0
  852. package/dist/utils/port-utils.d.ts.map +1 -0
  853. package/dist/utils/port-utils.js +217 -0
  854. package/dist/utils/port-utils.js.map +1 -0
  855. package/dist/utils/progress-indicator.d.ts +53 -0
  856. package/dist/utils/progress-indicator.d.ts.map +1 -0
  857. package/dist/utils/progress-indicator.js +104 -0
  858. package/dist/utils/progress-indicator.js.map +1 -0
  859. package/dist/utils/prompt.d.ts +55 -0
  860. package/dist/utils/prompt.d.ts.map +1 -0
  861. package/dist/utils/prompt.js +270 -0
  862. package/dist/utils/prompt.js.map +1 -0
  863. package/dist/utils/sensitive-keys.d.ts +35 -0
  864. package/dist/utils/sensitive-keys.d.ts.map +1 -0
  865. package/dist/utils/sensitive-keys.js +67 -0
  866. package/dist/utils/sensitive-keys.js.map +1 -0
  867. package/dist/utils/shell-completion.d.ts +54 -0
  868. package/dist/utils/shell-completion.d.ts.map +1 -0
  869. package/dist/utils/shell-completion.js +260 -0
  870. package/dist/utils/shell-completion.js.map +1 -0
  871. package/dist/utils/shell-executor.d.ts +16 -0
  872. package/dist/utils/shell-executor.d.ts.map +1 -0
  873. package/dist/utils/shell-executor.js +73 -0
  874. package/dist/utils/shell-executor.js.map +1 -0
  875. package/dist/utils/time.d.ts +10 -0
  876. package/dist/utils/time.d.ts.map +1 -0
  877. package/dist/utils/time.js +27 -0
  878. package/dist/utils/time.js.map +1 -0
  879. package/dist/utils/ui/boxes.d.ts +24 -0
  880. package/dist/utils/ui/boxes.d.ts.map +1 -0
  881. package/dist/utils/ui/boxes.js +108 -0
  882. package/dist/utils/ui/boxes.js.map +1 -0
  883. package/dist/utils/ui/colors.d.ts +25 -0
  884. package/dist/utils/ui/colors.d.ts.map +1 -0
  885. package/dist/utils/ui/colors.js +70 -0
  886. package/dist/utils/ui/colors.js.map +1 -0
  887. package/dist/utils/ui/index.d.ts +51 -0
  888. package/dist/utils/ui/index.d.ts.map +1 -0
  889. package/dist/utils/ui/index.js +96 -0
  890. package/dist/utils/ui/index.js.map +1 -0
  891. package/dist/utils/ui/indicators.d.ts +23 -0
  892. package/dist/utils/ui/indicators.d.ts.map +1 -0
  893. package/dist/utils/ui/indicators.js +39 -0
  894. package/dist/utils/ui/indicators.js.map +1 -0
  895. package/dist/utils/ui/init.d.ts +30 -0
  896. package/dist/utils/ui/init.d.ts.map +1 -0
  897. package/dist/utils/ui/init.js +102 -0
  898. package/dist/utils/ui/init.js.map +1 -0
  899. package/dist/utils/ui/spinner.d.ts +13 -0
  900. package/dist/utils/ui/spinner.d.ts.map +1 -0
  901. package/dist/utils/ui/spinner.js +89 -0
  902. package/dist/utils/ui/spinner.js.map +1 -0
  903. package/dist/utils/ui/tables.d.ts +12 -0
  904. package/dist/utils/ui/tables.d.ts.map +1 -0
  905. package/dist/utils/ui/tables.js +69 -0
  906. package/dist/utils/ui/tables.js.map +1 -0
  907. package/dist/utils/ui/tasks.d.ts +26 -0
  908. package/dist/utils/ui/tasks.d.ts.map +1 -0
  909. package/dist/utils/ui/tasks.js +102 -0
  910. package/dist/utils/ui/tasks.js.map +1 -0
  911. package/dist/utils/ui/text.d.ts +24 -0
  912. package/dist/utils/ui/text.d.ts.map +1 -0
  913. package/dist/utils/ui/text.js +60 -0
  914. package/dist/utils/ui/text.js.map +1 -0
  915. package/dist/utils/ui/types.d.ts +36 -0
  916. package/dist/utils/ui/types.d.ts.map +1 -0
  917. package/dist/utils/ui/types.js +33 -0
  918. package/dist/utils/ui/types.js.map +1 -0
  919. package/dist/utils/ui.d.ts +17 -0
  920. package/dist/utils/ui.d.ts.map +1 -0
  921. package/dist/utils/ui.js +57 -0
  922. package/dist/utils/ui.js.map +1 -0
  923. package/dist/utils/update-checker.d.ts +71 -0
  924. package/dist/utils/update-checker.d.ts.map +1 -0
  925. package/dist/utils/update-checker.js +377 -0
  926. package/dist/utils/update-checker.js.map +1 -0
  927. package/dist/utils/version.d.ts +8 -0
  928. package/dist/utils/version.d.ts.map +1 -0
  929. package/dist/utils/version.js +51 -0
  930. package/dist/utils/version.js.map +1 -0
  931. package/dist/utils/websearch/gemini-cli.d.ts +36 -0
  932. package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
  933. package/dist/utils/websearch/gemini-cli.js +132 -0
  934. package/dist/utils/websearch/gemini-cli.js.map +1 -0
  935. package/dist/utils/websearch/grok-cli.d.ts +26 -0
  936. package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
  937. package/dist/utils/websearch/grok-cli.js +81 -0
  938. package/dist/utils/websearch/grok-cli.js.map +1 -0
  939. package/dist/utils/websearch/hook-config.d.ts +27 -0
  940. package/dist/utils/websearch/hook-config.d.ts.map +1 -0
  941. package/dist/utils/websearch/hook-config.js +280 -0
  942. package/dist/utils/websearch/hook-config.js.map +1 -0
  943. package/dist/utils/websearch/hook-env.d.ts +16 -0
  944. package/dist/utils/websearch/hook-env.d.ts.map +1 -0
  945. package/dist/utils/websearch/hook-env.js +62 -0
  946. package/dist/utils/websearch/hook-env.js.map +1 -0
  947. package/dist/utils/websearch/hook-installer.d.ts +30 -0
  948. package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
  949. package/dist/utils/websearch/hook-installer.js +148 -0
  950. package/dist/utils/websearch/hook-installer.js.map +1 -0
  951. package/dist/utils/websearch/hook-utils.d.ts +18 -0
  952. package/dist/utils/websearch/hook-utils.d.ts.map +1 -0
  953. package/dist/utils/websearch/hook-utils.js +59 -0
  954. package/dist/utils/websearch/hook-utils.js.map +1 -0
  955. package/dist/utils/websearch/index.d.ts +17 -0
  956. package/dist/utils/websearch/index.d.ts.map +1 -0
  957. package/dist/utils/websearch/index.js +51 -0
  958. package/dist/utils/websearch/index.js.map +1 -0
  959. package/dist/utils/websearch/opencode-cli.d.ts +26 -0
  960. package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
  961. package/dist/utils/websearch/opencode-cli.js +81 -0
  962. package/dist/utils/websearch/opencode-cli.js.map +1 -0
  963. package/dist/utils/websearch/profile-hook-injector.d.ts +20 -0
  964. package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -0
  965. package/dist/utils/websearch/profile-hook-injector.js +250 -0
  966. package/dist/utils/websearch/profile-hook-injector.js.map +1 -0
  967. package/dist/utils/websearch/status.d.ts +36 -0
  968. package/dist/utils/websearch/status.d.ts.map +1 -0
  969. package/dist/utils/websearch/status.js +192 -0
  970. package/dist/utils/websearch/status.js.map +1 -0
  971. package/dist/utils/websearch/types.d.ts +85 -0
  972. package/dist/utils/websearch/types.d.ts.map +1 -0
  973. package/dist/utils/websearch/types.js +10 -0
  974. package/dist/utils/websearch/types.js.map +1 -0
  975. package/dist/utils/websearch-manager.d.ts +31 -0
  976. package/dist/utils/websearch-manager.d.ts.map +1 -0
  977. package/dist/utils/websearch-manager.js +72 -0
  978. package/dist/utils/websearch-manager.js.map +1 -0
  979. package/dist/web-server/data-aggregator.d.ts +7 -0
  980. package/dist/web-server/data-aggregator.d.ts.map +1 -0
  981. package/dist/web-server/data-aggregator.js +23 -0
  982. package/dist/web-server/data-aggregator.js.map +1 -0
  983. package/dist/web-server/file-watcher.d.ts +15 -0
  984. package/dist/web-server/file-watcher.d.ts.map +1 -0
  985. package/dist/web-server/file-watcher.js +93 -0
  986. package/dist/web-server/file-watcher.js.map +1 -0
  987. package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
  988. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
  989. package/dist/web-server/health/cliproxy-checks.js +171 -0
  990. package/dist/web-server/health/cliproxy-checks.js.map +1 -0
  991. package/dist/web-server/health/config-checks.d.ts +20 -0
  992. package/dist/web-server/health/config-checks.d.ts.map +1 -0
  993. package/dist/web-server/health/config-checks.js +212 -0
  994. package/dist/web-server/health/config-checks.js.map +1 -0
  995. package/dist/web-server/health/environment-checks.d.ts +11 -0
  996. package/dist/web-server/health/environment-checks.d.ts.map +1 -0
  997. package/dist/web-server/health/environment-checks.js +40 -0
  998. package/dist/web-server/health/environment-checks.js.map +1 -0
  999. package/dist/web-server/health/index.d.ts +13 -0
  1000. package/dist/web-server/health/index.d.ts.map +1 -0
  1001. package/dist/web-server/health/index.js +41 -0
  1002. package/dist/web-server/health/index.js.map +1 -0
  1003. package/dist/web-server/health/oauth-checks.d.ts +11 -0
  1004. package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
  1005. package/dist/web-server/health/oauth-checks.js +34 -0
  1006. package/dist/web-server/health/oauth-checks.js.map +1 -0
  1007. package/dist/web-server/health/profile-checks.d.ts +20 -0
  1008. package/dist/web-server/health/profile-checks.d.ts.map +1 -0
  1009. package/dist/web-server/health/profile-checks.js +184 -0
  1010. package/dist/web-server/health/profile-checks.js.map +1 -0
  1011. package/dist/web-server/health/symlink-checks.d.ts +15 -0
  1012. package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
  1013. package/dist/web-server/health/symlink-checks.js +173 -0
  1014. package/dist/web-server/health/symlink-checks.js.map +1 -0
  1015. package/dist/web-server/health/system-checks.d.ts +19 -0
  1016. package/dist/web-server/health/system-checks.d.ts.map +1 -0
  1017. package/dist/web-server/health/system-checks.js +127 -0
  1018. package/dist/web-server/health/system-checks.js.map +1 -0
  1019. package/dist/web-server/health/types.d.ts +34 -0
  1020. package/dist/web-server/health/types.d.ts.map +1 -0
  1021. package/dist/web-server/health/types.js +8 -0
  1022. package/dist/web-server/health/types.js.map +1 -0
  1023. package/dist/web-server/health/websearch-checks.d.ts +11 -0
  1024. package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
  1025. package/dist/web-server/health/websearch-checks.js +53 -0
  1026. package/dist/web-server/health/websearch-checks.js.map +1 -0
  1027. package/dist/web-server/health-service.d.ts +20 -0
  1028. package/dist/web-server/health-service.d.ts.map +1 -0
  1029. package/dist/web-server/health-service.js +162 -0
  1030. package/dist/web-server/health-service.js.map +1 -0
  1031. package/dist/web-server/index.d.ts +25 -0
  1032. package/dist/web-server/index.d.ts.map +1 -0
  1033. package/dist/web-server/index.js +118 -0
  1034. package/dist/web-server/index.js.map +1 -0
  1035. package/dist/web-server/jsonl-parser.d.ts +68 -0
  1036. package/dist/web-server/jsonl-parser.d.ts.map +1 -0
  1037. package/dist/web-server/jsonl-parser.js +214 -0
  1038. package/dist/web-server/jsonl-parser.js.map +1 -0
  1039. package/dist/web-server/middleware/auth-middleware.d.ts +27 -0
  1040. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -0
  1041. package/dist/web-server/middleware/auth-middleware.js +116 -0
  1042. package/dist/web-server/middleware/auth-middleware.js.map +1 -0
  1043. package/dist/web-server/model-pricing.d.ts +42 -0
  1044. package/dist/web-server/model-pricing.d.ts.map +1 -0
  1045. package/dist/web-server/model-pricing.js +669 -0
  1046. package/dist/web-server/model-pricing.js.map +1 -0
  1047. package/dist/web-server/overview-routes.d.ts +7 -0
  1048. package/dist/web-server/overview-routes.d.ts.map +1 -0
  1049. package/dist/web-server/overview-routes.js +75 -0
  1050. package/dist/web-server/overview-routes.js.map +1 -0
  1051. package/dist/web-server/routes/account-routes.d.ts +9 -0
  1052. package/dist/web-server/routes/account-routes.d.ts.map +1 -0
  1053. package/dist/web-server/routes/account-routes.js +274 -0
  1054. package/dist/web-server/routes/account-routes.js.map +1 -0
  1055. package/dist/web-server/routes/auth-routes.d.ts +7 -0
  1056. package/dist/web-server/routes/auth-routes.d.ts.map +1 -0
  1057. package/dist/web-server/routes/auth-routes.js +108 -0
  1058. package/dist/web-server/routes/auth-routes.js.map +1 -0
  1059. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +3 -0
  1060. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
  1061. package/dist/web-server/routes/cliproxy-auth-routes.js +610 -0
  1062. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
  1063. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
  1064. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
  1065. package/dist/web-server/routes/cliproxy-stats-routes.js +681 -0
  1066. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
  1067. package/dist/web-server/routes/cliproxy-sync-routes.d.ts +6 -0
  1068. package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -0
  1069. package/dist/web-server/routes/cliproxy-sync-routes.js +157 -0
  1070. package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -0
  1071. package/dist/web-server/routes/config-routes.d.ts +6 -0
  1072. package/dist/web-server/routes/config-routes.d.ts.map +1 -0
  1073. package/dist/web-server/routes/config-routes.js +130 -0
  1074. package/dist/web-server/routes/config-routes.js.map +1 -0
  1075. package/dist/web-server/routes/copilot-routes.d.ts +6 -0
  1076. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
  1077. package/dist/web-server/routes/copilot-routes.js +195 -0
  1078. package/dist/web-server/routes/copilot-routes.js.map +1 -0
  1079. package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
  1080. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
  1081. package/dist/web-server/routes/copilot-settings-routes.js +122 -0
  1082. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
  1083. package/dist/web-server/routes/health-routes.d.ts +6 -0
  1084. package/dist/web-server/routes/health-routes.d.ts.map +1 -0
  1085. package/dist/web-server/routes/health-routes.js +40 -0
  1086. package/dist/web-server/routes/health-routes.js.map +1 -0
  1087. package/dist/web-server/routes/index.d.ts +8 -0
  1088. package/dist/web-server/routes/index.d.ts.map +1 -0
  1089. package/dist/web-server/routes/index.js +62 -0
  1090. package/dist/web-server/routes/index.js.map +1 -0
  1091. package/dist/web-server/routes/misc-routes.d.ts +6 -0
  1092. package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
  1093. package/dist/web-server/routes/misc-routes.js +396 -0
  1094. package/dist/web-server/routes/misc-routes.js.map +1 -0
  1095. package/dist/web-server/routes/persist-routes.d.ts +6 -0
  1096. package/dist/web-server/routes/persist-routes.d.ts.map +1 -0
  1097. package/dist/web-server/routes/persist-routes.js +286 -0
  1098. package/dist/web-server/routes/persist-routes.js.map +1 -0
  1099. package/dist/web-server/routes/profile-routes.d.ts +9 -0
  1100. package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
  1101. package/dist/web-server/routes/profile-routes.js +116 -0
  1102. package/dist/web-server/routes/profile-routes.js.map +1 -0
  1103. package/dist/web-server/routes/provider-routes.d.ts +6 -0
  1104. package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
  1105. package/dist/web-server/routes/provider-routes.js +146 -0
  1106. package/dist/web-server/routes/provider-routes.js.map +1 -0
  1107. package/dist/web-server/routes/proxy-routes.d.ts +11 -0
  1108. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -0
  1109. package/dist/web-server/routes/proxy-routes.js +154 -0
  1110. package/dist/web-server/routes/proxy-routes.js.map +1 -0
  1111. package/dist/web-server/routes/route-helpers.d.ts +50 -0
  1112. package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
  1113. package/dist/web-server/routes/route-helpers.js +179 -0
  1114. package/dist/web-server/routes/route-helpers.js.map +1 -0
  1115. package/dist/web-server/routes/settings-routes.d.ts +6 -0
  1116. package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
  1117. package/dist/web-server/routes/settings-routes.js +413 -0
  1118. package/dist/web-server/routes/settings-routes.js.map +1 -0
  1119. package/dist/web-server/routes/variant-routes.d.ts +8 -0
  1120. package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
  1121. package/dist/web-server/routes/variant-routes.js +119 -0
  1122. package/dist/web-server/routes/variant-routes.js.map +1 -0
  1123. package/dist/web-server/routes/websearch-routes.d.ts +6 -0
  1124. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
  1125. package/dist/web-server/routes/websearch-routes.js +130 -0
  1126. package/dist/web-server/routes/websearch-routes.js.map +1 -0
  1127. package/dist/web-server/services/index.d.ts +7 -0
  1128. package/dist/web-server/services/index.d.ts.map +1 -0
  1129. package/dist/web-server/services/index.js +21 -0
  1130. package/dist/web-server/services/index.js.map +1 -0
  1131. package/dist/web-server/services/usage-aggregator.d.ts +7 -0
  1132. package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
  1133. package/dist/web-server/services/usage-aggregator.js +23 -0
  1134. package/dist/web-server/services/usage-aggregator.js.map +1 -0
  1135. package/dist/web-server/shared-routes.d.ts +7 -0
  1136. package/dist/web-server/shared-routes.d.ts.map +1 -0
  1137. package/dist/web-server/shared-routes.js +168 -0
  1138. package/dist/web-server/shared-routes.js.map +1 -0
  1139. package/dist/web-server/shutdown.d.ts +14 -0
  1140. package/dist/web-server/shutdown.d.ts.map +1 -0
  1141. package/dist/web-server/shutdown.js +29 -0
  1142. package/dist/web-server/shutdown.js.map +1 -0
  1143. package/dist/web-server/usage/aggregator.d.ts +54 -0
  1144. package/dist/web-server/usage/aggregator.d.ts.map +1 -0
  1145. package/dist/web-server/usage/aggregator.js +470 -0
  1146. package/dist/web-server/usage/aggregator.js.map +1 -0
  1147. package/dist/web-server/usage/data-aggregator.d.ts +55 -0
  1148. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
  1149. package/dist/web-server/usage/data-aggregator.js +391 -0
  1150. package/dist/web-server/usage/data-aggregator.js.map +1 -0
  1151. package/dist/web-server/usage/disk-cache.d.ts +46 -0
  1152. package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
  1153. package/dist/web-server/usage/disk-cache.js +162 -0
  1154. package/dist/web-server/usage/disk-cache.js.map +1 -0
  1155. package/dist/web-server/usage/handlers.d.ts +50 -0
  1156. package/dist/web-server/usage/handlers.d.ts.map +1 -0
  1157. package/dist/web-server/usage/handlers.js +524 -0
  1158. package/dist/web-server/usage/handlers.js.map +1 -0
  1159. package/dist/web-server/usage/index.d.ts +12 -0
  1160. package/dist/web-server/usage/index.d.ts.map +1 -0
  1161. package/dist/web-server/usage/index.js +54 -0
  1162. package/dist/web-server/usage/index.js.map +1 -0
  1163. package/dist/web-server/usage/routes.d.ts +11 -0
  1164. package/dist/web-server/usage/routes.d.ts.map +1 -0
  1165. package/dist/web-server/usage/routes.js +37 -0
  1166. package/dist/web-server/usage/routes.js.map +1 -0
  1167. package/dist/web-server/usage/types.d.ts +119 -0
  1168. package/dist/web-server/usage/types.d.ts.map +1 -0
  1169. package/dist/web-server/usage/types.js +9 -0
  1170. package/dist/web-server/usage/types.js.map +1 -0
  1171. package/dist/web-server/usage-disk-cache.d.ts +7 -0
  1172. package/dist/web-server/usage-disk-cache.d.ts.map +1 -0
  1173. package/dist/web-server/usage-disk-cache.js +23 -0
  1174. package/dist/web-server/usage-disk-cache.js.map +1 -0
  1175. package/dist/web-server/usage-routes.d.ts +7 -0
  1176. package/dist/web-server/usage-routes.d.ts.map +1 -0
  1177. package/dist/web-server/usage-routes.js +14 -0
  1178. package/dist/web-server/usage-routes.js.map +1 -0
  1179. package/dist/web-server/usage-types.d.ts +7 -0
  1180. package/dist/web-server/usage-types.d.ts.map +1 -0
  1181. package/dist/web-server/usage-types.js +23 -0
  1182. package/dist/web-server/usage-types.js.map +1 -0
  1183. package/dist/web-server/websocket.d.ts +15 -0
  1184. package/dist/web-server/websocket.d.ts.map +1 -0
  1185. package/dist/web-server/websocket.js +162 -0
  1186. package/dist/web-server/websocket.js.map +1 -0
  1187. package/lib/ccs +32 -0
  1188. package/lib/ccs.ps1 +39 -0
  1189. package/lib/error-codes.ps1 +56 -0
  1190. package/lib/error-codes.sh +63 -0
  1191. package/lib/hooks/block-websearch.cjs +75 -0
  1192. package/lib/hooks/image-analyzer-transformer.cjs +880 -0
  1193. package/lib/hooks/websearch-transformer.cjs +632 -0
  1194. package/lib/progress-indicator.ps1 +120 -0
  1195. package/lib/progress-indicator.sh +117 -0
  1196. package/lib/prompt.ps1 +109 -0
  1197. package/lib/prompt.sh +99 -0
  1198. package/lib/prompts/image-analysis-default.txt +12 -0
  1199. package/lib/prompts/image-analysis-document.txt +13 -0
  1200. package/lib/prompts/image-analysis-screenshot.txt +13 -0
  1201. package/package.json +133 -0
  1202. package/scripts/add-shebang.js +39 -0
  1203. package/scripts/bump-version.sh +153 -0
  1204. package/scripts/check-executables.js +18 -0
  1205. package/scripts/clean-dist.js +46 -0
  1206. package/scripts/code-reviewer.ts +217 -0
  1207. package/scripts/completion/README.md +308 -0
  1208. package/scripts/completion/ccs.bash +176 -0
  1209. package/scripts/completion/ccs.fish +248 -0
  1210. package/scripts/completion/ccs.ps1 +394 -0
  1211. package/scripts/completion/ccs.zsh +308 -0
  1212. package/scripts/dev-install.sh +108 -0
  1213. package/scripts/dev-release.sh +123 -0
  1214. package/scripts/dev-symlink.sh +115 -0
  1215. package/scripts/get-version.sh +16 -0
  1216. package/scripts/postinstall.js +358 -0
  1217. package/scripts/postuninstall.js +48 -0
  1218. package/scripts/pre-release.sh +39 -0
  1219. package/scripts/preinstall.js +59 -0
  1220. package/scripts/send-discord-release.cjs +249 -0
  1221. package/scripts/verify-bundle.js +56 -0
  1222. package/scripts/worker.js +26 -0
  1223. package/scripts/wrangler.toml +15 -0
@@ -0,0 +1,808 @@
1
+ "use strict";
2
+ /**
3
+ * Account Manager for CLIProxyAPI Multi-Account Support
4
+ *
5
+ * Manages multiple OAuth accounts per provider (Gemini, Codex, etc.).
6
+ * Each provider can have multiple accounts, with one designated as default.
7
+ *
8
+ * Account storage: ~/.ccs/cliproxy/accounts.json
9
+ * Token storage: ~/.ccs/cliproxy/auth/ (flat structure, CLIProxyAPI discovers by type field)
10
+ * Paused tokens: ~/.ccs/cliproxy/auth-paused/ (sibling dir, outside CLIProxyAPI scan path)
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getAllAccountsSummary = exports.soloAccount = exports.bulkResumeAccounts = exports.bulkPauseAccounts = exports.discoverExistingAccounts = exports.getAccountTokenPath = exports.touchAccount = exports.renameAccount = exports.removeAccount = exports.getActiveAccounts = exports.setAccountTier = exports.isAccountPaused = exports.resumeAccount = exports.pauseAccount = exports.setDefaultAccount = exports.registerAccount = exports.findAccountByQuery = exports.getAccount = exports.getDefaultAccount = exports.getProviderAccounts = exports.saveAccountsRegistry = exports.loadAccountsRegistry = exports.getPausedDir = exports.getAccountsRegistryPath = exports.validateNickname = exports.generateNickname = exports.extractAccountIdFromTokenFile = exports.PROVIDERS_WITHOUT_EMAIL = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const profile_detector_1 = require("../auth/profile-detector");
40
+ const config_generator_1 = require("./config-generator");
41
+ const auth_types_1 = require("./auth/auth-types");
42
+ /**
43
+ * Providers that typically have empty email in OAuth token files.
44
+ * For these providers, nickname is used as accountId instead of email.
45
+ */
46
+ exports.PROVIDERS_WITHOUT_EMAIL = ['kiro', 'ghcp'];
47
+ /** Default registry structure */
48
+ const DEFAULT_REGISTRY = {
49
+ version: 1,
50
+ providers: {},
51
+ };
52
+ /**
53
+ * Extract unique account ID from token filename when email is unavailable
54
+ * For Kiro/GHCP OAuth, filenames are: <provider>-<oauth>-<profile_id>.json
55
+ * Extracts: <oauth>-<profile_id> as unique identifier
56
+ * @example kiro-github-ABC123.json → github-ABC123
57
+ * @example ghcp-amazon-XYZ789.json → amazon-XYZ789
58
+ * @example kiro-nomail.json → default (no OAuth structure)
59
+ */
60
+ function extractAccountIdFromTokenFile(filename, email) {
61
+ if (email)
62
+ return email;
63
+ // Pattern: <provider>-<oauth>-<profile_id>.json → extract <oauth>-<profile_id>
64
+ // Requires at least 2 hyphens to distinguish from simple filenames like "kiro-nomail.json"
65
+ const match = filename.match(/^[^-]+-([^-]+-[^.]+)\.json$/);
66
+ if (match)
67
+ return match[1];
68
+ return 'default';
69
+ }
70
+ exports.extractAccountIdFromTokenFile = extractAccountIdFromTokenFile;
71
+ /**
72
+ * Generate nickname from email
73
+ * Takes prefix before @ symbol, sanitizes whitespace
74
+ * Validation: 1-50 chars, any non-whitespace (permissive per user preference)
75
+ */
76
+ function generateNickname(email) {
77
+ if (!email)
78
+ return 'default';
79
+ const prefix = email.split('@')[0];
80
+ // Sanitize: remove whitespace, limit to 50 chars
81
+ return prefix.replace(/\s+/g, '').slice(0, 50) || 'default';
82
+ }
83
+ exports.generateNickname = generateNickname;
84
+ /**
85
+ * Validate nickname
86
+ * Rules: 1-50 chars, no whitespace, URL-safe, no reserved patterns
87
+ * @returns null if valid, error message if invalid
88
+ */
89
+ function validateNickname(nickname) {
90
+ if (!nickname || nickname.length === 0) {
91
+ return 'Nickname is required';
92
+ }
93
+ if (nickname.length > 50) {
94
+ return 'Nickname must be 50 characters or less';
95
+ }
96
+ if (/\s/.test(nickname)) {
97
+ return 'Nickname cannot contain whitespace';
98
+ }
99
+ // Block URL-unsafe chars that break routing
100
+ if (/[%\/&?#]/.test(nickname)) {
101
+ return 'Nickname cannot contain special URL characters (%, /, &, ?, #)';
102
+ }
103
+ // Block reserved patterns used by auto-discovery (kiro-1, ghcp-2, etc.)
104
+ if (/^(kiro|ghcp)-\d+$/i.test(nickname)) {
105
+ return 'Nickname cannot match reserved pattern (kiro-N, ghcp-N)';
106
+ }
107
+ return null;
108
+ }
109
+ exports.validateNickname = validateNickname;
110
+ /**
111
+ * Get path to accounts registry file
112
+ */
113
+ function getAccountsRegistryPath() {
114
+ return path.join((0, config_generator_1.getCliproxyDir)(), 'accounts.json');
115
+ }
116
+ exports.getAccountsRegistryPath = getAccountsRegistryPath;
117
+ /**
118
+ * Get path to paused tokens directory
119
+ * Paused tokens are moved here so CLIProxyAPI won't discover them
120
+ *
121
+ * Uses sibling directory (auth-paused/) instead of subdirectory (auth/paused/)
122
+ * because CLIProxyAPI's watcher uses filepath.Walk() which recursively scans
123
+ * all subdirectories of auth/. A sibling directory is completely outside
124
+ * CLIProxyAPI's scan path, preventing token refresh loops.
125
+ */
126
+ function getPausedDir() {
127
+ return path.join((0, config_generator_1.getCliproxyDir)(), 'auth-paused');
128
+ }
129
+ exports.getPausedDir = getPausedDir;
130
+ /**
131
+ * Load accounts registry
132
+ */
133
+ function loadAccountsRegistry() {
134
+ const registryPath = getAccountsRegistryPath();
135
+ if (!fs.existsSync(registryPath)) {
136
+ return { ...DEFAULT_REGISTRY };
137
+ }
138
+ try {
139
+ const content = fs.readFileSync(registryPath, 'utf-8');
140
+ const data = JSON.parse(content);
141
+ return {
142
+ version: data.version || 1,
143
+ providers: data.providers || {},
144
+ };
145
+ }
146
+ catch {
147
+ return { ...DEFAULT_REGISTRY };
148
+ }
149
+ }
150
+ exports.loadAccountsRegistry = loadAccountsRegistry;
151
+ /**
152
+ * Save accounts registry
153
+ */
154
+ function saveAccountsRegistry(registry) {
155
+ const registryPath = getAccountsRegistryPath();
156
+ const dir = path.dirname(registryPath);
157
+ if (!fs.existsSync(dir)) {
158
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
159
+ }
160
+ fs.writeFileSync(registryPath, JSON.stringify(registry, null, 2) + '\n', {
161
+ mode: 0o600,
162
+ });
163
+ }
164
+ exports.saveAccountsRegistry = saveAccountsRegistry;
165
+ /**
166
+ * Sync registry with actual token files
167
+ * Removes stale entries where token file no longer exists
168
+ * For paused accounts, checks both auth/ and paused/ directories
169
+ * Called automatically when loading accounts
170
+ */
171
+ function syncRegistryWithTokenFiles(registry) {
172
+ const authDir = (0, config_generator_1.getAuthDir)();
173
+ const pausedDir = getPausedDir();
174
+ let modified = false;
175
+ for (const [_providerName, providerAccounts] of Object.entries(registry.providers)) {
176
+ if (!providerAccounts)
177
+ continue;
178
+ const staleIds = [];
179
+ for (const [accountId, meta] of Object.entries(providerAccounts.accounts)) {
180
+ const tokenPath = path.join(authDir, meta.tokenFile);
181
+ const pausedPath = path.join(pausedDir, meta.tokenFile);
182
+ // For paused accounts, check paused dir; for active accounts, check auth dir
183
+ const expectedPath = meta.paused ? pausedPath : tokenPath;
184
+ // Also accept if file exists in either location (handles edge cases)
185
+ const existsAnywhere = fs.existsSync(tokenPath) || fs.existsSync(pausedPath);
186
+ if (!fs.existsSync(expectedPath) && !existsAnywhere) {
187
+ staleIds.push(accountId);
188
+ }
189
+ }
190
+ // Remove stale accounts
191
+ for (const id of staleIds) {
192
+ delete providerAccounts.accounts[id];
193
+ modified = true;
194
+ // Update default if deleted
195
+ if (providerAccounts.default === id) {
196
+ const remainingIds = Object.keys(providerAccounts.accounts);
197
+ providerAccounts.default = remainingIds[0] || 'default';
198
+ }
199
+ }
200
+ }
201
+ return modified;
202
+ }
203
+ /**
204
+ * Get all accounts for a provider
205
+ */
206
+ function getProviderAccounts(provider) {
207
+ const registry = loadAccountsRegistry();
208
+ // Sync with actual token files (removes stale entries)
209
+ if (syncRegistryWithTokenFiles(registry)) {
210
+ saveAccountsRegistry(registry);
211
+ }
212
+ const providerAccounts = registry.providers[provider];
213
+ if (!providerAccounts) {
214
+ return [];
215
+ }
216
+ return Object.entries(providerAccounts.accounts).map(([id, meta]) => ({
217
+ id,
218
+ provider,
219
+ isDefault: id === providerAccounts.default,
220
+ ...meta,
221
+ }));
222
+ }
223
+ exports.getProviderAccounts = getProviderAccounts;
224
+ /**
225
+ * Get default account for a provider
226
+ */
227
+ function getDefaultAccount(provider) {
228
+ const accounts = getProviderAccounts(provider);
229
+ return accounts.find((a) => a.isDefault) || accounts[0] || null;
230
+ }
231
+ exports.getDefaultAccount = getDefaultAccount;
232
+ /**
233
+ * Get specific account by ID
234
+ */
235
+ function getAccount(provider, accountId) {
236
+ const accounts = getProviderAccounts(provider);
237
+ return accounts.find((a) => a.id === accountId) || null;
238
+ }
239
+ exports.getAccount = getAccount;
240
+ /**
241
+ * Find account by query (nickname, email, or id)
242
+ * Supports partial matching for convenience
243
+ */
244
+ function findAccountByQuery(provider, query) {
245
+ const accounts = getProviderAccounts(provider);
246
+ const lowerQuery = query.toLowerCase();
247
+ // Exact match first (id, email, nickname)
248
+ const exactMatch = accounts.find((a) => a.id === query ||
249
+ a.email?.toLowerCase() === lowerQuery ||
250
+ a.nickname?.toLowerCase() === lowerQuery);
251
+ if (exactMatch)
252
+ return exactMatch;
253
+ // Partial match on nickname or email prefix
254
+ const partialMatch = accounts.find((a) => a.nickname?.toLowerCase().startsWith(lowerQuery) ||
255
+ a.email?.toLowerCase().startsWith(lowerQuery));
256
+ return partialMatch || null;
257
+ }
258
+ exports.findAccountByQuery = findAccountByQuery;
259
+ /**
260
+ * Register a new account
261
+ * Called after successful OAuth to record the account
262
+ *
263
+ * For providers without email (kiro, ghcp):
264
+ * - nickname is REQUIRED and used as accountId
265
+ * - Uniqueness is enforced to prevent overwriting
266
+ *
267
+ * For providers with email:
268
+ * - email is used as accountId
269
+ * - nickname is auto-generated from email if not provided
270
+ */
271
+ function registerAccount(provider, tokenFile, email, nickname, projectId) {
272
+ const registry = loadAccountsRegistry();
273
+ // Initialize provider section if needed
274
+ if (!registry.providers[provider]) {
275
+ registry.providers[provider] = {
276
+ default: 'default',
277
+ accounts: {},
278
+ };
279
+ }
280
+ const providerAccounts = registry.providers[provider];
281
+ if (!providerAccounts) {
282
+ throw new Error('Failed to initialize provider accounts');
283
+ }
284
+ // Determine account ID based on provider type
285
+ let accountId;
286
+ let accountNickname;
287
+ if (exports.PROVIDERS_WITHOUT_EMAIL.includes(provider)) {
288
+ // For kiro/ghcp: nickname is REQUIRED and used as accountId
289
+ if (!nickname || nickname === 'default') {
290
+ throw new Error(`Nickname is required when adding ${provider} accounts. ` +
291
+ `Use --nickname <name> or provide a nickname in the UI.`);
292
+ }
293
+ // Validate nickname format
294
+ const validationError = validateNickname(nickname);
295
+ if (validationError) {
296
+ throw new Error(validationError);
297
+ }
298
+ // Check uniqueness
299
+ for (const [existingId, _account] of Object.entries(providerAccounts.accounts)) {
300
+ if (existingId.toLowerCase() === nickname.toLowerCase()) {
301
+ throw new Error(`An account with nickname "${nickname}" already exists for ${provider}. ` +
302
+ `Choose a different nickname.`);
303
+ }
304
+ }
305
+ accountId = nickname;
306
+ accountNickname = nickname;
307
+ }
308
+ else {
309
+ // For other providers: use email as accountId, fallback to filename extraction
310
+ accountId = extractAccountIdFromTokenFile(tokenFile, email);
311
+ accountNickname = nickname || generateNickname(email);
312
+ }
313
+ const isFirstAccount = Object.keys(providerAccounts.accounts).length === 0;
314
+ // Create or update account
315
+ const accountMeta = {
316
+ email,
317
+ nickname: accountNickname,
318
+ tokenFile,
319
+ createdAt: new Date().toISOString(),
320
+ lastUsedAt: new Date().toISOString(),
321
+ };
322
+ // Include projectId for Antigravity accounts
323
+ if (provider === 'agy' && projectId) {
324
+ accountMeta.projectId = projectId;
325
+ }
326
+ providerAccounts.accounts[accountId] = accountMeta;
327
+ // Set as default if first account
328
+ if (isFirstAccount) {
329
+ providerAccounts.default = accountId;
330
+ }
331
+ saveAccountsRegistry(registry);
332
+ return {
333
+ id: accountId,
334
+ provider,
335
+ isDefault: accountId === providerAccounts.default,
336
+ email,
337
+ nickname: accountNickname,
338
+ tokenFile,
339
+ createdAt: providerAccounts.accounts[accountId].createdAt,
340
+ lastUsedAt: providerAccounts.accounts[accountId].lastUsedAt,
341
+ projectId: providerAccounts.accounts[accountId].projectId,
342
+ };
343
+ }
344
+ exports.registerAccount = registerAccount;
345
+ /**
346
+ * Set default account for a provider
347
+ */
348
+ function setDefaultAccount(provider, accountId) {
349
+ const registry = loadAccountsRegistry();
350
+ const providerAccounts = registry.providers[provider];
351
+ if (!providerAccounts || !providerAccounts.accounts[accountId]) {
352
+ return false;
353
+ }
354
+ providerAccounts.default = accountId;
355
+ saveAccountsRegistry(registry);
356
+ return true;
357
+ }
358
+ exports.setDefaultAccount = setDefaultAccount;
359
+ /**
360
+ * Pause an account (skip in quota rotation)
361
+ * Moves token file to paused/ subdir so CLIProxyAPI won't discover it
362
+ */
363
+ function pauseAccount(provider, accountId) {
364
+ const registry = loadAccountsRegistry();
365
+ const providerAccounts = registry.providers[provider];
366
+ if (!providerAccounts?.accounts[accountId]) {
367
+ return false;
368
+ }
369
+ const accountMeta = providerAccounts.accounts[accountId];
370
+ // Skip if already paused (idempotent)
371
+ if (accountMeta.paused) {
372
+ return true;
373
+ }
374
+ const authDir = (0, config_generator_1.getAuthDir)();
375
+ const pausedDir = getPausedDir();
376
+ const tokenPath = path.join(authDir, accountMeta.tokenFile);
377
+ const pausedPath = path.join(pausedDir, accountMeta.tokenFile);
378
+ // Move token file to paused directory (if it exists in auth dir)
379
+ if (fs.existsSync(tokenPath)) {
380
+ try {
381
+ // Create paused directory if it doesn't exist
382
+ if (!fs.existsSync(pausedDir)) {
383
+ fs.mkdirSync(pausedDir, { recursive: true, mode: 0o700 });
384
+ }
385
+ fs.renameSync(tokenPath, pausedPath);
386
+ }
387
+ catch {
388
+ // File operation failed, but continue with registry update
389
+ // syncRegistryWithTokenFiles() will handle recovery on next load
390
+ }
391
+ }
392
+ providerAccounts.accounts[accountId].paused = true;
393
+ providerAccounts.accounts[accountId].pausedAt = new Date().toISOString();
394
+ saveAccountsRegistry(registry);
395
+ return true;
396
+ }
397
+ exports.pauseAccount = pauseAccount;
398
+ /**
399
+ * Resume a paused account
400
+ * Moves token file back from paused/ to auth/ so CLIProxyAPI can discover it
401
+ */
402
+ function resumeAccount(provider, accountId) {
403
+ const registry = loadAccountsRegistry();
404
+ const providerAccounts = registry.providers[provider];
405
+ if (!providerAccounts?.accounts[accountId]) {
406
+ return false;
407
+ }
408
+ const accountMeta = providerAccounts.accounts[accountId];
409
+ // Skip if already active (idempotent)
410
+ if (!accountMeta.paused) {
411
+ return true;
412
+ }
413
+ const authDir = (0, config_generator_1.getAuthDir)();
414
+ const pausedDir = getPausedDir();
415
+ const tokenPath = path.join(authDir, accountMeta.tokenFile);
416
+ const pausedPath = path.join(pausedDir, accountMeta.tokenFile);
417
+ // Move token file back from paused directory (if it exists in paused dir)
418
+ if (fs.existsSync(pausedPath)) {
419
+ try {
420
+ fs.renameSync(pausedPath, tokenPath);
421
+ }
422
+ catch {
423
+ // File operation failed, but continue with registry update
424
+ // syncRegistryWithTokenFiles() will handle recovery on next load
425
+ }
426
+ }
427
+ providerAccounts.accounts[accountId].paused = false;
428
+ providerAccounts.accounts[accountId].pausedAt = undefined;
429
+ saveAccountsRegistry(registry);
430
+ return true;
431
+ }
432
+ exports.resumeAccount = resumeAccount;
433
+ /**
434
+ * Check if an account is paused
435
+ */
436
+ function isAccountPaused(provider, accountId) {
437
+ const accounts = getProviderAccounts(provider);
438
+ const account = accounts.find((a) => a.id === accountId);
439
+ return account?.paused ?? false;
440
+ }
441
+ exports.isAccountPaused = isAccountPaused;
442
+ /**
443
+ * Update account tier
444
+ */
445
+ function setAccountTier(provider, accountId, tier) {
446
+ const registry = loadAccountsRegistry();
447
+ const providerAccounts = registry.providers[provider];
448
+ if (!providerAccounts?.accounts[accountId]) {
449
+ return false;
450
+ }
451
+ providerAccounts.accounts[accountId].tier = tier;
452
+ saveAccountsRegistry(registry);
453
+ return true;
454
+ }
455
+ exports.setAccountTier = setAccountTier;
456
+ /**
457
+ * Get non-paused accounts for a provider
458
+ */
459
+ function getActiveAccounts(provider) {
460
+ return getProviderAccounts(provider).filter((a) => !a.paused);
461
+ }
462
+ exports.getActiveAccounts = getActiveAccounts;
463
+ /**
464
+ * Remove an account
465
+ */
466
+ function removeAccount(provider, accountId) {
467
+ const registry = loadAccountsRegistry();
468
+ const providerAccounts = registry.providers[provider];
469
+ if (!providerAccounts || !providerAccounts.accounts[accountId]) {
470
+ return false;
471
+ }
472
+ // Get token file to delete (check both auth and paused directories)
473
+ const tokenFile = providerAccounts.accounts[accountId].tokenFile;
474
+ const tokenPath = path.join((0, config_generator_1.getAuthDir)(), tokenFile);
475
+ const pausedPath = path.join(getPausedDir(), tokenFile);
476
+ // Delete token file from auth directory
477
+ if (fs.existsSync(tokenPath)) {
478
+ try {
479
+ fs.unlinkSync(tokenPath);
480
+ }
481
+ catch {
482
+ // Ignore deletion errors
483
+ }
484
+ }
485
+ // Also delete from paused directory if it exists there
486
+ if (fs.existsSync(pausedPath)) {
487
+ try {
488
+ fs.unlinkSync(pausedPath);
489
+ }
490
+ catch {
491
+ // Ignore deletion errors
492
+ }
493
+ }
494
+ // Remove from registry
495
+ delete providerAccounts.accounts[accountId];
496
+ // Update default if needed
497
+ const remainingAccounts = Object.keys(providerAccounts.accounts);
498
+ if (providerAccounts.default === accountId && remainingAccounts.length > 0) {
499
+ providerAccounts.default = remainingAccounts[0];
500
+ }
501
+ saveAccountsRegistry(registry);
502
+ return true;
503
+ }
504
+ exports.removeAccount = removeAccount;
505
+ /**
506
+ * Rename an account's nickname
507
+ */
508
+ function renameAccount(provider, accountId, newNickname) {
509
+ const validationError = validateNickname(newNickname);
510
+ if (validationError) {
511
+ throw new Error(validationError);
512
+ }
513
+ const registry = loadAccountsRegistry();
514
+ const providerAccounts = registry.providers[provider];
515
+ if (!providerAccounts?.accounts[accountId]) {
516
+ return false;
517
+ }
518
+ // Check if nickname is already used by another account
519
+ for (const [id, account] of Object.entries(providerAccounts.accounts)) {
520
+ if (id !== accountId && account.nickname?.toLowerCase() === newNickname.toLowerCase()) {
521
+ throw new Error(`Nickname "${newNickname}" is already used by another account`);
522
+ }
523
+ }
524
+ providerAccounts.accounts[accountId].nickname = newNickname;
525
+ saveAccountsRegistry(registry);
526
+ return true;
527
+ }
528
+ exports.renameAccount = renameAccount;
529
+ /**
530
+ * Update last used timestamp for an account
531
+ */
532
+ function touchAccount(provider, accountId) {
533
+ const registry = loadAccountsRegistry();
534
+ const providerAccounts = registry.providers[provider];
535
+ if (providerAccounts?.accounts[accountId]) {
536
+ providerAccounts.accounts[accountId].lastUsedAt = new Date().toISOString();
537
+ saveAccountsRegistry(registry);
538
+ }
539
+ }
540
+ exports.touchAccount = touchAccount;
541
+ /**
542
+ * Get token file path for an account
543
+ * Returns path in paused/ dir if account is paused, otherwise auth/
544
+ */
545
+ function getAccountTokenPath(provider, accountId) {
546
+ const account = accountId ? getAccount(provider, accountId) : getDefaultAccount(provider);
547
+ if (!account) {
548
+ return null;
549
+ }
550
+ // Return path from paused directory if account is paused
551
+ const baseDir = account.paused ? getPausedDir() : (0, config_generator_1.getAuthDir)();
552
+ return path.join(baseDir, account.tokenFile);
553
+ }
554
+ exports.getAccountTokenPath = getAccountTokenPath;
555
+ /**
556
+ * Auto-discover accounts from existing token files
557
+ * Called during migration or first run to populate accounts registry
558
+ *
559
+ * For kiro/ghcp providers without email, generates unique accountId from:
560
+ * 1. OAuth provider + profile ID from filename (e.g., github-ABC123)
561
+ * 2. Fallback: provider + index (e.g., kiro-1, kiro-2)
562
+ */
563
+ function discoverExistingAccounts() {
564
+ const authDir = (0, config_generator_1.getAuthDir)();
565
+ if (!fs.existsSync(authDir)) {
566
+ return;
567
+ }
568
+ const registry = loadAccountsRegistry();
569
+ const files = fs.readdirSync(authDir);
570
+ for (const file of files) {
571
+ if (!file.endsWith('.json'))
572
+ continue;
573
+ const filePath = path.join(authDir, file);
574
+ try {
575
+ const content = fs.readFileSync(filePath, 'utf-8');
576
+ const data = JSON.parse(content);
577
+ // Skip if no type field
578
+ if (!data.type)
579
+ continue;
580
+ // Build reverse mapping from PROVIDER_TYPE_VALUES (type value -> provider)
581
+ // e.g., "antigravity" -> "agy", "kiro" -> "kiro", "codewhisperer" -> "kiro"
582
+ const typeValue = data.type.toLowerCase();
583
+ let provider;
584
+ for (const [prov, typeValues] of Object.entries(auth_types_1.PROVIDER_TYPE_VALUES)) {
585
+ if (typeValues.includes(typeValue)) {
586
+ provider = prov;
587
+ break;
588
+ }
589
+ }
590
+ // Skip if unknown provider type
591
+ if (!provider) {
592
+ continue;
593
+ }
594
+ // Extract email if available, fallback to filename-based ID
595
+ let email = data.email || undefined;
596
+ // Fallback: extract email from filename (e.g., "kiro-google-user@example.com.json")
597
+ if (!email && file.includes('@')) {
598
+ const match = file.match(/([^-]+@[^.]+\.[^.]+)(?=\.json$)/);
599
+ if (match) {
600
+ email = match[1];
601
+ }
602
+ }
603
+ // Initialize provider section if needed
604
+ if (!registry.providers[provider]) {
605
+ registry.providers[provider] = {
606
+ default: 'default',
607
+ accounts: {},
608
+ };
609
+ }
610
+ const providerAccounts = registry.providers[provider];
611
+ if (!providerAccounts)
612
+ continue;
613
+ // Skip if token file already registered (under any accountId)
614
+ const existingTokenFiles = Object.values(providerAccounts.accounts).map((a) => a.tokenFile);
615
+ if (existingTokenFiles.includes(file)) {
616
+ // Token file exists - check if we need to update projectId for agy accounts
617
+ const projectIdValue = typeof data.project_id === 'string' && data.project_id.trim()
618
+ ? data.project_id.trim()
619
+ : null;
620
+ if (provider === 'agy' && projectIdValue) {
621
+ const existingEntry = Object.entries(providerAccounts.accounts).find(([, meta]) => meta.tokenFile === file);
622
+ // Update if missing or changed
623
+ if (existingEntry && existingEntry[1].projectId !== projectIdValue) {
624
+ existingEntry[1].projectId = projectIdValue;
625
+ }
626
+ }
627
+ continue;
628
+ }
629
+ // Determine accountId based on provider type
630
+ let accountId;
631
+ if (exports.PROVIDERS_WITHOUT_EMAIL.includes(provider) && !email) {
632
+ // For kiro/ghcp without email: extract from filename or generate unique
633
+ // Pattern: kiro-github-ABC123.json -> github-ABC123
634
+ const filenameId = extractAccountIdFromTokenFile(file, undefined);
635
+ if (filenameId !== 'default') {
636
+ accountId = filenameId;
637
+ }
638
+ else {
639
+ // Generate unique ID: provider + incrementing index
640
+ let index = 1;
641
+ while (providerAccounts.accounts[`${provider}-${index}`]) {
642
+ index++;
643
+ }
644
+ accountId = `${provider}-${index}`;
645
+ }
646
+ }
647
+ else {
648
+ // For providers with email: use email or filename extraction
649
+ accountId = extractAccountIdFromTokenFile(file, email);
650
+ }
651
+ // Skip if account already registered
652
+ if (providerAccounts.accounts[accountId]) {
653
+ continue;
654
+ }
655
+ // Set as default if first account
656
+ if (Object.keys(providerAccounts.accounts).length === 0) {
657
+ providerAccounts.default = accountId;
658
+ }
659
+ // Get file stats for creation time
660
+ const stats = fs.statSync(filePath);
661
+ // Register account with auto-generated nickname
662
+ // Use mtime as lastUsedAt (when token was last modified = last auth/refresh)
663
+ const lastModified = stats.mtime || stats.birthtime || new Date();
664
+ const accountMeta = {
665
+ email,
666
+ nickname: generateNickname(email),
667
+ tokenFile: file,
668
+ createdAt: stats.birthtime?.toISOString() || new Date().toISOString(),
669
+ lastUsedAt: lastModified.toISOString(),
670
+ };
671
+ // Read project_id for Antigravity accounts (read-only field from auth token)
672
+ const discoveredProjectId = typeof data.project_id === 'string' && data.project_id.trim()
673
+ ? data.project_id.trim()
674
+ : null;
675
+ if (provider === 'agy' && discoveredProjectId) {
676
+ accountMeta.projectId = discoveredProjectId;
677
+ }
678
+ providerAccounts.accounts[accountId] = accountMeta;
679
+ }
680
+ catch {
681
+ // Skip invalid files
682
+ continue;
683
+ }
684
+ }
685
+ // Reload-merge pattern: reduce race condition with concurrent OAuth registration
686
+ // Reload fresh registry and merge discovered accounts (fresh registry wins on conflicts)
687
+ const freshRegistry = loadAccountsRegistry();
688
+ for (const [providerName, discovered] of Object.entries(registry.providers)) {
689
+ if (!discovered)
690
+ continue;
691
+ const prov = providerName;
692
+ if (!freshRegistry.providers[prov]) {
693
+ freshRegistry.providers[prov] = discovered;
694
+ }
695
+ else {
696
+ // Merge accounts, preferring fresh registry's existing entries but updating projectId
697
+ const freshProviderAccounts = freshRegistry.providers[prov];
698
+ if (!freshProviderAccounts)
699
+ continue;
700
+ for (const [id, meta] of Object.entries(discovered.accounts)) {
701
+ if (!freshProviderAccounts.accounts[id]) {
702
+ freshProviderAccounts.accounts[id] = meta;
703
+ // Set default if none exists
704
+ if (!freshProviderAccounts.default || freshProviderAccounts.default === 'default') {
705
+ freshProviderAccounts.default = id;
706
+ }
707
+ }
708
+ else if (meta.projectId && !freshProviderAccounts.accounts[id].projectId) {
709
+ // Update existing account with projectId if discovered from auth file
710
+ freshProviderAccounts.accounts[id].projectId = meta.projectId;
711
+ }
712
+ }
713
+ }
714
+ }
715
+ saveAccountsRegistry(freshRegistry);
716
+ }
717
+ exports.discoverExistingAccounts = discoverExistingAccounts;
718
+ /** Provider-level locks for preventing race conditions in solo mode */
719
+ const providerLocks = new Map();
720
+ /**
721
+ * Bulk pause multiple accounts
722
+ * Pauses each account, collecting successes and failures (no fail-fast)
723
+ */
724
+ function bulkPauseAccounts(provider, accountIds) {
725
+ const result = { succeeded: [], failed: [] };
726
+ for (const id of accountIds) {
727
+ const success = pauseAccount(provider, id);
728
+ if (success) {
729
+ result.succeeded.push(id);
730
+ }
731
+ else {
732
+ result.failed.push({ id, reason: 'Account not found' });
733
+ }
734
+ }
735
+ return result;
736
+ }
737
+ exports.bulkPauseAccounts = bulkPauseAccounts;
738
+ /**
739
+ * Bulk resume multiple accounts
740
+ * Resumes each account, collecting successes and failures (no fail-fast)
741
+ */
742
+ function bulkResumeAccounts(provider, accountIds) {
743
+ const result = { succeeded: [], failed: [] };
744
+ for (const id of accountIds) {
745
+ const success = resumeAccount(provider, id);
746
+ if (success) {
747
+ result.succeeded.push(id);
748
+ }
749
+ else {
750
+ result.failed.push({ id, reason: 'Account not found' });
751
+ }
752
+ }
753
+ return result;
754
+ }
755
+ exports.bulkResumeAccounts = bulkResumeAccounts;
756
+ /**
757
+ * Solo mode: activate one account, pause all others in same provider
758
+ * Per validation: auto-resumes target if paused, keeps default unchanged
759
+ */
760
+ async function soloAccount(provider, accountId) {
761
+ // Wait for any pending operation on this provider
762
+ const pending = providerLocks.get(provider);
763
+ if (pending)
764
+ await pending;
765
+ const operation = (async () => {
766
+ const accounts = getProviderAccounts(provider);
767
+ const targetAccount = accounts.find((a) => a.id === accountId);
768
+ if (!targetAccount) {
769
+ return null;
770
+ }
771
+ const result = { activated: accountId, paused: [] };
772
+ // Resume target account if paused (per validation decision)
773
+ if (targetAccount.paused) {
774
+ resumeAccount(provider, accountId);
775
+ }
776
+ // Pause all other accounts
777
+ for (const account of accounts) {
778
+ if (account.id !== accountId && !account.paused) {
779
+ const success = pauseAccount(provider, account.id);
780
+ if (success) {
781
+ result.paused.push(account.id);
782
+ }
783
+ }
784
+ }
785
+ return result;
786
+ })();
787
+ providerLocks.set(provider, operation);
788
+ try {
789
+ return await operation;
790
+ }
791
+ finally {
792
+ providerLocks.delete(provider);
793
+ }
794
+ }
795
+ exports.soloAccount = soloAccount;
796
+ /**
797
+ * Get summary of all accounts across providers
798
+ */
799
+ function getAllAccountsSummary() {
800
+ const providers = [...profile_detector_1.CLIPROXY_PROFILES];
801
+ const summary = {};
802
+ for (const provider of providers) {
803
+ summary[provider] = getProviderAccounts(provider);
804
+ }
805
+ return summary;
806
+ }
807
+ exports.getAllAccountsSummary = getAllAccountsSummary;
808
+ //# sourceMappingURL=account-manager.js.map