@kaitranntt/ccs 8.1.4 → 8.2.0-dev.2

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 (366) hide show
  1. package/config/base-kiro.settings.json +4 -4
  2. package/config/base-qoder.settings.json +10 -0
  3. package/dist/channels/official-channels-runtime.js +1 -1
  4. package/dist/channels/official-channels-runtime.js.map +1 -1
  5. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  6. package/dist/cliproxy/accounts/registry.js +11 -4
  7. package/dist/cliproxy/accounts/registry.js.map +1 -1
  8. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +1 -1
  9. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
  10. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  11. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +88 -11
  12. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  13. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  14. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  15. package/dist/cliproxy/auth/auth-types.js +7 -0
  16. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  17. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  18. package/dist/cliproxy/auth/oauth-handler.js +19 -10
  19. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  20. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -1
  21. package/dist/cliproxy/auth/oauth-trace/redactor.js +1 -0
  22. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -1
  23. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +2 -2
  24. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -1
  25. package/dist/cliproxy/binary/version-checker.d.ts +4 -2
  26. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  27. package/dist/cliproxy/binary/version-checker.js +30 -20
  28. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  29. package/dist/cliproxy/executor/arg-parser.d.ts +8 -5
  30. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  31. package/dist/cliproxy/executor/arg-parser.js +21 -10
  32. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  33. package/dist/cliproxy/executor/browser-launch-setup.d.ts +1 -0
  34. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  35. package/dist/cliproxy/executor/browser-launch-setup.js +4 -3
  36. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  37. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  38. package/dist/cliproxy/executor/index.js +15 -6
  39. package/dist/cliproxy/executor/index.js.map +1 -1
  40. package/dist/cliproxy/executor/proxy-resolver.d.ts +15 -9
  41. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -1
  42. package/dist/cliproxy/executor/proxy-resolver.js +14 -5
  43. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -1
  44. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  45. package/dist/cliproxy/model-catalog.js +79 -2
  46. package/dist/cliproxy/model-catalog.js.map +1 -1
  47. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  48. package/dist/cliproxy/provider-capabilities.js +12 -0
  49. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  50. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -1
  51. package/dist/cliproxy/proxy/proxy-config-resolver.js +11 -1
  52. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -1
  53. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  54. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +160 -8
  55. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  56. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +14 -0
  57. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -0
  58. package/dist/cliproxy/proxy/upstream-response-timeout.js +72 -0
  59. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -0
  60. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  61. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  62. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  63. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  64. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +2 -2
  65. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  66. package/dist/cliproxy/quota/quota-fetcher-codex.js +2 -4
  67. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  68. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  69. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  70. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  71. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts +10 -0
  72. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts.map +1 -0
  73. package/dist/cliproxy/quota/quota-label-sanitizer.js +31 -0
  74. package/dist/cliproxy/quota/quota-label-sanitizer.js.map +1 -0
  75. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  76. package/dist/cliproxy/quota/quota-manager.js +32 -1
  77. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  78. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  79. package/dist/cliproxy/routing/routing-strategy-http.js +35 -26
  80. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  81. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  82. package/dist/cliproxy/services/catalog-cache.js +5 -3
  83. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  84. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  85. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  86. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  87. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  88. package/dist/cliproxy/types/provider-types.d.ts +1 -1
  89. package/dist/cliproxy/types/provider-types.d.ts.map +1 -1
  90. package/dist/cliproxy/types/provider-types.js +1 -0
  91. package/dist/cliproxy/types/provider-types.js.map +1 -1
  92. package/dist/codex-auth/codex-config-symlink.js +21 -4
  93. package/dist/codex-auth/codex-config-symlink.js.map +1 -1
  94. package/dist/codex-auth/commands/import-default-command.d.ts +1 -1
  95. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -1
  96. package/dist/codex-auth/commands/import-default-command.js +12 -25
  97. package/dist/codex-auth/commands/import-default-command.js.map +1 -1
  98. package/dist/commands/api-command/help.js +1 -1
  99. package/dist/commands/api-command/help.js.map +1 -1
  100. package/dist/commands/bar/index.d.ts +8 -0
  101. package/dist/commands/bar/index.d.ts.map +1 -0
  102. package/dist/commands/bar/index.js +69 -0
  103. package/dist/commands/bar/index.js.map +1 -0
  104. package/dist/commands/bar/install-subcommand.d.ts +50 -0
  105. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  106. package/dist/commands/bar/install-subcommand.js +383 -0
  107. package/dist/commands/bar/install-subcommand.js.map +1 -0
  108. package/dist/commands/bar/launch-subcommand.d.ts +38 -0
  109. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  110. package/dist/commands/bar/launch-subcommand.js +144 -0
  111. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  112. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  113. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  114. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  115. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  116. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  117. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  118. package/dist/commands/bar/version-subcommand.js +62 -0
  119. package/dist/commands/bar/version-subcommand.js.map +1 -0
  120. package/dist/commands/cleanup-command.d.ts.map +1 -1
  121. package/dist/commands/cleanup-command.js +99 -51
  122. package/dist/commands/cleanup-command.js.map +1 -1
  123. package/dist/commands/cliproxy/quota-subcommand.d.ts +10 -1
  124. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  125. package/dist/commands/cliproxy/quota-subcommand.js +15 -6
  126. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  127. package/dist/commands/command-catalog.d.ts.map +1 -1
  128. package/dist/commands/command-catalog.js +7 -0
  129. package/dist/commands/command-catalog.js.map +1 -1
  130. package/dist/commands/config-channels-command.d.ts +1 -4
  131. package/dist/commands/config-channels-command.d.ts.map +1 -1
  132. package/dist/commands/config-channels-command.js +20 -24
  133. package/dist/commands/config-channels-command.js.map +1 -1
  134. package/dist/commands/root-command-router.d.ts.map +1 -1
  135. package/dist/commands/root-command-router.js +7 -0
  136. package/dist/commands/root-command-router.js.map +1 -1
  137. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  138. package/dist/config/loader/yaml-serializer.js +13 -0
  139. package/dist/config/loader/yaml-serializer.js.map +1 -1
  140. package/dist/config/reserved-names.d.ts +1 -1
  141. package/dist/config/reserved-names.d.ts.map +1 -1
  142. package/dist/config/reserved-names.js +1 -0
  143. package/dist/config/reserved-names.js.map +1 -1
  144. package/dist/config/schemas/proxy-server.js +1 -1
  145. package/dist/config/schemas/quota.d.ts +26 -2
  146. package/dist/config/schemas/quota.d.ts.map +1 -1
  147. package/dist/config/schemas/quota.js +20 -1
  148. package/dist/config/schemas/quota.js.map +1 -1
  149. package/dist/cursor/cursor-daemon-auth.d.ts +2 -0
  150. package/dist/cursor/cursor-daemon-auth.d.ts.map +1 -0
  151. package/dist/cursor/cursor-daemon-auth.js +49 -0
  152. package/dist/cursor/cursor-daemon-auth.js.map +1 -0
  153. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  154. package/dist/cursor/cursor-daemon-entry.js +44 -0
  155. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  156. package/dist/cursor/cursor-daemon.d.ts +2 -1
  157. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  158. package/dist/cursor/cursor-daemon.js +21 -5
  159. package/dist/cursor/cursor-daemon.js.map +1 -1
  160. package/dist/cursor/cursor-models.d.ts.map +1 -1
  161. package/dist/cursor/cursor-models.js +2 -1
  162. package/dist/cursor/cursor-models.js.map +1 -1
  163. package/dist/cursor/cursor-profile-executor.d.ts +1 -1
  164. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  165. package/dist/cursor/cursor-profile-executor.js +7 -4
  166. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  167. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -1
  168. package/dist/cursor/cursor-runtime-probe.js +4 -2
  169. package/dist/cursor/cursor-runtime-probe.js.map +1 -1
  170. package/dist/cursor/types.d.ts +1 -0
  171. package/dist/cursor/types.d.ts.map +1 -1
  172. package/dist/dispatcher/profile-resolver.d.ts +16 -0
  173. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  174. package/dist/dispatcher/profile-resolver.js +49 -3
  175. package/dist/dispatcher/profile-resolver.js.map +1 -1
  176. package/dist/docker/docker-key-rotation.d.ts +2 -0
  177. package/dist/docker/docker-key-rotation.d.ts.map +1 -1
  178. package/dist/docker/docker-key-rotation.js +9 -1
  179. package/dist/docker/docker-key-rotation.js.map +1 -1
  180. package/dist/glmt/sse-parser.d.ts +1 -0
  181. package/dist/glmt/sse-parser.d.ts.map +1 -1
  182. package/dist/glmt/sse-parser.js +13 -1
  183. package/dist/glmt/sse-parser.js.map +1 -1
  184. package/dist/management/shared-manager.d.ts.map +1 -1
  185. package/dist/management/shared-manager.js +9 -1
  186. package/dist/management/shared-manager.js.map +1 -1
  187. package/dist/proxy/profile-router.d.ts +2 -0
  188. package/dist/proxy/profile-router.d.ts.map +1 -1
  189. package/dist/proxy/profile-router.js +6 -2
  190. package/dist/proxy/profile-router.js.map +1 -1
  191. package/dist/proxy/proxy-daemon.js +1 -1
  192. package/dist/proxy/proxy-daemon.js.map +1 -1
  193. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  194. package/dist/proxy/server/messages-route.js +79 -7
  195. package/dist/proxy/server/messages-route.js.map +1 -1
  196. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  197. package/dist/proxy/transformers/request-transformer.js +9 -2
  198. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  199. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  200. package/dist/shared/claude-extension-setup.js +2 -1
  201. package/dist/shared/claude-extension-setup.js.map +1 -1
  202. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -1
  203. package/dist/shared/cliproxy-model-routing.js +1 -0
  204. package/dist/shared/cliproxy-model-routing.js.map +1 -1
  205. package/dist/shared/stale-codex-translator-settings.d.ts.map +1 -1
  206. package/dist/shared/stale-codex-translator-settings.js +48 -9
  207. package/dist/shared/stale-codex-translator-settings.js.map +1 -1
  208. package/dist/targets/codex-adapter.d.ts.map +1 -1
  209. package/dist/targets/codex-adapter.js +10 -8
  210. package/dist/targets/codex-adapter.js.map +1 -1
  211. package/dist/targets/target-metadata.js +1 -1
  212. package/dist/targets/target-metadata.js.map +1 -1
  213. package/dist/ui/assets/{Trans-DyZQZ3e2.js → Trans-BkttMZOY.js} +1 -1
  214. package/dist/ui/assets/accounts-CMnafyvZ.js +1 -0
  215. package/dist/ui/assets/{alert-dialog-DWHL-dqd.js → alert-dialog-Dgbg5gJ1.js} +1 -1
  216. package/dist/ui/assets/api-VhuWZte1.js +4 -0
  217. package/dist/ui/assets/{auth-section-B4o90dwz.js → auth-section-DV1ImDLn.js} +1 -1
  218. package/dist/ui/assets/{backups-section-1AsdSIJO.js → backups-section-D7r-Huo_.js} +1 -1
  219. package/dist/ui/assets/{channels-CU4Zdsc_.js → channels-CKUk3W1L.js} +1 -1
  220. package/dist/ui/assets/{checkbox-CbCKGH8I.js → checkbox-B6j6PA4N.js} +1 -1
  221. package/dist/ui/assets/claude-extension-B9phgEGW.js +1 -0
  222. package/dist/ui/assets/cliproxy-CjZiufaQ.js +4 -0
  223. package/dist/ui/assets/{cliproxy-ai-providers-Dr4L5NRY.js → cliproxy-ai-providers-J_8Tg44E.js} +6 -6
  224. package/dist/ui/assets/cliproxy-control-panel-DOxGnabX.js +1 -0
  225. package/dist/ui/assets/codex-BJuDLXfe.js +30 -0
  226. package/dist/ui/assets/{confirm-dialog-b5Dahgnk.js → confirm-dialog-CjwyQ3AU.js} +1 -1
  227. package/dist/ui/assets/{copilot-B1Ojakbt.js → copilot-Nhs4PdOq.js} +2 -2
  228. package/dist/ui/assets/{cursor-PUtNVPx1.js → cursor-DqFROSqy.js} +1 -1
  229. package/dist/ui/assets/{droid-S2gclncb.js → droid-CBwAiZcv.js} +1 -1
  230. package/dist/ui/assets/{globalenv-section-7wKSmNSG.js → globalenv-section-D9WhcK3S.js} +1 -1
  231. package/dist/ui/assets/{health-hMLN_gyw.js → health-CE3lFqFV.js} +1 -1
  232. package/dist/ui/assets/icons-gI6odJjU.js +1 -0
  233. package/dist/ui/assets/{index-Cx0dmbiQ.js → index-Bssd99Pa.js} +1 -1
  234. package/dist/ui/assets/index-C6D81JHk.js +1 -0
  235. package/dist/ui/assets/{index-BWboJia4.js → index-D--xE6Kq.js} +1 -1
  236. package/dist/ui/assets/index-DFYK4jw3.js +56 -0
  237. package/dist/ui/assets/{index-DkR2KVhF.js → index-DGsfFqiO.js} +1 -1
  238. package/dist/ui/assets/index-UEdhhar4.css +1 -0
  239. package/dist/ui/assets/{index-Coc3_ABK.js → index-bJvDY0e2.js} +1 -1
  240. package/dist/ui/assets/{index-CxvNNHgE.js → index-vK0cF4_0.js} +1 -1
  241. package/dist/ui/assets/logs-BUA9GCN2.js +1 -0
  242. package/dist/ui/assets/{masked-input-4L9CIZGb.js → masked-input-BZdCgWmH.js} +1 -1
  243. package/dist/ui/assets/providers/qoder.svg +1 -0
  244. package/dist/ui/assets/proxy-status-widget-I35xB9u9.js +1 -0
  245. package/dist/ui/assets/{raw-json-settings-editor-panel-DXh8c8rA.js → raw-json-settings-editor-panel-DuL_4ncA.js} +1 -1
  246. package/dist/ui/assets/{searchable-select-CtvEQrMo.js → searchable-select-BleLprBy.js} +1 -1
  247. package/dist/ui/assets/{separator-E0ISp1SN.js → separator-De5-VTtx.js} +1 -1
  248. package/dist/ui/assets/{shared-BeYwHeNS.js → shared-Bu81YVUK.js} +2 -2
  249. package/dist/ui/assets/{table-BBslZvNP.js → table-DsXaM2jg.js} +1 -1
  250. package/dist/ui/assets/updates-C2bOO3Fo.js +1 -0
  251. package/dist/ui/assets/{use-accounts-BdalFsdY.js → use-accounts-C2OmaTJU.js} +1 -1
  252. package/dist/ui/index.html +3 -3
  253. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  254. package/dist/utils/browser/browser-settings.js +13 -3
  255. package/dist/utils/browser/browser-settings.js.map +1 -1
  256. package/dist/utils/glmt-deprecation.d.ts.map +1 -1
  257. package/dist/utils/glmt-deprecation.js +1 -3
  258. package/dist/utils/glmt-deprecation.js.map +1 -1
  259. package/dist/utils/retry-strategy.js +1 -1
  260. package/dist/utils/retry-strategy.js.map +1 -1
  261. package/dist/web-server/index.d.ts.map +1 -1
  262. package/dist/web-server/index.js +0 -9
  263. package/dist/web-server/index.js.map +1 -1
  264. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  265. package/dist/web-server/middleware/auth-middleware.js +26 -4
  266. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  267. package/dist/web-server/model-pricing.d.ts +18 -2
  268. package/dist/web-server/model-pricing.d.ts.map +1 -1
  269. package/dist/web-server/model-pricing.js +79 -3
  270. package/dist/web-server/model-pricing.js.map +1 -1
  271. package/dist/web-server/models-dev/pricing-resolver.js +14 -14
  272. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -1
  273. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  274. package/dist/web-server/routes/account-routes.js +116 -0
  275. package/dist/web-server/routes/account-routes.js.map +1 -1
  276. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  277. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  278. package/dist/web-server/routes/bar-routes.js +415 -0
  279. package/dist/web-server/routes/bar-routes.js.map +1 -0
  280. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +10 -0
  281. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  282. package/dist/web-server/routes/cliproxy-auth-routes.js +45 -13
  283. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  284. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  285. package/dist/web-server/routes/cliproxy-local-proxy.js +25 -8
  286. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  287. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  288. package/dist/web-server/routes/cursor-routes.js +6 -1
  289. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  290. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  291. package/dist/web-server/routes/image-analysis-routes.js +7 -0
  292. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  293. package/dist/web-server/routes/index.d.ts.map +1 -1
  294. package/dist/web-server/routes/index.js +18 -0
  295. package/dist/web-server/routes/index.js.map +1 -1
  296. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  297. package/dist/web-server/routes/profile-routes.js +6 -1
  298. package/dist/web-server/routes/profile-routes.js.map +1 -1
  299. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  300. package/dist/web-server/routes/settings-routes.js +10 -1
  301. package/dist/web-server/routes/settings-routes.js.map +1 -1
  302. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -1
  303. package/dist/web-server/services/claude-extension-settings-service.js +5 -1
  304. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -1
  305. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  306. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  307. package/dist/web-server/usage/bar-analytics.js +315 -0
  308. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  309. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  310. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  311. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  312. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  313. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  314. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  315. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  316. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  317. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  318. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  319. package/dist/web-server/usage/cliproxy-usage-syncer.js +46 -13
  320. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  321. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +9 -3
  322. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  323. package/dist/web-server/usage/cliproxy-usage-transformer.js +133 -19
  324. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  325. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  326. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  327. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  328. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  329. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  330. package/dist/web-server/usage/codex-native-usage-collector.js +18 -2
  331. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  332. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  333. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  334. package/dist/web-server/usage/data-aggregator.js +29 -1
  335. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  336. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  337. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  338. package/dist/web-server/usage/native-quota-collector.js +378 -0
  339. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  340. package/dist/web-server/usage/profile-filter.d.ts +1 -1
  341. package/dist/web-server/usage/profile-filter.d.ts.map +1 -1
  342. package/dist/web-server/usage/profile-filter.js +6 -1
  343. package/dist/web-server/usage/profile-filter.js.map +1 -1
  344. package/dist/web-server/usage/types.d.ts +2 -0
  345. package/dist/web-server/usage/types.d.ts.map +1 -1
  346. package/lib/mcp/ccs-browser-server.cjs +31 -15
  347. package/package.json +1 -1
  348. package/scripts/completion/ccs.bash +0 -12
  349. package/scripts/completion/ccs.fish +0 -11
  350. package/scripts/completion/ccs.ps1 +0 -10
  351. package/scripts/completion/ccs.zsh +0 -13
  352. package/scripts/github/stable-release-issue-cleanup-lib.mjs +115 -0
  353. package/scripts/github/stable-release-issue-cleanup.mjs +134 -0
  354. package/dist/ui/assets/accounts-BPJltru3.js +0 -1
  355. package/dist/ui/assets/api-BxPN-zy4.js +0 -4
  356. package/dist/ui/assets/claude-extension-CWpjmIGt.js +0 -1
  357. package/dist/ui/assets/cliproxy-K6eBb5VO.js +0 -4
  358. package/dist/ui/assets/cliproxy-control-panel-Cz5r7kHP.js +0 -1
  359. package/dist/ui/assets/codex-0HdbW8NR.js +0 -30
  360. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  361. package/dist/ui/assets/index-BMoGhs28.css +0 -1
  362. package/dist/ui/assets/index-COt1pbk-.js +0 -1
  363. package/dist/ui/assets/index-CcGVqYOy.js +0 -56
  364. package/dist/ui/assets/logs-BRFVfyLc.js +0 -1
  365. package/dist/ui/assets/proxy-status-widget-s1UWOE23.js +0 -1
  366. package/dist/ui/assets/updates-CDrm903n.js +0 -1
