@kaitranntt/ccs 8.1.4 → 8.2.0-dev.10

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 (493) hide show
  1. package/README.md +12 -0
  2. package/config/base-claude.settings.json +1 -5
  3. package/config/base-kiro.settings.json +4 -4
  4. package/config/base-qoder.settings.json +10 -0
  5. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  6. package/dist/api/services/cliproxy-profile-bridge.js +6 -0
  7. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  8. package/dist/api/services/profile-writer.d.ts.map +1 -1
  9. package/dist/api/services/profile-writer.js +18 -8
  10. package/dist/api/services/profile-writer.js.map +1 -1
  11. package/dist/auth/commands/create-command.d.ts.map +1 -1
  12. package/dist/auth/commands/create-command.js +11 -0
  13. package/dist/auth/commands/create-command.js.map +1 -1
  14. package/dist/channels/official-channels-runtime.js +1 -1
  15. package/dist/channels/official-channels-runtime.js.map +1 -1
  16. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts +41 -0
  17. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts.map +1 -0
  18. package/dist/cliproxy/accounts/account-safety-cross-lane.js +177 -0
  19. package/dist/cliproxy/accounts/account-safety-cross-lane.js.map +1 -0
  20. package/dist/cliproxy/accounts/account-safety.d.ts +29 -1
  21. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  22. package/dist/cliproxy/accounts/account-safety.js +41 -7
  23. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  24. package/dist/cliproxy/accounts/drain-order.d.ts +277 -0
  25. package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -0
  26. package/dist/cliproxy/accounts/drain-order.js +575 -0
  27. package/dist/cliproxy/accounts/drain-order.js.map +1 -0
  28. package/dist/cliproxy/accounts/pool-state.d.ts +132 -0
  29. package/dist/cliproxy/accounts/pool-state.d.ts.map +1 -0
  30. package/dist/cliproxy/accounts/pool-state.js +201 -0
  31. package/dist/cliproxy/accounts/pool-state.js.map +1 -0
  32. package/dist/cliproxy/accounts/registry.d.ts +17 -1
  33. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  34. package/dist/cliproxy/accounts/registry.js +58 -5
  35. package/dist/cliproxy/accounts/registry.js.map +1 -1
  36. package/dist/cliproxy/accounts/types.d.ts +20 -0
  37. package/dist/cliproxy/accounts/types.d.ts.map +1 -1
  38. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +1 -1
  39. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
  40. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  41. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +88 -11
  42. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  43. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  44. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  45. package/dist/cliproxy/auth/auth-types.js +7 -0
  46. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  47. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  48. package/dist/cliproxy/auth/oauth-handler.js +48 -10
  49. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  50. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -1
  51. package/dist/cliproxy/auth/oauth-trace/redactor.js +1 -0
  52. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -1
  53. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +2 -2
  54. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -1
  55. package/dist/cliproxy/binary/version-checker.d.ts +4 -2
  56. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  57. package/dist/cliproxy/binary/version-checker.js +30 -20
  58. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  59. package/dist/cliproxy/claude-shadow-warning.d.ts +39 -0
  60. package/dist/cliproxy/claude-shadow-warning.d.ts.map +1 -0
  61. package/dist/cliproxy/claude-shadow-warning.js +187 -0
  62. package/dist/cliproxy/claude-shadow-warning.js.map +1 -0
  63. package/dist/cliproxy/config/base-config-loader.d.ts +6 -5
  64. package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -1
  65. package/dist/cliproxy/config/base-config-loader.js +19 -12
  66. package/dist/cliproxy/config/base-config-loader.js.map +1 -1
  67. package/dist/cliproxy/config/env-builder.d.ts +3 -0
  68. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  69. package/dist/cliproxy/config/env-builder.js +158 -20
  70. package/dist/cliproxy/config/env-builder.js.map +1 -1
  71. package/dist/cliproxy/config/generator.d.ts +2 -1
  72. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  73. package/dist/cliproxy/config/generator.js +66 -9
  74. package/dist/cliproxy/config/generator.js.map +1 -1
  75. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  76. package/dist/cliproxy/config/thinking-config.js +2 -0
  77. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  78. package/dist/cliproxy/executor/arg-parser.d.ts +8 -5
  79. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  80. package/dist/cliproxy/executor/arg-parser.js +21 -10
  81. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  82. package/dist/cliproxy/executor/auth-coordinator.d.ts +4 -0
  83. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  84. package/dist/cliproxy/executor/auth-coordinator.js +5 -1
  85. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  86. package/dist/cliproxy/executor/browser-launch-setup.d.ts +1 -0
  87. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  88. package/dist/cliproxy/executor/browser-launch-setup.js +4 -3
  89. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  90. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  91. package/dist/cliproxy/executor/index.js +35 -6
  92. package/dist/cliproxy/executor/index.js.map +1 -1
  93. package/dist/cliproxy/executor/proxy-resolver.d.ts +15 -9
  94. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -1
  95. package/dist/cliproxy/executor/proxy-resolver.js +14 -5
  96. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -1
  97. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  98. package/dist/cliproxy/model-catalog.js +94 -2
  99. package/dist/cliproxy/model-catalog.js.map +1 -1
  100. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  101. package/dist/cliproxy/provider-capabilities.js +12 -0
  102. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  103. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -1
  104. package/dist/cliproxy/proxy/proxy-config-resolver.js +11 -1
  105. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -1
  106. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  107. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +160 -8
  108. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  109. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +14 -0
  110. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -0
  111. package/dist/cliproxy/proxy/upstream-response-timeout.js +79 -0
  112. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -0
  113. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  114. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  115. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  116. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  117. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +2 -2
  118. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  119. package/dist/cliproxy/quota/quota-fetcher-codex.js +2 -4
  120. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  121. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  122. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  123. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  124. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts +10 -0
  125. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts.map +1 -0
  126. package/dist/cliproxy/quota/quota-label-sanitizer.js +31 -0
  127. package/dist/cliproxy/quota/quota-label-sanitizer.js.map +1 -0
  128. package/dist/cliproxy/quota/quota-manager.d.ts +7 -0
  129. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  130. package/dist/cliproxy/quota/quota-manager.js +51 -2
  131. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  132. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts +95 -0
  133. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts.map +1 -0
  134. package/dist/cliproxy/routing/pool-onboarding-hint.js +172 -0
  135. package/dist/cliproxy/routing/pool-onboarding-hint.js.map +1 -0
  136. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts +50 -0
  137. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts.map +1 -0
  138. package/dist/cliproxy/routing/pool-opt-in-prompt.js +232 -0
  139. package/dist/cliproxy/routing/pool-opt-in-prompt.js.map +1 -0
  140. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  141. package/dist/cliproxy/routing/routing-strategy-http.js +35 -26
  142. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  143. package/dist/cliproxy/routing/routing-strategy.d.ts +132 -0
  144. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  145. package/dist/cliproxy/routing/routing-strategy.js +342 -5
  146. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  147. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  148. package/dist/cliproxy/services/catalog-cache.js +5 -3
  149. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  150. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  151. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  152. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  153. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  154. package/dist/cliproxy/types/provider-types.d.ts +1 -1
  155. package/dist/cliproxy/types/provider-types.d.ts.map +1 -1
  156. package/dist/cliproxy/types/provider-types.js +1 -0
  157. package/dist/cliproxy/types/provider-types.js.map +1 -1
  158. package/dist/codex-auth/codex-config-symlink.js +21 -4
  159. package/dist/codex-auth/codex-config-symlink.js.map +1 -1
  160. package/dist/codex-auth/commands/import-default-command.d.ts +1 -1
  161. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -1
  162. package/dist/codex-auth/commands/import-default-command.js +12 -25
  163. package/dist/codex-auth/commands/import-default-command.js.map +1 -1
  164. package/dist/commands/api-command/help.js +1 -1
  165. package/dist/commands/api-command/help.js.map +1 -1
  166. package/dist/commands/bar/help-subcommand.d.ts +2 -0
  167. package/dist/commands/bar/help-subcommand.d.ts.map +1 -0
  168. package/dist/commands/bar/help-subcommand.js +63 -0
  169. package/dist/commands/bar/help-subcommand.js.map +1 -0
  170. package/dist/commands/bar/index.d.ts +8 -0
  171. package/dist/commands/bar/index.d.ts.map +1 -0
  172. package/dist/commands/bar/index.js +78 -0
  173. package/dist/commands/bar/index.js.map +1 -0
  174. package/dist/commands/bar/install-subcommand.d.ts +92 -0
  175. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  176. package/dist/commands/bar/install-subcommand.js +605 -0
  177. package/dist/commands/bar/install-subcommand.js.map +1 -0
  178. package/dist/commands/bar/launch-subcommand.d.ts +64 -0
  179. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  180. package/dist/commands/bar/launch-subcommand.js +236 -0
  181. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  182. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  183. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  184. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  185. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  186. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  187. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  188. package/dist/commands/bar/version-subcommand.js +62 -0
  189. package/dist/commands/bar/version-subcommand.js.map +1 -0
  190. package/dist/commands/cleanup-command.d.ts.map +1 -1
  191. package/dist/commands/cleanup-command.js +99 -51
  192. package/dist/commands/cleanup-command.js.map +1 -1
  193. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  194. package/dist/commands/cliproxy/help-subcommand.js +20 -1
  195. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  196. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  197. package/dist/commands/cliproxy/index.js +20 -0
  198. package/dist/commands/cliproxy/index.js.map +1 -1
  199. package/dist/commands/cliproxy/order-subcommand.d.ts +16 -0
  200. package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -0
  201. package/dist/commands/cliproxy/order-subcommand.js +520 -0
  202. package/dist/commands/cliproxy/order-subcommand.js.map +1 -0
  203. package/dist/commands/cliproxy/pool-state-renderer.d.ts +40 -0
  204. package/dist/commands/cliproxy/pool-state-renderer.d.ts.map +1 -0
  205. package/dist/commands/cliproxy/pool-state-renderer.js +220 -0
  206. package/dist/commands/cliproxy/pool-state-renderer.js.map +1 -0
  207. package/dist/commands/cliproxy/pool-subcommand.d.ts +10 -0
  208. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -0
  209. package/dist/commands/cliproxy/pool-subcommand.js +112 -0
  210. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -0
  211. package/dist/commands/cliproxy/quota-subcommand.d.ts +10 -1
  212. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  213. package/dist/commands/cliproxy/quota-subcommand.js +22 -6
  214. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  215. package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -1
  216. package/dist/commands/cliproxy/routing-subcommand.js +19 -0
  217. package/dist/commands/cliproxy/routing-subcommand.js.map +1 -1
  218. package/dist/commands/command-catalog.d.ts.map +1 -1
  219. package/dist/commands/command-catalog.js +8 -0
  220. package/dist/commands/command-catalog.js.map +1 -1
  221. package/dist/commands/config-channels-command.d.ts +1 -4
  222. package/dist/commands/config-channels-command.d.ts.map +1 -1
  223. package/dist/commands/config-channels-command.js +20 -24
  224. package/dist/commands/config-channels-command.js.map +1 -1
  225. package/dist/commands/help-command.d.ts.map +1 -1
  226. package/dist/commands/help-command.js +6 -1
  227. package/dist/commands/help-command.js.map +1 -1
  228. package/dist/commands/root-command-router.d.ts.map +1 -1
  229. package/dist/commands/root-command-router.js +7 -0
  230. package/dist/commands/root-command-router.js.map +1 -1
  231. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  232. package/dist/config/loader/yaml-serializer.js +13 -0
  233. package/dist/config/loader/yaml-serializer.js.map +1 -1
  234. package/dist/config/reserved-names.d.ts +1 -1
  235. package/dist/config/reserved-names.d.ts.map +1 -1
  236. package/dist/config/reserved-names.js +1 -0
  237. package/dist/config/reserved-names.js.map +1 -1
  238. package/dist/config/schemas/cliproxy.d.ts +37 -0
  239. package/dist/config/schemas/cliproxy.d.ts.map +1 -1
  240. package/dist/config/schemas/proxy-server.js +1 -1
  241. package/dist/config/schemas/quota.d.ts +26 -2
  242. package/dist/config/schemas/quota.d.ts.map +1 -1
  243. package/dist/config/schemas/quota.js +20 -1
  244. package/dist/config/schemas/quota.js.map +1 -1
  245. package/dist/config/unified-config-loader.d.ts.map +1 -1
  246. package/dist/config/unified-config-loader.js +3 -0
  247. package/dist/config/unified-config-loader.js.map +1 -1
  248. package/dist/cursor/cursor-daemon-auth.d.ts +2 -0
  249. package/dist/cursor/cursor-daemon-auth.d.ts.map +1 -0
  250. package/dist/cursor/cursor-daemon-auth.js +49 -0
  251. package/dist/cursor/cursor-daemon-auth.js.map +1 -0
  252. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  253. package/dist/cursor/cursor-daemon-entry.js +44 -0
  254. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  255. package/dist/cursor/cursor-daemon.d.ts +2 -1
  256. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  257. package/dist/cursor/cursor-daemon.js +21 -5
  258. package/dist/cursor/cursor-daemon.js.map +1 -1
  259. package/dist/cursor/cursor-models.d.ts.map +1 -1
  260. package/dist/cursor/cursor-models.js +2 -1
  261. package/dist/cursor/cursor-models.js.map +1 -1
  262. package/dist/cursor/cursor-profile-executor.d.ts +1 -1
  263. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  264. package/dist/cursor/cursor-profile-executor.js +7 -4
  265. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  266. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -1
  267. package/dist/cursor/cursor-runtime-probe.js +4 -2
  268. package/dist/cursor/cursor-runtime-probe.js.map +1 -1
  269. package/dist/cursor/types.d.ts +1 -0
  270. package/dist/cursor/types.d.ts.map +1 -1
  271. package/dist/dispatcher/flows/account-flow.d.ts.map +1 -1
  272. package/dist/dispatcher/flows/account-flow.js +9 -0
  273. package/dist/dispatcher/flows/account-flow.js.map +1 -1
  274. package/dist/dispatcher/profile-resolver.d.ts +16 -0
  275. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  276. package/dist/dispatcher/profile-resolver.js +49 -3
  277. package/dist/dispatcher/profile-resolver.js.map +1 -1
  278. package/dist/docker/docker-key-rotation.d.ts +2 -0
  279. package/dist/docker/docker-key-rotation.d.ts.map +1 -1
  280. package/dist/docker/docker-key-rotation.js +9 -1
  281. package/dist/docker/docker-key-rotation.js.map +1 -1
  282. package/dist/glmt/sse-parser.d.ts +1 -0
  283. package/dist/glmt/sse-parser.d.ts.map +1 -1
  284. package/dist/glmt/sse-parser.js +13 -1
  285. package/dist/glmt/sse-parser.js.map +1 -1
  286. package/dist/management/doctor.d.ts.map +1 -1
  287. package/dist/management/doctor.js +10 -0
  288. package/dist/management/doctor.js.map +1 -1
  289. package/dist/management/shared-manager.d.ts.map +1 -1
  290. package/dist/management/shared-manager.js +9 -1
  291. package/dist/management/shared-manager.js.map +1 -1
  292. package/dist/proxy/profile-router.d.ts +16 -0
  293. package/dist/proxy/profile-router.d.ts.map +1 -1
  294. package/dist/proxy/profile-router.js +7 -2
  295. package/dist/proxy/profile-router.js.map +1 -1
  296. package/dist/proxy/proxy-daemon.js +1 -1
  297. package/dist/proxy/proxy-daemon.js.map +1 -1
  298. package/dist/proxy/server/http-helpers.d.ts +5 -0
  299. package/dist/proxy/server/http-helpers.d.ts.map +1 -1
  300. package/dist/proxy/server/http-helpers.js +40 -1
  301. package/dist/proxy/server/http-helpers.js.map +1 -1
  302. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  303. package/dist/proxy/server/messages-route.js +252 -17
  304. package/dist/proxy/server/messages-route.js.map +1 -1
  305. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  306. package/dist/proxy/transformers/request-transformer.js +9 -2
  307. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  308. package/dist/proxy/upstream-url.d.ts +42 -2
  309. package/dist/proxy/upstream-url.d.ts.map +1 -1
  310. package/dist/proxy/upstream-url.js +83 -4
  311. package/dist/proxy/upstream-url.js.map +1 -1
  312. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  313. package/dist/shared/claude-extension-setup.js +2 -1
  314. package/dist/shared/claude-extension-setup.js.map +1 -1
  315. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -1
  316. package/dist/shared/cliproxy-model-routing.js +1 -0
  317. package/dist/shared/cliproxy-model-routing.js.map +1 -1
  318. package/dist/shared/stale-codex-translator-settings.d.ts.map +1 -1
  319. package/dist/shared/stale-codex-translator-settings.js +48 -9
  320. package/dist/shared/stale-codex-translator-settings.js.map +1 -1
  321. package/dist/targets/codex-adapter.d.ts.map +1 -1
  322. package/dist/targets/codex-adapter.js +10 -8
  323. package/dist/targets/codex-adapter.js.map +1 -1
  324. package/dist/targets/target-metadata.js +1 -1
  325. package/dist/targets/target-metadata.js.map +1 -1
  326. package/dist/ui/assets/{Trans-DyZQZ3e2.js → Trans-RG_sMDEu.js} +1 -1
  327. package/dist/ui/assets/accounts-yTXURc-q.js +1 -0
  328. package/dist/ui/assets/{alert-dialog-DWHL-dqd.js → alert-dialog-DjvPgzFs.js} +1 -1
  329. package/dist/ui/assets/api-Ck1dtNEM.js +4 -0
  330. package/dist/ui/assets/{auth-section-B4o90dwz.js → auth-section-DBnY_LPz.js} +1 -1
  331. package/dist/ui/assets/{backups-section-1AsdSIJO.js → backups-section-Ci-uL4Of.js} +1 -1
  332. package/dist/ui/assets/{channels-CU4Zdsc_.js → channels-BeS9O5q0.js} +1 -1
  333. package/dist/ui/assets/{checkbox-CbCKGH8I.js → checkbox-DFeFDZBp.js} +1 -1
  334. package/dist/ui/assets/claude-extension-DS5qN19Z.js +1 -0
  335. package/dist/ui/assets/cliproxy-D7HJH4mZ.js +4 -0
  336. package/dist/ui/assets/{cliproxy-ai-providers-Dr4L5NRY.js → cliproxy-ai-providers-oJQZXrtc.js} +6 -6
  337. package/dist/ui/assets/cliproxy-control-panel-2mRPEcRj.js +1 -0
  338. package/dist/ui/assets/{codex-0HdbW8NR.js → codex-D0AUQ6jA.js} +4 -4
  339. package/dist/ui/assets/{confirm-dialog-b5Dahgnk.js → confirm-dialog-B37-CVuq.js} +1 -1
  340. package/dist/ui/assets/{copilot-B1Ojakbt.js → copilot-KaaW-mko.js} +2 -2
  341. package/dist/ui/assets/{cursor-PUtNVPx1.js → cursor-BKiTgYi5.js} +1 -1
  342. package/dist/ui/assets/{droid-S2gclncb.js → droid-DHdqGnFw.js} +2 -2
  343. package/dist/ui/assets/{globalenv-section-7wKSmNSG.js → globalenv-section-SfZO97nU.js} +1 -1
  344. package/dist/ui/assets/health-CSRS9O0D.js +1 -0
  345. package/dist/ui/assets/icons-DSLG1YsC.js +1 -0
  346. package/dist/ui/assets/index-CGgavq2X.js +56 -0
  347. package/dist/ui/assets/{index-BWboJia4.js → index-ChTYEBCZ.js} +1 -1
  348. package/dist/ui/assets/index-Cu_F55_O.js +1 -0
  349. package/dist/ui/assets/{index-Coc3_ABK.js → index-DJ66NrBH.js} +1 -1
  350. package/dist/ui/assets/index-DWUuSBUe.js +1 -0
  351. package/dist/ui/assets/{index-CxvNNHgE.js → index-DycwEe96.js} +1 -1
  352. package/dist/ui/assets/index-DzFlVVV3.css +1 -0
  353. package/dist/ui/assets/{index-Cx0dmbiQ.js → index-iQuEEGbH.js} +1 -1
  354. package/dist/ui/assets/logs-tiZ_51mo.js +1 -0
  355. package/dist/ui/assets/{masked-input-4L9CIZGb.js → masked-input-D9FVoeMA.js} +1 -1
  356. package/dist/ui/assets/providers/qoder.svg +1 -0
  357. package/dist/ui/assets/proxy-status-widget-2k26d8pS.js +1 -0
  358. package/dist/ui/assets/{raw-json-settings-editor-panel-DXh8c8rA.js → raw-json-settings-editor-panel-CguBh93H.js} +1 -1
  359. package/dist/ui/assets/{searchable-select-CtvEQrMo.js → searchable-select-C4wShshD.js} +1 -1
  360. package/dist/ui/assets/{separator-E0ISp1SN.js → separator-mvGlDdEW.js} +1 -1
  361. package/dist/ui/assets/{shared-BeYwHeNS.js → shared-Ck0yAwbs.js} +2 -2
  362. package/dist/ui/assets/{table-BBslZvNP.js → table-DrUJOxKL.js} +1 -1
  363. package/dist/ui/assets/updates-BVHBFcq8.js +1 -0
  364. package/dist/ui/assets/{use-accounts-BdalFsdY.js → use-accounts-DLtuaniS.js} +1 -1
  365. package/dist/ui/index.html +3 -3
  366. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  367. package/dist/utils/browser/browser-settings.js +13 -3
  368. package/dist/utils/browser/browser-settings.js.map +1 -1
  369. package/dist/utils/browser/mcp-installer.d.ts.map +1 -1
  370. package/dist/utils/browser/mcp-installer.js +5 -34
  371. package/dist/utils/browser/mcp-installer.js.map +1 -1
  372. package/dist/utils/claude-user-config-lock.d.ts +9 -0
  373. package/dist/utils/claude-user-config-lock.d.ts.map +1 -0
  374. package/dist/utils/claude-user-config-lock.js +96 -0
  375. package/dist/utils/claude-user-config-lock.js.map +1 -0
  376. package/dist/utils/glmt-deprecation.d.ts.map +1 -1
  377. package/dist/utils/glmt-deprecation.js +1 -3
  378. package/dist/utils/glmt-deprecation.js.map +1 -1
  379. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  380. package/dist/utils/image-analysis/mcp-installer.js +5 -34
  381. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  382. package/dist/utils/retry-strategy.js +1 -1
  383. package/dist/utils/retry-strategy.js.map +1 -1
  384. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  385. package/dist/utils/websearch/mcp-installer.js +112 -78
  386. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  387. package/dist/web-server/index.d.ts.map +1 -1
  388. package/dist/web-server/index.js +0 -9
  389. package/dist/web-server/index.js.map +1 -1
  390. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  391. package/dist/web-server/middleware/auth-middleware.js +26 -4
  392. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  393. package/dist/web-server/model-pricing.d.ts +18 -2
  394. package/dist/web-server/model-pricing.d.ts.map +1 -1
  395. package/dist/web-server/model-pricing.js +86 -3
  396. package/dist/web-server/model-pricing.js.map +1 -1
  397. package/dist/web-server/models-dev/pricing-resolver.js +14 -14
  398. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -1
  399. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  400. package/dist/web-server/routes/account-routes.js +116 -0
  401. package/dist/web-server/routes/account-routes.js.map +1 -1
  402. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  403. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  404. package/dist/web-server/routes/bar-routes.js +415 -0
  405. package/dist/web-server/routes/bar-routes.js.map +1 -0
  406. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +10 -0
  407. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  408. package/dist/web-server/routes/cliproxy-auth-routes.js +45 -13
  409. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  410. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  411. package/dist/web-server/routes/cliproxy-local-proxy.js +25 -8
  412. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  413. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  414. package/dist/web-server/routes/cursor-routes.js +6 -1
  415. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  416. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  417. package/dist/web-server/routes/image-analysis-routes.js +7 -0
  418. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  419. package/dist/web-server/routes/index.d.ts.map +1 -1
  420. package/dist/web-server/routes/index.js +18 -0
  421. package/dist/web-server/routes/index.js.map +1 -1
  422. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  423. package/dist/web-server/routes/profile-routes.js +6 -1
  424. package/dist/web-server/routes/profile-routes.js.map +1 -1
  425. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  426. package/dist/web-server/routes/settings-routes.js +10 -1
  427. package/dist/web-server/routes/settings-routes.js.map +1 -1
  428. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -1
  429. package/dist/web-server/services/claude-extension-settings-service.js +5 -1
  430. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -1
  431. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  432. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  433. package/dist/web-server/usage/bar-analytics.js +315 -0
  434. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  435. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  436. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  437. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  438. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  439. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  440. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  441. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  442. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  443. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  444. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  445. package/dist/web-server/usage/cliproxy-usage-syncer.js +46 -13
  446. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  447. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +9 -3
  448. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  449. package/dist/web-server/usage/cliproxy-usage-transformer.js +133 -19
  450. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  451. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  452. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  453. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  454. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  455. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  456. package/dist/web-server/usage/codex-native-usage-collector.js +18 -2
  457. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  458. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  459. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  460. package/dist/web-server/usage/data-aggregator.js +29 -1
  461. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  462. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  463. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  464. package/dist/web-server/usage/native-quota-collector.js +378 -0
  465. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  466. package/dist/web-server/usage/profile-filter.d.ts +1 -1
  467. package/dist/web-server/usage/profile-filter.d.ts.map +1 -1
  468. package/dist/web-server/usage/profile-filter.js +6 -1
  469. package/dist/web-server/usage/profile-filter.js.map +1 -1
  470. package/dist/web-server/usage/types.d.ts +2 -0
  471. package/dist/web-server/usage/types.d.ts.map +1 -1
  472. package/lib/mcp/ccs-browser-server.cjs +31 -15
  473. package/package.json +1 -1
  474. package/scripts/completion/ccs.bash +0 -12
  475. package/scripts/completion/ccs.fish +0 -11
  476. package/scripts/completion/ccs.ps1 +0 -10
  477. package/scripts/completion/ccs.zsh +0 -13
  478. package/scripts/github/stable-release-issue-cleanup-lib.mjs +115 -0
  479. package/scripts/github/stable-release-issue-cleanup.mjs +134 -0
  480. package/dist/ui/assets/accounts-BPJltru3.js +0 -1
  481. package/dist/ui/assets/api-BxPN-zy4.js +0 -4
  482. package/dist/ui/assets/claude-extension-CWpjmIGt.js +0 -1
  483. package/dist/ui/assets/cliproxy-K6eBb5VO.js +0 -4
  484. package/dist/ui/assets/cliproxy-control-panel-Cz5r7kHP.js +0 -1
  485. package/dist/ui/assets/health-hMLN_gyw.js +0 -1
  486. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  487. package/dist/ui/assets/index-BMoGhs28.css +0 -1
  488. package/dist/ui/assets/index-COt1pbk-.js +0 -1
  489. package/dist/ui/assets/index-CcGVqYOy.js +0 -56
  490. package/dist/ui/assets/index-DkR2KVhF.js +0 -1
  491. package/dist/ui/assets/logs-BRFVfyLc.js +0 -1
  492. package/dist/ui/assets/proxy-status-widget-s1UWOE23.js +0 -1
  493. package/dist/ui/assets/updates-CDrm903n.js +0 -1
