@georgedong32/ccs 7.67.1 → 8.0.0

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 (1890) hide show
  1. package/.claude/commands/opsx/apply.md +152 -0
  2. package/.claude/commands/opsx/archive.md +157 -0
  3. package/.claude/commands/opsx/continue.md +114 -0
  4. package/.claude/commands/opsx/explore.md +173 -0
  5. package/.claude/commands/opsx/ff.md +97 -0
  6. package/.claude/commands/opsx/new.md +69 -0
  7. package/.claude/commands/opsx/propose.md +106 -0
  8. package/.claude/commands/opsx/sync.md +134 -0
  9. package/.claude/commands/opsx/verify.md +164 -0
  10. package/.claude/settings.local.json +47 -1
  11. package/README.md +49 -4
  12. package/config/base-claude.settings.json +1 -1
  13. package/config/base-codebuddy.settings.json +10 -0
  14. package/config/base-codex.settings.json +4 -4
  15. package/config/base-cursor.settings.json +10 -0
  16. package/config/base-gitlab.settings.json +10 -0
  17. package/config/base-kilo.settings.json +10 -0
  18. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  19. package/dist/api/services/cliproxy-profile-bridge.js +9 -10
  20. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  21. package/dist/api/services/index.d.ts +1 -0
  22. package/dist/api/services/index.d.ts.map +1 -1
  23. package/dist/api/services/index.js +3 -1
  24. package/dist/api/services/index.js.map +1 -1
  25. package/dist/api/services/local-runtime-readiness.d.ts +14 -0
  26. package/dist/api/services/local-runtime-readiness.d.ts.map +1 -0
  27. package/dist/api/services/local-runtime-readiness.js +89 -0
  28. package/dist/api/services/local-runtime-readiness.js.map +1 -0
  29. package/dist/api/services/openrouter-catalog.js +2 -2
  30. package/dist/api/services/openrouter-catalog.js.map +1 -1
  31. package/dist/api/services/profile-lifecycle-service.d.ts.map +1 -1
  32. package/dist/api/services/profile-lifecycle-service.js +6 -6
  33. package/dist/api/services/profile-lifecycle-service.js.map +1 -1
  34. package/dist/api/services/profile-lifecycle-validation.js +1 -1
  35. package/dist/api/services/profile-lifecycle-validation.js.map +1 -1
  36. package/dist/api/services/profile-reader.d.ts.map +1 -1
  37. package/dist/api/services/profile-reader.js +14 -15
  38. package/dist/api/services/profile-reader.js.map +1 -1
  39. package/dist/api/services/profile-writer.d.ts +1 -1
  40. package/dist/api/services/profile-writer.d.ts.map +1 -1
  41. package/dist/api/services/profile-writer.js +25 -19
  42. package/dist/api/services/profile-writer.js.map +1 -1
  43. package/dist/auth/account-profile-diagnostics.d.ts +21 -0
  44. package/dist/auth/account-profile-diagnostics.d.ts.map +1 -0
  45. package/dist/auth/account-profile-diagnostics.js +130 -0
  46. package/dist/auth/account-profile-diagnostics.js.map +1 -0
  47. package/dist/auth/auth-commands.d.ts +2 -1
  48. package/dist/auth/auth-commands.d.ts.map +1 -1
  49. package/dist/auth/auth-commands.js +30 -12
  50. package/dist/auth/auth-commands.js.map +1 -1
  51. package/dist/auth/commands/backup-command.d.ts.map +1 -1
  52. package/dist/auth/commands/backup-command.js +7 -2
  53. package/dist/auth/commands/backup-command.js.map +1 -1
  54. package/dist/auth/commands/create-command-env.d.ts +1 -0
  55. package/dist/auth/commands/create-command-env.d.ts.map +1 -1
  56. package/dist/auth/commands/create-command.d.ts.map +1 -1
  57. package/dist/auth/commands/create-command.js +23 -19
  58. package/dist/auth/commands/create-command.js.map +1 -1
  59. package/dist/auth/commands/default-command.d.ts +1 -1
  60. package/dist/auth/commands/default-command.d.ts.map +1 -1
  61. package/dist/auth/commands/default-command.js +13 -5
  62. package/dist/auth/commands/default-command.js.map +1 -1
  63. package/dist/auth/commands/index.d.ts +1 -0
  64. package/dist/auth/commands/index.d.ts.map +1 -1
  65. package/dist/auth/commands/index.js +3 -1
  66. package/dist/auth/commands/index.js.map +1 -1
  67. package/dist/auth/commands/list-command.d.ts.map +1 -1
  68. package/dist/auth/commands/list-command.js +16 -3
  69. package/dist/auth/commands/list-command.js.map +1 -1
  70. package/dist/auth/commands/remove-command.d.ts.map +1 -1
  71. package/dist/auth/commands/remove-command.js +7 -3
  72. package/dist/auth/commands/remove-command.js.map +1 -1
  73. package/dist/auth/commands/resources-command.d.ts +3 -0
  74. package/dist/auth/commands/resources-command.d.ts.map +1 -0
  75. package/dist/auth/commands/resources-command.js +115 -0
  76. package/dist/auth/commands/resources-command.js.map +1 -0
  77. package/dist/auth/commands/show-command.d.ts.map +1 -1
  78. package/dist/auth/commands/show-command.js +54 -3
  79. package/dist/auth/commands/show-command.js.map +1 -1
  80. package/dist/auth/commands/types.d.ts +31 -1
  81. package/dist/auth/commands/types.d.ts.map +1 -1
  82. package/dist/auth/commands/types.js +41 -2
  83. package/dist/auth/commands/types.js.map +1 -1
  84. package/dist/auth/profile-continuity-inheritance.d.ts.map +1 -1
  85. package/dist/auth/profile-continuity-inheritance.js +6 -5
  86. package/dist/auth/profile-continuity-inheritance.js.map +1 -1
  87. package/dist/auth/profile-detector.d.ts +2 -3
  88. package/dist/auth/profile-detector.d.ts.map +1 -1
  89. package/dist/auth/profile-detector.js +25 -25
  90. package/dist/auth/profile-detector.js.map +1 -1
  91. package/dist/auth/profile-registry.d.ts +2 -0
  92. package/dist/auth/profile-registry.d.ts.map +1 -1
  93. package/dist/auth/profile-registry.js +29 -17
  94. package/dist/auth/profile-registry.js.map +1 -1
  95. package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -1
  96. package/dist/auth/resume-lane-diagnostics.js +2 -2
  97. package/dist/auth/resume-lane-diagnostics.js.map +1 -1
  98. package/dist/auth/shared-resource-policy.d.ts +20 -0
  99. package/dist/auth/shared-resource-policy.d.ts.map +1 -0
  100. package/dist/auth/shared-resource-policy.js +69 -0
  101. package/dist/auth/shared-resource-policy.js.map +1 -0
  102. package/dist/bin/ccsxp-runtime.d.ts +9 -0
  103. package/dist/bin/ccsxp-runtime.d.ts.map +1 -1
  104. package/dist/bin/ccsxp-runtime.js +62 -3
  105. package/dist/bin/ccsxp-runtime.js.map +1 -1
  106. package/dist/ccs.js +65 -1024
  107. package/dist/ccs.js.map +1 -1
  108. package/dist/channels/official-channels-ids.d.ts +21 -0
  109. package/dist/channels/official-channels-ids.d.ts.map +1 -0
  110. package/dist/channels/official-channels-ids.js +46 -0
  111. package/dist/channels/official-channels-ids.js.map +1 -0
  112. package/dist/channels/official-channels-runtime.d.ts +3 -5
  113. package/dist/channels/official-channels-runtime.d.ts.map +1 -1
  114. package/dist/channels/official-channels-runtime.js +25 -29
  115. package/dist/channels/official-channels-runtime.js.map +1 -1
  116. package/dist/channels/official-channels-store.d.ts +1 -0
  117. package/dist/channels/official-channels-store.d.ts.map +1 -1
  118. package/dist/channels/official-channels-store.js +5 -6
  119. package/dist/channels/official-channels-store.js.map +1 -1
  120. package/dist/cliproxy/accounts/account-manager.d.ts +16 -0
  121. package/dist/cliproxy/accounts/account-manager.d.ts.map +1 -0
  122. package/dist/cliproxy/accounts/account-manager.js +51 -0
  123. package/dist/cliproxy/accounts/account-manager.js.map +1 -0
  124. package/dist/cliproxy/accounts/account-safety.d.ts +103 -0
  125. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -0
  126. package/dist/cliproxy/accounts/account-safety.js +614 -0
  127. package/dist/cliproxy/accounts/account-safety.js.map +1 -0
  128. package/dist/cliproxy/accounts/account-stats-key.d.ts.map +1 -0
  129. package/dist/cliproxy/accounts/account-stats-key.js.map +1 -0
  130. package/dist/cliproxy/accounts/email-account-identity.d.ts.map +1 -1
  131. package/dist/cliproxy/accounts/email-account-identity.js +22 -2
  132. package/dist/cliproxy/accounts/email-account-identity.js.map +1 -1
  133. package/dist/cliproxy/accounts/registry.js +1 -1
  134. package/dist/cliproxy/accounts/registry.js.map +1 -1
  135. package/dist/cliproxy/accounts/token-file-ops.js +1 -1
  136. package/dist/cliproxy/accounts/token-file-ops.js.map +1 -1
  137. package/dist/cliproxy/accounts/types.d.ts +1 -1
  138. package/dist/cliproxy/accounts/types.d.ts.map +1 -1
  139. package/dist/cliproxy/ai-providers/codex-plan-compatibility.d.ts +38 -0
  140. package/dist/cliproxy/ai-providers/codex-plan-compatibility.d.ts.map +1 -0
  141. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +131 -0
  142. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -0
  143. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts +71 -0
  144. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -0
  145. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +565 -0
  146. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -0
  147. package/dist/cliproxy/ai-providers/config-store.js +3 -3
  148. package/dist/cliproxy/ai-providers/config-store.js.map +1 -1
  149. package/dist/cliproxy/ai-providers/managed-model-prefixes.d.ts +7 -0
  150. package/dist/cliproxy/ai-providers/managed-model-prefixes.d.ts.map +1 -0
  151. package/dist/cliproxy/ai-providers/managed-model-prefixes.js +116 -0
  152. package/dist/cliproxy/ai-providers/managed-model-prefixes.js.map +1 -0
  153. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts +108 -0
  154. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts.map +1 -0
  155. package/dist/cliproxy/ai-providers/model-id-normalizer.js +293 -0
  156. package/dist/cliproxy/ai-providers/model-id-normalizer.js.map +1 -0
  157. package/dist/cliproxy/ai-providers/openai-compat-manager.d.ts.map +1 -0
  158. package/dist/cliproxy/ai-providers/openai-compat-manager.js +203 -0
  159. package/dist/cliproxy/ai-providers/openai-compat-manager.js.map +1 -0
  160. package/dist/cliproxy/ai-providers/schema-sanitizer.d.ts.map +1 -0
  161. package/dist/cliproxy/ai-providers/schema-sanitizer.js.map +1 -0
  162. package/dist/cliproxy/ai-providers/service.d.ts.map +1 -1
  163. package/dist/cliproxy/ai-providers/service.js +10 -3
  164. package/dist/cliproxy/ai-providers/service.js.map +1 -1
  165. package/dist/cliproxy/ai-providers/tool-name-mapper.d.ts +108 -0
  166. package/dist/cliproxy/ai-providers/tool-name-mapper.d.ts.map +1 -0
  167. package/dist/cliproxy/ai-providers/tool-name-mapper.js +163 -0
  168. package/dist/cliproxy/ai-providers/tool-name-mapper.js.map +1 -0
  169. package/dist/cliproxy/ai-providers/tool-name-sanitizer.d.ts +66 -0
  170. package/dist/cliproxy/ai-providers/tool-name-sanitizer.d.ts.map +1 -0
  171. package/dist/cliproxy/ai-providers/tool-name-sanitizer.js +138 -0
  172. package/dist/cliproxy/ai-providers/tool-name-sanitizer.js.map +1 -0
  173. package/dist/cliproxy/auth/antigravity-responsibility.d.ts.map +1 -0
  174. package/dist/cliproxy/auth/antigravity-responsibility.js +171 -0
  175. package/dist/cliproxy/auth/antigravity-responsibility.js.map +1 -0
  176. package/dist/cliproxy/auth/auth-handler.d.ts +31 -0
  177. package/dist/cliproxy/auth/auth-handler.d.ts.map +1 -0
  178. package/dist/cliproxy/auth/auth-handler.js +60 -0
  179. package/dist/cliproxy/auth/auth-handler.js.map +1 -0
  180. package/dist/cliproxy/auth/auth-session-manager.d.ts +51 -0
  181. package/dist/cliproxy/auth/auth-session-manager.d.ts.map +1 -0
  182. package/dist/cliproxy/auth/auth-session-manager.js +141 -0
  183. package/dist/cliproxy/auth/auth-session-manager.js.map +1 -0
  184. package/dist/cliproxy/auth/auth-token-manager.d.ts.map +1 -0
  185. package/dist/cliproxy/auth/auth-token-manager.js +184 -0
  186. package/dist/cliproxy/auth/auth-token-manager.js.map +1 -0
  187. package/dist/cliproxy/auth/auth-types.d.ts +40 -7
  188. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  189. package/dist/cliproxy/auth/auth-types.js +90 -10
  190. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  191. package/dist/cliproxy/auth/auth-utils.d.ts +17 -0
  192. package/dist/cliproxy/auth/auth-utils.d.ts.map +1 -0
  193. package/dist/cliproxy/auth/auth-utils.js +58 -0
  194. package/dist/cliproxy/auth/auth-utils.js.map +1 -0
  195. package/dist/cliproxy/auth/device-code-handler.d.ts.map +1 -0
  196. package/dist/cliproxy/auth/device-code-handler.js.map +1 -0
  197. package/dist/cliproxy/auth/gitlab-pat-response.d.ts +9 -0
  198. package/dist/cliproxy/auth/gitlab-pat-response.d.ts.map +1 -0
  199. package/dist/cliproxy/auth/gitlab-pat-response.js +64 -0
  200. package/dist/cliproxy/auth/gitlab-pat-response.js.map +1 -0
  201. package/dist/cliproxy/auth/kiro-import.js +2 -2
  202. package/dist/cliproxy/auth/kiro-import.js.map +1 -1
  203. package/dist/cliproxy/auth/oauth-handler.d.ts +50 -4
  204. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  205. package/dist/cliproxy/auth/oauth-handler.js +443 -51
  206. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  207. package/dist/cliproxy/auth/oauth-process.d.ts +27 -2
  208. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -1
  209. package/dist/cliproxy/auth/oauth-process.js +409 -53
  210. package/dist/cliproxy/auth/oauth-process.js.map +1 -1
  211. package/dist/cliproxy/auth/oauth-start-failure-guidance.d.ts +22 -0
  212. package/dist/cliproxy/auth/oauth-start-failure-guidance.d.ts.map +1 -0
  213. package/dist/cliproxy/auth/oauth-start-failure-guidance.js +82 -0
  214. package/dist/cliproxy/auth/oauth-start-failure-guidance.js.map +1 -0
  215. package/dist/cliproxy/auth/oauth-trace/diagnose-failure.d.ts +24 -0
  216. package/dist/cliproxy/auth/oauth-trace/diagnose-failure.d.ts.map +1 -0
  217. package/dist/cliproxy/auth/oauth-trace/diagnose-failure.js +159 -0
  218. package/dist/cliproxy/auth/oauth-trace/diagnose-failure.js.map +1 -0
  219. package/dist/cliproxy/auth/oauth-trace/index.d.ts +4 -0
  220. package/dist/cliproxy/auth/oauth-trace/index.d.ts.map +1 -0
  221. package/dist/cliproxy/auth/oauth-trace/index.js +14 -0
  222. package/dist/cliproxy/auth/oauth-trace/index.js.map +1 -0
  223. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts +22 -0
  224. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -0
  225. package/dist/cliproxy/auth/oauth-trace/redactor.js +120 -0
  226. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -0
  227. package/dist/cliproxy/auth/oauth-trace/sink-file.d.ts +18 -0
  228. package/dist/cliproxy/auth/oauth-trace/sink-file.d.ts.map +1 -0
  229. package/dist/cliproxy/auth/oauth-trace/sink-file.js +90 -0
  230. package/dist/cliproxy/auth/oauth-trace/sink-file.js.map +1 -0
  231. package/dist/cliproxy/auth/oauth-trace/sink-memory.d.ts +13 -0
  232. package/dist/cliproxy/auth/oauth-trace/sink-memory.d.ts.map +1 -0
  233. package/dist/cliproxy/auth/oauth-trace/sink-memory.js +31 -0
  234. package/dist/cliproxy/auth/oauth-trace/sink-memory.js.map +1 -0
  235. package/dist/cliproxy/auth/oauth-trace/sink-verbose-stdout.d.ts +11 -0
  236. package/dist/cliproxy/auth/oauth-trace/sink-verbose-stdout.d.ts.map +1 -0
  237. package/dist/cliproxy/auth/oauth-trace/sink-verbose-stdout.js +47 -0
  238. package/dist/cliproxy/auth/oauth-trace/sink-verbose-stdout.js.map +1 -0
  239. package/dist/cliproxy/auth/oauth-trace/trace-events.d.ts +51 -0
  240. package/dist/cliproxy/auth/oauth-trace/trace-events.d.ts.map +1 -0
  241. package/dist/cliproxy/auth/oauth-trace/trace-events.js +44 -0
  242. package/dist/cliproxy/auth/oauth-trace/trace-events.js.map +1 -0
  243. package/dist/cliproxy/auth/oauth-trace/trace-recorder.d.ts +34 -0
  244. package/dist/cliproxy/auth/oauth-trace/trace-recorder.d.ts.map +1 -0
  245. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +83 -0
  246. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -0
  247. package/dist/cliproxy/auth/project-selection-handler.d.ts.map +1 -0
  248. package/dist/cliproxy/auth/project-selection-handler.js.map +1 -0
  249. package/dist/cliproxy/auth/provider-entitlement-evidence.d.ts +17 -0
  250. package/dist/cliproxy/auth/provider-entitlement-evidence.d.ts.map +1 -0
  251. package/dist/cliproxy/auth/provider-entitlement-evidence.js +55 -0
  252. package/dist/cliproxy/auth/provider-entitlement-evidence.js.map +1 -0
  253. package/dist/cliproxy/auth/provider-entitlement-types.d.ts +16 -0
  254. package/dist/cliproxy/auth/provider-entitlement-types.d.ts.map +1 -0
  255. package/dist/cliproxy/auth/provider-entitlement-types.js +3 -0
  256. package/dist/cliproxy/auth/provider-entitlement-types.js.map +1 -0
  257. package/dist/cliproxy/auth/provider-refreshers/index.d.ts +1 -2
  258. package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
  259. package/dist/cliproxy/auth/provider-refreshers/index.js +7 -26
  260. package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
  261. package/dist/cliproxy/auth/token-expiry-checker.js +1 -1
  262. package/dist/cliproxy/auth/token-expiry-checker.js.map +1 -1
  263. package/dist/cliproxy/auth/token-manager.d.ts +11 -2
  264. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
  265. package/dist/cliproxy/auth/token-manager.js +117 -68
  266. package/dist/cliproxy/auth/token-manager.js.map +1 -1
  267. package/dist/cliproxy/auth/token-refresh-config.d.ts.map +1 -1
  268. package/dist/cliproxy/auth/token-refresh-config.js +2 -2
  269. package/dist/cliproxy/auth/token-refresh-config.js.map +1 -1
  270. package/dist/cliproxy/binary/extractor.js +1 -1
  271. package/dist/cliproxy/binary/extractor.js.map +1 -1
  272. package/dist/cliproxy/binary/installer.d.ts +1 -1
  273. package/dist/cliproxy/binary/installer.d.ts.map +1 -1
  274. package/dist/cliproxy/binary/installer.js +1 -1
  275. package/dist/cliproxy/binary/installer.js.map +1 -1
  276. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
  277. package/dist/cliproxy/binary/lifecycle.js +18 -6
  278. package/dist/cliproxy/binary/lifecycle.js.map +1 -1
  279. package/dist/cliproxy/binary/platform-detector.d.ts +106 -0
  280. package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -0
  281. package/dist/cliproxy/binary/platform-detector.js +191 -0
  282. package/dist/cliproxy/binary/platform-detector.js.map +1 -0
  283. package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -1
  284. package/dist/cliproxy/binary/tar-extractor.js +1 -1
  285. package/dist/cliproxy/binary/tar-extractor.js.map +1 -1
  286. package/dist/cliproxy/binary/types.d.ts +3 -3
  287. package/dist/cliproxy/binary/types.d.ts.map +1 -1
  288. package/dist/cliproxy/binary/types.js +3 -3
  289. package/dist/cliproxy/binary/types.js.map +1 -1
  290. package/dist/cliproxy/binary/version-cache.d.ts +10 -0
  291. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -1
  292. package/dist/cliproxy/binary/version-cache.js +31 -9
  293. package/dist/cliproxy/binary/version-cache.js.map +1 -1
  294. package/dist/cliproxy/binary/version-checker.d.ts +14 -3
  295. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  296. package/dist/cliproxy/binary/version-checker.js +66 -37
  297. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  298. package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -1
  299. package/dist/cliproxy/binary/zip-extractor.js +1 -1
  300. package/dist/cliproxy/binary/zip-extractor.js.map +1 -1
  301. package/dist/cliproxy/binary-manager.d.ts +22 -1
  302. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  303. package/dist/cliproxy/binary-manager.js +126 -19
  304. package/dist/cliproxy/binary-manager.js.map +1 -1
  305. package/dist/cliproxy/config/base-config-loader.d.ts +43 -0
  306. package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -0
  307. package/dist/cliproxy/config/base-config-loader.js +123 -0
  308. package/dist/cliproxy/config/base-config-loader.js.map +1 -0
  309. package/dist/cliproxy/config/composite-validator.d.ts.map +1 -0
  310. package/dist/cliproxy/config/composite-validator.js +94 -0
  311. package/dist/cliproxy/config/composite-validator.js.map +1 -0
  312. package/dist/cliproxy/config/config-generator.d.ts +15 -0
  313. package/dist/cliproxy/config/config-generator.d.ts.map +1 -0
  314. package/dist/cliproxy/config/config-generator.js +32 -0
  315. package/dist/cliproxy/config/config-generator.js.map +1 -0
  316. package/dist/cliproxy/config/env-builder.d.ts +6 -0
  317. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  318. package/dist/cliproxy/config/env-builder.js +60 -65
  319. package/dist/cliproxy/config/env-builder.js.map +1 -1
  320. package/dist/cliproxy/config/extended-context-config.d.ts +1 -0
  321. package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -1
  322. package/dist/cliproxy/config/generator.d.ts +14 -3
  323. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  324. package/dist/cliproxy/config/generator.js +96 -19
  325. package/dist/cliproxy/config/generator.js.map +1 -1
  326. package/dist/cliproxy/config/model-config.d.ts +31 -0
  327. package/dist/cliproxy/config/model-config.d.ts.map +1 -0
  328. package/dist/cliproxy/config/model-config.js +264 -0
  329. package/dist/cliproxy/config/model-config.js.map +1 -0
  330. package/dist/cliproxy/config/path-resolver.d.ts +21 -0
  331. package/dist/cliproxy/config/path-resolver.d.ts.map +1 -1
  332. package/dist/cliproxy/config/path-resolver.js +45 -5
  333. package/dist/cliproxy/config/path-resolver.js.map +1 -1
  334. package/dist/cliproxy/config/port-manager.d.ts +6 -0
  335. package/dist/cliproxy/config/port-manager.d.ts.map +1 -1
  336. package/dist/cliproxy/config/port-manager.js +19 -1
  337. package/dist/cliproxy/config/port-manager.js.map +1 -1
  338. package/dist/cliproxy/config/thinking-config.d.ts +1 -0
  339. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  340. package/dist/cliproxy/config/thinking-config.js +21 -12
  341. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  342. package/dist/cliproxy/executor/account-resolution.d.ts +52 -0
  343. package/dist/cliproxy/executor/account-resolution.d.ts.map +1 -0
  344. package/dist/cliproxy/executor/account-resolution.js +154 -0
  345. package/dist/cliproxy/executor/account-resolution.js.map +1 -0
  346. package/dist/cliproxy/executor/arg-parser.d.ts +96 -0
  347. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -0
  348. package/dist/cliproxy/executor/arg-parser.js +529 -0
  349. package/dist/cliproxy/executor/arg-parser.js.map +1 -0
  350. package/dist/cliproxy/executor/auth-coordinator.d.ts +96 -0
  351. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -0
  352. package/dist/cliproxy/executor/auth-coordinator.js +342 -0
  353. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -0
  354. package/dist/cliproxy/executor/browser-launch-setup.d.ts +36 -0
  355. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -0
  356. package/dist/cliproxy/executor/browser-launch-setup.js +80 -0
  357. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -0
  358. package/dist/cliproxy/executor/claude-launcher.d.ts +55 -0
  359. package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -0
  360. package/dist/cliproxy/executor/claude-launcher.js +125 -0
  361. package/dist/cliproxy/executor/claude-launcher.js.map +1 -0
  362. package/dist/cliproxy/executor/cliproxy-executor.d.ts +16 -0
  363. package/dist/cliproxy/executor/cliproxy-executor.d.ts.map +1 -0
  364. package/dist/cliproxy/executor/cliproxy-executor.js +27 -0
  365. package/dist/cliproxy/executor/cliproxy-executor.js.map +1 -0
  366. package/dist/cliproxy/executor/env-resolver.d.ts +7 -5
  367. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  368. package/dist/cliproxy/executor/env-resolver.js +7 -6
  369. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  370. package/dist/cliproxy/executor/https-tunnel-policy.d.ts +17 -0
  371. package/dist/cliproxy/executor/https-tunnel-policy.d.ts.map +1 -0
  372. package/dist/cliproxy/executor/https-tunnel-policy.js +20 -0
  373. package/dist/cliproxy/executor/https-tunnel-policy.js.map +1 -0
  374. package/dist/cliproxy/executor/index.d.ts +6 -0
  375. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  376. package/dist/cliproxy/executor/index.js +144 -693
  377. package/dist/cliproxy/executor/index.js.map +1 -1
  378. package/dist/cliproxy/executor/lifecycle-manager.js +1 -1
  379. package/dist/cliproxy/executor/lifecycle-manager.js.map +1 -1
  380. package/dist/cliproxy/executor/model-warnings.d.ts +22 -0
  381. package/dist/cliproxy/executor/model-warnings.d.ts.map +1 -0
  382. package/dist/cliproxy/executor/model-warnings.js +67 -0
  383. package/dist/cliproxy/executor/model-warnings.js.map +1 -0
  384. package/dist/cliproxy/executor/proxy-chain-builder.d.ts +71 -0
  385. package/dist/cliproxy/executor/proxy-chain-builder.d.ts.map +1 -0
  386. package/dist/cliproxy/executor/proxy-chain-builder.js +143 -0
  387. package/dist/cliproxy/executor/proxy-chain-builder.js.map +1 -0
  388. package/dist/cliproxy/executor/proxy-resolver.d.ts +44 -0
  389. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -0
  390. package/dist/cliproxy/executor/proxy-resolver.js +173 -0
  391. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -0
  392. package/dist/cliproxy/executor/retry-handler.js +4 -4
  393. package/dist/cliproxy/executor/retry-handler.js.map +1 -1
  394. package/dist/cliproxy/executor/session-bridge.d.ts +16 -1
  395. package/dist/cliproxy/executor/session-bridge.d.ts.map +1 -1
  396. package/dist/cliproxy/executor/session-bridge.js +92 -57
  397. package/dist/cliproxy/executor/session-bridge.js.map +1 -1
  398. package/dist/cliproxy/index.d.ts +32 -32
  399. package/dist/cliproxy/index.d.ts.map +1 -1
  400. package/dist/cliproxy/index.js +20 -20
  401. package/dist/cliproxy/index.js.map +1 -1
  402. package/dist/cliproxy/management/management-api-client.d.ts +90 -0
  403. package/dist/cliproxy/management/management-api-client.d.ts.map +1 -0
  404. package/dist/cliproxy/management/management-api-client.js +396 -0
  405. package/dist/cliproxy/management/management-api-client.js.map +1 -0
  406. package/dist/cliproxy/management/management-api-types.d.ts.map +1 -0
  407. package/dist/cliproxy/management/management-api-types.js.map +1 -0
  408. package/dist/cliproxy/management/remote-token-uploader.d.ts.map +1 -0
  409. package/dist/cliproxy/management/remote-token-uploader.js +178 -0
  410. package/dist/cliproxy/management/remote-token-uploader.js.map +1 -0
  411. package/dist/cliproxy/model-catalog.d.ts +3 -1
  412. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  413. package/dist/cliproxy/model-catalog.js +60 -59
  414. package/dist/cliproxy/model-catalog.js.map +1 -1
  415. package/dist/cliproxy/provider-capabilities.d.ts +3 -0
  416. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  417. package/dist/cliproxy/provider-capabilities.js +63 -3
  418. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  419. package/dist/cliproxy/proxy/https-tunnel-proxy.d.ts.map +1 -0
  420. package/dist/cliproxy/proxy/https-tunnel-proxy.js +229 -0
  421. package/dist/cliproxy/proxy/https-tunnel-proxy.js.map +1 -0
  422. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts +87 -0
  423. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -0
  424. package/dist/cliproxy/proxy/proxy-config-resolver.js +254 -0
  425. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -0
  426. package/dist/cliproxy/proxy/proxy-detector.d.ts +72 -0
  427. package/dist/cliproxy/proxy/proxy-detector.d.ts.map +1 -0
  428. package/dist/cliproxy/proxy/proxy-detector.js +200 -0
  429. package/dist/cliproxy/proxy/proxy-detector.js.map +1 -0
  430. package/dist/cliproxy/proxy/proxy-target-resolver.d.ts.map +1 -0
  431. package/dist/cliproxy/proxy/proxy-target-resolver.js +108 -0
  432. package/dist/cliproxy/proxy/proxy-target-resolver.js.map +1 -0
  433. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +82 -0
  434. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -0
  435. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +668 -0
  436. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -0
  437. package/dist/cliproxy/quota/gemini-cli-quota-normalizer.d.ts.map +1 -0
  438. package/dist/cliproxy/quota/gemini-cli-quota-normalizer.js +122 -0
  439. package/dist/cliproxy/quota/gemini-cli-quota-normalizer.js.map +1 -0
  440. package/dist/cliproxy/quota/quota-fetcher-claude-normalizer.d.ts +14 -0
  441. package/dist/cliproxy/quota/quota-fetcher-claude-normalizer.d.ts.map +1 -0
  442. package/dist/cliproxy/quota/quota-fetcher-claude-normalizer.js +322 -0
  443. package/dist/cliproxy/quota/quota-fetcher-claude-normalizer.js.map +1 -0
  444. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +21 -0
  445. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -0
  446. package/dist/cliproxy/quota/quota-fetcher-claude.js +292 -0
  447. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -0
  448. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +84 -0
  449. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -0
  450. package/dist/cliproxy/quota/quota-fetcher-codex.js +651 -0
  451. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -0
  452. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.d.ts.map +1 -0
  453. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js +828 -0
  454. package/dist/cliproxy/quota/quota-fetcher-gemini-cli.js.map +1 -0
  455. package/dist/cliproxy/quota/quota-fetcher-ghcp.d.ts.map +1 -0
  456. package/dist/cliproxy/quota/quota-fetcher-ghcp.js +218 -0
  457. package/dist/cliproxy/quota/quota-fetcher-ghcp.js.map +1 -0
  458. package/dist/cliproxy/quota/quota-fetcher.d.ts +117 -0
  459. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -0
  460. package/dist/cliproxy/quota/quota-fetcher.js +771 -0
  461. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -0
  462. package/dist/cliproxy/quota/quota-manager.d.ts +109 -0
  463. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -0
  464. package/dist/cliproxy/quota/quota-manager.js +672 -0
  465. package/dist/cliproxy/quota/quota-manager.js.map +1 -0
  466. package/dist/cliproxy/quota/quota-response-cache.d.ts.map +1 -0
  467. package/dist/cliproxy/quota/quota-response-cache.js.map +1 -0
  468. package/dist/cliproxy/quota/quota-types.d.ts +262 -0
  469. package/dist/cliproxy/quota/quota-types.d.ts.map +1 -0
  470. package/dist/cliproxy/quota/quota-types.js.map +1 -0
  471. package/dist/cliproxy/routing/routing-strategy-http.d.ts +8 -0
  472. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -0
  473. package/dist/cliproxy/routing/routing-strategy-http.js +120 -0
  474. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -0
  475. package/dist/cliproxy/routing/routing-strategy.d.ts +41 -0
  476. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -0
  477. package/dist/cliproxy/routing/routing-strategy.js +272 -0
  478. package/dist/cliproxy/routing/routing-strategy.js.map +1 -0
  479. package/dist/cliproxy/service-manager.d.ts +17 -1
  480. package/dist/cliproxy/service-manager.d.ts.map +1 -1
  481. package/dist/cliproxy/service-manager.js +19 -11
  482. package/dist/cliproxy/service-manager.js.map +1 -1
  483. package/dist/cliproxy/services/binary-service.d.ts.map +1 -1
  484. package/dist/cliproxy/services/binary-service.js +16 -9
  485. package/dist/cliproxy/services/binary-service.js.map +1 -1
  486. package/dist/cliproxy/services/catalog-cache.d.ts +47 -0
  487. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -0
  488. package/dist/cliproxy/services/catalog-cache.js +347 -0
  489. package/dist/cliproxy/services/catalog-cache.js.map +1 -0
  490. package/dist/cliproxy/services/catalog-routing.d.ts +12 -0
  491. package/dist/cliproxy/services/catalog-routing.d.ts.map +1 -0
  492. package/dist/cliproxy/services/catalog-routing.js +19 -0
  493. package/dist/cliproxy/services/catalog-routing.js.map +1 -0
  494. package/dist/cliproxy/services/oauth-usage-log-transformer.d.ts +4 -0
  495. package/dist/cliproxy/services/oauth-usage-log-transformer.d.ts.map +1 -0
  496. package/dist/cliproxy/services/oauth-usage-log-transformer.js +162 -0
  497. package/dist/cliproxy/services/oauth-usage-log-transformer.js.map +1 -0
  498. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +1 -0
  499. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -1
  500. package/dist/cliproxy/services/proxy-lifecycle-service.js +6 -6
  501. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -1
  502. package/dist/cliproxy/services/remote-auth-fetcher.d.ts +30 -0
  503. package/dist/cliproxy/services/remote-auth-fetcher.d.ts.map +1 -0
  504. package/dist/cliproxy/services/remote-auth-fetcher.js +177 -0
  505. package/dist/cliproxy/services/remote-auth-fetcher.js.map +1 -0
  506. package/dist/cliproxy/services/remote-proxy-client.d.ts.map +1 -0
  507. package/dist/cliproxy/services/remote-proxy-client.js +281 -0
  508. package/dist/cliproxy/services/remote-proxy-client.js.map +1 -0
  509. package/dist/cliproxy/services/startup-lock.d.ts.map +1 -0
  510. package/dist/cliproxy/services/startup-lock.js +220 -0
  511. package/dist/cliproxy/services/startup-lock.js.map +1 -0
  512. package/dist/cliproxy/services/stats-fetcher.d.ts +162 -0
  513. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -0
  514. package/dist/cliproxy/services/stats-fetcher.js +354 -0
  515. package/dist/cliproxy/services/stats-fetcher.js.map +1 -0
  516. package/dist/cliproxy/services/stats-transformer.d.ts.map +1 -0
  517. package/dist/cliproxy/services/stats-transformer.js +224 -0
  518. package/dist/cliproxy/services/stats-transformer.js.map +1 -0
  519. package/dist/cliproxy/services/usage-compatibility-transformer.d.ts +12 -0
  520. package/dist/cliproxy/services/usage-compatibility-transformer.d.ts.map +1 -0
  521. package/dist/cliproxy/services/usage-compatibility-transformer.js +458 -0
  522. package/dist/cliproxy/services/usage-compatibility-transformer.js.map +1 -0
  523. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  524. package/dist/cliproxy/services/variant-config-adapter.js +11 -11
  525. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  526. package/dist/cliproxy/services/variant-service.d.ts +2 -1
  527. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  528. package/dist/cliproxy/services/variant-service.js +21 -24
  529. package/dist/cliproxy/services/variant-service.js.map +1 -1
  530. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  531. package/dist/cliproxy/services/variant-settings.js +53 -42
  532. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  533. package/dist/cliproxy/session-tracker.js +2 -2
  534. package/dist/cliproxy/session-tracker.js.map +1 -1
  535. package/dist/cliproxy/sync/auto-sync-watcher.js +3 -4
  536. package/dist/cliproxy/sync/auto-sync-watcher.js.map +1 -1
  537. package/dist/cliproxy/sync/local-config-sync.js +1 -1
  538. package/dist/cliproxy/sync/local-config-sync.js.map +1 -1
  539. package/dist/cliproxy/sync/profile-mapper.d.ts +1 -1
  540. package/dist/cliproxy/sync/profile-mapper.d.ts.map +1 -1
  541. package/dist/cliproxy/sync/profile-mapper.js +23 -2
  542. package/dist/cliproxy/sync/profile-mapper.js.map +1 -1
  543. package/dist/cliproxy/thinking-validator.d.ts +6 -1
  544. package/dist/cliproxy/thinking-validator.d.ts.map +1 -1
  545. package/dist/cliproxy/thinking-validator.js +22 -2
  546. package/dist/cliproxy/thinking-validator.js.map +1 -1
  547. package/dist/cliproxy/types/binary-types.d.ts +48 -0
  548. package/dist/cliproxy/types/binary-types.d.ts.map +1 -0
  549. package/dist/cliproxy/types/binary-types.js +6 -0
  550. package/dist/cliproxy/types/binary-types.js.map +1 -0
  551. package/dist/cliproxy/types/config-types.d.ts +89 -0
  552. package/dist/cliproxy/types/config-types.d.ts.map +1 -0
  553. package/dist/cliproxy/types/config-types.js +6 -0
  554. package/dist/cliproxy/types/config-types.js.map +1 -0
  555. package/dist/cliproxy/types/index.d.ts +5 -0
  556. package/dist/cliproxy/types/index.d.ts.map +1 -0
  557. package/dist/cliproxy/types/index.js +21 -0
  558. package/dist/cliproxy/types/index.js.map +1 -0
  559. package/dist/cliproxy/types/platform-types.d.ts +17 -0
  560. package/dist/cliproxy/types/platform-types.d.ts.map +1 -0
  561. package/dist/cliproxy/types/platform-types.js +6 -0
  562. package/dist/cliproxy/types/platform-types.js.map +1 -0
  563. package/dist/cliproxy/types/provider-types.d.ts +27 -0
  564. package/dist/cliproxy/types/provider-types.d.ts.map +1 -0
  565. package/dist/cliproxy/types/provider-types.js +16 -0
  566. package/dist/cliproxy/types/provider-types.js.map +1 -0
  567. package/dist/cliproxy/types.d.ts +4 -255
  568. package/dist/cliproxy/types.d.ts.map +1 -1
  569. package/dist/cliproxy/types.js +18 -7
  570. package/dist/cliproxy/types.js.map +1 -1
  571. package/dist/commands/api-command/create-command.d.ts +3 -0
  572. package/dist/commands/api-command/create-command.d.ts.map +1 -1
  573. package/dist/commands/api-command/create-command.js +24 -7
  574. package/dist/commands/api-command/create-command.js.map +1 -1
  575. package/dist/commands/api-command/help.d.ts.map +1 -1
  576. package/dist/commands/api-command/help.js +5 -0
  577. package/dist/commands/api-command/help.js.map +1 -1
  578. package/dist/commands/api-command/shared.d.ts +2 -1
  579. package/dist/commands/api-command/shared.d.ts.map +1 -1
  580. package/dist/commands/api-command/shared.js +9 -0
  581. package/dist/commands/api-command/shared.js.map +1 -1
  582. package/dist/commands/browser-command.d.ts +5 -0
  583. package/dist/commands/browser-command.d.ts.map +1 -0
  584. package/dist/commands/browser-command.js +349 -0
  585. package/dist/commands/browser-command.js.map +1 -0
  586. package/dist/commands/cleanup-command.d.ts +1 -1
  587. package/dist/commands/cleanup-command.d.ts.map +1 -1
  588. package/dist/commands/cleanup-command.js +58 -35
  589. package/dist/commands/cleanup-command.js.map +1 -1
  590. package/dist/commands/cliproxy/auth-subcommand.js +1 -1
  591. package/dist/commands/cliproxy/auth-subcommand.js.map +1 -1
  592. package/dist/commands/cliproxy/catalog-subcommand.d.ts +6 -0
  593. package/dist/commands/cliproxy/catalog-subcommand.d.ts.map +1 -1
  594. package/dist/commands/cliproxy/catalog-subcommand.js +112 -46
  595. package/dist/commands/cliproxy/catalog-subcommand.js.map +1 -1
  596. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  597. package/dist/commands/cliproxy/help-subcommand.js +15 -4
  598. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  599. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  600. package/dist/commands/cliproxy/index.js +35 -7
  601. package/dist/commands/cliproxy/index.js.map +1 -1
  602. package/dist/commands/cliproxy/install-subcommand.js +2 -2
  603. package/dist/commands/cliproxy/install-subcommand.js.map +1 -1
  604. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js +6 -6
  605. package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js.map +1 -1
  606. package/dist/commands/cliproxy/quota-subcommand.d.ts +3 -1
  607. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  608. package/dist/commands/cliproxy/quota-subcommand.js +95 -32
  609. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  610. package/dist/commands/cliproxy/routing-subcommand.d.ts +7 -0
  611. package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -0
  612. package/dist/commands/cliproxy/routing-subcommand.js +193 -0
  613. package/dist/commands/cliproxy/routing-subcommand.js.map +1 -0
  614. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  615. package/dist/commands/cliproxy/variant-subcommand.js +86 -13
  616. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  617. package/dist/commands/command-catalog.d.ts +6 -5
  618. package/dist/commands/command-catalog.d.ts.map +1 -1
  619. package/dist/commands/command-catalog.js +45 -8
  620. package/dist/commands/command-catalog.js.map +1 -1
  621. package/dist/commands/completion-backend.d.ts.map +1 -1
  622. package/dist/commands/completion-backend.js +62 -1
  623. package/dist/commands/completion-backend.js.map +1 -1
  624. package/dist/commands/config-auth/disable-command.d.ts.map +1 -1
  625. package/dist/commands/config-auth/disable-command.js +3 -3
  626. package/dist/commands/config-auth/disable-command.js.map +1 -1
  627. package/dist/commands/config-auth/setup-command.d.ts.map +1 -1
  628. package/dist/commands/config-auth/setup-command.js +2 -2
  629. package/dist/commands/config-auth/setup-command.js.map +1 -1
  630. package/dist/commands/config-auth/show-command.js +2 -2
  631. package/dist/commands/config-auth/show-command.js.map +1 -1
  632. package/dist/commands/config-channels-command.d.ts.map +1 -1
  633. package/dist/commands/config-channels-command.js +4 -4
  634. package/dist/commands/config-channels-command.js.map +1 -1
  635. package/dist/commands/config-command-options.d.ts.map +1 -1
  636. package/dist/commands/config-command-options.js +4 -2
  637. package/dist/commands/config-command-options.js.map +1 -1
  638. package/dist/commands/config-command.d.ts +1 -1
  639. package/dist/commands/config-command.d.ts.map +1 -1
  640. package/dist/commands/config-command.js +28 -5
  641. package/dist/commands/config-command.js.map +1 -1
  642. package/dist/commands/config-dashboard-host.d.ts +1 -0
  643. package/dist/commands/config-dashboard-host.d.ts.map +1 -1
  644. package/dist/commands/config-dashboard-host.js +16 -3
  645. package/dist/commands/config-dashboard-host.js.map +1 -1
  646. package/dist/commands/config-image-analysis-command.d.ts.map +1 -1
  647. package/dist/commands/config-image-analysis-command.js +4 -4
  648. package/dist/commands/config-image-analysis-command.js.map +1 -1
  649. package/dist/commands/config-thinking-command.d.ts.map +1 -1
  650. package/dist/commands/config-thinking-command.js +5 -5
  651. package/dist/commands/config-thinking-command.js.map +1 -1
  652. package/dist/commands/copilot-command.d.ts.map +1 -1
  653. package/dist/commands/copilot-command.js +7 -5
  654. package/dist/commands/copilot-command.js.map +1 -1
  655. package/dist/commands/cursor-command-display.d.ts +2 -0
  656. package/dist/commands/cursor-command-display.d.ts.map +1 -1
  657. package/dist/commands/cursor-command-display.js +63 -30
  658. package/dist/commands/cursor-command-display.js.map +1 -1
  659. package/dist/commands/cursor-command.d.ts.map +1 -1
  660. package/dist/commands/cursor-command.js +67 -61
  661. package/dist/commands/cursor-command.js.map +1 -1
  662. package/dist/commands/docker/up-subcommand.js +1 -1
  663. package/dist/commands/docker/up-subcommand.js.map +1 -1
  664. package/dist/commands/doctor-command.d.ts.map +1 -1
  665. package/dist/commands/doctor-command.js +9 -0
  666. package/dist/commands/doctor-command.js.map +1 -1
  667. package/dist/commands/env-command.d.ts.map +1 -1
  668. package/dist/commands/env-command.js +2 -2
  669. package/dist/commands/env-command.js.map +1 -1
  670. package/dist/commands/help-command.d.ts +2 -0
  671. package/dist/commands/help-command.d.ts.map +1 -1
  672. package/dist/commands/help-command.js +126 -5
  673. package/dist/commands/help-command.js.map +1 -1
  674. package/dist/commands/index.d.ts +1 -0
  675. package/dist/commands/index.d.ts.map +1 -1
  676. package/dist/commands/index.js +3 -1
  677. package/dist/commands/index.js.map +1 -1
  678. package/dist/commands/migrate-command.d.ts.map +1 -1
  679. package/dist/commands/migrate-command.js +2 -2
  680. package/dist/commands/migrate-command.js.map +1 -1
  681. package/dist/commands/proxy-command.d.ts +3 -0
  682. package/dist/commands/proxy-command.d.ts.map +1 -0
  683. package/dist/commands/proxy-command.js +237 -0
  684. package/dist/commands/proxy-command.js.map +1 -0
  685. package/dist/commands/root-command-router.d.ts.map +1 -1
  686. package/dist/commands/root-command-router.js +14 -0
  687. package/dist/commands/root-command-router.js.map +1 -1
  688. package/dist/commands/setup-command.d.ts.map +1 -1
  689. package/dist/commands/setup-command.js +6 -7
  690. package/dist/commands/setup-command.js.map +1 -1
  691. package/dist/commands/sync-command.d.ts.map +1 -1
  692. package/dist/commands/sync-command.js +3 -2
  693. package/dist/commands/sync-command.js.map +1 -1
  694. package/dist/commands/tokens-command.d.ts.map +1 -1
  695. package/dist/commands/tokens-command.js +27 -38
  696. package/dist/commands/tokens-command.js.map +1 -1
  697. package/dist/commands/update-command.d.ts +22 -5
  698. package/dist/commands/update-command.d.ts.map +1 -1
  699. package/dist/commands/update-command.js +211 -159
  700. package/dist/commands/update-command.js.map +1 -1
  701. package/dist/commands/version-command.d.ts.map +1 -1
  702. package/dist/commands/version-command.js +2 -1
  703. package/dist/commands/version-command.js.map +1 -1
  704. package/dist/config/config-loader-facade.d.ts +57 -0
  705. package/dist/config/config-loader-facade.d.ts.map +1 -0
  706. package/dist/config/config-loader-facade.js +131 -0
  707. package/dist/config/config-loader-facade.js.map +1 -0
  708. package/dist/config/loader/config-getters.d.ts +121 -0
  709. package/dist/config/loader/config-getters.d.ts.map +1 -0
  710. package/dist/config/loader/config-getters.js +260 -0
  711. package/dist/config/loader/config-getters.js.map +1 -0
  712. package/dist/config/loader/defaults-merger.d.ts +21 -0
  713. package/dist/config/loader/defaults-merger.d.ts.map +1 -0
  714. package/dist/config/loader/defaults-merger.js +278 -0
  715. package/dist/config/loader/defaults-merger.js.map +1 -0
  716. package/dist/config/loader/io-locks.d.ts +76 -0
  717. package/dist/config/loader/io-locks.d.ts.map +1 -0
  718. package/dist/config/loader/io-locks.js +297 -0
  719. package/dist/config/loader/io-locks.js.map +1 -0
  720. package/dist/config/loader/normalizers.d.ts +40 -0
  721. package/dist/config/loader/normalizers.d.ts.map +1 -0
  722. package/dist/config/loader/normalizers.js +172 -0
  723. package/dist/config/loader/normalizers.js.map +1 -0
  724. package/dist/config/loader/yaml-serializer.d.ts +19 -0
  725. package/dist/config/loader/yaml-serializer.d.ts.map +1 -0
  726. package/dist/config/loader/yaml-serializer.js +301 -0
  727. package/dist/config/loader/yaml-serializer.js.map +1 -0
  728. package/dist/config/migration-manager.d.ts.map +1 -1
  729. package/dist/config/migration-manager.js +14 -1
  730. package/dist/config/migration-manager.js.map +1 -1
  731. package/dist/config/reserved-names.d.ts +1 -1
  732. package/dist/config/reserved-names.d.ts.map +1 -1
  733. package/dist/config/reserved-names.js +10 -0
  734. package/dist/config/reserved-names.js.map +1 -1
  735. package/dist/config/schemas/auth.d.ts +99 -0
  736. package/dist/config/schemas/auth.d.ts.map +1 -0
  737. package/dist/config/schemas/auth.js +25 -0
  738. package/dist/config/schemas/auth.js.map +1 -0
  739. package/dist/config/schemas/browser.d.ts +53 -0
  740. package/dist/config/schemas/browser.d.ts.map +1 -0
  741. package/dist/config/schemas/browser.js +27 -0
  742. package/dist/config/schemas/browser.js.map +1 -0
  743. package/dist/config/schemas/channels.d.ts +27 -0
  744. package/dist/config/schemas/channels.d.ts.map +1 -0
  745. package/dist/config/schemas/channels.js +19 -0
  746. package/dist/config/schemas/channels.js.map +1 -0
  747. package/dist/config/schemas/cliproxy.d.ts +142 -0
  748. package/dist/config/schemas/cliproxy.d.ts.map +1 -0
  749. package/dist/config/schemas/cliproxy.js +18 -0
  750. package/dist/config/schemas/cliproxy.js.map +1 -0
  751. package/dist/config/schemas/copilot-cursor.d.ts +75 -0
  752. package/dist/config/schemas/copilot-cursor.d.ts.map +1 -0
  753. package/dist/config/schemas/copilot-cursor.js +36 -0
  754. package/dist/config/schemas/copilot-cursor.js.map +1 -0
  755. package/dist/config/schemas/index.d.ts +28 -0
  756. package/dist/config/schemas/index.d.ts.map +1 -0
  757. package/dist/config/schemas/index.js +51 -0
  758. package/dist/config/schemas/index.js.map +1 -0
  759. package/dist/config/schemas/logging.d.ts +43 -0
  760. package/dist/config/schemas/logging.d.ts.map +1 -0
  761. package/dist/config/schemas/logging.js +23 -0
  762. package/dist/config/schemas/logging.js.map +1 -0
  763. package/dist/config/schemas/providers.d.ts +14 -0
  764. package/dist/config/schemas/providers.d.ts.map +1 -0
  765. package/dist/config/schemas/providers.js +21 -0
  766. package/dist/config/schemas/providers.js.map +1 -0
  767. package/dist/config/schemas/proxy-server.d.ts +141 -0
  768. package/dist/config/schemas/proxy-server.d.ts.map +1 -0
  769. package/dist/config/schemas/proxy-server.js +71 -0
  770. package/dist/config/schemas/proxy-server.js.map +1 -0
  771. package/dist/config/schemas/quota.d.ts +88 -0
  772. package/dist/config/schemas/quota.d.ts.map +1 -0
  773. package/dist/config/schemas/quota.js +47 -0
  774. package/dist/config/schemas/quota.js.map +1 -0
  775. package/dist/config/schemas/thinking.d.ts +50 -0
  776. package/dist/config/schemas/thinking.d.ts.map +1 -0
  777. package/dist/config/schemas/thinking.js +26 -0
  778. package/dist/config/schemas/thinking.js.map +1 -0
  779. package/dist/config/schemas/unified-config.d.ts +74 -0
  780. package/dist/config/schemas/unified-config.d.ts.map +1 -0
  781. package/dist/config/schemas/unified-config.js +131 -0
  782. package/dist/config/schemas/unified-config.js.map +1 -0
  783. package/dist/config/schemas/version.d.ts +23 -0
  784. package/dist/config/schemas/version.d.ts.map +1 -0
  785. package/dist/config/schemas/version.js +26 -0
  786. package/dist/config/schemas/version.js.map +1 -0
  787. package/dist/config/schemas/websearch.d.ts +138 -0
  788. package/dist/config/schemas/websearch.d.ts.map +1 -0
  789. package/dist/config/schemas/websearch.js +12 -0
  790. package/dist/config/schemas/websearch.js.map +1 -0
  791. package/dist/config/unified-config-loader.d.ts +21 -113
  792. package/dist/config/unified-config-loader.d.ts.map +1 -1
  793. package/dist/config/unified-config-loader.js +104 -935
  794. package/dist/config/unified-config-loader.js.map +1 -1
  795. package/dist/config/unified-config-types.d.ts +3 -723
  796. package/dist/config/unified-config-types.d.ts.map +1 -1
  797. package/dist/config/unified-config-types.js +19 -268
  798. package/dist/config/unified-config-types.js.map +1 -1
  799. package/dist/copilot/copilot-auth.d.ts.map +1 -1
  800. package/dist/copilot/copilot-auth.js +22 -0
  801. package/dist/copilot/copilot-auth.js.map +1 -1
  802. package/dist/copilot/copilot-daemon.d.ts.map +1 -1
  803. package/dist/copilot/copilot-daemon.js +28 -2
  804. package/dist/copilot/copilot-daemon.js.map +1 -1
  805. package/dist/copilot/copilot-executor.d.ts +1 -1
  806. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  807. package/dist/copilot/copilot-executor.js +31 -12
  808. package/dist/copilot/copilot-executor.js.map +1 -1
  809. package/dist/copilot/copilot-package-manager.js +2 -2
  810. package/dist/copilot/copilot-package-manager.js.map +1 -1
  811. package/dist/cursor/constants.d.ts +4 -1
  812. package/dist/cursor/constants.d.ts.map +1 -1
  813. package/dist/cursor/constants.js +27 -1
  814. package/dist/cursor/constants.js.map +1 -1
  815. package/dist/cursor/cursor-anthropic-response.d.ts +1 -5
  816. package/dist/cursor/cursor-anthropic-response.d.ts.map +1 -1
  817. package/dist/cursor/cursor-anthropic-response.js +3 -186
  818. package/dist/cursor/cursor-anthropic-response.js.map +1 -1
  819. package/dist/cursor/cursor-anthropic-translator.d.ts.map +1 -1
  820. package/dist/cursor/cursor-anthropic-translator.js +17 -3
  821. package/dist/cursor/cursor-anthropic-translator.js.map +1 -1
  822. package/dist/cursor/cursor-anthropic-types.d.ts +3 -0
  823. package/dist/cursor/cursor-anthropic-types.d.ts.map +1 -1
  824. package/dist/cursor/cursor-auth.d.ts +1 -0
  825. package/dist/cursor/cursor-auth.d.ts.map +1 -1
  826. package/dist/cursor/cursor-auth.js +156 -34
  827. package/dist/cursor/cursor-auth.js.map +1 -1
  828. package/dist/cursor/cursor-daemon-entry.js +2 -2
  829. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  830. package/dist/cursor/cursor-daemon-pid.js +2 -2
  831. package/dist/cursor/cursor-daemon-pid.js.map +1 -1
  832. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  833. package/dist/cursor/cursor-daemon.js +28 -1
  834. package/dist/cursor/cursor-daemon.js.map +1 -1
  835. package/dist/cursor/cursor-default-models.d.ts +1 -1
  836. package/dist/cursor/cursor-default-models.d.ts.map +1 -1
  837. package/dist/cursor/cursor-default-models.js +11 -1
  838. package/dist/cursor/cursor-default-models.js.map +1 -1
  839. package/dist/cursor/cursor-executor.d.ts +2 -1
  840. package/dist/cursor/cursor-executor.d.ts.map +1 -1
  841. package/dist/cursor/cursor-executor.js +312 -161
  842. package/dist/cursor/cursor-executor.js.map +1 -1
  843. package/dist/cursor/cursor-models.d.ts.map +1 -1
  844. package/dist/cursor/cursor-models.js +26 -4
  845. package/dist/cursor/cursor-models.js.map +1 -1
  846. package/dist/cursor/cursor-profile-executor.d.ts +10 -1
  847. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  848. package/dist/cursor/cursor-profile-executor.js +14 -10
  849. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  850. package/dist/cursor/cursor-protobuf-decoder.d.ts.map +1 -1
  851. package/dist/cursor/cursor-protobuf-decoder.js +1 -3
  852. package/dist/cursor/cursor-protobuf-decoder.js.map +1 -1
  853. package/dist/cursor/cursor-protobuf-schema.d.ts +12 -3
  854. package/dist/cursor/cursor-protobuf-schema.d.ts.map +1 -1
  855. package/dist/cursor/cursor-protobuf-schema.js +23 -5
  856. package/dist/cursor/cursor-protobuf-schema.js.map +1 -1
  857. package/dist/cursor/cursor-protobuf.d.ts +1 -1
  858. package/dist/cursor/cursor-protobuf.d.ts.map +1 -1
  859. package/dist/cursor/cursor-protobuf.js +2 -4
  860. package/dist/cursor/cursor-protobuf.js.map +1 -1
  861. package/dist/cursor/cursor-runtime-probe.d.ts +12 -0
  862. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -0
  863. package/dist/cursor/cursor-runtime-probe.js +220 -0
  864. package/dist/cursor/cursor-runtime-probe.js.map +1 -0
  865. package/dist/cursor/cursor-stream-parser.d.ts +10 -0
  866. package/dist/cursor/cursor-stream-parser.d.ts.map +1 -1
  867. package/dist/cursor/cursor-stream-parser.js +106 -10
  868. package/dist/cursor/cursor-stream-parser.js.map +1 -1
  869. package/dist/cursor/index.d.ts +1 -0
  870. package/dist/cursor/index.d.ts.map +1 -1
  871. package/dist/cursor/index.js +3 -1
  872. package/dist/cursor/index.js.map +1 -1
  873. package/dist/cursor/types.d.ts +6 -0
  874. package/dist/cursor/types.d.ts.map +1 -1
  875. package/dist/delegation/delegation-handler.d.ts.map +1 -1
  876. package/dist/delegation/delegation-handler.js +113 -36
  877. package/dist/delegation/delegation-handler.js.map +1 -1
  878. package/dist/delegation/headless-executor.d.ts.map +1 -1
  879. package/dist/delegation/headless-executor.js +67 -22
  880. package/dist/delegation/headless-executor.js.map +1 -1
  881. package/dist/delegation/session-manager.js +2 -2
  882. package/dist/delegation/session-manager.js.map +1 -1
  883. package/dist/dispatcher/cli-argument-parser.d.ts +70 -0
  884. package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -0
  885. package/dist/dispatcher/cli-argument-parser.js +285 -0
  886. package/dist/dispatcher/cli-argument-parser.js.map +1 -0
  887. package/dist/dispatcher/dispatcher-context.d.ts +24 -0
  888. package/dist/dispatcher/dispatcher-context.d.ts.map +1 -0
  889. package/dist/dispatcher/dispatcher-context.js +11 -0
  890. package/dist/dispatcher/dispatcher-context.js.map +1 -0
  891. package/dist/dispatcher/environment-builder.d.ts +20 -0
  892. package/dist/dispatcher/environment-builder.d.ts.map +1 -0
  893. package/dist/dispatcher/environment-builder.js +95 -0
  894. package/dist/dispatcher/environment-builder.js.map +1 -0
  895. package/dist/dispatcher/flows/account-flow.d.ts +9 -0
  896. package/dist/dispatcher/flows/account-flow.d.ts.map +1 -0
  897. package/dist/dispatcher/flows/account-flow.js +50 -0
  898. package/dist/dispatcher/flows/account-flow.js.map +1 -0
  899. package/dist/dispatcher/flows/cliproxy-flow.d.ts +8 -0
  900. package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -0
  901. package/dist/dispatcher/flows/cliproxy-flow.js +165 -0
  902. package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -0
  903. package/dist/dispatcher/flows/copilot-flow.d.ts +8 -0
  904. package/dist/dispatcher/flows/copilot-flow.d.ts.map +1 -0
  905. package/dist/dispatcher/flows/copilot-flow.js +72 -0
  906. package/dist/dispatcher/flows/copilot-flow.js.map +1 -0
  907. package/dist/dispatcher/flows/cursor-flow.d.ts +8 -0
  908. package/dist/dispatcher/flows/cursor-flow.d.ts.map +1 -0
  909. package/dist/dispatcher/flows/cursor-flow.js +62 -0
  910. package/dist/dispatcher/flows/cursor-flow.js.map +1 -0
  911. package/dist/dispatcher/flows/default-flow.d.ts +10 -0
  912. package/dist/dispatcher/flows/default-flow.d.ts.map +1 -0
  913. package/dist/dispatcher/flows/default-flow.js +99 -0
  914. package/dist/dispatcher/flows/default-flow.js.map +1 -0
  915. package/dist/dispatcher/flows/settings-flow.d.ts +9 -0
  916. package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -0
  917. package/dist/dispatcher/flows/settings-flow.js +329 -0
  918. package/dist/dispatcher/flows/settings-flow.js.map +1 -0
  919. package/dist/dispatcher/flows/settings-image-analysis-prep.d.ts +28 -0
  920. package/dist/dispatcher/flows/settings-image-analysis-prep.d.ts.map +1 -0
  921. package/dist/dispatcher/flows/settings-image-analysis-prep.js +81 -0
  922. package/dist/dispatcher/flows/settings-image-analysis-prep.js.map +1 -0
  923. package/dist/dispatcher/pre-dispatch.d.ts +23 -0
  924. package/dist/dispatcher/pre-dispatch.d.ts.map +1 -0
  925. package/dist/dispatcher/pre-dispatch.js +156 -0
  926. package/dist/dispatcher/pre-dispatch.js.map +1 -0
  927. package/dist/dispatcher/profile-resolver.d.ts +65 -0
  928. package/dist/dispatcher/profile-resolver.d.ts.map +1 -0
  929. package/dist/dispatcher/profile-resolver.js +303 -0
  930. package/dist/dispatcher/profile-resolver.js.map +1 -0
  931. package/dist/dispatcher/target-executor.d.ts +26 -0
  932. package/dist/dispatcher/target-executor.d.ts.map +1 -0
  933. package/dist/dispatcher/target-executor.js +81 -0
  934. package/dist/dispatcher/target-executor.js.map +1 -0
  935. package/dist/docker/docker-assets.d.ts.map +1 -1
  936. package/dist/docker/docker-assets.js +2 -2
  937. package/dist/docker/docker-assets.js.map +1 -1
  938. package/dist/docker/docker-bootstrap.js +1 -1
  939. package/dist/docker/docker-bootstrap.js.map +1 -1
  940. package/dist/docker/docker-executor.d.ts +1 -0
  941. package/dist/docker/docker-executor.d.ts.map +1 -1
  942. package/dist/docker/supervisord-lifecycle.d.ts +17 -0
  943. package/dist/docker/supervisord-lifecycle.d.ts.map +1 -0
  944. package/dist/docker/supervisord-lifecycle.js +58 -0
  945. package/dist/docker/supervisord-lifecycle.js.map +1 -0
  946. package/dist/errors/error-handler.d.ts.map +1 -1
  947. package/dist/errors/error-handler.js +13 -0
  948. package/dist/errors/error-handler.js.map +1 -1
  949. package/dist/errors/error-types.d.ts +9 -0
  950. package/dist/errors/error-types.d.ts.map +1 -1
  951. package/dist/errors/error-types.js +15 -1
  952. package/dist/errors/error-types.js.map +1 -1
  953. package/dist/errors/index.d.ts +1 -1
  954. package/dist/errors/index.d.ts.map +1 -1
  955. package/dist/errors/index.js +3 -1
  956. package/dist/errors/index.js.map +1 -1
  957. package/dist/glmt/delta-accumulator.d.ts +4 -0
  958. package/dist/glmt/delta-accumulator.d.ts.map +1 -1
  959. package/dist/glmt/delta-accumulator.js +17 -5
  960. package/dist/glmt/delta-accumulator.js.map +1 -1
  961. package/dist/glmt/glmt-proxy.d.ts.map +1 -1
  962. package/dist/glmt/glmt-proxy.js +7 -0
  963. package/dist/glmt/glmt-proxy.js.map +1 -1
  964. package/dist/glmt/glmt-transformer.d.ts +1 -0
  965. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  966. package/dist/glmt/glmt-transformer.js +9 -2
  967. package/dist/glmt/glmt-transformer.js.map +1 -1
  968. package/dist/glmt/pipeline/stream-parser.d.ts +0 -3
  969. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -1
  970. package/dist/glmt/pipeline/stream-parser.js +20 -27
  971. package/dist/glmt/pipeline/stream-parser.js.map +1 -1
  972. package/dist/glmt/pipeline/tool-call-handler.d.ts +0 -7
  973. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -1
  974. package/dist/glmt/pipeline/tool-call-handler.js +15 -24
  975. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -1
  976. package/dist/glmt/sse-parser.d.ts.map +1 -1
  977. package/dist/glmt/sse-parser.js +46 -41
  978. package/dist/glmt/sse-parser.js.map +1 -1
  979. package/dist/management/checks/config-check.d.ts.map +1 -1
  980. package/dist/management/checks/config-check.js +2 -2
  981. package/dist/management/checks/config-check.js.map +1 -1
  982. package/dist/management/checks/env-check.d.ts.map +1 -1
  983. package/dist/management/checks/env-check.js +2 -1
  984. package/dist/management/checks/env-check.js.map +1 -1
  985. package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
  986. package/dist/management/checks/image-analysis-check.js +25 -7
  987. package/dist/management/checks/image-analysis-check.js.map +1 -1
  988. package/dist/management/checks/profile-check.d.ts.map +1 -1
  989. package/dist/management/checks/profile-check.js +6 -7
  990. package/dist/management/checks/profile-check.js.map +1 -1
  991. package/dist/management/checks/symlink-check.d.ts.map +1 -1
  992. package/dist/management/checks/symlink-check.js +4 -5
  993. package/dist/management/checks/symlink-check.js.map +1 -1
  994. package/dist/management/checks/system-check.d.ts.map +1 -1
  995. package/dist/management/checks/system-check.js +3 -3
  996. package/dist/management/checks/system-check.js.map +1 -1
  997. package/dist/management/instance-directory.d.ts +4 -0
  998. package/dist/management/instance-directory.d.ts.map +1 -0
  999. package/dist/management/instance-directory.js +54 -0
  1000. package/dist/management/instance-directory.js.map +1 -0
  1001. package/dist/management/instance-manager.d.ts.map +1 -1
  1002. package/dist/management/instance-manager.js +18 -13
  1003. package/dist/management/instance-manager.js.map +1 -1
  1004. package/dist/management/plugin-path-normalizer.d.ts +7 -0
  1005. package/dist/management/plugin-path-normalizer.d.ts.map +1 -0
  1006. package/dist/management/plugin-path-normalizer.js +82 -0
  1007. package/dist/management/plugin-path-normalizer.js.map +1 -0
  1008. package/dist/management/recovery-manager.d.ts +6 -0
  1009. package/dist/management/recovery-manager.d.ts.map +1 -1
  1010. package/dist/management/recovery-manager.js +77 -7
  1011. package/dist/management/recovery-manager.js.map +1 -1
  1012. package/dist/management/repair/auto-repair.d.ts.map +1 -1
  1013. package/dist/management/repair/auto-repair.js +2 -2
  1014. package/dist/management/repair/auto-repair.js.map +1 -1
  1015. package/dist/management/shared-manager.d.ts +3 -2
  1016. package/dist/management/shared-manager.d.ts.map +1 -1
  1017. package/dist/management/shared-manager.js +41 -84
  1018. package/dist/management/shared-manager.js.map +1 -1
  1019. package/dist/proxy/index.d.ts +9 -0
  1020. package/dist/proxy/index.d.ts.map +1 -0
  1021. package/dist/proxy/index.js +25 -0
  1022. package/dist/proxy/index.js.map +1 -0
  1023. package/dist/proxy/profile-router.d.ts +28 -0
  1024. package/dist/proxy/profile-router.d.ts.map +1 -0
  1025. package/dist/proxy/profile-router.js +43 -0
  1026. package/dist/proxy/profile-router.js.map +1 -0
  1027. package/dist/proxy/proxy-daemon-entry.d.ts +2 -0
  1028. package/dist/proxy/proxy-daemon-entry.d.ts.map +1 -0
  1029. package/dist/proxy/proxy-daemon-entry.js +112 -0
  1030. package/dist/proxy/proxy-daemon-entry.js.map +1 -0
  1031. package/dist/proxy/proxy-daemon-paths.d.ts +12 -0
  1032. package/dist/proxy/proxy-daemon-paths.d.ts.map +1 -0
  1033. package/dist/proxy/proxy-daemon-paths.js +58 -0
  1034. package/dist/proxy/proxy-daemon-paths.js.map +1 -0
  1035. package/dist/proxy/proxy-daemon-state.d.ts +25 -0
  1036. package/dist/proxy/proxy-daemon-state.d.ts.map +1 -0
  1037. package/dist/proxy/proxy-daemon-state.js +199 -0
  1038. package/dist/proxy/proxy-daemon-state.js.map +1 -0
  1039. package/dist/proxy/proxy-daemon.d.ts +27 -0
  1040. package/dist/proxy/proxy-daemon.d.ts.map +1 -0
  1041. package/dist/proxy/proxy-daemon.js +614 -0
  1042. package/dist/proxy/proxy-daemon.js.map +1 -0
  1043. package/dist/proxy/proxy-env.d.ts +3 -0
  1044. package/dist/proxy/proxy-env.d.ts.map +1 -0
  1045. package/dist/proxy/proxy-env.js +26 -0
  1046. package/dist/proxy/proxy-env.js.map +1 -0
  1047. package/dist/proxy/proxy-port-resolver.d.ts +9 -0
  1048. package/dist/proxy/proxy-port-resolver.d.ts.map +1 -0
  1049. package/dist/proxy/proxy-port-resolver.js +62 -0
  1050. package/dist/proxy/proxy-port-resolver.js.map +1 -0
  1051. package/dist/proxy/request-router.d.ts +12 -0
  1052. package/dist/proxy/request-router.d.ts.map +1 -0
  1053. package/dist/proxy/request-router.js +163 -0
  1054. package/dist/proxy/request-router.js.map +1 -0
  1055. package/dist/proxy/routing-config.d.ts +10 -0
  1056. package/dist/proxy/routing-config.d.ts.map +1 -0
  1057. package/dist/proxy/routing-config.js +79 -0
  1058. package/dist/proxy/routing-config.js.map +1 -0
  1059. package/dist/proxy/server/http-helpers.d.ts +8 -0
  1060. package/dist/proxy/server/http-helpers.d.ts.map +1 -0
  1061. package/dist/proxy/server/http-helpers.js +73 -0
  1062. package/dist/proxy/server/http-helpers.js.map +1 -0
  1063. package/dist/proxy/server/messages-route.d.ts +12 -0
  1064. package/dist/proxy/server/messages-route.d.ts.map +1 -0
  1065. package/dist/proxy/server/messages-route.js +244 -0
  1066. package/dist/proxy/server/messages-route.js.map +1 -0
  1067. package/dist/proxy/server/proxy-server.d.ts +12 -0
  1068. package/dist/proxy/server/proxy-server.d.ts.map +1 -0
  1069. package/dist/proxy/server/proxy-server.js +140 -0
  1070. package/dist/proxy/server/proxy-server.js.map +1 -0
  1071. package/dist/proxy/transformers/request-transformer.d.ts +60 -0
  1072. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -0
  1073. package/dist/proxy/transformers/request-transformer.js +452 -0
  1074. package/dist/proxy/transformers/request-transformer.js.map +1 -0
  1075. package/dist/proxy/transformers/sse-stream-transformer.d.ts +11 -0
  1076. package/dist/proxy/transformers/sse-stream-transformer.d.ts.map +1 -0
  1077. package/dist/proxy/transformers/sse-stream-transformer.js +200 -0
  1078. package/dist/proxy/transformers/sse-stream-transformer.js.map +1 -0
  1079. package/dist/proxy/upstream-url.d.ts +3 -0
  1080. package/dist/proxy/upstream-url.d.ts.map +1 -0
  1081. package/dist/proxy/upstream-url.js +43 -0
  1082. package/dist/proxy/upstream-url.js.map +1 -0
  1083. package/dist/services/logging/index.d.ts +12 -0
  1084. package/dist/services/logging/index.d.ts.map +1 -0
  1085. package/dist/services/logging/index.js +37 -0
  1086. package/dist/services/logging/index.js.map +1 -0
  1087. package/dist/services/logging/log-buffer.d.ts +5 -0
  1088. package/dist/services/logging/log-buffer.d.ts.map +1 -0
  1089. package/dist/services/logging/log-buffer.js +20 -0
  1090. package/dist/services/logging/log-buffer.js.map +1 -0
  1091. package/dist/services/logging/log-config.d.ts +4 -0
  1092. package/dist/services/logging/log-config.d.ts.map +1 -0
  1093. package/dist/services/logging/log-config.js +68 -0
  1094. package/dist/services/logging/log-config.js.map +1 -0
  1095. package/dist/services/logging/log-context.d.ts +41 -0
  1096. package/dist/services/logging/log-context.d.ts.map +1 -0
  1097. package/dist/services/logging/log-context.js +51 -0
  1098. package/dist/services/logging/log-context.js.map +1 -0
  1099. package/dist/services/logging/log-paths.d.ts +8 -0
  1100. package/dist/services/logging/log-paths.d.ts.map +1 -0
  1101. package/dist/services/logging/log-paths.js +66 -0
  1102. package/dist/services/logging/log-paths.js.map +1 -0
  1103. package/dist/services/logging/log-reader.d.ts +5 -0
  1104. package/dist/services/logging/log-reader.d.ts.map +1 -0
  1105. package/dist/services/logging/log-reader.js +124 -0
  1106. package/dist/services/logging/log-reader.js.map +1 -0
  1107. package/dist/services/logging/log-redaction.d.ts +10 -0
  1108. package/dist/services/logging/log-redaction.d.ts.map +1 -0
  1109. package/dist/services/logging/log-redaction.js +90 -0
  1110. package/dist/services/logging/log-redaction.js.map +1 -0
  1111. package/dist/services/logging/log-storage.d.ts +4 -0
  1112. package/dist/services/logging/log-storage.d.ts.map +1 -0
  1113. package/dist/services/logging/log-storage.js +109 -0
  1114. package/dist/services/logging/log-storage.js.map +1 -0
  1115. package/dist/services/logging/log-types.d.ts +60 -0
  1116. package/dist/services/logging/log-types.d.ts.map +1 -0
  1117. package/dist/services/logging/log-types.js +33 -0
  1118. package/dist/services/logging/log-types.js.map +1 -0
  1119. package/dist/services/logging/logger.d.ts +26 -0
  1120. package/dist/services/logging/logger.d.ts.map +1 -0
  1121. package/dist/services/logging/logger.js +65 -0
  1122. package/dist/services/logging/logger.js.map +1 -0
  1123. package/dist/shared/agy-gemini-pro-compatibility.d.ts +15 -0
  1124. package/dist/shared/agy-gemini-pro-compatibility.d.ts.map +1 -0
  1125. package/dist/shared/agy-gemini-pro-compatibility.js +18 -0
  1126. package/dist/shared/agy-gemini-pro-compatibility.js.map +1 -0
  1127. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  1128. package/dist/shared/claude-extension-setup.js +7 -3
  1129. package/dist/shared/claude-extension-setup.js.map +1 -1
  1130. package/dist/shared/cliproxy-model-routing.d.ts +45 -0
  1131. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -0
  1132. package/dist/shared/cliproxy-model-routing.js +144 -0
  1133. package/dist/shared/cliproxy-model-routing.js.map +1 -0
  1134. package/dist/shared/provider-preset-catalog.d.ts +4 -2
  1135. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  1136. package/dist/shared/provider-preset-catalog.js +17 -1
  1137. package/dist/shared/provider-preset-catalog.js.map +1 -1
  1138. package/dist/shared/toml-object.d.ts.map +1 -1
  1139. package/dist/shared/toml-object.js +6 -2
  1140. package/dist/shared/toml-object.js.map +1 -1
  1141. package/dist/targets/claude-adapter.d.ts +6 -1
  1142. package/dist/targets/claude-adapter.d.ts.map +1 -1
  1143. package/dist/targets/claude-adapter.js +20 -5
  1144. package/dist/targets/claude-adapter.js.map +1 -1
  1145. package/dist/targets/codex-adapter.d.ts +2 -0
  1146. package/dist/targets/codex-adapter.d.ts.map +1 -1
  1147. package/dist/targets/codex-adapter.js +43 -11
  1148. package/dist/targets/codex-adapter.js.map +1 -1
  1149. package/dist/targets/codex-cliproxy-provider-config.d.ts +16 -0
  1150. package/dist/targets/codex-cliproxy-provider-config.d.ts.map +1 -0
  1151. package/dist/targets/codex-cliproxy-provider-config.js +156 -0
  1152. package/dist/targets/codex-cliproxy-provider-config.js.map +1 -0
  1153. package/dist/targets/codex-detector.d.ts.map +1 -1
  1154. package/dist/targets/codex-detector.js +20 -9
  1155. package/dist/targets/codex-detector.js.map +1 -1
  1156. package/dist/targets/droid-adapter.d.ts +3 -2
  1157. package/dist/targets/droid-adapter.d.ts.map +1 -1
  1158. package/dist/targets/droid-adapter.js +15 -10
  1159. package/dist/targets/droid-adapter.js.map +1 -1
  1160. package/dist/targets/droid-config-manager.d.ts.map +1 -1
  1161. package/dist/targets/droid-config-manager.js +40 -0
  1162. package/dist/targets/droid-config-manager.js.map +1 -1
  1163. package/dist/targets/droid-provider.d.ts.map +1 -1
  1164. package/dist/targets/droid-provider.js +10 -5
  1165. package/dist/targets/droid-provider.js.map +1 -1
  1166. package/dist/targets/target-adapter.d.ts +5 -0
  1167. package/dist/targets/target-adapter.d.ts.map +1 -1
  1168. package/dist/targets/target-metadata.js +1 -1
  1169. package/dist/targets/target-metadata.js.map +1 -1
  1170. package/dist/targets/target-resolver.d.ts.map +1 -1
  1171. package/dist/targets/target-resolver.js +15 -0
  1172. package/dist/targets/target-resolver.js.map +1 -1
  1173. package/dist/targets/target-runtime-compatibility.js +1 -1
  1174. package/dist/targets/target-runtime-compatibility.js.map +1 -1
  1175. package/dist/types/cli.d.ts +1 -0
  1176. package/dist/types/cli.d.ts.map +1 -1
  1177. package/dist/types/config.d.ts +15 -0
  1178. package/dist/types/config.d.ts.map +1 -1
  1179. package/dist/types/config.js.map +1 -1
  1180. package/dist/types/index.d.ts +1 -1
  1181. package/dist/types/index.d.ts.map +1 -1
  1182. package/dist/types/index.js.map +1 -1
  1183. package/dist/ui/assets/accounts-biinrjBy.js +1 -0
  1184. package/dist/ui/assets/alert-dialog-B9kuXS_B.js +1 -0
  1185. package/dist/ui/assets/api-BYTesAyV.js +4 -0
  1186. package/dist/ui/assets/auth-section-BH7Y0zzE.js +1 -0
  1187. package/dist/ui/assets/backups-section-JTiku4fB.js +1 -0
  1188. package/dist/ui/assets/channels-BweRUtu-.js +1 -0
  1189. package/dist/ui/assets/charts-eIPy2oG6.js +64 -0
  1190. package/dist/ui/assets/checkbox-CsTXDim7.js +1 -0
  1191. package/dist/ui/assets/claude-extension-BE4B2NkS.js +1 -0
  1192. package/dist/ui/assets/cliproxy-Fl6HWxZ0.js +4 -0
  1193. package/dist/ui/assets/cliproxy-ai-providers-NMOopK4K.js +15 -0
  1194. package/dist/ui/assets/cliproxy-control-panel-BgiBcyzb.js +1 -0
  1195. package/dist/ui/assets/code-highlight-ClSMkeL5.js +1 -0
  1196. package/dist/ui/assets/codex-BsxF_eKF.js +30 -0
  1197. package/dist/ui/assets/confirm-dialog-iyu6jSnb.js +1 -0
  1198. package/dist/ui/assets/copilot-BSCdzbOk.js +3 -0
  1199. package/dist/ui/assets/cursor-CjGT-EsR.js +1 -0
  1200. package/dist/ui/assets/droid-MR-k0fbU.js +2 -0
  1201. package/dist/ui/assets/form-utils-CuHzLhJZ.js +20 -0
  1202. package/dist/ui/assets/globalenv-section-BGPR-lJN.js +1 -0
  1203. package/dist/ui/assets/health-C7wQUXVn.js +1 -0
  1204. package/dist/ui/assets/icons-bxdfpJdB.js +1 -0
  1205. package/dist/ui/assets/index-7dfuc3Cf.js +56 -0
  1206. package/dist/ui/assets/index-7rknm4m0.js +1 -0
  1207. package/dist/ui/assets/index-BeLNgVQ9.js +1 -0
  1208. package/dist/ui/assets/index-BvMWFZiH.js +1 -0
  1209. package/dist/ui/assets/index-DrEPnpI3.css +1 -0
  1210. package/dist/ui/assets/index-MAUysHQF.js +1 -0
  1211. package/dist/ui/assets/index-nzImYtUK.js +1 -0
  1212. package/dist/ui/assets/index-w9DZ42zc.js +1 -0
  1213. package/dist/ui/assets/logs-Qr4G0AdK.js +1 -0
  1214. package/dist/ui/assets/masked-input-Bl5OoUEZ.js +1 -0
  1215. package/dist/ui/assets/notifications-B4_o8bcr.js +1 -0
  1216. package/dist/ui/assets/providers/codebuddy.png +0 -0
  1217. package/dist/ui/assets/providers/cursor.svg +5 -0
  1218. package/dist/ui/assets/providers/gitlab.svg +22 -0
  1219. package/dist/ui/assets/providers/kilo.png +0 -0
  1220. package/dist/ui/assets/proxy-Br5aAkn0.js +9 -0
  1221. package/dist/ui/assets/proxy-status-widget-703_vH2t.js +1 -0
  1222. package/dist/ui/assets/radix-ui-DvRtHWGI.js +51 -0
  1223. package/dist/ui/assets/raw-json-settings-editor-panel-DWTJY3og.js +1 -0
  1224. package/dist/ui/assets/react-vendor-Bjx91N7w.js +3 -0
  1225. package/dist/ui/assets/searchable-select-C8BA2Q6i.js +1 -0
  1226. package/dist/ui/assets/separator-avUMnKG4.js +1 -0
  1227. package/dist/ui/assets/shared-DsOKYLqq.js +8 -0
  1228. package/dist/ui/assets/table-C6r_OOul.js +1 -0
  1229. package/dist/ui/assets/tanstack-Dg84L5cM.js +4 -0
  1230. package/dist/ui/assets/updates-K6jy3VXq.js +1 -0
  1231. package/dist/ui/assets/use-accounts-ZouK2A2J.js +1 -0
  1232. package/dist/ui/index.html +9 -9
  1233. package/dist/utils/browser/browser-policy.d.ts +22 -0
  1234. package/dist/utils/browser/browser-policy.d.ts.map +1 -0
  1235. package/dist/utils/browser/browser-policy.js +65 -0
  1236. package/dist/utils/browser/browser-policy.js.map +1 -0
  1237. package/dist/utils/browser/browser-settings.d.ts +52 -0
  1238. package/dist/utils/browser/browser-settings.d.ts.map +1 -0
  1239. package/dist/utils/browser/browser-settings.js +257 -0
  1240. package/dist/utils/browser/browser-settings.js.map +1 -0
  1241. package/dist/utils/browser/browser-setup.d.ts +21 -0
  1242. package/dist/utils/browser/browser-setup.d.ts.map +1 -0
  1243. package/dist/utils/browser/browser-setup.js +68 -0
  1244. package/dist/utils/browser/browser-setup.js.map +1 -0
  1245. package/dist/utils/browser/browser-status.d.ts +42 -0
  1246. package/dist/utils/browser/browser-status.d.ts.map +1 -0
  1247. package/dist/utils/browser/browser-status.js +251 -0
  1248. package/dist/utils/browser/browser-status.js.map +1 -0
  1249. package/dist/utils/browser/chrome-reuse.d.ts +18 -0
  1250. package/dist/utils/browser/chrome-reuse.d.ts.map +1 -0
  1251. package/dist/utils/browser/chrome-reuse.js +194 -0
  1252. package/dist/utils/browser/chrome-reuse.js.map +1 -0
  1253. package/dist/utils/browser/claude-tool-args.d.ts +2 -0
  1254. package/dist/utils/browser/claude-tool-args.d.ts.map +1 -0
  1255. package/dist/utils/browser/claude-tool-args.js +22 -0
  1256. package/dist/utils/browser/claude-tool-args.js.map +1 -0
  1257. package/dist/utils/browser/index.d.ts +16 -0
  1258. package/dist/utils/browser/index.d.ts.map +1 -0
  1259. package/dist/utils/browser/index.js +45 -0
  1260. package/dist/utils/browser/index.js.map +1 -0
  1261. package/dist/utils/browser/mcp-installer.d.ts +14 -0
  1262. package/dist/utils/browser/mcp-installer.d.ts.map +1 -0
  1263. package/dist/utils/browser/mcp-installer.js +356 -0
  1264. package/dist/utils/browser/mcp-installer.js.map +1 -0
  1265. package/dist/utils/browser/platform.d.ts +4 -0
  1266. package/dist/utils/browser/platform.d.ts.map +1 -0
  1267. package/dist/utils/browser/platform.js +12 -0
  1268. package/dist/utils/browser/platform.js.map +1 -0
  1269. package/dist/utils/browser-codex-overrides.d.ts +3 -0
  1270. package/dist/utils/browser-codex-overrides.d.ts.map +1 -0
  1271. package/dist/utils/browser-codex-overrides.js +29 -0
  1272. package/dist/utils/browser-codex-overrides.js.map +1 -0
  1273. package/dist/utils/claude-detector.d.ts +1 -0
  1274. package/dist/utils/claude-detector.d.ts.map +1 -1
  1275. package/dist/utils/claude-detector.js +2 -1
  1276. package/dist/utils/claude-detector.js.map +1 -1
  1277. package/dist/utils/claude-spawner.d.ts +1 -0
  1278. package/dist/utils/claude-spawner.d.ts.map +1 -1
  1279. package/dist/utils/claude-spawner.js +1 -1
  1280. package/dist/utils/claude-spawner.js.map +1 -1
  1281. package/dist/utils/claude-subcommand-detector.d.ts +45 -0
  1282. package/dist/utils/claude-subcommand-detector.d.ts.map +1 -0
  1283. package/dist/utils/claude-subcommand-detector.js +179 -0
  1284. package/dist/utils/claude-subcommand-detector.js.map +1 -0
  1285. package/dist/utils/claude-tool-args.d.ts +7 -0
  1286. package/dist/utils/claude-tool-args.d.ts.map +1 -0
  1287. package/dist/utils/claude-tool-args.js +43 -0
  1288. package/dist/utils/claude-tool-args.js.map +1 -0
  1289. package/dist/utils/config-manager.d.ts +5 -0
  1290. package/dist/utils/config-manager.d.ts.map +1 -1
  1291. package/dist/utils/config-manager.js +16 -3
  1292. package/dist/utils/config-manager.js.map +1 -1
  1293. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +1 -1
  1294. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -1
  1295. package/dist/utils/hooks/get-image-analysis-hook-env.js +11 -7
  1296. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -1
  1297. package/dist/utils/hooks/image-analysis-backend-resolver.js +2 -2
  1298. package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
  1299. package/dist/utils/hooks/image-analysis-runtime-status.d.ts +4 -4
  1300. package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
  1301. package/dist/utils/hooks/image-analysis-runtime-status.js +15 -11
  1302. package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
  1303. package/dist/utils/hooks/image-analyzer-hook-configuration.d.ts.map +1 -1
  1304. package/dist/utils/hooks/image-analyzer-hook-configuration.js +2 -2
  1305. package/dist/utils/hooks/image-analyzer-hook-configuration.js.map +1 -1
  1306. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +1 -1
  1307. package/dist/utils/hooks/image-analyzer-hook-installer.js +2 -2
  1308. package/dist/utils/hooks/image-analyzer-hook-installer.js.map +1 -1
  1309. package/dist/utils/hooks/image-analyzer-hook-utils.d.ts +21 -0
  1310. package/dist/utils/hooks/image-analyzer-hook-utils.d.ts.map +1 -0
  1311. package/dist/utils/hooks/image-analyzer-hook-utils.js +81 -0
  1312. package/dist/utils/hooks/image-analyzer-hook-utils.js.map +1 -0
  1313. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts +1 -0
  1314. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
  1315. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +35 -14
  1316. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
  1317. package/dist/utils/hooks/index.d.ts +1 -0
  1318. package/dist/utils/hooks/index.d.ts.map +1 -1
  1319. package/dist/utils/hooks/index.js +3 -1
  1320. package/dist/utils/hooks/index.js.map +1 -1
  1321. package/dist/utils/image-analysis/claude-tool-args.d.ts +3 -0
  1322. package/dist/utils/image-analysis/claude-tool-args.d.ts.map +1 -1
  1323. package/dist/utils/image-analysis/claude-tool-args.js +25 -47
  1324. package/dist/utils/image-analysis/claude-tool-args.js.map +1 -1
  1325. package/dist/utils/image-analysis/index.d.ts +1 -0
  1326. package/dist/utils/image-analysis/index.d.ts.map +1 -1
  1327. package/dist/utils/image-analysis/index.js +6 -1
  1328. package/dist/utils/image-analysis/index.js.map +1 -1
  1329. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  1330. package/dist/utils/image-analysis/mcp-installer.js +5 -5
  1331. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  1332. package/dist/utils/image-analysis/repair.d.ts +12 -0
  1333. package/dist/utils/image-analysis/repair.d.ts.map +1 -0
  1334. package/dist/utils/image-analysis/repair.js +105 -0
  1335. package/dist/utils/image-analysis/repair.js.map +1 -0
  1336. package/dist/utils/openai-compat-launch-settings.d.ts +7 -0
  1337. package/dist/utils/openai-compat-launch-settings.d.ts.map +1 -0
  1338. package/dist/utils/openai-compat-launch-settings.js +61 -0
  1339. package/dist/utils/openai-compat-launch-settings.js.map +1 -0
  1340. package/dist/utils/package-manager-detector.d.ts +31 -4
  1341. package/dist/utils/package-manager-detector.d.ts.map +1 -1
  1342. package/dist/utils/package-manager-detector.js +249 -60
  1343. package/dist/utils/package-manager-detector.js.map +1 -1
  1344. package/dist/utils/prompt-injection-strategy.d.ts +54 -0
  1345. package/dist/utils/prompt-injection-strategy.d.ts.map +1 -0
  1346. package/dist/utils/prompt-injection-strategy.js +128 -0
  1347. package/dist/utils/prompt-injection-strategy.js.map +1 -0
  1348. package/dist/utils/retry-strategy.d.ts +37 -0
  1349. package/dist/utils/retry-strategy.d.ts.map +1 -0
  1350. package/dist/utils/retry-strategy.js +99 -0
  1351. package/dist/utils/retry-strategy.js.map +1 -0
  1352. package/dist/utils/shell-executor.d.ts +32 -1
  1353. package/dist/utils/shell-executor.d.ts.map +1 -1
  1354. package/dist/utils/shell-executor.js +193 -30
  1355. package/dist/utils/shell-executor.js.map +1 -1
  1356. package/dist/utils/update-checker.d.ts +1 -1
  1357. package/dist/utils/update-checker.d.ts.map +1 -1
  1358. package/dist/utils/websearch/claude-tool-args.d.ts +7 -0
  1359. package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -1
  1360. package/dist/utils/websearch/claude-tool-args.js +32 -50
  1361. package/dist/utils/websearch/claude-tool-args.js.map +1 -1
  1362. package/dist/utils/websearch/hook-config.d.ts.map +1 -1
  1363. package/dist/utils/websearch/hook-config.js +3 -3
  1364. package/dist/utils/websearch/hook-config.js.map +1 -1
  1365. package/dist/utils/websearch/hook-env.d.ts.map +1 -1
  1366. package/dist/utils/websearch/hook-env.js +21 -3
  1367. package/dist/utils/websearch/hook-env.js.map +1 -1
  1368. package/dist/utils/websearch/hook-installer.d.ts.map +1 -1
  1369. package/dist/utils/websearch/hook-installer.js +2 -2
  1370. package/dist/utils/websearch/hook-installer.js.map +1 -1
  1371. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  1372. package/dist/utils/websearch/mcp-installer.js +5 -5
  1373. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  1374. package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
  1375. package/dist/utils/websearch/profile-hook-injector.js +3 -3
  1376. package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
  1377. package/dist/utils/websearch/provider-secrets.js +2 -2
  1378. package/dist/utils/websearch/provider-secrets.js.map +1 -1
  1379. package/dist/utils/websearch/status.d.ts +1 -1
  1380. package/dist/utils/websearch/status.d.ts.map +1 -1
  1381. package/dist/utils/websearch/status.js +37 -16
  1382. package/dist/utils/websearch/status.js.map +1 -1
  1383. package/dist/utils/websearch/trace.d.ts +1 -0
  1384. package/dist/utils/websearch/trace.d.ts.map +1 -1
  1385. package/dist/utils/websearch/trace.js +27 -5
  1386. package/dist/utils/websearch/trace.js.map +1 -1
  1387. package/dist/utils/websearch/types.d.ts +12 -2
  1388. package/dist/utils/websearch/types.d.ts.map +1 -1
  1389. package/dist/utils/websearch/types.js +38 -0
  1390. package/dist/utils/websearch/types.js.map +1 -1
  1391. package/dist/web-server/file-watcher.js +2 -2
  1392. package/dist/web-server/file-watcher.js.map +1 -1
  1393. package/dist/web-server/health/cliproxy-checks.js +2 -2
  1394. package/dist/web-server/health/cliproxy-checks.js.map +1 -1
  1395. package/dist/web-server/health/config-checks.d.ts.map +1 -1
  1396. package/dist/web-server/health/config-checks.js +3 -3
  1397. package/dist/web-server/health/config-checks.js.map +1 -1
  1398. package/dist/web-server/health/profile-checks.d.ts.map +1 -1
  1399. package/dist/web-server/health/profile-checks.js +5 -6
  1400. package/dist/web-server/health/profile-checks.js.map +1 -1
  1401. package/dist/web-server/health/symlink-checks.d.ts.map +1 -1
  1402. package/dist/web-server/health/symlink-checks.js +2 -3
  1403. package/dist/web-server/health/symlink-checks.js.map +1 -1
  1404. package/dist/web-server/health/websearch-checks.js +1 -1
  1405. package/dist/web-server/health/websearch-checks.js.map +1 -1
  1406. package/dist/web-server/health-service.d.ts.map +1 -1
  1407. package/dist/web-server/health-service.js +7 -6
  1408. package/dist/web-server/health-service.js.map +1 -1
  1409. package/dist/web-server/index.d.ts.map +1 -1
  1410. package/dist/web-server/index.js +102 -18
  1411. package/dist/web-server/index.js.map +1 -1
  1412. package/dist/web-server/jsonl-parser.d.ts.map +1 -1
  1413. package/dist/web-server/jsonl-parser.js +22 -4
  1414. package/dist/web-server/jsonl-parser.js.map +1 -1
  1415. package/dist/web-server/middleware/auth-middleware.d.ts +7 -3
  1416. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  1417. package/dist/web-server/middleware/auth-middleware.js +103 -8
  1418. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  1419. package/dist/web-server/middleware/request-logging-middleware.d.ts +3 -0
  1420. package/dist/web-server/middleware/request-logging-middleware.d.ts.map +1 -0
  1421. package/dist/web-server/middleware/request-logging-middleware.js +30 -0
  1422. package/dist/web-server/middleware/request-logging-middleware.js.map +1 -0
  1423. package/dist/web-server/model-pricing.d.ts +8 -6
  1424. package/dist/web-server/model-pricing.d.ts.map +1 -1
  1425. package/dist/web-server/model-pricing.js +184 -54
  1426. package/dist/web-server/model-pricing.js.map +1 -1
  1427. package/dist/web-server/models-dev/pricing-resolver.d.ts +18 -0
  1428. package/dist/web-server/models-dev/pricing-resolver.d.ts.map +1 -0
  1429. package/dist/web-server/models-dev/pricing-resolver.js +160 -0
  1430. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -0
  1431. package/dist/web-server/models-dev/registry-cache.d.ts +19 -0
  1432. package/dist/web-server/models-dev/registry-cache.d.ts.map +1 -0
  1433. package/dist/web-server/models-dev/registry-cache.js +165 -0
  1434. package/dist/web-server/models-dev/registry-cache.js.map +1 -0
  1435. package/dist/web-server/models-dev/types.d.ts +39 -0
  1436. package/dist/web-server/models-dev/types.d.ts.map +1 -0
  1437. package/dist/web-server/models-dev/types.js +3 -0
  1438. package/dist/web-server/models-dev/types.js.map +1 -0
  1439. package/dist/web-server/overview-routes.d.ts.map +1 -1
  1440. package/dist/web-server/overview-routes.js +3 -3
  1441. package/dist/web-server/overview-routes.js.map +1 -1
  1442. package/dist/web-server/routes/account-route-helpers.d.ts +3 -0
  1443. package/dist/web-server/routes/account-route-helpers.d.ts.map +1 -1
  1444. package/dist/web-server/routes/account-route-helpers.js.map +1 -1
  1445. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  1446. package/dist/web-server/routes/account-routes.js +105 -12
  1447. package/dist/web-server/routes/account-routes.js.map +1 -1
  1448. package/dist/web-server/routes/auth-routes.d.ts +10 -0
  1449. package/dist/web-server/routes/auth-routes.d.ts.map +1 -1
  1450. package/dist/web-server/routes/auth-routes.js +37 -10
  1451. package/dist/web-server/routes/auth-routes.js.map +1 -1
  1452. package/dist/web-server/routes/browser-routes.d.ts +3 -0
  1453. package/dist/web-server/routes/browser-routes.d.ts.map +1 -0
  1454. package/dist/web-server/routes/browser-routes.js +182 -0
  1455. package/dist/web-server/routes/browser-routes.js.map +1 -0
  1456. package/dist/web-server/routes/catalog-routes.d.ts.map +1 -1
  1457. package/dist/web-server/routes/catalog-routes.js +9 -8
  1458. package/dist/web-server/routes/catalog-routes.js.map +1 -1
  1459. package/dist/web-server/routes/channels-routes.d.ts.map +1 -1
  1460. package/dist/web-server/routes/channels-routes.js +4 -4
  1461. package/dist/web-server/routes/channels-routes.js.map +1 -1
  1462. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
  1463. package/dist/web-server/routes/claude-extension-routes.js +5 -0
  1464. package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
  1465. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +8 -0
  1466. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  1467. package/dist/web-server/routes/cliproxy-auth-routes.js +281 -89
  1468. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  1469. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  1470. package/dist/web-server/routes/cliproxy-local-proxy.js +27 -17
  1471. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  1472. package/dist/web-server/routes/cliproxy-routing-routes.d.ts +3 -0
  1473. package/dist/web-server/routes/cliproxy-routing-routes.d.ts.map +1 -0
  1474. package/dist/web-server/routes/cliproxy-routing-routes.js +69 -0
  1475. package/dist/web-server/routes/cliproxy-routing-routes.js.map +1 -0
  1476. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +35 -0
  1477. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  1478. package/dist/web-server/routes/cliproxy-stats-routes.js +86 -42
  1479. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  1480. package/dist/web-server/routes/cliproxy-sync-routes.d.ts.map +1 -1
  1481. package/dist/web-server/routes/cliproxy-sync-routes.js +2 -2
  1482. package/dist/web-server/routes/cliproxy-sync-routes.js.map +1 -1
  1483. package/dist/web-server/routes/codex-routes.d.ts.map +1 -1
  1484. package/dist/web-server/routes/codex-routes.js +7 -0
  1485. package/dist/web-server/routes/codex-routes.js.map +1 -1
  1486. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  1487. package/dist/web-server/routes/config-routes.js +9 -6
  1488. package/dist/web-server/routes/config-routes.js.map +1 -1
  1489. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -1
  1490. package/dist/web-server/routes/copilot-routes.js +3 -3
  1491. package/dist/web-server/routes/copilot-routes.js.map +1 -1
  1492. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -1
  1493. package/dist/web-server/routes/copilot-settings-routes.js +6 -7
  1494. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -1
  1495. package/dist/web-server/routes/cursor-routes.d.ts +2 -0
  1496. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  1497. package/dist/web-server/routes/cursor-routes.js +48 -6
  1498. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  1499. package/dist/web-server/routes/cursor-settings-routes.d.ts.map +1 -1
  1500. package/dist/web-server/routes/cursor-settings-routes.js +8 -9
  1501. package/dist/web-server/routes/cursor-settings-routes.js.map +1 -1
  1502. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  1503. package/dist/web-server/routes/image-analysis-routes.js +7 -17
  1504. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  1505. package/dist/web-server/routes/index.d.ts.map +1 -1
  1506. package/dist/web-server/routes/index.js +25 -0
  1507. package/dist/web-server/routes/index.js.map +1 -1
  1508. package/dist/web-server/routes/logs-routes.d.ts +3 -0
  1509. package/dist/web-server/routes/logs-routes.d.ts.map +1 -0
  1510. package/dist/web-server/routes/logs-routes.js +75 -0
  1511. package/dist/web-server/routes/logs-routes.js.map +1 -0
  1512. package/dist/web-server/routes/misc-routes.d.ts.map +1 -1
  1513. package/dist/web-server/routes/misc-routes.js +10 -11
  1514. package/dist/web-server/routes/misc-routes.js.map +1 -1
  1515. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  1516. package/dist/web-server/routes/profile-routes.js +21 -3
  1517. package/dist/web-server/routes/profile-routes.js.map +1 -1
  1518. package/dist/web-server/routes/provider-routes.js +1 -1
  1519. package/dist/web-server/routes/provider-routes.js.map +1 -1
  1520. package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
  1521. package/dist/web-server/routes/proxy-routes.js +42 -12
  1522. package/dist/web-server/routes/proxy-routes.js.map +1 -1
  1523. package/dist/web-server/routes/route-helpers.d.ts +1 -0
  1524. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  1525. package/dist/web-server/routes/route-helpers.js +19 -7
  1526. package/dist/web-server/routes/route-helpers.js.map +1 -1
  1527. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  1528. package/dist/web-server/routes/settings-routes.js +110 -23
  1529. package/dist/web-server/routes/settings-routes.js.map +1 -1
  1530. package/dist/web-server/routes/variant-routes.js +1 -1
  1531. package/dist/web-server/routes/variant-routes.js.map +1 -1
  1532. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -1
  1533. package/dist/web-server/routes/websearch-routes.js +41 -4
  1534. package/dist/web-server/routes/websearch-routes.js.map +1 -1
  1535. package/dist/web-server/services/claude-extension-binding-service.js +2 -2
  1536. package/dist/web-server/services/claude-extension-binding-service.js.map +1 -1
  1537. package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts.map +1 -1
  1538. package/dist/web-server/services/cliproxy-dashboard-install-service.js +22 -6
  1539. package/dist/web-server/services/cliproxy-dashboard-install-service.js.map +1 -1
  1540. package/dist/web-server/services/codex-dashboard-service.d.ts +1 -0
  1541. package/dist/web-server/services/codex-dashboard-service.d.ts.map +1 -1
  1542. package/dist/web-server/services/compatible-cli-docs-registry.d.ts.map +1 -1
  1543. package/dist/web-server/services/compatible-cli-docs-registry.js +1 -0
  1544. package/dist/web-server/services/compatible-cli-docs-registry.js.map +1 -1
  1545. package/dist/web-server/services/droid-dashboard-service.d.ts +1 -0
  1546. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -1
  1547. package/dist/web-server/services/logs-dashboard-service.d.ts +7 -0
  1548. package/dist/web-server/services/logs-dashboard-service.d.ts.map +1 -0
  1549. package/dist/web-server/services/logs-dashboard-service.js +33 -0
  1550. package/dist/web-server/services/logs-dashboard-service.js.map +1 -0
  1551. package/dist/web-server/shared-routes-collections.d.ts +13 -0
  1552. package/dist/web-server/shared-routes-collections.d.ts.map +1 -0
  1553. package/dist/web-server/shared-routes-collections.js +170 -0
  1554. package/dist/web-server/shared-routes-collections.js.map +1 -0
  1555. package/dist/web-server/shared-routes-content.d.ts +16 -0
  1556. package/dist/web-server/shared-routes-content.d.ts.map +1 -0
  1557. package/dist/web-server/shared-routes-content.js +152 -0
  1558. package/dist/web-server/shared-routes-content.js.map +1 -0
  1559. package/dist/web-server/shared-routes-markdown-walker.d.ts +12 -0
  1560. package/dist/web-server/shared-routes-markdown-walker.d.ts.map +1 -0
  1561. package/dist/web-server/shared-routes-markdown-walker.js +97 -0
  1562. package/dist/web-server/shared-routes-markdown-walker.js.map +1 -0
  1563. package/dist/web-server/shared-routes-markdown.d.ts +18 -0
  1564. package/dist/web-server/shared-routes-markdown.d.ts.map +1 -0
  1565. package/dist/web-server/shared-routes-markdown.js +167 -0
  1566. package/dist/web-server/shared-routes-markdown.js.map +1 -0
  1567. package/dist/web-server/shared-routes-path-guards.d.ts +16 -0
  1568. package/dist/web-server/shared-routes-path-guards.d.ts.map +1 -0
  1569. package/dist/web-server/shared-routes-path-guards.js +93 -0
  1570. package/dist/web-server/shared-routes-path-guards.js.map +1 -0
  1571. package/dist/web-server/shared-routes-plugin-registry-content.d.ts +12 -0
  1572. package/dist/web-server/shared-routes-plugin-registry-content.d.ts.map +1 -0
  1573. package/dist/web-server/shared-routes-plugin-registry-content.js +93 -0
  1574. package/dist/web-server/shared-routes-plugin-registry-content.js.map +1 -0
  1575. package/dist/web-server/shared-routes-plugins.d.ts +21 -0
  1576. package/dist/web-server/shared-routes-plugins.d.ts.map +1 -0
  1577. package/dist/web-server/shared-routes-plugins.js +197 -0
  1578. package/dist/web-server/shared-routes-plugins.js.map +1 -0
  1579. package/dist/web-server/shared-routes-symlink-status.d.ts +27 -0
  1580. package/dist/web-server/shared-routes-symlink-status.d.ts.map +1 -0
  1581. package/dist/web-server/shared-routes-symlink-status.js +135 -0
  1582. package/dist/web-server/shared-routes-symlink-status.js.map +1 -0
  1583. package/dist/web-server/shared-routes-types.d.ts +23 -0
  1584. package/dist/web-server/shared-routes-types.d.ts.map +1 -0
  1585. package/dist/web-server/shared-routes-types.js +15 -0
  1586. package/dist/web-server/shared-routes-types.js.map +1 -0
  1587. package/dist/web-server/shared-routes.d.ts +2 -1
  1588. package/dist/web-server/shared-routes.d.ts.map +1 -1
  1589. package/dist/web-server/shared-routes.js +50 -456
  1590. package/dist/web-server/shared-routes.js.map +1 -1
  1591. package/dist/web-server/usage/aggregator.d.ts +14 -7
  1592. package/dist/web-server/usage/aggregator.d.ts.map +1 -1
  1593. package/dist/web-server/usage/aggregator.js +164 -55
  1594. package/dist/web-server/usage/aggregator.js.map +1 -1
  1595. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +1 -16
  1596. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  1597. package/dist/web-server/usage/cliproxy-usage-syncer.js +186 -61
  1598. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  1599. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +22 -7
  1600. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  1601. package/dist/web-server/usage/cliproxy-usage-transformer.js +278 -28
  1602. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  1603. package/dist/web-server/usage/codex-native-usage-collector.d.ts +13 -0
  1604. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -0
  1605. package/dist/web-server/usage/codex-native-usage-collector.js +291 -0
  1606. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -0
  1607. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  1608. package/dist/web-server/usage/data-aggregator.js +45 -46
  1609. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  1610. package/dist/web-server/usage/disk-cache.js +2 -2
  1611. package/dist/web-server/usage/disk-cache.js.map +1 -1
  1612. package/dist/web-server/usage/droid-native-usage-collector.d.ts +14 -0
  1613. package/dist/web-server/usage/droid-native-usage-collector.d.ts.map +1 -0
  1614. package/dist/web-server/usage/droid-native-usage-collector.js +201 -0
  1615. package/dist/web-server/usage/droid-native-usage-collector.js.map +1 -0
  1616. package/dist/web-server/usage/handlers.d.ts +11 -8
  1617. package/dist/web-server/usage/handlers.d.ts.map +1 -1
  1618. package/dist/web-server/usage/handlers.js +197 -74
  1619. package/dist/web-server/usage/handlers.js.map +1 -1
  1620. package/dist/web-server/usage/model-identity.d.ts +16 -0
  1621. package/dist/web-server/usage/model-identity.d.ts.map +1 -0
  1622. package/dist/web-server/usage/model-identity.js +70 -0
  1623. package/dist/web-server/usage/model-identity.js.map +1 -0
  1624. package/dist/web-server/usage/profile-filter.d.ts +13 -0
  1625. package/dist/web-server/usage/profile-filter.d.ts.map +1 -0
  1626. package/dist/web-server/usage/profile-filter.js +35 -0
  1627. package/dist/web-server/usage/profile-filter.js.map +1 -0
  1628. package/dist/web-server/usage/routes.d.ts.map +1 -1
  1629. package/dist/web-server/usage/routes.js +19 -6
  1630. package/dist/web-server/usage/routes.js.map +1 -1
  1631. package/dist/web-server/usage/sqlite-cli.d.ts +27 -0
  1632. package/dist/web-server/usage/sqlite-cli.d.ts.map +1 -0
  1633. package/dist/web-server/usage/sqlite-cli.js +186 -0
  1634. package/dist/web-server/usage/sqlite-cli.js.map +1 -0
  1635. package/dist/web-server/usage/types.d.ts +14 -0
  1636. package/dist/web-server/usage/types.d.ts.map +1 -1
  1637. package/dist/web-server/websocket.d.ts.map +1 -1
  1638. package/dist/web-server/websocket.js +25 -16
  1639. package/dist/web-server/websocket.js.map +1 -1
  1640. package/lib/hooks/image-analyzer-transformer.cjs +54 -3
  1641. package/lib/hooks/websearch-transformer.cjs +136 -0
  1642. package/lib/mcp/ccs-browser-server.cjs +6769 -0
  1643. package/lib/mcp/ccs-websearch-server.cjs +1 -1
  1644. package/package.json +6 -6
  1645. package/scripts/ci-parity-gate.sh +22 -3
  1646. package/scripts/dev-release.sh +4 -2
  1647. package/scripts/ensure-deps.sh +18 -0
  1648. package/scripts/run-test-bucket.js +188 -0
  1649. package/scripts/verify-bundle.js +4 -1
  1650. package/dist/cliproxy/account-manager.d.ts +0 -16
  1651. package/dist/cliproxy/account-manager.d.ts.map +0 -1
  1652. package/dist/cliproxy/account-manager.js +0 -51
  1653. package/dist/cliproxy/account-manager.js.map +0 -1
  1654. package/dist/cliproxy/account-safety.d.ts +0 -92
  1655. package/dist/cliproxy/account-safety.d.ts.map +0 -1
  1656. package/dist/cliproxy/account-safety.js +0 -496
  1657. package/dist/cliproxy/account-safety.js.map +0 -1
  1658. package/dist/cliproxy/account-stats-key.d.ts.map +0 -1
  1659. package/dist/cliproxy/account-stats-key.js.map +0 -1
  1660. package/dist/cliproxy/antigravity-responsibility.d.ts.map +0 -1
  1661. package/dist/cliproxy/antigravity-responsibility.js +0 -171
  1662. package/dist/cliproxy/antigravity-responsibility.js.map +0 -1
  1663. package/dist/cliproxy/auth/gemini-token-refresh.d.ts +0 -40
  1664. package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +0 -1
  1665. package/dist/cliproxy/auth/gemini-token-refresh.js +0 -371
  1666. package/dist/cliproxy/auth/gemini-token-refresh.js.map +0 -1
  1667. package/dist/cliproxy/auth-handler.d.ts +0 -31
  1668. package/dist/cliproxy/auth-handler.d.ts.map +0 -1
  1669. package/dist/cliproxy/auth-handler.js +0 -60
  1670. package/dist/cliproxy/auth-handler.js.map +0 -1
  1671. package/dist/cliproxy/auth-session-manager.d.ts +0 -51
  1672. package/dist/cliproxy/auth-session-manager.d.ts.map +0 -1
  1673. package/dist/cliproxy/auth-session-manager.js +0 -134
  1674. package/dist/cliproxy/auth-session-manager.js.map +0 -1
  1675. package/dist/cliproxy/auth-token-manager.d.ts.map +0 -1
  1676. package/dist/cliproxy/auth-token-manager.js +0 -184
  1677. package/dist/cliproxy/auth-token-manager.js.map +0 -1
  1678. package/dist/cliproxy/auth-utils.d.ts +0 -16
  1679. package/dist/cliproxy/auth-utils.d.ts.map +0 -1
  1680. package/dist/cliproxy/auth-utils.js +0 -33
  1681. package/dist/cliproxy/auth-utils.js.map +0 -1
  1682. package/dist/cliproxy/base-config-loader.d.ts +0 -42
  1683. package/dist/cliproxy/base-config-loader.d.ts.map +0 -1
  1684. package/dist/cliproxy/base-config-loader.js +0 -123
  1685. package/dist/cliproxy/base-config-loader.js.map +0 -1
  1686. package/dist/cliproxy/catalog-cache.d.ts +0 -39
  1687. package/dist/cliproxy/catalog-cache.d.ts.map +0 -1
  1688. package/dist/cliproxy/catalog-cache.js +0 -254
  1689. package/dist/cliproxy/catalog-cache.js.map +0 -1
  1690. package/dist/cliproxy/cliproxy-executor.d.ts +0 -16
  1691. package/dist/cliproxy/cliproxy-executor.d.ts.map +0 -1
  1692. package/dist/cliproxy/cliproxy-executor.js +0 -27
  1693. package/dist/cliproxy/cliproxy-executor.js.map +0 -1
  1694. package/dist/cliproxy/codex-plan-compatibility.d.ts +0 -39
  1695. package/dist/cliproxy/codex-plan-compatibility.d.ts.map +0 -1
  1696. package/dist/cliproxy/codex-plan-compatibility.js +0 -134
  1697. package/dist/cliproxy/codex-plan-compatibility.js.map +0 -1
  1698. package/dist/cliproxy/codex-reasoning-proxy.d.ts +0 -61
  1699. package/dist/cliproxy/codex-reasoning-proxy.d.ts.map +0 -1
  1700. package/dist/cliproxy/codex-reasoning-proxy.js +0 -495
  1701. package/dist/cliproxy/codex-reasoning-proxy.js.map +0 -1
  1702. package/dist/cliproxy/composite-validator.d.ts.map +0 -1
  1703. package/dist/cliproxy/composite-validator.js +0 -94
  1704. package/dist/cliproxy/composite-validator.js.map +0 -1
  1705. package/dist/cliproxy/config-generator.d.ts +0 -15
  1706. package/dist/cliproxy/config-generator.d.ts.map +0 -1
  1707. package/dist/cliproxy/config-generator.js +0 -32
  1708. package/dist/cliproxy/config-generator.js.map +0 -1
  1709. package/dist/cliproxy/device-code-handler.d.ts.map +0 -1
  1710. package/dist/cliproxy/device-code-handler.js.map +0 -1
  1711. package/dist/cliproxy/gemini-cli-quota-normalizer.d.ts.map +0 -1
  1712. package/dist/cliproxy/gemini-cli-quota-normalizer.js +0 -122
  1713. package/dist/cliproxy/gemini-cli-quota-normalizer.js.map +0 -1
  1714. package/dist/cliproxy/https-tunnel-proxy.d.ts.map +0 -1
  1715. package/dist/cliproxy/https-tunnel-proxy.js +0 -224
  1716. package/dist/cliproxy/https-tunnel-proxy.js.map +0 -1
  1717. package/dist/cliproxy/management-api-client.d.ts +0 -81
  1718. package/dist/cliproxy/management-api-client.d.ts.map +0 -1
  1719. package/dist/cliproxy/management-api-client.js +0 -381
  1720. package/dist/cliproxy/management-api-client.js.map +0 -1
  1721. package/dist/cliproxy/management-api-types.d.ts.map +0 -1
  1722. package/dist/cliproxy/management-api-types.js.map +0 -1
  1723. package/dist/cliproxy/model-config.d.ts +0 -31
  1724. package/dist/cliproxy/model-config.d.ts.map +0 -1
  1725. package/dist/cliproxy/model-config.js +0 -271
  1726. package/dist/cliproxy/model-config.js.map +0 -1
  1727. package/dist/cliproxy/model-id-normalizer.d.ts +0 -105
  1728. package/dist/cliproxy/model-id-normalizer.d.ts.map +0 -1
  1729. package/dist/cliproxy/model-id-normalizer.js +0 -241
  1730. package/dist/cliproxy/model-id-normalizer.js.map +0 -1
  1731. package/dist/cliproxy/openai-compat-manager.d.ts.map +0 -1
  1732. package/dist/cliproxy/openai-compat-manager.js +0 -191
  1733. package/dist/cliproxy/openai-compat-manager.js.map +0 -1
  1734. package/dist/cliproxy/platform-detector.d.ts +0 -99
  1735. package/dist/cliproxy/platform-detector.d.ts.map +0 -1
  1736. package/dist/cliproxy/platform-detector.js +0 -174
  1737. package/dist/cliproxy/platform-detector.js.map +0 -1
  1738. package/dist/cliproxy/project-selection-handler.d.ts.map +0 -1
  1739. package/dist/cliproxy/project-selection-handler.js.map +0 -1
  1740. package/dist/cliproxy/proxy-config-resolver.d.ts +0 -87
  1741. package/dist/cliproxy/proxy-config-resolver.d.ts.map +0 -1
  1742. package/dist/cliproxy/proxy-config-resolver.js +0 -254
  1743. package/dist/cliproxy/proxy-config-resolver.js.map +0 -1
  1744. package/dist/cliproxy/proxy-detector.d.ts +0 -72
  1745. package/dist/cliproxy/proxy-detector.d.ts.map +0 -1
  1746. package/dist/cliproxy/proxy-detector.js +0 -196
  1747. package/dist/cliproxy/proxy-detector.js.map +0 -1
  1748. package/dist/cliproxy/proxy-target-resolver.d.ts.map +0 -1
  1749. package/dist/cliproxy/proxy-target-resolver.js +0 -108
  1750. package/dist/cliproxy/proxy-target-resolver.js.map +0 -1
  1751. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts +0 -18
  1752. package/dist/cliproxy/quota-fetcher-claude-normalizer.d.ts.map +0 -1
  1753. package/dist/cliproxy/quota-fetcher-claude-normalizer.js +0 -291
  1754. package/dist/cliproxy/quota-fetcher-claude-normalizer.js.map +0 -1
  1755. package/dist/cliproxy/quota-fetcher-claude.d.ts +0 -21
  1756. package/dist/cliproxy/quota-fetcher-claude.d.ts.map +0 -1
  1757. package/dist/cliproxy/quota-fetcher-claude.js +0 -306
  1758. package/dist/cliproxy/quota-fetcher-claude.js.map +0 -1
  1759. package/dist/cliproxy/quota-fetcher-codex.d.ts +0 -69
  1760. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +0 -1
  1761. package/dist/cliproxy/quota-fetcher-codex.js +0 -599
  1762. package/dist/cliproxy/quota-fetcher-codex.js.map +0 -1
  1763. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +0 -1
  1764. package/dist/cliproxy/quota-fetcher-gemini-cli.js +0 -661
  1765. package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +0 -1
  1766. package/dist/cliproxy/quota-fetcher-ghcp.d.ts.map +0 -1
  1767. package/dist/cliproxy/quota-fetcher-ghcp.js +0 -207
  1768. package/dist/cliproxy/quota-fetcher-ghcp.js.map +0 -1
  1769. package/dist/cliproxy/quota-fetcher.d.ts +0 -107
  1770. package/dist/cliproxy/quota-fetcher.d.ts.map +0 -1
  1771. package/dist/cliproxy/quota-fetcher.js +0 -657
  1772. package/dist/cliproxy/quota-fetcher.js.map +0 -1
  1773. package/dist/cliproxy/quota-manager.d.ts +0 -105
  1774. package/dist/cliproxy/quota-manager.d.ts.map +0 -1
  1775. package/dist/cliproxy/quota-manager.js +0 -485
  1776. package/dist/cliproxy/quota-manager.js.map +0 -1
  1777. package/dist/cliproxy/quota-response-cache.d.ts.map +0 -1
  1778. package/dist/cliproxy/quota-response-cache.js.map +0 -1
  1779. package/dist/cliproxy/quota-types.d.ts +0 -245
  1780. package/dist/cliproxy/quota-types.d.ts.map +0 -1
  1781. package/dist/cliproxy/quota-types.js.map +0 -1
  1782. package/dist/cliproxy/remote-auth-fetcher.d.ts +0 -30
  1783. package/dist/cliproxy/remote-auth-fetcher.d.ts.map +0 -1
  1784. package/dist/cliproxy/remote-auth-fetcher.js +0 -177
  1785. package/dist/cliproxy/remote-auth-fetcher.js.map +0 -1
  1786. package/dist/cliproxy/remote-proxy-client.d.ts.map +0 -1
  1787. package/dist/cliproxy/remote-proxy-client.js +0 -281
  1788. package/dist/cliproxy/remote-proxy-client.js.map +0 -1
  1789. package/dist/cliproxy/remote-token-uploader.d.ts.map +0 -1
  1790. package/dist/cliproxy/remote-token-uploader.js +0 -178
  1791. package/dist/cliproxy/remote-token-uploader.js.map +0 -1
  1792. package/dist/cliproxy/schema-sanitizer.d.ts.map +0 -1
  1793. package/dist/cliproxy/schema-sanitizer.js.map +0 -1
  1794. package/dist/cliproxy/startup-lock.d.ts.map +0 -1
  1795. package/dist/cliproxy/startup-lock.js +0 -216
  1796. package/dist/cliproxy/startup-lock.js.map +0 -1
  1797. package/dist/cliproxy/stats-fetcher.d.ts +0 -158
  1798. package/dist/cliproxy/stats-fetcher.d.ts.map +0 -1
  1799. package/dist/cliproxy/stats-fetcher.js +0 -246
  1800. package/dist/cliproxy/stats-fetcher.js.map +0 -1
  1801. package/dist/cliproxy/stats-transformer.d.ts.map +0 -1
  1802. package/dist/cliproxy/stats-transformer.js +0 -152
  1803. package/dist/cliproxy/stats-transformer.js.map +0 -1
  1804. package/dist/cliproxy/tool-name-mapper.d.ts +0 -103
  1805. package/dist/cliproxy/tool-name-mapper.d.ts.map +0 -1
  1806. package/dist/cliproxy/tool-name-mapper.js +0 -149
  1807. package/dist/cliproxy/tool-name-mapper.js.map +0 -1
  1808. package/dist/cliproxy/tool-name-sanitizer.d.ts +0 -65
  1809. package/dist/cliproxy/tool-name-sanitizer.d.ts.map +0 -1
  1810. package/dist/cliproxy/tool-name-sanitizer.js +0 -118
  1811. package/dist/cliproxy/tool-name-sanitizer.js.map +0 -1
  1812. package/dist/cliproxy/tool-sanitization-proxy.d.ts +0 -77
  1813. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +0 -1
  1814. package/dist/cliproxy/tool-sanitization-proxy.js +0 -643
  1815. package/dist/cliproxy/tool-sanitization-proxy.js.map +0 -1
  1816. package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts +0 -9
  1817. package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts.map +0 -1
  1818. package/dist/commands/cliproxy/resolve-lifecycle-port.js +0 -14
  1819. package/dist/commands/cliproxy/resolve-lifecycle-port.js.map +0 -1
  1820. package/dist/ui/assets/accounts-DhtktAIG.js +0 -1
  1821. package/dist/ui/assets/alert-dialog-DQK2Jxfk.js +0 -1
  1822. package/dist/ui/assets/api-Den1YY2d.js +0 -4
  1823. package/dist/ui/assets/auth-section-BQitOLMK.js +0 -1
  1824. package/dist/ui/assets/backups-section-BLGK5re-.js +0 -1
  1825. package/dist/ui/assets/channels-Dop1axTi.js +0 -1
  1826. package/dist/ui/assets/charts-BBPXh0Ar.js +0 -64
  1827. package/dist/ui/assets/checkbox-DDrDuGxi.js +0 -1
  1828. package/dist/ui/assets/claude-extension-6WjTc0o8.js +0 -1
  1829. package/dist/ui/assets/cliproxy-Ch7RdSMG.js +0 -3
  1830. package/dist/ui/assets/cliproxy-ai-providers-DjybBlb5.js +0 -21
  1831. package/dist/ui/assets/cliproxy-control-panel-DDif_QAT.js +0 -1
  1832. package/dist/ui/assets/code-highlight-BRUf_pqB.js +0 -3
  1833. package/dist/ui/assets/codex-DFAV50Ee.js +0 -27
  1834. package/dist/ui/assets/confirm-dialog-CP26_Zko.js +0 -1
  1835. package/dist/ui/assets/copilot-uZuyhqwv.js +0 -3
  1836. package/dist/ui/assets/cursor-CuaM2FmN.js +0 -1
  1837. package/dist/ui/assets/droid-DdjXJ2lF.js +0 -2
  1838. package/dist/ui/assets/form-utils-Bcoyqxpq.js +0 -20
  1839. package/dist/ui/assets/globalenv-section-D5_-EIlf.js +0 -1
  1840. package/dist/ui/assets/health-BHhVKLNR.js +0 -1
  1841. package/dist/ui/assets/icons-CQ3MLSan.js +0 -1
  1842. package/dist/ui/assets/index-B8bAYHAs.js +0 -1
  1843. package/dist/ui/assets/index-Ba-43jCS.js +0 -1
  1844. package/dist/ui/assets/index-Bb2CPQik.css +0 -1
  1845. package/dist/ui/assets/index-Bm09kGOw.js +0 -1
  1846. package/dist/ui/assets/index-DHY37v8a.js +0 -1
  1847. package/dist/ui/assets/index-DLCFe4s3.js +0 -1
  1848. package/dist/ui/assets/index-TSYtCr3K.js +0 -69
  1849. package/dist/ui/assets/masked-input-CTkIqCMg.js +0 -1
  1850. package/dist/ui/assets/notifications-B2HqRBj7.js +0 -1
  1851. package/dist/ui/assets/proxy-status-widget-DPhKjJFl.js +0 -1
  1852. package/dist/ui/assets/radix-ui-BlliRfHq.js +0 -51
  1853. package/dist/ui/assets/raw-json-settings-editor-panel-DQr_y0E4.js +0 -1
  1854. package/dist/ui/assets/react-vendor-CNOkPC89.js +0 -3
  1855. package/dist/ui/assets/searchable-select-C2sP7JW5.js +0 -1
  1856. package/dist/ui/assets/separator-2lt47Sla.js +0 -1
  1857. package/dist/ui/assets/shared-DPKtsiFQ.js +0 -8
  1858. package/dist/ui/assets/table-DbsFACgT.js +0 -1
  1859. package/dist/ui/assets/tanstack-BjiH4QZq.js +0 -4
  1860. package/dist/ui/assets/updates-C5iL4KNn.js +0 -1
  1861. package/scripts/github/build-ai-review-packet.mjs +0 -242
  1862. package/scripts/github/normalize-ai-review-output.mjs +0 -934
  1863. package/scripts/github/prepare-ai-review-scope.mjs +0 -324
  1864. package/scripts/github/run-ai-review-direct.mjs +0 -349
  1865. /package/dist/cliproxy/{account-stats-key.d.ts → accounts/account-stats-key.d.ts} +0 -0
  1866. /package/dist/cliproxy/{account-stats-key.js → accounts/account-stats-key.js} +0 -0
  1867. /package/dist/cliproxy/{openai-compat-manager.d.ts → ai-providers/openai-compat-manager.d.ts} +0 -0
  1868. /package/dist/cliproxy/{schema-sanitizer.d.ts → ai-providers/schema-sanitizer.d.ts} +0 -0
  1869. /package/dist/cliproxy/{schema-sanitizer.js → ai-providers/schema-sanitizer.js} +0 -0
  1870. /package/dist/cliproxy/{antigravity-responsibility.d.ts → auth/antigravity-responsibility.d.ts} +0 -0
  1871. /package/dist/cliproxy/{auth-token-manager.d.ts → auth/auth-token-manager.d.ts} +0 -0
  1872. /package/dist/cliproxy/{device-code-handler.d.ts → auth/device-code-handler.d.ts} +0 -0
  1873. /package/dist/cliproxy/{device-code-handler.js → auth/device-code-handler.js} +0 -0
  1874. /package/dist/cliproxy/{project-selection-handler.d.ts → auth/project-selection-handler.d.ts} +0 -0
  1875. /package/dist/cliproxy/{project-selection-handler.js → auth/project-selection-handler.js} +0 -0
  1876. /package/dist/cliproxy/{composite-validator.d.ts → config/composite-validator.d.ts} +0 -0
  1877. /package/dist/cliproxy/{management-api-types.d.ts → management/management-api-types.d.ts} +0 -0
  1878. /package/dist/cliproxy/{management-api-types.js → management/management-api-types.js} +0 -0
  1879. /package/dist/cliproxy/{remote-token-uploader.d.ts → management/remote-token-uploader.d.ts} +0 -0
  1880. /package/dist/cliproxy/{https-tunnel-proxy.d.ts → proxy/https-tunnel-proxy.d.ts} +0 -0
  1881. /package/dist/cliproxy/{proxy-target-resolver.d.ts → proxy/proxy-target-resolver.d.ts} +0 -0
  1882. /package/dist/cliproxy/{gemini-cli-quota-normalizer.d.ts → quota/gemini-cli-quota-normalizer.d.ts} +0 -0
  1883. /package/dist/cliproxy/{quota-fetcher-gemini-cli.d.ts → quota/quota-fetcher-gemini-cli.d.ts} +0 -0
  1884. /package/dist/cliproxy/{quota-fetcher-ghcp.d.ts → quota/quota-fetcher-ghcp.d.ts} +0 -0
  1885. /package/dist/cliproxy/{quota-response-cache.d.ts → quota/quota-response-cache.d.ts} +0 -0
  1886. /package/dist/cliproxy/{quota-response-cache.js → quota/quota-response-cache.js} +0 -0
  1887. /package/dist/cliproxy/{quota-types.js → quota/quota-types.js} +0 -0
  1888. /package/dist/cliproxy/{remote-proxy-client.d.ts → services/remote-proxy-client.d.ts} +0 -0
  1889. /package/dist/cliproxy/{startup-lock.d.ts → services/startup-lock.d.ts} +0 -0
  1890. /package/dist/cliproxy/{stats-transformer.d.ts → services/stats-transformer.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-sanitization-proxy.js","sourceRoot":"","sources":["../../src/cliproxy/tool-sanitization-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { UnifiedConfig } from '../../config/unified-config-types';
2
- type LifecyclePortConfig = Pick<UnifiedConfig, 'cliproxy_server'>;
3
- /**
4
- * Resolve the local CLIProxy lifecycle port from unified config.
5
- * Falls back to default port when unset/invalid.
6
- */
7
- export declare function resolveLifecyclePort(config?: LifecyclePortConfig): number;
8
- export {};
9
- //# sourceMappingURL=resolve-lifecycle-port.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-lifecycle-port.d.ts","sourceRoot":"","sources":["../../../src/commands/cliproxy/resolve-lifecycle-port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,KAAK,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAElE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,GAAE,mBAAiD,GACxD,MAAM,CAER"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveLifecyclePort = void 0;
4
- const port_manager_1 = require("../../cliproxy/config/port-manager");
5
- const unified_config_loader_1 = require("../../config/unified-config-loader");
6
- /**
7
- * Resolve the local CLIProxy lifecycle port from unified config.
8
- * Falls back to default port when unset/invalid.
9
- */
10
- function resolveLifecyclePort(config = (0, unified_config_loader_1.loadOrCreateUnifiedConfig)()) {
11
- return (0, port_manager_1.validatePort)(config.cliproxy_server?.local?.port ?? port_manager_1.CLIPROXY_DEFAULT_PORT);
12
- }
13
- exports.resolveLifecyclePort = resolveLifecyclePort;
14
- //# sourceMappingURL=resolve-lifecycle-port.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-lifecycle-port.js","sourceRoot":"","sources":["../../../src/commands/cliproxy/resolve-lifecycle-port.ts"],"names":[],"mappings":";;;AAAA,qEAAyF;AACzF,8EAA+E;AAK/E;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,SAA8B,IAAA,iDAAyB,GAAE;IAEzD,OAAO,IAAA,2BAAY,EAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,IAAI,oCAAqB,CAAC,CAAC;AACpF,CAAC;AAJD,oDAIC"}
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-BlliRfHq.js";import{r as C,h as ve}from"./react-vendor-CNOkPC89.js";import{u as Ce,a as $,b as F,e as ke,f as ee,g as we}from"./tanstack-BjiH4QZq.js";import{T as Pe,a as Ae,b as te,c as De,d as _e,e as Te}from"./table-DbsFACgT.js";import{q as O,a as z,D as de,j as ue,k as xe,l as me,m as he,L as T,I as X,E as D,aw as Se,d as b,B as P,C as M,b as R,e as Ge,f as Me,g as Re,A as Oe,o as I,p as q,a2 as Q}from"./index-TSYtCr3K.js";import{A as ze,a as $e,b as Fe,c as Le,d as Ke,e as He,f as Ie,g as qe}from"./alert-dialog-DQK2Jxfk.js";import{t as k}from"./notifications-B2HqRBj7.js";import{aT as W,aU as E,aV as pe,ay as ge,Q as fe,aW as Ee,aX as Ue,k as J,aj as Be,J as Qe,au as U,T as Y,v as Ze,V as Ve,m as ae,U as Xe,a5 as se,Z as ne}from"./icons-CQ3MLSan.js";import{C as re}from"./checkbox-DDrDuGxi.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";function Z(s){return Array.from(s).sort((r,t)=>r.localeCompare(t))}function We(s){const r=new Map;for(const n of s){if(n.context_mode!=="shared")continue;const h=n.context_group||"default",m=r.get(h)??{group:h,sharedCount:0,deeperCount:0,accountNames:[]};m.sharedCount+=1,m.accountNames.push(n.name),n.continuity_mode==="deeper"&&(m.deeperCount+=1),r.set(h,m)}const t=Array.from(r.values()).sort((n,h)=>n.group.localeCompare(h.group)),u=s.map(n=>{if(n.context_mode!=="shared")return{...n,sameGroupPeerCount:0,sameGroupDeeperPeerCount:0};const h=n.context_group||"default",m=r.get(h),y=Math.max((m?.sharedCount??1)-1,0),x=Math.max((m?.deeperCount??0)-(n.continuity_mode==="deeper"?1:0),0);return{...n,sameGroupPeerCount:y,sameGroupDeeperPeerCount:x}}),a=u.filter(n=>n.context_mode==="shared").length,i=u.filter(n=>n.context_mode==="shared"&&n.continuity_mode==="deeper").length,c=u.filter(n=>n.context_inferred).length,p=u.filter(n=>n.context_mode==="shared"&&n.continuity_mode!=="deeper"&&n.continuity_inferred).length;return{accounts:u,sharedCount:a,sharedStandardCount:Math.max(a-i,0),deeperSharedCount:i,isolatedCount:u.length-a,legacyContextCount:c,legacyContinuityCount:p,sharedAloneCount:u.filter(n=>n.context_mode==="shared"&&n.sameGroupPeerCount===0).length,sharedPeerAccountCount:u.filter(n=>n.sameGroupPeerCount>0).length,deeperReadyAccountCount:u.filter(n=>n.continuity_mode==="deeper"&&n.sameGroupDeeperPeerCount>0).length,sharedPeerGroups:Z(t.filter(n=>n.sharedCount>=2).map(n=>n.group)),deeperReadyGroups:Z(t.filter(n=>n.deeperCount>=2).map(n=>n.group)),sharedGroups:Z(t.map(n=>n.group)),groupSummaries:t}}function Je(){return Ce({queryKey:["accounts"],queryFn:()=>O.accounts.list(),select:s=>{const r=s.accounts.filter(i=>i.type!=="cliproxy"),t=We(r),u=s.accounts.length-r.length,a=t.accounts.some(i=>i.name===s.default)?s.default:null;return{accounts:t.accounts,default:a,cliproxyCount:u,legacyContextCount:t.legacyContextCount,legacyContinuityCount:t.legacyContinuityCount,sharedCount:t.sharedCount,sharedStandardCount:t.sharedStandardCount,deeperSharedCount:t.deeperSharedCount,isolatedCount:t.isolatedCount,sharedAloneCount:t.sharedAloneCount,sharedPeerAccountCount:t.sharedPeerAccountCount,deeperReadyAccountCount:t.deeperReadyAccountCount,sharedPeerGroups:t.sharedPeerGroups,deeperReadyGroups:t.deeperReadyGroups,sharedGroups:t.sharedGroups,groupSummaries:t.groupSummaries,plainCcsLane:s.plain_ccs_lane??null}}})}function Ye(){const s=$();return F({mutationFn:r=>O.accounts.setDefault(r),onSuccess:(r,t)=>{s.invalidateQueries({queryKey:["accounts"]}),k.success(`Default account set to "${t}"`)},onError:r=>{k.error(r.message)}})}function et(){const s=$();return F({mutationFn:()=>O.accounts.resetDefault(),onSuccess:()=>{s.invalidateQueries({queryKey:["accounts"]}),k.success("Default account reset to CCS")},onError:r=>{k.error(r.message)}})}function tt(){const s=$();return F({mutationFn:r=>O.accounts.delete(r),onSuccess:(r,t)=>{s.invalidateQueries({queryKey:["accounts"]}),k.success(`Account "${t}" deleted`)},onError:r=>{k.error(r.message)}})}function be(){const s=$();return F({mutationFn:({name:r,context_mode:t,context_group:u,continuity_mode:a})=>O.accounts.updateContext(r,{context_mode:t,context_group:u,continuity_mode:a}),onSuccess:(r,t)=>{s.invalidateQueries({queryKey:["accounts"]});const u=t.context_mode==="shared"?t.continuity_mode==="deeper"?`shared (${(t.context_group||"default").trim().toLowerCase().replace(/\s+/g,"-")}, deeper continuity)`:`shared (${(t.context_group||"default").trim().toLowerCase().replace(/\s+/g,"-")}, standard)`:"isolated";k.success(`Updated "${t.name}" context to ${u}`)},onError:r=>{k.error(r.message)}})}function at(){const s=$();return F({mutationFn:async r=>{const t=r.filter(i=>i.context_inferred||i.continuity_inferred),a=(await Promise.allSettled(t.map(i=>{const c=i.context_mode==="shared";return O.accounts.updateContext(i.name,{context_mode:c?"shared":"isolated",context_group:c?i.context_group||"default":void 0,continuity_mode:c?i.continuity_mode==="deeper"?"deeper":"standard":void 0})}))).filter(i=>i.status==="rejected").length;return{updatedCount:t.length-a,failedCount:a}},onSuccess:({updatedCount:r,failedCount:t})=>{if(s.invalidateQueries({queryKey:["accounts"]}),t>0&&r>0){k.error(`Confirmed ${r} legacy account${r>1?"s":""}, but ${t} update${t>1?"s":""} failed. Refreshed account state.`);return}if(t>0){k.error(`Failed to confirm ${t} legacy account${t>1?"s":""}. Refreshed account state.`);return}if(r>0){k.success(`Confirmed explicit sync mode for ${r} legacy account${r>1?"s":""}`);return}k.info("No legacy accounts need confirmation")},onError:r=>{s.invalidateQueries({queryKey:["accounts"]}),k.error(r.message)}})}const oe=64,st=/^[a-zA-Z][a-zA-Z0-9_-]*$/;function nt({account:s,groupSummaries:r,plainCcsLane:t,onClose:u}){const{t:a}=z(),i=be(),[c,p]=C.useState(s.context_mode==="shared"?"shared":"isolated"),[n,h]=C.useState(s.context_group||"default"),[m,y]=C.useState(s.continuity_mode==="deeper"?"deeper":"standard"),x=C.useMemo(()=>n.trim().toLowerCase().replace(/\s+/g,"-"),[n]),l=C.useMemo(()=>r.find(g=>g.group===x),[r,x]),N=x.length>0&&x.length<=oe&&st.test(x),o=c==="isolated"||N,d=c==="shared"?Math.max((l?.sharedCount??0)-(s.context_mode==="shared"&&s.context_group===x?1:0),0):0,f=c==="shared"?Math.max((l?.deeperCount??0)-(s.continuity_mode==="deeper"&&s.context_group===x?1:0),0):0,v=t?.account_name===s.name,j=!!t&&!v,S=`ccs auth default ${s.name}`,_=`ccs auth backup ${s.name}`,w=(g,K,G,H)=>{if(!["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(g.key))return;g.preventDefault();const je=G.indexOf(K),ye=g.key==="ArrowLeft"||g.key==="ArrowUp"?-1:1,Ne=(je+ye+G.length)%G.length;H(G[Ne])},L=t?t.kind==="native"?a("continuityOverview.lane.native"):t.kind==="account-default"?a("continuityOverview.lane.accountDefault",{name:t.account_name||""}):t.kind==="account-inherited"?a("continuityOverview.lane.accountInherited",{name:t.account_name||""}):t.kind==="profile-default"?a("continuityOverview.lane.profileDefault",{name:t.profile_name||"default"}):t.label:"",A=()=>{o&&i.mutate({name:s.name,context_mode:c,context_group:c==="shared"?x:void 0,continuity_mode:c==="shared"?m:void 0},{onSuccess:()=>{u()}})},B=g=>{g||u()};return e.jsx(de,{open:!0,onOpenChange:B,children:e.jsxs(ue,{className:"sm:max-w-md",children:[e.jsxs(xe,{children:[e.jsx(me,{children:a("editAccountContext.title")}),e.jsx(he,{children:a("editAccountContext.description",{name:s.name})})]}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(T,{className:"text-sm font-semibold",children:a("editAccountContext.syncMode")})}),e.jsxs("div",{className:"flex p-0.5 bg-muted/60 hover:bg-muted/80 transition-colors rounded-xl border border-border/40 w-full",role:"radiogroup","aria-label":a("editAccountContext.syncMode"),children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":c==="isolated",tabIndex:c==="isolated"?0:-1,onClick:()=>p("isolated"),onKeyDown:g=>w(g,c,["isolated","shared"],p),className:`flex-1 flex justify-center items-center gap-2 px-3 py-1.5 rounded-[10px] text-sm font-medium transition-all duration-200 overflow-hidden ${c==="isolated"?"bg-background text-blue-600 dark:text-blue-400 shadow-sm ring-1 ring-border/50":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[e.jsx(W,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:a("editAccountContext.isolatedOption")})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":c==="shared",tabIndex:c==="shared"?0:-1,onClick:()=>p("shared"),onKeyDown:g=>w(g,c,["isolated","shared"],p),className:`flex-1 flex justify-center items-center gap-2 px-3 py-1.5 rounded-[10px] text-sm font-medium transition-all duration-200 overflow-hidden ${c==="shared"?"bg-background text-emerald-600 dark:text-emerald-400 shadow-sm ring-1 ring-border/50":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[e.jsx(E,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:a("editAccountContext.sharedOption")})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground pt-1 px-1",children:a(c==="isolated"?"editAccountContext.isolatedModeHint":"editAccountContext.sharedModeHint")})]}),c==="shared"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(T,{htmlFor:"context-group",children:a("editAccountContext.historySyncGroup")}),e.jsx(X,{id:"context-group",value:n,onChange:g=>h(g.target.value),placeholder:a("editAccountContext.groupPlaceholder"),autoComplete:"off"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:a("editAccountContext.groupHint",{max:oe})}),!N&&e.jsx("p",{className:"text-xs text-destructive",children:a("editAccountContext.invalidGroup")})]}),c==="shared"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(T,{className:"text-sm font-semibold",children:a("editAccountContext.continuityDepth")})}),e.jsxs("div",{className:"flex p-0.5 bg-muted/60 hover:bg-muted/80 transition-colors rounded-xl border border-border/40 w-full",role:"radiogroup","aria-label":a("editAccountContext.continuityDepth"),children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":m==="standard",tabIndex:m==="standard"?0:-1,onClick:()=>y("standard"),onKeyDown:g=>w(g,m,["standard","deeper"],y),className:`flex-1 flex justify-center items-center gap-2 px-3 py-1.5 rounded-[10px] text-sm font-medium transition-all duration-200 overflow-hidden ${m==="standard"?"bg-background text-emerald-600 dark:text-emerald-400 shadow-sm ring-1 ring-border/50":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[e.jsx(E,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:a("editAccountContext.standardOption")})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":m==="deeper",tabIndex:m==="deeper"?0:-1,onClick:()=>y("deeper"),onKeyDown:g=>w(g,m,["standard","deeper"],y),className:`flex-1 flex justify-center items-center gap-2 px-3 py-1.5 rounded-[10px] text-sm font-medium transition-all duration-200 overflow-hidden ${m==="deeper"?"bg-background text-indigo-600 dark:text-indigo-400 shadow-sm ring-1 ring-border/50":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[e.jsx(pe,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:a("editAccountContext.deeperOption")})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground pt-1 px-1",children:a(m==="standard"?"editAccountContext.standardHint":"editAccountContext.deeperHint")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:a("editAccountContext.credentialsIsolated")}),j&&e.jsx("div",{className:"rounded-[14px] border border-amber-200 bg-amber-50/50 p-4 text-xs shadow-sm dark:border-amber-900/40 dark:bg-amber-900/10",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"font-medium text-foreground",children:a("continuityOverview.plainLaneTitle")}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:a("continuityOverview.plainLaneDescription",{lane:L||"plain ccs",name:s.name})}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs -r"}),e.jsx(D,{value:"ccs -r",size:"icon"})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs auth backup default"}),e.jsx(D,{value:"ccs auth backup default",size:"icon"})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:_}),e.jsx(D,{value:_,size:"icon"})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:S}),e.jsx(D,{value:S,size:"icon"})]})]})]})}),e.jsx("div",{className:`rounded-[14px] border p-4 text-xs shadow-sm transition-colors ${c==="isolated"?"bg-blue-50/50 border-blue-200 dark:bg-blue-900/10 dark:border-blue-800/40":"bg-muted/40 border-border/60"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[c==="isolated"?e.jsx(ge,{className:"h-4 w-4 text-blue-500 mt-0.5 shrink-0"}):e.jsx(fe,{className:"h-4 w-4 text-muted-foreground mt-0.5 shrink-0"}),e.jsxs("div",{className:"space-y-1.5 flex-1 text-muted-foreground leading-relaxed",children:[c==="isolated"?e.jsx("p",{className:"text-foreground font-medium selection:bg-blue-200",children:a("editAccountContext.isolatedImplication")}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:[e.jsx("span",{className:"text-foreground font-medium",children:a("editAccountContext.sameGroupRule",{group:x})})," ",d>0?a("editAccountContext.sameGroupPeerCount",{count:d}):a("editAccountContext.noSameGroupPeer")]}),m==="deeper"&&e.jsx("p",{children:f>0?a("editAccountContext.deeperReady",{count:f}):e.jsx("span",{className:"text-amber-600 dark:text-amber-500",children:a("editAccountContext.deeperNeedsPeers")})})]}),e.jsx("p",{className:`pt-1.5 text-[11px] ${c==="isolated"?"text-blue-700/70 dark:text-blue-300/60":"text-muted-foreground/70"}`,children:a("editAccountContext.resumeOriginalWarning")})]})]})})]}),e.jsxs(Se,{children:[e.jsx(b,{variant:"outline",onClick:u,disabled:i.isPending,children:a("editAccountContext.cancel")}),e.jsx(b,{onClick:A,disabled:!o||i.isPending,children:i.isPending?a("editAccountContext.saving"):a("editAccountContext.save")})]})]})})}function ce({data:s,defaultAccount:r,groupSummaries:t,plainCcsLane:u}){const{t:a}=z(),i=Ye(),c=tt(),p=et(),n=be(),[h,m]=C.useState(null),[y,x]=C.useState(null),l=[{accessorKey:"name",header:a("accountsTable.name"),size:200,cell:({row:o})=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:o.original.name}),o.original.name===r&&e.jsx("span",{className:"text-xs bg-primary/10 text-primary px-1.5 py-0.5 rounded border border-primary/20",children:a("accountsTable.defaultBadge")})]})},{accessorKey:"type",header:a("accountsTable.type"),size:100,cell:({row:o})=>e.jsx("span",{className:"capitalize text-muted-foreground",children:o.original.type||"oauth"})},{accessorKey:"created",header:a("accountsTable.created"),size:150,cell:({row:o})=>{const d=new Date(o.original.created);return e.jsx("span",{className:"text-muted-foreground",children:d.toLocaleDateString()})}},{accessorKey:"last_used",header:a("accountsTable.lastUsed"),size:150,cell:({row:o})=>{if(!o.original.last_used)return e.jsx("span",{className:"text-muted-foreground/50",children:"-"});const d=new Date(o.original.last_used);return e.jsx("span",{className:"text-muted-foreground",children:d.toLocaleDateString()})}},{id:"context",header:a("accountsTable.historySync"),size:170,cell:({row:o})=>{if(o.original.type==="cliproxy")return e.jsx("span",{className:"text-muted-foreground/50",children:"-"});if((o.original.context_mode||"isolated")==="shared"){const f=o.original.context_group||"default",v=o.original.continuity_mode==="deeper";return e.jsxs("div",{className:"flex flex-col items-start gap-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(P,{variant:"outline",className:`font-mono text-[10px] uppercase px-1.5 py-0 border ${v?"text-indigo-700 border-indigo-300/60 bg-indigo-50/50 dark:text-indigo-300 dark:border-indigo-900/40 dark:bg-indigo-900/20":"text-emerald-700 border-emerald-300/60 bg-emerald-50/50 dark:text-emerald-300 dark:border-emerald-900/40 dark:bg-emerald-900/20"}`,children:a(v?"accountsTable.badges.deeper":"accountsTable.badges.shared")}),e.jsx("span",{className:"text-xs font-semibold text-foreground/80",children:f})]}),e.jsx("p",{className:"text-[10px] text-muted-foreground whitespace-nowrap",children:o.original.sameGroupPeerCount>0?a("accountsTable.sameGroupPeerCount",{count:o.original.sameGroupPeerCount}):a("accountsTable.noSameGroupPeer")})]})}return o.original.context_inferred?e.jsxs("div",{className:"flex flex-col items-start gap-1",children:[e.jsx(P,{variant:"outline",className:"text-amber-700 border-amber-300/60 bg-amber-50/50 dark:text-amber-400 dark:border-amber-900/40 dark:bg-amber-900/20 font-mono text-[10px] uppercase px-1.5 py-0",children:a("accountsTable.badges.legacy")}),e.jsx("p",{className:"text-[10px] text-amber-700/80 dark:text-amber-400/80 whitespace-nowrap",children:a("accountsTable.legacyReview")})]}):e.jsx("div",{className:"flex flex-col items-start gap-1.5",children:e.jsx(P,{variant:"secondary",className:"font-mono text-[10px] uppercase px-1.5 py-0 text-muted-foreground bg-muted/60 border-transparent shadow-none",children:a("accountsTable.badges.isolated")})})}},{id:"actions",header:a("accountsTable.actions"),size:220,cell:({row:o})=>{const d=o.original.name===r,f=i.isPending||c.isPending||n.isPending,v=o.original.type==="cliproxy",j=o.original.context_inferred||o.original.continuity_inferred;return e.jsxs("div",{className:"flex items-center gap-1",children:[!v&&e.jsxs(b,{variant:"outline",size:"sm",className:"h-8 px-2",disabled:f,onClick:()=>x(o.original),title:a("accountsTable.syncTitle"),children:[e.jsx(Ee,{className:"w-3.5 h-3.5 mr-1"}),a("accountsTable.sync")]}),!v&&j&&e.jsxs(b,{variant:"ghost",size:"sm",className:"h-8 px-2 text-amber-700 hover:text-amber-700 hover:bg-amber-500/10 dark:text-amber-400 dark:hover:text-amber-400",disabled:f,onClick:()=>n.mutate({name:o.original.name,context_mode:o.original.context_mode==="shared"?"shared":"isolated",context_group:o.original.context_mode==="shared"?o.original.context_group||"default":void 0,continuity_mode:o.original.context_mode==="shared"?o.original.continuity_mode==="deeper"?"deeper":"standard":void 0}),title:a("accountsTable.confirmLegacyTitle"),children:[e.jsx(Ue,{className:"w-3 h-3 mr-1"}),a("accountsTable.confirm")]}),e.jsxs(b,{variant:d?"secondary":"default",size:"sm",className:"h-8 px-2",disabled:d||f,onClick:()=>i.mutate(o.original.name),children:[e.jsx(J,{className:`w-3 h-3 mr-1 ${d?"opacity-50":""}`}),a(d?"accountsTable.active":"accountsTable.setDefault")]}),e.jsx(b,{variant:"ghost",size:"sm",className:"h-8 px-2 text-destructive hover:text-destructive hover:bg-destructive/10",disabled:d||f,onClick:()=>m(o.original.name),title:a(d?"accountsTable.cannotDeleteDefault":"accountsTable.deleteAccount"),children:e.jsx(Be,{className:"w-4 h-4"})})]})}}],N=ke({data:s,columns:l,getCoreRowModel:we()});return s.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a("accountsTable.noAccounts")}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"border rounded-md",children:e.jsxs(Pe,{children:[e.jsx(Ae,{children:N.getHeaderGroups().map(o=>e.jsx(te,{children:o.headers.map(d=>{const f={name:"w-[200px]",type:"w-[100px]",created:"w-[150px]",last_used:"w-[150px]",context:"w-[170px]",actions:"w-[290px]"}[d.id]||"w-auto";return e.jsx(De,{className:f,children:d.isPlaceholder?null:ee(d.column.columnDef.header,d.getContext())},d.id)})},o.id))}),e.jsx(_e,{children:N.getRowModel().rows.map(o=>e.jsx(te,{children:o.getVisibleCells().map(d=>e.jsx(Te,{children:ee(d.column.columnDef.cell,d.getContext())},d.id))},o.id))})]})}),r&&e.jsx("div",{className:"flex justify-end",children:e.jsxs(b,{variant:"outline",size:"sm",onClick:()=>p.mutate(),disabled:p.isPending,children:[e.jsx(Qe,{className:"w-4 h-4 mr-2"}),a("accountsTable.resetToDefault")]})})]}),y&&e.jsx(nt,{account:y,groupSummaries:t,plainCcsLane:u,onClose:()=>x(null)}),e.jsx(ze,{open:!!h,onOpenChange:o=>!o&&m(null),children:e.jsxs($e,{children:[e.jsxs(Fe,{children:[e.jsx(Le,{children:a("accountsTable.deleteDialogTitle")}),e.jsx(Ke,{children:a("accountsTable.deleteDialogDesc",{name:h??""})})]}),e.jsxs(He,{children:[e.jsx(Ie,{children:a("accountsTable.cancel")}),e.jsx(qe,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:()=>{h&&(c.mutate(h),m(null))},children:a("accountsTable.delete")})]})]})})]})}const V=({titleKey:s,descKey:r})=>{const{t}=z();return e.jsxs(Ge,{children:[e.jsx(Me,{asChild:!0,children:e.jsx(b,{variant:"ghost",size:"icon","aria-label":t(s),className:"h-5 w-5 rounded-full hover:bg-muted text-muted-foreground/70 transition-colors",children:e.jsx(fe,{className:"h-3 w-3"})})}),e.jsxs(Re,{className:"w-72 p-4 rounded-xl shadow-lg border-border/50 text-sm",side:"top",align:"center",children:[e.jsx("p",{className:"font-semibold tracking-tight",children:t(s)}),e.jsx("p",{className:"mt-1.5 text-muted-foreground leading-relaxed",children:t(r)})]})]})};function ie({totalAccounts:s,primaryAccountName:r,isolatedCount:t,sharedStandardCount:u,deeperSharedCount:a,sharedAloneCount:i,sharedPeerAccountCount:c,deeperReadyAccountCount:p,sharedPeerGroups:n,deeperReadyGroups:h,legacyTargetCount:m,cliproxyCount:y,plainCcsLane:x}){const{t:l}=z(),N=x?x.kind==="native"?l("continuityOverview.lane.native"):x.kind==="account-default"?l("continuityOverview.lane.accountDefault",{name:x.account_name||""}):x.kind==="account-inherited"?l("continuityOverview.lane.accountInherited",{name:x.account_name||""}):x.kind==="profile-default"?l("continuityOverview.lane.profileDefault",{name:x.profile_name||"default"}):x.label:"",o=s<2?"single":n.length===0?t===s?"isolated":"shared-alone":h.length===0?"shared-standard":t>0||i>0||p<c||h.length<n.length?"partial":"ready",d=h[0]||n[0]||"default",f=h.length>0&&(t>0||u>0||n.length>h.length),j={ready:e.jsx(Ze,{className:"h-6 w-6 text-emerald-600 dark:text-emerald-400"}),"shared-standard":e.jsx(E,{className:"h-6 w-6 text-blue-600 dark:text-blue-400"}),single:e.jsx(ge,{className:"h-6 w-6 text-stone-400"}),isolated:e.jsx(W,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"}),"shared-alone":e.jsx(Y,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"}),partial:e.jsx(Y,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"})}[o],S=!!r&&x?.account_name===r,_=s>0&&!!x&&(!r||!S),w=s>1&&o!=="ready";return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(M,{className:"flex flex-col justify-between overflow-hidden relative group p-0 border-border bg-card shadow-sm hover:shadow-md transition-shadow duration-300",children:e.jsxs(R,{className:"p-6 flex flex-col h-full bg-gradient-to-br from-card to-muted/20 space-y-4",children:[e.jsx("div",{className:"flex items-start justify-between gap-4",children:e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start gap-4",children:[e.jsx("div",{className:"rounded-2xl bg-background p-3 shadow-sm ring-1 ring-border/50 self-start shrink-0",children:j}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h3",{className:"text-lg font-semibold tracking-tight",children:l(`continuityReadiness.messages.${o}.title`,{group:d})}),e.jsx(P,{variant:o==="ready"?"default":"secondary",className:"rounded-full px-2.5 py-0.5 font-medium shadow-sm",children:l(`continuityReadiness.state.${o}`)})]}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-lg leading-relaxed",children:l(`continuityReadiness.messages.${o}.description`,{group:d,count:i})})]})]})}),e.jsxs("div",{className:"mt-auto pt-4 flex flex-wrap items-center gap-2",children:[y>0&&e.jsx(P,{variant:"outline",className:"text-blue-700 bg-blue-50/50 border-blue-200/60 dark:border-blue-900/40 dark:bg-blue-900/20 dark:text-blue-300",children:l("historySyncLearningMap.cliproxyManaged",{count:y})}),m>0&&e.jsx(P,{variant:"outline",className:"text-amber-700 bg-amber-50/50 border-amber-200/60 dark:border-amber-900/40 dark:bg-amber-900/20 dark:text-amber-300",children:l("historySyncLearningMap.legacyConfirmation",{count:m})}),n.length>0&&h.length===0&&e.jsx(P,{variant:"secondary",className:"font-mono text-[11px] px-2 bg-muted/50 text-muted-foreground border-transparent",children:l("continuityOverview.recommendBadge",{group:d})}),f&&e.jsx(P,{variant:"secondary",className:"font-mono text-[11px] px-2 bg-muted/50 text-muted-foreground border-transparent",children:l("continuityOverview.partialBadge",{group:d})})]})]})}),(_||w)&&e.jsx(M,{className:"border-dashed",children:e.jsxs(R,{className:"p-5 space-y-4",children:[_&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:l("continuityOverview.plainLaneTitle")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:l("continuityOverview.plainLaneDescription",{lane:N||"plain ccs"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs -r"}),e.jsx(D,{value:"ccs -r",size:"icon"})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs auth backup default"}),e.jsx(D,{value:"ccs auth backup default",size:"icon"})]}),r?e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:`ccs auth default ${r}`}),e.jsx(D,{value:`ccs auth default ${r}`,size:"icon"})]}):e.jsx("p",{className:"text-xs text-muted-foreground",children:l("continuityOverview.setDefaultHint")})]})]}),w&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:l("continuityReadiness.stepsTitle")}),e.jsxs("ol",{className:"space-y-1 pl-5 text-sm text-muted-foreground",children:[e.jsx("li",{children:l("continuityReadiness.steps.syncBoth")}),e.jsx("li",{children:l("continuityReadiness.steps.sameGroup",{group:d})}),e.jsx("li",{children:l("continuityReadiness.steps.enableDeeper")}),e.jsx("li",{children:l("continuityReadiness.steps.resumeOriginal")})]})]})]})}),e.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-3",children:[e.jsxs("div",{className:"flex-1 w-full flex items-center justify-between p-3.5 rounded-xl border border-blue-300/40 bg-blue-50/50 dark:border-blue-900/30 dark:bg-blue-900/10 shadow-sm transition-colors hover:bg-blue-100/40 dark:hover:bg-blue-900/20",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(W,{className:"h-4 w-4 text-blue-700/80 dark:text-blue-400/80"}),e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider text-blue-900 dark:text-blue-200",children:l("historySyncLearningMap.isolated")}),e.jsx(V,{titleKey:"accountsPage.isolated",descKey:"accountsPage.isolatedDesc"})]}),e.jsx("span",{className:"text-lg font-mono font-bold text-blue-900 dark:text-blue-200",children:t})]}),e.jsx(U,{className:"hidden md:block h-4 w-4 text-muted-foreground/40 shrink-0"}),e.jsxs("div",{className:"flex-1 w-full flex items-center justify-between p-3.5 rounded-xl border border-emerald-300/40 bg-emerald-50/50 dark:border-emerald-900/30 dark:bg-emerald-900/10 shadow-sm transition-colors hover:bg-emerald-100/40 dark:hover:bg-emerald-900/20",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E,{className:"h-4 w-4 text-emerald-700/80 dark:text-emerald-400/80"}),e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider text-emerald-900 dark:text-emerald-200",children:l("historySyncLearningMap.shared")}),e.jsx(V,{titleKey:"accountsPage.sharedStandard",descKey:"accountsPage.sharedStandardDesc"})]}),e.jsx("span",{className:"text-lg font-mono font-bold text-emerald-900 dark:text-emerald-200",children:u})]}),e.jsx(U,{className:"hidden md:block h-4 w-4 text-muted-foreground/40 shrink-0"}),e.jsxs("div",{className:"flex-1 w-full flex items-center justify-between p-3.5 rounded-xl border border-indigo-300/40 bg-indigo-50/50 dark:border-indigo-900/30 dark:bg-indigo-900/10 shadow-sm transition-colors hover:bg-indigo-100/40 dark:hover:bg-indigo-900/20",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{className:"h-4 w-4 text-indigo-700/80 dark:text-indigo-400/80"}),e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider text-indigo-900 dark:text-indigo-200",children:l("historySyncLearningMap.deeper")}),e.jsx(V,{titleKey:"accountsPage.sharedDeeper",descKey:"accountsPage.sharedDeeperDesc"})]}),e.jsx("span",{className:"text-lg font-mono font-bold text-indigo-900 dark:text-indigo-200",children:a})]})]})]})}const le=64;function rt({open:s,onClose:r}){const{t}=z(),[u,a]=C.useState(""),[i,c]=C.useState(!1),[p,n]=C.useState(""),[h,m]=C.useState(!1),[y,x]=C.useState(!1),l=/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(u),N=p.trim().toLowerCase().replace(/\s+/g,"-"),o=N.length===0||N.length<=le&&/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(N),d=u&&l?[`ccs auth create ${u}`,i?N.length>0?`--context-group ${N}`:"--share-context":"",i&&h?"--deeper-continuity":""].filter(Boolean).join(" "):t("createAuthProfileDialog.commandFallback"),f=async()=>{!l||i&&!o||(await navigator.clipboard.writeText(d),x(!0),setTimeout(()=>x(!1),2e3))},v=()=>{a(""),c(!1),n(""),m(!1),x(!1),r()};return e.jsx(de,{open:s,onOpenChange:j=>!j&&v(),children:e.jsxs(ue,{className:"sm:max-w-md",children:[e.jsxs(xe,{children:[e.jsx(me,{children:t("createAuthProfileDialog.title")}),e.jsx(he,{children:t("createAuthProfileDialog.description")})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(T,{htmlFor:"profile-name",children:t("createAuthProfileDialog.profileName")}),e.jsx(X,{id:"profile-name",value:u,onChange:j=>a(j.target.value),placeholder:t("createAuthProfileDialog.profileNamePlaceholder"),autoComplete:"off"}),u&&!l&&e.jsx("p",{className:"text-xs text-destructive",children:t("createAuthProfileDialog.invalidProfileName")})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(re,{id:"share-context",checked:i,onCheckedChange:j=>c(j===!0)}),e.jsx(T,{htmlFor:"share-context",className:"cursor-pointer",children:t("createAuthProfileDialog.enableSharedHistory")})]}),i&&e.jsxs("div",{className:"space-y-2 pl-6",children:[e.jsx(T,{htmlFor:"context-group",children:t("createAuthProfileDialog.historySyncGroupOptional")}),e.jsx(X,{id:"context-group",value:p,onChange:j=>n(j.target.value),placeholder:t("createAuthProfileDialog.historySyncGroupPlaceholder"),autoComplete:"off"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("createAuthProfileDialog.historySyncGroupHint")}),e.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[e.jsx(re,{id:"deeper-continuity",checked:h,onCheckedChange:j=>m(j===!0)}),e.jsx(T,{htmlFor:"deeper-continuity",className:"cursor-pointer",children:t("createAuthProfileDialog.deeperContinuity")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("createAuthProfileDialog.deeperContinuityHint")}),p.trim().length>0&&!o&&e.jsx("p",{className:"text-xs text-destructive",children:t("createAuthProfileDialog.invalidContextGroup",{max:le})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(T,{children:t("createAuthProfileDialog.command")}),e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-md font-mono text-sm",children:[e.jsx(Ve,{className:"w-4 h-4 text-muted-foreground shrink-0"}),e.jsx("code",{className:"flex-1 break-all",children:d}),e.jsx(b,{variant:"ghost",size:"sm",className:"shrink-0 h-8 px-2",onClick:f,disabled:!l||i&&!o,children:y?e.jsx(J,{className:"w-4 h-4 text-green-500"}):e.jsx(ae,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{className:"text-sm text-muted-foreground space-y-1",children:[e.jsx("p",{children:t("createAuthProfileDialog.afterRunPrefix")}),e.jsxs("ol",{className:"list-decimal list-inside pl-2 space-y-0.5",children:[e.jsx("li",{children:t("createAuthProfileDialog.afterRunStep1")}),e.jsx("li",{children:t("createAuthProfileDialog.afterRunStep2")})]}),e.jsx("p",{className:"pt-1",children:t("createAuthProfileDialog.poolingHint")})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[e.jsx(b,{variant:"ghost",onClick:v,children:t("createAuthProfileDialog.close")}),e.jsx(b,{onClick:f,disabled:!l||i&&!o,children:y?e.jsxs(e.Fragment,{children:[e.jsx(J,{className:"w-4 h-4 mr-2"}),t("createAuthProfileDialog.copied")]}):e.jsxs(e.Fragment,{children:[e.jsx(ae,{className:"w-4 h-4 mr-2"}),t("createAuthProfileDialog.copyCommand")]})})]})]})]})})}function bt(){const{t:s}=z(),r=ve(),{data:t,isLoading:u}=Je(),a=at(),[i,c]=C.useState(!1),p=t?.accounts||[],n=t?.cliproxyCount||0,h=t?.legacyContextCount||0,m=t?.legacyContinuityCount||0,y=t?.sharedCount||0,x=t?.sharedStandardCount||0,l=t?.deeperSharedCount||0,N=t?.isolatedCount||0,o=t?.sharedAloneCount||0,d=t?.sharedPeerAccountCount||0,f=t?.deeperReadyAccountCount||0,v=t?.sharedPeerGroups||[],j=t?.deeperReadyGroups||[],S=t?.sharedGroups||[],_=t?.groupSummaries||[],w=t?.plainCcsLane||null,L=p.filter(H=>H.context_inferred||H.continuity_inferred),A=L.length,B=A>0,g=()=>r("/cliproxy?provider=claude"),K=()=>r("/cliproxy?provider=claude&action=auth"),G=()=>a.mutate(L);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"hidden h-full min-h-0 lg:flex",children:[e.jsxs("div",{className:"w-80 border-r flex flex-col bg-muted/20 shrink-0",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Xe,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:s("accountsPage.title")})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[s("accountsPage.managePrefix"),e.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5",children:"ccs auth"}),s("accountsPage.manageSuffix")]})]}),e.jsx(Oe,{className:"flex-1",children:e.jsxs("div",{className:"p-4 space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:s("accountsPage.primaryActions")}),e.jsxs(b,{size:"sm",className:"w-full justify-start",onClick:()=>c(!0),children:[e.jsx(se,{className:"w-4 h-4 mr-2"}),s("accountsPage.createAccount")]}),e.jsxs(b,{size:"sm",className:"w-full justify-start",onClick:K,children:[e.jsx(ne,{className:"w-4 h-4 mr-2"}),s("accountsPage.authClaudeInPool")]}),e.jsxs(b,{variant:"outline",size:"sm",className:"w-full justify-start",onClick:g,children:[s("accountsPage.openClaudePoolSettings"),e.jsx(U,{className:"w-4 h-4 ml-auto"})]})]}),B?e.jsxs("section",{className:"space-y-2",children:[e.jsx("p",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:s("accountsPage.migrationFollowup")}),e.jsxs("div",{className:"rounded-md border border-amber-500/50 bg-amber-500/10 p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Y,{className:"h-4 w-4 mt-0.5 text-amber-700 dark:text-amber-400 shrink-0"}),e.jsxs("div",{className:"space-y-1 text-xs",children:[h>0&&e.jsx("p",{className:"text-amber-800 dark:text-amber-300",children:s("accountsPage.legacyContextPending",{count:h})}),m>0&&e.jsx("p",{className:"text-amber-800 dark:text-amber-300",children:s("accountsPage.legacyContinuityPending",{count:m})})]})]}),e.jsx(b,{variant:"secondary",size:"sm",className:"w-full justify-start",onClick:G,disabled:a.isPending||A===0,children:a.isPending?s("accountsPage.confirmingLegacy"):s("accountsPage.confirmLegacy",{count:A})})]})]}):e.jsx("div",{className:"rounded-md border bg-background px-3 py-2 text-xs text-muted-foreground",children:s("accountsPage.noLegacyFollowup")}),e.jsxs(M,{children:[e.jsxs(I,{className:"pb-2",children:[e.jsx(q,{className:"text-sm",children:s("accountsPage.quickCommands")}),e.jsx(Q,{children:s("accountsPage.quickCommandsDesc")})]}),e.jsxs(R,{className:"space-y-2",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs auth create work --context-group sprint-a --deeper-continuity"}),e.jsx(D,{value:"ccs auth create work --context-group sprint-a --deeper-continuity",size:"icon"})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-2 font-mono text-[11px] flex items-start gap-2",children:[e.jsx("span",{className:"flex-1 break-all",children:"ccs cliproxy auth claude"}),e.jsx(D,{value:"ccs cliproxy auth claude",size:"icon"})]})]})]})]})})]}),e.jsxs("div",{className:"flex-1 min-w-0 flex flex-col bg-background",children:[e.jsxs("div",{className:"px-5 py-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(P,{variant:"outline",children:s("accountsPage.workspaceBadge")}),e.jsx(P,{variant:"secondary",children:s("accountsPage.historySyncBadge")})]}),e.jsx("h2",{className:"mt-2 text-xl font-semibold tracking-tight",children:s("accountsPage.authAccounts")}),e.jsxs("p",{className:"mt-1 text-sm text-muted-foreground",children:[s("accountsPage.tableScopePrefix"),e.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5",children:"ccs auth"}),s("accountsPage.tableScopeMiddle"),e.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5",children:s("accountsTable.sync")}),s("accountsPage.tableScopeSuffix")]})]}),e.jsxs("div",{className:"flex-1 min-h-0 p-5 space-y-4 overflow-y-auto",children:[e.jsx(ie,{totalAccounts:p.length,primaryAccountName:p.length===1?p[0]?.name:null,isolatedCount:N,sharedStandardCount:x,deeperSharedCount:l,sharedAloneCount:o,sharedPeerAccountCount:d,deeperReadyAccountCount:f,sharedGroups:S,sharedPeerGroups:v,deeperReadyGroups:j,legacyTargetCount:A,cliproxyCount:n,plainCcsLane:w}),e.jsxs(M,{className:"flex flex-col",children:[e.jsxs(I,{className:"pb-3",children:[e.jsx(q,{className:"text-lg",children:s("accountsPage.accountMatrix")}),e.jsx(Q,{children:s("accountsPage.sharedTotalDesc",{count:y})})]}),e.jsx(R,{children:u?e.jsx("div",{className:"text-muted-foreground",children:s("accountsPage.loadingAccounts")}):e.jsx(ce,{data:p,defaultAccount:t?.default??null,groupSummaries:_,plainCcsLane:w})})]})]})]})]}),e.jsxs("div",{className:"p-4 space-y-4 lg:hidden",children:[e.jsxs(M,{children:[e.jsxs(I,{children:[e.jsx(q,{className:"text-lg",children:s("accountsPage.title")}),e.jsxs(Q,{children:[s("accountsPage.managePrefix"),e.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5",children:"ccs auth"}),s("accountsPage.mobileManageSuffix")]})]}),e.jsxs(R,{className:"space-y-2",children:[e.jsxs(b,{className:"w-full",onClick:()=>c(!0),children:[e.jsx(se,{className:"w-4 h-4 mr-2"}),s("accountsPage.createAccount")]}),e.jsxs(b,{variant:"outline",className:"w-full",onClick:g,children:[s("accountsPage.openCliProxyClaudePool"),e.jsx(U,{className:"w-4 h-4 ml-2"})]}),e.jsxs(b,{variant:"outline",className:"w-full",onClick:K,children:[s("accountsPage.authClaudeInPool"),e.jsx(ne,{className:"w-4 h-4 ml-2"})]}),e.jsx(b,{variant:"outline",className:"w-full",onClick:G,disabled:a.isPending||A===0,children:a.isPending?s("accountsPage.confirmingLegacy"):s("accountsPage.confirmLegacy",{count:A})})]})]}),e.jsx(ie,{totalAccounts:p.length,primaryAccountName:p.length===1?p[0]?.name:null,isolatedCount:N,sharedStandardCount:x,deeperSharedCount:l,sharedAloneCount:o,sharedPeerAccountCount:d,deeperReadyAccountCount:f,sharedGroups:S,sharedPeerGroups:v,deeperReadyGroups:j,legacyTargetCount:A,cliproxyCount:n,plainCcsLane:w}),e.jsxs(M,{children:[e.jsx(I,{className:"pb-3",children:e.jsx(q,{className:"text-base",children:s("accountsPage.accountMatrix")})}),e.jsx(R,{children:u?e.jsx("div",{className:"text-muted-foreground",children:s("accountsPage.loadingAccounts")}):e.jsx(ce,{data:p,defaultAccount:t?.default??null,groupSummaries:_,plainCcsLane:w})})]})]}),e.jsx(rt,{open:i,onClose:()=>c(!1)})]})}export{bt as AccountsPage};
@@ -1 +0,0 @@
1
- import{j as e,a4 as s,a5 as r,a6 as n,a7 as i,a8 as d,a9 as c,aa as u,ab as f}from"./radix-ui-BlliRfHq.js";import"./react-vendor-CNOkPC89.js";import{c as o,bC as l}from"./index-TSYtCr3K.js";function A({...a}){return e.jsx(s,{"data-slot":"alert-dialog",...a})}function g({...a}){return e.jsx(u,{"data-slot":"alert-dialog-portal",...a})}function m({className:a,...t}){return e.jsx(f,{"data-slot":"alert-dialog-overlay",className:o("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...t})}function D({className:a,...t}){return e.jsxs(g,{children:[e.jsx(m,{}),e.jsx(r,{"data-slot":"alert-dialog-content",className:o("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a),...t})]})}function b({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-header",className:o("flex flex-col gap-2 text-center sm:text-left",a),...t})}function N({className:a,...t}){return e.jsx("div",{"data-slot":"alert-dialog-footer",className:o("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...t})}function v({className:a,...t}){return e.jsx(n,{"data-slot":"alert-dialog-title",className:o("text-lg font-semibold",a),...t})}function w({className:a,...t}){return e.jsx(i,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground text-sm",a),...t})}function y({className:a,...t}){return e.jsx(c,{className:o(l(),a),...t})}function C({className:a,...t}){return e.jsx(d,{className:o(l({variant:"outline"}),a),...t})}export{A,D as a,b,v as c,w as d,N as e,C as f,y as g};
@@ -1,4 +0,0 @@
1
- import{j as e}from"./radix-ui-BlliRfHq.js";import{r as u,h as Ke}from"./react-vendor-CNOkPC89.js";import{B as L,c as D,T as Je,s as Be,t as qe,v as Ye,w as Ve,x as We,y as Ge,z as me,d as v,a as B,A as ae,L as R,I as U,E as J,F as Oe,G as Xe,H as Ze,J as es,K as ss,S as je,M as Z,N as xe,O as Te,Q as ts,R as as,U as Ee,V as Ae,W as _e,X as rs,Y as ns,Z as Ne,_ as ve,$ as ee,a0 as is,q as os,a1 as ge,C as Re,b as Me,o as ls,p as cs,a2 as ds,a3 as ms,a4 as us,a5 as xs,a6 as hs,a7 as ps,a8 as gs,a9 as fs,aa as js,ab as Ns}from"./index-TSYtCr3K.js";import{a as vs,u as be,b as we}from"./tanstack-BjiH4QZq.js";import{C as he}from"./confirm-dialog-CP26_Zko.js";import{t as T}from"./notifications-B2HqRBj7.js";import{L as se,R as G,aj as De,ao as bs,a5 as te,Q as ws,ap as Le,a6 as fe,C as Ie,aq as Cs,a3 as ys,ar as Ps,n as pe,X as ks,Z as Fe,as as Ce,l as ye,at as Ue,au as Ss,a9 as Os,ai as Ts,u as He,av as Es,v as Qe,m as As,aw as _s}from"./icons-CQ3MLSan.js";import{M as $e}from"./masked-input-CTkIqCMg.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";import"./alert-dialog-DQK2Jxfk.js";function Rs({className:s,showTooltip:r=!0}){const n=e.jsxs(L,{variant:"outline",className:D("bg-accent/10 border-accent/30 text-accent","dark:bg-accent/20 dark:border-accent/40 dark:text-accent-foreground",s),children:[e.jsx("img",{src:"/icons/openrouter.svg",alt:"OpenRouter",className:"mr-1 h-3 w-3"}),"OpenRouter"]});return r?e.jsxs(Je,{children:[e.jsx(Be,{asChild:!0,children:n}),e.jsx(qe,{children:e.jsx("p",{children:"Access 349+ models via OpenRouter"})})]}):n}function Pe(s){return[/^ANTHROPIC_AUTH_TOKEN$/,/_API_KEY$/,/_AUTH_TOKEN$/,/^API_KEY$/,/^AUTH_TOKEN$/,/_SECRET$/,/^SECRET$/].some(n=>n.test(s))}function ze(s){return s?.env?(s.env.ANTHROPIC_BASE_URL||"").toLowerCase().includes("openrouter.ai"):!1}function Ms(s){return{opus:s.ANTHROPIC_DEFAULT_OPUS_MODEL||void 0,sonnet:s.ANTHROPIC_DEFAULT_SONNET_MODEL||void 0,haiku:s.ANTHROPIC_DEFAULT_HAIKU_MODEL||void 0}}function Ds(s,r){const n={...s};return r.opus?n.ANTHROPIC_DEFAULT_OPUS_MODEL=r.opus:delete n.ANTHROPIC_DEFAULT_OPUS_MODEL,r.sonnet?n.ANTHROPIC_DEFAULT_SONNET_MODEL=r.sonnet:delete n.ANTHROPIC_DEFAULT_SONNET_MODEL,r.haiku?n.ANTHROPIC_DEFAULT_HAIKU_MODEL=r.haiku:delete n.ANTHROPIC_DEFAULT_HAIKU_MODEL,n}function Ls({profileName:s,target:r,data:n,settings:m,isLoading:c,isSaving:g,isTargetSaving:a,hasChanges:f,isRawJsonValid:t,onTargetChange:p,onRefresh:h,onDelete:b,onSave:w}){const k=g||a,j=c||k;return e.jsxs("div",{className:"px-6 py-4 border-b bg-background flex items-center justify-between shrink-0",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-lg font-semibold",children:s}),n?.path&&e.jsx(L,{variant:"outline",className:"text-xs",children:n.path.replace(/^.*\//,"")}),ze(m)&&e.jsx(Rs,{className:"ml-1"})]}),n&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Last modified: ",new Date(n.mtime).toLocaleString()]}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Default target:"}),e.jsxs(Ye,{value:r,onValueChange:S=>{j||p(S)},disabled:j,children:[e.jsx(Ve,{className:"h-7 w-[170px] text-xs",disabled:j,children:e.jsx(We,{})}),e.jsxs(Ge,{children:[e.jsx(me,{value:"claude",children:"Claude Code"}),e.jsx(me,{value:"droid",children:"Factory Droid"}),e.jsx(me,{value:"codex",children:"Codex CLI"})]})]}),a&&e.jsx(se,{className:"w-3.5 h-3.5 animate-spin text-muted-foreground"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{variant:"ghost",size:"sm",onClick:h,disabled:j,children:e.jsx(G,{className:`w-4 h-4 ${c?"animate-spin":""}`})}),b&&e.jsx(v,{variant:"ghost",size:"sm",onClick:b,disabled:k,children:e.jsx(De,{className:"w-4 h-4 text-destructive"})}),e.jsx(v,{size:"sm",onClick:w,disabled:k||!f||!t,children:g?e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"w-4 h-4 mr-1 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(bs,{className:"w-4 h-4 mr-1"}),"Save"]})})]})]})}function Is({currentSettings:s,newEnvKey:r,newEnvValue:n,onNewEnvKeyChange:m,onNewEnvValueChange:c,onEnvValueChange:g,onAddEnvVar:a}){const{t:f}=B();return e.jsxs(e.Fragment,{children:[e.jsx(ae,{className:"flex-1",children:e.jsx("div",{className:"p-4 space-y-4",children:s?.env&&Object.keys(s.env).length>0?e.jsx(e.Fragment,{children:Object.entries(s.env).map(([t,p])=>e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(R,{className:"text-xs font-medium flex items-center gap-2 text-muted-foreground",children:[t,Pe(t)&&e.jsx(L,{variant:"secondary",className:"text-[10px] px-1 py-0 h-4",children:f("envEditor.sensitive")})]}),Pe(t)?e.jsx($e,{value:p,onChange:h=>g(t,h.target.value),className:"font-mono text-sm h-8"}):e.jsx(U,{value:p,onChange:h=>g(t,h.target.value),className:"font-mono text-sm h-8"})]},t))}):e.jsxs("div",{className:"py-8 text-center text-muted-foreground bg-muted/30 rounded-lg border border-dashed text-sm",children:[e.jsx("p",{children:f("envEditor.none")}),e.jsx("p",{className:"text-xs mt-1 opacity-70",children:f("envEditor.noneHint")})]})})}),e.jsxs("div",{className:"p-4 border-t bg-background shrink-0",children:[e.jsx(R,{className:"text-xs font-medium text-muted-foreground",children:f("envEditor.addVariable")}),e.jsxs("div",{className:"flex gap-2 mt-2",children:[e.jsx(U,{placeholder:f("envEditor.keyPlaceholder"),value:r,onChange:t=>m(t.target.value.toUpperCase()),className:"font-mono text-sm h-8 w-2/5",onKeyDown:t=>t.key==="Enter"&&r.trim()&&a()}),e.jsx(U,{placeholder:f("envEditor.valuePlaceholder"),value:n,onChange:t=>c(t.target.value),className:"font-mono text-sm h-8 flex-1",onKeyDown:t=>t.key==="Enter"&&r.trim()&&a()}),e.jsx(v,{variant:"outline",size:"sm",className:"h-8",onClick:a,disabled:!r.trim(),children:e.jsx(te,{className:"w-4 h-4"})})]})]})]})}function Fs({profileName:s,target:r,data:n}){const{t:m}=B(),c=r==="droid";return e.jsx(ae,{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(ws,{className:"w-4 h-4"}),m("profileEditor.profileInfo")]}),e.jsx("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:n&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("profileEditor.profileName")}),e.jsx("span",{className:"font-mono",children:n.profile})]}),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:m("profileEditor.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:n.path}),e.jsx(J,{value:n.path,size:"icon",className:"h-5 w-5"})]})]}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("profileEditor.lastModified")}),e.jsx("span",{className:"text-xs",children:new Date(n.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:m("profileEditor.defaultTarget")}),e.jsx("span",{className:"font-mono",children:r})]})]})})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:m("profileEditor.quickUsage")}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsxs("div",{children:[e.jsx(R,{className:"text-xs text-muted-foreground",children:m("profileEditor.runWithProfile")}),e.jsxs("div",{className:"mt-1 flex gap-2",children:[e.jsxs("code",{className:"flex-1 px-2 py-1.5 bg-muted rounded text-xs font-mono truncate",children:["ccs ",s,' "prompt"']}),e.jsx(J,{value:`ccs ${s} "prompt"`,size:"icon",className:"h-6 w-6"})]})]}),e.jsxs("div",{children:[e.jsx(R,{className:"text-xs text-muted-foreground",children:m(c?"profileEditor.droidAliasExplicit":"profileEditor.runOnDroid")}),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:`ccs-droid ${s} "prompt"`}),e.jsx(J,{value:`ccs-droid ${s} "prompt"`,size:"icon",className:"h-6 w-6"})]})]}),e.jsxs("div",{children:[e.jsx(R,{className:"text-xs text-muted-foreground",children:m(c?"profileEditor.overrideToClaude":"profileEditor.runOnDroidWithFlag")}),e.jsxs("div",{className:"mt-1 flex gap-2",children:[e.jsxs("code",{className:"flex-1 px-2 py-1.5 bg-muted rounded text-xs font-mono truncate",children:["ccs ",s," --target ",c?"claude":"droid",' "prompt"']}),e.jsx(J,{value:`ccs ${s} --target ${c?"claude":"droid"} "prompt"`,size:"icon",className:"h-6 w-6"})]})]}),e.jsxs("div",{children:[e.jsx(R,{className:"text-xs text-muted-foreground",children:m("profileEditor.setAsDefault")}),e.jsxs("div",{className:"mt-1 flex gap-2",children:[e.jsxs("code",{className:"flex-1 px-2 py-1.5 bg-muted rounded text-xs font-mono truncate",children:["ccs default ",s]}),e.jsx(J,{value:`ccs default ${s}`,size:"icon",className:"h-6 w-6"})]})]})]})]})]})})}function Us({value:s,onChange:r,placeholder:n="Search models...",className:m}){const[c,g]=u.useState(""),[a,f]=u.useState(null),{models:t,isLoading:p,isError:h,isFetching:b}=Oe(),w=Xe(),k=u.useMemo(()=>Ze(t,c,{category:a??void 0}),[t,c,a]),j=u.useMemo(()=>es(t,2),[t]),S=!c.trim()&&!a,H=u.useMemo(()=>{const d={anthropic:[],openai:[],google:[],meta:[],mistral:[],opensource:[],other:[]};k.forEach(x=>{d[x.category].push(x)});for(const x of Object.keys(d))d[x]=ss(d[x]);return d},[k]),C=u.useCallback(()=>{w()},[w]),M=t.find(d=>d.id===s);return p&&t.length===0?e.jsxs("div",{className:D("space-y-2",m),children:[e.jsx(je,{className:"h-10 w-full"}),e.jsx(je,{className:"h-32 w-full"})]}):e.jsxs("div",{className:D("space-y-2 w-full min-w-0 overflow-hidden",m),children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(Le,{className:"text-muted-foreground absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2"}),e.jsx(U,{value:c,onChange:d=>g(d.target.value),placeholder:n,className:"pl-9"})]}),e.jsx(v,{variant:"outline",size:"icon",onClick:C,disabled:b,title:"Refresh models",children:b?e.jsx(se,{className:"h-4 w-4 animate-spin"}):e.jsx(G,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"flex flex-wrap gap-1",children:[e.jsxs(L,{variant:a===null?"default":"outline",className:"cursor-pointer",onClick:()=>f(null),children:["All (",t.length,")"]}),Object.keys(Z).map(d=>{const x=H[d].length;return x===0?null:e.jsxs(L,{variant:a===d?"default":"outline",className:"cursor-pointer",onClick:()=>f(d),children:[Z[d]," (",x,")"]},d)})]}),M&&e.jsxs("div",{className:"bg-muted rounded-md p-2 text-sm",children:[e.jsx("span",{className:"font-medium",children:M.name}),e.jsxs("span",{className:"text-muted-foreground ml-2",children:[xe(M.pricing)," |"," ",Te(M.context_length)]})]}),e.jsx(ae,{className:"h-72 w-full rounded-md border",children:h?e.jsxs("div",{className:"text-destructive p-4 text-center",children:["Failed to load models."," ",e.jsx(v,{variant:"link",onClick:C,children:"Retry"})]}):k.length===0?e.jsxs("div",{className:"text-muted-foreground p-4 text-center",children:['No models found matching "',c,'"']}):e.jsxs("div",{className:"space-y-6 p-3",children:[S&&j.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"text-muted-foreground bg-background sticky top-0 mb-2 flex items-center gap-1.5 py-1.5 text-xs font-semibold border-b pb-2",children:[e.jsx(fe,{className:"h-3 w-3 text-accent"}),e.jsx("span",{children:"Newest Models"})]}),e.jsx("div",{className:"space-y-1",children:j.map(d=>e.jsx(ke,{model:d,isSelected:d.id===s,onClick:()=>r(d.id),showAge:!0},d.id))})]}),Object.keys(Z).map(d=>{const x=H[d];return x.length===0?null:e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground bg-background sticky top-0 mb-2 py-1.5 text-xs font-semibold border-b pb-2",children:Z[d]}),e.jsx("div",{className:"space-y-1",children:x.map(l=>e.jsx(ke,{model:l,isSelected:l.id===s,onClick:()=>r(l.id)},l.id))})]},d)})]})})]})}function ke({model:s,isSelected:r,onClick:n,showAge:m=!1}){return e.jsxs("button",{type:"button",onClick:n,className:D("group flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent text-accent-foreground"),children:[e.jsx("span",{className:"flex-1 min-w-0 truncate font-medium",children:s.name}),e.jsxs("span",{className:D("flex shrink-0 items-center gap-1 text-xs whitespace-nowrap",r?"text-accent-foreground/80":"text-muted-foreground group-hover:text-accent-foreground/80"),children:[m&&s.created&&e.jsx(L,{variant:"outline",className:D("text-[10px] px-1",r?"border-accent-foreground/30 text-accent-foreground/80":"text-accent border-accent/30 group-hover:text-accent-foreground/80 group-hover:border-accent-foreground/30"),children:ts(s.created)}),s.isFree?e.jsx(L,{variant:"secondary",className:D("text-[10px] px-1",r?"bg-accent-foreground/20 text-accent-foreground":"group-hover:bg-accent-foreground/20 group-hover:text-accent-foreground"),children:"Free"}):s.isExacto?e.jsxs(e.Fragment,{children:[e.jsx(L,{variant:"outline",className:D("text-[10px] px-1 border-emerald-500/50 text-emerald-600",r?"border-accent-foreground/30 text-accent-foreground/80":"group-hover:border-accent-foreground/30 group-hover:text-accent-foreground/80"),children:"Exacto"}),e.jsx("span",{className:"tabular-nums",children:xe(s.pricing)})]}):e.jsx("span",{className:"tabular-nums",children:xe(s.pricing)}),e.jsx("span",{className:"tabular-nums",children:Te(s.context_length)})]})]})}function Hs({selectedModel:s,value:r,onChange:n,className:m}){const{t:c}=B(),{models:g}=Oe(),a=u.useMemo(()=>s?as(s,g):{},[s,g]),f=()=>{n(a)},t=(h,b)=>{n({...r,[h]:b||void 0})},p=s&&Object.keys(a).length>0;return e.jsxs(Ee,{className:D("group",m),children:[e.jsxs(Ae,{className:"flex items-center gap-2 text-sm font-medium hover:underline",children:[e.jsx(Ie,{className:"h-4 w-4 transition-transform group-data-[state=open]:rotate-90"}),c("modelTierMapping.title"),e.jsxs("span",{className:"text-muted-foreground font-normal",children:["(",c("modelTierMapping.advanced"),")"]})]}),e.jsxs(_e,{className:"space-y-3 pt-3",children:[e.jsx("p",{className:"text-muted-foreground text-sm",children:c("modelTierMapping.description")}),p&&e.jsxs(v,{type:"button",variant:"outline",size:"sm",onClick:f,children:[e.jsx(Cs,{className:"mr-1 h-4 w-4"}),c("modelTierMapping.autoSuggest",{provider:s?.split("/")[0]})]}),e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"grid grid-cols-[80px_1fr] items-center gap-2",children:[e.jsx(R,{htmlFor:"tier-opus",className:"text-right",children:"Opus"}),e.jsx(U,{id:"tier-opus",value:r.opus??"",onChange:h=>t("opus",h.target.value),placeholder:c("modelTierMapping.opusPlaceholder")})]}),e.jsxs("div",{className:"grid grid-cols-[80px_1fr] items-center gap-2",children:[e.jsx(R,{htmlFor:"tier-sonnet",className:"text-right",children:"Sonnet"}),e.jsx(U,{id:"tier-sonnet",value:r.sonnet??"",onChange:h=>t("sonnet",h.target.value),placeholder:c("modelTierMapping.sonnetPlaceholder")})]}),e.jsxs("div",{className:"grid grid-cols-[80px_1fr] items-center gap-2",children:[e.jsx(R,{htmlFor:"tier-haiku",className:"text-right",children:"Haiku"}),e.jsx(U,{id:"tier-haiku",value:r.haiku??"",onChange:h=>t("haiku",h.target.value),placeholder:c("modelTierMapping.haikuPlaceholder")})]})]}),e.jsx("p",{className:"text-muted-foreground text-xs",children:c("modelTierMapping.footer")})]})]})}function Qs({profileName:s,target:r,data:n,currentSettings:m,newEnvKey:c,newEnvValue:g,onNewEnvKeyChange:a,onNewEnvValueChange:f,onEnvValueChange:t,onAddEnvVar:p,onEnvBulkChange:h}){const b=ze(m),w=m?.env,k=u.useMemo(()=>Ms(w??{}),[w]),j=w??{},S=l=>{if(h){const Q={...j,ANTHROPIC_MODEL:l,ANTHROPIC_DEFAULT_OPUS_MODEL:l,ANTHROPIC_DEFAULT_SONNET_MODEL:l,ANTHROPIC_DEFAULT_HAIKU_MODEL:l};h(Q)}else t("ANTHROPIC_MODEL",l),t("ANTHROPIC_DEFAULT_OPUS_MODEL",l),t("ANTHROPIC_DEFAULT_SONNET_MODEL",l),t("ANTHROPIC_DEFAULT_HAIKU_MODEL",l);T.success(ee.t("commonToast.appliedModelAllTiers"),{duration:2e3})},H=l=>{if(h){const Q=Ds(j,l);h(Q)}else l.opus!==void 0&&t("ANTHROPIC_DEFAULT_OPUS_MODEL",l.opus||""),l.sonnet!==void 0&&t("ANTHROPIC_DEFAULT_SONNET_MODEL",l.sonnet||""),l.haiku!==void 0&&t("ANTHROPIC_DEFAULT_HAIKU_MODEL",l.haiku||"")},[C,M]=u.useState(!1),d=new Set(["ANTHROPIC_AUTH_TOKEN"]),x=Object.entries(j).filter(([l])=>!d.has(l));return e.jsx("div",{className:"h-full w-full min-w-0 flex flex-col",children:e.jsxs(rs,{defaultValue:"env",className:"h-full w-full min-w-0 flex flex-col",children:[e.jsx("div",{className:"px-4 pt-4 shrink-0",children:e.jsxs(ns,{className:"w-full",children:[e.jsx(Ne,{value:"env",className:"flex-1",children:b?"Configuration":"Environment Variables"}),e.jsx(Ne,{value:"info",className:"flex-1",children:"Info & Usage"})]})}),e.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col min-w-0",children:[e.jsx(ve,{value:"env",className:"flex-1 mt-0 border-0 p-0 data-[state=inactive]:hidden flex flex-col overflow-hidden min-w-0",children:b?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsxs("div",{className:"h-full overflow-y-auto overflow-x-hidden p-4 space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(R,{className:"text-sm font-medium",children:"Model Selection"}),e.jsx(Us,{value:j.ANTHROPIC_MODEL,onChange:S,placeholder:"Search OpenRouter models..."})]}),e.jsx(Hs,{selectedModel:j.ANTHROPIC_MODEL,value:k,onChange:H}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(R,{className:"text-sm font-medium",children:"API Key"}),e.jsx($e,{value:j.ANTHROPIC_AUTH_TOKEN||"",onChange:l=>t("ANTHROPIC_AUTH_TOKEN",l.target.value),placeholder:"sk-or-v1-...",className:"font-mono text-sm"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Get your API key from"," ",e.jsx("a",{href:"https://openrouter.ai/keys",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"openrouter.ai/keys"})]})]}),x.length>0&&e.jsxs(Ee,{open:C,onOpenChange:M,children:[e.jsxs(Ae,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors group",children:[e.jsx(Ie,{className:D("h-4 w-4 transition-transform",C&&"rotate-90")}),e.jsx(ys,{className:"h-4 w-4"}),e.jsx("span",{children:"Additional Variables"}),e.jsxs("span",{className:"text-xs font-normal opacity-70",children:["(",x.length,")"]})]}),e.jsx(_e,{className:"pt-4",children:e.jsx("div",{className:"space-y-3 border rounded-lg p-3 bg-muted/30",children:x.map(([l,Q])=>e.jsxs("div",{className:"space-y-1",children:[e.jsx(R,{className:"text-xs text-muted-foreground",children:l}),e.jsx(U,{value:Q,onChange:$=>t(l,$.target.value),className:"font-mono text-xs h-8"})]},l))})})]})]})}),e.jsxs("div",{className:"p-4 border-t bg-background shrink-0",children:[e.jsx(R,{className:"text-xs font-medium text-muted-foreground",children:"Add Environment Variable"}),e.jsxs("div",{className:"flex gap-2 mt-2",children:[e.jsx(U,{placeholder:"VARIABLE_NAME",value:c,onChange:l=>a(l.target.value.toUpperCase()),className:"font-mono text-sm h-8 w-2/5",onKeyDown:l=>l.key==="Enter"&&c.trim()&&p()}),e.jsx(U,{placeholder:"value",value:g,onChange:l=>f(l.target.value),className:"font-mono text-sm h-8 flex-1",onKeyDown:l=>l.key==="Enter"&&c.trim()&&p()}),e.jsx(v,{variant:"outline",size:"sm",className:"h-8",onClick:p,disabled:!c.trim(),children:e.jsx(te,{className:"w-4 h-4"})})]})]})]}):e.jsx(Is,{currentSettings:m,newEnvKey:c,newEnvValue:g,onNewEnvKeyChange:a,onNewEnvValueChange:f,onEnvValueChange:t,onAddEnvVar:p})}),e.jsx(ve,{value:"info",className:"h-full mt-0 border-0 p-0 data-[state=inactive]:hidden",children:e.jsx(Fs,{profileName:s,target:r,data:n})})]})]})})}function $s({profileName:s,profileTarget:r,onDelete:n,onHasChangesUpdate:m}){const[c,g]=u.useState({}),[a,f]=u.useState(!1),[t,p]=u.useState(null),[h,b]=u.useState(""),[w,k]=u.useState(""),j=vs(),{data:S,isLoading:H,isError:C,refetch:M}=be({queryKey:["settings",s],queryFn:async()=>{const o=await fetch(`/api/settings/${s}/raw`);if(!o.ok)throw new Error(`Failed to load settings: ${o.status}`);return o.json()}}),d=S?.settings,x=u.useMemo(()=>{if(t!==null)try{return JSON.parse(t)}catch{}if(d)return{...d,env:{...d.env,...c}}},[d,c,t]),l=u.useMemo(()=>t!==null?t:d?JSON.stringify(d,null,2):"",[t,d]),Q=u.useCallback(o=>{p(o)},[]),$=u.useCallback(o=>{const N={...x??{}},A=N.ccs_image&&typeof N.ccs_image=="object"?{...N.ccs_image}:{};o?A.native_read=!0:delete A.native_read,Object.keys(A).length>0?N.ccs_image=A:delete N.ccs_image,p(JSON.stringify(N,null,2))},[x]),q=(o,N)=>{const A={...x?.env||{},[o]:N};g(W=>({...W,[o]:N})),p(JSON.stringify({...x,env:A},null,2))},K=o=>{const N={...x?.env||{},...o};g(A=>({...A,...o})),p(JSON.stringify({...x,env:N},null,2))},X=()=>{if(!h.trim())return;const o=h.trim(),N=w,A={...x?.env||{},[o]:N};g(W=>({...W,[o]:N})),p(JSON.stringify({...x,env:A},null,2)),b(""),k("")},y=u.useMemo(()=>{try{return JSON.parse(l),!0}catch{return!1}},[l]),I=u.useMemo(()=>t!==null?t!==JSON.stringify(d,null,2):Object.keys(c).length>0,[t,c,d]),O=u.useDeferredValue(l),z=u.useMemo(()=>{if(!I||!y)return null;try{return JSON.parse(O)}catch{return null}},[I,y,O]),{data:Y,isFetching:re,isError:V,isPlaceholderData:ne}=be({queryKey:["settings",s,"image-analysis-status-preview",O],enabled:z!==null,placeholderData:o=>o,queryFn:async()=>{const o=await fetch(`/api/settings/${s}/image-analysis-status`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:z})});if(!o.ok)throw new Error(`Failed to preview image-analysis status: ${o.status}`);return o.json()}}),ie=I&&y&&!V?Y?.imageAnalysisStatus??S?.imageAnalysisStatus:S?.imageAnalysisStatus,oe=I&&y&&!V&&Y?.imageAnalysisStatus?"editor":"saved",le=I?y?V?"saved":re&&(!Y?.imageAnalysisStatus||ne)?"refreshing":"preview":"invalid":"saved",ce=x?.ccs_image?.native_read===!0,de=u.useMemo(()=>{const o=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN"],N=x?.env||{};return o.filter(A=>!N[A]?.trim())},[x]);u.useEffect(()=>{m?.(I)},[I,m]);const i=we({mutationFn:async()=>{let o;try{o=JSON.parse(l)}catch{o={...S?.settings,env:{...S?.settings?.env,...c}}}const N=await fetch(`/api/settings/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:o,expectedMtime:S?.mtime})});if(N.status===409)throw new Error("CONFLICT");if(!N.ok)throw new Error("Failed to save");return N.json()},onSuccess:()=>{j.invalidateQueries({queryKey:["settings",s]}),j.invalidateQueries({queryKey:["profiles"]}),g({}),p(null),T.success(ee.t("commonToast.settingsSaved"))},onError:o=>{o.message==="CONFLICT"?f(!0):T.error(o.message)}}),E=we({mutationFn:async o=>(await os.profiles.update(s,{target:o}),o),onSuccess:()=>{j.invalidateQueries({queryKey:["profiles"]}),T.success(ee.t("commonToast.defaultTargetUpdated"))},onError:(o,N)=>{const A=N==="droid"?"Factory Droid":N==="codex"?"Codex CLI":"Claude Code",W=o.message.trim()?`: ${o.message}`:"";T.error(ee.t("commonToast.failedUpdateDefaultTarget",{target:A,suffix:W}))}}),P=r||"claude",F=i.isPending||E.isPending,_=async o=>{f(!1),o?(await M(),i.mutate()):(g({}),p(null))};return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsx(Ls,{profileName:s,target:P,data:S,settings:x,isLoading:H,isSaving:i.isPending,isTargetSaving:E.isPending,hasChanges:I,isRawJsonValid:y,onTargetChange:o=>{F||o!==P&&E.mutate(o)},onRefresh:()=>{F||M()},onDelete:n,onSave:()=>{F||i.mutate()}}),H?e.jsxs("div",{className:"flex-1 flex items-center justify-center",children:[e.jsx(se,{className:"w-8 h-8 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-3 text-muted-foreground",children:"Loading settings..."})]}):C?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"text-center space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Failed to load settings."}),e.jsxs(v,{variant:"outline",size:"sm",onClick:()=>M(),children:[e.jsx(G,{className:"w-4 h-4 mr-1"}),"Retry"]})]})}):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.jsx(Qs,{profileName:s,target:P,data:S,currentSettings:x,newEnvKey:h,newEnvValue:w,onNewEnvKeyChange:b,onNewEnvValueChange:k,onEnvValueChange:q,onEnvBulkChange:K,onAddEnvVar:X})}),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(Ps,{className:"w-4 h-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Raw Configuration (JSON)"})]}),e.jsx(is,{rawJsonContent:l,isRawJsonValid:y,rawJsonEdits:t,settings:d,profileTarget:P,imageAnalysisStatus:ie,imageAnalysisStatusSource:oe,imageAnalysisStatusPreviewState:le,nativeReadPreferenceOverride:ce,onToggleNativeRead:$,onChange:Q,missingRequiredFields:de})]})]}),e.jsx(he,{open:a,title:"File Modified Externally",description:"Overwrite with your changes or discard?",confirmText:"Overwrite",variant:"destructive",onConfirm:()=>_(!0),onCancel:()=>_(!1)})]},s)}const Se="ccs:openrouter-banner-dismissed";function zs({onCreateClick:s}){const[r,n]=u.useState(!0),{modelCount:m,isLoading:c}=ge();u.useEffect(()=>{const a=localStorage.getItem(Se)==="true";n(a)},[]);const g=()=>{localStorage.setItem(Se,"true"),n(!0)};return r?null:e.jsx("div",{className:"bg-gradient-to-r from-accent to-accent/90 text-white px-4 py-3 relative shrink-0",children:e.jsxs("div",{className:"flex items-center justify-between gap-4 max-w-screen-xl mx-auto",children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[e.jsx("div",{className:"p-1.5 bg-white/20 rounded-md shrink-0",children:e.jsx(fe,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium text-sm",children:"NEW: OpenRouter Integration"}),e.jsxs("p",{className:"text-xs text-white/80 truncate",children:["Browse ",c?"300+":`${m}+`," models from OpenAI, Anthropic, Google, Meta and more."]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[s&&e.jsx(v,{size:"sm",variant:"secondary",onClick:s,className:"bg-white text-accent hover:bg-white/90 h-8",children:"Try it now"}),e.jsxs("a",{href:"https://openrouter.ai",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-white/80 hover:text-white hidden sm:flex items-center gap-1",children:["Learn more",e.jsx(pe,{className:"w-3 h-3"})]}),e.jsxs(v,{size:"icon",variant:"ghost",onClick:g,className:"h-7 w-7 text-white/70 hover:text-white hover:bg-white/20",children:[e.jsx(ks,{className:"w-4 h-4"}),e.jsx("span",{className:"sr-only",children:"Dismiss"})]})]})]})})}function ue({badge:s,badgeClassName:r,className:n,title:m,description:c,visual:g,highlights:a,actionLabel:f,actionClassName:t,onAction:p,footer:h}){return e.jsxs(Re,{className:D("flex h-full flex-col border shadow-sm",n),children:[e.jsxs(ls,{className:"space-y-3 pb-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[g,e.jsx(L,{variant:"secondary",className:r,children:s})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(cs,{className:"text-base",children:m}),e.jsx(ds,{className:"text-sm leading-6",children:c})]})]}),e.jsxs(Me,{className:"mt-auto flex flex-1 flex-col gap-4 pt-0",children:[e.jsx("div",{className:"space-y-2 text-xs text-muted-foreground",children:a.map(b=>e.jsxs("div",{className:"flex items-center gap-2",children:[b.icon,e.jsx("span",{children:b.label})]},b.label))}),e.jsxs(v,{onClick:p,className:t,children:[f,e.jsx(Ss,{className:"ml-2 h-4 w-4"})]}),h?e.jsx("div",{className:"text-xs text-muted-foreground",children:h}):null]})]})}function Ks({hasProfiles:s,profileCount:r,onOpenRouterClick:n,onAlibabaCodingPlanClick:m,onCliproxyClick:c,onCustomClick:g}){const{t:a}=B(),{modelCount:f,isLoading:t}=ge(),p=t?"300+":`${f}+`,h=s?a("openrouterQuickStart.profileCount",{count:r}):a("openrouterQuickStart.recommended"),b=a(s?"openrouterQuickStart.selectProfileTitle":"apiProfiles.noProfilesYet"),w=s?a("openrouterQuickStart.summaryDescriptionWithProfiles",{count:r}):a("openrouterQuickStart.summaryDescriptionNoProfiles");return e.jsx("div",{className:"flex h-full min-h-0 flex-col overflow-auto bg-muted/20 p-4 sm:p-6",children:e.jsxs("div",{className:"mx-auto flex w-full max-w-7xl flex-col gap-4",children:[e.jsx(Re,{className:"border-dashed bg-background/90 shadow-sm",children:e.jsxs(Me,{className:"flex flex-col gap-4 p-5 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(L,{variant:"secondary",children:h}),e.jsx(L,{variant:"outline",children:a("openrouterQuickStart.openrouterModelsBadge",{modelCountLabel:p})})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-xl font-semibold",children:b}),e.jsx("p",{className:"max-w-3xl text-sm leading-6 text-muted-foreground",children:w})]})]}),e.jsx(v,{variant:"outline",onClick:g,className:"shrink-0",children:a("openrouterQuickStart.createCustomProfile")})]})}),e.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[e.jsx(ue,{badge:a("openrouterQuickStart.recommended"),title:a("openrouterQuickStart.title"),description:a("openrouterQuickStart.description",{modelCountLabel:p}),visual:e.jsx("div",{className:"rounded-lg bg-accent/10 p-2",children:e.jsx("img",{src:"/icons/openrouter.svg",alt:"OpenRouter",className:"h-5 w-5"})}),highlights:[{icon:e.jsx(Fe,{className:"h-3.5 w-3.5 text-accent"}),label:a("openrouterQuickStart.featureOneApi")},{icon:e.jsx(fe,{className:"h-3.5 w-3.5 text-accent"}),label:a("openrouterQuickStart.featureTierMapping")}],actionLabel:a("openrouterQuickStart.createOpenRouterProfile"),actionClassName:"w-full bg-accent text-white hover:bg-accent/90",onAction:n,footer:e.jsxs(e.Fragment,{children:[a("openrouterQuickStart.getApiKeyAt")," ",e.jsxs("a",{href:"https://openrouter.ai/keys",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-accent hover:underline",children:["openrouter.ai/keys",e.jsx(pe,{className:"h-3 w-3"})]})]})}),e.jsx(ue,{badge:a("openrouterQuickStart.runtimeProviderBadge"),badgeClassName:"bg-emerald-500/10 text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-200",title:a("openrouterQuickStart.runtimeProviderTitle"),description:a("openrouterQuickStart.runtimeProviderDescription"),visual:e.jsx("div",{className:"rounded-lg bg-emerald-500/10 p-2",children:e.jsx(Ce,{className:"h-5 w-5 text-emerald-700 dark:text-emerald-300"})}),highlights:[{icon:e.jsx(Ce,{className:"h-3.5 w-3.5 text-emerald-600"}),label:a("openrouterQuickStart.runtimeProviderFeatureConnectors")},{icon:e.jsx(ye,{className:"h-3.5 w-3.5 text-emerald-600"}),label:a("openrouterQuickStart.runtimeProviderFeatureSecrets")}],actionLabel:a("openrouterQuickStart.runtimeProviderTitle"),actionClassName:"w-full bg-emerald-600 text-white hover:bg-emerald-600/90",onAction:c,footer:e.jsx("span",{children:a("openrouterQuickStart.runtimeProviderFooter")})}),e.jsx(ue,{badge:a("alibabaCodingPlanQuickStart.recommended"),badgeClassName:"bg-orange-500/10 text-orange-700 dark:bg-orange-500/20 dark:text-orange-200",className:"lg:col-span-2",title:a("alibabaCodingPlanQuickStart.title"),description:a("alibabaCodingPlanQuickStart.description"),visual:e.jsx("div",{className:"rounded-lg bg-orange-500/10 p-2",children:e.jsx("img",{src:"/assets/providers/alibabacloud-color.svg",alt:"Alibaba Coding Plan",className:"h-5 w-5"})}),highlights:[{icon:e.jsx(Ue,{className:"h-3.5 w-3.5 text-orange-600"}),label:a("alibabaCodingPlanQuickStart.featureEndpoint")},{icon:e.jsx(ye,{className:"h-3.5 w-3.5 text-orange-600"}),label:a("alibabaCodingPlanQuickStart.featureKeyFormat")}],actionLabel:a("alibabaCodingPlanQuickStart.createAlibabaProfile"),actionClassName:"w-full bg-orange-600 text-white hover:bg-orange-600/90",onAction:m,footer:e.jsxs(e.Fragment,{children:[a("alibabaCodingPlanQuickStart.readGuideAt")," ",e.jsxs("a",{href:"https://www.alibabacloud.com/help/en/model-studio/coding-plan",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-orange-700 hover:underline dark:text-orange-400",children:["Alibaba Cloud Model Studio",e.jsx(pe,{className:"h-3 w-3"})]})]})})]})]})})}function Js({onCreateClick:s}){const{modelCount:r,isLoading:n}=ge();return e.jsx("div",{className:"p-3 border-t bg-gradient-to-r from-accent/5 to-accent/10 dark:from-accent/10 dark:to-accent/15",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"p-1.5 bg-accent/10 dark:bg-accent/20 rounded shrink-0",children:e.jsx("img",{src:"/icons/openrouter.svg",alt:"",className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-xs font-medium text-accent dark:text-accent-foreground",children:"OpenRouter"}),e.jsxs("p",{className:"text-[10px] text-muted-foreground truncate",children:[n?"300+":`${r}+`," models available"]})]}),e.jsxs(v,{size:"sm",variant:"ghost",onClick:s,className:"h-7 px-2 text-accent hover:text-accent hover:bg-accent/10 dark:hover:bg-accent/20",children:[e.jsx(Fe,{className:"w-3 h-3 mr-1"}),e.jsx("span",{className:"text-xs",children:"Add"})]})]})})}function Bs({onCreateClick:s}){const{t:r}=B();return e.jsx("div",{className:"p-3 border-t bg-gradient-to-r from-orange-500/5 to-orange-500/10 dark:from-orange-500/10 dark:to-orange-500/15",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"p-1.5 bg-orange-500/10 dark:bg-orange-500/20 rounded shrink-0",children:e.jsx("img",{src:"/assets/providers/alibabacloud-color.svg",alt:"",className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-xs font-medium text-orange-700 dark:text-orange-300",children:r("alibabaCodingPlanPromo.title")}),e.jsx("p",{className:"text-[10px] text-muted-foreground truncate",children:r("alibabaCodingPlanPromo.subtitle")})]}),e.jsxs(v,{size:"sm",variant:"ghost",onClick:s,className:"h-7 px-2 text-orange-700 dark:text-orange-300 hover:text-orange-700 hover:bg-orange-500/10 dark:hover:bg-orange-500/20",children:[e.jsx(Ue,{className:"w-3 h-3 mr-1"}),e.jsx("span",{className:"text-xs",children:r("alibabaCodingPlanPromo.add")})]})]})})}function it(){const{t:s}=B(),r=Ke(),{data:n,isLoading:m,isError:c,refetch:g}=ms(),a=us(),f=xs(),t=hs(),p=ps(),h=gs(),b=fs(),[w,k]=u.useState(null),[j,S]=u.useState(""),[H,C]=u.useState(!1),[M,d]=u.useState("normal"),[x,l]=u.useState(null),[Q,$]=u.useState(!1),[q,K]=u.useState(null),X=u.useRef(null);js();const y=u.useMemo(()=>n?.profiles||[],[n?.profiles]),I=u.useMemo(()=>y.filter(i=>i.name.toLowerCase().includes(j.toLowerCase())),[y,j]),O=w?y.find(i=>i.name===w):null,z=i=>{Q&&w!==i?K(i):k(i)},Y=i=>{a.mutate(i,{onSuccess:()=>{w===i&&(k(null),$(!1),K(null)),l(null)}})},re=i=>{C(!1),z(i)},V=i=>{z(i)},ne=(i,E)=>{const P=JSON.stringify(E,null,2)+`
2
- `,F=new Blob([P],{type:"application/json"}),_=URL.createObjectURL(F),o=document.createElement("a");o.href=_,o.download=i,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(_)},ie=async()=>{try{const i=await f.mutateAsync();if(i.orphans.length===0){T.success("No orphan profile settings found");return}const E=i.orphans.filter(o=>o.validation.valid).length;if(!window.confirm(`Found ${i.orphans.length} orphan settings file(s). Register ${E} valid profile(s) now?`))return;const F=await t.mutateAsync({}),_=F.skipped.length>0?`, skipped ${F.skipped.length}`:"";T.success(`Registered ${F.registered.length} profile(s)${_}`)}catch(i){T.error(i.message)}},oe=async()=>{if(!O)return;const i=window.prompt(`Copy profile "${O.name}" to new profile name:`,`${O.name}-copy`);if(!i)return;const E=i.trim();if(!E){T.error("Destination profile name cannot be empty");return}try{const P=await p.mutateAsync({name:O.name,data:{destination:E}});z(E),P.warnings&&P.warnings.length>0&&T.info(P.warnings.join(`
3
- `))}catch(P){T.error(P.message)}},le=async()=>{if(O)try{const i=await h.mutateAsync({name:O.name});ne(`${O.name}.ccs-profile.json`,i.bundle),i.redacted?T.info("Export created with redacted token. Use include-secrets flow in CLI if needed."):T.success("Profile export downloaded")}catch(i){T.error(i.message)}},ce=()=>{X.current?.click()},de=async i=>{const E=i.target.files?.[0];if(i.target.value="",!!E)try{const P=await E.text(),F=JSON.parse(P),_=await b.mutateAsync({bundle:F});_.name&&z(_.name),_.warnings&&_.warnings.length>0&&T.info(_.warnings.join(`
4
- `))}catch(P){T.error(P.message||"Failed to import profile bundle")}};return e.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[e.jsx(zs,{onCreateClick:()=>C(!0)}),e.jsxs("div",{className:"flex-1 flex 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-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Os,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:s("apiProfiles.title")})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(v,{size:"sm",variant:"outline",onClick:()=>void ie(),disabled:f.isPending||t.isPending,"aria-label":"Discover orphan profiles",title:"Discover orphan profiles",children:e.jsx(G,{className:`w-4 h-4 ${f.isPending?"animate-spin":""}`})}),e.jsx(v,{size:"sm",variant:"outline",onClick:ce,disabled:b.isPending,"aria-label":"Import profile bundle",title:"Import profile bundle",children:e.jsx(Ts,{className:"w-4 h-4"})}),e.jsxs(v,{size:"sm",onClick:()=>{C(!0)},children:[e.jsx(te,{className:"w-4 h-4 mr-1"}),s("apiProfiles.new")]})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(Le,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(U,{placeholder:s("apiProfiles.searchPlaceholder"),className:"pl-8 h-9",value:j,onChange:i=>S(i.target.value)})]})]}),e.jsx(ae,{className:"flex-1 min-h-0",children:m?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:s("apiProfiles.loadingProfiles")}):c?e.jsx("div",{className:"p-4 text-center",children:e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(He,{className:"w-12 h-12 mx-auto text-destructive/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:s("apiProfiles.failedLoadTitle")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:s("apiProfiles.failedLoadDesc")})]}),e.jsxs(v,{size:"sm",variant:"outline",onClick:()=>g(),children:[e.jsx(G,{className:"w-4 h-4 mr-1"}),s("apiProfiles.retry")]})]})}):I.length===0?e.jsx("div",{className:"p-4 text-center",children:y.length===0?e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(Es,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:s("apiProfiles.noProfilesYet")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:s("apiProfiles.noProfilesDesc")})]}),e.jsxs(v,{size:"sm",variant:"outline",onClick:()=>{C(!0)},children:[e.jsx(te,{className:"w-4 h-4 mr-1"}),s("apiProfiles.createProfile")]})]}):e.jsx("p",{className:"text-sm text-muted-foreground py-4",children:s("apiProfiles.noProfileMatch",{query:j})})}):e.jsx("div",{className:"p-2 space-y-1",children:I.map(i=>e.jsx(qs,{profile:i,isSelected:w===i.name,onSelect:()=>V(i.name),onDelete:()=>l(i.name)},i.name))})}),y.length>0&&e.jsx("div",{className:"p-3 border-t bg-background text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{children:s("apiProfiles.profileCount",{count:y.length})}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Qe,{className:"w-3 h-3 text-green-600"}),s("apiProfiles.configuredCount",{count:y.filter(i=>i.configured).length})]})]})}),e.jsx(Js,{onCreateClick:()=>{d("openrouter"),C(!0)}}),e.jsx(Bs,{onCreateClick:()=>{d("alibaba-coding-plan"),C(!0)}})]}),e.jsx("div",{className:"flex min-h-0 flex-1 flex-col min-w-0 overflow-hidden",children:O?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-4 py-2 border-b bg-background flex items-center justify-end gap-2",children:[e.jsxs(v,{size:"sm",variant:"outline",onClick:()=>void oe(),disabled:p.isPending,children:[e.jsx(As,{className:"w-4 h-4 mr-1"}),"Copy"]}),e.jsxs(v,{size:"sm",variant:"outline",onClick:()=>void le(),disabled:h.isPending,children:[e.jsx(_s,{className:"w-4 h-4 mr-1"}),"Export"]})]}),e.jsx($s,{profileName:O.name,profileTarget:O.target,onDelete:()=>l(O.name),onHasChangesUpdate:$},O.name)]}):e.jsx(Ks,{hasProfiles:y.length>0,profileCount:y.length,onCliproxyClick:()=>{r("/cliproxy/ai-providers")},onOpenRouterClick:()=>{d("openrouter"),C(!0)},onAlibabaCodingPlanClick:()=>{d("alibaba-coding-plan"),C(!0)},onCustomClick:()=>{d("normal"),C(!0)}})})]}),e.jsx("input",{ref:X,type:"file",accept:".json,application/json",className:"hidden",onChange:i=>void de(i)}),e.jsx(Ns,{open:H,onOpenChange:C,onSuccess:re,initialMode:M}),e.jsx(he,{open:!!x,title:s("apiProfiles.deleteProfileTitle"),description:s("apiProfiles.deleteProfileDesc",{name:x??""}),confirmText:s("apiProfiles.delete"),variant:"destructive",onConfirm:()=>x&&Y(x),onCancel:()=>l(null)}),e.jsx(he,{open:!!q,title:s("apiProfiles.unsavedChangesTitle"),description:s("apiProfiles.unsavedChangesDesc",{current:w??"",next:q??""}),confirmText:s("apiProfiles.discardSwitch"),variant:"destructive",onConfirm:()=>{$(!1),k(q),K(null)},onCancel:()=>K(null)})]})}function qs({profile:s,isSelected:r,onSelect:n,onDelete:m}){return e.jsxs("div",{className:D("group flex items-center gap-2 px-3 py-2.5 rounded-md cursor-pointer transition-colors",r?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:n,children:[s.configured?e.jsx(Qe,{className:"w-4 h-4 text-green-600 shrink-0"}):e.jsx(He,{className:"w-4 h-4 text-yellow-600 shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("div",{className:"font-medium text-sm truncate",children:s.name}),e.jsx(L,{variant:"outline",className:"text-[10px] h-4 px-1.5 uppercase",children:s.target||"claude"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[e.jsx("div",{className:"text-xs text-muted-foreground truncate flex-1",children:s.settingsPath}),e.jsx(J,{value:s.settingsPath,size:"icon",className:"h-5 w-5 opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),e.jsx(v,{variant:"ghost",size:"icon",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",onClick:c=>{c.stopPropagation(),m()},children:e.jsx(De,{className:"w-3.5 h-3.5 text-destructive"})})]})}export{it as ApiPage};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-BlliRfHq.js";import{r as n}from"./react-vendor-CNOkPC89.js";import{a as V,bl as W,b5 as X,b7 as Y,A as Z,I as C,d as c}from"./index-TSYtCr3K.js";import{R as E,u as _,v as ee,l as se,E as K,f as T,k as R,m as z,aG as te,a6 as ae,J as ne,ao as re}from"./icons-CQ3MLSan.js";import"./tanstack-BjiH4QZq.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";function pe(){const{t:s}=V(),{fetchRawConfig:o}=W(),[a,D]=n.useState(null),[j,S]=n.useState(!0),[i,m]=n.useState(!1),[p,r]=n.useState(null),[g,f]=n.useState(null),[w,P]=n.useState(!1),[y,O]=n.useState(!1),[d,N]=n.useState(null),[u,v]=n.useState(null),[$,k]=n.useState(!1),[F,b]=n.useState(!1),h=n.useCallback(async()=>{try{S(!0),r(null);const t=await fetch("/api/settings/auth/tokens/raw");if(!t.ok)throw new Error(s("settingsAuth.failedFetchTokens"));const l=await t.json();D(l)}catch(t){r(t instanceof Error?t.message:s("settings.unknownError"))}finally{S(!1)}},[s]);n.useEffect(()=>{h(),o()},[h,o]),n.useEffect(()=>{if(g){const t=setTimeout(()=>f(null),3e3);return()=>clearTimeout(t)}},[g]),n.useEffect(()=>{if(p){const t=setTimeout(()=>r(null),5e3);return()=>clearTimeout(t)}},[p]);const I=async()=>{const t=d!==null&&d!==a?.apiKey.value,l=u!==null&&u!==a?.managementSecret.value;if(!(!t&&!l))try{m(!0),r(null);const x={};t&&(x.apiKey=d),l&&(x.managementSecret=u);const A=await fetch("/api/settings/auth/tokens",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!A.ok){const Q=await A.json();throw new Error(Q.error||s("settingsAuth.failedSaveTokens"))}f(s("settingsAuth.tokensUpdated")),N(null),v(null),await h(),await o()}catch(x){r(x instanceof Error?x.message:s("settings.unknownError"))}finally{m(!1)}},J=async()=>{try{m(!0),r(null);const t=await fetch("/api/settings/auth/tokens/regenerate-secret",{method:"POST"});if(!t.ok){const l=await t.json();throw new Error(l.error||s("settingsAuth.failedRegenerate"))}f(s("settingsAuth.secretRegenerated")),await h(),await o()}catch(t){r(t instanceof Error?t.message:s("settings.unknownError"))}finally{m(!1)}},U=async()=>{try{m(!0),r(null);const t=await fetch("/api/settings/auth/tokens/reset",{method:"POST"});if(!t.ok){const l=await t.json();throw new Error(l.error||s("settingsAuth.failedReset"))}f(s("settingsAuth.tokensReset")),N(null),v(null),await h(),await o()}catch(t){r(t instanceof Error?t.message:s("settings.unknownError"))}finally{m(!1)}},B=async()=>{a&&(await navigator.clipboard.writeText(a.apiKey.value),k(!0),setTimeout(()=>k(!1),2e3))},G=async()=>{a&&(await navigator.clipboard.writeText(a.managementSecret.value),b(!0),setTimeout(()=>b(!1),2e3))},L=async()=>{j||i||(r(null),f(null),await Promise.all([h(),o()]))};if(j||!a)return e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(E,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:s("settings.loading")})]})});const q=d??a.apiKey.value,H=u??a.managementSecret.value,M=d!==null&&d!==a.apiKey.value||u!==null&&u!==a.managementSecret.value;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${p||g?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[p&&e.jsxs(X,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(_,{className:"h-4 w-4"}),e.jsx(Y,{children:p})]}),g&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(ee,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:g})]})]}),e.jsx(Z,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("settingsAuth.description")}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(se,{className:"w-4 h-4 text-primary"}),e.jsx("h3",{className:"text-base font-medium",children:s("settingsAuth.apiKey")}),a.apiKey.isCustom&&e.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-amber-100 text-amber-700 dark:bg-amber-900/50 dark:text-amber-300",children:s("settingsAuth.custom")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsAuth.apiKeyDesc")}),e.jsx("div",{className:"flex gap-2",children:e.jsxs("div",{className:"relative flex-1",children:[e.jsx(C,{type:w?"text":"password",value:q,onChange:t=>N(t.target.value),placeholder:s("settingsAuth.apiKeyPlaceholder"),disabled:i,className:"pr-20 font-mono text-sm"}),e.jsxs("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex gap-1",children:[e.jsx(c,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>P(!w),children:w?e.jsx(K,{className:"w-4 h-4"}):e.jsx(T,{className:"w-4 h-4"})}),e.jsx(c,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:B,disabled:!a.apiKey.value,children:$?e.jsx(R,{className:"w-4 h-4 text-green-600"}):e.jsx(z,{className:"w-4 h-4"})})]})]})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(te,{className:"w-4 h-4 text-primary"}),e.jsx("h3",{className:"text-base font-medium",children:s("settingsAuth.managementSecret")}),a.managementSecret.isCustom&&e.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-amber-100 text-amber-700 dark:bg-amber-900/50 dark:text-amber-300",children:s("settingsAuth.custom")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsAuth.managementSecretDesc")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(C,{type:y?"text":"password",value:H,onChange:t=>v(t.target.value),placeholder:s("settingsAuth.managementSecretPlaceholder"),disabled:i,className:"pr-20 font-mono text-sm"}),e.jsxs("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex gap-1",children:[e.jsx(c,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>O(!y),children:y?e.jsx(K,{className:"w-4 h-4"}):e.jsx(T,{className:"w-4 h-4"})}),e.jsx(c,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:G,disabled:!a.managementSecret.value,children:F?e.jsx(R,{className:"w-4 h-4 text-green-600"}):e.jsx(z,{className:"w-4 h-4"})})]})]}),e.jsx(c,{variant:"outline",size:"sm",onClick:J,disabled:i,title:s("settingsAuth.generateSecret"),children:e.jsx(ae,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{className:"pt-4 border-t",children:[e.jsxs(c,{variant:"outline",size:"sm",onClick:U,disabled:i||!a.apiKey.isCustom&&!a.managementSecret.isCustom,className:"gap-2",children:[e.jsx(ne,{className:"w-4 h-4"}),s("settingsAuth.resetDefaults")]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:s("settingsAuth.resetDesc")})]})]})}),e.jsxs("div",{className:"p-4 border-t bg-background flex gap-2",children:[e.jsxs(c,{variant:"outline",size:"sm",onClick:L,disabled:j||i,className:"flex-1",children:[e.jsx(E,{className:`w-4 h-4 mr-2 ${j?"animate-spin":""}`}),s("settings.refresh")]}),e.jsxs(c,{variant:"default",size:"sm",onClick:I,disabled:!M||i,className:"flex-1",children:[e.jsx(re,{className:`w-4 h-4 mr-2 ${i?"animate-pulse":""}`}),s(i?"settingsAuth.saving":"settingsAuth.save")]})]})]})}export{pe as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-BlliRfHq.js";import{r}from"./react-vendor-CNOkPC89.js";import{a as S,bl as E,A as k,S as n,C as g,b5 as R,b7 as D,B as T,d as C}from"./index-TSYtCr3K.js";import{A as O,a as _,b as F,c as I,d as P,e as z,f as L,g as U}from"./alert-dialog-DQK2Jxfk.js";import{u as $,v as H,aa as v,t as J,J as M,R as Y}from"./icons-CQ3MLSan.js";import"./tanstack-BjiH4QZq.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const q=3e3,G=5e3;function ae(){const{t}=S(),{fetchRawConfig:p}=E(),m=r.useRef(null),d=r.useRef(null),[j,y]=r.useState([]),[f,N]=r.useState(!0),[u,w]=r.useState(null),[i,l]=r.useState(null),[c,b]=r.useState(null),[x,h]=r.useState(null),o=r.useCallback(async()=>{m.current?.abort(),m.current=new AbortController;try{N(!0),l(null);const s=await fetch("/api/persist/backups",{signal:m.current.signal});if(!s.ok)throw new Error(t("settingsBackups.failedFetch"));const a=await s.json();y(a.backups||[])}catch(s){if(s instanceof Error&&s.name==="AbortError")return;l(s instanceof Error?s.message:t("settings.unknownError"))}finally{N(!1)}},[t]),A=r.useCallback(async s=>{d.current?.abort(),d.current=new AbortController;try{w(s),l(null);const a=await fetch("/api/persist/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({timestamp:s}),signal:d.current.signal});if(!a.ok){const B=await a.json();throw new Error(B.error||t("settingsBackups.failedRestore"))}b(t("settingsBackups.restoreSuccess")),await o(),await p()}catch(a){if(a instanceof Error&&a.name==="AbortError")return;l(a instanceof Error?a.message:t("settings.unknownError"))}finally{w(null)}},[o,p,t]);return r.useEffect(()=>{o()},[o]),r.useEffect(()=>()=>{m.current?.abort(),d.current?.abort()},[]),r.useEffect(()=>{if(c){const s=setTimeout(()=>b(null),q);return()=>clearTimeout(s)}},[c]),r.useEffect(()=>{if(i){const s=setTimeout(()=>l(null),G);return()=>clearTimeout(s)}},[i]),f?e.jsxs(e.Fragment,{children:[e.jsx(k,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{className:"h-6 w-40"}),e.jsx(n,{className:"h-4 w-full"})]}),[1,2,3].map(s=>e.jsx(g,{className:"p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-2 flex-1",children:[e.jsx(n,{className:"h-4 w-32"}),e.jsx(n,{className:"h-3 w-48"})]}),e.jsx(n,{className:"h-8 w-20"})]})},s))]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsx(n,{className:"h-9 w-full"})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${i||c?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[i&&e.jsxs(R,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx($,{className:"h-4 w-4"}),e.jsx(D,{children:i})]}),c&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(H,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:c})]})]}),e.jsx(k,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(v,{className:"w-5 h-5 text-primary"}),e.jsx("h2",{className:"text-lg font-semibold",children:t("settingsBackups.title")})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsBackups.description")})]}),j.length===0?e.jsx(g,{className:"p-8",children:e.jsxs("div",{className:"text-center",children:[e.jsx(v,{className:"w-12 h-12 mx-auto mb-3 opacity-30 text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsBackups.none")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:t("settingsBackups.noneHint")})]})}):e.jsx("div",{className:"space-y-2",children:j.map((s,a)=>e.jsx(g,{className:"p-4 hover:bg-muted/50 transition-colors",children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1 min-w-0",children:[e.jsx(J,{className:"w-4 h-4 text-muted-foreground mt-0.5 shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("p",{className:"text-sm font-medium font-mono",children:s.timestamp}),a===0&&e.jsx(T,{variant:"secondary",className:"text-xs",children:t("settingsBackups.latest")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.date})]})]}),e.jsxs(C,{variant:"outline",size:"sm",onClick:()=>h(s.timestamp),disabled:u!==null,className:"gap-2 shrink-0",children:[e.jsx(M,{className:`w-4 h-4 ${u===s.timestamp?"animate-spin":""}`}),u===s.timestamp?t("settingsBackups.restoring"):t("settingsBackups.restore")]})]})},s.timestamp))})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(C,{variant:"outline",size:"sm",onClick:()=>{o(),p()},disabled:f||u!==null,className:"w-full",children:[e.jsx(Y,{className:`w-4 h-4 mr-2 ${f?"animate-spin":""}`}),t("settings.refresh")]})}),e.jsx(O,{open:!!x,onOpenChange:()=>h(null),children:e.jsxs(_,{children:[e.jsxs(F,{children:[e.jsx(I,{children:t("settingsBackups.restoreConfirmTitle")}),e.jsxs(P,{children:[t("settingsBackups.restoreConfirmPrefix")," ",e.jsx("code",{className:"font-mono bg-muted px-1.5 py-0.5 rounded text-foreground",children:x}),". ",t("settingsBackups.restoreConfirmSuffix")]})]}),e.jsxs(z,{children:[e.jsx(L,{children:t("settingsBackups.cancel")}),e.jsx(U,{onClick:()=>{x&&A(x),h(null)},children:t("settingsBackups.restore")})]})]})})]})}export{ae as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-BlliRfHq.js";import{r as i}from"./react-vendor-CNOkPC89.js";import{bl as F,b5 as b,b7 as w,A as L,B as $,L as A,az as M,I as O,d as P}from"./index-TSYtCr3K.js";import{R as U,u as N,v as B,a7 as V,ao as K,aj as _,ay as q}from"./icons-CQ3MLSan.js";import"./tanstack-BjiH4QZq.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const R={selected:[],unattended:!1};async function k(t,a){try{const c=await t.json();return typeof c.error=="string"&&c.error.trim().length>0?c.error:a}catch{return a}}function z(){const[t,a]=i.useState(R),[c,o]=i.useState(null),[v,g]=i.useState(!0),[j,x]=i.useState(!1),[C,u]=i.useState(null),[h,y]=i.useState(null),m=i.useCallback(r=>{y(r),window.setTimeout(()=>y(null),1500)},[]),f=i.useCallback(async()=>{try{g(!0),u(null);const r=await fetch("/api/channels");if(!r.ok)throw new Error(await k(r,"Failed to load Official Channels settings"));const n=await r.json();return a(n.config??R),o(n.status??null),!0}catch(r){return u(r instanceof Error?r.message:"Unknown error"),!1}finally{g(!1)}},[]),S=i.useCallback(async(r,n="Settings saved")=>{try{x(!0),u(null);const s=await fetch("/api/channels",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok)throw new Error(await k(s,"Failed to save Official Channels settings"));const d=await s.json();return a(l=>d.config??{...l,...r}),m(n),!0}catch(s){return u(s instanceof Error?s.message:"Unknown error"),!1}finally{x(!1)}},[m]),T=i.useCallback(async(r,n)=>{try{x(!0),u(null);const s=await fetch(`/api/channels/${r}/token`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:n})});if(!s.ok)throw new Error(await k(s,`Failed to save ${r} token`));return await f()?(m(`${r} token saved`),!0):!1}catch(s){return u(s instanceof Error?s.message:"Unknown error"),!1}finally{x(!1)}},[f,m]),E=i.useCallback(async r=>{try{x(!0),u(null);const n=await fetch(`/api/channels/${r}/token`,{method:"DELETE"});if(!n.ok)throw new Error(await k(n,`Failed to clear ${r} token`));return await f()?(m(`${r} token cleared`),!0):!1}catch(n){return u(n instanceof Error?n.message:"Unknown error"),!1}finally{x(!1)}},[f,m]);return{config:t,status:c,loading:v,saving:j,error:C,success:h,fetchConfig:f,updateConfig:S,saveToken:T,clearToken:E}}const J={telegram:"",discord:"",imessage:""};function Y(t){return t==="ready"?"border-green-200 bg-green-50 text-green-900 dark:border-green-900/60 dark:bg-green-950/40 dark:text-green-100":t==="limited"?"border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-900/60 dark:bg-amber-950/40 dark:text-amber-100":"border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-900/60 dark:bg-blue-950/40 dark:text-blue-100"}function G(t){return t==="ready"?"default":t==="not_selected"?"secondary":t==="unavailable"?"destructive":"outline"}function H(t){return t==="ready"?"default":t==="partial"?"outline":t==="blocked"?"destructive":"secondary"}function Q(t,a){return t.length===0?"None selected":t.map(c=>a?.find(o=>o.id===c)?.displayName??c).join(", ")}function ne(){const{config:t,status:a,loading:c,saving:o,error:v,success:g,fetchConfig:j,updateConfig:x,saveToken:C,clearToken:u}=z(),{fetchRawConfig:h}=F(),[y,m]=i.useState(J),f=Q(t.selected,a?.channels);i.useEffect(()=>{j(),h()},[j,h]);const S=async()=>{await Promise.all([j(),h()])},T=async(s,d)=>{const l=d?[...new Set([...t.selected,s])]:t.selected.filter(D=>D!==s);await x({selected:l},d?`${s} selected for auto-enable`:`${s} removed from auto-enable`)&&await Promise.all([j(),h()])},E=(s,d)=>{m(l=>({...l,[s]:d}))},r=async s=>{await C(s,y[s])&&(m(l=>({...l,[s]:""})),await h())},n=async s=>{await u(s)&&(m(l=>({...l,[s]:""})),await h())};return c?e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(U,{className:"h-5 w-5 animate-spin"}),e.jsx("span",{children:"Loading"})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${v||g?"translate-y-0 opacity-100":"pointer-events-none -translate-y-2 opacity-0"}`,children:[v&&e.jsxs(b,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(N,{className:"h-4 w-4"}),e.jsx(w,{children:v})]}),g&&e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 px-3 py-2 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(B,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:g})]})]}),e.jsx(L,{className:"flex-1",children:e.jsxs("div",{className:"space-y-6 p-5",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(V,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"font-medium",children:"Official Channels"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Configure official Claude channels here, then run ",e.jsx("code",{children:"ccs"})," normally on a supported native Claude session."]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["CCS stores only channel selection in ",e.jsx("code",{children:"config.yaml"}),". Claude keeps the machine-level channel state under ",e.jsx("code",{children:"~/.claude/channels/"}),"."]})]})]}),a&&e.jsxs("div",{className:`rounded-xl border p-4 ${Y(a.summary.state)}`,children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx($,{variant:a.summary.state==="ready"?"default":"outline",children:a.summary.title}),e.jsx("span",{className:"text-sm font-medium",children:f})]}),e.jsx("p",{className:"text-sm",children:a.summary.message}),e.jsx("p",{className:"text-sm opacity-90",children:a.summary.nextStep})]}),e.jsxs("div",{className:"min-w-[220px] rounded-lg border border-current/10 bg-background/60 p-3 text-sm text-foreground",children:[e.jsx("p",{className:"font-medium",children:"Machine checks"}),e.jsxs("div",{className:"mt-2 space-y-1 text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("span",{children:"Bun"}),e.jsx("span",{children:a.bunInstalled?"Installed":"Missing"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("span",{children:"Claude Code"}),e.jsx("span",{children:a.claudeVersion.current?`v${a.claudeVersion.current}`:"Unknown"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("span",{children:"Claude auth"}),e.jsx("span",{children:a.auth.authMethod??"Unknown"})]})]})]})]}),a.summary.blockers.length>0&&e.jsx("div",{className:"mt-3 space-y-1 text-sm",children:a.summary.blockers.map(s=>e.jsx("p",{children:s},s))})]}),a&&e.jsxs("div",{className:"rounded-lg border bg-muted/20 p-4",children:[e.jsx("p",{className:"font-medium",children:"Fastest path"}),e.jsxs("div",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[e.jsx("p",{children:"1. Turn on the channels you want below."}),e.jsx("p",{children:"2. Save Telegram or Discord bot tokens here if that channel needs one."}),e.jsxs("p",{children:["3. Run ",e.jsx("code",{children:"ccs"})," or a native Claude account profile. CCS adds"," ",e.jsx("code",{children:"--channels"})," for you on supported runs."]}),e.jsx("p",{children:a.supportMessage})]}),e.jsxs("details",{className:"mt-3 rounded-lg border bg-background p-4",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-medium",children:"Advanced notes and scope"}),e.jsxs("div",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[e.jsx("p",{children:a.accountStatusCaveat}),e.jsx("p",{children:a.stateScopeMessage})]})]})]}),a&&e.jsxs("div",{className:"rounded-lg border bg-background p-4",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"font-medium",children:["If you run ",e.jsx("code",{children:"ccs"})," now"]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.launchPreview.detail})]}),e.jsx($,{variant:H(a.launchPreview.state),children:a.launchPreview.title})]}),e.jsxs("div",{className:"mt-3 space-y-2",children:[e.jsxs("div",{className:"rounded-md bg-muted px-3 py-2 font-mono text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"You type:"})," ",a.launchPreview.command]}),e.jsxs("div",{className:"rounded-md bg-muted px-3 py-2 font-mono text-sm break-all",children:[e.jsx("span",{className:"text-muted-foreground",children:"CCS adds:"})," ",a.launchPreview.appendedArgs.length>0?a.launchPreview.appendedArgs.join(" "):"(nothing yet)"]})]}),a.launchPreview.skippedMessages.length>0&&e.jsx("div",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:a.launchPreview.skippedMessages.map(s=>e.jsx("p",{children:s},s))})]}),a?.claudeVersion.message&&a.claudeVersion.state!=="supported"&&e.jsxs(b,{children:[e.jsx(N,{className:"h-4 w-4"}),e.jsx(w,{children:a.claudeVersion.message})]}),a?.auth.message&&a.auth.state!=="eligible"&&e.jsxs(b,{children:[e.jsx(N,{className:"h-4 w-4"}),e.jsx(w,{children:a.auth.message})]}),a?.auth.orgRequirementMessage&&e.jsxs(b,{children:[e.jsx(N,{className:"h-4 w-4"}),e.jsx(w,{children:a.auth.orgRequirementMessage})]}),e.jsx("div",{className:"space-y-4",children:a?.channels.map(s=>{const d=t.selected.includes(s.id),l=y[s.id];return e.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx(A,{className:"text-base font-medium",children:s.displayName}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s.summary}),e.jsx("p",{className:"mt-2 font-mono text-xs text-muted-foreground",children:s.pluginSpec})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx($,{variant:G(s.setup.state),children:s.setup.label}),e.jsx(M,{checked:d,disabled:o||!!s.unavailableReason&&!d,onCheckedChange:p=>void T(s.id,p)})]})]}),e.jsxs("div",{className:"rounded-lg bg-muted/30 p-4 text-sm text-muted-foreground space-y-2",children:[e.jsx("p",{children:s.setup.detail}),e.jsx("p",{children:s.setup.nextStep})]}),s.requiresToken&&e.jsxs("div",{className:"space-y-3 rounded-lg bg-muted/30 p-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:!s.tokenConfigured&&s.tokenSource==="process_env"?`The current CCS process already has ${s.envKey}. Save it here only if you want persistent Claude channel state.`:s.tokenConfigured&&s.processEnvAvailable?`${s.envKey} is saved in Claude channel state, and the current CCS process env also provides it.`:`Save ${s.envKey} in Claude's official channel env file. The dashboard never reads the token value back after save.`}),s.tokenConfigured&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Saving here writes the same ",e.jsx("code",{children:".env"})," file as"," ",e.jsxs("code",{children:["/",s.id,":configure"]}),", so you do not need to run the configure command again after a successful save."]}),e.jsx(O,{type:"password",value:l,onChange:p=>E(s.id,p.target.value),placeholder:s.tokenConfigured?`Configured. Enter a new ${s.envKey} to replace it.`:!s.tokenConfigured&&s.tokenSource==="process_env"?`Using current CCS process env. Enter a new ${s.envKey} to save it for Claude.`:`Paste ${s.envKey}`,disabled:o}),s.tokenPath&&s.tokenSource!=="process_env"&&e.jsx("div",{className:"text-xs text-muted-foreground break-all",children:s.tokenPath}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(P,{onClick:()=>void r(s.id),disabled:o||!l.trim(),children:[e.jsx(K,{className:"mr-2 h-4 w-4"}),"Save Token"]}),e.jsxs(P,{variant:"outline",onClick:()=>void n(s.id),disabled:o||!s.tokenConfigured,children:[e.jsx(_,{className:"mr-2 h-4 w-4"}),"Clear Saved Token"]})]})]}),e.jsxs("details",{className:"rounded-lg border bg-background p-4",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-medium",children:"Claude-side setup commands"}),e.jsx("div",{className:"mt-3 space-y-2",children:(s.manualSetupCommands??[]).map(p=>e.jsx("div",{className:"rounded-md bg-muted px-3 py-2 font-mono text-sm break-all",children:p},p))})]})]},s.id)})}),e.jsx(b,{children:e.jsxs(w,{children:["CCS injects ",e.jsx("code",{children:"--channels"})," only for the current Claude session. Telegram, Discord, and iMessage stop receiving messages when that Claude session exits."]})}),e.jsx("div",{className:"rounded-lg border p-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4 rounded-lg bg-muted/30 p-4",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx(q,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600"}),e.jsxs("div",{children:[e.jsx(A,{className:"text-sm font-medium",children:"Skip permission prompts on launch"}),e.jsxs("p",{className:"mt-1 text-sm text-muted-foreground",children:["Optional advanced behavior. CCS adds ",e.jsx("code",{children:"--dangerously-skip-permissions"})," ","only when at least one selected channel is being auto-enabled and you did not already pass a permission flag yourself."]})]})]}),e.jsx(M,{checked:t.unattended,disabled:o,onCheckedChange:s=>void(async()=>{await x({unattended:s},s?"Unattended mode enabled":"Unattended mode disabled")&&await h()})()})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(P,{variant:"outline",onClick:()=>void S(),disabled:o,children:[e.jsx(U,{className:`mr-2 h-4 w-4 ${o?"animate-spin":""}`}),"Refresh"]})})]})})]})}export{ne as default};