@@ -1 +1 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as o}from"./react-vendor-Bjx91N7w.js";import{by as ie,bz as ne,Z as E,a as X,bA as oe,bi as O,bk as R,e as h,t as le,c as w,L as f,I as T,j as $,k as H,l as F,m as U,n as V,aI as G,N as ce,O as ue,Q as xe}from"./index-CcGVqYOy.js";import{m as g,A as me}from"./proxy-C4-M_9kB.js";import{R as N,I as B,x as k,ab as ge,_ as be,bc as pe,w as Z,$ as he,a6 as fe,e as we,s as je}from"./icons-DzKUh8vG.js";import"./tanstack-bhJxV1h8.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";function ve(r,s){return{claude:{...r.claude,...s.claude},codex:{...r.codex,...s.codex}}}function Ne(){const{state:r}=ie(),s=ne(),i=o.useCallback(async()=>{try{s.setBrowserLoading(!0),s.setBrowserError(null);const d=await E.browser.get();s.setBrowserConfig(d.config),s.setBrowserStatus(d.status)}catch(d){s.setBrowserError(d.message)}finally{s.setBrowserLoading(!1),s.setBrowserStatusLoading(!1)}},[s]),a=o.useCallback(async()=>{try{s.setBrowserStatusLoading(!0),s.setBrowserError(null);const d=await E.browser.getStatus();return s.setBrowserStatus(d),d}catch(d){return s.setBrowserError(d.message),null}finally{s.setBrowserStatusLoading(!1)}},[s]),c=o.useCallback(async d=>{const l=r.browserConfig;if(!l)return!1;const b=ve(l,d);s.setBrowserConfig(b);try{s.setBrowserSaving(!0),s.setBrowserError(null);const x=await E.browser.update(d);return s.setBrowserConfig(x.browser.config),s.setBrowserStatus(x.browser.status),s.setBrowserSuccess(!0),window.setTimeout(()=>s.setBrowserSuccess(!1),1500),!0}catch(x){return s.setBrowserConfig(l),s.setBrowserError(x.message),!1}finally{s.setBrowserSaving(!1)}},[s,r.browserConfig]);return{config:r.browserConfig,status:r.browserStatus,loading:r.browserLoading,statusLoading:r.browserStatusLoading,saving:r.browserSaving,error:r.browserError,success:r.browserSuccess,fetchConfig:i,fetchStatus:a,saveConfig:c}}function ke(r){const s=r.toLowerCase();return s.includes("mac")?"darwin":s.includes("win")?"win32":"linux"}function ye(r=navigator){const s=typeof r.userAgentData?.platform=="string"?r.userAgentData.platform:"",i=typeof r.platform=="string"&&r.platform.trim()?r.platform:r.userAgent;return ke(s||i||"")}function Se(r){if(!/^\d+$/.test(r.trim()))return null;const s=Number.parseInt(r.trim(),10);return s<1||s>65535?null:s}const q=["disabled","readonly","readwrite"];function D(r,s){return r(`settingsPage.browserSection.evalMode.options.${s}`)}function Ce(r,s,i){const a=JSON.stringify(r);return i==="darwin"?`open -na "Google Chrome" --args --remote-debugging-port=${s} --user-data-dir=${a}`:i==="win32"?`chrome.exe --remote-debugging-port=${s} --user-data-dir=${a}`:`google-chrome --remote-debugging-port=${s} --user-data-dir=${a}`}function J({children:r,className:s,title:i,description:a,badge:c,action:d}){return e.jsx("div",{className:w("group relative overflow-hidden rounded-[2.5rem] border border-border/60 bg-muted/20 p-1.5 transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)] dark:border-white/[0.08] dark:bg-zinc-900/35",s),children:e.jsxs("div",{className:"relative overflow-hidden rounded-[calc(2.5rem-0.375rem)] border border-border/70 bg-card/90 shadow-[0_12px_36px_-18px_rgba(15,23,42,0.18)] dark:border-white/[0.08] dark:bg-zinc-900/70 dark:shadow-[0_18px_44px_-24px_rgba(0,0,0,0.55)]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 shadow-[inset_0_1px_0_rgba(255,255,255,0.28)] dark:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]"}),(i||d)&&e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4 border-b border-border/60 px-8 py-6 dark:border-white/[0.06]",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h3",{className:"text-xl font-semibold tracking-tight",children:i}),c]}),a&&e.jsx("p",{className:"text-sm text-muted-foreground",children:a})]}),d&&e.jsx("div",{className:"flex items-center gap-2",children:d})]}),e.jsx("div",{className:"px-8 py-8",children:r})]})})}function K({state:r,title:s,detail:i,nextStep:a}){const{t:c}=X(),d=r==="ready"||r==="enabled",l=!d&&r!=="disabled";return e.jsx("div",{className:w("relative overflow-hidden rounded-2xl border p-4 transition-all duration-500",d?"border-emerald-500/20 bg-emerald-500/[0.03] dark:bg-emerald-500/[0.02]":l?"border-amber-500/20 bg-amber-500/[0.03] dark:bg-amber-500/[0.02]":"border-border/60 bg-muted/30 dark:border-white/[0.06] dark:bg-zinc-900/45"),children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:w("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-transform duration-500 group-hover:scale-110",d?"bg-emerald-500/10 text-emerald-600":l?"bg-amber-500/10 text-amber-600":"bg-slate-500/10 text-slate-500"),children:d?e.jsx(k,{size:24}):l?e.jsx(Z,{size:24}):e.jsx(B,{size:24})}),e.jsxs("div",{className:"min-w-0 flex-1 space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-semibold uppercase tracking-wider text-muted-foreground/60",children:c("settingsPage.browserSection.readiness")}),d&&e.jsx(g.span,{animate:{opacity:[.4,1,.4]},transition:{duration:2,repeat:1/0},className:"h-1.5 w-1.5 rounded-full bg-emerald-500"})]}),e.jsx("h4",{className:"font-medium text-foreground",children:s}),e.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:i}),a&&e.jsxs("div",{className:"mt-3 flex items-start gap-2 rounded-lg border border-border/50 bg-muted/35 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx(fe,{size:14,className:"mt-0.5 shrink-0 text-primary"}),e.jsxs("p",{className:"text-xs leading-normal",children:[e.jsxs("span",{className:"font-semibold text-primary",children:[c("settingsPage.browserSection.nextStep"),":"]})," ",a]})]})]})]})})}function Q({title:r,children:s,defaultOpen:i=!1}){const[a,c]=o.useState(i);return e.jsxs(ce,{open:a,onOpenChange:c,className:"overflow-hidden rounded-2xl border border-border/60 bg-muted/20 dark:border-white/[0.06] dark:bg-zinc-900/30",children:[e.jsx(ue,{asChild:!0,children:e.jsxs("button",{className:"flex w-full items-center justify-between px-6 py-4 text-sm font-medium transition-colors hover:bg-muted/40 dark:hover:bg-zinc-900/50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(we,{size:16,className:"text-muted-foreground"}),r]}),e.jsx(je,{size:16,className:w("transition-transform duration-300",a&&"rotate-180")})]})}),e.jsx(xe,{children:e.jsx("div",{className:"border-t border-border/60 px-6 py-6 dark:border-white/[0.06]",children:s})})]})}function Oe(){const{t:r}=X(),{fetchRawConfig:s}=oe(),{config:i,status:a,loading:c,statusLoading:d,saving:l,error:b,success:x,fetchConfig:y,fetchStatus:L,saveConfig:S}=Ne(),[Y,m]=o.useState(null),[ee,C]=o.useState(null),[P,p]=o.useState(null);o.useEffect(()=>{y()},[y]),o.useEffect(()=>{if(!P&&!x)return;const n=window.setTimeout(()=>p(null),2500);return()=>window.clearTimeout(n)},[P,x]);const t=Y??i,j=o.useMemo(()=>t?Ce(t.claude.userDataDir,t.claude.devtoolsPort,ye()):"",[t]),M=ee??String(t?.claude.devtoolsPort??9222),v=Se(M),z=M.trim().length>0&&v===null,_=i!==null&&t!==null&&(i.claude.enabled!==t.claude.enabled||i.claude.userDataDir!==t.claude.userDataDir||i.claude.devtoolsPort!==v||i.claude.evalMode!==t.claude.evalMode),re=i!==null&&t!==null&&(i.codex.enabled!==t.codex.enabled||i.codex.evalMode!==t.codex.evalMode),I=o.useCallback(async()=>{p(null),m(null),C(null),await Promise.all([y(),s()])},[y,s]),se=o.useCallback(async()=>{await L()&&p(r("settingsPage.browserSection.messages.statusRefreshed"))},[L,r]),ae=o.useCallback(async()=>{if(!t||v===null)return;await S({claude:{enabled:t.claude.enabled,userDataDir:t.claude.userDataDir.trim(),devtoolsPort:v,evalMode:t.claude.evalMode}})&&(await s(),p(null),m(null),C(null))},[v,t,s,S]),te=o.useCallback(async()=>{if(!t)return;await S({codex:{enabled:t.codex.enabled,evalMode:t.codex.evalMode}})&&(await s(),p(null),m(null),C(null))},[t,s,S]),de=o.useCallback(async()=>{j&&(await navigator.clipboard.writeText(j),p(r("settingsPage.browserSection.messages.launchCommandCopied")))},[j,r]);return c?e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 text-muted-foreground",children:[e.jsx(g.div,{animate:{rotate:360},transition:{duration:1.5,repeat:1/0,ease:"linear"},children:e.jsx(N,{size:32})}),e.jsx("span",{className:"text-sm font-medium uppercase tracking-widest opacity-60",children:r("settings.loading")})]})}):!i||!a||!t?e.jsx("div",{className:"p-8",children:e.jsxs(O,{variant:"destructive",className:"rounded-[2rem] p-8 shadow-xl",children:[e.jsx(B,{size:24}),e.jsx(R,{className:"mt-2 text-md leading-relaxed",children:b??r("settingsPage.browserSection.description")}),e.jsx("div",{className:"mt-6",children:e.jsxs(h,{variant:"outline",className:"rounded-full px-6 transition-transform active:scale-95",onClick:I,children:[e.jsx(N,{className:"mr-2 h-4 w-4"}),r("sharedPage.retry")]})})]})}):e.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden bg-background",children:[e.jsx(me,{children:(b||x||P)&&e.jsx(g.div,{initial:{opacity:0,y:-20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.95},className:"absolute left-1/2 top-6 z-50 -translate-x-1/2",children:b?e.jsxs("div",{className:"flex items-center gap-3 rounded-full border border-rose-500/20 bg-card/95 px-6 py-2.5 text-sm font-medium text-rose-600 shadow-2xl dark:bg-zinc-900/85",children:[e.jsx(B,{size:18}),b]}):e.jsxs("div",{className:"flex items-center gap-3 rounded-full border border-emerald-500/20 bg-card/95 px-6 py-2.5 text-sm font-medium text-emerald-600 shadow-2xl dark:bg-zinc-900/85",children:[e.jsx(k,{size:18}),P??r("commonToast.settingsSaved")]})})}),e.jsx(le,{className:"flex-1",children:e.jsxs("div",{className:"mx-auto max-w-[1240px] space-y-12 p-8 py-16",children:[e.jsxs(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"flex flex-wrap items-end justify-between gap-6",children:[e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl bg-primary/10 text-primary",children:e.jsx(ge,{size:28})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:r("settingsPage.browserSection.title")}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:r("settingsPage.browserSection.description")})]})]})}),e.jsxs(h,{variant:"outline",className:"rounded-full border-border/70 bg-background/85 shadow-sm transition-all hover:bg-muted/50 active:scale-95 dark:border-white/[0.08] dark:bg-zinc-900/70 dark:hover:bg-zinc-900",onClick:I,disabled:l||c,children:[e.jsx(N,{className:w("mr-2 h-4 w-4",d&&"animate-spin")}),r("settings.refresh")]})]}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},children:e.jsxs(O,{className:"items-center rounded-3xl border-primary/10 bg-primary/[0.04] p-6 py-4 dark:border-primary/15 dark:bg-primary/[0.05]",children:[e.jsx(be,{className:"h-5 w-5 text-primary"}),e.jsxs(R,{className:"ml-2 text-sm",children:[e.jsx("span",{className:"font-semibold text-primary/80",children:r("settingsPage.browserSection.primaryTitle")})," ",r("settingsPage.browserSection.primaryDescription")]})]})}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},children:e.jsx(J,{title:r("settingsPage.browserSection.claude.title"),description:r("settingsPage.browserSection.claude.description"),action:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border/60 bg-muted/30 px-4 py-2 dark:border-white/[0.06] dark:bg-zinc-900/45",children:[e.jsx(f,{htmlFor:"browser-claude-enabled",className:"cursor-pointer text-xs font-semibold leading-none",children:t.claude.enabled?"ENABLED":"DISABLED"}),e.jsx(G,{id:"browser-claude-enabled",checked:t.claude.enabled,onCheckedChange:n=>m(u=>A(u??t,{enabled:n}))})]}),e.jsxs(h,{onClick:ae,disabled:l||z||!_,className:"rounded-full px-6 shadow-md transition-transform active:scale-95",children:[l?e.jsx(N,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(k,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.saveClaude")]}),e.jsxs(h,{variant:"outline",className:"rounded-full border-border/70 bg-background/85 shadow-sm transition-all hover:bg-muted/50 active:scale-95 dark:border-white/[0.08] dark:bg-zinc-900/70 dark:hover:bg-zinc-900",onClick:se,disabled:l||d||_||z,children:[e.jsx(he,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.testConnection")]})]}),children:e.jsxs("div",{className:"grid gap-12",children:[e.jsx(K,{state:a.claude.state,title:a.claude.title,detail:a.claude.detail,nextStep:a.claude.nextStep}),e.jsxs("div",{className:"grid gap-8 lg:grid-cols-2",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{htmlFor:"browser-claude-user-data-dir",className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.claude.userDataDir")}),e.jsx(T,{id:"browser-claude-user-data-dir",value:t.claude.userDataDir,onChange:n=>m(u=>A(u??t,{userDataDir:n.target.value})),className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",placeholder:a.claude.recommendedUserDataDir}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.claude.userDataDirHint")})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{htmlFor:"browser-claude-devtools-port",className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.claude.devtoolsPort")}),e.jsx(T,{id:"browser-claude-devtools-port",value:M,onChange:n=>C(n.target.value),inputMode:"numeric",className:"max-w-[120px] rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70"}),e.jsx("p",{className:w("text-[11px] leading-relaxed text-muted-foreground/70",z&&"text-rose-500"),children:r(z?"settingsPage.browserSection.claude.devtoolsPortInvalid":"settingsPage.browserSection.claude.devtoolsPortHint")})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.evalMode.label")}),e.jsxs($,{value:t.claude.evalMode,onValueChange:n=>m(u=>A(u??t,{evalMode:n})),children:[e.jsx(H,{className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",children:e.jsx(F,{})}),e.jsx(U,{children:q.map(n=>e.jsx(V,{value:n,children:D(r,n)},n))})]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.claude.evalModeHint")})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"group/launch relative overflow-hidden rounded-2xl border border-border/60 bg-muted/20 p-5 transition-all hover:bg-muted/35 dark:border-white/[0.06] dark:bg-zinc-900/35 dark:hover:bg-zinc-900/50",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-[11px] font-bold uppercase tracking-[0.15em] text-primary/70",children:r("settingsPage.browserSection.claude.launchGuidance")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r("settingsPage.browserSection.claude.launchGuidanceHint")})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 rounded-full p-0 transition-transform active:scale-90",onClick:de,disabled:!j,children:e.jsx(pe,{size:18})})]}),e.jsx("code",{className:"mt-4 block break-all rounded-lg border border-border/50 bg-background/80 p-3 font-mono text-[10px] leading-relaxed dark:border-white/[0.05] dark:bg-zinc-900/60",children:j})]}),a.claude.overrideActive&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-amber-500/10 bg-amber-500/[0.05] p-4 text-xs font-medium text-amber-700 dark:text-amber-300",children:[e.jsx(Z,{size:18}),r("settingsPage.browserSection.claude.overrideMessage",{source:a.claude.source})]})]})]}),e.jsx(Q,{title:r("settingsPage.browserSection.technicalDetails"),defaultOpen:a.claude.state!=="ready",children:e.jsxs("div",{className:"grid gap-6 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.claude.effectivePath")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"break-all font-mono text-[11px] leading-relaxed",children:a.claude.effectiveUserDataDir})}),e.jsxs("p",{className:"text-[10px] font-medium text-muted-foreground/60",children:[e.jsxs("span",{className:"font-bold",children:[r("settingsPage.browserSection.claude.recommendedPath"),":"]})," ",a.claude.recommendedUserDataDir]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.claude.managedRuntime")}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx("p",{className:"font-semibold text-primary/80",children:a.claude.managedMcpServerName}),e.jsx("p",{className:"mt-1 break-all font-mono text-[11px] leading-relaxed text-muted-foreground/80",children:a.claude.managedMcpServerPath})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.evalMode.label")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:D(r,a.claude.evalMode)})})]})]})})]})})}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.3},children:e.jsx(J,{title:r("settingsPage.browserSection.codex.title"),description:r("settingsPage.browserSection.codex.description"),action:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border/60 bg-muted/30 px-4 py-2 dark:border-white/[0.06] dark:bg-zinc-900/45",children:[e.jsx(f,{htmlFor:"browser-codex-enabled",className:"cursor-pointer text-xs font-semibold leading-none",children:t.codex.enabled?"ENABLED":"DISABLED"}),e.jsx(G,{id:"browser-codex-enabled",checked:t.codex.enabled,onCheckedChange:n=>m(u=>W(u??t,{enabled:n}))})]}),e.jsxs(h,{onClick:te,disabled:l||!re,className:"rounded-full px-6 shadow-md transition-transform active:scale-95",children:[l?e.jsx(N,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(k,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.saveCodex")]})]}),children:e.jsxs("div",{className:"grid gap-12",children:[e.jsx(K,{state:a.codex.state,title:a.codex.title,detail:a.codex.detail,nextStep:a.codex.nextStep}),e.jsxs("div",{className:"max-w-md space-y-3",children:[e.jsx(f,{className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.evalMode.label")}),e.jsxs($,{value:t.codex.evalMode,onValueChange:n=>m(u=>W(u??t,{evalMode:n})),children:[e.jsx(H,{className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",children:e.jsx(F,{})}),e.jsx(U,{children:q.map(n=>e.jsx(V,{value:n,children:D(r,n)},n))})]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.codex.evalModeHint")})]}),e.jsx(Q,{title:r("settingsPage.browserSection.technicalDetails"),defaultOpen:a.codex.state==="unsupported_build",children:e.jsxs("div",{className:"grid gap-6 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.serverName")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:a.codex.serverName})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.overrideSupport")}),e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/50 bg-muted/25 p-3 font-medium text-xs dark:border-white/[0.05] dark:bg-zinc-900/45",children:[a.codex.supportsConfigOverrides?e.jsx(k,{className:"text-emerald-500",size:16}):e.jsx(B,{className:"text-rose-500",size:16}),a.codex.supportsConfigOverrides?r("settingsPage.browserSection.codex.overrideSupported"):r("settingsPage.browserSection.codex.overrideUnsupported")]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.binary")}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx("p",{className:"break-all font-mono text-[11px] leading-relaxed",children:a.codex.binaryPath??r("settingsPage.browserSection.codex.notDetected")}),a.codex.version&&e.jsx("div",{className:"mt-2 inline-flex rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold text-primary",children:a.codex.version})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.evalMode.label")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:D(r,a.codex.evalMode)})})]})]})})]})})})]})})]})}function A(r,s){return{...r,claude:{...r.claude,...s}}}function W(r,s){return{...r,codex:{...r.codex,...s}}}export{Oe as default};
1
+ import{j as e}from"./radix-ui-nu4wz29m.js";import{r as o}from"./react-vendor-Bjx91N7w.js";import{by as ie,bz as ne,_ as E,a as X,bA as oe,bi as O,bk as R,e as h,x as le,c as w,L as f,I as T,j as $,k as H,l as F,m as U,n as V,aJ as G,O as ce,Q as ue,R as xe}from"./index-DFYK4jw3.js";import{m as g,A as me}from"./proxy-C4-M_9kB.js";import{R as N,I as B,x as k,ab as ge,_ as be,bd as pe,w as Y,$ as he,a6 as fe,e as we,s as je}from"./icons-gI6odJjU.js";import"./tanstack-bhJxV1h8.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";function ve(r,s){return{claude:{...r.claude,...s.claude},codex:{...r.codex,...s.codex}}}function Ne(){const{state:r}=ie(),s=ne(),i=o.useCallback(async()=>{try{s.setBrowserLoading(!0),s.setBrowserError(null);const d=await E.browser.get();s.setBrowserConfig(d.config),s.setBrowserStatus(d.status)}catch(d){s.setBrowserError(d.message)}finally{s.setBrowserLoading(!1),s.setBrowserStatusLoading(!1)}},[s]),a=o.useCallback(async()=>{try{s.setBrowserStatusLoading(!0),s.setBrowserError(null);const d=await E.browser.getStatus();return s.setBrowserStatus(d),d}catch(d){return s.setBrowserError(d.message),null}finally{s.setBrowserStatusLoading(!1)}},[s]),c=o.useCallback(async d=>{const l=r.browserConfig;if(!l)return!1;const b=ve(l,d);s.setBrowserConfig(b);try{s.setBrowserSaving(!0),s.setBrowserError(null);const x=await E.browser.update(d);return s.setBrowserConfig(x.browser.config),s.setBrowserStatus(x.browser.status),s.setBrowserSuccess(!0),window.setTimeout(()=>s.setBrowserSuccess(!1),1500),!0}catch(x){return s.setBrowserConfig(l),s.setBrowserError(x.message),!1}finally{s.setBrowserSaving(!1)}},[s,r.browserConfig]);return{config:r.browserConfig,status:r.browserStatus,loading:r.browserLoading,statusLoading:r.browserStatusLoading,saving:r.browserSaving,error:r.browserError,success:r.browserSuccess,fetchConfig:i,fetchStatus:a,saveConfig:c}}function ke(r){const s=r.toLowerCase();return s.includes("mac")?"darwin":s.includes("win")?"win32":"linux"}function ye(r=navigator){const s=typeof r.userAgentData?.platform=="string"?r.userAgentData.platform:"",i=typeof r.platform=="string"&&r.platform.trim()?r.platform:r.userAgent;return ke(s||i||"")}function Se(r){if(!/^\d+$/.test(r.trim()))return null;const s=Number.parseInt(r.trim(),10);return s<1||s>65535?null:s}const J=["disabled","readonly","readwrite"];function D(r,s){return r(`settingsPage.browserSection.evalMode.options.${s}`)}function Ce(r,s,i){const a=JSON.stringify(r);return i==="darwin"?`open -na "Google Chrome" --args --remote-debugging-port=${s} --user-data-dir=${a}`:i==="win32"?`chrome.exe --remote-debugging-port=${s} --user-data-dir=${a}`:`google-chrome --remote-debugging-port=${s} --user-data-dir=${a}`}function q({children:r,className:s,title:i,description:a,badge:c,action:d}){return e.jsx("div",{className:w("group relative overflow-hidden rounded-[2.5rem] border border-border/60 bg-muted/20 p-1.5 transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)] dark:border-white/[0.08] dark:bg-zinc-900/35",s),children:e.jsxs("div",{className:"relative overflow-hidden rounded-[calc(2.5rem-0.375rem)] border border-border/70 bg-card/90 shadow-[0_12px_36px_-18px_rgba(15,23,42,0.18)] dark:border-white/[0.08] dark:bg-zinc-900/70 dark:shadow-[0_18px_44px_-24px_rgba(0,0,0,0.55)]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 shadow-[inset_0_1px_0_rgba(255,255,255,0.28)] dark:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]"}),(i||d)&&e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4 border-b border-border/60 px-8 py-6 dark:border-white/[0.06]",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h3",{className:"text-xl font-semibold tracking-tight",children:i}),c]}),a&&e.jsx("p",{className:"text-sm text-muted-foreground",children:a})]}),d&&e.jsx("div",{className:"flex items-center gap-2",children:d})]}),e.jsx("div",{className:"px-8 py-8",children:r})]})})}function K({state:r,title:s,detail:i,nextStep:a}){const{t:c}=X(),d=r==="ready"||r==="enabled",l=!d&&r!=="disabled";return e.jsx("div",{className:w("relative overflow-hidden rounded-2xl border p-4 transition-all duration-500",d?"border-emerald-500/20 bg-emerald-500/[0.03] dark:bg-emerald-500/[0.02]":l?"border-amber-500/20 bg-amber-500/[0.03] dark:bg-amber-500/[0.02]":"border-border/60 bg-muted/30 dark:border-white/[0.06] dark:bg-zinc-900/45"),children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:w("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl transition-transform duration-500 group-hover:scale-110",d?"bg-emerald-500/10 text-emerald-600":l?"bg-amber-500/10 text-amber-600":"bg-slate-500/10 text-slate-500"),children:d?e.jsx(k,{size:24}):l?e.jsx(Y,{size:24}):e.jsx(B,{size:24})}),e.jsxs("div",{className:"min-w-0 flex-1 space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-semibold uppercase tracking-wider text-muted-foreground/60",children:c("settingsPage.browserSection.readiness")}),d&&e.jsx(g.span,{animate:{opacity:[.4,1,.4]},transition:{duration:2,repeat:1/0},className:"h-1.5 w-1.5 rounded-full bg-emerald-500"})]}),e.jsx("h4",{className:"font-medium text-foreground",children:s}),e.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:i}),a&&e.jsxs("div",{className:"mt-3 flex items-start gap-2 rounded-lg border border-border/50 bg-muted/35 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx(fe,{size:14,className:"mt-0.5 shrink-0 text-primary"}),e.jsxs("p",{className:"text-xs leading-normal",children:[e.jsxs("span",{className:"font-semibold text-primary",children:[c("settingsPage.browserSection.nextStep"),":"]})," ",a]})]})]})]})})}function Q({title:r,children:s,defaultOpen:i=!1}){const[a,c]=o.useState(i);return e.jsxs(ce,{open:a,onOpenChange:c,className:"overflow-hidden rounded-2xl border border-border/60 bg-muted/20 dark:border-white/[0.06] dark:bg-zinc-900/30",children:[e.jsx(ue,{asChild:!0,children:e.jsxs("button",{className:"flex w-full items-center justify-between px-6 py-4 text-sm font-medium transition-colors hover:bg-muted/40 dark:hover:bg-zinc-900/50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(we,{size:16,className:"text-muted-foreground"}),r]}),e.jsx(je,{size:16,className:w("transition-transform duration-300",a&&"rotate-180")})]})}),e.jsx(xe,{children:e.jsx("div",{className:"border-t border-border/60 px-6 py-6 dark:border-white/[0.06]",children:s})})]})}function Oe(){const{t:r}=X(),{fetchRawConfig:s}=oe(),{config:i,status:a,loading:c,statusLoading:d,saving:l,error:b,success:x,fetchConfig:y,fetchStatus:A,saveConfig:S}=Ne(),[Z,m]=o.useState(null),[ee,C]=o.useState(null),[P,p]=o.useState(null);o.useEffect(()=>{y()},[y]),o.useEffect(()=>{if(!P&&!x)return;const n=window.setTimeout(()=>p(null),2500);return()=>window.clearTimeout(n)},[P,x]);const t=Z??i,j=o.useMemo(()=>t?Ce(t.claude.userDataDir,t.claude.devtoolsPort,ye()):"",[t]),M=ee??String(t?.claude.devtoolsPort??9222),v=Se(M),z=M.trim().length>0&&v===null,L=i!==null&&t!==null&&(i.claude.enabled!==t.claude.enabled||i.claude.userDataDir!==t.claude.userDataDir||i.claude.devtoolsPort!==v||i.claude.evalMode!==t.claude.evalMode),re=i!==null&&t!==null&&(i.codex.enabled!==t.codex.enabled||i.codex.evalMode!==t.codex.evalMode),I=o.useCallback(async()=>{p(null),m(null),C(null),await Promise.all([y(),s()])},[y,s]),se=o.useCallback(async()=>{await A()&&p(r("settingsPage.browserSection.messages.statusRefreshed"))},[A,r]),ae=o.useCallback(async()=>{if(!t||v===null)return;await S({claude:{enabled:t.claude.enabled,userDataDir:t.claude.userDataDir.trim(),devtoolsPort:v,evalMode:t.claude.evalMode}})&&(await s(),p(null),m(null),C(null))},[v,t,s,S]),te=o.useCallback(async()=>{if(!t)return;await S({codex:{enabled:t.codex.enabled,evalMode:t.codex.evalMode}})&&(await s(),p(null),m(null),C(null))},[t,s,S]),de=o.useCallback(async()=>{j&&(await navigator.clipboard.writeText(j),p(r("settingsPage.browserSection.messages.launchCommandCopied")))},[j,r]);return c?e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 text-muted-foreground",children:[e.jsx(g.div,{animate:{rotate:360},transition:{duration:1.5,repeat:1/0,ease:"linear"},children:e.jsx(N,{size:32})}),e.jsx("span",{className:"text-sm font-medium uppercase tracking-widest opacity-60",children:r("settings.loading")})]})}):!i||!a||!t?e.jsx("div",{className:"p-8",children:e.jsxs(O,{variant:"destructive",className:"rounded-[2rem] p-8 shadow-xl",children:[e.jsx(B,{size:24}),e.jsx(R,{className:"mt-2 text-md leading-relaxed",children:b??r("settingsPage.browserSection.description")}),e.jsx("div",{className:"mt-6",children:e.jsxs(h,{variant:"outline",className:"rounded-full px-6 transition-transform active:scale-95",onClick:I,children:[e.jsx(N,{className:"mr-2 h-4 w-4"}),r("sharedPage.retry")]})})]})}):e.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden bg-background",children:[e.jsx(me,{children:(b||x||P)&&e.jsx(g.div,{initial:{opacity:0,y:-20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.95},className:"absolute left-1/2 top-6 z-50 -translate-x-1/2",children:b?e.jsxs("div",{className:"flex items-center gap-3 rounded-full border border-rose-500/20 bg-card/95 px-6 py-2.5 text-sm font-medium text-rose-600 shadow-2xl dark:bg-zinc-900/85",children:[e.jsx(B,{size:18}),b]}):e.jsxs("div",{className:"flex items-center gap-3 rounded-full border border-emerald-500/20 bg-card/95 px-6 py-2.5 text-sm font-medium text-emerald-600 shadow-2xl dark:bg-zinc-900/85",children:[e.jsx(k,{size:18}),P??r("commonToast.settingsSaved")]})})}),e.jsx(le,{className:"flex-1",children:e.jsxs("div",{className:"mx-auto max-w-[1240px] space-y-12 p-8 py-16",children:[e.jsxs(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"flex flex-wrap items-end justify-between gap-6",children:[e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl bg-primary/10 text-primary",children:e.jsx(ge,{size:28})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:r("settingsPage.browserSection.title")}),e.jsx("p",{className:"mt-1 text-muted-foreground",children:r("settingsPage.browserSection.description")})]})]})}),e.jsxs(h,{variant:"outline",className:"rounded-full border-border/70 bg-background/85 shadow-sm transition-all hover:bg-muted/50 active:scale-95 dark:border-white/[0.08] dark:bg-zinc-900/70 dark:hover:bg-zinc-900",onClick:I,disabled:l||c,children:[e.jsx(N,{className:w("mr-2 h-4 w-4",d&&"animate-spin")}),r("settings.refresh")]})]}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},children:e.jsxs(O,{className:"items-center rounded-3xl border-primary/10 bg-primary/[0.04] p-6 py-4 dark:border-primary/15 dark:bg-primary/[0.05]",children:[e.jsx(be,{className:"h-5 w-5 text-primary"}),e.jsxs(R,{className:"ml-2 text-sm",children:[e.jsx("span",{className:"font-semibold text-primary/80",children:r("settingsPage.browserSection.primaryTitle")})," ",r("settingsPage.browserSection.primaryDescription")]})]})}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},children:e.jsx(q,{title:r("settingsPage.browserSection.claude.title"),description:r("settingsPage.browserSection.claude.description"),action:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border/60 bg-muted/30 px-4 py-2 dark:border-white/[0.06] dark:bg-zinc-900/45",children:[e.jsx(f,{htmlFor:"browser-claude-enabled",className:"cursor-pointer text-xs font-semibold leading-none",children:t.claude.enabled?"ENABLED":"DISABLED"}),e.jsx(G,{id:"browser-claude-enabled",checked:t.claude.enabled,onCheckedChange:n=>m(u=>_(u??t,{enabled:n}))})]}),e.jsxs(h,{onClick:ae,disabled:l||z||!L,className:"rounded-full px-6 shadow-md transition-transform active:scale-95",children:[l?e.jsx(N,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(k,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.saveClaude")]}),e.jsxs(h,{variant:"outline",className:"rounded-full border-border/70 bg-background/85 shadow-sm transition-all hover:bg-muted/50 active:scale-95 dark:border-white/[0.08] dark:bg-zinc-900/70 dark:hover:bg-zinc-900",onClick:se,disabled:l||d||L||z,children:[e.jsx(he,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.testConnection")]})]}),children:e.jsxs("div",{className:"grid gap-12",children:[e.jsx(K,{state:a.claude.state,title:a.claude.title,detail:a.claude.detail,nextStep:a.claude.nextStep}),e.jsxs("div",{className:"grid gap-8 lg:grid-cols-2",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{htmlFor:"browser-claude-user-data-dir",className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.claude.userDataDir")}),e.jsx(T,{id:"browser-claude-user-data-dir",value:t.claude.userDataDir,onChange:n=>m(u=>_(u??t,{userDataDir:n.target.value})),className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",placeholder:a.claude.recommendedUserDataDir}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.claude.userDataDirHint")})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{htmlFor:"browser-claude-devtools-port",className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.claude.devtoolsPort")}),e.jsx(T,{id:"browser-claude-devtools-port",value:M,onChange:n=>C(n.target.value),inputMode:"numeric",className:"max-w-[120px] rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70"}),e.jsx("p",{className:w("text-[11px] leading-relaxed text-muted-foreground/70",z&&"text-rose-500"),children:r(z?"settingsPage.browserSection.claude.devtoolsPortInvalid":"settingsPage.browserSection.claude.devtoolsPortHint")})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(f,{className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.evalMode.label")}),e.jsxs($,{value:t.claude.evalMode,onValueChange:n=>m(u=>_(u??t,{evalMode:n})),children:[e.jsx(H,{className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",children:e.jsx(F,{})}),e.jsx(U,{children:J.map(n=>e.jsx(V,{value:n,children:D(r,n)},n))})]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.claude.evalModeHint")})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"group/launch relative overflow-hidden rounded-2xl border border-border/60 bg-muted/20 p-5 transition-all hover:bg-muted/35 dark:border-white/[0.06] dark:bg-zinc-900/35 dark:hover:bg-zinc-900/50",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-[11px] font-bold uppercase tracking-[0.15em] text-primary/70",children:r("settingsPage.browserSection.claude.launchGuidance")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r("settingsPage.browserSection.claude.launchGuidanceHint")})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 rounded-full p-0 transition-transform active:scale-90",onClick:de,disabled:!j,children:e.jsx(pe,{size:18})})]}),e.jsx("code",{className:"mt-4 block break-all rounded-lg border border-border/50 bg-background/80 p-3 font-mono text-[10px] leading-relaxed dark:border-white/[0.05] dark:bg-zinc-900/60",children:j})]}),a.claude.overrideActive&&e.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-amber-500/10 bg-amber-500/[0.05] p-4 text-xs font-medium text-amber-700 dark:text-amber-300",children:[e.jsx(Y,{size:18}),r("settingsPage.browserSection.claude.overrideMessage",{source:a.claude.source})]})]})]}),e.jsx(Q,{title:r("settingsPage.browserSection.technicalDetails"),defaultOpen:a.claude.state!=="ready",children:e.jsxs("div",{className:"grid gap-6 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.claude.effectivePath")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"break-all font-mono text-[11px] leading-relaxed",children:a.claude.effectiveUserDataDir})}),e.jsxs("p",{className:"text-[10px] font-medium text-muted-foreground/60",children:[e.jsxs("span",{className:"font-bold",children:[r("settingsPage.browserSection.claude.recommendedPath"),":"]})," ",a.claude.recommendedUserDataDir]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.claude.managedRuntime")}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx("p",{className:"font-semibold text-primary/80",children:a.claude.managedMcpServerName}),e.jsx("p",{className:"mt-1 break-all font-mono text-[11px] leading-relaxed text-muted-foreground/80",children:a.claude.managedMcpServerPath})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.evalMode.label")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:D(r,a.claude.evalMode)})})]})]})})]})})}),e.jsx(g.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.3},children:e.jsx(q,{title:r("settingsPage.browserSection.codex.title"),description:r("settingsPage.browserSection.codex.description"),action:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border/60 bg-muted/30 px-4 py-2 dark:border-white/[0.06] dark:bg-zinc-900/45",children:[e.jsx(f,{htmlFor:"browser-codex-enabled",className:"cursor-pointer text-xs font-semibold leading-none",children:t.codex.enabled?"ENABLED":"DISABLED"}),e.jsx(G,{id:"browser-codex-enabled",checked:t.codex.enabled,onCheckedChange:n=>m(u=>W(u??t,{enabled:n}))})]}),e.jsxs(h,{onClick:te,disabled:l||!re,className:"rounded-full px-6 shadow-md transition-transform active:scale-95",children:[l?e.jsx(N,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(k,{size:16,className:"mr-2"}),r("settingsPage.browserSection.actions.saveCodex")]})]}),children:e.jsxs("div",{className:"grid gap-12",children:[e.jsx(K,{state:a.codex.state,title:a.codex.title,detail:a.codex.detail,nextStep:a.codex.nextStep}),e.jsxs("div",{className:"max-w-md space-y-3",children:[e.jsx(f,{className:"text-sm font-semibold tracking-wide text-muted-foreground/80",children:r("settingsPage.browserSection.evalMode.label")}),e.jsxs($,{value:t.codex.evalMode,onValueChange:n=>m(u=>W(u??t,{evalMode:n})),children:[e.jsx(H,{className:"rounded-xl border-border/70 bg-background/85 dark:border-white/[0.08] dark:bg-zinc-900/70",children:e.jsx(F,{})}),e.jsx(U,{children:J.map(n=>e.jsx(V,{value:n,children:D(r,n)},n))})]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground/70",children:r("settingsPage.browserSection.codex.evalModeHint")})]}),e.jsx(Q,{title:r("settingsPage.browserSection.technicalDetails"),defaultOpen:a.codex.state==="unsupported_build",children:e.jsxs("div",{className:"grid gap-6 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.serverName")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:a.codex.serverName})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.overrideSupport")}),e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border/50 bg-muted/25 p-3 font-medium text-xs dark:border-white/[0.05] dark:bg-zinc-900/45",children:[a.codex.supportsConfigOverrides?e.jsx(k,{className:"text-emerald-500",size:16}):e.jsx(B,{className:"text-rose-500",size:16}),a.codex.supportsConfigOverrides?r("settingsPage.browserSection.codex.overrideSupported"):r("settingsPage.browserSection.codex.overrideUnsupported")]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.codex.binary")}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:[e.jsx("p",{className:"break-all font-mono text-[11px] leading-relaxed",children:a.codex.binaryPath??r("settingsPage.browserSection.codex.notDetected")}),a.codex.version&&e.jsx("div",{className:"mt-2 inline-flex rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-bold text-primary",children:a.codex.version})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:r("settingsPage.browserSection.evalMode.label")}),e.jsx("div",{className:"rounded-lg border border-border/50 bg-muted/25 p-3 dark:border-white/[0.05] dark:bg-zinc-900/45",children:e.jsx("p",{className:"font-mono text-[11px] font-semibold",children:D(r,a.codex.evalMode)})})]})]})})]})})})]})})]})}function _(r,s){return{...r,claude:{...r.claude,...s}}}function W(r,s){return{...r,codex:{...r.codex,...s}}}export{Oe as default};