@kaitranntt/ccs 6.7.0 → 6.7.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,171 @@
1
+ "use strict";
2
+ /**
3
+ * Version Cache Manager
4
+ * Handles reading/writing version cache to avoid excessive GitHub API calls.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.isVersionPinned = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.writeInstalledVersion = exports.readInstalledVersion = exports.writeVersionCache = exports.readVersionCache = exports.getVersionPinPath = exports.getVersionCachePath = void 0;
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ const config_generator_1 = require("../config-generator");
34
+ const types_1 = require("./types");
35
+ /**
36
+ * Get path to version cache file
37
+ */
38
+ function getVersionCachePath() {
39
+ return path.join((0, config_generator_1.getCliproxyDir)(), '.version-cache.json');
40
+ }
41
+ exports.getVersionCachePath = getVersionCachePath;
42
+ /**
43
+ * Get path to version pin file
44
+ */
45
+ function getVersionPinPath() {
46
+ return path.join((0, config_generator_1.getBinDir)(), types_1.VERSION_PIN_FILE);
47
+ }
48
+ exports.getVersionPinPath = getVersionPinPath;
49
+ /**
50
+ * Read version cache if still valid
51
+ */
52
+ function readVersionCache() {
53
+ const cachePath = getVersionCachePath();
54
+ if (!fs.existsSync(cachePath)) {
55
+ return null;
56
+ }
57
+ try {
58
+ const content = fs.readFileSync(cachePath, 'utf8');
59
+ const cache = JSON.parse(content);
60
+ // Check if cache is still valid
61
+ if (Date.now() - cache.checkedAt < types_1.VERSION_CACHE_DURATION_MS) {
62
+ return cache;
63
+ }
64
+ // Cache expired
65
+ return null;
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ }
71
+ exports.readVersionCache = readVersionCache;
72
+ /**
73
+ * Write version to cache
74
+ */
75
+ function writeVersionCache(version) {
76
+ const cachePath = getVersionCachePath();
77
+ const cache = {
78
+ latestVersion: version,
79
+ checkedAt: Date.now(),
80
+ };
81
+ try {
82
+ fs.mkdirSync(path.dirname(cachePath), { recursive: true });
83
+ fs.writeFileSync(cachePath, JSON.stringify(cache), 'utf8');
84
+ }
85
+ catch {
86
+ // Silent fail - caching is optional
87
+ }
88
+ }
89
+ exports.writeVersionCache = writeVersionCache;
90
+ /**
91
+ * Read installed version from .version file
92
+ */
93
+ function readInstalledVersion(binPath, fallbackVersion) {
94
+ const versionFile = path.join(binPath, '.version');
95
+ if (fs.existsSync(versionFile)) {
96
+ try {
97
+ return fs.readFileSync(versionFile, 'utf8').trim();
98
+ }
99
+ catch {
100
+ return fallbackVersion;
101
+ }
102
+ }
103
+ return fallbackVersion;
104
+ }
105
+ exports.readInstalledVersion = readInstalledVersion;
106
+ /**
107
+ * Write installed version to .version file
108
+ */
109
+ function writeInstalledVersion(binPath, version) {
110
+ const versionFile = path.join(binPath, '.version');
111
+ try {
112
+ fs.writeFileSync(versionFile, version, 'utf8');
113
+ }
114
+ catch {
115
+ // Silent fail - not critical
116
+ }
117
+ }
118
+ exports.writeInstalledVersion = writeInstalledVersion;
119
+ /**
120
+ * Get pinned version if one exists
121
+ */
122
+ function getPinnedVersion() {
123
+ const pinPath = getVersionPinPath();
124
+ if (!fs.existsSync(pinPath)) {
125
+ return null;
126
+ }
127
+ try {
128
+ return fs.readFileSync(pinPath, 'utf8').trim();
129
+ }
130
+ catch {
131
+ return null;
132
+ }
133
+ }
134
+ exports.getPinnedVersion = getPinnedVersion;
135
+ /**
136
+ * Save pinned version to persist user's explicit choice
137
+ */
138
+ function savePinnedVersion(version) {
139
+ const pinPath = getVersionPinPath();
140
+ try {
141
+ fs.mkdirSync(path.dirname(pinPath), { recursive: true });
142
+ fs.writeFileSync(pinPath, version, 'utf8');
143
+ }
144
+ catch {
145
+ // Silent fail - not critical
146
+ }
147
+ }
148
+ exports.savePinnedVersion = savePinnedVersion;
149
+ /**
150
+ * Clear pinned version (unpin)
151
+ */
152
+ function clearPinnedVersion() {
153
+ const pinPath = getVersionPinPath();
154
+ if (fs.existsSync(pinPath)) {
155
+ try {
156
+ fs.unlinkSync(pinPath);
157
+ }
158
+ catch {
159
+ // Silent fail
160
+ }
161
+ }
162
+ }
163
+ exports.clearPinnedVersion = clearPinnedVersion;
164
+ /**
165
+ * Check if a version is currently pinned
166
+ */
167
+ function isVersionPinned() {
168
+ return getPinnedVersion() !== null;
169
+ }
170
+ exports.isVersionPinned = isVersionPinned;
171
+ //# sourceMappingURL=version-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-cache.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Version Checker
3
+ * Handles checking GitHub API for latest version and comparing semver.
4
+ */
5
+ import { UpdateCheckResult } from './types';
6
+ /**
7
+ * Compare semver versions (true if latest > current)
8
+ */
9
+ export declare function isNewerVersion(latest: string, current: string): boolean;
10
+ /**
11
+ * Fetch latest version from GitHub API
12
+ */
13
+ export declare function fetchLatestVersion(verbose?: boolean): Promise<string>;
14
+ /**
15
+ * Check for updates by comparing installed version with latest release
16
+ * Uses cache to avoid hitting GitHub API on every run
17
+ */
18
+ export declare function checkForUpdates(binPath: string, configVersion: string, verbose?: boolean): Promise<UpdateCheckResult>;
19
+ //# sourceMappingURL=version-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-checker.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAEvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAcvE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,OAAO,UAAQ,GACd,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /**
3
+ * Version Checker
4
+ * Handles checking GitHub API for latest version and comparing semver.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.checkForUpdates = exports.fetchLatestVersion = exports.isNewerVersion = void 0;
8
+ const downloader_1 = require("./downloader");
9
+ const version_cache_1 = require("./version-cache");
10
+ const types_1 = require("./types");
11
+ /**
12
+ * Compare semver versions (true if latest > current)
13
+ */
14
+ function isNewerVersion(latest, current) {
15
+ const latestParts = latest.split('.').map((p) => parseInt(p, 10) || 0);
16
+ const currentParts = current.split('.').map((p) => parseInt(p, 10) || 0);
17
+ // Pad arrays to same length
18
+ while (latestParts.length < 3)
19
+ latestParts.push(0);
20
+ while (currentParts.length < 3)
21
+ currentParts.push(0);
22
+ for (let i = 0; i < 3; i++) {
23
+ if (latestParts[i] > currentParts[i])
24
+ return true;
25
+ if (latestParts[i] < currentParts[i])
26
+ return false;
27
+ }
28
+ return false; // Equal versions
29
+ }
30
+ exports.isNewerVersion = isNewerVersion;
31
+ /**
32
+ * Fetch latest version from GitHub API
33
+ */
34
+ async function fetchLatestVersion(verbose = false) {
35
+ const response = await (0, downloader_1.fetchJson)(types_1.GITHUB_API_LATEST_RELEASE, verbose);
36
+ // Extract version from tag_name (format: "v6.5.27" or "6.5.27")
37
+ const tagName = response.tag_name;
38
+ if (!tagName) {
39
+ throw new Error('No tag_name in GitHub API response');
40
+ }
41
+ return tagName.replace(/^v/, '');
42
+ }
43
+ exports.fetchLatestVersion = fetchLatestVersion;
44
+ /**
45
+ * Check for updates by comparing installed version with latest release
46
+ * Uses cache to avoid hitting GitHub API on every run
47
+ */
48
+ async function checkForUpdates(binPath, configVersion, verbose = false) {
49
+ const currentVersion = (0, version_cache_1.readInstalledVersion)(binPath, configVersion);
50
+ // Try cache first
51
+ const cache = (0, version_cache_1.readVersionCache)();
52
+ if (cache) {
53
+ if (verbose) {
54
+ console.error(`[cliproxy] Using cached version: ${cache.latestVersion}`);
55
+ }
56
+ return {
57
+ hasUpdate: isNewerVersion(cache.latestVersion, currentVersion),
58
+ currentVersion,
59
+ latestVersion: cache.latestVersion,
60
+ fromCache: true,
61
+ checkedAt: cache.checkedAt,
62
+ };
63
+ }
64
+ // Fetch from GitHub API
65
+ const latestVersion = await fetchLatestVersion(verbose);
66
+ const now = Date.now();
67
+ (0, version_cache_1.writeVersionCache)(latestVersion);
68
+ return {
69
+ hasUpdate: isNewerVersion(latestVersion, currentVersion),
70
+ currentVersion,
71
+ latestVersion,
72
+ fromCache: false,
73
+ checkedAt: now,
74
+ };
75
+ }
76
+ exports.checkForUpdates = checkForUpdates;
77
+ //# sourceMappingURL=version-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/version-checker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAAyC;AACzC,mDAA4F;AAC5F,mCAAuE;AAEvE;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc,EAAE,OAAe;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,4BAA4B;IAC5B,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,iBAAiB;AACjC,CAAC;AAdD,wCAcC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAAO,GAAG,KAAK;IACtD,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAS,EAAC,iCAAyB,EAAE,OAAO,CAAC,CAAC;IAErE,gEAAgE;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAkB,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAVD,gDAUC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,aAAqB,EACrB,OAAO,GAAG,KAAK;IAEf,MAAM,cAAc,GAAG,IAAA,oCAAoB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEpE,kBAAkB;IAClB,MAAM,KAAK,GAAG,IAAA,gCAAgB,GAAE,CAAC;IACjC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC;YAC9D,cAAc;YACd,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAA,iCAAiB,EAAC,aAAa,CAAC,CAAC;IAEjC,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;QACxD,cAAc;QACd,aAAa;QACb,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAlCD,0CAkCC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Zip Archive Extractor
3
+ * Handles extraction of zip archives using Node.js built-in modules.
4
+ */
5
+ /**
6
+ * Extract zip archive using Node.js (simple implementation)
7
+ */
8
+ export declare function extractZip(archivePath: string, destDir: string, verbose?: boolean): Promise<void>;
9
+ //# sourceMappingURL=zip-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-extractor.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/zip-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiF/F"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /**
3
+ * Zip Archive Extractor
4
+ * Handles extraction of zip archives using Node.js built-in modules.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.extractZip = void 0;
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ const zlib = __importStar(require("zlib"));
34
+ const platform_detector_1 = require("../platform-detector");
35
+ /**
36
+ * Extract zip archive using Node.js (simple implementation)
37
+ */
38
+ function extractZip(archivePath, destDir, verbose = false) {
39
+ return new Promise((resolve, reject) => {
40
+ const execName = (0, platform_detector_1.getExecutableName)();
41
+ const archiveBinaryName = (0, platform_detector_1.getArchiveBinaryName)();
42
+ const buffer = fs.readFileSync(archivePath);
43
+ // Find End of Central Directory record (EOCD)
44
+ let eocdOffset = buffer.length - 22;
45
+ while (eocdOffset >= 0) {
46
+ if (buffer.readUInt32LE(eocdOffset) === 0x06054b50)
47
+ break;
48
+ eocdOffset--;
49
+ }
50
+ if (eocdOffset < 0) {
51
+ reject(new Error('Invalid ZIP file: EOCD not found'));
52
+ return;
53
+ }
54
+ const centralDirOffset = buffer.readUInt32LE(eocdOffset + 16);
55
+ let offset = centralDirOffset;
56
+ while (offset < eocdOffset) {
57
+ const sig = buffer.readUInt32LE(offset);
58
+ if (sig !== 0x02014b50)
59
+ break;
60
+ const compressionMethod = buffer.readUInt16LE(offset + 10);
61
+ const compressedSize = buffer.readUInt32LE(offset + 20);
62
+ const uncompressedSize = buffer.readUInt32LE(offset + 24);
63
+ const fileNameLength = buffer.readUInt16LE(offset + 28);
64
+ const extraFieldLength = buffer.readUInt16LE(offset + 30);
65
+ const commentLength = buffer.readUInt16LE(offset + 32);
66
+ const localHeaderOffset = buffer.readUInt32LE(offset + 42);
67
+ const fileName = buffer.toString('utf8', offset + 46, offset + 46 + fileNameLength);
68
+ const baseName = path.basename(fileName);
69
+ if (baseName === execName ||
70
+ baseName === archiveBinaryName ||
71
+ baseName === 'cli-proxy-api.exe') {
72
+ const localOffset = localHeaderOffset;
73
+ const localSig = buffer.readUInt32LE(localOffset);
74
+ if (localSig !== 0x04034b50) {
75
+ reject(new Error('Invalid local file header'));
76
+ return;
77
+ }
78
+ const localFileNameLength = buffer.readUInt16LE(localOffset + 26);
79
+ const localExtraLength = buffer.readUInt16LE(localOffset + 28);
80
+ const dataOffset = localOffset + 30 + localFileNameLength + localExtraLength;
81
+ let fileData;
82
+ if (compressionMethod === 0) {
83
+ fileData = buffer.subarray(dataOffset, dataOffset + compressedSize);
84
+ }
85
+ else if (compressionMethod === 8) {
86
+ const compressed = buffer.subarray(dataOffset, dataOffset + compressedSize);
87
+ fileData = zlib.inflateRawSync(compressed);
88
+ }
89
+ else {
90
+ reject(new Error(`Unsupported compression method: ${compressionMethod}`));
91
+ return;
92
+ }
93
+ if (fileData.length !== uncompressedSize) {
94
+ reject(new Error('Decompression size mismatch'));
95
+ return;
96
+ }
97
+ const destPath = path.join(destDir, execName);
98
+ fs.writeFileSync(destPath, fileData);
99
+ if (verbose)
100
+ console.error(`[cliproxy] Extracted: ${fileName} -> ${destPath}`);
101
+ resolve();
102
+ return;
103
+ }
104
+ offset += 46 + fileNameLength + extraFieldLength + commentLength;
105
+ }
106
+ reject(new Error(`Executable not found in archive: ${execName}`));
107
+ });
108
+ }
109
+ exports.extractZip = extractZip;
110
+ //# sourceMappingURL=zip-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-extractor.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/zip-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,169 +1,41 @@
1
1
  /**
2
2
  * Binary Manager for CLIProxyAPI
3
3
  *
4
- * Download-on-demand binary manager:
5
- * - Downloads platform-specific binary from GitHub releases
6
- * - Verifies SHA256 checksum
7
- * - Extracts and caches binary locally
8
- * - Supports retry logic with exponential backoff
9
- * - Auto-checks for updates on startup (fetches latest from GitHub API)
10
- *
4
+ * Facade pattern wrapper for modular binary management.
11
5
  * Pattern: Mirrors npm install behavior (fast check, download only when needed)
12
6
  */
13
7
  import { BinaryInfo, BinaryManagerConfig } from './types';
14
- /** Update check result */
15
- interface UpdateCheckResult {
16
- hasUpdate: boolean;
17
- currentVersion: string;
18
- latestVersion: string;
19
- fromCache: boolean;
20
- checkedAt: number;
21
- }
8
+ import { UpdateCheckResult, getPinnedVersion, savePinnedVersion, clearPinnedVersion, isVersionPinned, getVersionPinPath } from './binary';
22
9
  /**
23
10
  * Binary Manager class for CLIProxyAPI binary lifecycle
24
11
  */
25
12
  export declare class BinaryManager {
26
13
  private config;
27
- private verbose;
28
14
  constructor(config?: Partial<BinaryManagerConfig>);
29
- /**
30
- * Ensure binary is available (download if missing, update if outdated)
31
- * @returns Path to executable binary
32
- */
15
+ /** Ensure binary is available (download if missing, update if outdated) */
33
16
  ensureBinary(): Promise<string>;
34
- /**
35
- * Check for updates by comparing installed version with latest release
36
- * Uses cache to avoid hitting GitHub API on every run
37
- */
17
+ /** Check for updates by comparing installed version with latest release */
38
18
  checkForUpdates(): Promise<UpdateCheckResult>;
39
- /**
40
- * Fetch latest version from GitHub API
41
- */
42
- private fetchLatestVersion;
43
- /**
44
- * Fetch JSON from URL (for GitHub API)
45
- */
46
- private fetchJson;
47
- /**
48
- * Get installed version from version file or fallback to pinned
49
- */
50
- private getInstalledVersion;
51
- /**
52
- * Save installed version to file
53
- */
54
- private saveInstalledVersion;
55
- /**
56
- * Get version cache data if still valid
57
- */
58
- private getVersionCache;
59
- /**
60
- * Cache latest version for future checks
61
- */
62
- private cacheLatestVersion;
63
- /**
64
- * Get path to version cache file
65
- */
66
- private getVersionCachePath;
67
- /**
68
- * Compare semver versions (true if latest > current)
69
- */
70
- private isNewerVersion;
71
- /**
72
- * Get full path to binary executable
73
- */
19
+ /** Get full path to binary executable */
74
20
  getBinaryPath(): string;
75
- /**
76
- * Check if binary exists
77
- */
21
+ /** Check if binary exists */
78
22
  isBinaryInstalled(): boolean;
79
- /**
80
- * Get binary info if installed
81
- */
23
+ /** Get binary info if installed */
82
24
  getBinaryInfo(): Promise<BinaryInfo | null>;
83
- /**
84
- * Download and install binary
85
- */
86
- private downloadAndInstall;
87
- /**
88
- * Download file with retry logic and exponential backoff
89
- */
90
- private downloadWithRetry;
91
- /**
92
- * Download file from URL with progress tracking
93
- */
94
- private downloadFile;
95
- /**
96
- * Verify file checksum against checksums.txt
97
- */
98
- private verifyChecksum;
99
- /**
100
- * Parse checksum from checksums.txt content
101
- */
102
- private parseChecksum;
103
- /**
104
- * Compute SHA256 checksum of file
105
- */
106
- private computeChecksum;
107
- /**
108
- * Fetch text content from URL
109
- */
110
- private fetchText;
111
- /**
112
- * Extract archive (tar.gz or zip)
113
- */
114
- private extractArchive;
115
- /**
116
- * Extract tar.gz archive using Node.js built-in modules
117
- */
118
- private extractTarGz;
119
- /**
120
- * Extract zip archive using Node.js (simple implementation)
121
- */
122
- private extractZip;
123
- /**
124
- * Delete binary (for cleanup or reinstall)
125
- */
25
+ /** Delete binary (for cleanup or reinstall) */
126
26
  deleteBinary(): void;
127
- /**
128
- * Sleep helper
129
- */
130
- private sleep;
131
- /**
132
- * Log message if verbose
133
- */
134
- private log;
135
27
  }
136
- /**
137
- * Convenience function to ensure binary is available
138
- * Respects version pin if set by user via 'ccs cliproxy --install <version>'
139
- * @returns Path to CLIProxyAPI executable
140
- */
28
+ /** Convenience function respecting version pin */
141
29
  export declare function ensureCLIProxyBinary(verbose?: boolean): Promise<string>;
142
- /**
143
- * Check if CLIProxyAPI binary is installed
144
- */
30
+ /** Check if CLIProxyAPI binary is installed */
145
31
  export declare function isCLIProxyInstalled(): boolean;
146
- /**
147
- * Get CLIProxyAPI binary path (may not exist)
148
- */
32
+ /** Get CLIProxyAPI binary path (may not exist) */
149
33
  export declare function getCLIProxyPath(): string;
150
- /**
151
- * Get installed CLIProxyAPI version from .version file
152
- * Returns the fallback version if not installed or version file missing
153
- */
34
+ /** Get installed CLIProxyAPI version from .version file */
154
35
  export declare function getInstalledCliproxyVersion(): string;
155
- /**
156
- * Install a specific version of CLIProxyAPI
157
- * Deletes existing binary and downloads the specified version
158
- *
159
- * @param version Version to install (e.g., "6.5.53")
160
- * @param verbose Enable verbose logging
161
- */
36
+ /** Install a specific version of CLIProxyAPI */
162
37
  export declare function installCliproxyVersion(version: string, verbose?: boolean): Promise<void>;
163
- /**
164
- * Fetch the latest CLIProxyAPI version from GitHub API
165
- * @returns Latest version string (e.g., "6.5.53")
166
- */
38
+ /** Fetch the latest CLIProxyAPI version from GitHub API */
167
39
  export declare function fetchLatestCliproxyVersion(): Promise<string>;
168
40
  /** Update check result for API response */
169
41
  export interface CliproxyUpdateCheckResult {
@@ -173,34 +45,8 @@ export interface CliproxyUpdateCheckResult {
173
45
  fromCache: boolean;
174
46
  checkedAt: number;
175
47
  }
176
- /**
177
- * Check for CLIProxyAPI binary updates
178
- * @returns Update check result with version info
179
- */
48
+ /** Check for CLIProxyAPI binary updates */
180
49
  export declare function checkCliproxyUpdate(): Promise<CliproxyUpdateCheckResult>;
181
- /**
182
- * Get path to version pin file
183
- * @returns Absolute path to .version-pin file
184
- */
185
- export declare function getVersionPinPath(): string;
186
- /**
187
- * Get pinned version if one exists
188
- * @returns Pinned version string, or null if not pinned
189
- */
190
- export declare function getPinnedVersion(): string | null;
191
- /**
192
- * Save pinned version to persist user's explicit choice
193
- * @param version Version to pin (e.g., "6.5.50")
194
- */
195
- export declare function savePinnedVersion(version: string): void;
196
- /**
197
- * Clear pinned version (unpin)
198
- */
199
- export declare function clearPinnedVersion(): void;
200
- /**
201
- * Check if a version is currently pinned
202
- * @returns true if a version is pinned
203
- */
204
- export declare function isVersionPinned(): boolean;
50
+ export { getVersionPinPath, getPinnedVersion, savePinnedVersion, clearPinnedVersion, isVersionPinned, };
205
51
  export default BinaryManager;
206
52
  //# sourceMappingURL=binary-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/binary-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAMjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAYlB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAIrD,2EAA2E;IACrE,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,2EAA2E;IACrE,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAInD,yCAAyC;IACzC,aAAa,IAAI,MAAM;IAIvB,6BAA6B;IAC7B,iBAAiB,IAAI,OAAO;IAI5B,mCAAmC;IAC7B,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIjD,+CAA+C;IAC/C,YAAY,IAAI,IAAI;CAGrB;AAED,kDAAkD;AAClD,wBAAsB,oBAAoB,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3E;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,kDAAkD;AAClD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,2DAA2D;AAC3D,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,gDAAgD;AAChD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F;AAED,2DAA2D;AAC3D,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlE;AAED,2CAA2C;AAC3C,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAE9E;AAGD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,CAAC;AAEF,eAAe,aAAa,CAAC"}