@@ -1,4 +0,0 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as c}from"./react-vendor-Bjx91N7w.js";import{a as jt,u as Zt,b as Ms}from"./tanstack-bhJxV1h8.js";import{a8 as Ps,a as W,e as F,C as es,b as ts,a9 as ss,aa as as,c as X,P as bt,B as q,ab as ue,L as ee,I as de,j as Be,k as Ve,l as $e,m as We,n as Ce,ac as ns,ad as rs,ae as Ds,af as Is,ag as Ts,u as is,ah as Nt,ai as yt,aj as wt,ak as kt,X as me,al as os,am as Lt,an as Es,ao as Rs,ap as Ee,aq as ls,Z as Qe,ar as Os,as as Ft,at as Ut,au as _s,av as Ls,aw as Fs,ax as Us,ay as Ks,az as Hs,aA as qs,aB as zs,aC as Kt,aD as Gs,y as ds,aE as Bs,t as Ct,aF as Vs,aG as At,aH as Ht,aI as cs,aJ as $s,s as Ws,aK as Qs,aL as Js,aM as mt,T as pt,w as xt,x as ht,aN as Xs,aO as Ys,aP as Zs,aQ as qt,aR as ea,aS as ta,aT as sa,aU as aa,aV as na,aW as ra,R as ia,U as oa,V as zt,W as Gt,aX as la,aY as da,aZ as ca,a_ as ua,a$ as ma,b0 as pa,b1 as xa,b2 as ha,b3 as fa,b4 as ga,b5 as va,b6 as He,b7 as ja,S as ba}from"./index-CcGVqYOy.js";import{C as ft}from"./default-ports-1QQSffYX.js";import{t as B}from"./notifications-B4_o8bcr.js";import{C as us,L as ce,p as Ae,$ as Na,m as Se,o as ms,aG as St,R as Mt,q as Re,aa as Pt,T as Ye,a7 as Bt,aH as ps,aF as ya,z as Dt,Z as Oe,_ as xs,i as wa,u as hs,aI as ka,au as Ca,X as It,a9 as tt,J as fs,D as gs,aJ as Aa,at as vs,aK as Sa,ax as Ma,aL as Ze}from"./icons-DzKUh8vG.js";import{R as Je,A as Vt,D as ot,i as Pa,a as Da}from"./antigravity-responsibility-constants-Bvh4Ybz0.js";import{C as Xe}from"./checkbox-CbCKGH8I.js";import{C as Ia}from"./confirm-dialog-b5Dahgnk.js";import{S as Tt}from"./separator-E0ISp1SN.js";import{S as Ta}from"./searchable-select-CtvEQrMo.js";import{P as Ea}from"./proxy-status-widget-s1UWOE23.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";import"./alert-dialog-DWHL-dqd.js";import"./Trans-DyZQZ3e2.js";const se="gemini-3.1-pro-high",Pe="gemini-3.1-pro-low",Ra=Object.freeze({"gemini-3-pro-high":se,"gemini-3.1-pro-high":se,"gemini-3-pro-low":Pe,"gemini-3.1-pro-low":Pe,"gemini-3-pro-preview":se,"gemini-3-pro-preview-customtools":se,"gemini-3.1-pro-preview":se,"gemini-3.1-pro-preview-customtools":se,"gemini-3-1-pro-preview":se,"gemini-3-1-pro-preview-customtools":se}),js=Object.freeze({"gemini-3-pro-preview":"gemini-3.1-pro-preview","gemini-3.1-pro-preview":"gemini-3-pro-preview","gemini-3-flash-preview":"gemini-3.1-flash-preview","gemini-3.1-flash-preview":"gemini-3-flash-preview"}),Oa=/^gemini-(\d+(?:[.-]\d+)*)-(pro|flash)-preview(-customtools)?$/i,_a=["agy/","gcli/"];function Q(t){return Ps(t).toLowerCase()}function La(t){const a=t.trim(),s=a.toLowerCase();for(const n of _a)if(s.startsWith(n))return a.slice(n.length);return a}function Fa(t){return t.replace(/-customtools$/i,"")}function Ua(t){return Ra[Q(t)]}function et(t){const a=Q(t),s=a.match(Oa);if(!s)return null;const[,n,r,d]=s;return{normalizedId:a,version:n.split(/[.-]/).map(o=>Number(o)),family:r,customtools:!!d,dottedVersion:n.includes(".")}}function bs(t,a){const s=Math.max(t.length,a.length);for(let n=0;n<s;n+=1){const r=t[n]??0,d=a[n]??0;if(r!==d)return r>d?1:-1}return 0}function Ka(t,a,s){if(t.customtools!==a.customtools)return t.customtools?1:-1;const n=bs(t.version,a.version);if(n!==0)return n>0?-1:1;const r=+(t.dottedVersion===s.dottedVersion),d=+(a.dottedVersion===s.dottedVersion);return r!==d?d-r:t.normalizedId.localeCompare(a.normalizedId)}function $t(t,a){const s=Q(a);return t.find(n=>Q(n.id)===s)?.id}function Ha(t,a){const s=et(t);return!s||a.length===0?void 0:a.map(r=>{const d=et(r.id);return!d||d.family!==s.family?null:{id:r.id,info:d}}).filter(r=>!!r).sort((r,d)=>Ka(r.info,d.info,s))[0]?.id}const fe={agy:{provider:"agy",displayName:"Antigravity",defaultModel:"claude-opus-4-6-thinking",models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",description:"Latest flagship, extended thinking",extendedContext:!1,presetMapping:{default:"claude-opus-4-6-thinking",opus:"claude-opus-4-6-thinking",sonnet:"claude-sonnet-4-6",haiku:"claude-sonnet-4-6"}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",description:"Latest Sonnet with thinking budget support",presetMapping:{default:"claude-sonnet-4-6",opus:"claude-opus-4-6-thinking",sonnet:"claude-sonnet-4-6",haiku:"claude-sonnet-4-6"}},{id:se,name:"Gemini Pro High",description:"Current Antigravity Gemini Pro route with higher reasoning budget",extendedContext:!0,presetMapping:{default:se,opus:se,sonnet:se,haiku:"gemini-3-1-flash-preview"}},{id:Pe,name:"Gemini Pro Low",description:"Current Antigravity Gemini Pro route with the lighter quota tier",extendedContext:!0,presetMapping:{default:Pe,opus:Pe,sonnet:Pe,haiku:"gemini-3-1-flash-preview"}},{id:"gemini-3-1-flash-preview",name:"Gemini Flash",description:"Resolves to the best advertised Gemini Flash preview via Antigravity",extendedContext:!0,presetMapping:{default:"gemini-3-1-flash-preview",opus:se,sonnet:se,haiku:"gemini-3-1-flash-preview"}}]},gemini:{provider:"gemini",displayName:"Gemini",defaultModel:"gemini-2.5-pro",models:[{id:"gemini-3.1-pro-preview",name:"Gemini Pro",tier:"paid",description:"Uses the best advertised Gemini Pro preview when Google exposes one",extendedContext:!0,presetMapping:{default:"gemini-3.1-pro-preview",opus:"gemini-3.1-pro-preview",sonnet:"gemini-3.1-pro-preview",haiku:"gemini-3-flash-preview"}},{id:"gemini-3-flash-preview",name:"Gemini Flash",tier:"paid",description:"Uses the best advertised Gemini Flash preview when Google exposes one",extendedContext:!0,presetMapping:{default:"gemini-3-flash-preview",opus:"gemini-3.1-pro-preview",sonnet:"gemini-3.1-pro-preview",haiku:"gemini-3-flash-preview"}},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",description:"Stable, works with free Google account",extendedContext:!0,presetMapping:{default:"gemini-2.5-pro",opus:"gemini-2.5-pro",sonnet:"gemini-2.5-pro",haiku:"gemini-2.5-flash"}}]},codex:{provider:"codex",displayName:"Codex",defaultModel:"gpt-5.4",models:[{id:"gpt-5.5",name:"GPT-5.5",tier:"paid",description:"Newest Codex-released GPT-5 family model; falls back to GPT-5.4 on free plans",codexMaxEffort:"xhigh",codexServiceTiers:["fast"],presetMapping:{default:"gpt-5.5",opus:"gpt-5.5",sonnet:"gpt-5.5",haiku:"gpt-5.4-mini"}},{id:"gpt-5.4",name:"GPT-5.4",description:"Recommended Codex default for most coding and agentic tasks",codexMaxEffort:"xhigh",codexServiceTiers:["fast"],presetMapping:{default:"gpt-5.4",opus:"gpt-5.4",sonnet:"gpt-5.4",haiku:"gpt-5.4-mini"}},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",description:"Fast, lower-cost Codex option for lighter tasks and haiku-tier routing",codexMaxEffort:"high",presetMapping:{default:"gpt-5.4-mini",opus:"gpt-5.4",sonnet:"gpt-5.4",haiku:"gpt-5.4-mini"}},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",tier:"paid",description:"Previous flagship coding model whose capabilities now power GPT-5.4",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.3-codex",opus:"gpt-5.3-codex",sonnet:"gpt-5.3-codex",haiku:"gpt-5.4-mini"}},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",tier:"paid",description:"Research preview model for ChatGPT Pro subscribers, optimized for near-instant coding iteration",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.3-codex-spark",opus:"gpt-5.3-codex",sonnet:"gpt-5.3-codex",haiku:"gpt-5.4-mini"}},{id:"gpt-5.2",name:"GPT-5.2",description:"Previous general-purpose Codex model",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.2",opus:"gpt-5.2",sonnet:"gpt-5.2",haiku:"gpt-5.4-mini"}}]},qwen:{provider:"qwen",displayName:"Qwen",defaultModel:"qwen3-coder-plus",models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",description:"Code-focused model (1M context)",presetMapping:{default:"qwen3-coder-plus",opus:"qwen3-max",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-flash"}},{id:"qwen3-max",name:"Qwen3 Max",description:"Flagship model (256K context)",presetMapping:{default:"qwen3-max",opus:"qwen3-max",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-flash"}},{id:"qwen3-max-preview",name:"Qwen3 Max Preview",description:"Preview with thinking support (256K)",presetMapping:{default:"qwen3-max-preview",opus:"qwen3-max-preview",sonnet:"qwen3-max",haiku:"qwen3-coder-flash"}},{id:"qwen3-235b",name:"Qwen3 235B",description:"Large 235B A22B model",presetMapping:{default:"qwen3-235b",opus:"qwen3-max",sonnet:"qwen3-235b",haiku:"qwen3-coder-flash"}},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus",description:"Vision-language multimodal"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash",description:"Fast code generation"},{id:"qwen3-32b",name:"Qwen3 32B",description:"Qwen3 32B model"}]},iflow:{provider:"iflow",displayName:"iFlow",defaultModel:"qwen3-coder-plus",models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",description:"Recommended default for iFlow accounts",presetMapping:{default:"qwen3-coder-plus",opus:"qwen3-coder-plus",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-plus"}},{id:"qwen3-max",name:"Qwen3 Max",description:"Flagship Qwen model via iFlow"},{id:"kimi-k2",name:"Kimi K2",description:"Kimi model currently available via iFlow"},{id:"deepseek-v3.2",name:"DeepSeek V3.2",description:"Current DeepSeek V3.2 model via iFlow"},{id:"deepseek-r1",name:"DeepSeek R1",description:"Reasoning-focused DeepSeek model"},{id:"glm-4.6",name:"GLM 4.6",description:"Zhipu GLM 4.6 via iFlow"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus",description:"Vision-language model"}]},kimi:{provider:"kimi",displayName:"Kimi (Moonshot)",defaultModel:"kimi-k2.5",models:[{id:"kimi-k2.5",name:"Kimi K2.5",description:"Latest multimodal model (262K context)",presetMapping:{default:"kimi-k2.5",opus:"kimi-k2.5",sonnet:"kimi-k2-thinking",haiku:"kimi-k2"}},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",description:"Extended reasoning model",presetMapping:{default:"kimi-k2-thinking",opus:"kimi-k2.5",sonnet:"kimi-k2-thinking",haiku:"kimi-k2"}},{id:"kimi-k2",name:"Kimi K2",description:"Flagship coding model"}]},kiro:{provider:"kiro",displayName:"Kiro (AWS)",defaultModel:"kiro-claude-sonnet-4-6",models:[{id:"kiro-claude-opus-4-6",name:"Kiro Claude Opus 4.6",description:"Claude Opus 4.6 via Kiro (2.2x credit)",presetMapping:{default:"kiro-claude-opus-4-6",opus:"kiro-claude-opus-4-6",sonnet:"kiro-claude-sonnet-4-6",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4-6",name:"Kiro Claude Sonnet 4.6",description:"Claude Sonnet 4.6 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4-6",opus:"kiro-claude-opus-4-6",sonnet:"kiro-claude-sonnet-4-6",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-opus-4-5",name:"Kiro Claude Opus 4.5",description:"Claude Opus 4.5 via Kiro (2.2x credit)",presetMapping:{default:"kiro-claude-opus-4-5",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4-5",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4-5",name:"Kiro Claude Sonnet 4.5",description:"Claude Sonnet 4.5 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4-5",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4-5",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4",name:"Kiro Claude Sonnet 4",description:"Claude Sonnet 4 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-haiku-4-5",name:"Kiro Claude Haiku 4.5",description:"Claude Haiku 4.5 via Kiro (0.4x credit)"}]},ghcp:{provider:"ghcp",displayName:"GitHub Copilot (OAuth)",defaultModel:"claude-sonnet-4.5",models:[{id:"claude-opus-4.5",name:"Claude Opus 4.5",description:"Anthropic Claude Opus 4.5 via GitHub Copilot",presetMapping:{default:"claude-opus-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"}},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",description:"Anthropic Claude Sonnet 4.5 via GitHub Copilot",presetMapping:{default:"claude-sonnet-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"}},{id:"claude-sonnet-4",name:"Claude Sonnet 4",description:"Anthropic Claude Sonnet 4 via GitHub Copilot"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",description:"Anthropic Claude Haiku 4.5 via GitHub Copilot"},{id:"gpt-5.2",name:"GPT-5.2",description:"OpenAI GPT-5.2 via GitHub Copilot",presetMapping:{default:"gpt-5.2",opus:"gpt-5.2",sonnet:"gpt-5.1",haiku:"gpt-5-mini"}},{id:"gpt-5.1",name:"GPT-5.1",description:"OpenAI GPT-5.1 via GitHub Copilot"},{id:"gpt-5",name:"GPT-5",description:"OpenAI GPT-5 via GitHub Copilot"},{id:"gpt-5-mini",name:"GPT-5 Mini",description:"OpenAI GPT-5 Mini via GitHub Copilot"},{id:"gemini-3-pro",name:"Gemini 3 Pro",description:"Google Gemini 3 Pro via GitHub Copilot"}]},claude:{provider:"claude",displayName:"Claude (Anthropic)",defaultModel:"claude-sonnet-4-6",models:[{id:"claude-opus-4-7",name:"Claude Opus 4.7",description:"Latest flagship model",extendedContext:!0,presetMapping:{default:"claude-opus-4-7",opus:"claude-opus-4-7",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",description:"Previous flagship model",extendedContext:!0,presetMapping:{default:"claude-opus-4-6",opus:"claude-opus-4-6",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",description:"Balanced performance and speed",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-6",opus:"claude-opus-4-6",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",description:"Most capable Claude model",extendedContext:!0,presetMapping:{default:"claude-opus-4-5-20251101",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-5-20250929",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",description:"Balanced performance and speed",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-5-20250929",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-5-20250929",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",description:"Previous generation Sonnet",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-20250514",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-20250514",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",description:"Fast and efficient"}]}};function Ie(t,a){if(!t)return;const s=Q(a);if(t.provider==="agy"){const o=Ua(s);if(o){const l=t.models.find(i=>i.id===o);if(l)return l}}const n=js[s.toLowerCase()],r=t.models.find(o=>o.id===s||o.id===n);if(r)return r;const d=et(s);if(d)return t.models.map(o=>({model:o,info:et(o.id)})).filter(o=>!!(o.info&&o.info.family===d.family)).sort((o,l)=>bs(l.info.version,o.info.version))[0]?.model}function qa(t){if(t==="free")return"free";if(typeof t=="string"&&t.trim().length>0)return"paid"}function za(t,a){const s=fe[t.toLowerCase()];if(!a||a.models.length===0)return s;const n=a.models.map(l=>({id:l.id,owned_by:a.provider})),r=a.models.map(l=>{const i=Ie(s,l.id);return{...l,name:l.name||i?.name||l.id,tier:i?.tier??qa(l.tier),description:l.description??i?.description,broken:i?.broken,issueUrl:i?.issueUrl,deprecated:i?.deprecated,deprecationReason:i?.deprecationReason,extendedContext:l.extendedContext??i?.extendedContext,presetMapping:i?.presetMapping}}),d=s?.defaultModel?De(s.defaultModel,n):void 0,o=typeof d=="string"&&n.some(l=>Q(l.id)===Q(d));return{provider:a.provider,displayName:a.displayName||s?.displayName||t,defaultModel:o?d:a.defaultModel,models:r}}function Et(t){const a={},s=new Set([...Object.keys(fe),...Object.keys(t??{})]);for(const n of s){const r=za(n,t?.[n]);r&&(a[n]=r)}return a}function Ns(t,a,s){const n=Ie(s,a);return n||Ie(fe[t.toLowerCase()],a)}function De(t,a=[]){const s=Q(t),n=Ha(s,a);if(n)return n;const r=$t(a,s);if(r)return r;const d=js[s];return(d?$t(a,d):void 0)??s}function Ga(t,a=[]){return{default:De(t.default,a),opus:De(t.opus,a),sonnet:De(t.sonnet,a),haiku:De(t.haiku,a)}}function Rt(t,a=[]){if(!t)return[];const s=fe[t.provider.toLowerCase()]??t,n=new Set;return s.models.map(r=>{const d=De(r.id,a),o=r.presetMapping?Ga(r.presetMapping,a):void 0,l=t.models.find(i=>Q(i.id)===Q(d));return{...r,id:d,name:l?.name||r.name,description:l?.description??r.description,presetMapping:o}}).filter(r=>n.has(r.id)?!1:(n.add(r.id),!0))}function Ba(t,a,s=[]){const n=t.trim().toLowerCase();if(!a||!n)return[];const r=fe[n]??a,d=Rt(a,s),o=new Set(d.map(p=>Q(p.id))),l=new Set(d.map(p=>Ie(r,p.id)?.id).filter(p=>!!p).map(p=>Q(p))),i=new Set,m=new Set(s.map(p=>Q(p.id)));return s.filter(p=>{const j=Q(p.id),f=La(p.id),h=Fa(f),E=Ie(r,f)??Ie(r,h);if(o.has(Q(f))||j!==Q(f)&&m.has(Q(f)))return!1;const w=Q(h);if(w!==Q(f)&&m.has(w))return!1;const M=E?Q(E.id):w;return E&&l.has(M)||i.has(M)||!E&&n==="agy"?!1:(i.add(M),!0)})}function Va(t,a,s){return Ns(t,a,s)?.extendedContext===!0}const lt="ccs-internal-managed";async function $a(){try{const t=await fetch("/api/settings/auth/tokens/raw");return t.ok?(await t.json())?.apiKey?.value??lt:lt}catch{return lt}}async function Wa(t,a){if(a)return a;try{const s=await fetch("/api/cliproxy/catalog");if(!s.ok)return fe[t];const n=await s.json();return Et(n.catalogs)[t]??fe[t]}catch{return fe[t]}}async function gt(t,a,s){const n=await Wa(t,s);if(!n)return{success:!1};const r=n.models.find(m=>m.id===n.defaultModel)||n.models[0],d=r?.presetMapping||{default:n.defaultModel,opus:n.defaultModel,sonnet:n.defaultModel,haiku:n.defaultModel},o=await $a(),i={env:{ANTHROPIC_BASE_URL:`http://127.0.0.1:${ft}/api/provider/${t}`,ANTHROPIC_AUTH_TOKEN:o,ANTHROPIC_MODEL:d.default,ANTHROPIC_DEFAULT_OPUS_MODEL:d.opus,ANTHROPIC_DEFAULT_SONNET_MODEL:d.sonnet,ANTHROPIC_DEFAULT_HAIKU_MODEL:d.haiku}};try{return{success:(await fetch(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:i})})).ok,presetName:r?.name||n.defaultModel}}catch{return{success:!1}}}function Qa({currentProgress:t,allSteps:a}){return e.jsx("div",{className:"flex justify-center gap-1 pt-2",children:a.map((s,n)=>e.jsx("div",{className:`w-2 h-2 rounded-full transition-colors ${t>=n?"bg-primary":"bg-muted"}`},s))})}function Ja({providers:t,onSelect:a}){return e.jsx("div",{className:"grid gap-2",children:t.map(s=>e.jsxs("button",{onClick:()=>a(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(us,{className:"w-4 h-4 text-muted-foreground"})]},s.id))})}function Xa({selectedProvider:t,providers:a,authCommand:s,isRefreshing:n,isPending:r,onBack:d,onStartAuth:o,onRefresh:l}){const{t:i}=W(),[m,p]=c.useState(!1),j=async f=>{await navigator.clipboard.writeText(f),p(!0),setTimeout(()=>p(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-center space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:i("setupWizard.authStep.authenticateWith",{provider:a.find(f=>f.id===t)?.name})}),e.jsx(F,{onClick:o,disabled:r,className:"w-full gap-2",size:"lg",children:r?e.jsxs(e.Fragment,{children:[e.jsx(ce,{className:"w-4 h-4 animate-spin"}),i("setupWizard.authStep.authenticating")]}):e.jsxs(e.Fragment,{children:[e.jsx(Ae,{className:"w-4 h-4"}),i("setupWizard.authStep.authenticateInBrowser")]})}),r&&e.jsx("p",{className:"text-xs text-muted-foreground",children:i("setupWizard.authStep.completeOAuth")})]}),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:i("setupWizard.authStep.orUseTerminal")})})]}),e.jsx(es,{children:e.jsxs(ts,{className:"p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(Na,{className:"w-4 h-4"}),i("setupWizard.authStep.runCommandHint")]}),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:s}),e.jsx(F,{variant:"outline",size:"icon",onClick:()=>j(s),children:m?e.jsx(Se,{className:"w-4 h-4 text-green-500"}):e.jsx(ms,{className:"w-4 h-4"})})]})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(F,{variant:"ghost",onClick:d,disabled:r,children:[e.jsx(St,{className:"w-4 h-4 mr-2"}),i("setupWizard.authStep.back")]}),e.jsxs(F,{variant:"outline",onClick:l,disabled:n||r,children:[e.jsx(Mt,{className:`w-4 h-4 mr-2 ${n?"animate-spin":""}`}),i(n?"setupWizard.authStep.checking":"setupWizard.authStep.refreshStatus")]})]})]})}function Ya({accounts:t,privacyMode:a,onSelect:s,onAddNew:n,onBack:r}){const{t:d}=W();return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:d("setupWizard.accountStep.selectAccount",{count:t.length})}),e.jsx("div",{className:"grid gap-2 max-h-[320px] overflow-y-auto pr-1",children:t.map(o=>{const l=ss(o.id,o.email,o.tokenFile),i=o.provider?.toLowerCase()==="codex"?as(l):null;return e.jsxs("button",{type:"button",onClick:()=>s(o),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(Re,{className:"w-4 h-4 text-muted-foreground"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:X("font-medium",a&&bt),children:l.email}),e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[i?.label?e.jsx(q,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",i.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":i.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:i.label}):l.audienceLabel?e.jsx(q,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",l.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":l.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:l.audienceLabel}):null,!i?.label&&l.detailLabel&&e.jsx(q,{variant:"outline",className:"text-[10px] h-4 px-1.5",children:l.detailLabel}),o.isDefault&&e.jsx("span",{className:"text-xs text-muted-foreground",children:d("setupWizard.accountStep.defaultAccount")})]})]})]}),e.jsx(us,{className:"w-4 h-4 text-muted-foreground"})]},o.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:d("setupWizard.accountStep.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:n,children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:e.jsx(Ae,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-primary",children:d("setupWizard.accountStep.addNewAccount")}),e.jsx("div",{className:"text-xs text-muted-foreground",children:d("setupWizard.accountStep.addNewAccountDesc")})]})]}),e.jsx("div",{className:"flex items-center justify-between pt-2",children:e.jsxs(F,{variant:"ghost",onClick:r,children:[e.jsx(St,{className:"w-4 h-4 mr-2"}),d("setupWizard.accountStep.back")]})})]})}const Wt="__custom__";function Za({selectedProvider:t,catalog:a,selectedAccount:s,variantName:n,modelName:r,isPending:d,privacyMode:o,onVariantNameChange:l,onModelChange:i,onBack:m,onSkip:p,onCreate:j}){const{t:f}=W(),h=a||fe[t],E=h?.models||[],w=r&&!E.some(g=>g.id===r),[M,S]=c.useState(w),A=t==="agy"&&r.trim().length>0?ue(r):!1,N=s?ss(s.id,s.email,s.tokenFile):null,k=t==="codex"&&N?as(N):null,x=g=>{g===Wt?(S(!0),i("")):(S(!1),i(g))};return e.jsxs("div",{className:"space-y-4",children:[s&&e.jsxs("div",{className:"flex min-w-0 items-start gap-2 rounded-md bg-muted/50 p-2 text-sm",children:[e.jsx(Re,{className:"w-4 h-4 shrink-0"}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("span",{children:[f("setupVariant.using")," ",e.jsx("span",{className:X("break-all",o&&bt),children:N?.email})]}),(N?.audienceLabel||N?.detailLabel)&&e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[k?.label?e.jsx(q,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",k.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":k.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:k.label}):N?.audienceLabel?e.jsx(q,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",N.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":N.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:N.audienceLabel}):null,!k?.label&&N?.detailLabel&&e.jsx(q,{variant:"outline",className:"text-[10px] h-4 px-1.5",children:N.detailLabel})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"variant-name",children:f("setupVariant.variantNameRequired")}),e.jsx(de,{id:"variant-name",value:n,onChange:g=>l(g.target.value),placeholder:f("setupVariant.variantNamePlaceholder")}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[f("setupVariant.invokeHintPrefix")," ccs ",n||"<name>",' "prompt"']})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{children:f("setupVariant.model")}),M?e.jsxs("div",{className:"space-y-2",children:[e.jsx(de,{value:r,onChange:g=>i(g.target.value),placeholder:f("setupVariant.modelPlaceholder")}),A&&e.jsx("p",{className:"text-xs text-destructive",children:f("providerEditor.agyDenylist")}),e.jsx("button",{type:"button",className:"text-xs text-primary hover:underline",onClick:()=>{S(!1),t==="agy"&&ue(r)&&i("")},children:f("setupVariant.choosePresetInstead")})]}):e.jsxs(Be,{value:E.some(g=>g.id===r)?r:"",onValueChange:x,children:[e.jsx(Ve,{className:"min-w-0",children:e.jsx($e,{placeholder:f("setupVariant.selectModel")})}),e.jsxs(We,{className:"max-w-[calc(100vw-2rem)]",children:[E.map(g=>e.jsx(Ce,{value:g.id,children:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate",children:g.name}),g.description&&e.jsxs("span",{className:"truncate text-xs text-muted-foreground",children:["- ",g.description]})]})},g.id)),e.jsx(Ce,{value:Wt,children:e.jsx("span",{className:"text-primary",children:f("setupVariant.customModelName")})})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:M?f("setupVariant.enterAnyModel"):f("setupVariant.defaultModel",{model:h?.defaultModel||f("setupVariant.providerDefault")})})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-2 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs(F,{variant:"ghost",onClick:m,className:"justify-start",children:[e.jsx(St,{className:"w-4 h-4 mr-2"}),f("setupVariant.back")]}),e.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:items-center",children:[e.jsx(F,{variant:"ghost",onClick:p,children:f("setupVariant.skip")}),e.jsx(F,{onClick:j,disabled:!n||d||A,children:f(d?"setupVariant.creating":"setupVariant.createVariant")})]})]}),e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:f("setupVariant.skipHint")})]})}function en({variantName:t,onClose:a}){const{t:s}=W();return 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(Se,{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:s("setupWizard.successStep.title")}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s("setupWizard.successStep.subtitle")})]}),e.jsx(es,{children:e.jsxs(ts,{className:"p-4 space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:s("setupWizard.successStep.usage")}),e.jsxs("code",{className:"block px-3 py-2 bg-muted rounded-md font-mono text-sm",children:["ccs ",t,' "your prompt here"']})]})}),e.jsx(F,{onClick:a,className:"w-full",children:s("setupWizard.successStep.done")})]})}function tn({open:t,onClose:a}){const[s,n]=c.useState("provider"),[r,d]=c.useState(""),[o,l]=c.useState(null),[i,m]=c.useState(""),[p,j]=c.useState(""),[f,h]=c.useState(!1),[E,w]=c.useState(!1),{data:M,refetch:S}=ns(),{data:A}=rs(),N=Ds(),k=Is(),x=Ts(),{privacyMode:g}=is(),I=M?.authStatus.find(R=>R.provider===r),u=c.useMemo(()=>I?.accounts||[],[I?.accounts]),T=c.useMemo(()=>Et(A?.catalogs),[A?.catalogs]),y=!!A;c.useEffect(()=>{if(!t){const R=setTimeout(()=>{n("provider"),d(""),l(null),m(""),j(""),w(!1)},0);return()=>clearTimeout(R)}},[t]),c.useEffect(()=>{if(s==="auth"&&u.length>0&&!E){const R=setTimeout(()=>{n("account")},0);return()=>clearTimeout(R)}},[s,u,E]);const z=async()=>{h(!0),await S(),h(!1)},D=()=>{const R=(I?.accounts?.length||0)===0;k.mutate({provider:r},{onSuccess:async b=>{if(R){const J=await gt(r,void 0,y?T[r]:void 0);J.success&&J.presetName?B.success(`Applied "${J.presetName}" preset`):J.success||B.warning(me.t("commonToast.accountAddedPresetFailed"))}b.account&&(l(b.account),n("variant")),S()}})},O=R=>{d(R),(M?.authStatus.find(Y=>Y.provider===R)?.accounts||[]).length===0?n("auth"):n("account")},_=R=>{l(R),n("variant")},G=async()=>{if(!(!i||!r))try{await N.mutateAsync({name:i,provider:r,model:p||void 0,account:o?.id}),n("success")}catch(R){console.error("Failed to create variant:",R)}},V=`ccs ${r} --auth --add`,H=Rs(s),C=R=>{if(!R&&(k.isPending&&r&&x.mutate(r),s==="success"||s==="provider")){a();return}};return e.jsx(Nt,{open:t,onOpenChange:C,children:e.jsxs(yt,{className:"grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-2rem)] max-w-lg grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden p-0 sm:max-w-lg",onPointerDownOutside:R=>{s!=="success"&&s!=="provider"&&R.preventDefault()},onEscapeKeyDown:R=>{(k.isPending||N.isPending)&&R.preventDefault()},children:[e.jsxs(wt,{className:"min-w-0 px-6 pt-6 pr-12",children:[e.jsxs(kt,{className:"flex min-w-0 items-center gap-2",children:[e.jsx(Pt,{className:"w-5 h-5 text-primary"}),me.t("setupWizard.title")]}),e.jsxs(os,{children:[s==="provider"&&me.t("setupWizard.stepProviderDesc"),s==="auth"&&me.t("setupWizard.stepAuthDesc"),s==="account"&&me.t("setupWizard.stepAccountDesc"),s==="variant"&&me.t("setupWizard.stepVariantDesc"),s==="success"&&me.t("setupWizard.stepSuccessDesc")]})]}),e.jsxs("div",{className:"min-h-0 space-y-4 overflow-y-auto px-6 py-4",children:[s==="provider"&&e.jsx(Ja,{providers:Lt,onSelect:O}),s==="auth"&&e.jsx(Xa,{selectedProvider:r,providers:Lt,authCommand:V,isRefreshing:f,isPending:k.isPending,onBack:()=>n("provider"),onStartAuth:D,onRefresh:z}),s==="account"&&e.jsx(Ya,{accounts:u,privacyMode:g,onSelect:_,onAddNew:()=>{w(!0),n("auth")},onBack:()=>n("provider")}),s==="variant"&&e.jsx(Za,{selectedProvider:r,catalog:T[r],selectedAccount:o,variantName:i,modelName:p,isPending:N.isPending,privacyMode:g,onVariantNameChange:m,onModelChange:j,onBack:()=>u.length>0?n("account"):n("provider"),onSkip:a,onCreate:G}),s==="success"&&e.jsx(en,{variantName:i,onClose:a})]}),e.jsx("div",{className:"px-6 pb-6",children:e.jsx(Qa,{currentProgress:H,allSteps:Es})})]})})}const sn=3e3,an=300*1e3,nn=3;function dt(t){t.invalidateQueries({queryKey:["cliproxy-catalog"]}),t.invalidateQueries({queryKey:["cliproxy-models"]})}async function ct(t){const a=await t.text();if(!a)return{};try{return JSON.parse(a)}catch{const s=t.status>=400?`Request failed with status ${t.status}`:void 0;return s?{error:s}:{}}}function rn(t,a){const s=typeof t.message=="string"?t.message:typeof t.error=="string"?t.error:a,n=Array.isArray(t.hints)?t.hints.filter(r=>typeof r=="string"&&r.trim().length>0):[];return n.length>0?[s,...n].join(`
2
- `):s}const je={provider:null,isAuthenticating:!1,error:null,authUrl:null,oauthState:null,isSubmittingCallback:!1,isDeviceCodeFlow:!1};function on(){const{t}=W(),[a,s]=c.useState(je),n=c.useRef(je),r=c.useRef(0),d=c.useRef(null),o=c.useRef(null),l=c.useRef(0),i=c.useRef(0),m=c.useRef(!1),p=jt(),j=c.useCallback(S=>S===r.current,[]),f=c.useCallback(()=>{o.current&&(clearInterval(o.current),o.current=null),i.current=0},[]);c.useEffect(()=>()=>{d.current?.abort(),f(),m.current=!1},[f]),c.useEffect(()=>{n.current=a},[a]);const h=c.useCallback(async(S,A,N)=>{if(j(N)){if(Date.now()-l.current>an){f(),j(N)&&s(k=>({...k,isAuthenticating:!1,error:t("toasts.providerAuthTimeout")}));return}try{const k=await fetch(`/api/cliproxy/auth/${S}/status?state=${encodeURIComponent(A)}`);if(!j(N))return;const x=await k.json();if(i.current=0,x.status==="ok"){if(!(typeof x.account=="object"&&x.account!==null)){f();const I=t("toasts.providerAccountRegistrationFailed");B.error(I),s(u=>({...u,isAuthenticating:!1,error:I}));return}f(),p.invalidateQueries({queryKey:["cliproxy-auth"]}),p.invalidateQueries({queryKey:["cliproxy-accounts"]}),p.invalidateQueries({queryKey:["account-quota"]}),dt(p),B.success(t("toasts.providerAuthSuccess",{provider:S})),m.current=!1,s(je)}else if(x.status==="auth_url"){const g=x.url||x.auth_url;g&&(s(I=>({...I,authUrl:g})),m.current||(m.current=!0,window.open(g,"_blank")))}else if(x.status==="device_code"){f();const g=x.user_code&&x.verification_url?`Open ${x.verification_url} and enter code: ${x.user_code}`:"Switch to Device Code method and try again.";B.error(t("toasts.providerDeviceCodeInCallback")),s(I=>({...I,isAuthenticating:!1,error:g}))}else if(x.status==="error"){f();const g=x.error||"Authentication failed";B.error(g),s(I=>({...I,isAuthenticating:!1,error:g}))}}catch(k){if(!j(N)||(i.current+=1,i.current<nn))return;f();const x=k instanceof Error&&k.message.trim().length>0?k.message:t("toasts.providerLostStatusEndpoint");B.error(x),s(g=>({...g,isAuthenticating:!1,error:x}))}}},[j,p,f,t]),E=c.useCallback(async(S,A)=>{if(!Ee(S)){s({...je,error:t("toasts.providerUnknown",{provider:S})});return}d.current?.abort(),f(),m.current=!1,i.current=0;const N=new AbortController,k=r.current+1;r.current=k,d.current=N;const g=(A?.flowType||(ls(S)?"device_code":"authorization_code"))==="device_code",I=A?.startEndpoint||(g?"start":"start-url"),u={nickname:A?.nickname,kiroMethod:A?.kiroMethod,kiroIDCStartUrl:A?.kiroIDCStartUrl,kiroIDCRegion:A?.kiroIDCRegion,kiroIDCFlow:A?.kiroIDCFlow,gitlabAuthMode:A?.gitlabAuthMode,gitlabBaseUrl:A?.gitlabBaseUrl,gitlabPersonalAccessToken:A?.gitlabPersonalAccessToken,riskAcknowledgement:A?.riskAcknowledgement};s({provider:S,isAuthenticating:!0,error:null,authUrl:null,oauthState:null,isSubmittingCallback:!1,isDeviceCodeFlow:g});try{if(I==="start")fetch(`/api/cliproxy/auth/${S}/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u),signal:N.signal}).then(async T=>{if(!j(k))return;const y=await ct(T);if(!j(k))return;const z=y.success===!0,D=typeof y.account=="object"&&y.account!==null;if(T.ok&&z&&D)p.invalidateQueries({queryKey:["cliproxy-auth"]}),p.invalidateQueries({queryKey:["cliproxy-accounts"]}),p.invalidateQueries({queryKey:["account-quota"]}),dt(p),m.current=!1,s(je);else{const O=typeof y.error=="string"?y.error:t(z?"toasts.providerAccountRegistrationFailed":"auth.loginFailed");B.error(O),s(_=>({..._,isAuthenticating:!1,error:O}))}}).catch(T=>{if(!j(k)||T instanceof Error&&T.name==="AbortError")return;const y=T instanceof Error?T.message:"Authentication failed";B.error(y),s(z=>({...z,isAuthenticating:!1,error:y}))});else{const T=await fetch(`/api/cliproxy/auth/${S}/start-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u),signal:N.signal});if(!j(k))return;const y=await ct(T);if(!j(k))return;const z=y.success===!0;if(!T.ok||!z){const _=rn(y,t("toasts.providerStartOAuthFailed"));throw new Error(_)}const D=typeof y.authUrl=="string"?y.authUrl:null,O=typeof y.state=="string"?y.state:null;if(s(_=>({..._,authUrl:D,oauthState:O})),D&&(m.current=!0,window.open(D,"_blank")),O){if(l.current=Date.now(),!D){if(await h(S,O,k),!j(k))return;const _=n.current;if(!_.isAuthenticating||_.provider!==S)return}o.current=setInterval(()=>{h(S,O,k)},sn)}}}catch(T){if(!j(k))return;if(T instanceof Error&&T.name==="AbortError"){m.current=!1,s(je);return}const y=T instanceof Error?T.message:t("auth.loginFailed");B.error(y),s(z=>({...z,isAuthenticating:!1,error:y}))}},[j,h,f,p,t]),w=c.useCallback(()=>{const S=a.provider;r.current+=1,d.current?.abort(),f(),m.current=!1,s(je),S&&Qe.cliproxy.auth.cancel(S).catch(()=>{})},[a.provider,f]),M=c.useCallback(async S=>{if(!a.provider)return;const A=r.current,N=a.provider;s(k=>({...k,isSubmittingCallback:!0,error:null}));try{const k=await fetch(`/api/cliproxy/auth/${N}/submit-callback`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({redirectUrl:S})});if(!j(A))return;const x=await ct(k);if(!j(A))return;const g=x.success===!0,I=x.status==="wait",u=typeof x.account=="object"&&x.account!==null;if(k.ok&&I)s(T=>({...T,isSubmittingCallback:!1,error:null}));else if(k.ok&&g&&u)f(),p.invalidateQueries({queryKey:["cliproxy-auth"]}),p.invalidateQueries({queryKey:["cliproxy-accounts"]}),p.invalidateQueries({queryKey:["account-quota"]}),dt(p),B.success(t("toasts.providerAuthSuccess",{provider:N})),s(je);else{const T=typeof x.error=="string"?x.error:t(g?"toasts.providerAccountRegistrationFailed":"toasts.providerCallbackFailed");throw new Error(T)}}catch(k){if(!j(A))return;const x=k instanceof Error?k.message:t("toasts.providerSubmitCallbackFailed");B.error(x),s(g=>({...g,isSubmittingCallback:!1,error:x}))}},[j,a.provider,p,f,t]);return c.useMemo(()=>({...a,startAuth:E,cancelAuth:w,submitCallback:M}),[a,E,w,M])}function vt({className:t,compact:a=!1,showAcknowledgement:s=!1,acknowledgementPhrase:n=Je,acknowledgementText:r="",onAcknowledgementTextChange:d,disabled:o=!1,showProxySettingsLink:l=!1}){const{t:i}=W(),m=i("accountSafetyWarning.title"),p=i("accountSafetyWarning.subtitle"),j=i("accountSafetyWarning.firstLine"),f=i("accountSafetyWarning.secondLine"),h="https://github.com/kaitranntt/ccs/issues/509",E=i("accountSafetyWarning.issueLabel"),w=i("accountSafetyWarning.proxySettingsLabel");return a?e.jsx("section",{role:"alert",className:X("border-b border-amber-200/70 bg-amber-50/45 dark:bg-amber-950/5",t),children:e.jsxs("div",{className:"flex flex-col gap-3 px-6 py-3 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"min-w-0 flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-6 w-6 items-center justify-center rounded-md bg-amber-500/12 text-amber-700 dark:text-amber-300",children:e.jsx(Ye,{className:"h-3.5 w-3.5"})}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"text-xs font-semibold leading-5",children:m}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:p})]}),e.jsx("p",{className:"text-xs leading-5 text-muted-foreground",children:j}),e.jsx("p",{className:"text-xs font-medium leading-5 text-amber-900 dark:text-amber-200",children:f})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 lg:justify-end",children:[e.jsxs("a",{href:h,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 rounded-md border border-amber-500/25 bg-background/90 px-2 py-1 text-[11px] font-medium text-amber-800 transition-colors hover:bg-amber-500/10 dark:text-amber-200",children:[E,e.jsx(Ae,{className:"h-3 w-3"})]}),l?e.jsxs("a",{href:"/settings?tab=proxy",className:"inline-flex items-center gap-1 rounded-md border border-amber-500/25 bg-background/90 px-2 py-1 text-[11px] font-medium text-amber-800 transition-colors hover:bg-amber-500/10 dark:text-amber-200",children:[e.jsx(Bt,{className:"h-3 w-3"}),w]}):null,e.jsx(q,{variant:"outline",className:"border-amber-500/40 text-[10px] text-amber-700 dark:text-amber-300",children:"High Risk"})]})]})}):e.jsxs("section",{role:"alert",className:X("relative overflow-hidden rounded-xl border border-amber-500/30 bg-gradient-to-br from-amber-50 via-background to-rose-50/70 shadow-sm dark:from-amber-950/20 dark:to-rose-950/20",t),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-0.5 bg-gradient-to-r from-amber-500 via-orange-500 to-rose-500"}),e.jsxs("div",{className:"space-y-3 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-7 w-7 items-center justify-center rounded-md bg-amber-500/15 text-amber-700 dark:text-amber-400",children:e.jsx(Ye,{className:"h-4 w-4"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold leading-5",children:m}),e.jsx("p",{className:"text-xs text-muted-foreground",children:p})]})]}),e.jsx(q,{variant:"outline",className:"border-amber-500/40 text-amber-700 dark:text-amber-300",children:"High Risk"})]}),e.jsxs("div",{className:"space-y-2 text-sm leading-relaxed",children:[e.jsx("p",{children:j}),e.jsx("p",{className:"font-medium text-amber-900 dark:text-amber-200",children:f}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"CCS is provided as-is and does not take responsibility for suspension, bans, or access loss from upstream providers."})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("a",{href:h,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-2.5 py-1 text-xs font-medium text-amber-800 transition-colors hover:bg-amber-500/15 dark:text-amber-200",children:[E,e.jsx(Ae,{className:"h-3.5 w-3.5"})]}),l&&e.jsxs("a",{href:"/settings?tab=proxy",className:"inline-flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-2.5 py-1 text-xs font-medium text-amber-800 transition-colors hover:bg-amber-500/15 dark:text-amber-200",children:[e.jsx(Bt,{className:"h-3.5 w-3.5"}),w]}),e.jsx("span",{className:"rounded-md border border-border/70 bg-muted/60 px-2.5 py-1 text-xs text-muted-foreground",children:"Applies to CLI and dashboard auth"})]}),s&&d&&e.jsxs("div",{className:"rounded-lg border border-amber-500/25 bg-amber-500/5 p-2.5",children:[e.jsxs(ee,{htmlFor:"account-risk-ack-text",className:"text-xs leading-5",children:["Type exact phrase to continue:"," ",e.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono",children:n})]}),e.jsx(de,{id:"account-risk-ack-text",value:r,onChange:M=>d(M.target.value),placeholder:n,disabled:o,className:"mt-2 font-mono text-xs"})]})]})]})}function ln({className:t,value:a,onChange:s,disabled:n=!1}){const{t:r}=W(),d=[a.reviewedIssue509,a.understandsBanRisk,a.acceptsFullResponsibility,a.typedPhrase.trim().replace(/\s+/g," ").toUpperCase()===Vt].filter(Boolean).length,o=d/4*100,l=i=>{s({...a,...i})};return e.jsxs("section",{role:"alert",className:X("relative overflow-hidden rounded-xl border border-rose-500/35 bg-gradient-to-br from-rose-50 via-background to-amber-50/70 p-4 shadow-sm dark:from-rose-950/20 dark:to-amber-950/20",t),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-0.5 bg-gradient-to-r from-rose-500 via-orange-500 to-amber-500"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-7 w-7 items-center justify-center rounded-md bg-rose-500/15 text-rose-700 dark:text-rose-300",children:e.jsx(Ye,{className:"h-4 w-4"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-semibold leading-5",children:r("antigravityChecklist.title")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r("antigravityChecklist.subtitle")})]})]}),e.jsx(q,{variant:"outline",className:"border-rose-500/40 text-rose-700 dark:text-rose-300",children:r("antigravityChecklist.mandatory")})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[e.jsx("span",{children:r("antigravityChecklist.completion")}),e.jsx("span",{children:r("antigravityChecklist.stepsCount",{current:d})})]}),e.jsx(Os,{value:o,className:"h-2"})]}),e.jsxs("div",{className:"space-y-3 rounded-lg border border-rose-500/20 bg-rose-500/5 p-3",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Xe,{id:"agy-step-reviewed-issue",checked:a.reviewedIssue509,onCheckedChange:i=>l({reviewedIssue509:!!i}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-reviewed-issue",className:"text-xs leading-5",children:"Step 1: I reviewed issue #509 and understand AGY OAuth can trigger account bans/suspensions."})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Xe,{id:"agy-step-understands-risk",checked:a.understandsBanRisk,onCheckedChange:i=>l({understandsBanRisk:!!i}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-understands-risk",className:"text-xs leading-5",children:"Step 2: I understand this OAuth action is my own decision and I accept the upstream risk."})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Xe,{id:"agy-step-accept-responsibility",checked:a.acceptsFullResponsibility,onCheckedChange:i=>l({acceptsFullResponsibility:!!i}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-accept-responsibility",className:"text-xs leading-5",children:"Step 3: I accept full responsibility. CCS is not liable for suspension, bans, or access loss."})]})]}),e.jsxs("div",{className:"space-y-2 rounded-lg border border-amber-500/25 bg-amber-500/5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-medium text-amber-800 dark:text-amber-200",children:[e.jsx(ps,{className:"h-3.5 w-3.5"}),"Step 4: Type exact phrase to continue"]}),e.jsx(de,{value:a.typedPhrase,onChange:i=>l({typedPhrase:i.target.value}),placeholder:Vt,disabled:n,className:"font-mono text-xs"})]}),e.jsx("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:e.jsxs("a",{href:"https://github.com/kaitranntt/ccs/issues/509",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-rose-500/30 bg-rose-500/10 px-2.5 py-1 font-medium text-rose-800 transition-colors hover:bg-rose-500/15 dark:text-rose-200",children:["Read issue #509",e.jsx(Ae,{className:"h-3.5 w-3.5"})]})})]})]})}function dn(t){return t.trim().replace(/\s+/g," ").toUpperCase()}function cn({open:t,onClose:a,provider:s,displayName:n,catalog:r,isFirstAccount:d=!1}){const[o,l]=c.useState(""),[i,m]=c.useState(""),[p,j]=c.useState(!1),[f,h]=c.useState(null),[E,w]=c.useState(""),[M,S]=c.useState(ot),[A,N]=c.useState(!1),[k,x]=c.useState(!1),[g,I]=c.useState(Ft),[u,T]=c.useState(""),[y,z]=c.useState(""),[D,O]=c.useState(Ut),[_,G]=c.useState("oauth"),[V,H]=c.useState(""),[C,R]=c.useState(""),{t:b}=W(),J=c.useRef(!1),Y=c.useRef(0),ne=c.useRef(!1),U=on(),re=_s(),$=s==="kiro",Z=s==="gitlab",ae=s==="agy"||s==="gemini",pe=s==="gemini"&&!A,xe=s==="agy"&&!A,Me=ae&&k,ye=Pa(M),v=dn(E)===Je,K=ls(s),we=Ls(g),ge=$&&g==="idc",ke=$&&Us(g),Te=$?Fs(g,D):void 0,at=$?Hs(g):void 0,nt=$?Te==="device_code":K,ie=U.isAuthenticating||re.isPending,_e=o.trim(),Le=u.trim(),Fe=y.trim(),Ue=V.trim(),L=C.trim(),te=f||U.error,oe=c.useCallback(async()=>{const P=await fetch("/api/settings/auth/antigravity-risk");if(!P.ok)throw new Error("Failed to load power user mode setting");return(await P.json()).antigravityAckBypass===!0},[]),ve=c.useCallback(async({pendingMessage:P=null,disabledMessage:he=null}={})=>{const it=++Y.current;x(!0),P!==null&&h(P);try{const Ke=await oe();return Y.current!==it||(N(Ke),he?h(Ke?null:he):P!==null&&h(null)),Ke}catch{return Y.current!==it||(N(!1),h(he??b("addAccountDialog.powerUserLoadFailed")),ne.current||(ne.current=!0,B.error(b("addAccountDialog.powerUserLoadFailed")))),!1}finally{Y.current===it&&x(!1)}},[oe,b]),rt=()=>{l(""),m(""),j(!1),h(null),w(""),S(ot),N(!1),x(!1),I(Ft),T(""),z(""),O(Ut),G("oauth"),H(""),R(""),Y.current+=1,ne.current=!1,J.current=!1,a()};c.useEffect(()=>{t&&(w(""),S(ot),h(null))},[s,t]),c.useEffect(()=>()=>{Y.current+=1},[]),c.useEffect(()=>{if(!t||!ae){Y.current+=1,N(!1),x(!1);return}ve()},[t,s,ae,ve]),c.useEffect(()=>{if(!t||s!=="agy"||!U.error||!A)return;const P=U.error.toLowerCase();(P.includes("agy_risk_ack_required")||P.includes("responsibility acknowledgement")||P.includes("responsibility checklist"))&&ve({pendingMessage:b("addAccountDialog.powerUserLoading"),disabledMessage:b("addAccountDialog.powerUserUnavailableRetry")})},[U.error,t,A,s,ve,b]),c.useEffect(()=>{!U.isAuthenticating&&!U.error&&U.provider===null&&t&&J.current&&(J.current=!1,(async()=>{try{const he=await gt(s,void 0,r);he.success&&he.presetName&&d&&B.success(`Applied "${he.presetName}" preset`)}catch{}rt()})())},[U.isAuthenticating,U.error,U.provider]);const _t=()=>{U.cancelAuth(),rt()},ws=async()=>{U.authUrl&&(await navigator.clipboard.writeText(U.authUrl),j(!0),setTimeout(()=>j(!1),2e3))},ks=()=>{i.trim()&&U.submitCallback(i.trim())},Cs=()=>{if(Me){h(b("addAccountDialog.powerUserLoading"));return}if(xe&&!ye){h("Complete all Antigravity responsibility steps before authenticating this provider.");return}if(pe&&!v){h(`Type "${Je}" to acknowledge the account safety warning before authenticating this provider.`);return}if(h(null),ge&&!Le){h("IDC Start URL is required for Kiro IAM Identity Center login.");return}if(Z&&_==="pat"&&!L){h(b("addAccountDialog.gitlabPatRequired"));return}J.current=!0,U.startAuth(s,{nickname:_e||void 0,kiroMethod:$?g:void 0,kiroIDCStartUrl:ge?Le:void 0,kiroIDCRegion:ge&&Fe?Fe:void 0,kiroIDCFlow:ge?D:void 0,gitlabAuthMode:Z?_:void 0,gitlabBaseUrl:Z&&Ue?Ue:void 0,gitlabPersonalAccessToken:Z&&_==="pat"&&L?L:void 0,flowType:$?Te:void 0,startEndpoint:$?at:Z&&_==="pat"?"start":void 0,riskAcknowledgement:xe?{version:Da,reviewedIssue509:M.reviewedIssue509,understandsBanRisk:M.understandsBanRisk,acceptsFullResponsibility:M.acceptsFullResponsibility,typedPhrase:M.typedPhrase}:void 0})},As=()=>{J.current=!0,re.mutate(void 0,{onSuccess:async()=>{const P=await gt("kiro",void 0,r);P.success&&P.presetName&&d&&B.success(`Applied "${P.presetName}" preset`),rt()}})},Ss=P=>{P||_t()},le=U.isAuthenticating;return e.jsx(Nt,{open:t,onOpenChange:Ss,children:e.jsxs(yt,{className:"grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-2rem)] max-w-md grid-rows-[auto_minmax(0,1fr)] overflow-hidden p-0 sm:max-w-md",onInteractOutside:P=>{le&&P.preventDefault()},children:[e.jsxs(wt,{className:"min-w-0 px-6 pt-6 pr-12",children:[e.jsx(kt,{children:b("addAccountDialog.title",{displayName:n})}),e.jsx(os,{children:b($?"addAccountDialog.descKiro":nt?"addAccountDialog.descDeviceCode":"addAccountDialog.descOauth")})]}),e.jsxs("div",{className:"min-h-0 space-y-4 overflow-y-auto px-6 py-4",children:[xe&&!le&&e.jsx(ln,{value:M,onChange:P=>{S(P),h(null)},disabled:ie}),ae&&A&&!le&&e.jsxs("div",{className:"rounded-lg border border-amber-400/35 bg-amber-50/70 p-3 text-xs text-amber-900 dark:border-amber-800/60 dark:bg-amber-950/25 dark:text-amber-100",children:[e.jsxs("div",{className:"mb-1.5 flex items-center gap-1.5 font-semibold",children:[e.jsx(ps,{className:"h-3.5 w-3.5"}),b("addAccountDialog.powerUserEnabled")]}),b("addAccountDialog.powerUserSkipped")]}),pe&&!le&&e.jsx(vt,{showAcknowledgement:!0,acknowledgementPhrase:Je,acknowledgementText:E,onAcknowledgementTextChange:P=>{w(P),h(null)},disabled:ie}),$&&!le&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-auth-method",children:b("addAccountDialog.authMethod")}),e.jsxs(Be,{value:g,onValueChange:P=>{I(P),h(null)},children:[e.jsx(Ve,{id:"kiro-auth-method",children:e.jsx($e,{placeholder:b("addAccountDialog.selectKiroAuthMethod")})}),e.jsx(We,{children:Ks.map(P=>e.jsx(Ce,{value:P.id,children:P.label},P.id))})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:we.description}),ke&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["If your browser does not return automatically after login, CCS can accept the final",e.jsx("span",{className:"mx-1 rounded bg-muted px-1.5 py-0.5 font-mono text-[11px]",children:"kiro://..."}),"callback URL in the next step."]})]}),ge&&!le&&e.jsxs("div",{className:"space-y-4 rounded-lg border border-border/60 bg-muted/20 p-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-start-url",children:"IDC Start URL"}),e.jsx(de,{id:"kiro-idc-start-url",value:u,onChange:P=>{T(P.target.value),h(null)},placeholder:"https://d-xxx.awsapps.com/start",disabled:ie}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Required for organization IAM Identity Center login."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-region",children:"IDC Region"}),e.jsx(de,{id:"kiro-idc-region",value:y,onChange:P=>{z(P.target.value),h(null)},placeholder:"us-east-1",disabled:ie}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional. Leave blank to use the upstream default region."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-flow",children:"IDC Flow"}),e.jsxs(Be,{value:D,onValueChange:P=>{O(P),h(null)},children:[e.jsx(Ve,{id:"kiro-idc-flow",children:e.jsx($e,{placeholder:"{/* TODO i18n: missing key */}Select IDC flow"})}),e.jsxs(We,{children:[e.jsx(Ce,{value:"authcode",children:"Authorization Code"}),e.jsx(Ce,{value:"device",children:"Device Code"})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Auth Code opens a browser and may need the final callback URL pasted back. Device Code shows a verification code instead."})]})]}),Z&&!le&&e.jsxs("div",{className:"space-y-4 rounded-lg border border-border/60 bg-muted/20 p-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-auth-mode",children:b("addAccountDialog.gitlabAuthMethod")}),e.jsxs(Be,{value:_,onValueChange:P=>{G(P),h(null)},children:[e.jsx(Ve,{id:"gitlab-auth-mode",children:e.jsx($e,{placeholder:b("addAccountDialog.selectGitlabAuthMethod")})}),e.jsxs(We,{children:[e.jsx(Ce,{value:"oauth",children:b("addAccountDialog.gitlabAuthOAuth")}),e.jsx(Ce,{value:"pat",children:b("addAccountDialog.gitlabAuthPat")})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:b("addAccountDialog.gitlabAuthHint")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-base-url",children:b("addAccountDialog.gitlabUrl")}),e.jsx(de,{id:"gitlab-base-url",value:V,onChange:P=>{H(P.target.value),h(null)},placeholder:b("addAccountDialog.gitlabUrlPlaceholder"),disabled:ie}),e.jsx("p",{className:"text-xs text-muted-foreground",children:b("addAccountDialog.gitlabUrlHint")})]}),_==="pat"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-pat",children:b("addAccountDialog.gitlabPat")}),e.jsx(de,{id:"gitlab-pat",type:"password",value:C,onChange:P=>{R(P.target.value),h(null)},placeholder:b("addAccountDialog.gitlabPatPlaceholder"),disabled:ie}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[b("addAccountDialog.gitlabPatHint")," ",e.jsx("span",{className:"font-mono",children:"api"})," and"," ",e.jsx("span",{className:"font-mono",children:"read_user"})," scopes."]})]})]}),!le&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"nickname",children:b("addAccountDialog.nicknameOptional")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Re,{className:"w-4 h-4 text-muted-foreground"}),e.jsx(de,{id:"nickname",value:o,onChange:P=>{l(P.target.value),h(null)},placeholder:b("addAccountDialog.nicknamePlaceholder"),disabled:ie,className:"flex-1"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:b("addAccountDialog.nicknameOptionalHint")})]}),le&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-center",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx(ce,{className:"w-4 h-4 inline mr-2 animate-spin"}),b("addAccountDialog.waitingForAuth")]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:U.isDeviceCodeFlow?b("addAccountDialog.deviceCodeHint"):ke?"Complete sign-in in your browser. If it does not return automatically, paste the final kiro:// callback URL below.":b("addAccountDialog.browserHint")})]}),U.authUrl&&!U.isDeviceCodeFlow&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{className:"text-xs",children:b("addAccountDialog.openUrlLabel")}),e.jsxs("div",{className:"p-3 bg-muted rounded-md",children:[e.jsx("p",{className:"text-xs text-muted-foreground break-all font-mono line-clamp-3",children:U.authUrl}),e.jsxs("div",{className:"flex gap-2 mt-2",children:[e.jsx(F,{variant:"outline",size:"sm",onClick:ws,children:p?e.jsxs(e.Fragment,{children:[e.jsx(Se,{className:"w-3 h-3 mr-1"}),b("addAccountDialog.copied")]}):e.jsxs(e.Fragment,{children:[e.jsx(ms,{className:"w-3 h-3 mr-1"}),b("addAccountDialog.copy")]})}),e.jsxs(F,{variant:"outline",size:"sm",onClick:()=>{if(!U.authUrl)return;const P=window.open(U.authUrl,"_blank");(!P||P.closed||typeof P.closed>"u")&&B.warning(b("addAccountDialog.popupBlocked"),{duration:5e3})},children:[e.jsx(Ae,{className:"w-3 h-3 mr-1"}),b("addAccountDialog.open")]})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"callback-url",className:"text-xs",children:ke?"Browser did not return? Paste the final kiro:// callback URL:":b("addAccountDialog.redirectPasteLabel")}),e.jsx(de,{id:"callback-url",value:i,onChange:P=>m(P.target.value),placeholder:ke?"kiro://kiro.kiroAgent/authenticate-success?code=...&state=...":b("addAccountDialog.callbackPlaceholder"),className:"font-mono text-xs"}),e.jsx(F,{variant:"secondary",size:"sm",onClick:ks,disabled:!i.trim()||U.isSubmittingCallback,children:U.isSubmittingCallback?e.jsxs(e.Fragment,{children:[e.jsx(ce,{className:"w-3 h-3 mr-1 animate-spin"}),b("addAccountDialog.submitting")]}):b("addAccountDialog.submitCallback")})]})]}),!U.authUrl&&!U.isDeviceCodeFlow&&e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:ke?"Preparing the Kiro sign-in URL. If it does not open automatically, it will appear here shortly.":b("addAccountDialog.preparingUrl")})]}),te&&e.jsx("p",{className:"text-xs text-center text-destructive whitespace-pre-line",children:te}),re.isPending&&e.jsxs("p",{className:"text-sm text-center text-muted-foreground",children:[e.jsx(ce,{className:"w-4 h-4 inline mr-2 animate-spin"}),b("addAccountDialog.importingToken")]}),e.jsxs("div",{className:"flex flex-col-reverse gap-2 pt-2 sm:flex-row sm:items-center sm:justify-end",children:[e.jsx(F,{variant:"ghost",onClick:_t,className:"w-full sm:w-auto",children:b("addAccountDialog.cancel")}),$&&!le&&e.jsx(F,{variant:"outline",onClick:As,disabled:ie,className:"w-full sm:w-auto",children:re.isPending?e.jsxs(e.Fragment,{children:[e.jsx(ce,{className:"w-4 h-4 mr-2 animate-spin"}),b("addAccountDialog.importing")]}):e.jsxs(e.Fragment,{children:[e.jsx(ya,{className:"w-4 h-4 mr-2"}),b("addAccountDialog.importFromIde")]})}),!le&&e.jsxs(F,{onClick:Cs,className:"w-full sm:w-auto",disabled:ie||Me||xe&&!ye||pe&&!v,children:[e.jsx(Ae,{className:"w-4 h-4 mr-2"}),b("addAccountDialog.authenticate")]})]})]})]})})}const un=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN"];function mn(t){const a=t?.env||{};return un.filter(s=>!a[s]?.trim())}function pn(t,a){const[s,n]=c.useState(null),[r,d]=c.useState(!1),o=jt(),{data:l,isLoading:i,refetch:m}=Zt({queryKey:["settings",t],queryFn:async()=>{const D=await fetch(`/api/settings/${t}/raw`);if(!D.ok){const O=t==="cursor"?`~/.ccs/cliproxy/providers/${t}.settings.json`:Ee(t)?`~/.ccs/${t}.settings.json`:`~/.ccs/profiles/${t}/settings.json`;return{profile:t,settings:{env:{}},mtime:Date.now(),path:O}}return D.json()}}),p=l?.settings,j=c.useMemo(()=>s!==null?s:p?JSON.stringify(p,null,2):`{
3
- "env": {}
4
- }`,[s,p]),f=c.useCallback(D=>{n(D)},[]),h=c.useMemo(()=>{try{return JSON.parse(j)}catch{return p||{env:{}}}},[j,p]),E=h?.env?.ANTHROPIC_MODEL,w=h?.env?.ANTHROPIC_DEFAULT_OPUS_MODEL,M=h?.env?.ANTHROPIC_DEFAULT_SONNET_MODEL,S=h?.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL,A=c.useMemo(()=>qs(h?.env||{}),[h]),N=c.useCallback((D,O)=>zs(D,O,{supportsExtendedContext:_=>Va(t,_,a)}),[a,t]),k=c.useCallback((D,O)=>{const _={...h?.env||{},[D]:O},G=Kt(D)?N(_,A):_;delete G.CCS_EXTENDED_CONTEXT;const V={...h,env:G};n(JSON.stringify(V,null,2))},[N,h,A]),x=c.useCallback(D=>{const O=h?.env||{},_=N(O,D);delete _.CCS_EXTENDED_CONTEXT;const G={...h,env:_};n(JSON.stringify(G,null,2))},[N,h]),g=c.useCallback(D=>{const O={...h?.env||{},...D},G=Object.keys(D).some(Kt)?N(O,A):O;delete G.CCS_EXTENDED_CONTEXT;const V={...h,env:G};n(JSON.stringify(V,null,2))},[N,h,A]),I=c.useMemo(()=>{try{return JSON.parse(j),!0}catch{return!1}},[j]),u=c.useMemo(()=>s===null?!1:s!==JSON.stringify(p,null,2),[s,p]),T=c.useMemo(()=>mn(h),[h]),y=Ms({mutationFn:async()=>{const D=JSON.parse(j),O=await fetch(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:D,expectedMtime:l?.mtime})});if(O.status===409)throw new Error("CONFLICT");if(!O.ok)throw new Error("Failed to save");return O.json()},onSuccess:D=>{o.invalidateQueries({queryKey:["settings",t]}),n(null),D?.warning?B.success(me.t("settings.saved"),{description:D.warning}):B.success(me.t("settings.saved"))},onError:D=>{D.message==="CONFLICT"?d(!0):B.error(D.message)}}),z=async D=>{d(!1),D?(await m(),y.mutate()):n(null)};return{data:l,isLoading:i,refetch:m,rawJsonContent:j,rawJsonEdits:s,isRawJsonValid:I,hasChanges:u,currentSettings:h,currentModel:E,opusModel:w,sonnetModel:M,haikuModel:S,extendedContextEnabled:A,toggleExtendedContext:x,handleRawJsonChange:f,updateEnvValue:k,updateEnvValues:g,saveMutation:{mutate:()=>y.mutate(),isPending:y.isPending},conflictDialog:r,setConflictDialog:d,handleConflictResolve:z,missingRequiredFields:T}}const xn=/-(minimal|low|medium|high|xhigh|fast)$/i,hn=["minimal","low","medium","high","xhigh"];function fn(t){return t?.trim()??""}function st(t){let a=fn(t),s,n;for(let r=0;r<2;r+=1){const d=a.match(xn);if(!d?.[1])break;const o=d[1].toLowerCase();if(o==="fast"){if(n)break;n="fast"}else{if(s)break;s=o}a=a.slice(0,-d[0].length)}return{baseModel:a,effort:s,serviceTier:n}}function Ot(t){return st(t).effort}function ys(t){return st(t).serviceTier}function gn(t){return st(t).baseModel}function Qt(t,a){const s=st(t),n=s.baseModel;return!n||!a?s.serviceTier?`${n}-${s.serviceTier}`:n:[n,a,s.serviceTier].filter(Boolean).join("-")}function vn(t,a,s=[]){if(!a){const o=Ot(t);return[Qt(t,o)]}const n=gn(t),r=[],d=o=>{const l=o?Qt(n,o):n;r.push(l);for(const i of s)r.push(`${l}-${i}`)};d(void 0);for(const o of hn)if(d(o),o===a)break;return r}function jn(t,a){if(!t)return null;const s=Ot(t);return s?{label:`Pinned ${s}`,explicit:!0}:{label:"Auto effort",explicit:!1}}function bn({label:t}){return e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:t})}function qe({modelId:t}){const a=jn(t);return a?e.jsx(q,{variant:a.explicit?"secondary":"outline",className:"text-[9px] h-4 px-1 uppercase",children:a.label}):null}function ze({modelId:t}){const a=ys(t);return a?e.jsx(q,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:a}):null}function Jt(t,a){if(!t)return"";if(!a?.prefix)return t;const s=`${a.prefix}/`;return t.startsWith(s)?t.slice(s.length):t}function Ge(t,a){return a?.recommendedModelId??t}function ut(t,a,s,n){return n?vn(s,t,a):[s]}function Nn(t,a){return a?ys(t)?"codex-fast":Ot(t)?"codex-reasoning":"recommended":"recommended"}function Ne({label:t,description:a,value:s,onChange:n,catalog:r,allModels:d,routing:o,disabled:l}){const{t:i}=W(),m=r?.provider==="codex",p=c.useMemo(()=>Rt(r,d),[d,r]),j=c.useMemo(()=>Ba(r?.provider??"",r,d),[d,r]),f=new Set(p.map(x=>x.id)),h=c.useMemo(()=>new Map((o?.models??[]).map(x=>[x.modelId.toLowerCase(),x])),[o]),E=c.useMemo(()=>new Set(p.flatMap(x=>ut(x.codexMaxEffort,x.codexServiceTiers,Ge(x.id,h.get(x.id.toLowerCase())),m))),[m,p,h]),w=c.useMemo(()=>h.get(Jt(s,o).toLowerCase()),[o,h,s]),M=p.flatMap(x=>{const g=h.get(x.id.toLowerCase());return ut(x.codexMaxEffort,x.codexServiceTiers,Ge(x.id,g),m).map(u=>({value:u,groupKey:Nn(u,m),searchText:`${u} ${x.id} ${x.name} ${g?.recommendedModelId??""}`,keywords:[x.tier??"",r?.provider??""],triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),g?.pinnedAvailable?e.jsx(q,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:g.prefix}):null,m&&e.jsx(qe,{modelId:u}),m&&e.jsx(ze,{modelId:u})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),x.tier==="paid"&&e.jsx(bn,{label:i("providerModelSelector.paid")}),g?.unprefixedStatus==="shadowed"?e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.shadowed")}):null,g?.unprefixedStatus==="prefix-only"?e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.prefixOnly")}):null,m&&e.jsx(qe,{modelId:u}),m&&e.jsx(ze,{modelId:u})]})}))}),S=j.filter(x=>!f.has(x.id)).filter(x=>!E.has(Ge(x.id,h.get(x.id.toLowerCase())))).flatMap(x=>{const g=h.get(x.id.toLowerCase());return ut(void 0,void 0,Ge(x.id,g),m).map(u=>({value:u,groupKey:"all",searchText:`${u} ${x.id} ${g?.recommendedModelId??""}`,keywords:[x.owned_by],triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),g?.pinnedAvailable?e.jsx(q,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:g.prefix}):null,m&&e.jsx(qe,{modelId:u}),m&&e.jsx(ze,{modelId:u})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),g?.unprefixedStatus==="shadowed"?e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.shadowed")}):null,g?.unprefixedStatus==="prefix-only"?e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.prefixOnly")}):null,m&&e.jsx(qe,{modelId:u}),m&&e.jsx(ze,{modelId:u})]})}))}),A=!!s&&!M.some(x=>x.value===s)&&!S.some(x=>x.value===s),N=s?{value:s,groupKey:"current",searchText:s,triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:s}),e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.current")})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:s}),e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.current")})]})}:null,k=M.length+S.length>0;return e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-medium",children:t}),a&&e.jsx("p",{className:"text-[10px] text-muted-foreground",children:a})]}),e.jsx(Ta,{value:s||void 0,onChange:n,disabled:l,placeholder:i("providerModelSelector.selectModel"),searchPlaceholder:i("searchableSelect.searchModels"),emptyText:i(k?"searchableSelect.noResults":"providerModelSelector.noModelsAvailable"),triggerClassName:"h-9",groups:[...A&&N?[{key:"current",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.currentValue")})}]:[],{key:"recommended",label:e.jsx("span",{className:"text-xs text-primary",children:i("providerModelSelector.recommended")})},...m?[{key:"codex-reasoning",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.codexReasoningVariants")})},{key:"codex-fast",label:e.jsx("span",{className:"text-xs text-amber-600",children:i("providerModelSelector.codexFastVariants")})}]:[],...S.length>0?[{key:"all",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.allModelsCount",{count:S.length})})}]:[]],options:[...A&&N?[N]:[],...M,...S]}),w?e.jsxs("div",{className:X("rounded-md border px-2.5 py-2 text-[11px]",w.unprefixedStatus==="safe"?"border-border/70 bg-muted/25 text-muted-foreground":"border-amber-300/60 bg-amber-50 text-amber-900 dark:border-amber-500/30 dark:bg-amber-950/25 dark:text-amber-100"),children:[e.jsxs("div",{className:"font-medium",children:[w.pinnedAvailable?i("providerModelSelector.preferredPinnedModel"):i("providerModelSelector.pinnedRouteStatus")," ",e.jsx("code",{children:w.pinnedAvailable?w.recommendedModelId:w.pinnedModelId})]}),e.jsx("p",{className:"mt-1 leading-5",children:w.summary})]}):null,s&&!w&&Jt(s,o)!==s?e.jsx("div",{className:"rounded-md border border-amber-300/60 bg-amber-50 px-2.5 py-2 text-[11px] text-amber-900 dark:border-amber-500/30 dark:bg-amber-950/25 dark:text-amber-100",children:i("providerModelSelector.pinnedModelNotAdvertised",{model:s})}):null]})}function Xt(t,a){const s=n=>a?.models.find(d=>d.modelId.toLowerCase()===n.toLowerCase())?.recommendedModelId??n;return{default:s(t.default),opus:s(t.opus),sonnet:s(t.sonnet),haiku:s(t.haiku)}}function yn({open:t,onClose:a,currentValues:s,onApply:n,onSave:r,isSaving:d,catalog:o,allModels:l,routing:i}){const{t:m}=W(),[p,j]=c.useState(Xt(s,i)),[f,h]=c.useState(""),E=w=>{w?(j(Xt(s,i)),h("")):a()};return e.jsx(Nt,{open:t,onOpenChange:E,children:e.jsxs(yt,{className:"sm:max-w-md",children:[e.jsx(wt,{children:e.jsxs(kt,{className:"flex items-center gap-2",children:[e.jsx(Pt,{className:"w-4 h-4"}),m("customPresetDialog.title")]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"preset-name",children:m("customPresetDialog.presetNameOptional")}),e.jsx(de,{id:"preset-name",value:f,onChange:w=>h(w.target.value),placeholder:m("customPresetDialog.presetNamePlaceholder"),className:"text-sm"})]}),e.jsx(Tt,{}),o?.provider==="codex"&&e.jsxs("p",{className:"text-[11px] text-muted-foreground rounded-md border bg-muted/30 px-2.5 py-2",children:[m("customPresetDialog.codexTipPrefix")," ",e.jsx("code",{children:"-medium"}),", ",e.jsx("code",{children:"-high"}),", and"," ",e.jsx("code",{children:"-xhigh"})," ",m("customPresetDialog.codexTipSuffix")]}),e.jsx(Ne,{label:m("customPresetDialog.defaultModel"),description:m("customPresetDialog.defaultModelDesc"),value:p.default,onChange:w=>j({...p,default:w}),catalog:o,allModels:l,routing:i}),e.jsx(Ne,{label:m("customPresetDialog.opusModel"),description:m("customPresetDialog.opusModelDesc"),value:p.opus,onChange:w=>j({...p,opus:w}),catalog:o,allModels:l,routing:i}),e.jsx(Ne,{label:m("customPresetDialog.sonnetModel"),description:m("customPresetDialog.sonnetModelDesc"),value:p.sonnet,onChange:w=>j({...p,sonnet:w}),catalog:o,allModels:l,routing:i}),e.jsx(Ne,{label:m("customPresetDialog.haikuModel"),description:m("customPresetDialog.haikuModelDesc"),value:p.haiku,onChange:w=>j({...p,haiku:w}),catalog:o,allModels:l,routing:i})]}),e.jsxs(Gs,{className:"gap-2 sm:gap-0",children:[e.jsx(F,{variant:"outline",onClick:a,children:m("customPresetDialog.cancel")}),r&&e.jsxs(F,{variant:"secondary",onClick:()=>r(p,f||void 0),disabled:d||!f.trim(),children:[d?e.jsx(ce,{className:"w-4 h-4 mr-1 animate-spin"}):e.jsx(Dt,{className:"w-4 h-4 mr-1"}),m("customPresetDialog.savePreset")]}),e.jsxs(F,{onClick:()=>n(p,f||void 0),children:[e.jsx(Oe,{className:"w-4 h-4 mr-1"}),m("customPresetDialog.applyPreset")]})]})]})})}function be({label:t,command:a}){return e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:t}),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(ds,{value:a,size:"icon",className:"h-6 w-6"})]})]})}function wn({provider:t,displayName:a,baseProvider:s,defaultTarget:n,data:r,authStatus:d,supportsModelConfig:o=!1}){const{t:l}=W(),i=n||"claude",m=i==="droid",p=t==="codex",j=s||d.provider||t,f=Bs(j),h=i==="claude"?`ccs ${t}`:`ccs ${t} --target claude`,E=`${h} --config`,w=`${h} --auth --add`,M=`${h} --accounts`;return e.jsx(Ct,{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(xs,{className:"w-4 h-4"}),"Provider Information"]}),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:l("providerEditor.provider")}),e.jsx("span",{className:"font-mono",children:a})]}),r&&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:l("providerEditor.filePath")}),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:r.path}),e.jsx(ds,{value:r.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:l("providerEditor.lastModified")}),e.jsx("span",{className:"text-xs",children:new Date(r.mtime).toLocaleString()})]})]}),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:l("providerEditor.status")}),d.authenticated?e.jsxs(q,{variant:"outline",className:"w-fit text-green-600 border-green-200 bg-green-50",children:[e.jsx(wa,{className:"w-3 h-3 mr-1"}),"Authenticated"]}):e.jsx(q,{variant:"outline",className:"w-fit text-muted-foreground",children:"Not connected"})]}),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:l("providerEditor.defaultTarget")}),e.jsx("span",{className:"font-mono",children:i})]}),f&&e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-start",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:l("providerConfig.trackLabel")}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"font-mono",children:l(f.labelKey)}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[l(f.hintKey),Vs(j)?` ${l("providerConfig.plusTrackNote")}`:""]})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:l("providerEditor.quickUsage")}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsx(be,{label:"Run with prompt",command:`ccs ${t} "your prompt"`}),p&&e.jsxs(e.Fragment,{children:[e.jsx(be,{label:"Run on native Codex (shortcut)",command:'ccsxp "your prompt"'}),e.jsx(be,{label:"Run on native Codex (--target)",command:`ccs ${t} --target codex "your prompt"`})]}),e.jsx(be,{label:m?"Droid alias (explicit)":"Run on Droid",command:`ccs-droid ${t} "your prompt"`}),e.jsx(be,{label:m?"Override to Claude":"Run on Droid (--target)",command:`ccs ${t} --target ${m?"claude":"droid"} "your prompt"`}),o&&e.jsx(be,{label:i==="claude"?"Change model":"Change model (Claude target)",command:E}),e.jsx(be,{label:i==="claude"?"Add account":"Add account (Claude target)",command:w}),e.jsx(be,{label:i==="claude"?"List accounts":"List accounts (Claude target)",command:M}),i!=="claude"&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Account and model-management flags stay on Claude target. Codex and Droid runtime launches reject those CLIProxy management commands."})]})]})]})})}function kn(t){const a=t.replace(/\\/g,"/"),n=a.lastIndexOf("/cliproxy/providers/");return n!==-1?a.slice(n+1):a.replace(/^.*\//,"")}function Cn({displayName:t,logoProvider:a,provider:s,data:n,isLoading:r,hasChanges:d,isRawJsonValid:o,isSaving:l,isRemoteMode:i,port:m,onRefetch:p,onSave:j}){const{t:f}=W();return e.jsxs("div",{className:"px-6 py-4 border-b bg-background flex items-center justify-between shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(At,{provider:a||s,size:"lg"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-lg font-semibold",children:t}),i&&e.jsxs(q,{variant:"secondary",className:"text-xs gap-1 bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",children:[e.jsx(hs,{className:"w-3 h-3"}),"Remote"]}),m&&e.jsxs(q,{variant:"outline",className:"text-xs gap-1 font-mono",children:[e.jsx(ka,{className:"w-3 h-3"}),":",m]}),!i&&n?.path&&e.jsx(q,{variant:"outline",className:"text-xs",children:kn(n.path)})]}),i?e.jsx("p",{className:"text-xs text-blue-600 dark:text-blue-400 mt-0.5",children:"Traffic auto-routed to remote server"}):n&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[f("providerEditor.lastModified"),": ",new Date(n.mtime).toLocaleString()]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{variant:"ghost",size:"sm",onClick:p,disabled:r,children:e.jsx(Mt,{className:`w-4 h-4 ${r?"animate-spin":""}`})}),e.jsx(F,{size:"sm",onClick:j,disabled:l||!d||!o,children:l?e.jsxs(e.Fragment,{children:[e.jsx(ce,{className:"w-4 h-4 mr-1 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ca,{className:"w-4 h-4 mr-1"}),"Save"]})})]})]})}function An({models:t,provider:a,enabled:s,onToggle:n,disabled:r,className:d}){const{t:o}=W();if(t.length===0)return null;const l=t.some(p=>Ht(p.id)),i=t.some(p=>!Ht(p.id));let m="Compatible mappings stay on standard context unless you turn this on.";return l&&i?m="Gemini-compatible mappings can use 1M automatically. Claude mappings stay plain unless you turn this on.":l&&(m="Gemini-compatible mappings can use 1M by default. Turn this off to keep standard context."),e.jsxs("div",{className:X("rounded-lg border p-3 space-y-2",s?"border-primary/50 bg-primary/5":"border-border bg-muted/30",d),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Oe,{className:X("w-4 h-4",s?"text-primary":"text-muted-foreground")}),e.jsx("span",{className:"text-sm font-medium",children:o("extendedContext.extendedContext")}),e.jsx(q,{variant:s?"default":"secondary",className:"text-[10px] h-5 px-1.5",children:"1M tokens"})]}),e.jsx(cs,{checked:s,onCheckedChange:n,disabled:r})]}),e.jsxs("div",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[e.jsx(xs,{className:"w-3.5 h-3.5 mt-0.5 shrink-0"}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{children:["Applies the explicit ",e.jsx("code",{children:"[1m]"})," long-context suffix to compatible saved mappings."]}),e.jsx("p",{className:"text-[10px]",children:m}),e.jsxs("p",{className:"text-amber-600 dark:text-amber-500",children:["CCS only saves ",e.jsx("code",{children:"[1m]"}),". Provider pricing and entitlement are separate, and some accounts can still return 429 extra-usage errors for long-context requests."]})]})]})]})}function Sn(t,a){const s=t.presetMapping||{default:t.id,opus:t.id,sonnet:t.id,haiku:t.id};return{ANTHROPIC_MODEL:a(s.default),ANTHROPIC_DEFAULT_OPUS_MODEL:a(s.opus),ANTHROPIC_DEFAULT_SONNET_MODEL:a(s.sonnet),ANTHROPIC_DEFAULT_HAIKU_MODEL:a(s.haiku)}}function Mn({catalog:t,savedPresets:a,currentModel:s,opusModel:n,sonnetModel:r,haikuModel:d,providerModels:o,routing:l,provider:i,extendedContextEnabled:m,onExtendedContextToggle:p,onApplyPreset:j,onUpdateEnvValue:f,onOpenCustomPreset:h,onDeletePreset:E,isDeletePending:w}){const{t:M}=W(),S=(l?.models??[]).some(u=>u.pinnedAvailable),A=c.useMemo(()=>new Map((l?.models??[]).map(u=>[u.modelId.toLowerCase(),u])),[l]),N=u=>A.get(u.toLowerCase())?.recommendedModelId??u,k=c.useMemo(()=>{if(!t)return[];const u=[s,n,r,d].filter(y=>!!y).map(y=>$s(y));return[...new Set(u)].map(y=>Ns(t.provider,y,t)).filter(y=>!!y?.extendedContext)},[t,s,n,r,d]),x=c.useMemo(()=>Rt(t,o),[t,o]),g=c.useMemo(()=>{const u=x.filter(y=>y.presetMapping);return u.length===0?[]:u.some(y=>y.tier==="paid")?[{key:"free",label:"Free Tier",description:"Available on free or paid plans",badgeClassName:"text-[10px] bg-green-100 text-green-700 border-green-200",iconClassName:"text-green-600",models:u.filter(y=>y.tier!=="paid")},{key:"paid",label:"Paid Tier",description:"Requires paid access",badgeClassName:"text-[10px] bg-amber-100 text-amber-700 border-amber-200",iconClassName:"text-amber-700",models:u.filter(y=>y.tier==="paid")}].filter(y=>y.models.length>0):[{key:"default",models:u.slice(0,4)}]},[x]),I=g.length>0||a.length>0;return e.jsxs(e.Fragment,{children:[I&&e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e.jsx(Pt,{className:"w-4 h-4"}),"Presets"]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:M("providerEditor.presets")}),e.jsxs("div",{className:"space-y-4",children:[g.map(u=>e.jsxs("div",{children:["label"in u&&u.label&&e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(q,{variant:"outline",className:u.badgeClassName,children:u.label}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:u.description})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:u.models.map(T=>e.jsxs(F,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1",onClick:()=>j(Sn(T,N)),children:[e.jsx(Oe,{className:`w-3 h-3 ${"iconClassName"in u?u.iconClassName:""}`}),T.name]},T.id))})]},u.key)),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.map(u=>e.jsxs("div",{className:"group relative",children:[e.jsxs(F,{variant:"secondary",size:"sm",className:"text-xs h-7 gap-1 pr-6",onClick:()=>{j({ANTHROPIC_MODEL:N(u.default),ANTHROPIC_DEFAULT_OPUS_MODEL:N(u.opus),ANTHROPIC_DEFAULT_SONNET_MODEL:N(u.sonnet),ANTHROPIC_DEFAULT_HAIKU_MODEL:N(u.haiku)})},children:[e.jsx(Dt,{className:"w-3 h-3 fill-current"}),u.name]}),e.jsx(F,{variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-7 w-5 opacity-0 group-hover:opacity-100 hover:text-destructive",onClick:T=>{T.stopPropagation(),E(u.name)},disabled:w,children:e.jsx(It,{className:"w-3 h-3"})})]},u.name)),e.jsxs(F,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1 border-primary/50 text-primary hover:bg-primary/10 hover:border-primary",onClick:h,children:[e.jsx(tt,{className:"w-3 h-3"}),"Custom"]})]})]})]}),e.jsx(Tt,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-2",children:M("providerEditor.modelMapping")}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Configure which models to use for each tier"}),l?e.jsx("p",{className:"text-[11px] text-muted-foreground mb-3 rounded-md border bg-muted/30 px-2.5 py-2",children:S?e.jsxs(e.Fragment,{children:["Preferred pinned model names use the ",e.jsxs("code",{children:[l.prefix,"/"]})," prefix. Unprefixed names can still resolve to a different backend when providers overlap."]}):e.jsxs(e.Fragment,{children:["Managed pinning for ",e.jsxs("code",{children:[l.prefix,"/"]})," is not currently advertised by the proxy. Unprefixed names may still be ambiguous until prefix repair completes."]})}):null,i==="codex"&&e.jsxs("p",{className:"text-[11px] text-muted-foreground mb-3 rounded-md border bg-muted/30 px-2.5 py-2",children:["Codex tip: suffixes ",e.jsx("code",{children:"-minimal"}),", ",e.jsx("code",{children:"-low"}),", ",e.jsx("code",{children:"-medium"}),","," ",e.jsx("code",{children:"-high"}),", and ",e.jsx("code",{children:"-xhigh"})," pin reasoning effort. ",e.jsx("code",{children:"-fast"})," ","enables the Codex fast service tier on models that support it, including combined forms such as ",e.jsx("code",{children:"gpt-5.4-high-fast"}),"."]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(Ne,{label:"Default Model",description:"Used when no specific tier is requested",value:s,onChange:u=>f("ANTHROPIC_MODEL",u),catalog:t,allModels:o,routing:l}),k.length>0&&p&&e.jsx(An,{models:k,provider:i,enabled:m??!1,onToggle:p}),e.jsx(Ne,{label:"Opus (Most capable)",description:"For complex reasoning tasks",value:n,onChange:u=>f("ANTHROPIC_DEFAULT_OPUS_MODEL",u),catalog:t,allModels:o,routing:l}),e.jsx(Ne,{label:"Sonnet (Balanced)",description:"Balance of speed and capability",value:r,onChange:u=>f("ANTHROPIC_DEFAULT_SONNET_MODEL",u),catalog:t,allModels:o,routing:l}),e.jsx(Ne,{label:"Haiku (Fast)",description:"Quick responses for simple tasks",value:d,onChange:u=>f("ANTHROPIC_DEFAULT_HAIKU_MODEL",u),catalog:t,allModels:o,routing:l})]})]})]})}function Pn(t,a,s){return t?e.jsx(mt,{children:e.jsxs(pt,{children:[e.jsx(xt,{asChild:!0,children:e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.jsx(Sa,{className:"w-3 h-3","aria-hidden":"true"}),e.jsx("span",{className:X("font-mono max-w-[180px] truncate",a&&bt),title:t,children:t})]})}),e.jsx(ht,{side:"bottom",children:e.jsx("p",{className:"text-xs",children:s("providerEditor.gcpProjectIdReadonly")})})]})}):e.jsx(mt,{children:e.jsxs(pt,{children:[e.jsx(xt,{asChild:!0,children:e.jsxs("div",{className:"flex items-center gap-1 text-xs text-amber-600 dark:text-amber-500",children:[e.jsx(Ye,{className:"w-3 h-3","aria-label":"Warning"}),e.jsx("span",{children:s("providerEditor.projectIdNA")})]})}),e.jsx(ht,{side:"bottom",className:"max-w-[250px]",children:e.jsxs("div",{className:"text-xs space-y-1",children:[e.jsx("p",{className:"font-medium text-amber-600",children:s("providerEditor.missingProjectId")}),e.jsx("p",{children:s("providerEditor.missingProjectIdHint")})]})})]})})}function Dn({account:t,onSetDefault:a,onRemove:s,onPauseToggle:n,isRemoving:r,isPausingAccount:d,privacyMode:o,showQuota:l,selectable:i,selected:m,onSelectChange:p}){const{t:j}=W(),f=t.provider.toLowerCase(),{data:h}=Ws(l),{data:E,isLoading:w}=Qs(f,t.id,l),M=Js(h,t)?.lastUsedAt,S=i||n?e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[i&&e.jsx("button",{type:"button",onClick:()=>p?.(!m),className:X("flex items-center justify-center w-5 h-5 rounded border-2 transition-colors shrink-0",m?"bg-primary border-primary text-primary-foreground":"border-muted-foreground/30 hover:border-primary/50"),"aria-label":m?"Deselect account":"Select account",children:m&&e.jsx(Se,{className:"w-3 h-3"})}),n&&e.jsx(mt,{children:e.jsxs(pt,{children:[e.jsx(xt,{asChild:!0,children:e.jsx(F,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0",onClick:()=>n(!t.paused),disabled:d,children:d?e.jsx(ce,{className:"w-4 h-4 animate-spin"}):t.paused?e.jsx(fs,{className:"w-4 h-4 text-emerald-500"}):e.jsx(gs,{className:"w-4 h-4 text-muted-foreground hover:text-foreground"})})}),e.jsx(ht,{side:"top",children:t.paused?"Resume account":"Pause account"})]})})]}):void 0,A=e.jsxs(Xs,{children:[e.jsx(Ys,{asChild:!0,children:e.jsx(F,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0",children:e.jsx(Aa,{className:"w-4 h-4"})})}),e.jsxs(Zs,{align:"end",children:[!t.isDefault&&e.jsxs(qt,{onClick:a,children:[e.jsx(Dt,{className:"w-4 h-4 mr-2"}),"Set as default"]}),e.jsxs(qt,{className:"text-destructive focus:text-destructive",onClick:s,disabled:r,children:[e.jsx(vs,{className:"w-4 h-4 mr-2"}),r?"Removing...":"Remove account"]})]})]});return e.jsx("div",{className:X("rounded-lg border p-3 transition-colors overflow-hidden",t.isDefault?"border-primary/30 bg-primary/5":"border-border hover:bg-muted/30",t.paused&&"opacity-75",m&&"ring-2 ring-primary/50 bg-primary/5"),children:e.jsx(ea,{mode:"detailed",provider:t.provider,accountId:t.id,email:t.email,displayEmail:t.email||t.id,tokenFile:t.tokenFile,tier:t.tier,isDefault:t.isDefault,paused:t.paused,privacyMode:o,showQuota:l,quota:E,quotaLoading:w,runtimeLastUsed:M,beforeIdentity:S,headerEnd:A,bodySlot:t.provider==="agy"?Pn(t.projectId,o,j):null,quotaInsetClassName:"pl-11"})})}function In({selectedCount:t,onPauseSelected:a,onResumeSelected:s,onClearSelection:n,isPausing:r,isResuming:d}){if(t<1)return null;const o=r||d;return e.jsxs("div",{className:"flex items-center gap-3 p-2 bg-muted/50 rounded-lg border mt-2",children:[e.jsxs("span",{className:"text-sm text-muted-foreground",children:[t," selected"]}),e.jsx(F,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:n,disabled:o,children:"Clear"}),e.jsxs("div",{className:"flex gap-2 ml-auto",children:[e.jsxs(F,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:a,disabled:o,children:[r?e.jsx(ce,{className:"w-3 h-3 animate-spin"}):e.jsx(gs,{className:"w-3 h-3"}),"Pause Selected"]}),e.jsxs(F,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:s,disabled:o,children:[d?e.jsx(ce,{className:"w-3 h-3 animate-spin"}):e.jsx(fs,{className:"w-3 h-3"}),"Resume Selected"]})]})]})}function Tn({accounts:t,onAddAccount:a,onSetDefault:s,onRemoveAccount:n,onPauseToggle:r,onSoloMode:d,onBulkPause:o,onBulkResume:l,isRemovingAccount:i,isPausingAccount:m,isSoloingAccount:p,isBulkPausing:j,isBulkResuming:f,privacyMode:h,showQuota:E,isKiro:w,kiroNoIncognito:M,onKiroNoIncognitoChange:S,kiroSettingsLoading:A}){const{t:N}=W(),[k,x]=c.useState(new Set),g=c.useMemo(()=>new Set(t.map(C=>C.id)),[t]),I=c.useMemo(()=>new Set([...k].filter(C=>g.has(C))),[k,g]),u=!!(o&&l),T=I.size,y=t.length>0&&I.size===t.length,z=I.size>0&&I.size<t.length,D=c.useCallback(C=>{x(R=>{const b=new Set(R);return b.has(C)?b.delete(C):b.add(C),b})},[]),O=c.useCallback(()=>{x(new Set(t.map(C=>C.id)))},[t]),_=c.useCallback(()=>{x(new Set)},[]),G=c.useCallback(()=>{y?_():O()},[y,O,_]),V=c.useCallback(()=>{o&&I.size>0&&(o(Array.from(I)),x(new Set))},[o,I]),H=c.useCallback(()=>{l&&I.size>0&&(l(Array.from(I)),x(new Set))},[l,I]);return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("h3",{className:"text-sm font-medium flex items-center gap-2",children:[u&&t.length>0&&e.jsx(Xe,{checked:y,onCheckedChange:G,"aria-label":"Select all accounts",className:z?"data-[state=checked]:bg-primary/50":"",...z?{"data-state":"indeterminate"}:{}}),e.jsx(Re,{className:"w-4 h-4"}),N("providerEditor.accounts"),t.length>0&&e.jsx(q,{variant:"secondary",className:"text-xs",children:t.length})]}),e.jsxs(F,{variant:"default",size:"sm",className:"h-7 text-xs gap-1",onClick:a,children:[e.jsx(tt,{className:"w-3 h-3"}),N("providerEditor.addAccount")]})]}),u&&T>0&&e.jsx(In,{selectedCount:T,onPauseSelected:V,onResumeSelected:H,onClearSelection:_,isPausing:!!j,isResuming:!!f}),t.length>0?e.jsx("div",{className:"space-y-2",children:t.map(C=>e.jsx(Dn,{account:C,onSetDefault:()=>s(C.id),onRemove:()=>n(C.id),onPauseToggle:r?R=>r(C.id,R):void 0,onSoloMode:d?()=>d(C.id):void 0,isRemoving:i,isPausingAccount:m,isSoloingAccount:p,privacyMode:h,showQuota:E,selectable:u,selected:I.has(C.id),onSelectChange:()=>D(C.id)},C.id))}):e.jsxs("div",{className:"py-6 text-center text-muted-foreground bg-muted/30 rounded-lg border border-dashed",children:[e.jsx(Re,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),e.jsx("p",{className:"text-sm",children:N("providerEditor.noAccountsConnected")}),e.jsx("p",{className:"text-xs opacity-70",children:N("providerEditor.addAccountToStart")})]}),w&&S&&e.jsx("div",{className:"mt-3 pt-3 border-t border-dashed",children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(hs,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:N("providerEditor.useIncognito")})]}),e.jsx(cs,{checked:!M,onCheckedChange:C=>S(!C),disabled:A,className:"scale-90"})]})})]})}function En({provider:t,catalog:a,savedPresets:s,currentModel:n,opusModel:r,sonnetModel:d,haikuModel:o,providerModels:l,routing:i,extendedContextEnabled:m,onExtendedContextToggle:p,onApplyPreset:j,onUpdateEnvValue:f,onOpenCustomPreset:h,onDeletePreset:E,isDeletePending:w,accounts:M,onAddAccount:S,onSetDefault:A,onRemoveAccount:N,onPauseToggle:k,onSoloMode:x,onBulkPause:g,onBulkResume:I,isRemovingAccount:u,isPausingAccount:T,isSoloingAccount:y,isBulkPausing:z,isBulkResuming:D,privacyMode:O,isRemoteMode:_}){const G=t.toLowerCase(),V=(ta.includes(G)||["anthropic","antigravity","gemini-cli","copilot","github-copilot"].includes(G))&&!_,H=t==="kiro",[C,R]=c.useState(!0),[b,J]=c.useState(!0),[Y,ne]=c.useState(!1),U=c.useCallback(async()=>{if(H)try{J(!0);const Z=(await Qe.config.get()).cliproxy;R(Z?.kiro_no_incognito??!0)}catch{R(!0)}finally{J(!1)}},[H]),re=c.useCallback(async $=>{R($),ne(!0);try{const Z=await Qe.config.get(),ae=Z.cliproxy??{};await Qe.config.update({...Z,cliproxy:{...ae,kiro_no_incognito:$}})}catch{R(!$)}finally{ne(!1)}},[]);return c.useEffect(()=>{U()},[U]),e.jsx(Ct,{className:"flex-1",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsx(Mn,{catalog:a,savedPresets:s,currentModel:n,opusModel:r,sonnetModel:d,haikuModel:o,providerModels:l,routing:i,provider:t,extendedContextEnabled:m,onExtendedContextToggle:p,onApplyPreset:j,onUpdateEnvValue:f,onOpenCustomPreset:h,onDeletePreset:E,isDeletePending:w}),e.jsx(Tt,{}),e.jsx(Tn,{accounts:M,onAddAccount:S,onSetDefault:A,onRemoveAccount:N,onPauseToggle:k,onSoloMode:x,onBulkPause:g,onBulkResume:I,isRemovingAccount:u,isPausingAccount:T,isSoloingAccount:y,isBulkPausing:z,isBulkResuming:D,privacyMode:O,showQuota:V,isKiro:H,kiroNoIncognito:C,onKiroNoIncognitoChange:re,kiroSettingsLoading:b||Y})]})})}function Yt({provider:t,displayName:a,authStatus:s,catalog:n,routing:r,logoProvider:d,baseProvider:o,isRemoteMode:l,port:i,defaultTarget:m,topNotice:p,onAddAccount:j,onSetDefault:f,onRemoveAccount:h,onPauseToggle:E,onSoloMode:w,onBulkPause:M,onBulkResume:S,isRemovingAccount:A,isPausingAccount:N,isSoloingAccount:k,isBulkPausing:x,isBulkResuming:g}){const[I,u]=c.useState(!1),{privacyMode:T}=is(),{t:y}=W(),{data:z}=sa(),{data:D}=aa(t),O=na(),_=ra(),G=o||t,V=G.toLowerCase()==="agy",H=c.useMemo(()=>{const L=D?.presets||[];return V?L.filter(te=>!ue(te.default)&&!ue(te.opus)&&!ue(te.sonnet)&&!ue(te.haiku)):L},[V,D?.presets]),C=c.useMemo(()=>{if(!z?.models)return[];const te={gemini:["google"],agy:["antigravity"],codex:["openai"],cursor:["cursor"],gitlab:["gitlab","duo"],codebuddy:["codebuddy"],qwen:["alibaba","qwen"],iflow:["iflow"],kilo:["kilo"],kiro:["kiro","aws"],ghcp:["github","copilot"],kimi:["kimi","moonshot"]}[G.toLowerCase()]||[G.toLowerCase()];return z.models.filter(oe=>te.some(ve=>oe.owned_by.toLowerCase().includes(ve))?V?!ue(oe.id):!0:!1)},[V,z,G]),R=(o||t).toLowerCase(),{data:b,isLoading:J,refetch:Y,rawJsonContent:ne,rawJsonEdits:U,isRawJsonValid:re,hasChanges:$,currentModel:Z,opusModel:ae,sonnetModel:pe,haikuModel:xe,extendedContextEnabled:Me,toggleExtendedContext:ye,handleRawJsonChange:v,updateEnvValue:K,updateEnvValues:we,saveMutation:ge,conflictDialog:ke,handleConflictResolve:Te,missingRequiredFields:at}=pn(t,n),nt=c.useMemo(()=>(s.accounts||[]).map(L=>({...L,provider:L.provider||o||t})),[s.accounts,o,t]),{data:ie}=Zt({queryKey:["auth-tokens-raw"],queryFn:async()=>{const L=await fetch("/api/settings/auth/tokens/raw");return L.ok?L.json():{apiKey:{value:"ccs-internal-managed"}}},staleTime:6e4}),_e=ie?.apiKey?.value??"ccs-internal-managed",Le=L=>{if(V&&[L.ANTHROPIC_MODEL,L.ANTHROPIC_DEFAULT_OPUS_MODEL,L.ANTHROPIC_DEFAULT_SONNET_MODEL,L.ANTHROPIC_DEFAULT_HAIKU_MODEL].some(oe=>typeof oe=="string"&&ue(oe))){B.error(y("providerEditor.agyDenylist"));return}we({ANTHROPIC_BASE_URL:`http://127.0.0.1:${i??ft}/api/provider/${R}`,ANTHROPIC_AUTH_TOKEN:_e,...L}),B.success(`Applied "${L.ANTHROPIC_MODEL?.split("/").pop()||"preset"}" preset`)},Fe=(L,te)=>{if(V&&[L.default,L.opus,L.sonnet,L.haiku].some(ve=>ue(ve))){B.error(y("providerEditor.agyDenylist"));return}we({ANTHROPIC_BASE_URL:`http://127.0.0.1:${i??ft}/api/provider/${R}`,ANTHROPIC_AUTH_TOKEN:_e,ANTHROPIC_MODEL:L.default,ANTHROPIC_DEFAULT_OPUS_MODEL:L.opus,ANTHROPIC_DEFAULT_SONNET_MODEL:L.sonnet,ANTHROPIC_DEFAULT_HAIKU_MODEL:L.haiku}),B.success(`Applied ${te?`"${te}"`:"custom"} preset`),u(!1)},Ue=(L,te)=>{if(!te){B.error(me.t("commonToast.enterPresetName"));return}if(V&&[L.default,L.opus,L.sonnet,L.haiku].some(oe=>ue(oe))){B.error(y("providerEditor.agyDenylist"));return}O.mutate({profile:t,data:{name:te,...L}}),u(!1)};return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsx(Cn,{provider:t,displayName:a,logoProvider:d,data:b,isLoading:J,hasChanges:$,isRawJsonValid:re,isSaving:ge.isPending,isRemoteMode:l,port:i,onRefetch:Y,onSave:()=>ge.mutate()}),p?e.jsx("div",{className:"border-b bg-muted/10 px-4 py-3",children:p}):null,J?e.jsxs("div",{className:"flex-1 flex items-center justify-center",children:[e.jsx(ce,{className:"w-8 h-8 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-3 text-muted-foreground",children:y("providerEditor.loadingSettings")})]}):e.jsxs("div",{className:"min-h-0 flex-1 grid grid-cols-[40%_60%] divide-x overflow-hidden",children:[e.jsx("div",{className:"flex min-h-0 min-w-0 flex-col overflow-hidden bg-muted/5",children:e.jsxs(ia,{defaultValue:"config",className:"h-full flex flex-col",children:[e.jsx("div",{className:"px-4 pt-4 shrink-0",children:e.jsxs(oa,{className:"w-full",children:[e.jsx(zt,{value:"config",className:"flex-1",children:"Model Config"}),e.jsx(zt,{value:"info",className:"flex-1",children:"Info & Usage"})]})}),e.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[e.jsx(Gt,{value:"config",className:"flex-1 mt-0 border-0 p-0 data-[state=inactive]:hidden flex flex-col overflow-hidden",children:e.jsx(En,{provider:t,catalog:n,savedPresets:H,currentModel:Z,opusModel:ae,sonnetModel:pe,haikuModel:xe,providerModels:C,routing:r,extendedContextEnabled:Me,onExtendedContextToggle:ye,onApplyPreset:Le,onUpdateEnvValue:K,onOpenCustomPreset:()=>u(!0),onDeletePreset:L=>_.mutate({profile:t,name:L}),isDeletePending:_.isPending,accounts:nt,onAddAccount:j,onSetDefault:f,onRemoveAccount:h,onPauseToggle:E,onSoloMode:w,onBulkPause:M,onBulkResume:S,isRemovingAccount:A,isPausingAccount:N,isSoloingAccount:k,isBulkPausing:x,isBulkResuming:g,privacyMode:T,isRemoteMode:l})}),e.jsx(Gt,{value:"info",className:"h-full mt-0 border-0 p-0 data-[state=inactive]:hidden",children:e.jsx(wn,{provider:t,displayName:a,baseProvider:o,defaultTarget:m,data:b,authStatus:s,supportsModelConfig:!!n})})]})]})}),e.jsxs("div",{className:"flex min-h-0 min-w-0 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(Ma,{className:"w-4 h-4 text-muted-foreground"}),e.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:[y("rawEditorSection.rawConfig")," (JSON)"]})]}),e.jsx(la,{rawJsonContent:ne,isRawJsonValid:re,rawJsonEdits:U,onRawJsonChange:v,profileEnv:b?.settings?.env,missingRequiredFields:at})]})]}),e.jsx(Ia,{open:ke,title:"File Modified Externally",description:"This settings file was modified by another process. Overwrite with your changes or discard?",confirmText:"Overwrite",variant:"destructive",onConfirm:()=>Te(!0),onCancel:()=>Te(!1)}),e.jsx(yn,{open:I,onClose:()=>u(!1),currentValues:{default:Z||"",opus:ae||"",sonnet:pe||"",haiku:xe||""},onApply:Fe,onSave:Ue,isSaving:O.isPending,catalog:n,allModels:C,routing:r})]})}function Rn({status:t,isSelected:a,onSelect:s}){const{t:n}=W(),r=t.accounts?.length||0;return e.jsxs("button",{className:X("w-full flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors cursor-pointer text-left",a?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:s,children:[e.jsx(At,{provider:t.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:t.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:t.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(Se,{className:"w-3 h-3 text-green-600"}),e.jsx("span",{className:"text-xs text-green-600",children:n("cliproxyPage.connected")})]}):e.jsxs(e.Fragment,{children:[e.jsx(It,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:n("cliproxyPage.notConnected")})]})})]})]})}function On({variant:t,parentAuth:a,isSelected:s,onSelect:n,onDelete:r,isDeleting:d}){const{t:o}=W(),l=()=>{n()};return e.jsxs("div",{role:"button",tabIndex:0,className:X("group w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-colors cursor-pointer text-left pl-6",s?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:l,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),l())},children:[e.jsxs("div",{className:"relative",children:[e.jsx(At,{provider:t.provider,size:"sm"}),e.jsx(Ze,{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:t.name}),e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1",children:o("cliproxyPage.variant")}),e.jsx(q,{variant:"outline",className:"text-[9px] h-4 px-1 uppercase",children:t.target||"claude"})]}),e.jsx("div",{className:"flex items-center gap-1.5 mt-0.5",children:a?.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(Se,{className:"w-3 h-3 text-green-600"}),e.jsx("span",{className:"text-xs text-muted-foreground truncate",children:o("cliproxyPage.viaProvider",{provider:t.provider})})]}):e.jsxs(e.Fragment,{children:[e.jsx(It,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:o("cliproxyPage.parentNotConnected")})]})})]}),e.jsx(F,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 hover:text-destructive",onClick:i=>{i.stopPropagation(),r()},disabled:d,children:e.jsx(vs,{className:"w-3 h-3"})})]})}function _n({onAddAccount:t,onCreateVariant:a}){const{t:s}=W();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(Oe,{className:"w-8 h-8 text-muted-foreground"})}),e.jsx("h2",{className:"text-xl font-semibold mb-2",children:s("cliproxyPage.emptyTitle")}),e.jsx("p",{className:"text-muted-foreground mb-4",children:s("cliproxyPage.emptyDesc")}),e.jsxs("p",{className:"text-xs text-muted-foreground mb-6",children:[s("cliproxyPage.emptyControlPanelPrefix")," ",e.jsx("a",{href:"/cliproxy/control-panel",className:"text-primary hover:underline",children:s("cliproxyPage.controlPanel")}),"."]}),e.jsxs("div",{className:"flex flex-col justify-center gap-2 sm:flex-row",children:[e.jsxs(F,{onClick:t,className:"gap-2",children:[e.jsx(tt,{className:"w-4 h-4"}),s("cliproxyPage.addAccount")]}),e.jsxs(F,{onClick:a,variant:"outline",className:"gap-2",children:[e.jsx(Ze,{className:"w-4 h-4"}),s("cliproxyPage.advancedVariant")]})]})]})})}function tr(){const{t}=W(),a=jt(),{data:s,isLoading:n}=ns(),{data:r,isFetching:d}=da(),{data:o}=rs(),{data:l}=ca(),i=ua(),m=ma(),p=pa(),j=xa(),f=ha(),h=fa(),E=ga(),w=va(),[M,S]=c.useState(()=>{if(typeof window<"u"){const K=new URLSearchParams(window.location.search).get("provider")?.trim().toLowerCase();return K&&Ee(K)?K:localStorage.getItem("cliproxy-selected-provider")}return null}),[A,N]=c.useState(null),[k,x]=c.useState(!1),[g,I]=c.useState(()=>{if(typeof window>"u")return null;const v=new URLSearchParams(window.location.search),K=v.get("provider")?.trim().toLowerCase();return v.get("action")!=="auth"||!K||!Ee(K)?null:{provider:K,displayName:He(K),isFirstAccount:!1}}),u=c.useMemo(()=>s?.authStatus||[],[s?.authStatus]),T=c.useMemo(()=>ja(u,v=>v.provider),[u]),y=s?.source==="remote",z=c.useMemo(()=>r?.variants||[],[r?.variants]),D=c.useMemo(()=>Et(o?.catalogs),[o?.catalogs]),O=o?.routing??{},_=!!o,G=v=>{S(v),v&&localStorage.setItem("cliproxy-selected-provider",v)},V=c.useMemo(()=>A?null:M&&u.some(v=>v.provider===M)?M:u.length>0&&(u.find(K=>(K.accounts?.length||0)>0)?.provider||u[0]?.provider)||null,[M,A,u]),H=u.find(v=>v.provider===V),C=z.find(v=>v.name===A),R=C?u.find(v=>v.provider===C.provider):void 0,b=C&&R?{provider:C.provider,displayName:R.displayName,accountCount:R.accounts?.length||0}:H?{provider:H.provider,displayName:H.displayName,accountCount:H.accounts?.length||0}:null,J=C?{provider:C.provider,displayName:He(C.provider),accountCount:0}:M&&Ee(M)?{provider:M,displayName:He(M),accountCount:0}:{provider:"gemini",displayName:He("gemini"),accountCount:0},Y=b??J,ne=(C?.provider||H?.provider||"").toLowerCase().trim(),U=ne==="gemini"||ne==="agy",re=()=>{a.invalidateQueries({queryKey:["cliproxy"]}),a.invalidateQueries({queryKey:["cliproxy-auth"]}),a.invalidateQueries({queryKey:["cliproxy-catalog"]}),a.invalidateQueries({queryKey:["cliproxy-models"]})},$=(v,K,we)=>{p.isPending||j.isPending||(we?p.mutate({provider:v,accountId:K}):j.mutate({provider:v,accountId:K}))},Z=(v,K)=>{f.isPending||f.mutate({provider:v,accountId:K})},ae=(v,K)=>{h.isPending||h.mutate({provider:v,accountIds:K})},pe=(v,K)=>{E.isPending||E.mutate({provider:v,accountIds:K})},xe=v=>{G(v),N(null)},Me=v=>{N(v),G(null)},ye=()=>{I({provider:Y.provider,displayName:Y.displayName,isFirstAccount:Y.accountCount===0})};return e.jsxs("div",{className:"flex h-full min-h-0 overflow-hidden",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(Oe,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:l?.backendLabel??"CLIProxy"})]}),e.jsx(F,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:re,disabled:d,children:e.jsx(Mt,{className:X("w-4 h-4",d&&"animate-spin")})})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:t("cliproxyPage.accountManagement")}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(F,{variant:"default",size:"sm",className:"w-full gap-2",onClick:ye,children:[e.jsx(tt,{className:"w-4 h-4"}),t("cliproxyPage.addAccount")]}),e.jsxs(F,{variant:"outline",size:"sm",className:"w-full gap-2",onClick:()=>x(!0),children:[e.jsx(Ze,{className:"w-4 h-4"}),t("cliproxyPage.advancedVariant")]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:t("cliproxyPage.setupActionsHint")})]})]}),e.jsx(Ct,{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:t("cliproxyPage.providers")}),n?e.jsx("div",{className:"space-y-2 px-2",children:[1,2,3,4].map(v=>e.jsx(ba,{className:"h-14 w-full rounded-lg"},v))}):e.jsx("div",{className:"space-y-4",children:T.map(v=>e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"px-3",children:[e.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:t(v.labelKey)}),e.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:t(v.hintKey)})]}),e.jsx("div",{className:"space-y-1",children:v.items.map(K=>e.jsx(Rn,{status:K,isSelected:V===K.provider,onSelect:()=>xe(K.provider)},K.provider))})]},v.id))}),z.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(Ze,{className:"w-3 h-3"}),t("cliproxyPage.variants")]}),e.jsx("div",{className:"space-y-1",children:z.map(v=>e.jsx(On,{variant:v,parentAuth:u.find(K=>K.provider===v.provider),isSelected:A===v.name,onSelect:()=>Me(v.name),onDelete:()=>w.mutate(v.name),isDeleting:w.isPending},v.name))})]})]})}),e.jsx("div",{className:"p-3 border-t",children:e.jsx(Ea,{})}),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:t("cliproxyPage.providerCount",{count:u.length})}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Se,{className:"w-3 h-3 text-green-600"}),t("cliproxyPage.connectedCount",{count:u.filter(v=>v.authenticated).length})]})]})})]}),e.jsx("div",{className:"flex-1 flex min-w-0 flex-col overflow-hidden bg-background",children:C&&R?e.jsx(e.Fragment,{children:e.jsx(Yt,{provider:C.name,displayName:t("cliproxyPage.variantDisplay",{name:C.name,provider:C.provider}),authStatus:R,catalog:D[C.provider],routing:O[C.provider],logoProvider:C.provider,baseProvider:C.provider,defaultTarget:C.target,isRemoteMode:y,port:C.port,topNotice:U?e.jsx(vt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>I({provider:C.provider,displayName:R.displayName,isFirstAccount:(R.accounts?.length||0)===0}),onSetDefault:v=>i.mutate({provider:C.provider,accountId:v}),onRemoveAccount:v=>m.mutate({provider:C.provider,accountId:v}),onPauseToggle:(v,K)=>$(C.provider,v,K),onSoloMode:v=>Z(C.provider,v),onBulkPause:v=>ae(C.provider,v),onBulkResume:v=>pe(C.provider,v),isRemovingAccount:m.isPending,isPausingAccount:p.isPending||j.isPending,isSoloingAccount:f.isPending,isBulkPausing:h.isPending,isBulkResuming:E.isPending})}):H?e.jsx(e.Fragment,{children:e.jsx(Yt,{provider:H.provider,displayName:H.displayName,authStatus:H,catalog:D[H.provider],routing:O[H.provider],isRemoteMode:y,topNotice:U?e.jsx(vt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>I({provider:H.provider,displayName:H.displayName,isFirstAccount:(H.accounts?.length||0)===0}),onSetDefault:v=>i.mutate({provider:H.provider,accountId:v}),onRemoveAccount:v=>m.mutate({provider:H.provider,accountId:v}),onPauseToggle:(v,K)=>$(H.provider,v,K),onSoloMode:v=>Z(H.provider,v),onBulkPause:v=>ae(H.provider,v),onBulkResume:v=>pe(H.provider,v),isRemovingAccount:m.isPending,isPausingAccount:p.isPending||j.isPending,isSoloingAccount:f.isPending,isBulkPausing:h.isPending,isBulkResuming:E.isPending})}):e.jsx(_n,{onAddAccount:ye,onCreateVariant:()=>x(!0)})}),e.jsx(tn,{open:k,onClose:()=>x(!1)}),e.jsx(cn,{open:g!==null,onClose:()=>I(null),provider:g?.provider||"",displayName:g?.displayName||"",catalog:_&&g?.provider?D[g.provider]:void 0,isFirstAccount:g?.isFirstAccount||!1})]})}export{tr as CliproxyPage};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as s}from"./react-vendor-Bjx91N7w.js";import{u as S}from"./tanstack-bhJxV1h8.js";import{a as D,bf as g,Z as I}from"./index-CcGVqYOy.js";import{C as _}from"./default-ports-1QQSffYX.js";import{G as Q,R as $,w as X}from"./icons-DzKUh8vG.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";const k="cli-proxy-auth",O="isLoggedIn",U="apiBase",K="apiUrl",F="managementKey";function A(a){return a.startsWith("/")?new URL(a.replace(/\/$/,""),window.location.origin).href:a.replace(/\/$/,"")}function Z(a,u){window.localStorage.removeItem(k),window.localStorage.setItem(U,a),window.localStorage.setItem(K,a),window.localStorage.setItem(F,u),window.localStorage.setItem(O,"true")}function T(){window.localStorage.removeItem(k),window.localStorage.removeItem(U),window.localStorage.removeItem(K),window.localStorage.removeItem(F),window.localStorage.removeItem(O)}function J({port:a=_}){const{t:u}=D(),f=s.useRef(null),[M,N]=s.useState(null),[B,G]=s.useState(0),[L,v]=s.useState(null),[H,E]=s.useState(!1),{data:l,error:w}=S({queryKey:["cliproxy-server-config"],queryFn:()=>I.cliproxyServer.get(),staleTime:3e4});s.useEffect(()=>{w&&console.warn("[ControlPanelEmbed] Config fetch failed, using local mode:",w)},[w]);const j=!!(l?.remote?.enabled&&l?.remote?.host),{data:y,error:x}=S({queryKey:["auth-tokens-raw",j?"remote":"local"],enabled:l!==void 0&&!j,queryFn:async()=>{try{const t=await fetch(g("/settings/auth/tokens/raw"));if(!t.ok)throw new Error("Failed to fetch auth tokens");const n=await t.json(),o=n.managementSecret.value.trim();if(!o)throw new Error("Management secret missing");return Z(A(g("/cliproxy-local/")),o),n}catch(t){throw T(),t}},staleTime:3e4}),{managementUrl:R,checkUrl:h,authToken:b,isRemote:i,displayHost:c}=s.useMemo(()=>{const t=l?.remote,n=l?.local?.port??a;if(t?.enabled&&t?.host){const o=t.protocol||"http",m=t.port||(o==="https"?443:_),p=o==="https"&&m===443||o==="http"&&m===80?"":`:${m}`,r=`${o}://${t.host}${p}`;return{managementUrl:`${r}/management.html`,checkUrl:`${r}/`,authToken:t.auth_token||void 0,isRemote:!0,displayHost:`${t.host}${p}`}}return{managementUrl:g("/cliproxy-local/management.html"),checkUrl:g("/cliproxy-local/"),authToken:y?.managementSecret?.value||void 0,isRemote:!1,displayHost:`localhost:${n}`}},[l,y,a]),C=`${R}:${i?"remote":"local"}:${h}:${b??"missing"}:${B}`,P=l!==void 0&&(i||!!y||!!x);s.useEffect(()=>{x&&console.warn("[ControlPanelEmbed] Failed to preload local control panel session, falling back to manual login:",x)},[x]),s.useEffect(()=>{if(!i)return()=>{T()}},[i]);const Y=!P||!(M===C),q=()=>{if(!(!i||!f.current?.contentWindow||!b))try{const t=A(h),n=new URL(`${t}/`).origin;if(new URL(f.current.src,window.location.origin).origin!==n){console.warn("[ControlPanelEmbed] Remote iframe origin mismatch, skipping postMessage");return}f.current.contentWindow.postMessage({type:"ccs-auto-login",apiBase:t,managementKey:b},n)}catch(t){console.debug("[ControlPanelEmbed] Remote postMessage bootstrap failed:",t)}};s.useEffect(()=>{const t=new AbortController;let n=!1;const o=(r,d)=>{n||(E(r),v(d))},m=async()=>{try{if(i){const r=l?.remote,d=await I.cliproxyServer.test({host:r?.host??"",port:r?.port,protocol:r?.protocol??"http",authToken:r?.auth_token});d?.reachable?o(!0,null):o(!1,d?.error?`Remote CLIProxy at ${c}: ${d.error}`:`Remote CLIProxy at ${c} returned an error`)}else(await fetch(h,{signal:t.signal})).ok?o(!0,null):o(!1,"CLIProxy returned an error")}catch(r){if(r instanceof Error&&r.name==="AbortError")return;o(!1,i?`Remote CLIProxy at ${c} is not reachable`:"CLIProxy is not running")}},p=setTimeout(()=>t.abort(),2e3);return m().finally(()=>clearTimeout(p)),()=>{n=!0,t.abort()}},[h,i,c,l]);const W=()=>{N(C),q()},z=()=>{N(null),G(t=>t+1),v(null),E(!1)};return!H&&L?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(Q,{className:"w-5 h-5 text-primary"}),e.jsx("h2",{className:"font-semibold",children:u("cliproxyHeader.cliproxyControlPanel")})]}),e.jsxs("button",{className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm border rounded-md hover:bg-muted",onClick:z,children:[e.jsx($,{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(X,{className:"w-8 h-8 text-destructive"})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:u("cliproxyHeader.cliproxyNotAvailable")}),e.jsx("p",{className:"text-muted-foreground mb-4",children:L}),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.jsx("div",{className:"flex-1 flex flex-col",children:e.jsxs("div",{className:"flex-1 flex flex-col relative",children:[Y&&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($,{className:"w-8 h-8 animate-spin text-primary mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i?`Loading Control Panel from ${c}...`:"Loading Control Panel..."})]})}),P?e.jsx("iframe",{ref:f,src:R,className:"flex-1 w-full border-0",title:"CLIProxy Management Panel",onLoad:W},C):null]})})}function me(){return e.jsx("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:e.jsx(J,{})})}export{me as CliproxyControlPanelPage};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{a as u,c as l,e as x,N as C,O as E,Q as k,S as m}from"./index-CcGVqYOy.js";import{r as h}from"./react-vendor-Bjx91N7w.js";import{u as _,a as A,b as O}from"./tanstack-bhJxV1h8.js";import{t as p}from"./notifications-B4_o8bcr.js";import{b8 as g,C as N,$ as v,o as w,R as b,Y as F,w as P,T as R,ai as y,_ as H}from"./icons-DzKUh8vG.js";import{m as j,A as I}from"./proxy-C4-M_9kB.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";function M(){return _({queryKey:["health"],queryFn:async()=>(await fetch("/api/health")).json(),refetchInterval:3e4})}function S(){const s=A();return O({mutationFn:async a=>{const t=await fetch(`/api/health/fix/${a}`,{method:"POST"}),r=await t.json();if(!t.ok)throw new Error(r.message);return r},onSuccess:a=>{s.invalidateQueries({queryKey:["health"]}),p.success(a.message)},onError:a=>{p.error(a.message)}})}const q={ok:{dot:"bg-green-500",label:"OK",labelColor:"text-green-500"},warning:{dot:"bg-yellow-500",label:"WARN",labelColor:"text-yellow-500"},error:{dot:"bg-red-500",label:"ERR",labelColor:"text-red-500"},info:{dot:"bg-blue-500",label:"INFO",labelColor:"text-blue-500"}};function z({check:s}){const{t:a}=u(),t=S(),r=q[s.status],[n,i]=h.useState(!1),o=s.details||s.fix,c=d=>{navigator.clipboard.writeText(d),p.success(a("health.copied"))};return o?e.jsx(C,{open:n,onOpenChange:i,children:e.jsxs("div",{className:l("group rounded-lg border transition-all duration-150",n?"border-border bg-muted/30":"border-transparent hover:border-border/50 hover:bg-muted/50"),children:[e.jsx(E,{asChild:!0,children:e.jsxs("button",{className:"w-full flex items-center gap-3 px-3 py-2 text-left",children:[e.jsxs("div",{className:"relative flex items-center justify-center w-4 h-4",children:[e.jsx("div",{className:l("w-2 h-2 rounded-full",r.dot)}),s.status!=="ok"&&e.jsx("div",{className:l("absolute w-2 h-2 rounded-full animate-ping opacity-75",r.dot)})]}),e.jsx("span",{className:"flex-1 text-sm font-medium truncate",children:s.name}),e.jsxs("span",{className:l("font-mono text-xs font-semibold",r.labelColor),children:["[",r.label,"]"]}),e.jsx(N,{className:l("w-4 h-4 text-muted-foreground transition-transform duration-200",n&&"rotate-90")})]})}),e.jsx(k,{children:e.jsxs("div",{className:"px-3 pb-3 pt-1 space-y-2 ml-7",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:s.message}),s.details&&e.jsx("pre",{className:"text-xs font-mono text-muted-foreground bg-background/50 rounded p-2 overflow-x-auto border border-border/50",children:s.details}),s.fix&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex-1 flex items-center gap-2 bg-background/50 rounded px-2 py-1.5 border border-border/50",children:[e.jsx(v,{className:"w-3 h-3 text-muted-foreground shrink-0"}),e.jsx("code",{className:"text-xs font-mono flex-1 truncate",children:s.fix}),e.jsx(x,{variant:"ghost",size:"sm",onClick:()=>s.fix&&c(s.fix),className:"h-5 w-5 p-0",children:e.jsx(w,{className:"w-3 h-3"})})]}),s.fixable&&s.status!=="ok"&&e.jsxs(x,{size:"sm",onClick:()=>t.mutate(s.id),disabled:t.isPending,className:"h-7 px-3 text-xs",children:[e.jsx(g,{className:"w-3 h-3 mr-1"}),a("health.applyFix")]})]})]})})]})}):e.jsxs("div",{className:l("group flex items-center gap-3 px-3 py-2 rounded-lg","hover:bg-muted/50 transition-colors duration-150","border border-transparent hover:border-border/50"),children:[e.jsxs("div",{className:"relative flex items-center justify-center w-4 h-4",children:[e.jsx("div",{className:l("w-2 h-2 rounded-full",r.dot)}),s.status!=="ok"&&e.jsx("div",{className:l("absolute w-2 h-2 rounded-full animate-ping opacity-75",r.dot)})]}),e.jsx("span",{className:"flex-1 text-sm font-medium truncate",children:s.name}),e.jsxs("span",{className:l("font-mono text-xs font-semibold",r.labelColor),children:["[",r.label,"]"]}),s.fixable&&s.status!=="ok"&&e.jsxs(x,{size:"sm",variant:"ghost",onClick:()=>t.mutate(s.id),disabled:t.isPending,className:"h-6 px-2 text-xs opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(g,{className:"w-3 h-3 mr-1"}),a("health.fix")]})]})}function D(s,a){const t=Math.floor((Date.now()-s)/1e3);if(t<5)return a("health.justNow");if(t<60)return a("health.secondsAgo",{count:t});const r=Math.floor(t/60);if(r<60)return a("health.minutesAgo",{count:r});const n=Math.floor(r/60);return a("health.hoursAgo",{count:n})}function Q({summary:s,version:a,lastScan:t,isLoading:r,onRefresh:n}){const{t:i}=u(),[,o]=h.useState(0);h.useEffect(()=>{const f=setInterval(()=>o(T=>T+1),1e3);return()=>clearInterval(f)},[]);const c=()=>{navigator.clipboard.writeText("ccs doctor"),p.success(i("health.copied"))},d=s.errors>0||s.warnings>0;return e.jsxs("div",{className:l("group relative overflow-hidden rounded-2xl border transition-all duration-500",d?"bg-rose-500/5 border-rose-500/20 shadow-[0_0_20px_-12px_rgba(244,63,94,0.3)]":"bg-emerald-500/5 border-emerald-500/20 shadow-[0_0_20px_-12px_rgba(16,185,129,0.3)]"),children:[e.jsx("div",{className:l("absolute inset-0 opacity-[0.05] blur-3xl pointer-events-none transition-colors duration-1000",d?"bg-rose-500":"bg-emerald-500")}),e.jsxs("div",{className:"relative flex flex-col md:flex-row items-center gap-4 px-6 py-4",children:[e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:l("w-2.5 h-2.5 rounded-full",d?"bg-rose-500":"bg-emerald-500")}),e.jsx("div",{className:l("absolute inset-0 rounded-full animate-ping opacity-40",d?"bg-rose-500":"bg-emerald-500")})]}),e.jsx("h1",{className:"font-mono text-sm font-bold tracking-tight uppercase",children:i(d?"health.issuesDetected":"health.systemOptimal")})]}),e.jsx("div",{className:"hidden md:block h-4 w-px bg-border/50"}),e.jsxs("div",{className:"flex items-center gap-6 text-xs font-mono",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-muted-foreground uppercase text-[10px] tracking-widest",children:"Checks"}),e.jsx("span",{children:s.total})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-muted-foreground uppercase text-[10px] tracking-widest",children:"Passed"}),e.jsx("span",{className:"text-emerald-500",children:s.passed})]}),s.warnings>0&&e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-muted-foreground uppercase text-[10px] tracking-widest",children:"Warnings"}),e.jsx("span",{className:"text-amber-500 font-bold",children:s.warnings})]}),s.errors>0&&e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-muted-foreground uppercase text-[10px] tracking-widest",children:"Errors"}),e.jsx("span",{className:"text-rose-500 font-bold underline decoration-rose-500/30",children:s.errors})]})]}),e.jsx("div",{className:"flex-1"}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex flex-col items-end text-[10px] font-mono text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(b,{className:l("w-2.5 h-2.5",r&&"animate-spin")}),e.jsx("span",{children:t?D(t,i):"--"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 opacity-60",children:[e.jsx(F,{className:"w-2.5 h-2.5"}),e.jsx("span",{children:a})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(x,{variant:"ghost",size:"sm",onClick:c,className:"h-8 px-3 gap-2 font-mono text-[10px] bg-background/40 hover:bg-background/60 border border-border/40 rounded-full",children:[e.jsx(v,{className:"w-3 h-3"}),e.jsx("span",{className:"hidden sm:inline",children:"ccs doctor"}),e.jsx(w,{className:"w-3 h-3 opacity-40"})]}),e.jsx(x,{variant:"ghost",size:"icon",onClick:n,disabled:r,className:"h-8 w-8 rounded-full bg-background/40 hover:bg-background/60 border border-border/40",children:e.jsx(b,{className:l("w-3.5 h-3.5",r&&"animate-spin")})})]})]})]})]})}function $({check:s}){const{t:a}=u(),t=S(),r=!!(s.details||s.fix||s.fixable),[n,i]=h.useState(!1),o=s.status==="error",c=o?P:R,d=()=>{s.fix&&(navigator.clipboard.writeText(s.fix),p.success(a("health.copied")))},f=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:l("flex items-center justify-center w-12 h-12 rounded-2xl shrink-0",o?"bg-rose-500/10 text-rose-500":"bg-amber-500/10 text-amber-500"),children:e.jsx(c,{className:"w-6 h-6"})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-lg font-bold tracking-tight",children:s.name}),r&&e.jsx("div",{className:"p-1 hover:bg-muted rounded-full transition-colors",children:e.jsx(N,{className:l("w-5 h-5 text-muted-foreground transition-transform",n&&"rotate-90")})})]}),e.jsx("p",{className:"text-sm font-medium leading-relaxed text-muted-foreground/80",children:s.message})]})]});return e.jsx(j.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},className:l("group relative overflow-hidden rounded-[2rem] p-px transition-all duration-300",o?"bg-gradient-to-br from-rose-500/20 via-rose-500/5 to-transparent":"bg-gradient-to-br from-amber-500/20 via-amber-500/5 to-transparent"),children:e.jsxs("div",{className:"relative h-full rounded-[calc(2rem-1px)] bg-background/80 backdrop-blur-md overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 rounded-[calc(2rem-1px)] shadow-[inset_0_1px_1px_rgba(255,255,255,0.1)] pointer-events-none"}),e.jsxs("div",{className:"p-6",children:[r?e.jsx("button",{type:"button",onClick:()=>i(!n),"aria-expanded":n,"aria-label":n?`Collapse ${s.name} details`:`Expand ${s.name} details`,className:"flex w-full select-none items-start gap-4 rounded-2xl text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",children:f}):e.jsx("div",{className:"flex w-full items-start gap-4",children:f}),e.jsx(I,{children:n&&e.jsx(j.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:[.32,.72,0,1]},className:"overflow-hidden",children:e.jsxs("div",{className:"mt-4 pt-4 border-t border-border/40 space-y-4",children:[s.details&&e.jsx("div",{className:"rounded-xl bg-muted/30 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground break-all",children:s.details}),(s.fix||s.fixable)&&e.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3",children:[s.fix&&e.jsxs("div",{className:"flex-1 flex items-center gap-2 h-10 px-3 rounded-full bg-background/50 border border-border/40",children:[e.jsx(v,{className:"w-3.5 h-3.5 text-muted-foreground"}),e.jsx("code",{className:"text-xs font-mono flex-1 truncate",children:s.fix}),e.jsx(x,{variant:"ghost",size:"icon",onClick:d,"aria-label":a("health.copy")??"Copy fix command",className:"h-6 w-6 rounded-full text-muted-foreground hover:text-foreground",children:e.jsx(w,{className:"w-3 h-3"})})]}),s.fixable&&e.jsxs(x,{onClick:()=>t.mutate(s.id),disabled:t.isPending,className:l("h-10 px-6 rounded-full font-bold shadow-lg shadow-primary/20 transition-all active:scale-95",o?"bg-rose-500 hover:bg-rose-600":"bg-amber-500 hover:bg-amber-600"),children:[t.isPending?e.jsx(b,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(g,{className:"w-4 h-4 mr-2"}),a("health.applyFix")]})]})]})})})]})]})})}function B({checks:s}){const{t:a}=u();return s.length===0?null:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 px-1",children:[e.jsx("h2",{className:"text-sm font-bold tracking-widest uppercase text-muted-foreground/60",children:a("health.attentionRequired")}),e.jsx("div",{className:"h-px flex-1 bg-border/40"}),e.jsx("span",{className:"font-mono text-xs text-rose-500 font-bold",children:s.length})]}),e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:e.jsx(I,{mode:"popLayout",children:s.map(t=>e.jsx($,{check:t},t.id))})})]})}function K({groups:s}){const{t:a}=u();return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3 px-1",children:[e.jsx("h2",{className:"text-sm font-bold tracking-widest uppercase text-muted-foreground/60",children:a("health.environmentAudit")}),e.jsx("div",{className:"h-px flex-1 bg-border/40"}),e.jsx(y,{className:"w-4 h-4 text-emerald-500/60"})]}),e.jsx("div",{className:"space-y-4",children:s.map(t=>e.jsx(W,{group:t},t.id))})]})}function W({group:s}){const[a,t]=h.useState(!1),r=s.checks.filter(i=>i.status==="error"||i.status==="warning").length,n=r>0;return e.jsx(C,{open:a,onOpenChange:t,className:"group/audit",children:e.jsxs("div",{className:l("rounded-2xl border transition-all duration-300",a?"bg-muted/30 border-border/60":"bg-background hover:border-border/60"),children:[e.jsx(E,{asChild:!0,children:e.jsxs("button",{className:"w-full flex items-center gap-4 px-5 py-4 text-left",children:[e.jsx("div",{className:l("flex items-center justify-center w-8 h-8 rounded-full transition-colors",n?"bg-rose-500/10 text-rose-500":"bg-muted text-muted-foreground"),children:n?e.jsx(H,{className:"w-4 h-4"}):e.jsx(y,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-sm font-bold tracking-tight",children:s.name}),e.jsxs("p",{className:"text-[10px] text-muted-foreground uppercase tracking-widest font-mono",children:[s.checks.length," Checks"]})]}),n&&e.jsx("div",{className:"px-2 py-0.5 rounded-full bg-rose-500/10 text-rose-500 text-[10px] font-bold font-mono",children:r}),e.jsx(N,{className:l("w-4 h-4 text-muted-foreground transition-transform duration-300",a&&"rotate-90")})]})}),e.jsx(k,{children:e.jsx("div",{className:"px-5 pb-5 space-y-1",children:s.checks.map(i=>e.jsx(z,{check:i},i.id))})})]})})}function L(){return e.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-12",children:[e.jsx(m,{className:"h-20 w-full rounded-2xl"}),e.jsxs("div",{className:"space-y-16",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsx(m,{className:"h-4 w-48"}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsx(m,{className:"h-40 rounded-[2rem]"}),e.jsx(m,{className:"h-40 rounded-[2rem]"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(m,{className:"h-4 w-48"}),[1,2,3].map(s=>e.jsx(m,{className:"h-16 rounded-2xl"},s))]})]})]})}function te(){const{t:s}=u(),{data:a,isLoading:t,refetch:r,dataUpdatedAt:n}=M();if(t&&!a)return e.jsx(L,{});const i=a?.checks.filter(c=>c.status==="error"||c.status==="warning")??[],o=i.length>0;return e.jsxs("div",{className:"relative pb-20 overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[e.jsx("div",{className:l("absolute top-[5%] -left-[5%] w-[60%] h-[60%] blur-[100px] rounded-full opacity-[0.08] transition-colors duration-1000",o?"bg-rose-500":"bg-emerald-500")}),e.jsx("div",{className:l("absolute -bottom-[5%] -right-[5%] w-[50%] h-[50%] blur-[100px] rounded-full opacity-[0.06] transition-colors duration-1000",o?"bg-amber-500":"bg-blue-500")}),e.jsx("div",{className:"absolute inset-0 opacity-[0.03] mix-blend-overlay",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`}})]}),e.jsxs("div",{className:"relative p-6 max-w-6xl mx-auto space-y-12",children:[a&&e.jsx(Q,{summary:a.summary,version:a.version,lastScan:n,isLoading:t,onRefresh:r}),e.jsxs("div",{className:"space-y-16",children:[o?e.jsx(B,{checks:i}):e.jsxs(j.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},className:"py-20 flex flex-col items-center text-center space-y-6",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-24 h-24 rounded-[2.5rem] bg-emerald-500/10 flex items-center justify-center",children:e.jsx(y,{className:"w-12 h-12 text-emerald-500"})}),e.jsx("div",{className:"absolute inset-0 w-24 h-24 rounded-[2.5rem] bg-emerald-500/20 animate-ping opacity-20"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"text-3xl font-bold tracking-tight",children:s("health.allSystemsClear")}),e.jsx("p",{className:"text-muted-foreground max-w-[40ch] mx-auto",children:s("health.optimalStateDesc")})]})]}),a?.groups&&e.jsx(K,{groups:a.groups})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 text-[10px] uppercase tracking-widest font-mono text-muted-foreground/60 border-t border-border/40 pt-8",children:[e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"opacity-50",children:"Build"}),e.jsx("span",{className:"text-foreground",children:a?.version??"--"})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"opacity-50",children:"Platform"}),e.jsx("span",{className:"text-foreground",children:typeof navigator<"u"?navigator.platform:"linux"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 rounded-full bg-muted/30 border border-border/40",children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"}),e.jsx("span",{children:s("health.liveMonitoring")})]})]})]})]})}export{te as HealthPage};
@@ -1 +0,0 @@
1
- import{r as d}from"./react-vendor-Bjx91N7w.js";const M=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,c)=>c?c.toUpperCase():o.toLowerCase()),s=t=>{const e=_(t);return e.charAt(0).toUpperCase()+e.slice(1)},k=(...t)=>t.filter((e,o,c)=>!!e&&e.trim()!==""&&c.indexOf(e)===o).join(" ").trim(),m=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const x=d.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:o=2,absoluteStrokeWidth:c,className:n="",children:h,iconNode:r,...y},p)=>d.createElement("svg",{ref:p,...v,width:e,height:e,stroke:t,strokeWidth:c?Number(o)*24/Number(e):o,className:k("lucide",n),...!h&&!m(y)&&{"aria-hidden":"true"},...y},[...r.map(([i,l])=>d.createElement(i,l)),...Array.isArray(h)?h:[h]]));const a=(t,e)=>{const o=d.forwardRef(({className:c,...n},h)=>d.createElement(x,{ref:h,iconNode:e,className:k(`lucide-${M(s(t))}`,`lucide-${t}`,c),...n}));return o.displayName=s(t),o};const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],J2=a("activity",g);const w=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],Y2=a("archive",w);const f=[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]],a0=a("arrow-down-left",f);const $=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],e0=a("arrow-down-right",$);const N=[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]],t0=a("arrow-down-to-line",N);const u=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],o0=a("arrow-down",u);const b=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],c0=a("arrow-left",b);const z=[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]],h0=a("arrow-right-left",z);const q=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],d0=a("arrow-right",q);const C=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],n0=a("arrow-up-right",C);const A=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],y0=a("arrow-up",A);const j=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],s0=a("book-open",j);const H=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],k0=a("bot",H);const V=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],r0=a("box",V);const L=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]],p0=a("brain-circuit",L);const S=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],i0=a("brain",S);const P=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],l0=a("bug",P);const R=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],M0=a("calendar-clock",R);const F=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],_0=a("calendar",F);const B=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],m0=a("chart-column",B);const D=[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]],v0=a("chart-pie",D);const U=[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]],x0=a("check-check",U);const Z=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],g0=a("check",Z);const E=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],w0=a("chevron-down",E);const T=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],f0=a("chevron-left",T);const W=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],$0=a("chevron-right",W);const O=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],N0=a("chevron-up",O);const G=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],u0=a("chevrons-up-down",G);const I=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],b0=a("circle-alert",I);const K=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],z0=a("circle-check-big",K);const X=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],q0=a("circle-check",X);const Q=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],C0=a("circle-question-mark",Q);const J=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],A0=a("circle-x",J);const Y=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],j0=a("circle",Y);const a1=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],H0=a("clipboard",a1);const e1=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],V0=a("clock",e1);const t1=[["path",{d:"m10.852 19.772-.383.924",key:"r7sl7d"}],["path",{d:"m13.148 14.228.383-.923",key:"1d5zpm"}],["path",{d:"M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923",key:"1ydik7"}],["path",{d:"m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544",key:"1m1vsf"}],["path",{d:"m14.772 15.852.923-.383",key:"660p6e"}],["path",{d:"m14.772 18.148.923.383",key:"hrcpis"}],["path",{d:"M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2",key:"j2q98n"}],["path",{d:"m9.228 15.852-.923-.383",key:"1p9ong"}],["path",{d:"m9.228 18.148-.923.383",key:"6558rz"}]],L0=a("cloud-cog",t1);const o1=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],S0=a("cloud",o1);const c1=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],P0=a("code-xml",c1);const h1=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],R0=a("code",h1);const d1=[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]],F0=a("coins",d1);const n1=[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]],B0=a("command",n1);const y1=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],D0=a("copy",y1);const s1=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],U0=a("cpu",s1);const k1=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Z0=a("database",k1);const r1=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],E0=a("dollar-sign",r1);const p1=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],T0=a("download",p1);const i1=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],W0=a("ellipsis",i1);const l1=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],O0=a("external-link",l1);const M1=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],G0=a("eye-off",M1);const _1=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],I0=a("eye",_1);const m1=[["path",{d:"M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6",key:"14cnrg"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1",key:"sr0ebq"}],["path",{d:"M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1",key:"w793db"}]],K0=a("file-braces-corner",m1);const v1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],X0=a("file-braces",v1);const x1=[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],Q0=a("file-code-corner",x1);const g1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],J0=a("file-code",g1);const w1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]],Y0=a("file-down",w1);const f1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aa=a("file-exclamation-point",f1);const $1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ea=a("file-text",$1);const N1=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9 13 2 2 4-4",key:"6343dt"}]],ta=a("folder-check",N1);const u1=[["path",{d:"M10 10.5 8 13l2 2.5",key:"m4t9c1"}],["path",{d:"m14 10.5 2 2.5-2 2.5",key:"14w2eb"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z",key:"1u1bxd"}]],oa=a("folder-code",u1);const b1=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],ca=a("folder-open",b1);const z1=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],ha=a("folder",z1);const q1=[["path",{d:"M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473",key:"ol2ft2"}],["path",{d:"m16.5 3.5 5 5",key:"15e6fa"}],["path",{d:"m21.5 3.5-5 5",key:"m0lwru"}]],da=a("funnel-x",q1);const C1=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],na=a("gauge",C1);const A1=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],ya=a("git-branch",A1);const j1=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],sa=a("github",j1);const H1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],ka=a("globe",H1);const V1=[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]],ra=a("grip-horizontal",V1);const L1=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],pa=a("grip-vertical",L1);const S1=[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 18h.01",key:"h775k"}]],ia=a("hard-drive-download",S1);const P1=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],la=a("heart",P1);const R1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Ma=a("history",R1);const F1=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],_a=a("house",F1);const B1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ma=a("image",B1);const D1=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],va=a("inbox",D1);const U1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],xa=a("info",U1);const Z1=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],ga=a("key-round",Z1);const E1=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],wa=a("key",E1);const T1=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],fa=a("laptop",T1);const W1=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],$a=a("layers",W1);const O1=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Na=a("link-2",O1);const G1=[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]],ua=a("list-filter",G1);const I1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],ba=a("loader-circle",I1);const K1=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],za=a("lock",K1);const X1=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],qa=a("log-out",X1);const Q1=[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]],Ca=a("megaphone",Q1);const J1=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Aa=a("message-square",J1);const Y1=[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]],ja=a("monitor-smartphone",Y1);const a2=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Ha=a("monitor",a2);const e2=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Va=a("moon",e2);const t2=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],La=a("mouse-pointer",t2);const o2=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],Sa=a("network",o2);const c2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],Pa=a("panel-left",c2);const h2=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ra=a("pause",h2);const d2=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Fa=a("pen-line",d2);const n2=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Ba=a("pencil",n2);const y2=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Da=a("play",y2);const s2=[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]],Ua=a("plug-zap",s2);const k2=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Za=a("plus",k2);const r2=[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Ea=a("power-off",r2);const p2=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],Ta=a("power",p2);const i2=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],Wa=a("puzzle",i2);const l2=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Oa=a("radio",l2);const M2=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Ga=a("refresh-cw",M2);const _2=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Ia=a("rotate-ccw",_2);const m2=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Ka=a("rotate-cw",m2);const v2=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],Xa=a("route",v2);const x2=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Qa=a("save",x2);const g2=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],Ja=a("scroll-text",g2);const w2=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Ya=a("search",w2);const f2=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],ae=a("server",f2);const $2=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],ee=a("settings-2",$2);const N2=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],te=a("settings",N2);const u2=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],oe=a("shield-alert",u2);const b2=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ce=a("shield-check",b2);const z2=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],he=a("shield",z2);const q2=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],de=a("sliders-horizontal",q2);const C2=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],ne=a("sparkles",C2);const A2=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],ye=a("square-terminal",A2);const j2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],se=a("square",j2);const H2=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],ke=a("star",H2);const V2=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],re=a("sun",V2);const L2=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],pe=a("terminal",L2);const S2=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ie=a("trash-2",S2);const P2=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],le=a("trending-up",P2);const R2=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Me=a("triangle-alert",R2);const F2=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]],_e=a("unlink",F2);const B2=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],me=a("upload",B2);const D2=[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]],ve=a("user-round-check",D2);const U2=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],xe=a("user",U2);const Z2=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],ge=a("users",Z2);const E2=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],we=a("wand-sparkles",E2);const T2=[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]],fe=a("waves",T2);const W2=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],$e=a("wifi-off",W2);const O2=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],Ne=a("wifi",O2);const G2=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ue=a("workflow",G2);const I2=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],be=a("wrench",I2);const K2=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ze=a("x",K2);const X2=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],qe=a("zap",X2);export{pe as $,J2 as A,s0 as B,$0 as C,Ra as D,G0 as E,ca as F,na as G,_a as H,A0 as I,Da as J,wa as K,ba as L,Va as M,pa as N,ua as O,Pa as P,Ia as Q,Ga as R,ye as S,Me as T,ge as U,Oa as V,$e as W,ze as X,U0 as Y,qe as Z,xa as _,m0 as a,La as a$,R0 as a0,n0 as a1,a0 as a2,ea as a3,aa as a4,ra as a5,d0 as a6,ee as a7,ma as a8,Za as a9,fa as aA,ia as aB,de as aC,me as aD,X0 as aE,T0 as aF,c0 as aG,oe as aH,Sa as aI,W0 as aJ,oa as aK,ya as aL,ue as aM,Xa as aN,K0 as aO,Ta as aP,Ea as aQ,u0 as aR,Ua as aS,$a as aT,ta as aU,Fa as aV,Ma as aW,Q0 as aX,ha as aY,da as aZ,va as a_,ne as aa,Ha as ab,Aa as ac,i0 as ad,ae,Y2 as af,J0 as ag,f0 as ah,ce as ai,ja as aj,za as ak,B0 as al,E0 as am,Z0 as an,e0 as ao,_0 as ap,F0 as aq,le as ar,v0 as as,ie as at,Qa as au,Ya as av,we as aw,P0 as ax,p0 as ay,L0 as az,Wa as b,t0 as b0,_e as b1,Na as b2,fe as b3,r0 as b4,Ba as b5,x0 as b6,ve as b7,be as b8,k0 as b9,M0 as ba,Ca as bb,H0 as bc,S0 as bd,l0 as be,h0 as bf,Y0 as bg,Ka as bh,se as bi,o0 as bj,y0 as bk,sa as c,Ja as d,te as e,re as f,I0 as g,Ne as h,he as i,la as j,z0 as k,j0 as l,g0 as m,ga as n,D0 as o,O0 as p,xe as q,qa as r,w0 as s,N0 as t,ka as u,V0 as v,b0 as w,q0 as x,C0 as y,ke as z};