@kaitranntt/ccs 6.7.0 → 6.7.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/README.md +45 -23
  2. package/dist/api/index.d.ts +7 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +24 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/services/index.d.ts +10 -0
  7. package/dist/api/services/index.d.ts.map +1 -0
  8. package/dist/api/services/index.js +26 -0
  9. package/dist/api/services/index.js.map +1 -0
  10. package/dist/api/services/profile-reader.d.ts +28 -0
  11. package/dist/api/services/profile-reader.d.ts.map +1 -0
  12. package/dist/api/services/profile-reader.js +148 -0
  13. package/dist/api/services/profile-reader.js.map +1 -0
  14. package/dist/api/services/profile-types.d.ts +42 -0
  15. package/dist/api/services/profile-types.d.ts.map +1 -0
  16. package/dist/api/services/profile-types.js +8 -0
  17. package/dist/api/services/profile-types.js.map +1 -0
  18. package/dist/api/services/profile-writer.d.ts +6 -0
  19. package/dist/api/services/profile-writer.d.ts.map +1 -0
  20. package/dist/api/services/profile-writer.js +176 -0
  21. package/dist/api/services/profile-writer.js.map +1 -0
  22. package/dist/api/services/validation-service.d.ts +26 -0
  23. package/dist/api/services/validation-service.d.ts.map +1 -0
  24. package/dist/api/services/validation-service.js +77 -0
  25. package/dist/api/services/validation-service.js.map +1 -0
  26. package/dist/auth/auth-commands.d.ts +16 -22
  27. package/dist/auth/auth-commands.d.ts.map +1 -1
  28. package/dist/auth/auth-commands.js +29 -467
  29. package/dist/auth/auth-commands.js.map +1 -1
  30. package/dist/auth/commands/create-command.d.ts +11 -0
  31. package/dist/auth/commands/create-command.d.ts.map +1 -0
  32. package/dist/auth/commands/create-command.js +137 -0
  33. package/dist/auth/commands/create-command.js.map +1 -0
  34. package/dist/auth/commands/default-command.d.ts +15 -0
  35. package/dist/auth/commands/default-command.d.ts.map +1 -0
  36. package/dist/auth/commands/default-command.js +71 -0
  37. package/dist/auth/commands/default-command.js.map +1 -0
  38. package/dist/auth/commands/index.d.ts +12 -0
  39. package/dist/auth/commands/index.d.ts.map +1 -0
  40. package/dist/auth/commands/index.js +25 -0
  41. package/dist/auth/commands/index.js.map +1 -0
  42. package/dist/auth/commands/list-command.d.ts +11 -0
  43. package/dist/auth/commands/list-command.d.ts.map +1 -0
  44. package/dist/auth/commands/list-command.js +124 -0
  45. package/dist/auth/commands/list-command.js.map +1 -0
  46. package/dist/auth/commands/remove-command.d.ts +11 -0
  47. package/dist/auth/commands/remove-command.d.ts.map +1 -0
  48. package/dist/auth/commands/remove-command.js +102 -0
  49. package/dist/auth/commands/remove-command.js.map +1 -0
  50. package/dist/auth/commands/show-command.d.ts +11 -0
  51. package/dist/auth/commands/show-command.d.ts.map +1 -0
  52. package/dist/auth/commands/show-command.js +103 -0
  53. package/dist/auth/commands/show-command.js.map +1 -0
  54. package/dist/auth/commands/types.d.ts +50 -0
  55. package/dist/auth/commands/types.d.ts.map +1 -0
  56. package/dist/auth/commands/types.js +26 -0
  57. package/dist/auth/commands/types.js.map +1 -0
  58. package/dist/auth/index.d.ts +8 -0
  59. package/dist/auth/index.d.ts.map +1 -0
  60. package/dist/auth/index.js +16 -0
  61. package/dist/auth/index.js.map +1 -0
  62. package/dist/auth/profile-detector.d.ts +0 -5
  63. package/dist/auth/profile-detector.d.ts.map +1 -1
  64. package/dist/auth/profile-detector.js +1 -9
  65. package/dist/auth/profile-detector.js.map +1 -1
  66. package/dist/auth/profile-registry.d.ts +0 -4
  67. package/dist/auth/profile-registry.d.ts.map +1 -1
  68. package/dist/auth/profile-registry.js +3 -10
  69. package/dist/auth/profile-registry.js.map +1 -1
  70. package/dist/ccs.js +21 -4
  71. package/dist/ccs.js.map +1 -1
  72. package/dist/cliproxy/auth/auth-types.d.ts +85 -0
  73. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -0
  74. package/dist/cliproxy/auth/auth-types.js +100 -0
  75. package/dist/cliproxy/auth/auth-types.js.map +1 -0
  76. package/dist/cliproxy/auth/environment-detector.d.ts +30 -0
  77. package/dist/cliproxy/auth/environment-detector.d.ts.map +1 -0
  78. package/dist/cliproxy/auth/environment-detector.js +124 -0
  79. package/dist/cliproxy/auth/environment-detector.js.map +1 -0
  80. package/dist/cliproxy/auth/index.d.ts +11 -0
  81. package/dist/cliproxy/auth/index.d.ts.map +1 -0
  82. package/dist/cliproxy/auth/index.js +35 -0
  83. package/dist/cliproxy/auth/index.js.map +1 -0
  84. package/dist/cliproxy/auth/oauth-handler.d.ts +29 -0
  85. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -0
  86. package/dist/cliproxy/auth/oauth-handler.js +205 -0
  87. package/dist/cliproxy/auth/oauth-handler.js.map +1 -0
  88. package/dist/cliproxy/auth/oauth-process.d.ts +27 -0
  89. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -0
  90. package/dist/cliproxy/auth/oauth-process.js +209 -0
  91. package/dist/cliproxy/auth/oauth-process.js.map +1 -0
  92. package/dist/cliproxy/auth/token-manager.d.ts +53 -0
  93. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -0
  94. package/dist/cliproxy/auth/token-manager.js +250 -0
  95. package/dist/cliproxy/auth/token-manager.js.map +1 -0
  96. package/dist/cliproxy/auth-handler.d.ts +13 -103
  97. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  98. package/dist/cliproxy/auth-handler.js +35 -766
  99. package/dist/cliproxy/auth-handler.js.map +1 -1
  100. package/dist/cliproxy/binary/downloader.d.ts +29 -0
  101. package/dist/cliproxy/binary/downloader.d.ts.map +1 -0
  102. package/dist/cliproxy/binary/downloader.js +218 -0
  103. package/dist/cliproxy/binary/downloader.js.map +1 -0
  104. package/dist/cliproxy/binary/extractor.d.ts +12 -0
  105. package/dist/cliproxy/binary/extractor.d.ts.map +1 -0
  106. package/dist/cliproxy/binary/extractor.js +27 -0
  107. package/dist/cliproxy/binary/extractor.js.map +1 -0
  108. package/dist/cliproxy/binary/index.d.ts +13 -0
  109. package/dist/cliproxy/binary/index.d.ts.map +1 -0
  110. package/dist/cliproxy/binary/index.js +53 -0
  111. package/dist/cliproxy/binary/index.js.map +1 -0
  112. package/dist/cliproxy/binary/installer.d.ts +24 -0
  113. package/dist/cliproxy/binary/installer.d.ts.map +1 -0
  114. package/dist/cliproxy/binary/installer.js +117 -0
  115. package/dist/cliproxy/binary/installer.js.map +1 -0
  116. package/dist/cliproxy/binary/lifecycle.d.ts +11 -0
  117. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -0
  118. package/dist/cliproxy/binary/lifecycle.js +106 -0
  119. package/dist/cliproxy/binary/lifecycle.js.map +1 -0
  120. package/dist/cliproxy/binary/tar-extractor.d.ts +9 -0
  121. package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -0
  122. package/dist/cliproxy/binary/tar-extractor.js +118 -0
  123. package/dist/cliproxy/binary/tar-extractor.js.map +1 -0
  124. package/dist/cliproxy/binary/types.d.ts +24 -0
  125. package/dist/cliproxy/binary/types.d.ts.map +1 -0
  126. package/dist/cliproxy/binary/types.js +14 -0
  127. package/dist/cliproxy/binary/types.js.map +1 -0
  128. package/dist/cliproxy/binary/updater.d.ts +7 -0
  129. package/dist/cliproxy/binary/updater.d.ts.map +1 -0
  130. package/dist/cliproxy/binary/updater.js +18 -0
  131. package/dist/cliproxy/binary/updater.js.map +1 -0
  132. package/dist/cliproxy/binary/verifier.d.ts +18 -0
  133. package/dist/cliproxy/binary/verifier.d.ts.map +1 -0
  134. package/dist/cliproxy/binary/verifier.js +82 -0
  135. package/dist/cliproxy/binary/verifier.js.map +1 -0
  136. package/dist/cliproxy/binary/version-cache.d.ts +46 -0
  137. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -0
  138. package/dist/cliproxy/binary/version-cache.js +171 -0
  139. package/dist/cliproxy/binary/version-cache.js.map +1 -0
  140. package/dist/cliproxy/binary/version-checker.d.ts +19 -0
  141. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -0
  142. package/dist/cliproxy/binary/version-checker.js +77 -0
  143. package/dist/cliproxy/binary/version-checker.js.map +1 -0
  144. package/dist/cliproxy/binary/zip-extractor.d.ts +9 -0
  145. package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -0
  146. package/dist/cliproxy/binary/zip-extractor.js +110 -0
  147. package/dist/cliproxy/binary/zip-extractor.js.map +1 -0
  148. package/dist/cliproxy/binary-manager.d.ts +16 -170
  149. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  150. package/dist/cliproxy/binary-manager.js +38 -865
  151. package/dist/cliproxy/binary-manager.js.map +1 -1
  152. package/dist/cliproxy/services/binary-service.d.ts +65 -0
  153. package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
  154. package/dist/cliproxy/services/binary-service.js +140 -0
  155. package/dist/cliproxy/services/binary-service.js.map +1 -0
  156. package/dist/cliproxy/services/index.d.ts +8 -0
  157. package/dist/cliproxy/services/index.d.ts.map +1 -0
  158. package/dist/cliproxy/services/index.js +31 -0
  159. package/dist/cliproxy/services/index.js.map +1 -0
  160. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
  161. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
  162. package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
  163. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
  164. package/dist/cliproxy/services/variant-config-adapter.d.ts +38 -0
  165. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
  166. package/dist/cliproxy/services/variant-config-adapter.js +172 -0
  167. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
  168. package/dist/cliproxy/services/variant-service.d.ts +37 -0
  169. package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
  170. package/dist/cliproxy/services/variant-service.js +128 -0
  171. package/dist/cliproxy/services/variant-service.js.map +1 -0
  172. package/dist/cliproxy/services/variant-settings.d.ts +32 -0
  173. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
  174. package/dist/cliproxy/services/variant-settings.js +128 -0
  175. package/dist/cliproxy/services/variant-settings.js.map +1 -0
  176. package/dist/commands/api-command.d.ts +3 -6
  177. package/dist/commands/api-command.d.ts.map +1 -1
  178. package/dist/commands/api-command.js +84 -445
  179. package/dist/commands/api-command.js.map +1 -1
  180. package/dist/commands/cliproxy-command.d.ts +0 -3
  181. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  182. package/dist/commands/cliproxy-command.js +182 -621
  183. package/dist/commands/cliproxy-command.js.map +1 -1
  184. package/dist/commands/index.d.ts +17 -0
  185. package/dist/commands/index.d.ts.map +1 -0
  186. package/dist/commands/index.js +33 -0
  187. package/dist/commands/index.js.map +1 -0
  188. package/dist/config/unified-config-loader.d.ts +7 -0
  189. package/dist/config/unified-config-loader.d.ts.map +1 -1
  190. package/dist/config/unified-config-loader.js +11 -1
  191. package/dist/config/unified-config-loader.js.map +1 -1
  192. package/dist/delegation/executor/index.d.ts +7 -0
  193. package/dist/delegation/executor/index.d.ts.map +1 -0
  194. package/dist/delegation/executor/index.js +28 -0
  195. package/dist/delegation/executor/index.js.map +1 -0
  196. package/dist/delegation/executor/result-aggregator.d.ts +30 -0
  197. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
  198. package/dist/delegation/executor/result-aggregator.js +66 -0
  199. package/dist/delegation/executor/result-aggregator.js.map +1 -0
  200. package/dist/delegation/executor/stream-parser.d.ts +28 -0
  201. package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
  202. package/dist/delegation/executor/stream-parser.js +140 -0
  203. package/dist/delegation/executor/stream-parser.js.map +1 -0
  204. package/dist/delegation/executor/types.d.ts +121 -0
  205. package/dist/delegation/executor/types.d.ts.map +1 -0
  206. package/dist/delegation/executor/types.js +6 -0
  207. package/dist/delegation/executor/types.js.map +1 -0
  208. package/dist/delegation/headless-executor.d.ts +13 -91
  209. package/dist/delegation/headless-executor.d.ts.map +1 -1
  210. package/dist/delegation/headless-executor.js +84 -291
  211. package/dist/delegation/headless-executor.js.map +1 -1
  212. package/dist/delegation/index.d.ts +11 -0
  213. package/dist/delegation/index.d.ts.map +1 -0
  214. package/dist/delegation/index.js +33 -0
  215. package/dist/delegation/index.js.map +1 -0
  216. package/dist/delegation/result-formatter.d.ts +1 -30
  217. package/dist/delegation/result-formatter.d.ts.map +1 -1
  218. package/dist/delegation/result-formatter.js.map +1 -1
  219. package/dist/errors/cleanup-registry.d.ts +64 -0
  220. package/dist/errors/cleanup-registry.d.ts.map +1 -0
  221. package/dist/errors/cleanup-registry.js +141 -0
  222. package/dist/errors/cleanup-registry.js.map +1 -0
  223. package/dist/errors/error-handler.d.ts +45 -0
  224. package/dist/errors/error-handler.d.ts.map +1 -0
  225. package/dist/errors/error-handler.js +150 -0
  226. package/dist/errors/error-handler.js.map +1 -0
  227. package/dist/errors/error-types.d.ts +102 -0
  228. package/dist/errors/error-types.d.ts.map +1 -0
  229. package/dist/errors/error-types.js +158 -0
  230. package/dist/errors/error-types.js.map +1 -0
  231. package/dist/errors/exit-codes.d.ts +49 -0
  232. package/dist/errors/exit-codes.d.ts.map +1 -0
  233. package/dist/errors/exit-codes.js +72 -0
  234. package/dist/errors/exit-codes.js.map +1 -0
  235. package/dist/errors/index.d.ts +29 -0
  236. package/dist/errors/index.d.ts.map +1 -0
  237. package/dist/errors/index.js +62 -0
  238. package/dist/errors/index.js.map +1 -0
  239. package/dist/glmt/glmt-transformer.d.ts +29 -248
  240. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  241. package/dist/glmt/glmt-transformer.js +63 -718
  242. package/dist/glmt/glmt-transformer.js.map +1 -1
  243. package/dist/glmt/index.d.ts +14 -0
  244. package/dist/glmt/index.d.ts.map +1 -0
  245. package/dist/glmt/index.js +41 -0
  246. package/dist/glmt/index.js.map +1 -0
  247. package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
  248. package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
  249. package/dist/glmt/pipeline/content-transformer.js +162 -0
  250. package/dist/glmt/pipeline/content-transformer.js.map +1 -0
  251. package/dist/glmt/pipeline/index.d.ts +12 -0
  252. package/dist/glmt/pipeline/index.d.ts.map +1 -0
  253. package/dist/glmt/pipeline/index.js +20 -0
  254. package/dist/glmt/pipeline/index.js.map +1 -0
  255. package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
  256. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
  257. package/dist/glmt/pipeline/request-transformer.js +116 -0
  258. package/dist/glmt/pipeline/request-transformer.js.map +1 -0
  259. package/dist/glmt/pipeline/response-builder.d.ts +52 -0
  260. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
  261. package/dist/glmt/pipeline/response-builder.js +205 -0
  262. package/dist/glmt/pipeline/response-builder.js.map +1 -0
  263. package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
  264. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
  265. package/dist/glmt/pipeline/stream-parser.js +241 -0
  266. package/dist/glmt/pipeline/stream-parser.js.map +1 -0
  267. package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
  268. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
  269. package/dist/glmt/pipeline/tool-call-handler.js +87 -0
  270. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
  271. package/dist/glmt/pipeline/types.d.ts +159 -0
  272. package/dist/glmt/pipeline/types.d.ts.map +1 -0
  273. package/dist/glmt/pipeline/types.js +6 -0
  274. package/dist/glmt/pipeline/types.js.map +1 -0
  275. package/dist/management/checks/cliproxy-check.d.ts +37 -0
  276. package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
  277. package/dist/management/checks/cliproxy-check.js +187 -0
  278. package/dist/management/checks/cliproxy-check.js.map +1 -0
  279. package/dist/management/checks/config-check.d.ts +27 -0
  280. package/dist/management/checks/config-check.d.ts.map +1 -0
  281. package/dist/management/checks/config-check.js +158 -0
  282. package/dist/management/checks/config-check.js.map +1 -0
  283. package/dist/management/checks/env-check.d.ts +17 -0
  284. package/dist/management/checks/env-check.d.ts.map +1 -0
  285. package/dist/management/checks/env-check.js +71 -0
  286. package/dist/management/checks/env-check.js.map +1 -0
  287. package/dist/management/checks/index.d.ts +12 -0
  288. package/dist/management/checks/index.d.ts.map +1 -0
  289. package/dist/management/checks/index.js +48 -0
  290. package/dist/management/checks/index.js.map +1 -0
  291. package/dist/management/checks/oauth-check.d.ts +16 -0
  292. package/dist/management/checks/oauth-check.d.ts.map +1 -0
  293. package/dist/management/checks/oauth-check.js +68 -0
  294. package/dist/management/checks/oauth-check.js.map +1 -0
  295. package/dist/management/checks/profile-check.d.ts +36 -0
  296. package/dist/management/checks/profile-check.d.ts.map +1 -0
  297. package/dist/management/checks/profile-check.js +165 -0
  298. package/dist/management/checks/profile-check.js.map +1 -0
  299. package/dist/management/checks/symlink-check.d.ts +30 -0
  300. package/dist/management/checks/symlink-check.d.ts.map +1 -0
  301. package/dist/management/checks/symlink-check.js +204 -0
  302. package/dist/management/checks/symlink-check.js.map +1 -0
  303. package/dist/management/checks/system-check.d.ts +25 -0
  304. package/dist/management/checks/system-check.d.ts.map +1 -0
  305. package/dist/management/checks/system-check.js +136 -0
  306. package/dist/management/checks/system-check.js.map +1 -0
  307. package/dist/management/checks/types.d.ts +64 -0
  308. package/dist/management/checks/types.d.ts.map +1 -0
  309. package/dist/management/checks/types.js +63 -0
  310. package/dist/management/checks/types.js.map +1 -0
  311. package/dist/management/doctor.d.ts +3 -92
  312. package/dist/management/doctor.d.ts.map +1 -1
  313. package/dist/management/doctor.js +15 -831
  314. package/dist/management/doctor.js.map +1 -1
  315. package/dist/management/index.d.ts +15 -0
  316. package/dist/management/index.d.ts.map +1 -0
  317. package/dist/management/index.js +56 -0
  318. package/dist/management/index.js.map +1 -0
  319. package/dist/management/repair/auto-repair.d.ts +13 -0
  320. package/dist/management/repair/auto-repair.d.ts.map +1 -0
  321. package/dist/management/repair/auto-repair.js +170 -0
  322. package/dist/management/repair/auto-repair.js.map +1 -0
  323. package/dist/management/repair/index.d.ts +5 -0
  324. package/dist/management/repair/index.d.ts.map +1 -0
  325. package/dist/management/repair/index.js +9 -0
  326. package/dist/management/repair/index.js.map +1 -0
  327. package/dist/types/delegation.d.ts +1 -13
  328. package/dist/types/delegation.d.ts.map +1 -1
  329. package/dist/types/utils.d.ts +27 -0
  330. package/dist/types/utils.d.ts.map +1 -1
  331. package/dist/ui/assets/{accounts-p1_nf0Jy.js → accounts-BqDNXZu4.js} +1 -1
  332. package/dist/ui/assets/analytics-DQMyOsqI.js +1 -0
  333. package/dist/ui/assets/api-Bzyq4XP7.js +1 -0
  334. package/dist/ui/assets/{card-CCDc-Mx9.js → card-CIN0KDsX.js} +1 -1
  335. package/dist/ui/assets/cliproxy-5iKdPrEG.js +3 -0
  336. package/dist/ui/assets/cliproxy-control-panel-CJ2CfYod.js +1 -0
  337. package/dist/ui/assets/{code-editor-Br9x-r-E.js → code-editor-CDmNFLQ6.js} +1 -1
  338. package/dist/ui/assets/confirm-dialog-CaiDQikc.js +1 -0
  339. package/dist/ui/assets/copilot-nS6iAyk2.js +4 -0
  340. package/dist/ui/assets/form-utils-DP6ILe7Z.js +20 -0
  341. package/dist/ui/assets/health-DYOQfC7u.js +1 -0
  342. package/dist/ui/assets/{icons-BOsxPbiD.js → icons-ZmwVoUeR.js} +1 -1
  343. package/dist/ui/assets/index-C6Dah-xh.js +46 -0
  344. package/dist/ui/assets/index-It66SkKf.css +1 -0
  345. package/dist/ui/assets/{radix-ui-DFHQr9A5.js → radix-ui-CV3R9pD6.js} +3 -3
  346. package/dist/ui/assets/settings-DABC9b5G.js +1 -0
  347. package/dist/ui/assets/{shared-BfYhSN4-.js → shared-BwU4OKQc.js} +1 -1
  348. package/dist/ui/assets/{switch-CMk95lwf.js → switch-BQ6sBBUv.js} +1 -1
  349. package/dist/ui/assets/{tanstack-C4gT2P7V.js → tanstack-Df9bCj5R.js} +1 -1
  350. package/dist/ui/index.html +6 -6
  351. package/dist/utils/claude-spawner.d.ts +54 -0
  352. package/dist/utils/claude-spawner.d.ts.map +1 -0
  353. package/dist/utils/claude-spawner.js +118 -0
  354. package/dist/utils/claude-spawner.js.map +1 -0
  355. package/dist/utils/delegation-validator.d.ts +8 -4
  356. package/dist/utils/delegation-validator.d.ts.map +1 -1
  357. package/dist/utils/delegation-validator.js.map +1 -1
  358. package/dist/utils/helpers.d.ts +0 -11
  359. package/dist/utils/helpers.d.ts.map +1 -1
  360. package/dist/utils/helpers.js +1 -57
  361. package/dist/utils/helpers.js.map +1 -1
  362. package/dist/utils/index.d.ts +15 -0
  363. package/dist/utils/index.d.ts.map +1 -0
  364. package/dist/utils/index.js +50 -0
  365. package/dist/utils/index.js.map +1 -0
  366. package/dist/utils/time.d.ts +10 -0
  367. package/dist/utils/time.d.ts.map +1 -0
  368. package/dist/utils/time.js +27 -0
  369. package/dist/utils/time.js.map +1 -0
  370. package/dist/utils/ui/boxes.d.ts +24 -0
  371. package/dist/utils/ui/boxes.d.ts.map +1 -0
  372. package/dist/utils/ui/boxes.js +108 -0
  373. package/dist/utils/ui/boxes.js.map +1 -0
  374. package/dist/utils/ui/colors.d.ts +25 -0
  375. package/dist/utils/ui/colors.d.ts.map +1 -0
  376. package/dist/utils/ui/colors.js +70 -0
  377. package/dist/utils/ui/colors.js.map +1 -0
  378. package/dist/utils/ui/index.d.ts +51 -0
  379. package/dist/utils/ui/index.d.ts.map +1 -0
  380. package/dist/utils/ui/index.js +96 -0
  381. package/dist/utils/ui/index.js.map +1 -0
  382. package/dist/utils/ui/indicators.d.ts +23 -0
  383. package/dist/utils/ui/indicators.d.ts.map +1 -0
  384. package/dist/utils/ui/indicators.js +39 -0
  385. package/dist/utils/ui/indicators.js.map +1 -0
  386. package/dist/utils/ui/init.d.ts +30 -0
  387. package/dist/utils/ui/init.d.ts.map +1 -0
  388. package/dist/utils/ui/init.js +102 -0
  389. package/dist/utils/ui/init.js.map +1 -0
  390. package/dist/utils/ui/spinner.d.ts +13 -0
  391. package/dist/utils/ui/spinner.d.ts.map +1 -0
  392. package/dist/utils/ui/spinner.js +89 -0
  393. package/dist/utils/ui/spinner.js.map +1 -0
  394. package/dist/utils/ui/tables.d.ts +12 -0
  395. package/dist/utils/ui/tables.d.ts.map +1 -0
  396. package/dist/utils/ui/tables.js +69 -0
  397. package/dist/utils/ui/tables.js.map +1 -0
  398. package/dist/utils/ui/tasks.d.ts +26 -0
  399. package/dist/utils/ui/tasks.d.ts.map +1 -0
  400. package/dist/utils/ui/tasks.js +102 -0
  401. package/dist/utils/ui/tasks.js.map +1 -0
  402. package/dist/utils/ui/text.d.ts +24 -0
  403. package/dist/utils/ui/text.d.ts.map +1 -0
  404. package/dist/utils/ui/text.js +60 -0
  405. package/dist/utils/ui/text.js.map +1 -0
  406. package/dist/utils/ui/types.d.ts +36 -0
  407. package/dist/utils/ui/types.d.ts.map +1 -0
  408. package/dist/utils/ui/types.js +33 -0
  409. package/dist/utils/ui/types.js.map +1 -0
  410. package/dist/utils/ui.d.ts +3 -138
  411. package/dist/utils/ui.d.ts.map +1 -1
  412. package/dist/utils/ui.js +40 -567
  413. package/dist/utils/ui.js.map +1 -1
  414. package/dist/utils/websearch/gemini-cli.d.ts +36 -0
  415. package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
  416. package/dist/utils/websearch/gemini-cli.js +132 -0
  417. package/dist/utils/websearch/gemini-cli.js.map +1 -0
  418. package/dist/utils/websearch/grok-cli.d.ts +26 -0
  419. package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
  420. package/dist/utils/websearch/grok-cli.js +81 -0
  421. package/dist/utils/websearch/grok-cli.js.map +1 -0
  422. package/dist/utils/websearch/hook-config.d.ts +21 -0
  423. package/dist/utils/websearch/hook-config.d.ts.map +1 -0
  424. package/dist/utils/websearch/hook-config.js +183 -0
  425. package/dist/utils/websearch/hook-config.js.map +1 -0
  426. package/dist/utils/websearch/hook-env.d.ts +16 -0
  427. package/dist/utils/websearch/hook-env.d.ts.map +1 -0
  428. package/dist/utils/websearch/hook-env.js +62 -0
  429. package/dist/utils/websearch/hook-env.js.map +1 -0
  430. package/dist/utils/websearch/hook-installer.d.ts +27 -0
  431. package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
  432. package/dist/utils/websearch/hook-installer.js +141 -0
  433. package/dist/utils/websearch/hook-installer.js.map +1 -0
  434. package/dist/utils/websearch/index.d.ts +15 -0
  435. package/dist/utils/websearch/index.d.ts.map +1 -0
  436. package/dist/utils/websearch/index.js +44 -0
  437. package/dist/utils/websearch/index.js.map +1 -0
  438. package/dist/utils/websearch/opencode-cli.d.ts +26 -0
  439. package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
  440. package/dist/utils/websearch/opencode-cli.js +81 -0
  441. package/dist/utils/websearch/opencode-cli.js.map +1 -0
  442. package/dist/utils/websearch/status.d.ts +35 -0
  443. package/dist/utils/websearch/status.d.ts.map +1 -0
  444. package/dist/utils/websearch/status.js +185 -0
  445. package/dist/utils/websearch/status.js.map +1 -0
  446. package/dist/utils/websearch/types.d.ts +85 -0
  447. package/dist/utils/websearch/types.d.ts.map +1 -0
  448. package/dist/utils/websearch/types.js +10 -0
  449. package/dist/utils/websearch/types.js.map +1 -0
  450. package/dist/utils/websearch-manager.d.ts +7 -186
  451. package/dist/utils/websearch-manager.d.ts.map +1 -1
  452. package/dist/utils/websearch-manager.js +37 -710
  453. package/dist/utils/websearch-manager.js.map +1 -1
  454. package/dist/web-server/data-aggregator.d.ts +3 -51
  455. package/dist/web-server/data-aggregator.d.ts.map +1 -1
  456. package/dist/web-server/data-aggregator.js +18 -386
  457. package/dist/web-server/data-aggregator.js.map +1 -1
  458. package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
  459. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
  460. package/dist/web-server/health/cliproxy-checks.js +145 -0
  461. package/dist/web-server/health/cliproxy-checks.js.map +1 -0
  462. package/dist/web-server/health/config-checks.d.ts +19 -0
  463. package/dist/web-server/health/config-checks.d.ts.map +1 -0
  464. package/dist/web-server/health/config-checks.js +174 -0
  465. package/dist/web-server/health/config-checks.js.map +1 -0
  466. package/dist/web-server/health/environment-checks.d.ts +11 -0
  467. package/dist/web-server/health/environment-checks.d.ts.map +1 -0
  468. package/dist/web-server/health/environment-checks.js +40 -0
  469. package/dist/web-server/health/environment-checks.js.map +1 -0
  470. package/dist/web-server/health/index.d.ts +13 -0
  471. package/dist/web-server/health/index.d.ts.map +1 -0
  472. package/dist/web-server/health/index.js +41 -0
  473. package/dist/web-server/health/index.js.map +1 -0
  474. package/dist/web-server/health/oauth-checks.d.ts +11 -0
  475. package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
  476. package/dist/web-server/health/oauth-checks.js +34 -0
  477. package/dist/web-server/health/oauth-checks.js.map +1 -0
  478. package/dist/web-server/health/profile-checks.d.ts +19 -0
  479. package/dist/web-server/health/profile-checks.d.ts.map +1 -0
  480. package/dist/web-server/health/profile-checks.js +152 -0
  481. package/dist/web-server/health/profile-checks.js.map +1 -0
  482. package/dist/web-server/health/symlink-checks.d.ts +15 -0
  483. package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
  484. package/dist/web-server/health/symlink-checks.js +173 -0
  485. package/dist/web-server/health/symlink-checks.js.map +1 -0
  486. package/dist/web-server/health/system-checks.d.ts +19 -0
  487. package/dist/web-server/health/system-checks.d.ts.map +1 -0
  488. package/dist/web-server/health/system-checks.js +127 -0
  489. package/dist/web-server/health/system-checks.js.map +1 -0
  490. package/dist/web-server/health/types.d.ts +34 -0
  491. package/dist/web-server/health/types.d.ts.map +1 -0
  492. package/dist/web-server/health/types.js +8 -0
  493. package/dist/web-server/health/types.js.map +1 -0
  494. package/dist/web-server/health/websearch-checks.d.ts +11 -0
  495. package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
  496. package/dist/web-server/health/websearch-checks.js +53 -0
  497. package/dist/web-server/health/websearch-checks.js.map +1 -0
  498. package/dist/web-server/health-service.d.ts +4 -30
  499. package/dist/web-server/health-service.d.ts.map +1 -1
  500. package/dist/web-server/health-service.js +28 -695
  501. package/dist/web-server/health-service.js.map +1 -1
  502. package/dist/web-server/index.d.ts.map +1 -1
  503. package/dist/web-server/index.js +2 -5
  504. package/dist/web-server/index.js.map +1 -1
  505. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +6 -0
  506. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
  507. package/dist/web-server/routes/cliproxy-auth-routes.js +202 -0
  508. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
  509. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
  510. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
  511. package/dist/web-server/routes/cliproxy-stats-routes.js +253 -0
  512. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
  513. package/dist/web-server/routes/config-routes.d.ts +6 -0
  514. package/dist/web-server/routes/config-routes.d.ts.map +1 -0
  515. package/dist/web-server/routes/config-routes.js +145 -0
  516. package/dist/web-server/routes/config-routes.js.map +1 -0
  517. package/dist/web-server/routes/copilot-routes.d.ts +6 -0
  518. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
  519. package/dist/web-server/routes/copilot-routes.js +195 -0
  520. package/dist/web-server/routes/copilot-routes.js.map +1 -0
  521. package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
  522. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
  523. package/dist/web-server/routes/copilot-settings-routes.js +122 -0
  524. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
  525. package/dist/web-server/routes/health-routes.d.ts +6 -0
  526. package/dist/web-server/routes/health-routes.d.ts.map +1 -0
  527. package/dist/web-server/routes/health-routes.js +30 -0
  528. package/dist/web-server/routes/health-routes.js.map +1 -0
  529. package/dist/web-server/routes/index.d.ts +8 -0
  530. package/dist/web-server/routes/index.d.ts.map +1 -0
  531. package/dist/web-server/routes/index.js +54 -0
  532. package/dist/web-server/routes/index.js.map +1 -0
  533. package/dist/web-server/routes/misc-routes.d.ts +6 -0
  534. package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
  535. package/dist/web-server/routes/misc-routes.js +219 -0
  536. package/dist/web-server/routes/misc-routes.js.map +1 -0
  537. package/dist/web-server/routes/profile-routes.d.ts +6 -0
  538. package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
  539. package/dist/web-server/routes/profile-routes.js +164 -0
  540. package/dist/web-server/routes/profile-routes.js.map +1 -0
  541. package/dist/web-server/routes/provider-routes.d.ts +6 -0
  542. package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
  543. package/dist/web-server/routes/provider-routes.js +146 -0
  544. package/dist/web-server/routes/provider-routes.js.map +1 -0
  545. package/dist/web-server/routes/route-helpers.d.ts +55 -0
  546. package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
  547. package/dist/web-server/routes/route-helpers.js +201 -0
  548. package/dist/web-server/routes/route-helpers.js.map +1 -0
  549. package/dist/web-server/routes/settings-routes.d.ts +6 -0
  550. package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
  551. package/dist/web-server/routes/settings-routes.js +207 -0
  552. package/dist/web-server/routes/settings-routes.js.map +1 -0
  553. package/dist/web-server/routes/variant-routes.d.ts +6 -0
  554. package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
  555. package/dist/web-server/routes/variant-routes.js +158 -0
  556. package/dist/web-server/routes/variant-routes.js.map +1 -0
  557. package/dist/web-server/routes/websearch-routes.d.ts +6 -0
  558. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
  559. package/dist/web-server/routes/websearch-routes.js +130 -0
  560. package/dist/web-server/routes/websearch-routes.js.map +1 -0
  561. package/dist/web-server/services/index.d.ts +7 -0
  562. package/dist/web-server/services/index.d.ts.map +1 -0
  563. package/dist/web-server/services/index.js +21 -0
  564. package/dist/web-server/services/index.js.map +1 -0
  565. package/dist/web-server/services/usage-aggregator.d.ts +7 -0
  566. package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
  567. package/dist/web-server/services/usage-aggregator.js +23 -0
  568. package/dist/web-server/services/usage-aggregator.js.map +1 -0
  569. package/dist/web-server/usage/aggregator.d.ts +54 -0
  570. package/dist/web-server/usage/aggregator.d.ts.map +1 -0
  571. package/dist/web-server/usage/aggregator.js +470 -0
  572. package/dist/web-server/usage/aggregator.js.map +1 -0
  573. package/dist/web-server/usage/data-aggregator.d.ts +55 -0
  574. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
  575. package/dist/web-server/usage/data-aggregator.js +391 -0
  576. package/dist/web-server/usage/data-aggregator.js.map +1 -0
  577. package/dist/web-server/usage/disk-cache.d.ts +46 -0
  578. package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
  579. package/dist/web-server/usage/disk-cache.js +162 -0
  580. package/dist/web-server/usage/disk-cache.js.map +1 -0
  581. package/dist/web-server/usage/handlers.d.ts +50 -0
  582. package/dist/web-server/usage/handlers.d.ts.map +1 -0
  583. package/dist/web-server/usage/handlers.js +524 -0
  584. package/dist/web-server/usage/handlers.js.map +1 -0
  585. package/dist/web-server/usage/index.d.ts +12 -0
  586. package/dist/web-server/usage/index.d.ts.map +1 -0
  587. package/dist/web-server/usage/index.js +54 -0
  588. package/dist/web-server/usage/index.js.map +1 -0
  589. package/dist/web-server/usage/routes.d.ts +11 -0
  590. package/dist/web-server/usage/routes.d.ts.map +1 -0
  591. package/dist/web-server/usage/routes.js +37 -0
  592. package/dist/web-server/usage/routes.js.map +1 -0
  593. package/dist/web-server/usage/types.d.ts +119 -0
  594. package/dist/web-server/usage/types.d.ts.map +1 -0
  595. package/dist/web-server/usage/types.js +9 -0
  596. package/dist/web-server/usage/types.js.map +1 -0
  597. package/dist/web-server/usage-disk-cache.d.ts +3 -42
  598. package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
  599. package/dist/web-server/usage-disk-cache.js +5 -144
  600. package/dist/web-server/usage-disk-cache.js.map +1 -1
  601. package/dist/web-server/usage-routes.d.ts +3 -31
  602. package/dist/web-server/usage-routes.d.ts.map +1 -1
  603. package/dist/web-server/usage-routes.js +8 -1139
  604. package/dist/web-server/usage-routes.js.map +1 -1
  605. package/dist/web-server/usage-types.d.ts +3 -115
  606. package/dist/web-server/usage-types.d.ts.map +1 -1
  607. package/dist/web-server/usage-types.js +17 -3
  608. package/dist/web-server/usage-types.js.map +1 -1
  609. package/package.json +1 -1
  610. package/dist/ui/assets/analytics-D1k2nYcF.js +0 -1
  611. package/dist/ui/assets/api-D9VVmZ1j.js +0 -1
  612. package/dist/ui/assets/cliproxy-CTt_Nsft.js +0 -1
  613. package/dist/ui/assets/cliproxy-control-panel-DKMAi4_4.js +0 -1
  614. package/dist/ui/assets/copilot-C6F8PT_L.js +0 -4
  615. package/dist/ui/assets/form-utils-BuXDJb0w.js +0 -20
  616. package/dist/ui/assets/health-DiAvJaSn.js +0 -1
  617. package/dist/ui/assets/index-Brq6EBKZ.css +0 -1
  618. package/dist/ui/assets/index-ByU8ZhED.js +0 -48
  619. package/dist/ui/assets/settings-CEomZLGl.js +0 -1
  620. package/dist/web-server/routes.d.ts +0 -7
  621. package/dist/web-server/routes.d.ts.map +0 -1
  622. package/dist/web-server/routes.js +0 -1891
  623. package/dist/web-server/routes.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Auth Types and Configurations
