@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
@@ -1 +1 @@
1
- {"version":3,"file":"usage-routes.js","sourceRoot":"","sources":["../../src/web-server/usage-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-routes.js","sourceRoot":"","sources":["../../src/web-server/usage-routes.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yCAKwB;AAJtB,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,+GAAA,qBAAqB,OAAA"}
@@ -1,119 +1,7 @@
1
1
  /**
2
- * Usage Data Types
2
+ * Usage Types - Re-export from modularized location
3
3
  *
4
- * Type definitions for aggregated usage data.
5
- * Compatible with better-ccusage interfaces for drop-in replacement.
4
+ * @deprecated Import from './usage/types' instead
6
5
  */
7
- /** Per-model token and cost breakdown */
8
- export interface ModelBreakdown {
9
- modelName: string;
10
- inputTokens: number;
11
- outputTokens: number;
12
- cacheCreationTokens: number;
13
- cacheReadTokens: number;
14
- cost: number;
15
- }
16
- /** Daily usage aggregation (YYYY-MM-DD) */
17
- export interface DailyUsage {
18
- date: string;
19
- source: string;
20
- inputTokens: number;
21
- outputTokens: number;
22
- cacheCreationTokens: number;
23
- cacheReadTokens: number;
24
- cost: number;
25
- totalCost: number;
26
- modelsUsed: string[];
27
- modelBreakdowns: ModelBreakdown[];
28
- }
29
- /** Hourly usage aggregation (YYYY-MM-DD HH:00) */
30
- export interface HourlyUsage {
31
- hour: string;
32
- source: string;
33
- inputTokens: number;
34
- outputTokens: number;
35
- cacheCreationTokens: number;
36
- cacheReadTokens: number;
37
- cost: number;
38
- totalCost: number;
39
- modelsUsed: string[];
40
- modelBreakdowns: ModelBreakdown[];
41
- }
42
- /** Monthly usage aggregation (YYYY-MM) */
43
- export interface MonthlyUsage {
44
- month: string;
45
- source: string;
46
- inputTokens: number;
47
- outputTokens: number;
48
- cacheCreationTokens: number;
49
- cacheReadTokens: number;
50
- totalCost: number;
51
- modelsUsed: string[];
52
- modelBreakdowns: ModelBreakdown[];
53
- }
54
- /** Session-level usage aggregation */
55
- export interface SessionUsage {
56
- sessionId: string;
57
- projectPath: string;
58
- inputTokens: number;
59
- outputTokens: number;
60
- cacheCreationTokens: number;
61
- cacheReadTokens: number;
62
- cost: number;
63
- totalCost: number;
64
- lastActivity: string;
65
- versions: string[];
66
- modelsUsed: string[];
67
- modelBreakdowns: ModelBreakdown[];
68
- source: string;
69
- }
70
- /** Token category with count and cost */
71
- export interface TokenCategoryCost {
72
- tokens: number;
73
- cost: number;
74
- }
75
- /** Breakdown of tokens by type with individual costs */
76
- export interface TokenBreakdown {
77
- input: TokenCategoryCost;
78
- output: TokenCategoryCost;
79
- cacheCreation: TokenCategoryCost;
80
- cacheRead: TokenCategoryCost;
81
- }
82
- /** Anomaly types for usage pattern detection */
83
- export type AnomalyType = 'high_input' | 'high_io_ratio' | 'cost_spike' | 'high_cache_read';
84
- /** Single anomaly detection result */
85
- export interface Anomaly {
86
- date: string;
87
- type: AnomalyType;
88
- model?: string;
89
- value: number;
90
- threshold: number;
91
- message: string;
92
- }
93
- /** Summary of all detected anomalies */
94
- export interface AnomalySummary {
95
- totalAnomalies: number;
96
- highInputDays: number;
97
- highIoRatioDays: number;
98
- costSpikeDays: number;
99
- highCacheReadDays: number;
100
- }
101
- /** Insights API response */
102
- export interface UsageInsights {
103
- anomalies: Anomaly[];
104
- summary: AnomalySummary;
105
- }
106
- /** Extended model usage with cost breakdown */
107
- export interface ExtendedModelUsage {
108
- model: string;
109
- inputTokens: number;
110
- outputTokens: number;
111
- cacheCreationTokens: number;
112
- cacheReadTokens: number;
113
- tokens: number;
114
- cost: number;
115
- percentage: number;
116
- costBreakdown: TokenBreakdown;
117
- ioRatio: number;
118
- }
6
+ export * from './usage/types';
119
7
  //# sourceMappingURL=usage-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-types.d.ts","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-types.d.ts","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC"}
@@ -1,9 +1,23 @@
1
1
  "use strict";
2
2
  /**
3
- * Usage Data Types
3
+ * Usage Types - Re-export from modularized location
4
4
  *
5
- * Type definitions for aggregated usage data.
6
- * Compatible with better-ccusage interfaces for drop-in replacement.
5
+ * @deprecated Import from './usage/types' instead
7
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
8
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./usage/types"), exports);
9
23
  //# sourceMappingURL=usage-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-types.js","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"usage-types.js","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,gDAA8B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "6.7.0",
3
+ "version": "6.7.1-dev.1",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-DFHQr9A5.js";import{c as ge,r as p}from"./react-vendor-FspHSO0w.js";import{C as g,a as j,b as N,c as C}from"./card-CCDc-Mx9.js";import{c as i,B as O,P as ee,a as je,b as se,C as Ne,u as R,S as m,d as y,g as te,e as B,f as ye,h as be,i as we,j as ve}from"./index-ByU8ZhED.js";import{K as F,f as k,L as H,H as ke}from"./utils-CzKF5WmX.js";import{a2 as Ce,s as $e,a3 as ae,a4 as W,a5 as re,v as ne,Y as Se,G as De,t as Q,U as Le,Z as le,r as Fe,a6 as q,a7 as Te,a8 as Me,J as Re,a9 as Pe,b as Ae,aa as Be}from"./icons-BOsxPbiD.js";import{R as ie,A as Ue,C as qe,X as Ie,Y as V,T as oe,a as Z,P as Oe,b as Ke,c as Ee}from"./charts-B9Jh-s-X.js";import{u as Ge,a as P}from"./tanstack-C4gT2P7V.js";import"./notifications-B2Pz7lik.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";function He({value:s,onChange:t,presets:a=[{label:"Last 7 days",range:{from:F(new Date,7),to:new Date}},{label:"Last 30 days",range:{from:F(new Date,30),to:new Date}},{label:"Last 90 days",range:{from:F(new Date,90),to:new Date}}],className:d}){const[o,c]=ge.useState(!1),n=r=>!s||!s.from||!s.to||!r.from||!r.to?!1:k(s.from,"yyyy-MM-dd")===k(r.from,"yyyy-MM-dd")&&k(s.to,"yyyy-MM-dd")===k(r.to,"yyyy-MM-dd");return e.jsxs("div",{className:i("flex items-center gap-2",d),children:[a.map(r=>e.jsx(O,{variant:n(r.range)?"default":"outline",size:"sm",onClick:()=>t(r.range),children:r.label},r.label)),e.jsxs(ee,{open:o,onOpenChange:c,children:[e.jsx(je,{asChild:!0,children:e.jsxs(O,{id:"date",variant:"outline",className:i("w-auto min-w-[240px] justify-start text-left font-normal",!s&&"text-muted-foreground"),children:[e.jsx(Ce,{className:"mr-2 h-4 w-4"}),s?.from?s.to?e.jsxs(e.Fragment,{children:[k(s.from,"LLL dd, y")," - ",k(s.to,"LLL dd, y")]}):k(s.from,"LLL dd, y"):e.jsx("span",{children:"Pick a date"})]})}),e.jsx(se,{className:"w-auto p-0",align:"end",children:e.jsx(Ne,{initialFocus:!0,mode:"range",defaultMonth:s?.from,selected:s,onSelect:t,numberOfMonths:2})})]})]})}function We({data:s,isLoading:t}){const{privacyMode:a}=R();if(t)return e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-5 gap-4",children:[1,2,3,4,5].map(n=>e.jsx(g,{children:e.jsx(j,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(m,{className:"h-4 w-[100px]"}),e.jsx(m,{className:"h-8 w-[80px]"})]}),e.jsx(m,{className:"h-8 w-8 rounded-lg"})]})})},n))});const d=(s?.tokenBreakdown?.cacheCreation?.cost??0)+(s?.tokenBreakdown?.cacheRead?.cost??0),o=s?.totalCost?Math.round(d/s.totalCost*100):0,c=[{title:"Total Tokens",value:s?.totalTokens??0,icon:$e,format:n=>M(n),color:"text-blue-600",bgColor:"bg-blue-100 dark:bg-blue-900/20",subtitle:`${M(s?.totalInputTokens??0)} in / ${M(s?.totalOutputTokens??0)} out`},{title:"Total Cost",value:s?.totalCost??0,icon:ae,format:n=>`$${n.toFixed(2)}`,color:"text-green-600",bgColor:"bg-green-100 dark:bg-green-900/20",subtitle:`$${s?.averageCostPerDay?.toFixed(2)??"0.00"}/day avg`},{title:"Cache Tokens",value:s?.totalCacheTokens??0,icon:W,format:n=>M(n),color:"text-cyan-600",bgColor:"bg-cyan-100 dark:bg-cyan-900/20",subtitle:`$${d.toFixed(2)} (${o}% of cost)`},{title:"Input Cost",value:s?.tokenBreakdown?.input?.cost??0,icon:re,format:n=>`$${n.toFixed(2)}`,color:"text-purple-600",bgColor:"bg-purple-100 dark:bg-purple-900/20",subtitle:`${M(s?.tokenBreakdown?.input?.tokens??0)} tokens`},{title:"Output Cost",value:s?.tokenBreakdown?.output?.cost??0,icon:ne,format:n=>`$${n.toFixed(2)}`,color:"text-orange-600",bgColor:"bg-orange-100 dark:bg-orange-900/20",subtitle:`${M(s?.tokenBreakdown?.output?.tokens??0)} tokens`}];return e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-5 gap-4",children:c.map((n,r)=>{const x=n.icon;return e.jsx(g,{className:"hover:shadow-md transition-shadow",children:e.jsx(j,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between space-x-2",children:[e.jsxs("div",{className:"space-y-1 min-w-0",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground truncate",children:n.title}),e.jsx("p",{className:i("text-xl font-bold truncate",a&&y),children:n.format(n.value)}),n.subtitle&&e.jsx("p",{className:i("text-[10px] text-muted-foreground truncate",a&&y),children:n.subtitle})]}),e.jsx("div",{className:i("p-2 rounded-lg shrink-0",n.bgColor),children:e.jsx(x,{className:i("h-4 w-4",n.color)})})]})})},r)})})}function M(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString()}function _e({data:s,isLoading:t,granularity:a="daily",className:d}){const{privacyMode:o}=R(),c=p.useMemo(()=>!s||s.length===0?[]:(a==="hourly"?s:[...s].reverse()).map(x=>{const u="hour"in x?x.hour:x.date;return{...x,dateFormatted:ze(u,a),costRounded:Number(x.cost.toFixed(4))}}),[s,a]);if(t)return e.jsx(m,{className:i("h-full w-full",d)});if(!s||s.length===0)return e.jsx("div",{className:i("h-full flex items-center justify-center",d),children:e.jsx("p",{className:"text-muted-foreground",children:a==="hourly"?"No usage data for today":"No usage data available"})});const n=({x:r,y:x,payload:u,isRight:f})=>{const h=f?`$${u.value}`:X(Number(u.value));return e.jsx("text",{x:r,y:x,dy:4,textAnchor:f?"start":"end",fontSize:12,fill:"currentColor",className:i("fill-muted-foreground",o&&"blur-[4px]"),children:h})};return e.jsx("div",{className:i("w-full h-full",d),children:e.jsx(ie,{width:"100%",height:"100%",children:e.jsxs(Ue,{data:c,margin:{top:5,right:30,left:20,bottom:5},children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"tokenGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"#0080FF",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"#0080FF",stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"costGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"#00C49F",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"#00C49F",stopOpacity:.1})]})]}),e.jsx(qe,{strokeDasharray:"3 3",className:"stroke-muted"}),e.jsx(Ie,{dataKey:"dateFormatted",tick:{fontSize:12},tickLine:!1,axisLine:{className:"stroke-muted"}}),e.jsx(V,{yAxisId:"left",orientation:"left",tick:r=>e.jsx(n,{...r,isRight:!1}),tickLine:!1,axisLine:{className:"stroke-muted"}}),e.jsx(V,{yAxisId:"right",orientation:"right",tick:r=>e.jsx(n,{...r,isRight:!0}),tickLine:!1,axisLine:{className:"stroke-muted"}}),e.jsx(oe,{content:({active:r,payload:x,label:u})=>{if(!r||!x||!x.length)return null;const f=x[0].payload;return e.jsxs("div",{className:"rounded-lg border bg-background p-3 shadow-lg",children:[e.jsx("p",{className:"font-medium mb-2",children:u}),x.map((h,S)=>e.jsxs("p",{className:i("text-sm",o&&y),style:{color:h.color},children:[h.name,":"," ",h.name==="Tokens"?X(Number(h.value)||0):`$${h.value}`]},S)),"requests"in f&&e.jsxs("p",{className:i("text-sm text-muted-foreground mt-1",o&&y),children:["Requests: ",f.requests]})]})}}),e.jsx(Z,{yAxisId:"left",type:"monotone",dataKey:"tokens",stroke:"#0080FF",strokeWidth:2,fillOpacity:1,fill:"url(#tokenGradient)",name:"Tokens"}),e.jsx(Z,{yAxisId:"right",type:"monotone",dataKey:"costRounded",stroke:"#00C49F",strokeWidth:2,fillOpacity:1,fill:"url(#costGradient)",name:"Cost"})]})})})}function ze(s,t){if(t==="hourly"){const[d,o]=s.split(" ");if(d&&o){const c=new Date(`${d}T${o}:00Z`);return k(c,"HH:mm")}return s}const a=new Date(s);return t==="monthly"?k(a,"MMM yyyy"):k(a,"MMM dd")}function X(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString()}function Ye({data:s,isLoading:t,className:a}){const{privacyMode:d}=R(),o=p.useMemo(()=>!s||s.length===0?[]:s.map(r=>({name:r.model,value:r.tokens,cost:r.cost,percentage:r.percentage,fill:te(r.model)})),[s]);if(t)return e.jsx(m,{className:i("h-[300px] w-full",a)});if(!s||s.length===0)return e.jsx("div",{className:i("h-[300px] flex items-center justify-center",a),children:e.jsx("p",{className:"text-muted-foreground",children:"No model data available"})});const c=({active:r,payload:x})=>{if(!r||!x)return null;const u=x;if(!u.length)return null;const f=u[0].payload;return e.jsxs("div",{className:"rounded-lg border bg-background p-2 shadow-lg text-xs",children:[e.jsx("p",{className:"font-medium mb-1",children:f.name}),e.jsxs("p",{className:i("text-muted-foreground",d&&y),children:[Qe(f.value)," (",f.percentage.toFixed(1),"%)"]}),e.jsxs("p",{className:i("text-muted-foreground",d&&y),children:["$",f.cost.toFixed(4)]})]})},n=r=>r.percentage>5?`${r.percentage.toFixed(1)}%`:"";return e.jsx("div",{className:i("w-full",a),children:e.jsx(ie,{width:"100%",height:250,children:e.jsxs(Oe,{children:[e.jsx(Ke,{data:o,cx:"50%",cy:"50%",labelLine:!1,label:n,innerRadius:50,outerRadius:70,paddingAngle:2,dataKey:"value",children:o.map((r,x)=>e.jsx(Ee,{fill:r.fill,strokeWidth:1},`cell-${x}`))}),e.jsx(oe,{content:c})]})})})}function Qe(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString()}function Ve({model:s}){const{privacyMode:t}=R(),a=Ze(s.ioRatio);return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Se,{className:"h-4 w-4 text-primary shrink-0"}),e.jsx("h4",{className:"font-semibold leading-none truncate",title:s.model,children:s.model})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(B,{variant:"secondary",className:"text-[10px] h-5 px-1.5",children:[s.percentage.toFixed(1),"% usage"]}),e.jsxs(B,{variant:a.variant,className:"text-[10px] h-5 px-1.5",children:[s.ioRatio.toFixed(0),":1 I/O"]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:"p-2 rounded-md bg-muted/50 border text-center",children:[e.jsxs("p",{className:i("text-lg font-bold",t&&y),children:["$",s.cost.toFixed(2)]}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wider",children:"Total Cost"})]}),e.jsxs("div",{className:"p-2 rounded-md bg-muted/50 border text-center",children:[e.jsx("p",{className:i("text-lg font-bold",t&&y),children:Je(s.tokens)}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wider",children:"Total Tokens"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h5",{className:"text-[11px] font-medium text-muted-foreground uppercase tracking-wider",children:"Token Breakdown"}),e.jsxs("div",{className:i("space-y-1",t&&y),children:[e.jsx(I,{label:"Input",tokens:s.inputTokens,cost:s.costBreakdown.input.cost,color:"#335c67",icon:re}),e.jsx(I,{label:"Output",tokens:s.outputTokens,cost:s.costBreakdown.output.cost,color:"#fff3b0",icon:ne}),e.jsx(I,{label:"Cache Write",tokens:s.cacheCreationTokens,cost:s.costBreakdown.cacheCreation.cost,color:"#e09f3e",icon:W}),e.jsx(I,{label:"Cache Read",tokens:s.cacheReadTokens,cost:s.costBreakdown.cacheRead.cost,color:"#9e2a2b",icon:W})]})]}),e.jsxs("div",{className:"p-2.5 rounded-md border bg-muted/20 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(De,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("span",{className:"text-xs font-medium",children:"Input/Output Ratio"})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground leading-snug",children:a.description})]})]})}function I({label:s,tokens:t,cost:a,color:d,icon:o}){return t===0?null:e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("div",{className:"w-1 h-6 rounded-full shrink-0",style:{backgroundColor:d}}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"font-medium truncate",children:s}),e.jsxs("span",{className:"font-mono text-muted-foreground",children:["$",a.toFixed(3)]})]}),e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(o,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{children:Xe(t)})]})]})]})}function Ze(s){return s>=200?{variant:"destructive",description:"Extended thinking or large context loading. Expected for reasoning models."}:s>=50?{variant:"secondary",description:"More input than output. Typical for analysis tasks."}:s>=5?{variant:"outline",description:"Balanced input/output ratio for typical coding tasks."}:{variant:"default",description:"More output than input. Generation-heavy workload."}}function Xe(s){return s.toLocaleString()}function Je(s){return s>=1e9?`${(s/1e9).toFixed(1)}B`:s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toString()}function es({data:s,isLoading:t,className:a}){const{privacyMode:d}=R(),o=p.useMemo(()=>{if(!s?.sessions||s.sessions.length===0)return null;const c=s.sessions,n=s.total,r=c.reduce((v,b)=>v+(b.inputTokens+b.outputTokens),0),x=Math.round(r/c.length),f=c.reduce((v,b)=>v+b.cost,0)/c.length,h=c[0],S=h?H(new Date(h.lastActivity),{addSuffix:!0}):"N/A";return{totalSessions:n,avgTokens:x,avgCost:f,lastActive:S,recentSessions:c.slice(0,3)}},[s]);return t?e.jsxs(g,{className:i("flex flex-col h-full",a),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsx(m,{className:"h-5 w-32"})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1",children:e.jsx(m,{className:"h-full w-full"})})]}):o?e.jsxs(g,{className:i("flex flex-col h-full shadow-sm",a),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(Q,{className:"w-4 h-4"}),"Session Stats"]})}),e.jsxs(j,{className:"px-3 pb-3 pt-0 flex-1 flex flex-col gap-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:"p-2 rounded-md bg-muted/50 border text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-blue-600 dark:text-blue-400",children:[e.jsx(Le,{className:"w-4 h-4"}),e.jsx("span",{className:"text-xl font-bold",children:o.totalSessions})]}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wider mt-0.5",children:"Total Sessions"})]}),e.jsxs("div",{className:"p-2 rounded-md bg-muted/50 border text-center",children:[e.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-green-600 dark:text-green-400",children:[e.jsx(le,{className:"w-4 h-4"}),e.jsxs("span",{className:i("text-xl font-bold",d&&y),children:["$",o.avgCost.toFixed(2)]})]}),e.jsx("p",{className:"text-[10px] text-muted-foreground uppercase tracking-wider mt-0.5",children:"Avg Cost/Session"})]})]}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground font-medium mb-1",children:[e.jsx(Fe,{className:"w-3 h-3"}),"Recent Activity"]}),e.jsx("div",{className:"space-y-1.5",children:o.recentSessions.map(c=>e.jsxs("div",{className:"flex items-center justify-between text-xs p-1.5 rounded bg-muted/30 hover:bg-muted/50 transition-colors",children:[e.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[e.jsx("span",{className:"font-medium truncate",title:c.projectPath,children:c.projectPath.split("/").pop()}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:H(new Date(c.lastActivity),{addSuffix:!0})})]}),e.jsxs("div",{className:i("text-right shrink-0 ml-2",d&&y),children:[e.jsxs("div",{className:"font-mono",children:["$",c.cost.toFixed(2)]}),e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[ss(c.inputTokens+c.outputTokens)," toks"]})]})]},c.sessionId))})]})]})]}):e.jsxs(g,{className:i("flex flex-col h-full",a),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(Q,{className:"w-4 h-4"}),"Session Stats"]})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1 flex items-center justify-center",children:e.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No session data available"})})]})}function ss(s){return s>=1e9?`${(s/1e9).toFixed(1)}B`:s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toString()}function ts({className:s,isLoading:t}){const{data:a,isLoading:d}=ye(),{data:o,isLoading:c,error:n}=be(a?.running);if(t||d||a?.running&&c)return e.jsxs(g,{className:i("flex flex-col h-full",s),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(q,{className:"h-4 w-4"}),"CLIProxy Stats"]})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx(m,{className:"h-4 w-[100px]"}),e.jsx(m,{className:"h-16 w-full"})]})})]});if(!a?.running)return e.jsxs(g,{className:i("flex flex-col h-full border-dashed",s),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(q,{className:"h-4 w-4 text-muted-foreground"}),"CLIProxy Stats"]}),e.jsx(B,{variant:"secondary",className:"text-[10px] h-5",children:"Offline"})]})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1 flex items-center justify-center",children:e.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Start a CLIProxy session (gemini, codex, agy) to collect stats."})})]});if(n)return e.jsxs(g,{className:i("flex flex-col h-full border-destructive/50",s),children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(q,{className:"h-4 w-4"}),"CLIProxy Stats"]}),e.jsx(B,{variant:"destructive",className:"text-[10px] h-5",children:"Error"})]})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1",children:e.jsx("p",{className:"text-xs text-destructive",children:n.message})})]});const x=o?.totalRequests??0,u=o?.quotaExceededCount??0,f=x-u,h=x>0?Math.round(f/x*100):100,S=o?.tokens?.total??0,v=Object.entries(o?.requestsByModel??{}).sort((D,L)=>L[1]-D[1]).slice(0,4),b=v.length>0?v[0][1]:1;return e.jsxs(g,{className:i("flex flex-col h-full overflow-hidden",s),children:[e.jsx(N,{className:"px-3 py-2 border-b bg-muted/5",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(q,{className:"h-4 w-4"}),"CLIProxy Stats"]}),e.jsxs(B,{variant:"outline",className:"text-[10px] h-5 text-green-600 border-green-200 bg-green-50 dark:bg-green-900/10 dark:border-green-800",children:[e.jsx(le,{className:"h-3 w-3 mr-0.5"}),"Running"]})]})}),e.jsx(j,{className:"p-0 flex-1 min-h-0",children:e.jsx(we,{className:"h-full",children:e.jsxs("div",{className:"p-3 space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-muted/30",children:[e.jsxs("div",{className:"relative",children:[e.jsxs("svg",{className:"w-10 h-10 -rotate-90",viewBox:"0 0 36 36",children:[e.jsx("circle",{cx:"18",cy:"18",r:"14",fill:"none",stroke:"currentColor",strokeWidth:"3",className:"text-muted/30"}),e.jsx("circle",{cx:"18",cy:"18",r:"14",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeDasharray:`${h*.88} 88`,strokeLinecap:"round",className:h>=90?"text-green-500":"text-amber-500"})]}),e.jsxs("span",{className:"absolute inset-0 flex items-center justify-center text-[8px] font-bold",children:[h,"%"]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-lg font-bold leading-none",children:J(x)}),e.jsx("div",{className:"text-[9px] text-muted-foreground mt-0.5",children:u>0?`${u} failed`:"All success"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-muted/30",children:[e.jsx("div",{className:"p-1.5 rounded-md bg-purple-100 dark:bg-purple-900/20",children:e.jsx(Te,{className:"h-4 w-4 text-purple-600"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-lg font-bold leading-none",children:J(S)}),e.jsx("div",{className:"text-[9px] text-muted-foreground mt-0.5",children:"Total tokens"})]})]})]}),v.length>0&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-medium text-muted-foreground",children:[e.jsx(Me,{className:"h-3 w-3"}),"Models Used"]}),e.jsx("div",{className:"space-y-1",children:v.map(([D,L])=>{const K=Math.round(L/b*100),E=as(D);return e.jsxs("div",{className:"group",children:[e.jsxs("div",{className:"flex items-center justify-between text-[10px] mb-0.5",children:[e.jsx("span",{className:"truncate font-medium",title:D,children:E}),e.jsx("span",{className:"text-muted-foreground shrink-0 ml-2",children:L})]}),e.jsx("div",{className:"h-1 bg-muted/50 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-accent/70 rounded-full transition-all",style:{width:`${K}%`}})})]},D)})})]})]})})})]})}function J(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString()}function as(s){let t=s.replace(/^gemini-claude-/,"").replace(/^gemini-/,"").replace(/^claude-/,"").replace(/^anthropic\./,"").replace(/-thinking$/," Thinking");return t=t.split(/[-_]/).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "),t.length>20&&(t=t.slice(0,18)+"..."),t}const rs="/api";function w(s){const t=s.getFullYear(),a=String(s.getMonth()+1).padStart(2,"0"),d=String(s.getDate()).padStart(2,"0");return`${t}${a}${d}`}const T={summary:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),s?.profile&&t.append("profile",s.profile),$(`/usage/summary?${t}`)},trends:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),s?.profile&&t.append("profile",s.profile),$(`/usage/daily?${t}`)},hourly:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),$(`/usage/hourly?${t}`)},models:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),s?.profile&&t.append("profile",s.profile),$(`/usage/models?${t}`)},sessions:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),s?.profile&&t.append("profile",s.profile),s?.limit&&t.append("limit",s.limit.toString()),s?.offset&&t.append("offset",s.offset.toString()),$(`/usage/sessions?${t}`)},monthly:(s,t)=>{const a=new URLSearchParams;return s&&a.append("months",s.toString()),t&&a.append("profile",t),$(`/usage/monthly?${a}`)},refresh:async()=>{if(!(await fetch(`${rs}/usage/refresh`,{method:"POST",headers:{"Content-Type":"application/json"}})).ok)throw new Error("Failed to refresh usage cache")},status:()=>$("/usage/status"),insights:s=>{const t=new URLSearchParams;return s?.startDate&&t.append("since",w(s.startDate)),s?.endDate&&t.append("until",w(s.endDate)),s?.profile&&t.append("profile",s.profile),$(`/usage/insights?${t}`)}};async function $(s){const a=await fetch(`/api${s}`,{headers:{"Content-Type":"application/json"}});if(!a.ok){const o=await a.json().catch(()=>({error:"Unknown error"}));throw new Error(o.error||a.statusText)}const d=await a.json();return d.data||d}function ns(s){return P({queryKey:["usage","summary",s],queryFn:()=>T.summary(s),staleTime:60*1e3})}function ls(s){return P({queryKey:["usage","trends",s],queryFn:()=>T.trends(s),staleTime:60*1e3})}function is(s){return P({queryKey:["usage","hourly",s],queryFn:()=>T.hourly(s),staleTime:60*1e3})}function os(s){return P({queryKey:["usage","models",s],queryFn:()=>T.models(s),staleTime:60*1e3})}function cs(){const s=Ge();return p.useCallback(async()=>{await T.refresh(),await s.invalidateQueries({queryKey:["usage"]})},[s])}function ds(){return P({queryKey:["usage","status"],queryFn:()=>T.status(),staleTime:10*1e3,refetchInterval:30*1e3})}function xs(s){return P({queryKey:["usage","sessions",s],queryFn:()=>T.sessions(s),staleTime:60*1e3})}function us(s){return s>=1e9?`${(s/1e9).toFixed(1)}B`:s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(0)}K`:s.toString()}function ks(){const{privacyMode:s}=R(),[t,a]=p.useState({from:F(new Date,30),to:new Date}),[d,o]=p.useState(!1),[c,n]=p.useState(null),[r,x]=p.useState(null),[u,f]=p.useState("daily"),h=p.useRef(null),S=cs(),v=async()=>{o(!0);try{await S()}finally{o(!1)}},b={startDate:t?.from,endDate:t?.to},{data:D,isLoading:L}=ns(b),{data:K,isLoading:E}=ls(b),{data:ce,isLoading:de}=is(b),{data:_,isLoading:z}=os(b),{data:xe,isLoading:ue}=xs({...b,limit:3}),{data:G}=ds(),me=p.useCallback(()=>{const l=new Date;a({from:F(l,1),to:l}),f("hourly")},[]),fe=p.useCallback(l=>{a(l),f("daily")},[]),Y=p.useMemo(()=>G?.lastFetch?H(new Date(G.lastFetch),{addSuffix:!0}):null,[G?.lastFetch]),he=p.useCallback((l,A)=>{const U=A.currentTarget.getBoundingClientRect();x({x:U.left+U.width/2,y:U.top+U.height/2}),n(l)},[]),pe=p.useCallback(()=>{n(null),x(null)},[]);return e.jsxs("div",{className:"flex flex-col h-full overflow-hidden px-4 pt-4 pb-50 gap-4",children:[e.jsxs("div",{className:"flex items-center justify-between shrink-0",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold",children:"Analytics"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Track usage & insights"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{variant:u==="hourly"?"default":"outline",size:"sm",className:"h-8",onClick:me,children:"24H"}),e.jsx(He,{value:t,onChange:fe,presets:[{label:"7D",range:{from:F(new Date,7),to:new Date}},{label:"30D",range:{from:F(new Date,30),to:new Date}},{label:"Month",range:{from:ke(new Date),to:new Date}},{label:"All Time",range:{from:void 0,to:new Date}}]}),Y&&e.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:["Updated ",Y]}),e.jsx(O,{variant:"outline",size:"sm",className:"gap-2 h-8",onClick:v,disabled:d,children:e.jsx(Re,{className:`w-3.5 h-3.5 ${d?"animate-spin":""}`})})]})]}),e.jsx(We,{data:D,isLoading:L}),e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 gap-4",children:[e.jsxs(g,{className:"flex flex-col flex-1 min-h-0 max-h-[500px] overflow-hidden shadow-sm",children:[e.jsx(N,{className:"px-3 py-2 shrink-0",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(Pe,{className:"w-4 h-4"}),u==="hourly"?"Last 24 Hours":"Usage Trends"]})}),e.jsx(j,{className:"px-3 pb-3 pt-0 flex-1 min-h-0",children:e.jsx(_e,{data:u==="hourly"?ce||[]:K||[],isLoading:u==="hourly"?de:E,granularity:u==="hourly"?"hourly":"daily"})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-10 gap-4 h-auto lg:h-[180px] shrink-0",children:[e.jsxs(g,{className:"flex flex-col h-full min-h-0 shadow-sm lg:col-span-4",children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(ae,{className:"w-4 h-4"}),"Cost by Model"]})}),e.jsx(j,{className:"px-2 pb-2 pt-0 flex-1 min-h-0 overflow-y-auto",children:z?e.jsx(m,{className:"h-full w-full"}):e.jsxs("div",{className:"space-y-0.5",children:[[..._||[]].sort((l,A)=>A.cost-l.cost).map(l=>e.jsxs("button",{className:"group flex items-center text-xs w-full hover:bg-muted/50 rounded px-2 py-1.5 transition-colors cursor-pointer gap-3",onClick:A=>he(l,A),title:"Click for details",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 w-[180px] shrink-0",children:[e.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:te(l.model)}}),e.jsx("span",{className:"font-medium truncate group-hover:underline underline-offset-2",children:l.model})]}),e.jsx("div",{className:"flex-1 flex items-center gap-1 min-w-0",children:e.jsxs("div",{className:"flex-1 h-2 bg-muted rounded-full overflow-hidden flex",children:[e.jsx("div",{className:"h-full",style:{backgroundColor:"#335c67",width:`${l.cost>0?l.costBreakdown.input.cost/l.cost*100:0}%`},title:`Input: $${l.costBreakdown.input.cost.toFixed(2)}`}),e.jsx("div",{className:"h-full",style:{backgroundColor:"#fff3b0",width:`${l.cost>0?l.costBreakdown.output.cost/l.cost*100:0}%`},title:`Output: $${l.costBreakdown.output.cost.toFixed(2)}`}),e.jsx("div",{className:"h-full",style:{backgroundColor:"#e09f3e",width:`${l.cost>0?l.costBreakdown.cacheCreation.cost/l.cost*100:0}%`},title:`Cache Write: $${l.costBreakdown.cacheCreation.cost.toFixed(2)}`}),e.jsx("div",{className:"h-full",style:{backgroundColor:"#9e2a2b",width:`${l.cost>0?l.costBreakdown.cacheRead.cost/l.cost*100:0}%`},title:`Cache Read: $${l.costBreakdown.cacheRead.cost.toFixed(2)}`})]})}),e.jsx("span",{className:i("text-[10px] text-muted-foreground w-14 text-right shrink-0",s&&y),children:us(l.tokens)}),e.jsxs("span",{className:i("font-mono font-medium w-16 text-right shrink-0",s&&y),children:["$",l.cost.toFixed(2)]}),e.jsx(Ae,{className:"w-3 h-3 opacity-0 group-hover:opacity-50 transition-opacity shrink-0"})]},l.model)),e.jsxs("div",{className:"flex items-center gap-3 pt-2 px-2 text-[10px] text-muted-foreground border-t mt-2",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:"#335c67"}}),"Input"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full border border-muted-foreground/30",style:{backgroundColor:"#fff3b0"}}),"Output"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:"#e09f3e"}}),"Cache Write"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:"#9e2a2b"}}),"Cache Read"]})]})]})})]}),e.jsxs(g,{className:"flex flex-col h-full min-h-0 shadow-sm lg:col-span-2",children:[e.jsx(N,{className:"px-3 py-2",children:e.jsxs(C,{className:"text-base font-semibold flex items-center gap-2",children:[e.jsx(Be,{className:"w-4 h-4"}),"Model Usage"]})}),e.jsx(j,{className:"px-2 pb-2 pt-0 flex-1 min-h-0 flex items-center justify-center",children:e.jsx(Ye,{data:_||[],isLoading:z,className:"h-full w-full"})})]}),e.jsx(es,{data:xe,isLoading:ue,className:"lg:col-span-2"}),e.jsx(ts,{isLoading:L,className:"lg:col-span-2"})]}),e.jsxs(ee,{open:!!c,onOpenChange:l=>!l&&pe(),children:[e.jsx(ve,{asChild:!0,children:e.jsx("div",{ref:h,className:"fixed pointer-events-none",style:{left:r?.x??0,top:r?.y??0,width:1,height:1}})}),e.jsx(se,{className:"w-80 p-3",side:"top",align:"center",children:c&&e.jsx(Ve,{model:c})})]})]})]})}function Cs(){return e.jsxs("div",{className:"space-y-4 h-full overflow-hidden",children:[e.jsxs(g,{className:"flex flex-col min-h-[300px]",children:[e.jsx(N,{className:"p-4 pb-2",children:e.jsx(m,{className:"h-4 w-32"})}),e.jsx(j,{className:"p-4 pt-0 flex-1",children:e.jsx(m,{className:"h-full w-full"})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsxs(g,{className:"flex flex-col min-h-[250px]",children:[e.jsx(N,{className:"p-4 pb-2",children:e.jsx(m,{className:"h-4 w-28"})}),e.jsx(j,{className:"p-4 pt-2",children:e.jsx("div",{className:"space-y-3",children:[1,2,3,4,5].map(s=>e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-2.5 h-2.5 rounded-full"}),e.jsx(m,{className:"h-3 w-24"})]}),e.jsx(m,{className:"h-3 w-16"})]},s))})})]}),e.jsxs(g,{className:"flex flex-col min-h-[250px]",children:[e.jsx(N,{className:"p-4 pb-2",children:e.jsx(m,{className:"h-4 w-28"})}),e.jsx(j,{className:"p-4 pt-0 flex-1",children:e.jsxs("div",{className:"flex w-full h-full items-center",children:[e.jsx("div",{className:"flex-1 flex justify-center",children:e.jsx(m,{className:"h-[180px] w-[180px] rounded-full"})}),e.jsx("div",{className:"w-[140px] shrink-0 pl-2 space-y-2",children:[1,2,3,4].map(s=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-2 h-2 rounded-full"}),e.jsx(m,{className:"h-3 w-20"})]},s))})]})})]})]})]})}export{ks as AnalyticsPage,Cs as AnalyticsSkeleton};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-DFHQr9A5.js";import{r}from"./react-vendor-FspHSO0w.js";import{k as S,l as A,B as i,I,i as D,m as L,n as M,o as z,c as E,p as R,q as B,e as j}from"./index-ByU8ZhED.js";import{a6 as O,V as N,ab as F,ac as y,J as T,ad as U,l as C,N as Q,z as q,D as H}from"./icons-BOsxPbiD.js";import"./tanstack-C4gT2P7V.js";import"./notifications-B2Pz7lik.js";import"./utils-CzKF5WmX.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";function se(){const{data:a,isLoading:d,isError:x,refetch:u}=S(),h=A(),[l,p]=r.useState(null),[c,b]=r.useState(""),[w,n]=r.useState(!1),[o,m]=r.useState(null),t=r.useMemo(()=>a?.profiles||[],[a?.profiles]),g=r.useMemo(()=>t.filter(s=>s.name.toLowerCase().includes(c.toLowerCase())),[t,c]),v=r.useMemo(()=>l&&t.some(s=>s.name===l)?l:t.length>0?t[0].name:null,[l,t]),P=s=>{h.mutate(s,{onSuccess:()=>{l===s&&p(null),m(null)}})},k=s=>{n(!1),p(s)},f=t.find(s=>s.name===v);return e.jsxs("div",{className:"h-[calc(100vh-100px)] flex",children:[e.jsxs("div",{className:"w-80 border-r flex flex-col bg-muted/30",children:[e.jsxs("div",{className:"p-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:"API Profiles"})]}),e.jsxs(i,{size:"sm",onClick:()=>{n(!0)},children:[e.jsx(N,{className:"w-4 h-4 mr-1"}),"New"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(F,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(I,{placeholder:"Search profiles...",className:"pl-8 h-9",value:c,onChange:s=>b(s.target.value)})]})]}),e.jsx(D,{className:"flex-1",children:d?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading profiles..."}):x?e.jsx("div",{className:"p-4 text-center",children:e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(y,{className:"w-12 h-12 mx-auto text-destructive/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"Failed to load profiles"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Unable to fetch API profiles. Please try again."})]}),e.jsxs(i,{size:"sm",variant:"outline",onClick:()=>u(),children:[e.jsx(T,{className:"w-4 h-4 mr-1"}),"Retry"]})]})}):g.length===0?e.jsx("div",{className:"p-4 text-center",children:t.length===0?e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(U,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"No API profiles yet"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Create your first profile to connect to custom API endpoints"})]}),e.jsxs(i,{size:"sm",variant:"outline",onClick:()=>{n(!0)},children:[e.jsx(N,{className:"w-4 h-4 mr-1"}),"Create Profile"]})]}):e.jsxs("p",{className:"text-sm text-muted-foreground py-4",children:['No profiles match "',c,'"']})}):e.jsx("div",{className:"p-2 space-y-1",children:g.map(s=>e.jsx(J,{profile:s,isSelected:v===s.name,onSelect:()=>{p(s.name)},onDelete:()=>m(s.name)},s.name))})}),t.length>0&&e.jsx("div",{className:"p-3 border-t bg-background text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{children:[t.length," profile",t.length!==1?"s":""]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(C,{className:"w-3 h-3 text-green-600"}),t.filter(s=>s.configured).length," configured"]})]})})]}),e.jsx("div",{className:"flex-1 flex flex-col min-w-0",children:f?e.jsx(L,{profileName:f.name,onDelete:()=>m(f.name)}):e.jsx(V,{onCreateClick:()=>{n(!0)}})}),e.jsx(M,{open:w,onOpenChange:n,onSuccess:k}),e.jsx(z,{open:!!o,title:"Delete Profile",description:`Are you sure you want to delete "${o}"? This will remove the settings file and cannot be undone.`,confirmText:"Delete",variant:"destructive",onConfirm:()=>o&&P(o),onCancel:()=>m(null)})]})}function J({profile:a,isSelected:d,onSelect:x,onDelete:u}){return e.jsxs("div",{className:E("group flex items-center gap-2 px-3 py-2.5 rounded-md cursor-pointer transition-colors",d?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:x,children:[a.configured?e.jsx(C,{className:"w-4 h-4 text-green-600 shrink-0"}):e.jsx(y,{className:"w-4 h-4 text-yellow-600 shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"font-medium text-sm truncate",children:a.name}),e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[e.jsx("div",{className:"text-xs text-muted-foreground truncate flex-1",children:a.settingsPath}),e.jsx(R,{value:a.settingsPath,size:"icon",className:"h-5 w-5 opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),e.jsx(i,{variant:"ghost",size:"icon",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",onClick:h=>{h.stopPropagation(),u()},children:e.jsx(Q,{className:"w-3.5 h-3.5 text-destructive"})})]})}function V({onCreateClick:a}){return e.jsx("div",{className:"flex-1 flex items-center justify-center bg-muted/20",children:e.jsxs("div",{className:"text-center max-w-md px-8",children:[e.jsx(q,{className:"w-16 h-16 mx-auto text-muted-foreground/30 mb-6"}),e.jsx("h2",{className:"text-xl font-semibold mb-2",children:"API Profile Manager"}),e.jsx("p",{className:"text-muted-foreground mb-6",children:"Configure custom API endpoints for Claude CLI. Connect to proxy services like copilot-api, OpenRouter, or your own API backend."}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs(i,{onClick:a,className:"w-full",children:[e.jsx(N,{className:"w-4 h-4 mr-2"}),"Create Your First Profile"]}),e.jsx(B,{className:"my-4"}),e.jsxs("div",{className:"text-left space-y-2",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"What you can configure:"}),e.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1.5",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(j,{variant:"outline",className:"text-xs shrink-0 mt-0.5",children:"URL"}),e.jsx("span",{children:"Custom API base URL endpoint"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(j,{variant:"outline",className:"text-xs shrink-0 mt-0.5",children:"Auth"}),e.jsx("span",{children:"API key or authentication token"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(j,{variant:"outline",className:"text-xs shrink-0 mt-0.5",children:"Models"}),e.jsx("span",{children:"Model mapping for Opus/Sonnet/Haiku"})]})]})]}),e.jsx("div",{className:"pt-4",children:e.jsxs("a",{href:"https://github.com/kaitranntt/ccs#api-profiles",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-xs text-primary hover:underline",children:["Learn more about API profiles",e.jsx(H,{className:"w-3 h-3 ml-1"})]})})]})]})})}export{se as ApiPage};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-DFHQr9A5.js";import{r as h}from"./react-vendor-FspHSO0w.js";import{u as we}from"./tanstack-C4gT2P7V.js";import{r as ee,s as ye,t as se,u as be,D as te,v as ae,w as ne,x as re,y as ie,B as m,c as w,d as W,L as U,I as ce,z as Ce,A as Se,E as Ae,F as ke,M,G as Pe,H as de,J as De,K as Fe,N as Ve,O as Re,e as Q,Q as Le,R as Me,T as Oe,U as $e,i as Ie,S as Te,V as K,W as le}from"./index-ByU8ZhED.js";import{C as Y,a as _}from"./card-CCDc-Mx9.js";import{t as O}from"./notifications-B2Pz7lik.js";import{Y as B,b as H,L as oe,D as z,t as Ue,j as V,o as ze,ae as T,J as A,$ as E,af as J,A as Ee,ag as Z,U as Qe,r as Be,ah as Ge,ai as qe,Z as me,aj as ue,X as xe,N as We}from"./icons-BOsxPbiD.js";import"./utils-CzKF5WmX.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";const X=[{id:"gemini",name:"Google Gemini",description:"Gemini Pro/Flash models"},{id:"codex",name:"OpenAI Codex",description:"GPT-4 and codex models"},{id:"agy",name:"Antigravity",description:"Antigravity AI models"},{id:"qwen",name:"Alibaba Qwen",description:"Qwen Code models"},{id:"iflow",name:"iFlow",description:"iFlow AI models"}];function Ke({open:n,onClose:d}){const[t,r]=h.useState("provider"),[i,o]=h.useState(""),[l,c]=h.useState(null),[p,v]=h.useState(""),[u,k]=h.useState(""),[$,y]=h.useState(!1),[N,C]=h.useState(!1),[f,S]=h.useState(!1),{data:P,refetch:g}=ee(),x=ye(),j=se(),{privacyMode:R}=be(),L=P?.authStatus.find(s=>s.provider===i),b=L?.accounts||[];h.useEffect(()=>{if(!n){const s=setTimeout(()=>{r("provider"),o(""),c(null),v(""),k(""),y(!1),S(!1)},0);return()=>clearTimeout(s)}},[n]),h.useEffect(()=>{if(t==="auth"&&b.length>0&&!f){const s=setTimeout(()=>{r("account")},0);return()=>clearTimeout(s)}},[t,b,f]);const a=async s=>{await navigator.clipboard.writeText(s),y(!0),setTimeout(()=>y(!1),2e3)},I=async()=>{C(!0),await g(),C(!1)},he=()=>{const s=(L?.accounts?.length||0)===0;j.mutate({provider:i},{onSuccess:async D=>{if(s){const F=await de(i);F.success&&F.presetName?O.success(`Applied "${F.presetName}" preset`):F.success||O.warning("Account added, but failed to apply default preset")}D.account&&(c(D.account),r("variant")),g()}})},pe=s=>{o(s),(P?.authStatus.find(Ne=>Ne.provider===s)?.accounts||[]).length===0?r("auth"):r("account")},fe=s=>{c(s),r("variant")},ge=async()=>{if(!(!p||!i))try{await x.mutateAsync({name:p,provider:i,model:u||void 0,account:l?.id}),r("success")}catch(s){console.error("Failed to create variant:",s)}},G=`ccs ${i} --auth --add`,q=["provider","auth","variant","success"],je=(s=>s==="account"?1:q.indexOf(s))(t),ve=s=>{if(!s&&(t==="success"||t==="provider")){d();return}};return e.jsx(te,{open:n,onOpenChange:ve,children:e.jsxs(ae,{className:"sm:max-w-lg",onPointerDownOutside:s=>{t!=="success"&&t!=="provider"&&s.preventDefault()},onEscapeKeyDown:s=>{(j.isPending||x.isPending)&&s.preventDefault()},children:[e.jsxs(ne,{children:[e.jsxs(re,{className:"flex items-center gap-2",children:[e.jsx(B,{className:"w-5 h-5 text-primary"}),"Quick Setup Wizard"]}),e.jsxs(ie,{children:[t==="provider"&&"Select a provider to get started",t==="auth"&&"Authenticate with your provider",t==="account"&&"Select which account to use",t==="variant"&&"Create your custom variant",t==="success"&&"Setup complete!"]})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[t==="provider"&&e.jsx("div",{className:"grid gap-2",children:X.map(s=>e.jsxs("button",{onClick:()=>pe(s.id),className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors text-left",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.description})]}),e.jsx(H,{className:"w-4 h-4 text-muted-foreground"})]},s.id))}),t==="auth"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-center space-y-3",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Authenticate with ",X.find(s=>s.id===i)?.name," to add an account"]}),e.jsx(m,{onClick:he,disabled:j.isPending,className:"w-full gap-2",size:"lg",children:j.isPending?e.jsxs(e.Fragment,{children:[e.jsx(oe,{className:"w-4 h-4 animate-spin"}),"Authenticating..."]}):e.jsxs(e.Fragment,{children:[e.jsx(z,{className:"w-4 h-4"}),"Authenticate in Browser"]})}),j.isPending&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Complete the OAuth flow in your browser..."})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"Or use terminal"})})]}),e.jsx(Y,{children:e.jsxs(_,{className:"p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(Ue,{className:"w-4 h-4"}),"Run this command in your terminal:"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 px-3 py-2 bg-muted rounded-md font-mono text-sm",children:G}),e.jsx(m,{variant:"outline",size:"icon",onClick:()=>a(G),children:$?e.jsx(V,{className:"w-4 h-4 text-green-500"}):e.jsx(ze,{className:"w-4 h-4"})})]})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(m,{variant:"ghost",onClick:()=>r("provider"),disabled:j.isPending,children:[e.jsx(T,{className:"w-4 h-4 mr-2"}),"Back"]}),e.jsxs(m,{variant:"outline",onClick:I,disabled:N||j.isPending,children:[e.jsx(A,{className:`w-4 h-4 mr-2 ${N?"animate-spin":""}`}),N?"Checking...":"Refresh Status"]})]})]}),t==="account"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:["Select an account (",b.length,")"]}),e.jsx("div",{className:"grid gap-2",children:b.map(s=>e.jsxs("button",{type:"button",onClick:()=>fe(s),className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors text-left",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-muted flex items-center justify-center",children:e.jsx(E,{className:"w-4 h-4 text-muted-foreground"})}),e.jsxs("div",{children:[e.jsx("div",{className:w("font-medium",R&&W),children:s.email||s.id}),s.isDefault&&e.jsx("div",{className:"text-xs text-muted-foreground",children:"Default account"})]})]}),e.jsx(H,{className:"w-4 h-4 text-muted-foreground"})]},s.id))}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"Or"})})]}),e.jsxs("button",{type:"button",className:"w-full flex items-center gap-3 p-3 border-2 border-dashed border-primary/50 rounded-lg hover:border-primary hover:bg-primary/5 transition-colors text-left",onClick:()=>{S(!0),r("auth")},children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:e.jsx(z,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-primary",children:"Add new account"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"Authenticate with a different account"})]})]}),e.jsx("div",{className:"flex items-center justify-between pt-2",children:e.jsxs(m,{variant:"ghost",onClick:()=>r("provider"),children:[e.jsx(T,{className:"w-4 h-4 mr-2"}),"Back"]})})]}),t==="variant"&&e.jsxs("div",{className:"space-y-4",children:[l&&e.jsxs("div",{className:"flex items-center gap-2 p-2 bg-muted/50 rounded-md text-sm",children:[e.jsx(E,{className:"w-4 h-4"}),e.jsxs("span",{children:["Using:"," ",e.jsx("span",{className:w(R&&W),children:l.email||l.id})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"variant-name",children:"Variant Name *"}),e.jsx(ce,{id:"variant-name",value:p,onChange:s=>v(s.target.value),placeholder:"e.g., my-gemini, g3, flash"}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Use this name to invoke: ccs ",p||"<name>",' "prompt"']})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{children:"Model"}),e.jsxs(Ce,{value:u,onValueChange:k,children:[e.jsx(Se,{children:e.jsx(Ae,{placeholder:"Select a model"})}),e.jsx(ke,{children:M[i]?.models.map(s=>e.jsx(Pe,{value:s.id,children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:s.name}),s.description&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:["- ",s.description]})]})},s.id))})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Default: ",M[i]?.defaultModel||"provider default"]})]}),e.jsxs("div",{className:"flex items-center justify-between pt-2",children:[e.jsxs(m,{variant:"ghost",onClick:()=>b.length>0?r("account"):r("provider"),children:[e.jsx(T,{className:"w-4 h-4 mr-2"}),"Back"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{variant:"ghost",onClick:d,children:"Skip"}),e.jsx(m,{onClick:ge,disabled:!p||x.isPending,children:x.isPending?"Creating...":"Create Variant"})]})]}),e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:"Skip if you just wanted to add an account without creating a variant"})]}),t==="success"&&e.jsxs("div",{className:"space-y-4 text-center",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-16 h-16 bg-green-100 dark:bg-green-900/30 rounded-full flex items-center justify-center",children:e.jsx(V,{className:"w-8 h-8 text-green-600 dark:text-green-400"})})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-lg",children:"Variant Created!"}),e.jsx("div",{className:"text-sm text-muted-foreground",children:"Your custom variant is ready to use"})]}),e.jsx(Y,{children:e.jsxs(_,{className:"p-4 space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"Usage:"}),e.jsxs("code",{className:"block px-3 py-2 bg-muted rounded-md font-mono text-sm",children:["ccs ",p,' "your prompt here"']})]})}),e.jsx(m,{onClick:d,className:"w-full",children:"Done"})]})]}),e.jsx("div",{className:"flex justify-center gap-1 pt-2",children:q.map((s,D)=>e.jsx("div",{className:`w-2 h-2 rounded-full transition-colors ${je>=D?"bg-primary":"bg-muted"}`},s))})]})})}function Ye({open:n,onClose:d,provider:t,displayName:r,isFirstAccount:i=!1}){const[o,l]=h.useState(""),c=se(),p=()=>{c.mutate({provider:t,nickname:o.trim()||void 0},{onSuccess:async()=>{if(i){const u=await de(t);u.success&&u.presetName?O.success(`Applied "${u.presetName}" preset`):u.success||O.warning("Account added, but failed to apply default preset")}l(""),d()}})},v=u=>{!u&&!c.isPending&&(l(""),d())};return e.jsx(te,{open:n,onOpenChange:v,children:e.jsxs(ae,{className:"sm:max-w-md",children:[e.jsxs(ne,{children:[e.jsxs(re,{children:["Add ",r," Account"]}),e.jsx(ie,{children:"Click the button below to authenticate a new account. A browser window will open for OAuth."})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(U,{htmlFor:"nickname",children:"Nickname (optional)"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E,{className:"w-4 h-4 text-muted-foreground"}),e.jsx(ce,{id:"nickname",value:o,onChange:u=>l(u.target.value),placeholder:"e.g., work, personal",disabled:c.isPending,className:"flex-1"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"A friendly name to identify this account. Auto-generated from email if left empty."})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 pt-2",children:[e.jsx(m,{variant:"ghost",onClick:d,disabled:c.isPending,children:"Cancel"}),e.jsx(m,{onClick:p,disabled:c.isPending,children:c.isPending?e.jsxs(e.Fragment,{children:[e.jsx(oe,{className:"w-4 h-4 mr-2 animate-spin"}),"Authenticating..."]}):e.jsxs(e.Fragment,{children:[e.jsx(z,{className:"w-4 h-4 mr-2"}),"Authenticate"]})})]}),c.isPending&&e.jsx("p",{className:"text-sm text-center text-muted-foreground",children:"Complete the OAuth flow in your browser..."})]})]})})}function _e(n){if(!n)return"";const d=new Date(n).getTime(),r=Date.now()-d,i=Math.floor(r/(1e3*60*60)),o=Math.floor(r%(1e3*60*60)/(1e3*60));return i>0?`${i}h ${o}m`:`${o}m`}function He(n){if(!n)return"";const d=Date.now()-n,t=Math.floor(d/(1e3*60)),r=Math.floor(d/(1e3*60*60));return t<1?"just now":t<60?`${t}m ago`:`${r}h ago`}function Je(){const{data:n,isLoading:d}=De(),{data:t}=Fe(),r=Ve(),i=Re(),o=n?.running??!1,l=r.isPending||i.isPending,c=t?.hasUpdate??!1,p=async()=>{await i.mutateAsync(),await new Promise(v=>setTimeout(v,500)),r.mutate()};return e.jsxs("div",{className:w("rounded-lg border p-3 transition-colors",o?"border-green-500/30 bg-green-500/5":"border-muted bg-muted/30"),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:w("w-2 h-2 rounded-full",o?"bg-green-500 animate-pulse":"bg-muted-foreground/30")}),e.jsx("span",{className:"text-sm font-medium",children:"CLIProxy Service"}),c&&e.jsxs(Q,{variant:"secondary",className:"text-[10px] h-4 px-1.5 gap-0.5 bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",title:`Update: v${t?.currentVersion} -> v${t?.latestVersion}`,children:[e.jsx(J,{className:"w-2.5 h-2.5"}),"Update"]})]}),e.jsx("div",{className:"flex items-center gap-1",children:d?e.jsx(A,{className:"w-3 h-3 animate-spin text-muted-foreground"}):o?e.jsx(Ee,{className:"w-3 h-3 text-green-600"}):e.jsx(Z,{className:"w-3 h-3 text-muted-foreground"})})]}),o&&n?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mt-2 flex items-center gap-4 text-xs text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:["Port ",n.port]}),n.sessionCount!==void 0&&n.sessionCount>0&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Qe,{className:"w-3 h-3"}),n.sessionCount," session",n.sessionCount!==1?"s":""]}),n.startedAt&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Be,{className:"w-3 h-3"}),_e(n.startedAt)]})]}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsxs(m,{variant:c?"default":"outline",size:"sm",className:w("h-7 text-xs gap-1 flex-1",c&&"bg-sidebar-accent hover:bg-sidebar-accent/90 text-sidebar-accent-foreground"),onClick:p,disabled:l,title:c?`Restart to update: v${t?.currentVersion} -> v${t?.latestVersion}`:"Restart CLIProxy service",children:[l?e.jsx(A,{className:"w-3 h-3 animate-spin"}):c?e.jsx(J,{className:"w-3 h-3"}):e.jsx(Ge,{className:"w-3 h-3"}),c?"Update":"Restart"]}),e.jsxs(m,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 hover:bg-destructive/10 hover:text-destructive hover:border-destructive/30",onClick:()=>i.mutate(),disabled:l,title:"Stop CLIProxy service",children:[i.isPending?e.jsx(A,{className:"w-3 h-3 animate-spin"}):e.jsx(qe,{className:"w-3 h-3"}),"Stop"]})]})]}):e.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Not running"}),e.jsxs(m,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>r.mutate(),disabled:r.isPending,children:[r.isPending?e.jsx(A,{className:"w-3 h-3 animate-spin"}):e.jsx(Z,{className:"w-3 h-3"}),"Start"]})]}),t?.currentVersion&&e.jsxs("div",{className:"mt-2 pt-2 border-t border-muted flex items-center justify-between text-[10px] text-muted-foreground/70",children:[e.jsxs("span",{children:["v",t.currentVersion]}),t.checkedAt&&e.jsxs("span",{title:new Date(t.checkedAt).toLocaleString(),children:["Synced ",He(t.checkedAt)]})]})]})}function Ze({status:n,isSelected:d,onSelect:t}){const r=n.accounts?.length||0;return e.jsxs("button",{className:w("w-full flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors cursor-pointer text-left",d?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:t,children:[e.jsx(le,{provider:n.provider,size:"md"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm truncate",children:n.displayName}),r>0&&e.jsx(Q,{variant:"secondary",className:"text-[10px] h-4 px-1",children:r})]}),e.jsx("div",{className:"flex items-center gap-1.5 mt-0.5",children:n.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"w-3 h-3 text-green-600"}),e.jsx("span",{className:"text-xs text-green-600",children:"Connected"})]}):e.jsxs(e.Fragment,{children:[e.jsx(xe,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Not connected"})]})})]})]})}function Xe({variant:n,parentAuth:d,isSelected:t,onSelect:r,onDelete:i,isDeleting:o}){return e.jsxs("button",{className:w("group w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-colors cursor-pointer text-left pl-6",t?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:r,children:[e.jsxs("div",{className:"relative",children:[e.jsx(le,{provider:n.provider,size:"sm"}),e.jsx(ue,{className:"w-2.5 h-2.5 absolute -bottom-0.5 -right-0.5 text-muted-foreground"})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm truncate",children:n.name}),e.jsx(Q,{variant:"outline",className:"text-[9px] h-4 px-1",children:"variant"})]}),e.jsx("div",{className:"flex items-center gap-1.5 mt-0.5",children:d?.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"w-3 h-3 text-green-600"}),e.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["via ",n.provider]})]}):e.jsxs(e.Fragment,{children:[e.jsx(xe,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Parent not connected"})]})})]}),e.jsx(m,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 hover:text-destructive",onClick:l=>{l.stopPropagation(),i()},disabled:o,children:e.jsx(We,{className:"w-3 h-3"})})]})}function es({onSetup:n}){return e.jsx("div",{className:"flex-1 flex items-center justify-center bg-muted/20",children:e.jsxs("div",{className:"text-center max-w-md px-8",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-muted flex items-center justify-center mx-auto mb-6",children:e.jsx(me,{className:"w-8 h-8 text-muted-foreground"})}),e.jsx("h2",{className:"text-xl font-semibold mb-2",children:"CCS Profile Manager"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Manage OAuth authentication, account preferences, and model selection for CLIProxy providers. Configure how CCS routes requests to different AI backends."}),e.jsxs("p",{className:"text-xs text-muted-foreground mb-6",children:["For live usage stats and real-time monitoring, visit the"," ",e.jsx("a",{href:"/cliproxy/control-panel",className:"text-primary hover:underline",children:"Control Panel"}),"."]}),e.jsxs(m,{onClick:n,className:"gap-2",children:[e.jsx(B,{className:"w-4 h-4"}),"Quick Setup"]})]})})}function us(){const n=we(),{data:d,isLoading:t}=ee(),{data:r,isFetching:i}=Le(),o=Me(),l=Oe(),c=$e(),[p,v]=h.useState(null),[u,k]=h.useState(null),[$,y]=h.useState(!1),[N,C]=h.useState(null),f=d?.authStatus||[],S=r?.variants||[],P=h.useMemo(()=>u?null:p&&f.some(a=>a.provider===p)?p:f.length>0?f[0].provider:null,[p,u,f]),g=f.find(a=>a.provider===P),x=S.find(a=>a.name===u),j=x?f.find(a=>a.provider===x.provider):void 0,R=()=>{n.invalidateQueries({queryKey:["cliproxy"]}),n.invalidateQueries({queryKey:["cliproxy-auth"]})},L=a=>{v(a),k(null)},b=a=>{k(a),v(null)};return e.jsxs("div",{className:"h-[calc(100vh-100px)] flex",children:[e.jsxs("div",{className:"w-80 border-r flex flex-col bg-muted/30",children:[e.jsxs("div",{className:"p-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(me,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:"CLIProxy"})]}),e.jsx(m,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:R,disabled:i,children:e.jsx(A,{className:w("w-4 h-4",i&&"animate-spin")})})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"CCS-level account management"}),e.jsxs(m,{variant:"default",size:"sm",className:"w-full gap-2",onClick:()=>y(!0),children:[e.jsx(B,{className:"w-4 h-4"}),"Quick Setup"]})]}),e.jsx(Ie,{className:"flex-1",children:e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 py-2",children:"Providers"}),t?e.jsx("div",{className:"space-y-2 px-2",children:[1,2,3,4].map(a=>e.jsx(Te,{className:"h-14 w-full rounded-lg"},a))}):e.jsx("div",{className:"space-y-1",children:f.map(a=>e.jsx(Ze,{status:a,isSelected:P===a.provider,onSelect:()=>L(a.provider)},a.provider))}),S.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 py-2 mt-4 flex items-center gap-1.5",children:[e.jsx(ue,{className:"w-3 h-3"}),"Variants"]}),e.jsx("div",{className:"space-y-1",children:S.map(a=>e.jsx(Xe,{variant:a,parentAuth:f.find(I=>I.provider===a.provider),isSelected:u===a.name,onSelect:()=>b(a.name),onDelete:()=>c.mutate(a.name),isDeleting:c.isPending},a.name))})]})]})}),e.jsx("div",{className:"p-3 border-t",children:e.jsx(Je,{})}),e.jsx("div",{className:"p-3 border-t bg-background text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{children:[f.length," provider",f.length!==1?"s":""]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(V,{className:"w-3 h-3 text-green-600"}),f.filter(a=>a.authenticated).length," connected"]})]})})]}),e.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background",children:x&&j?e.jsx(K,{provider:x.name,displayName:`${x.name} (${x.provider} variant)`,authStatus:j,catalog:M[x.provider],logoProvider:x.provider,onAddAccount:()=>C({provider:x.provider,displayName:j.displayName,isFirstAccount:(j.accounts?.length||0)===0}),onSetDefault:a=>o.mutate({provider:x.provider,accountId:a}),onRemoveAccount:a=>l.mutate({provider:x.provider,accountId:a}),isRemovingAccount:l.isPending}):g?e.jsx(K,{provider:g.provider,displayName:g.displayName,authStatus:g,catalog:M[g.provider],onAddAccount:()=>C({provider:g.provider,displayName:g.displayName,isFirstAccount:(g.accounts?.length||0)===0}),onSetDefault:a=>o.mutate({provider:g.provider,accountId:a}),onRemoveAccount:a=>l.mutate({provider:g.provider,accountId:a}),isRemovingAccount:l.isPending}):e.jsx(es,{onSetup:()=>y(!0)})}),e.jsx(Ke,{open:$,onClose:()=>y(!1)}),e.jsx(Ye,{open:N!==null,onClose:()=>C(null),provider:N?.provider||"",displayName:N?.displayName||"",isFirstAccount:N?.isFirstAccount||!1})]})}export{us as CliproxyPage};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-DFHQr9A5.js";import{r as s}from"./react-vendor-FspHSO0w.js";import{G as b,J as d,ac as g,K as j,X as p}from"./icons-BOsxPbiD.js";const N=8317,C="ccs";function y({port:t=N}){const n=s.useRef(null),[r,c]=s.useState(!0),[o,a]=s.useState(null),[x,l]=s.useState(!1),[m,u]=s.useState(!0),i=`http://localhost:${t}/management.html`;s.useEffect(()=>{(async()=>{try{(await fetch(`http://localhost:${t}/`,{signal:AbortSignal.timeout(2e3)})).ok?(l(!0),a(null)):(l(!1),a("CLIProxy returned an error"))}catch{l(!1),a("CLIProxy is not running")}})()},[t]);const h=s.useCallback(()=>{if(c(!1),n.current?.contentWindow)try{n.current.contentWindow.postMessage({type:"ccs-auto-login",apiBase:`http://localhost:${t}`,managementKey:C},`http://localhost:${t}`)}catch{console.debug("[ControlPanelEmbed] postMessage failed - cross-origin")}},[t]),f=()=>{c(!0),n.current&&(n.current.src=i)};return!x&&o?e.jsxs("div",{className:"flex-1 flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(b,{className:"w-5 h-5 text-primary"}),e.jsx("h2",{className:"font-semibold",children:"CLIProxy Control Panel"})]}),e.jsxs("button",{className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm border rounded-md hover:bg-muted",onClick:f,children:[e.jsx(d,{className:"w-4 h-4"}),"Retry"]})]}),e.jsx("div",{className:"flex-1 flex items-center justify-center bg-muted/20",children:e.jsxs("div",{className:"text-center max-w-md px-8",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-destructive/10 flex items-center justify-center mx-auto mb-6",children:e.jsx(g,{className:"w-8 h-8 text-destructive"})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"CLIProxy Not Available"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:o}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Start a CLIProxy session with"," ",e.jsx("code",{className:"bg-muted px-1 rounded",children:"ccs gemini"})," or run"," ",e.jsx("code",{className:"bg-muted px-1 rounded",children:"ccs config"})," which auto-starts it."]})]})})]}):e.jsxs("div",{className:"flex-1 flex flex-col relative",children:[m&&!r&&e.jsx("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 z-20",children:e.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-blue-50 dark:bg-blue-950 border border-blue-200 dark:border-blue-800 rounded-md text-sm",children:[e.jsx(j,{className:"h-3.5 w-3.5 text-blue-600"}),e.jsxs("span",{children:["Key:"," ",e.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded font-mono font-semibold",children:"ccs"})]}),e.jsx("button",{className:"text-blue-600 hover:text-blue-800 dark:hover:text-blue-400",onClick:()=>u(!1),children:e.jsx(p,{className:"h-3.5 w-3.5"})})]})}),r&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/80 z-10",children:e.jsxs("div",{className:"text-center",children:[e.jsx(d,{className:"w-8 h-8 animate-spin text-primary mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading Control Panel..."})]})}),e.jsx("iframe",{ref:n,src:i,className:"flex-1 w-full border-0",title:"CLIProxy Management Panel",onLoad:h})]})}function E(){return e.jsx("div",{className:"h-[calc(100vh-100px)] flex flex-col",children:e.jsx(y,{})})}export{E as CliproxyControlPanelPage};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/code-editor-Br9x-r-E.js","assets/radix-ui-DFHQr9A5.js","assets/react-vendor-FspHSO0w.js","assets/index-ByU8ZhED.js","assets/tanstack-C4gT2P7V.js","assets/notifications-B2Pz7lik.js","assets/utils-CzKF5WmX.js","assets/icons-BOsxPbiD.js","assets/form-utils-BuXDJb0w.js","assets/code-highlight-BoHWVYut.js","assets/index-Brq6EBKZ.css"])))=>i.map(i=>d[i]);
2
- import{j as e}from"./radix-ui-DFHQr9A5.js";import{S as j,e as v,B as p,o as we,X as ye,Y as be,Z as R,_ as O,i as A,q,L as w,I as te,z as le,A as oe,E as re,F as ce,G as L,p as de,$ as Se,a0 as Ce,a1 as ke,a2 as Fe,c as K}from"./index-ByU8ZhED.js";import{u as Pe,a as C,b as y}from"./tanstack-C4gT2P7V.js";import{r as h}from"./react-vendor-FspHSO0w.js";import{S as D}from"./switch-CMk95lwf.js";import{t as Q}from"./notifications-B2Pz7lik.js";import{J as me,L as J,O as Me,Q as Ae,Y as Le,Z as ae,I as Ee,X as Te,j as _e,a as Ie,T as Re,a6 as Oe,ak as qe,ag as ne,K as De,a8 as Qe,al as $e,l as ue,m as xe}from"./icons-BOsxPbiD.js";import"./utils-CzKF5WmX.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";const m="/api";async function Ke(){const s=await fetch(`${m}/copilot/status`);if(!s.ok)throw new Error("Failed to fetch copilot status");return s.json()}async function Je(){const s=await fetch(`${m}/copilot/config`);if(!s.ok)throw new Error("Failed to fetch copilot config");return s.json()}async function Ge(){const s=await fetch(`${m}/copilot/models`);if(!s.ok)throw new Error("Failed to fetch copilot models");return s.json()}async function ze(){const s=await fetch(`${m}/copilot/settings/raw`);if(!s.ok)throw new Error("Failed to fetch copilot raw settings");return s.json()}async function Be(s){const a=await fetch(`${m}/copilot/config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!a.ok)throw new Error("Failed to update copilot config");return a.json()}async function Ue(s){const a=await fetch(`${m}/copilot/settings/raw`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(a.status===409)throw new Error("CONFLICT");if(!a.ok)throw new Error("Failed to save copilot raw settings");return a.json()}async function He(){const s=await fetch(`${m}/copilot/auth/start`,{method:"POST"});if(!s.ok)throw new Error("Failed to start auth");return s.json()}async function Ve(){const s=await fetch(`${m}/copilot/daemon/start`,{method:"POST"});if(!s.ok)throw new Error("Failed to start daemon");return s.json()}async function Xe(){const s=await fetch(`${m}/copilot/daemon/stop`,{method:"POST"});if(!s.ok)throw new Error("Failed to stop daemon");return s.json()}async function Ye(){const s=await fetch(`${m}/copilot/info`);if(!s.ok)throw new Error("Failed to fetch copilot info");return s.json()}async function Ze(s){const a=await fetch(`${m}/copilot/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s?{version:s}:{})});if(!a.ok)throw new Error("Failed to install copilot-api");return a.json()}function he(){const s=Pe(),a=C({queryKey:["copilot-status"],queryFn:Ke,refetchInterval:5e3}),l=C({queryKey:["copilot-config"],queryFn:Je}),r=C({queryKey:["copilot-models"],queryFn:Ge}),n=C({queryKey:["copilot-raw-settings"],queryFn:ze}),d=C({queryKey:["copilot-info"],queryFn:Ye}),c=y({mutationFn:Be,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]}),s.invalidateQueries({queryKey:["copilot-config"]}),s.invalidateQueries({queryKey:["copilot-raw-settings"]})}}),i=y({mutationFn:Ue,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]}),s.invalidateQueries({queryKey:["copilot-config"]}),s.invalidateQueries({queryKey:["copilot-raw-settings"]})}}),x=y({mutationFn:He,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]})}}),N=y({mutationFn:Ve,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]})}}),f=y({mutationFn:Xe,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]})}}),o=y({mutationFn:Ze,onSuccess:()=>{s.invalidateQueries({queryKey:["copilot-status"]}),s.invalidateQueries({queryKey:["copilot-info"]})}});return{status:a.data,statusLoading:a.isLoading,statusError:a.error,refetchStatus:a.refetch,config:l.data,configLoading:l.isLoading,models:r.data?.models??[],currentModel:r.data?.current,modelsLoading:r.isLoading,rawSettings:n.data,rawSettingsLoading:n.isLoading,refetchRawSettings:n.refetch,updateConfig:c.mutate,updateConfigAsync:c.mutateAsync,isUpdating:c.isPending,saveRawSettings:i.mutate,saveRawSettingsAsync:i.mutateAsync,isSavingRawSettings:i.isPending,startAuth:x.mutate,startAuthAsync:x.mutateAsync,isAuthenticating:x.isPending,authResult:x.data,startDaemon:N.mutate,isStartingDaemon:N.isPending,stopDaemon:f.mutate,isStoppingDaemon:f.isPending,info:d.data,infoLoading:d.isLoading,refetchInfo:d.refetch,install:o.mutate,installAsync:o.mutateAsync,isInstalling:o.isPending}}const We=h.lazy(()=>Fe(()=>import("./code-editor-Br9x-r-E.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(s=>({default:s.CodeEditor}))),es=[{name:"GPT-4.1 (Free)",description:"Free tier - no premium usage",default:"gpt-4.1",opus:"gpt-4.1",sonnet:"gpt-4.1",haiku:"gpt-4.1"},{name:"GPT-5 Mini (Free)",description:"Free tier - lightweight model",default:"gpt-5-mini",opus:"gpt-5-mini",sonnet:"gpt-5-mini",haiku:"gpt-5-mini"},{name:"Raptor Mini (Free)",description:"Free tier - fine-tuned for coding",default:"raptor-mini",opus:"raptor-mini",sonnet:"raptor-mini",haiku:"raptor-mini"}],ss=[{name:"Claude Opus 4.5",description:"Pro+ (3x) - Most capable reasoning",default:"claude-opus-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"},{name:"Claude Sonnet 4.5",description:"Pro+ (1x) - Balanced performance",default:"claude-sonnet-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"},{name:"GPT-5.2",description:"Pro+ (1x) - Latest OpenAI (Preview)",default:"gpt-5.2",opus:"gpt-5.2",sonnet:"gpt-5.1",haiku:"gpt-5-mini"},{name:"GPT-5.1 Codex Max",description:"Pro+ (1x) - Best for coding",default:"gpt-5.1-codex-max",opus:"gpt-5.1-codex-max",sonnet:"gpt-5.1-codex",haiku:"gpt-5.1-codex-mini"},{name:"Gemini 2.5 Pro",description:"Pro+ (1x) - Google latest",default:"gemini-2.5-pro",opus:"gemini-2.5-pro",sonnet:"gemini-2.5-pro",haiku:"gemini-3-flash"}];function ie(s){switch(s){case"free":return"bg-green-100 text-green-700 border-green-200";case"pro":return"bg-blue-100 text-blue-700 border-blue-200";case"pro+":return"bg-purple-100 text-purple-700 border-purple-200";case"business":return"bg-orange-100 text-orange-700 border-orange-200";case"enterprise":return"bg-red-100 text-red-700 border-red-200";default:return"bg-muted text-muted-foreground"}}function ts(s){return s==null?null:s===0?"Free":s<1?`${s}x`:s===1?"1x":`${s}x`}function F({label:s,description:a,value:l,onChange:r,models:n,disabled:d}){const c=n.find(i=>i.id===l);return e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-medium",children:s}),a&&e.jsx("p",{className:"text-[10px] text-muted-foreground",children:a})]}),e.jsxs(le,{value:l||"",onValueChange:r,disabled:d,children:[e.jsx(oe,{className:"h-9",children:e.jsx(re,{placeholder:"Select model",children:l&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:l}),c?.minPlan&&e.jsx(v,{variant:"outline",className:`text-[9px] px-1 py-0 h-4 ${ie(c.minPlan)}`,children:c.minPlan})]})})}),e.jsx(ce,{className:"max-h-[300px]",children:e.jsxs(Ce,{children:[e.jsxs(ke,{className:"text-xs text-muted-foreground",children:["Available Models (",n.length,")"]}),n.map(i=>e.jsx(L,{value:i.id,children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:i.name||i.id}),i.minPlan&&e.jsx(v,{variant:"outline",className:`text-[9px] px-1 py-0 h-4 ${ie(i.minPlan)}`,children:i.minPlan}),i.multiplier!==void 0&&e.jsx("span",{className:"text-[9px] text-muted-foreground",children:ts(i.multiplier)}),i.preview&&e.jsx(v,{variant:"secondary",className:"text-[9px] px-1 py-0 h-4",children:"Preview"}),l===i.id&&e.jsx(_e,{className:"w-3 h-3 text-primary ml-auto"})]})},i.id))]})})]})]})}function as(){const{config:s,configLoading:a,models:l,modelsLoading:r,rawSettings:n,rawSettingsLoading:d,updateConfigAsync:c,isUpdating:i,saveRawSettingsAsync:x,isSavingRawSettings:N,refetchRawSettings:f}=he(),[o,E]=h.useState({}),[g,T]=h.useState(null),[pe,G]=h.useState(!1),z=o.enabled??s?.enabled??!1,B=o.autoStart??s?.auto_start??!1,U=o.port??s?.port??4141,H=o.accountType??s?.account_type??"individual",b=o.model??s?.model??"claude-opus-4-5-20250514",_=o.rateLimit??s?.rate_limit?.toString()??"",V=o.waitOnLimit??s?.wait_on_limit??!0,X=o.opusModel??s?.opus_model??"",Y=o.sonnetModel??s?.sonnet_model??"",Z=o.haikuModel??s?.haiku_model??"",u=(t,S)=>{E(ve=>({...ve,[t]:S}))},W=t=>{E(S=>({...S,model:t.default,opusModel:t.opus,sonnetModel:t.sonnet,haikuModel:t.haiku})),Q.success(`Applied "${t.name}" preset`)},k=h.useMemo(()=>g!==null?g:n?.settings?JSON.stringify(n.settings,null,2):`{
3
- "env": {}
4
- }`,[g,n]),fe=h.useCallback(t=>{T(t)},[]),I=h.useMemo(()=>{try{return JSON.parse(k),!0}catch{return!1}},[k]),ge=h.useMemo(()=>{const t=Object.keys(o).length>0,S=g!==null&&g!==JSON.stringify(n?.settings,null,2);return t||S},[o,g,n]),ee=async()=>{try{if(Object.keys(o).length>0&&await c({enabled:z,auto_start:B,port:U,account_type:H,model:b,rate_limit:_?parseInt(_,10):null,wait_on_limit:V,opus_model:X||void 0,sonnet_model:Y||void 0,haiku_model:Z||void 0}),g!==null&&I){const t=JSON.parse(k);await x({settings:t,expectedMtime:n?.mtime})}E({}),T(null),Q.success("Copilot configuration saved")}catch(t){t.message==="CONFLICT"?G(!0):Q.error("Failed to save settings")}},se=async t=>{G(!1),t?(await f(),ee()):T(null)};if(a||d)return e.jsxs("div",{className:"space-y-6",children:[e.jsx(j,{className:"h-10 w-full"}),e.jsx(j,{className:"h-10 w-full"}),e.jsx(j,{className:"h-10 w-full"}),e.jsx(j,{className:"h-10 w-full"})]});const je=()=>e.jsx("div",{className:"h-full flex flex-col",children:e.jsxs(ye,{defaultValue:"config",className:"h-full flex flex-col",children:[e.jsx("div",{className:"px-4 pt-4 shrink-0",children:e.jsxs(be,{className:"w-full",children:[e.jsx(R,{value:"config",className:"flex-1",children:"Model Config"}),e.jsx(R,{value:"settings",className:"flex-1",children:"Settings"}),e.jsx(R,{value:"info",className:"flex-1",children:"Info"})]})}),e.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[e.jsx(O,{value:"config",className:"flex-1 mt-0 border-0 p-0 data-[state=inactive]:hidden flex flex-col overflow-hidden",children:e.jsx(A,{className:"flex-1",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e.jsx(Le,{className:"w-4 h-4"}),"Presets"]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"Apply pre-configured model mappings"}),e.jsxs("div",{className:"mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(v,{variant:"outline",className:"text-[10px] bg-green-100 text-green-700 border-green-200",children:"Free Tier"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"No premium usage count"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:es.map(t=>e.jsxs(p,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1",onClick:()=>W(t),title:t.description,children:[e.jsx(ae,{className:"w-3 h-3 text-green-600"}),t.name]},t.name))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(v,{variant:"outline",className:"text-[10px] bg-blue-100 text-blue-700 border-blue-200",children:"Pro+ Required"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Uses premium request quota"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ss.map(t=>e.jsxs(p,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1",onClick:()=>W(t),title:t.description,children:[e.jsx(ae,{className:"w-3 h-3"}),t.name]},t.name))})]})]}),e.jsx(q,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-2",children:"Model Mapping"}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Configure which models to use for each tier"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(F,{label:"Default Model",description:"Used when no specific tier is requested",value:b,onChange:t=>u("model",t),models:l,disabled:r}),e.jsx(F,{label:"Opus (Most capable)",description:"For complex reasoning tasks",value:X||b,onChange:t=>u("opusModel",t),models:l,disabled:r}),e.jsx(F,{label:"Sonnet (Balanced)",description:"Balance of speed and capability",value:Y||b,onChange:t=>u("sonnetModel",t),models:l,disabled:r}),e.jsx(F,{label:"Haiku (Fast)",description:"Quick responses for simple tasks",value:Z||b,onChange:t=>u("haikuModel",t),models:l,disabled:r})]})]})]})})}),e.jsx(O,{value:"settings",className:"flex-1 mt-0 border-0 p-0 data-[state=inactive]:hidden flex flex-col overflow-hidden",children:e.jsx(A,{className:"flex-1",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-4",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(w,{htmlFor:"enabled",className:"text-sm font-medium",children:"Enable Copilot"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Allow using GitHub Copilot subscription"})]}),e.jsx(D,{id:"enabled",checked:z,onCheckedChange:t=>u("enabled",t)})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-medium",children:"Basic Settings"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(w,{htmlFor:"port",className:"text-xs",children:"Port"}),e.jsx(te,{id:"port",type:"number",value:U,onChange:t=>u("port",parseInt(t.target.value,10)),min:1024,max:65535,className:"max-w-[150px] h-8"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(w,{htmlFor:"account-type",className:"text-xs",children:"Account Type"}),e.jsxs(le,{value:H,onValueChange:t=>u("accountType",t),children:[e.jsx(oe,{id:"account-type",className:"max-w-[150px] h-8",children:e.jsx(re,{})}),e.jsxs(ce,{children:[e.jsx(L,{value:"individual",children:"Individual"}),e.jsx(L,{value:"business",children:"Business"}),e.jsx(L,{value:"enterprise",children:"Enterprise"})]})]})]})]}),e.jsx(q,{}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-medium",children:"Rate Limiting"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(w,{htmlFor:"rate-limit",className:"text-xs",children:"Rate Limit (seconds)"}),e.jsx(te,{id:"rate-limit",type:"number",value:_,onChange:t=>u("rateLimit",t.target.value),placeholder:"No limit",min:0,className:"max-w-[150px] h-8"})]}),e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(w,{htmlFor:"wait-on-limit",className:"text-xs",children:"Wait on Rate Limit"}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Wait instead of error when limit hit"})]}),e.jsx(D,{id:"wait-on-limit",checked:V,onCheckedChange:t=>u("waitOnLimit",t)})]})]}),e.jsx(q,{}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-medium",children:"Daemon Settings"}),e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(w,{htmlFor:"auto-start",className:"text-xs",children:"Auto-start Daemon"}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Start copilot-api when using profile"})]}),e.jsx(D,{id:"auto-start",checked:B,onCheckedChange:t=>u("autoStart",t)})]})]})]})})}),e.jsx(O,{value:"info",className:"h-full mt-0 border-0 p-0 data-[state=inactive]:hidden",children:e.jsx(A,{className:"h-full",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-medium flex items-center gap-2 mb-3",children:[e.jsx(Ee,{className:"w-4 h-4"}),"Configuration Info"]}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Provider"}),e.jsx("span",{className:"font-mono",children:"GitHub Copilot"})]}),n&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"File Path"}),e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs break-all",children:n.path}),e.jsx(de,{value:n.path,size:"icon",className:"h-5 w-5"})]})]}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Status"}),e.jsx(v,{variant:"outline",className:n.exists?"w-fit text-green-600 border-green-200 bg-green-50":"w-fit text-muted-foreground",children:n.exists?"File exists":"Using defaults"})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:"Quick Usage"}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsx(P,{label:"Run with Copilot",command:"ccs copilot"}),e.jsx(P,{label:"Authenticate",command:"ccs copilot auth"}),e.jsx(P,{label:"Start daemon",command:"ccs copilot --start"}),e.jsx(P,{label:"Stop daemon",command:"ccs copilot --stop"})]})]})]})})})]})]})}),Ne=()=>e.jsx(h.Suspense,{fallback:e.jsxs("div",{className:"flex items-center justify-center h-full",children:[e.jsx(J,{className:"w-6 h-6 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-2 text-muted-foreground",children:"Loading editor..."})]}),children:e.jsxs("div",{className:"h-full flex flex-col",children:[!I&&g!==null&&e.jsxs("div",{className:"mb-2 px-3 py-2 bg-destructive/10 text-destructive text-sm rounded-md flex items-center gap-2 mx-6 mt-4 shrink-0",children:[e.jsx(Te,{className:"w-4 h-4"}),"Invalid JSON syntax"]}),e.jsx("div",{className:"flex-1 overflow-hidden px-6 pb-4 pt-4",children:e.jsx("div",{className:"h-full border rounded-md overflow-hidden bg-background",children:e.jsx(We,{value:k,onChange:fe,language:"json",minHeight:"100%"})})}),e.jsx("div",{className:"mx-6 mb-4",children:e.jsx("div",{className:"border rounded-md overflow-hidden",children:e.jsx(Se,{profileEnv:n?.settings?.env})})})]})});return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"px-6 py-4 border-b bg-background flex items-center justify-between shrink-0",children:[e.jsx("div",{className:"flex items-center gap-3",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Copilot Configuration"}),n&&e.jsx(v,{variant:"outline",className:"text-xs",children:"copilot.settings.json"})]}),n&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Last modified:"," ",n.exists?new Date(n.mtime).toLocaleString():"Never saved"]})]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(p,{variant:"ghost",size:"sm",onClick:()=>f(),disabled:d,children:e.jsx(me,{className:`w-4 h-4 ${d?"animate-spin":""}`})}),e.jsx(p,{size:"sm",onClick:ee,disabled:i||N||!ge||!I,children:i||N?e.jsxs(e.Fragment,{children:[e.jsx(J,{className:"w-4 h-4 mr-1 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Me,{className:"w-4 h-4 mr-1"}),"Save"]})})]})]}),e.jsxs("div",{className:"flex-1 flex divide-x overflow-hidden",children:[e.jsx("div",{className:"w-[540px] shrink-0 flex flex-col overflow-hidden bg-muted/5",children:je()}),e.jsxs("div",{className:"flex-1 min-w-0 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"px-6 py-2 bg-muted/30 border-b flex items-center gap-2 shrink-0 h-[45px]",children:[e.jsx(Ae,{className:"w-4 h-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Raw Configuration (JSON)"})]}),Ne()]})]}),e.jsx(we,{open:pe,title:"File Modified Externally",description:"This settings file was modified by another process. Overwrite with your changes or discard?",confirmText:"Overwrite",variant:"destructive",onConfirm:()=>se(!0),onCancel:()=>se(!1)})]})}function P({label:s,command:a}){return e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s}),e.jsxs("div",{className:"mt-1 flex gap-2",children:[e.jsx("code",{className:"flex-1 px-2 py-1.5 bg-muted rounded text-xs font-mono truncate",children:a}),e.jsx(de,{value:a,size:"icon",className:"h-6 w-6"})]})]})}function $({title:s,children:a}){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-3",children:s}),e.jsx("div",{className:"space-y-1",children:a})]})}function M({icon:s,label:a,status:l,statusText:r,variant:n="default"}){return e.jsxs("div",{className:"flex items-center gap-3 px-3 py-2 rounded-lg bg-muted/50",children:[e.jsx(s,{className:"w-4 h-4 text-muted-foreground shrink-0"}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsx("span",{className:"text-sm",children:a})}),e.jsx("div",{className:"flex items-center gap-1.5",children:l?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:K("w-4 h-4",n==="warning"?"text-yellow-500":"text-green-500")}),e.jsx("span",{className:K("text-xs",n==="warning"?"text-yellow-500":"text-green-500"),children:r||"Yes"})]}):e.jsxs(e.Fragment,{children:[e.jsx(xe,{className:"w-4 h-4 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:r||"No"})]})})]})}function ns(){return e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsx(j,{className:"h-8 w-full"}),e.jsx(j,{className:"h-12 w-full"}),e.jsx(j,{className:"h-12 w-full"}),e.jsx(j,{className:"h-12 w-full"})]})}function ps(){const{status:s,statusLoading:a,refetchStatus:l,startAuth:r,isAuthenticating:n,startDaemon:d,isStartingDaemon:c,stopDaemon:i,isStoppingDaemon:x,install:N,isInstalling:f}=he();return e.jsxs("div",{className:"h-[calc(100vh-100px)] flex",children:[e.jsxs("div",{className:"w-80 border-r flex flex-col bg-muted/30 shrink-0",children:[e.jsxs("div",{className:"p-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:"Copilot"})]}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>l(),disabled:a,children:e.jsx(me,{className:K("w-4 h-4",a&&"animate-spin")})})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"GitHub Copilot proxy"})]}),e.jsx(A,{className:"flex-1",children:a?e.jsx(ns,{}):e.jsxs("div",{className:"p-3 space-y-4",children:[e.jsxs("div",{className:"rounded-md border border-yellow-500/50 bg-yellow-500/15 p-3 space-y-1.5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Re,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400 shrink-0"}),e.jsx("span",{className:"text-xs font-semibold text-yellow-800 dark:text-yellow-200",children:"Unofficial API - Use at Your Own Risk"})]}),e.jsxs("ul",{className:"text-[11px] text-yellow-700 dark:text-yellow-300 space-y-0.5 pl-6 list-disc",children:[e.jsx("li",{children:"Reverse-engineered API - may break anytime"}),e.jsx("li",{children:"Excessive use may trigger account restrictions"}),e.jsx("li",{children:"No warranty, no responsibility from CCS"})]})]}),e.jsxs($,{title:"Setup",children:[e.jsx(M,{icon:Oe,label:"copilot-api",status:s?.installed??!1,statusText:s?.installed?s.version?`v${s.version}`:"Installed":"Missing"}),!s?.installed&&e.jsx(p,{size:"sm",className:"w-full mt-2",onClick:()=>N(void 0),disabled:f,children:f?e.jsxs(e.Fragment,{children:[e.jsx(J,{className:"w-3.5 h-3.5 mr-1.5 animate-spin"}),"Installing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(qe,{className:"w-3.5 h-3.5 mr-1.5"}),"Install copilot-api"]})}),s?.installed&&e.jsx(M,{icon:ne,label:"Integration",status:s?.enabled??!1,statusText:s?.enabled?"Enabled":"Disabled"})]}),s?.installed&&e.jsxs($,{title:"Auth",children:[e.jsx(M,{icon:De,label:"GitHub",status:s?.authenticated??!1,statusText:s?.authenticated?"Connected":"Not Connected"}),!s?.authenticated&&e.jsx(p,{size:"sm",className:"w-full mt-2",onClick:()=>r(),disabled:n,children:n?"Authenticating...":"Authenticate"})]}),s?.authenticated&&e.jsxs($,{title:"Daemon",children:[e.jsx(M,{icon:Qe,label:"Status",status:s?.daemon_running??!1,statusText:s?.daemon_running?"Running":"Stopped"}),e.jsxs("div",{className:"px-3 py-1 text-xs text-muted-foreground",children:["Port: ",s?.port??4141]}),e.jsx("div",{className:"px-1",children:s?.daemon_running?e.jsxs(p,{size:"sm",variant:"outline",className:"w-full",onClick:()=>i(),disabled:x,children:[e.jsx($e,{className:"w-3.5 h-3.5 mr-1.5"}),x?"Stopping...":"Stop"]}):e.jsxs(p,{size:"sm",variant:"outline",className:"w-full",onClick:()=>d(),disabled:c,children:[e.jsx(ne,{className:"w-3.5 h-3.5 mr-1.5"}),c?"Starting...":"Start"]})})]})]})}),e.jsx("div",{className:"p-3 border-t bg-background text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{children:"Proxy"}),s?.daemon_running?e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ue,{className:"w-3 h-3 text-green-500"}),"Active"]}):e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(xe,{className:"w-3 h-3 text-muted-foreground"}),"Inactive"]})]})})]}),e.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-hidden",children:e.jsx(as,{})})]})}export{ps as CopilotPage};