3
+ *
4
+ * Type definitions and OAuth configurations for CLIProxy authentication.
5
+ */
6
+ import { CLIProxyProvider } from '../types';
7
+ import { AccountInfo } from '../account-manager';
8
+ /**
9
+ * OAuth callback ports used by CLIProxyAPI (hardcoded in binary)
10
+ * See: https://github.com/router-for-me/CLIProxyAPI/tree/main/internal/auth
11
+ *
12
+ * OAuth flow types per provider:
13
+ * - Gemini: Authorization Code Flow with local callback server on port 8085
14
+ * - Codex: Authorization Code Flow with local callback server on port 1455
15
+ * - Agy: Authorization Code Flow with local callback server on port 51121
16
+ * - Qwen: Device Code Flow (polling-based, NO callback port needed)
17
+ */
18
+ export declare const OAUTH_CALLBACK_PORTS: Partial<Record<CLIProxyProvider, number>>;
19
+ /**
20
+ * Auth status for a provider
21
+ */
22
+ export interface AuthStatus {
23
+ /** Provider name */
24
+ provider: CLIProxyProvider;
25
+ /** Whether authentication exists */
26
+ authenticated: boolean;
27
+ /** Path to token directory */
28
+ tokenDir: string;
29
+ /** Token file paths found */
30
+ tokenFiles: string[];
31
+ /** When last authenticated (if known) */
32
+ lastAuth?: Date;
33
+ /** Accounts registered for this provider (multi-account support) */
34
+ accounts: AccountInfo[];
35
+ /** Default account ID */
36
+ defaultAccount?: string;
37
+ }
38
+ /**
39
+ * OAuth config for each provider
40
+ */
41
+ export interface ProviderOAuthConfig {
42
+ /** Provider identifier */
43
+ provider: CLIProxyProvider;
44
+ /** Display name */
45
+ displayName: string;
46
+ /** OAuth authorization URL (for manual flow) */
47
+ authUrl: string;
48
+ /** Scopes required */
49
+ scopes: string[];
50
+ /** CLI flag for auth */
51
+ authFlag: string;
52
+ }
53
+ /**
54
+ * OAuth configurations per provider
55
+ * Note: CLIProxyAPI handles actual OAuth - these are for display/manual flow
56
+ */
57
+ export declare const OAUTH_CONFIGS: Record<CLIProxyProvider, ProviderOAuthConfig>;
58
+ /**
59
+ * Provider-specific auth file prefixes (fallback detection)
60
+ * CLIProxyAPI names auth files with provider prefix (e.g., "antigravity-user@email.json")
61
+ * Note: Gemini tokens may NOT have prefix - CLIProxyAPI uses {email}-{projectID}.json format
62
+ */
63
+ export declare const PROVIDER_AUTH_PREFIXES: Record<CLIProxyProvider, string[]>;
64
+ /**
65
+ * Provider type values inside token JSON files
66
+ * CLIProxyAPI sets "type" field in token JSON (e.g., {"type": "gemini"})
67
+ */
68
+ export declare const PROVIDER_TYPE_VALUES: Record<CLIProxyProvider, string[]>;
69
+ /**
70
+ * Get OAuth config for provider
71
+ */
72
+ export declare function getOAuthConfig(provider: CLIProxyProvider): ProviderOAuthConfig;
73
+ /**
74
+ * OAuth options for triggerOAuth
75
+ */
76
+ export interface OAuthOptions {
77
+ verbose?: boolean;
78
+ headless?: boolean;
79
+ account?: string;
80
+ add?: boolean;
81
+ nickname?: string;
82
+ /** If true, triggered from Web UI (enables project selection prompt) */
83
+ fromUI?: boolean;
84
+ }
85
+ //# sourceMappingURL=auth-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAK1E,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oCAAoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,oEAAoE;IACpE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAoCvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAMrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAMnE,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAM9E;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * Auth Types and Configurations
4
+ *
5
+ * Type definitions and OAuth configurations for CLIProxy authentication.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getOAuthConfig = exports.PROVIDER_TYPE_VALUES = exports.PROVIDER_AUTH_PREFIXES = exports.OAUTH_CONFIGS = exports.OAUTH_CALLBACK_PORTS = void 0;
9
+ /**
10
+ * OAuth callback ports used by CLIProxyAPI (hardcoded in binary)
11
+ * See: https://github.com/router-for-me/CLIProxyAPI/tree/main/internal/auth
12
+ *
13
+ * OAuth flow types per provider:
14
+ * - Gemini: Authorization Code Flow with local callback server on port 8085
15
+ * - Codex: Authorization Code Flow with local callback server on port 1455
16
+ * - Agy: Authorization Code Flow with local callback server on port 51121
17
+ * - Qwen: Device Code Flow (polling-based, NO callback port needed)
18
+ */
19
+ exports.OAUTH_CALLBACK_PORTS = {
20
+ gemini: 8085,
21
+ // codex uses 1455
22
+ // agy uses 51121
23
+ // qwen uses Device Code Flow - no callback port needed
24
+ };
25
+ /**
26
+ * OAuth configurations per provider
27
+ * Note: CLIProxyAPI handles actual OAuth - these are for display/manual flow
28
+ */
29
+ exports.OAUTH_CONFIGS = {
30
+ gemini: {
31
+ provider: 'gemini',
32
+ displayName: 'Google Gemini',
33
+ authUrl: 'https://accounts.google.com/o/oauth2/v2/auth',
34
+ scopes: ['https://www.googleapis.com/auth/generative-language'],
35
+ authFlag: '--login',
36
+ },
37
+ codex: {
38
+ provider: 'codex',
39
+ displayName: 'Codex',
40
+ authUrl: 'https://auth.openai.com/authorize',
41
+ scopes: ['openid', 'profile'],
42
+ authFlag: '--codex-login',
43
+ },
44
+ agy: {
45
+ provider: 'agy',
46
+ displayName: 'Antigravity',
47
+ authUrl: 'https://antigravity.ai/oauth/authorize',
48
+ scopes: ['api'],
49
+ authFlag: '--antigravity-login',
50
+ },
51
+ qwen: {
52
+ provider: 'qwen',
53
+ displayName: 'Qwen Code',
54
+ authUrl: 'https://chat.qwen.ai/api/v1/oauth2/device/code',
55
+ scopes: ['openid', 'profile', 'email', 'model.completion'],
56
+ authFlag: '--qwen-login',
57
+ },
58
+ iflow: {
59
+ provider: 'iflow',
60
+ displayName: 'iFlow',
61
+ authUrl: 'https://iflow.cn/oauth',
62
+ scopes: ['phone', 'profile', 'email'],
63
+ authFlag: '--iflow-login',
64
+ },
65
+ };
66
+ /**
67
+ * Provider-specific auth file prefixes (fallback detection)
68
+ * CLIProxyAPI names auth files with provider prefix (e.g., "antigravity-user@email.json")
69
+ * Note: Gemini tokens may NOT have prefix - CLIProxyAPI uses {email}-{projectID}.json format
70
+ */
71
+ exports.PROVIDER_AUTH_PREFIXES = {
72
+ gemini: ['gemini-', 'google-'],
73
+ codex: ['codex-', 'openai-'],
74
+ agy: ['antigravity-', 'agy-'],
75
+ qwen: ['qwen-'],
76
+ iflow: ['iflow-'],
77
+ };
78
+ /**
79
+ * Provider type values inside token JSON files
80
+ * CLIProxyAPI sets "type" field in token JSON (e.g., {"type": "gemini"})
81
+ */
82
+ exports.PROVIDER_TYPE_VALUES = {
83
+ gemini: ['gemini'],
84
+ codex: ['codex'],
85
+ agy: ['antigravity'],
86
+ qwen: ['qwen'],
87
+ iflow: ['iflow'],
88
+ };
89
+ /**
90
+ * Get OAuth config for provider
91
+ */
92
+ function getOAuthConfig(provider) {
93
+ const config = exports.OAUTH_CONFIGS[provider];
94
+ if (!config) {
95
+ throw new Error(`Unknown provider: ${provider}`);
96
+ }
97
+ return config;
98
+ }
99
+ exports.getOAuthConfig = getOAuthConfig;
100
+ //# sourceMappingURL=auth-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAKH;;;;;;;;;GASG;AACU,QAAA,oBAAoB,GAA8C;IAC7E,MAAM,EAAE,IAAI;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,uDAAuD;CACxD,CAAC;AAsCF;;;GAGG;AACU,QAAA,aAAa,GAAkD;IAC1E,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,CAAC,qDAAqD,CAAC;QAC/D,QAAQ,EAAE,SAAS;KACpB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC7B,QAAQ,EAAE,eAAe;KAC1B;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,wCAAwC;QACjD,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,QAAQ,EAAE,qBAAqB;KAChC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,gDAAgD;QACzD,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC;QAC1D,QAAQ,EAAE,cAAc;KACzB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;QACrC,QAAQ,EAAE,eAAe;KAC1B;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,sBAAsB,GAAuC;IACxE,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC5B,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,KAAK,EAAE,CAAC,QAAQ,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACU,QAAA,oBAAoB,GAAuC;IACtE,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,aAAa,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,SAAgB,cAAc,CAAC,QAA0B;IACvD,MAAM,MAAM,GAAG,qBAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,wCAMC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Environment Detector for CLIProxyAPI
3
+ *
4
+ * Detects headless environments and manages OAuth callback ports.
5
+ */
6
+ import { CLIProxyProvider } from '../types';
7
+ /**
8
+ * Detect if running in a headless environment (no browser available)
9
+ *
10
+ * IMPROVED: Avoids false positives on Windows desktop environments
11
+ * where isTTY may be undefined due to terminal wrapper behavior.
12
+ *
13
+ * Case study: Vietnamese Windows users reported "command hangs" because
14
+ * their terminal (PowerShell via npm) didn't set isTTY correctly.
15
+ */
16
+ export declare function isHeadlessEnvironment(): boolean;
17
+ /**
18
+ * Kill any process using a specific port
19
+ * Used to free OAuth callback port before authentication
20
+ */
21
+ export declare function killProcessOnPort(port: number, verbose: boolean): boolean;
22
+ /**
23
+ * Get platform-specific troubleshooting for OAuth timeout
24
+ */
25
+ export declare function getTimeoutTroubleshooting(provider: CLIProxyProvider, port: number | null): string[];
26
+ /**
27
+ * Display a single step status line
28
+ */
29
+ export declare function showStep(step: number, total: number, status: 'ok' | 'fail' | 'progress', message: string): void;
30
+ //# sourceMappingURL=environment-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-detector.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/environment-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAqC/C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAmCzE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,MAAM,EAAE,CAcV;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,EAClC,OAAO,EAAE,MAAM,GACd,IAAI,CAGN"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * Environment Detector for CLIProxyAPI
4
+ *
5
+ * Detects headless environments and manages OAuth callback ports.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.showStep = exports.getTimeoutTroubleshooting = exports.killProcessOnPort = exports.isHeadlessEnvironment = void 0;
9
+ const child_process_1 = require("child_process");
10
+ /**
11
+ * Detect if running in a headless environment (no browser available)
12
+ *
13
+ * IMPROVED: Avoids false positives on Windows desktop environments
14
+ * where isTTY may be undefined due to terminal wrapper behavior.
15
+ *
16
+ * Case study: Vietnamese Windows users reported "command hangs" because
17
+ * their terminal (PowerShell via npm) didn't set isTTY correctly.
18
+ */
19
+ function isHeadlessEnvironment() {
20
+ // SSH session - always headless
21
+ if (process.env.SSH_TTY || process.env.SSH_CLIENT || process.env.SSH_CONNECTION) {
22
+ return true;
23
+ }
24
+ // No display on Linux (X11/Wayland) - headless
25
+ if (process.platform === 'linux' && !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY) {
26
+ return true;
27
+ }
28
+ // Windows desktop - NEVER headless unless SSH (already checked above)
29
+ // This fixes false positive where Windows npm wrappers don't set isTTY correctly
30
+ // Windows desktop environments always have browser capability
31
+ if (process.platform === 'win32') {
32
+ return false;
33
+ }
34
+ // macOS - check for proper terminal
35
+ if (process.platform === 'darwin') {
36
+ // Non-interactive stdin on macOS means likely piped/scripted
37
+ if (!process.stdin.isTTY) {
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ // Linux with display - check TTY
43
+ if (process.platform === 'linux') {
44
+ if (!process.stdin.isTTY) {
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ // Default fallback for unknown platforms
50
+ return !process.stdin.isTTY;
51
+ }
52
+ exports.isHeadlessEnvironment = isHeadlessEnvironment;
53
+ /**
54
+ * Kill any process using a specific port
55
+ * Used to free OAuth callback port before authentication
56
+ */
57
+ function killProcessOnPort(port, verbose) {
58
+ try {
59
+ if (process.platform === 'win32') {
60
+ // Windows: use netstat + taskkill
61
+ const result = (0, child_process_1.execSync)(`netstat -ano | findstr :${port}`, {
62
+ encoding: 'utf-8',
63
+ stdio: 'pipe',
64
+ });
65
+ const lines = result.trim().split('\n');
66
+ for (const line of lines) {
67
+ const parts = line.trim().split(/\s+/);
68
+ const pid = parts[parts.length - 1];
69
+ if (pid && /^\d+$/.test(pid)) {
70
+ (0, child_process_1.execSync)(`taskkill /F /PID ${pid}`, { stdio: 'pipe' });
71
+ if (verbose)
72
+ console.error(`[auth] Killed process ${pid} on port ${port}`);
73
+ }
74
+ }
75
+ return true;
76
+ }
77
+ else {
78
+ // Unix: use lsof + kill
79
+ const result = (0, child_process_1.execSync)(`lsof -ti:${port}`, { encoding: 'utf-8', stdio: 'pipe' });
80
+ const pids = result
81
+ .trim()
82
+ .split('\n')
83
+ .filter((p) => p);
84
+ for (const pid of pids) {
85
+ (0, child_process_1.execSync)(`kill -9 ${pid}`, { stdio: 'pipe' });
86
+ if (verbose)
87
+ console.error(`[auth] Killed process ${pid} on port ${port}`);
88
+ }
89
+ return pids.length > 0;
90
+ }
91
+ }
92
+ catch {
93
+ // No process on port or command failed - that's fine
94
+ return false;
95
+ }
96
+ }
97
+ exports.killProcessOnPort = killProcessOnPort;
98
+ /**
99
+ * Get platform-specific troubleshooting for OAuth timeout
100
+ */
101
+ function getTimeoutTroubleshooting(provider, port) {
102
+ const lines = [];
103
+ lines.push('');
104
+ lines.push('TROUBLESHOOTING:');
105
+ lines.push(' 1. Check browser completed auth (should show success page)');
106
+ if (port) {
107
+ lines.push(` 2. Check for port conflicts: lsof -ti:${port} or ss -tlnp | grep ${port}`);
108
+ lines.push(` 3. Try: ccs ${provider} --auth --verbose`);
109
+ }
110
+ else {
111
+ lines.push(` 2. Try: ccs ${provider} --auth --verbose`);
112
+ }
113
+ return lines;
114
+ }
115
+ exports.getTimeoutTroubleshooting = getTimeoutTroubleshooting;
116
+ /**
117
+ * Display a single step status line
118
+ */
119
+ function showStep(step, total, status, message) {
120
+ const statusIcon = status === 'ok' ? '[OK]' : status === 'fail' ? '[X]' : '[..]';
121
+ console.log(`${statusIcon} [${step}/${total}] ${message}`);
122
+ }
123
+ exports.showStep = showStep;
124
+ //# sourceMappingURL=environment-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-detector.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/environment-detector.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAAyC;AAGzC;;;;;;;;GAQG;AACH,SAAgB,qBAAqB;IACnC,gCAAgC;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,iFAAiF;IACjF,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,CAAC;AArCD,sDAqCC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,OAAgB;IAC9D,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,kCAAkC;YAClC,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,2BAA2B,IAAI,EAAE,EAAE;gBACzD,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAA,wBAAQ,EAAC,oBAAoB,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvD,IAAI,OAAO;wBAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,YAAY,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM;iBAChB,IAAI,EAAE;iBACN,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAA,wBAAQ,EAAC,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9C,IAAI,OAAO;oBAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAnCD,8CAmCC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,QAA0B,EAC1B,IAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAE3E,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,2CAA2C,IAAI,uBAAuB,IAAI,EAAE,CAAC,CAAC;QACzF,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,mBAAmB,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,8DAiBC;AAED;;GAEG;AACH,SAAgB,QAAQ,CACtB,IAAY,EACZ,KAAa,EACb,MAAkC,EAClC,OAAe;IAEf,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,IAAI,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AARD,4BAQC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Auth Module - Barrel Export
3
+ *
4
+ * Re-exports all auth-related functionality from submodules.
5
+ */
6
+ export type { AuthStatus, ProviderOAuthConfig, OAuthOptions } from './auth-types';
7
+ export { OAUTH_CALLBACK_PORTS, OAUTH_CONFIGS, PROVIDER_AUTH_PREFIXES, PROVIDER_TYPE_VALUES, getOAuthConfig, } from './auth-types';
8
+ export { getProviderTokenDir, isTokenFileForProvider, isAuthenticated, getAuthStatus, getAllAuthStatus, clearAuth, registerAccountFromToken, displayAuthStatus, } from './token-manager';
9
+ export { isHeadlessEnvironment, killProcessOnPort, getTimeoutTroubleshooting, showStep, } from './environment-detector';
10
+ export { triggerOAuth, ensureAuth } from './oauth-handler';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Auth Module - Barrel Export
4
+ *
5
+ * Re-exports all auth-related functionality from submodules.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ensureAuth = exports.triggerOAuth = exports.showStep = exports.getTimeoutTroubleshooting = exports.killProcessOnPort = exports.isHeadlessEnvironment = exports.displayAuthStatus = exports.registerAccountFromToken = exports.clearAuth = exports.getAllAuthStatus = exports.getAuthStatus = exports.isAuthenticated = exports.isTokenFileForProvider = exports.getProviderTokenDir = exports.getOAuthConfig = exports.PROVIDER_TYPE_VALUES = exports.PROVIDER_AUTH_PREFIXES = exports.OAUTH_CONFIGS = exports.OAUTH_CALLBACK_PORTS = void 0;
9
+ var auth_types_1 = require("./auth-types");
10
+ Object.defineProperty(exports, "OAUTH_CALLBACK_PORTS", { enumerable: true, get: function () { return auth_types_1.OAUTH_CALLBACK_PORTS; } });
11
+ Object.defineProperty(exports, "OAUTH_CONFIGS", { enumerable: true, get: function () { return auth_types_1.OAUTH_CONFIGS; } });
12
+ Object.defineProperty(exports, "PROVIDER_AUTH_PREFIXES", { enumerable: true, get: function () { return auth_types_1.PROVIDER_AUTH_PREFIXES; } });
13
+ Object.defineProperty(exports, "PROVIDER_TYPE_VALUES", { enumerable: true, get: function () { return auth_types_1.PROVIDER_TYPE_VALUES; } });
14
+ Object.defineProperty(exports, "getOAuthConfig", { enumerable: true, get: function () { return auth_types_1.getOAuthConfig; } });
15
+ // Token management
16
+ var token_manager_1 = require("./token-manager");
17
+ Object.defineProperty(exports, "getProviderTokenDir", { enumerable: true, get: function () { return token_manager_1.getProviderTokenDir; } });
18
+ Object.defineProperty(exports, "isTokenFileForProvider", { enumerable: true, get: function () { return token_manager_1.isTokenFileForProvider; } });
19
+ Object.defineProperty(exports, "isAuthenticated", { enumerable: true, get: function () { return token_manager_1.isAuthenticated; } });
20
+ Object.defineProperty(exports, "getAuthStatus", { enumerable: true, get: function () { return token_manager_1.getAuthStatus; } });
21
+ Object.defineProperty(exports, "getAllAuthStatus", { enumerable: true, get: function () { return token_manager_1.getAllAuthStatus; } });
22
+ Object.defineProperty(exports, "clearAuth", { enumerable: true, get: function () { return token_manager_1.clearAuth; } });
23
+ Object.defineProperty(exports, "registerAccountFromToken", { enumerable: true, get: function () { return token_manager_1.registerAccountFromToken; } });
24
+ Object.defineProperty(exports, "displayAuthStatus", { enumerable: true, get: function () { return token_manager_1.displayAuthStatus; } });
25
+ // Environment detection
26
+ var environment_detector_1 = require("./environment-detector");
27
+ Object.defineProperty(exports, "isHeadlessEnvironment", { enumerable: true, get: function () { return environment_detector_1.isHeadlessEnvironment; } });
28
+ Object.defineProperty(exports, "killProcessOnPort", { enumerable: true, get: function () { return environment_detector_1.killProcessOnPort; } });
29
+ Object.defineProperty(exports, "getTimeoutTroubleshooting", { enumerable: true, get: function () { return environment_detector_1.getTimeoutTroubleshooting; } });
30
+ Object.defineProperty(exports, "showStep", { enumerable: true, get: function () { return environment_detector_1.showStep; } });
31
+ // OAuth handling
32
+ var oauth_handler_1 = require("./oauth-handler");
33
+ Object.defineProperty(exports, "triggerOAuth", { enumerable: true, get: function () { return oauth_handler_1.triggerOAuth; } });
34
+ Object.defineProperty(exports, "ensureAuth", { enumerable: true, get: function () { return oauth_handler_1.ensureAuth; } });
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,2CAMsB;AALpB,kHAAA,oBAAoB,OAAA;AACpB,2GAAA,aAAa,OAAA;AACb,oHAAA,sBAAsB,OAAA;AACtB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AAGhB,mBAAmB;AACnB,iDASyB;AARvB,oHAAA,mBAAmB,OAAA;AACnB,uHAAA,sBAAsB,OAAA;AACtB,gHAAA,eAAe,OAAA;AACf,8GAAA,aAAa,OAAA;AACb,iHAAA,gBAAgB,OAAA;AAChB,0GAAA,SAAS,OAAA;AACT,yHAAA,wBAAwB,OAAA;AACxB,kHAAA,iBAAiB,OAAA;AAGnB,wBAAwB;AACxB,+DAKgC;AAJ9B,6HAAA,qBAAqB,OAAA;AACrB,yHAAA,iBAAiB,OAAA;AACjB,iIAAA,yBAAyB,OAAA;AACzB,gHAAA,QAAQ,OAAA;AAGV,iBAAiB;AACjB,iDAA2D;AAAlD,6GAAA,YAAY,OAAA;AAAE,2GAAA,UAAU,OAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * OAuth Handler for CLIProxyAPI
3
+ *
4
+ * Manages OAuth authentication flow for CLIProxy providers (Gemini, Codex, Antigravity).
5
+ * CLIProxyAPI handles OAuth internally - we just need to:
6
+ * 1. Check if auth exists (token files in CCS auth directory)
7
+ * 2. Trigger OAuth flow by spawning binary with auth flag
8
+ * 3. Auto-detect headless environments (SSH, no DISPLAY)
9
+ * 4. Use --no-browser flag for headless, display OAuth URL for manual auth
10
+ */
11
+ import { CLIProxyProvider } from '../types';
12
+ import { AccountInfo } from '../account-manager';
13
+ import { OAuthOptions } from './auth-types';
14
+ /**
15
+ * Trigger OAuth flow for provider
16
+ * Auto-detects headless environment and uses --no-browser flag accordingly
17
+ * Shows real-time step-by-step progress for better user feedback
18
+ */
19
+ export declare function triggerOAuth(provider: CLIProxyProvider, options?: OAuthOptions): Promise<AccountInfo | null>;
20
+ /**
21
+ * Ensure provider is authenticated
22
+ * Triggers OAuth flow if not authenticated
23
+ */
24
+ export declare function ensureAuth(provider: CLIProxyProvider, options?: {
25
+ verbose?: boolean;
26
+ headless?: boolean;
27
+ account?: string;
28
+ }): Promise<boolean>;
29
+ //# sourceMappingURL=oauth-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,WAAW,EAIZ,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,YAAY,EAAwC,MAAM,cAAc,CAAC;AA0FlF;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA+E7B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * OAuth Handler for CLIProxyAPI
4
+ *
5
+ * Manages OAuth authentication flow for CLIProxy providers (Gemini, Codex, Antigravity).
6
+ * CLIProxyAPI handles OAuth internally - we just need to:
7
+ * 1. Check if auth exists (token files in CCS auth directory)
8
+ * 2. Trigger OAuth flow by spawning binary with auth flag
9
+ * 3. Auto-detect headless environments (SSH, no DISPLAY)
10
+ * 4. Use --no-browser flag for headless, display OAuth URL for manual auth
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.ensureAuth = exports.triggerOAuth = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const ui_1 = require("../../utils/ui");
39
+ const binary_manager_1 = require("../binary-manager");
40
+ const config_generator_1 = require("../config-generator");
41
+ const account_manager_1 = require("../account-manager");
42
+ const oauth_port_diagnostics_1 = require("../../management/oauth-port-diagnostics");
43
+ const auth_types_1 = require("./auth-types");
44
+ const environment_detector_1 = require("./environment-detector");
45
+ const token_manager_1 = require("./token-manager");
46
+ const oauth_process_1 = require("./oauth-process");
47
+ /**
48
+ * Prompt user to add another account
49
+ */
50
+ async function promptAddAccount() {
51
+ const readline = await Promise.resolve().then(() => __importStar(require('readline')));
52
+ const rl = readline.createInterface({
53
+ input: process.stdin,
54
+ output: process.stdout,
55
+ });
56
+ return new Promise((resolve) => {
57
+ rl.question('[?] Add another account? (y/N): ', (answer) => {
58
+ rl.close();
59
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
60
+ });
61
+ });
62
+ }
63
+ /**
64
+ * Run pre-flight OAuth checks
65
+ */
66
+ async function runPreflightChecks(provider, oauthConfig) {
67
+ console.log('');
68
+ console.log((0, ui_1.info)(`Pre-flight OAuth check for ${oauthConfig.displayName}...`));
69
+ const preflight = await (0, oauth_port_diagnostics_1.enhancedPreflightOAuthCheck)(provider);
70
+ for (const check of preflight.checks) {
71
+ const icon = check.status === 'ok' ? '[OK]' : check.status === 'warn' ? '[!]' : '[X]';
72
+ console.log(` ${icon} ${check.name}: ${check.message}`);
73
+ if (check.fixCommand && check.status !== 'ok') {
74
+ console.log(` Fix: ${check.fixCommand}`);
75
+ }
76
+ }
77
+ if (preflight.firewallWarning) {
78
+ console.log('');
79
+ console.log((0, ui_1.warn)('Windows Firewall may block OAuth callback'));
80
+ console.log(' If auth hangs, run as Administrator:');
81
+ console.log(` ${(0, ui_1.color)(preflight.firewallFixCommand || '', 'command')}`);
82
+ }
83
+ if (!preflight.ready) {
84
+ console.log('');
85
+ console.log((0, ui_1.fail)('Pre-flight check failed. Resolve issues above and retry.'));
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+ /**
91
+ * Prepare OAuth binary and config
92
+ */
93
+ async function prepareBinary(provider, verbose) {
94
+ (0, environment_detector_1.showStep)(1, 4, 'progress', 'Preparing CLIProxy binary...');
95
+ try {
96
+ const binaryPath = await (0, binary_manager_1.ensureCLIProxyBinary)(verbose);
97
+ process.stdout.write('\x1b[1A\x1b[2K');
98
+ (0, environment_detector_1.showStep)(1, 4, 'ok', 'CLIProxy binary ready');
99
+ const tokenDir = (0, token_manager_1.getProviderTokenDir)(provider);
100
+ fs.mkdirSync(tokenDir, { recursive: true, mode: 0o700 });
101
+ const configPath = (0, config_generator_1.generateConfig)(provider);
102
+ if (verbose) {
103
+ console.error(`[auth] Config generated: ${configPath}`);
104
+ }
105
+ return { binaryPath, tokenDir, configPath };
106
+ }
107
+ catch (error) {
108
+ process.stdout.write('\x1b[1A\x1b[2K');
109
+ (0, environment_detector_1.showStep)(1, 4, 'fail', 'Failed to prepare CLIProxy binary');
110
+ console.error((0, ui_1.fail)(error.message));
111
+ throw error;
112
+ }
113
+ }
114
+ /**
115
+ * Trigger OAuth flow for provider
116
+ * Auto-detects headless environment and uses --no-browser flag accordingly
117
+ * Shows real-time step-by-step progress for better user feedback
118
+ */
119
+ async function triggerOAuth(provider, options = {}) {
120
+ const oauthConfig = (0, auth_types_1.getOAuthConfig)(provider);
121
+ const { verbose = false, add = false, nickname, fromUI = false } = options;
122
+ const callbackPort = oauth_port_diagnostics_1.OAUTH_CALLBACK_PORTS[provider];
123
+ const isCLI = !fromUI;
124
+ const headless = options.headless ?? (0, environment_detector_1.isHeadlessEnvironment)();
125
+ // Check for existing accounts
126
+ const existingAccounts = (0, account_manager_1.getProviderAccounts)(provider);
127
+ if (existingAccounts.length > 0 && !add) {
128
+ console.log('');
129
+ console.log((0, ui_1.info)(`${existingAccounts.length} account(s) already authenticated for ${oauthConfig.displayName}`));
130
+ if (!(await promptAddAccount())) {
131
+ console.log((0, ui_1.info)('Cancelled'));
132
+ return null;
133
+ }
134
+ }
135
+ // Pre-flight checks
136
+ if (!(await runPreflightChecks(provider, oauthConfig))) {
137
+ return null;
138
+ }
139
+ console.log('');
140
+ // Prepare binary
141
+ const prepared = await prepareBinary(provider, verbose);
142
+ if (!prepared)
143
+ return null;
144
+ const { binaryPath, tokenDir, configPath } = prepared;
145
+ // Free callback port if needed
146
+ const localCallbackPort = auth_types_1.OAUTH_CALLBACK_PORTS[provider];
147
+ if (localCallbackPort) {
148
+ const killed = (0, environment_detector_1.killProcessOnPort)(localCallbackPort, verbose);
149
+ if (killed && verbose) {
150
+ console.error(`[auth] Freed port ${localCallbackPort} for OAuth callback`);
151
+ }
152
+ }
153
+ // Build args
154
+ const args = ['--config', configPath, oauthConfig.authFlag];
155
+ if (headless) {
156
+ args.push('--no-browser');
157
+ }
158
+ // Show callback server step
159
+ (0, environment_detector_1.showStep)(2, 4, 'progress', `Starting callback server on port ${callbackPort || 'N/A'}...`);
160
+ // Show headless instructions
161
+ if (headless) {
162
+ console.log('');
163
+ console.log((0, ui_1.warn)('PORT FORWARDING REQUIRED'));
164
+ console.log(` OAuth callback uses localhost:${callbackPort} which must be reachable.`);
165
+ console.log(' Run this on your LOCAL machine:');
166
+ console.log(` ${(0, ui_1.color)(`ssh -L ${callbackPort}:localhost:${callbackPort} <USER>@<HOST>`, 'command')}`);
167
+ console.log('');
168
+ }
169
+ // Execute OAuth process
170
+ return (0, oauth_process_1.executeOAuthProcess)({
171
+ provider,
172
+ binaryPath,
173
+ args,
174
+ tokenDir,
175
+ oauthConfig,
176
+ callbackPort,
177
+ headless,
178
+ verbose,
179
+ isCLI,
180
+ nickname,
181
+ });
182
+ }
183
+ exports.triggerOAuth = triggerOAuth;
184
+ /**
185
+ * Ensure provider is authenticated
186
+ * Triggers OAuth flow if not authenticated
187
+ */
188
+ async function ensureAuth(provider, options = {}) {
189
+ if ((0, token_manager_1.isAuthenticated)(provider)) {
190
+ if (options.verbose) {
191
+ console.error(`[auth] ${provider} already authenticated`);
192
+ }
193
+ const defaultAccount = (0, account_manager_1.getDefaultAccount)(provider);
194
+ if (defaultAccount) {
195
+ (0, account_manager_1.touchAccount)(provider, options.account || defaultAccount.id);
196
+ }
197
+ return true;
198
+ }
199
+ const oauthConfig = (0, auth_types_1.getOAuthConfig)(provider);
200
+ console.log((0, ui_1.info)(`${oauthConfig.displayName} authentication required`));
201
+ const account = await triggerOAuth(provider, options);
202
+ return account !== null;
203
+ }
204
+ exports.ensureAuth = ensureAuth;
205
+ //# sourceMappingURL=oauth-handler.js.map