@kaitranntt/ccs 8.1.4 → 8.2.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/README.md +12 -0
  2. package/config/base-claude.settings.json +1 -5
  3. package/config/base-kiro.settings.json +4 -4
  4. package/config/base-qoder.settings.json +10 -0
  5. package/dist/api/services/cliproxy-profile-bridge.d.ts.map +1 -1
  6. package/dist/api/services/cliproxy-profile-bridge.js +6 -0
  7. package/dist/api/services/cliproxy-profile-bridge.js.map +1 -1
  8. package/dist/api/services/profile-writer.d.ts.map +1 -1
  9. package/dist/api/services/profile-writer.js +18 -8
  10. package/dist/api/services/profile-writer.js.map +1 -1
  11. package/dist/auth/commands/create-command.d.ts.map +1 -1
  12. package/dist/auth/commands/create-command.js +11 -0
  13. package/dist/auth/commands/create-command.js.map +1 -1
  14. package/dist/channels/official-channels-runtime.js +1 -1
  15. package/dist/channels/official-channels-runtime.js.map +1 -1
  16. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts +41 -0
  17. package/dist/cliproxy/accounts/account-safety-cross-lane.d.ts.map +1 -0
  18. package/dist/cliproxy/accounts/account-safety-cross-lane.js +177 -0
  19. package/dist/cliproxy/accounts/account-safety-cross-lane.js.map +1 -0
  20. package/dist/cliproxy/accounts/account-safety.d.ts +29 -1
  21. package/dist/cliproxy/accounts/account-safety.d.ts.map +1 -1
  22. package/dist/cliproxy/accounts/account-safety.js +41 -7
  23. package/dist/cliproxy/accounts/account-safety.js.map +1 -1
  24. package/dist/cliproxy/accounts/drain-order.d.ts +277 -0
  25. package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -0
  26. package/dist/cliproxy/accounts/drain-order.js +575 -0
  27. package/dist/cliproxy/accounts/drain-order.js.map +1 -0
  28. package/dist/cliproxy/accounts/pool-state.d.ts +132 -0
  29. package/dist/cliproxy/accounts/pool-state.d.ts.map +1 -0
  30. package/dist/cliproxy/accounts/pool-state.js +201 -0
  31. package/dist/cliproxy/accounts/pool-state.js.map +1 -0
  32. package/dist/cliproxy/accounts/registry.d.ts +17 -1
  33. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  34. package/dist/cliproxy/accounts/registry.js +58 -5
  35. package/dist/cliproxy/accounts/registry.js.map +1 -1
  36. package/dist/cliproxy/accounts/types.d.ts +20 -0
  37. package/dist/cliproxy/accounts/types.d.ts.map +1 -1
  38. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +1 -1
  39. package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
  40. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  41. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +88 -11
  42. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  43. package/dist/cliproxy/auth/auth-types.d.ts +2 -0
  44. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  45. package/dist/cliproxy/auth/auth-types.js +7 -0
  46. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  47. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  48. package/dist/cliproxy/auth/oauth-handler.js +48 -10
  49. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  50. package/dist/cliproxy/auth/oauth-trace/redactor.d.ts.map +1 -1
  51. package/dist/cliproxy/auth/oauth-trace/redactor.js +1 -0
  52. package/dist/cliproxy/auth/oauth-trace/redactor.js.map +1 -1
  53. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js +2 -2
  54. package/dist/cliproxy/auth/oauth-trace/trace-recorder.js.map +1 -1
  55. package/dist/cliproxy/binary/version-checker.d.ts +4 -2
  56. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
  57. package/dist/cliproxy/binary/version-checker.js +30 -20
  58. package/dist/cliproxy/binary/version-checker.js.map +1 -1
  59. package/dist/cliproxy/claude-shadow-warning.d.ts +39 -0
  60. package/dist/cliproxy/claude-shadow-warning.d.ts.map +1 -0
  61. package/dist/cliproxy/claude-shadow-warning.js +187 -0
  62. package/dist/cliproxy/claude-shadow-warning.js.map +1 -0
  63. package/dist/cliproxy/config/base-config-loader.d.ts +6 -5
  64. package/dist/cliproxy/config/base-config-loader.d.ts.map +1 -1
  65. package/dist/cliproxy/config/base-config-loader.js +19 -12
  66. package/dist/cliproxy/config/base-config-loader.js.map +1 -1
  67. package/dist/cliproxy/config/env-builder.d.ts +3 -0
  68. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  69. package/dist/cliproxy/config/env-builder.js +158 -20
  70. package/dist/cliproxy/config/env-builder.js.map +1 -1
  71. package/dist/cliproxy/config/generator.d.ts +2 -1
  72. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  73. package/dist/cliproxy/config/generator.js +66 -9
  74. package/dist/cliproxy/config/generator.js.map +1 -1
  75. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  76. package/dist/cliproxy/config/thinking-config.js +2 -0
  77. package/dist/cliproxy/config/thinking-config.js.map +1 -1
  78. package/dist/cliproxy/executor/arg-parser.d.ts +8 -5
  79. package/dist/cliproxy/executor/arg-parser.d.ts.map +1 -1
  80. package/dist/cliproxy/executor/arg-parser.js +21 -10
  81. package/dist/cliproxy/executor/arg-parser.js.map +1 -1
  82. package/dist/cliproxy/executor/auth-coordinator.d.ts +4 -0
  83. package/dist/cliproxy/executor/auth-coordinator.d.ts.map +1 -1
  84. package/dist/cliproxy/executor/auth-coordinator.js +5 -1
  85. package/dist/cliproxy/executor/auth-coordinator.js.map +1 -1
  86. package/dist/cliproxy/executor/browser-launch-setup.d.ts +1 -0
  87. package/dist/cliproxy/executor/browser-launch-setup.d.ts.map +1 -1
  88. package/dist/cliproxy/executor/browser-launch-setup.js +4 -3
  89. package/dist/cliproxy/executor/browser-launch-setup.js.map +1 -1
  90. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  91. package/dist/cliproxy/executor/index.js +35 -6
  92. package/dist/cliproxy/executor/index.js.map +1 -1
  93. package/dist/cliproxy/executor/proxy-resolver.d.ts +15 -9
  94. package/dist/cliproxy/executor/proxy-resolver.d.ts.map +1 -1
  95. package/dist/cliproxy/executor/proxy-resolver.js +14 -5
  96. package/dist/cliproxy/executor/proxy-resolver.js.map +1 -1
  97. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  98. package/dist/cliproxy/model-catalog.js +94 -2
  99. package/dist/cliproxy/model-catalog.js.map +1 -1
  100. package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
  101. package/dist/cliproxy/provider-capabilities.js +12 -0
  102. package/dist/cliproxy/provider-capabilities.js.map +1 -1
  103. package/dist/cliproxy/proxy/proxy-config-resolver.d.ts.map +1 -1
  104. package/dist/cliproxy/proxy/proxy-config-resolver.js +11 -1
  105. package/dist/cliproxy/proxy/proxy-config-resolver.js.map +1 -1
  106. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  107. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +160 -8
  108. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  109. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +14 -0
  110. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -0
  111. package/dist/cliproxy/proxy/upstream-response-timeout.js +79 -0
  112. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -0
  113. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts +9 -0
  114. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  115. package/dist/cliproxy/quota/quota-fetcher-claude.js +53 -16
  116. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  117. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts +2 -2
  118. package/dist/cliproxy/quota/quota-fetcher-codex.d.ts.map +1 -1
  119. package/dist/cliproxy/quota/quota-fetcher-codex.js +2 -4
  120. package/dist/cliproxy/quota/quota-fetcher-codex.js.map +1 -1
  121. package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
  122. package/dist/cliproxy/quota/quota-fetcher.js +4 -0
  123. package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
  124. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts +10 -0
  125. package/dist/cliproxy/quota/quota-label-sanitizer.d.ts.map +1 -0
  126. package/dist/cliproxy/quota/quota-label-sanitizer.js +31 -0
  127. package/dist/cliproxy/quota/quota-label-sanitizer.js.map +1 -0
  128. package/dist/cliproxy/quota/quota-manager.d.ts +7 -0
  129. package/dist/cliproxy/quota/quota-manager.d.ts.map +1 -1
  130. package/dist/cliproxy/quota/quota-manager.js +51 -2
  131. package/dist/cliproxy/quota/quota-manager.js.map +1 -1
  132. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts +95 -0
  133. package/dist/cliproxy/routing/pool-onboarding-hint.d.ts.map +1 -0
  134. package/dist/cliproxy/routing/pool-onboarding-hint.js +172 -0
  135. package/dist/cliproxy/routing/pool-onboarding-hint.js.map +1 -0
  136. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts +50 -0
  137. package/dist/cliproxy/routing/pool-opt-in-prompt.d.ts.map +1 -0
  138. package/dist/cliproxy/routing/pool-opt-in-prompt.js +232 -0
  139. package/dist/cliproxy/routing/pool-opt-in-prompt.js.map +1 -0
  140. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  141. package/dist/cliproxy/routing/routing-strategy-http.js +35 -26
  142. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  143. package/dist/cliproxy/routing/routing-strategy.d.ts +132 -0
  144. package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
  145. package/dist/cliproxy/routing/routing-strategy.js +342 -5
  146. package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
  147. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  148. package/dist/cliproxy/services/catalog-cache.js +5 -3
  149. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  150. package/dist/cliproxy/services/stats-fetcher.d.ts +13 -0
  151. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  152. package/dist/cliproxy/services/stats-fetcher.js +25 -1
  153. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  154. package/dist/cliproxy/types/provider-types.d.ts +1 -1
  155. package/dist/cliproxy/types/provider-types.d.ts.map +1 -1
  156. package/dist/cliproxy/types/provider-types.js +1 -0
  157. package/dist/cliproxy/types/provider-types.js.map +1 -1
  158. package/dist/codex-auth/codex-config-symlink.js +21 -4
  159. package/dist/codex-auth/codex-config-symlink.js.map +1 -1
  160. package/dist/codex-auth/commands/import-default-command.d.ts +1 -1
  161. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -1
  162. package/dist/codex-auth/commands/import-default-command.js +12 -25
  163. package/dist/codex-auth/commands/import-default-command.js.map +1 -1
  164. package/dist/commands/api-command/help.js +1 -1
  165. package/dist/commands/api-command/help.js.map +1 -1
  166. package/dist/commands/bar/help-subcommand.d.ts +2 -0
  167. package/dist/commands/bar/help-subcommand.d.ts.map +1 -0
  168. package/dist/commands/bar/help-subcommand.js +63 -0
  169. package/dist/commands/bar/help-subcommand.js.map +1 -0
  170. package/dist/commands/bar/index.d.ts +8 -0
  171. package/dist/commands/bar/index.d.ts.map +1 -0
  172. package/dist/commands/bar/index.js +78 -0
  173. package/dist/commands/bar/index.js.map +1 -0
  174. package/dist/commands/bar/install-subcommand.d.ts +92 -0
  175. package/dist/commands/bar/install-subcommand.d.ts.map +1 -0
  176. package/dist/commands/bar/install-subcommand.js +605 -0
  177. package/dist/commands/bar/install-subcommand.js.map +1 -0
  178. package/dist/commands/bar/launch-subcommand.d.ts +64 -0
  179. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -0
  180. package/dist/commands/bar/launch-subcommand.js +236 -0
  181. package/dist/commands/bar/launch-subcommand.js.map +1 -0
  182. package/dist/commands/bar/uninstall-subcommand.d.ts +13 -0
  183. package/dist/commands/bar/uninstall-subcommand.d.ts.map +1 -0
  184. package/dist/commands/bar/uninstall-subcommand.js +78 -0
  185. package/dist/commands/bar/uninstall-subcommand.js.map +1 -0
  186. package/dist/commands/bar/version-subcommand.d.ts +8 -0
  187. package/dist/commands/bar/version-subcommand.d.ts.map +1 -0
  188. package/dist/commands/bar/version-subcommand.js +62 -0
  189. package/dist/commands/bar/version-subcommand.js.map +1 -0
  190. package/dist/commands/cleanup-command.d.ts.map +1 -1
  191. package/dist/commands/cleanup-command.js +99 -51
  192. package/dist/commands/cleanup-command.js.map +1 -1
  193. package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
  194. package/dist/commands/cliproxy/help-subcommand.js +20 -1
  195. package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
  196. package/dist/commands/cliproxy/index.d.ts.map +1 -1
  197. package/dist/commands/cliproxy/index.js +20 -0
  198. package/dist/commands/cliproxy/index.js.map +1 -1
  199. package/dist/commands/cliproxy/order-subcommand.d.ts +16 -0
  200. package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -0
  201. package/dist/commands/cliproxy/order-subcommand.js +520 -0
  202. package/dist/commands/cliproxy/order-subcommand.js.map +1 -0
  203. package/dist/commands/cliproxy/pool-state-renderer.d.ts +40 -0
  204. package/dist/commands/cliproxy/pool-state-renderer.d.ts.map +1 -0
  205. package/dist/commands/cliproxy/pool-state-renderer.js +220 -0
  206. package/dist/commands/cliproxy/pool-state-renderer.js.map +1 -0
  207. package/dist/commands/cliproxy/pool-subcommand.d.ts +10 -0
  208. package/dist/commands/cliproxy/pool-subcommand.d.ts.map +1 -0
  209. package/dist/commands/cliproxy/pool-subcommand.js +112 -0
  210. package/dist/commands/cliproxy/pool-subcommand.js.map +1 -0
  211. package/dist/commands/cliproxy/quota-subcommand.d.ts +10 -1
  212. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  213. package/dist/commands/cliproxy/quota-subcommand.js +22 -6
  214. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  215. package/dist/commands/cliproxy/routing-subcommand.d.ts.map +1 -1
  216. package/dist/commands/cliproxy/routing-subcommand.js +19 -0
  217. package/dist/commands/cliproxy/routing-subcommand.js.map +1 -1
  218. package/dist/commands/command-catalog.d.ts.map +1 -1
  219. package/dist/commands/command-catalog.js +8 -0
  220. package/dist/commands/command-catalog.js.map +1 -1
  221. package/dist/commands/config-channels-command.d.ts +1 -4
  222. package/dist/commands/config-channels-command.d.ts.map +1 -1
  223. package/dist/commands/config-channels-command.js +20 -24
  224. package/dist/commands/config-channels-command.js.map +1 -1
  225. package/dist/commands/help-command.d.ts.map +1 -1
  226. package/dist/commands/help-command.js +6 -1
  227. package/dist/commands/help-command.js.map +1 -1
  228. package/dist/commands/root-command-router.d.ts.map +1 -1
  229. package/dist/commands/root-command-router.js +7 -0
  230. package/dist/commands/root-command-router.js.map +1 -1
  231. package/dist/config/loader/yaml-serializer.d.ts.map +1 -1
  232. package/dist/config/loader/yaml-serializer.js +13 -0
  233. package/dist/config/loader/yaml-serializer.js.map +1 -1
  234. package/dist/config/reserved-names.d.ts +1 -1
  235. package/dist/config/reserved-names.d.ts.map +1 -1
  236. package/dist/config/reserved-names.js +1 -0
  237. package/dist/config/reserved-names.js.map +1 -1
  238. package/dist/config/schemas/cliproxy.d.ts +37 -0
  239. package/dist/config/schemas/cliproxy.d.ts.map +1 -1
  240. package/dist/config/schemas/proxy-server.js +1 -1
  241. package/dist/config/schemas/quota.d.ts +26 -2
  242. package/dist/config/schemas/quota.d.ts.map +1 -1
  243. package/dist/config/schemas/quota.js +20 -1
  244. package/dist/config/schemas/quota.js.map +1 -1
  245. package/dist/config/unified-config-loader.d.ts.map +1 -1
  246. package/dist/config/unified-config-loader.js +3 -0
  247. package/dist/config/unified-config-loader.js.map +1 -1
  248. package/dist/cursor/cursor-daemon-auth.d.ts +2 -0
  249. package/dist/cursor/cursor-daemon-auth.d.ts.map +1 -0
  250. package/dist/cursor/cursor-daemon-auth.js +49 -0
  251. package/dist/cursor/cursor-daemon-auth.js.map +1 -0
  252. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  253. package/dist/cursor/cursor-daemon-entry.js +44 -0
  254. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  255. package/dist/cursor/cursor-daemon.d.ts +2 -1
  256. package/dist/cursor/cursor-daemon.d.ts.map +1 -1
  257. package/dist/cursor/cursor-daemon.js +21 -5
  258. package/dist/cursor/cursor-daemon.js.map +1 -1
  259. package/dist/cursor/cursor-models.d.ts.map +1 -1
  260. package/dist/cursor/cursor-models.js +2 -1
  261. package/dist/cursor/cursor-models.js.map +1 -1
  262. package/dist/cursor/cursor-profile-executor.d.ts +1 -1
  263. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  264. package/dist/cursor/cursor-profile-executor.js +7 -4
  265. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  266. package/dist/cursor/cursor-runtime-probe.d.ts.map +1 -1
  267. package/dist/cursor/cursor-runtime-probe.js +4 -2
  268. package/dist/cursor/cursor-runtime-probe.js.map +1 -1
  269. package/dist/cursor/types.d.ts +1 -0
  270. package/dist/cursor/types.d.ts.map +1 -1
  271. package/dist/dispatcher/flows/account-flow.d.ts.map +1 -1
  272. package/dist/dispatcher/flows/account-flow.js +9 -0
  273. package/dist/dispatcher/flows/account-flow.js.map +1 -1
  274. package/dist/dispatcher/profile-resolver.d.ts +16 -0
  275. package/dist/dispatcher/profile-resolver.d.ts.map +1 -1
  276. package/dist/dispatcher/profile-resolver.js +49 -3
  277. package/dist/dispatcher/profile-resolver.js.map +1 -1
  278. package/dist/docker/docker-key-rotation.d.ts +2 -0
  279. package/dist/docker/docker-key-rotation.d.ts.map +1 -1
  280. package/dist/docker/docker-key-rotation.js +9 -1
  281. package/dist/docker/docker-key-rotation.js.map +1 -1
  282. package/dist/glmt/sse-parser.d.ts +1 -0
  283. package/dist/glmt/sse-parser.d.ts.map +1 -1
  284. package/dist/glmt/sse-parser.js +13 -1
  285. package/dist/glmt/sse-parser.js.map +1 -1
  286. package/dist/management/doctor.d.ts.map +1 -1
  287. package/dist/management/doctor.js +10 -0
  288. package/dist/management/doctor.js.map +1 -1
  289. package/dist/management/shared-manager.d.ts.map +1 -1
  290. package/dist/management/shared-manager.js +9 -1
  291. package/dist/management/shared-manager.js.map +1 -1
  292. package/dist/proxy/profile-router.d.ts +16 -0
  293. package/dist/proxy/profile-router.d.ts.map +1 -1
  294. package/dist/proxy/profile-router.js +7 -2
  295. package/dist/proxy/profile-router.js.map +1 -1
  296. package/dist/proxy/proxy-daemon.js +1 -1
  297. package/dist/proxy/proxy-daemon.js.map +1 -1
  298. package/dist/proxy/server/http-helpers.d.ts +5 -0
  299. package/dist/proxy/server/http-helpers.d.ts.map +1 -1
  300. package/dist/proxy/server/http-helpers.js +40 -1
  301. package/dist/proxy/server/http-helpers.js.map +1 -1
  302. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  303. package/dist/proxy/server/messages-route.js +252 -17
  304. package/dist/proxy/server/messages-route.js.map +1 -1
  305. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  306. package/dist/proxy/transformers/request-transformer.js +9 -2
  307. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  308. package/dist/proxy/upstream-url.d.ts +42 -2
  309. package/dist/proxy/upstream-url.d.ts.map +1 -1
  310. package/dist/proxy/upstream-url.js +83 -4
  311. package/dist/proxy/upstream-url.js.map +1 -1
  312. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  313. package/dist/shared/claude-extension-setup.js +2 -1
  314. package/dist/shared/claude-extension-setup.js.map +1 -1
  315. package/dist/shared/cliproxy-model-routing.d.ts.map +1 -1
  316. package/dist/shared/cliproxy-model-routing.js +1 -0
  317. package/dist/shared/cliproxy-model-routing.js.map +1 -1
  318. package/dist/shared/stale-codex-translator-settings.d.ts.map +1 -1
  319. package/dist/shared/stale-codex-translator-settings.js +48 -9
  320. package/dist/shared/stale-codex-translator-settings.js.map +1 -1
  321. package/dist/targets/codex-adapter.d.ts.map +1 -1
  322. package/dist/targets/codex-adapter.js +10 -8
  323. package/dist/targets/codex-adapter.js.map +1 -1
  324. package/dist/targets/target-metadata.js +1 -1
  325. package/dist/targets/target-metadata.js.map +1 -1
  326. package/dist/ui/assets/{Trans-DyZQZ3e2.js → Trans-RG_sMDEu.js} +1 -1
  327. package/dist/ui/assets/accounts-yTXURc-q.js +1 -0
  328. package/dist/ui/assets/{alert-dialog-DWHL-dqd.js → alert-dialog-DjvPgzFs.js} +1 -1
  329. package/dist/ui/assets/api-Ck1dtNEM.js +4 -0
  330. package/dist/ui/assets/{auth-section-B4o90dwz.js → auth-section-DBnY_LPz.js} +1 -1
  331. package/dist/ui/assets/{backups-section-1AsdSIJO.js → backups-section-Ci-uL4Of.js} +1 -1
  332. package/dist/ui/assets/{channels-CU4Zdsc_.js → channels-BeS9O5q0.js} +1 -1
  333. package/dist/ui/assets/{checkbox-CbCKGH8I.js → checkbox-DFeFDZBp.js} +1 -1
  334. package/dist/ui/assets/claude-extension-DS5qN19Z.js +1 -0
  335. package/dist/ui/assets/cliproxy-D7HJH4mZ.js +4 -0
  336. package/dist/ui/assets/{cliproxy-ai-providers-Dr4L5NRY.js → cliproxy-ai-providers-oJQZXrtc.js} +6 -6
  337. package/dist/ui/assets/cliproxy-control-panel-2mRPEcRj.js +1 -0
  338. package/dist/ui/assets/{codex-0HdbW8NR.js → codex-D0AUQ6jA.js} +4 -4
  339. package/dist/ui/assets/{confirm-dialog-b5Dahgnk.js → confirm-dialog-B37-CVuq.js} +1 -1
  340. package/dist/ui/assets/{copilot-B1Ojakbt.js → copilot-KaaW-mko.js} +2 -2
  341. package/dist/ui/assets/{cursor-PUtNVPx1.js → cursor-BKiTgYi5.js} +1 -1
  342. package/dist/ui/assets/{droid-S2gclncb.js → droid-DHdqGnFw.js} +2 -2
  343. package/dist/ui/assets/{globalenv-section-7wKSmNSG.js → globalenv-section-SfZO97nU.js} +1 -1
  344. package/dist/ui/assets/health-CSRS9O0D.js +1 -0
  345. package/dist/ui/assets/icons-DSLG1YsC.js +1 -0
  346. package/dist/ui/assets/index-CGgavq2X.js +56 -0
  347. package/dist/ui/assets/{index-BWboJia4.js → index-ChTYEBCZ.js} +1 -1
  348. package/dist/ui/assets/index-Cu_F55_O.js +1 -0
  349. package/dist/ui/assets/{index-Coc3_ABK.js → index-DJ66NrBH.js} +1 -1
  350. package/dist/ui/assets/index-DWUuSBUe.js +1 -0
  351. package/dist/ui/assets/{index-CxvNNHgE.js → index-DycwEe96.js} +1 -1
  352. package/dist/ui/assets/index-DzFlVVV3.css +1 -0
  353. package/dist/ui/assets/{index-Cx0dmbiQ.js → index-iQuEEGbH.js} +1 -1
  354. package/dist/ui/assets/logs-tiZ_51mo.js +1 -0
  355. package/dist/ui/assets/{masked-input-4L9CIZGb.js → masked-input-D9FVoeMA.js} +1 -1
  356. package/dist/ui/assets/providers/qoder.svg +1 -0
  357. package/dist/ui/assets/proxy-status-widget-2k26d8pS.js +1 -0
  358. package/dist/ui/assets/{raw-json-settings-editor-panel-DXh8c8rA.js → raw-json-settings-editor-panel-CguBh93H.js} +1 -1
  359. package/dist/ui/assets/{searchable-select-CtvEQrMo.js → searchable-select-C4wShshD.js} +1 -1
  360. package/dist/ui/assets/{separator-E0ISp1SN.js → separator-mvGlDdEW.js} +1 -1
  361. package/dist/ui/assets/{shared-BeYwHeNS.js → shared-Ck0yAwbs.js} +2 -2
  362. package/dist/ui/assets/{table-BBslZvNP.js → table-DrUJOxKL.js} +1 -1
  363. package/dist/ui/assets/updates-BVHBFcq8.js +1 -0
  364. package/dist/ui/assets/{use-accounts-BdalFsdY.js → use-accounts-DLtuaniS.js} +1 -1
  365. package/dist/ui/index.html +3 -3
  366. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  367. package/dist/utils/browser/browser-settings.js +13 -3
  368. package/dist/utils/browser/browser-settings.js.map +1 -1
  369. package/dist/utils/browser/mcp-installer.d.ts.map +1 -1
  370. package/dist/utils/browser/mcp-installer.js +5 -34
  371. package/dist/utils/browser/mcp-installer.js.map +1 -1
  372. package/dist/utils/claude-user-config-lock.d.ts +9 -0
  373. package/dist/utils/claude-user-config-lock.d.ts.map +1 -0
  374. package/dist/utils/claude-user-config-lock.js +96 -0
  375. package/dist/utils/claude-user-config-lock.js.map +1 -0
  376. package/dist/utils/glmt-deprecation.d.ts.map +1 -1
  377. package/dist/utils/glmt-deprecation.js +1 -3
  378. package/dist/utils/glmt-deprecation.js.map +1 -1
  379. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -1
  380. package/dist/utils/image-analysis/mcp-installer.js +5 -34
  381. package/dist/utils/image-analysis/mcp-installer.js.map +1 -1
  382. package/dist/utils/retry-strategy.js +1 -1
  383. package/dist/utils/retry-strategy.js.map +1 -1
  384. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  385. package/dist/utils/websearch/mcp-installer.js +112 -78
  386. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  387. package/dist/web-server/index.d.ts.map +1 -1
  388. package/dist/web-server/index.js +0 -9
  389. package/dist/web-server/index.js.map +1 -1
  390. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  391. package/dist/web-server/middleware/auth-middleware.js +26 -4
  392. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  393. package/dist/web-server/model-pricing.d.ts +18 -2
  394. package/dist/web-server/model-pricing.d.ts.map +1 -1
  395. package/dist/web-server/model-pricing.js +86 -3
  396. package/dist/web-server/model-pricing.js.map +1 -1
  397. package/dist/web-server/models-dev/pricing-resolver.js +14 -14
  398. package/dist/web-server/models-dev/pricing-resolver.js.map +1 -1
  399. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  400. package/dist/web-server/routes/account-routes.js +116 -0
  401. package/dist/web-server/routes/account-routes.js.map +1 -1
  402. package/dist/web-server/routes/bar-routes.d.ts +149 -0
  403. package/dist/web-server/routes/bar-routes.d.ts.map +1 -0
  404. package/dist/web-server/routes/bar-routes.js +415 -0
  405. package/dist/web-server/routes/bar-routes.js.map +1 -0
  406. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +10 -0
  407. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  408. package/dist/web-server/routes/cliproxy-auth-routes.js +45 -13
  409. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  410. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  411. package/dist/web-server/routes/cliproxy-local-proxy.js +25 -8
  412. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  413. package/dist/web-server/routes/cursor-routes.d.ts.map +1 -1
  414. package/dist/web-server/routes/cursor-routes.js +6 -1
  415. package/dist/web-server/routes/cursor-routes.js.map +1 -1
  416. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  417. package/dist/web-server/routes/image-analysis-routes.js +7 -0
  418. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  419. package/dist/web-server/routes/index.d.ts.map +1 -1
  420. package/dist/web-server/routes/index.js +18 -0
  421. package/dist/web-server/routes/index.js.map +1 -1
  422. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  423. package/dist/web-server/routes/profile-routes.js +6 -1
  424. package/dist/web-server/routes/profile-routes.js.map +1 -1
  425. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  426. package/dist/web-server/routes/settings-routes.js +10 -1
  427. package/dist/web-server/routes/settings-routes.js.map +1 -1
  428. package/dist/web-server/services/claude-extension-settings-service.d.ts.map +1 -1
  429. package/dist/web-server/services/claude-extension-settings-service.js +5 -1
  430. package/dist/web-server/services/claude-extension-settings-service.js.map +1 -1
  431. package/dist/web-server/usage/bar-analytics.d.ts +101 -0
  432. package/dist/web-server/usage/bar-analytics.d.ts.map +1 -0
  433. package/dist/web-server/usage/bar-analytics.js +315 -0
  434. package/dist/web-server/usage/bar-analytics.js.map +1 -0
  435. package/dist/web-server/usage/claude-native-credentials.d.ts +56 -0
  436. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -0
  437. package/dist/web-server/usage/claude-native-credentials.js +140 -0
  438. package/dist/web-server/usage/claude-native-credentials.js.map +1 -0
  439. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts +24 -0
  440. package/dist/web-server/usage/cliproxy-snapshot-reader.d.ts.map +1 -0
  441. package/dist/web-server/usage/cliproxy-snapshot-reader.js +82 -0
  442. package/dist/web-server/usage/cliproxy-snapshot-reader.js.map +1 -0
  443. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +3 -2
  444. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  445. package/dist/web-server/usage/cliproxy-usage-syncer.js +46 -13
  446. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  447. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +9 -3
  448. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  449. package/dist/web-server/usage/cliproxy-usage-transformer.js +133 -19
  450. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  451. package/dist/web-server/usage/codex-local-quota-collector.d.ts +74 -0
  452. package/dist/web-server/usage/codex-local-quota-collector.d.ts.map +1 -0
  453. package/dist/web-server/usage/codex-local-quota-collector.js +250 -0
  454. package/dist/web-server/usage/codex-local-quota-collector.js.map +1 -0
  455. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  456. package/dist/web-server/usage/codex-native-usage-collector.js +18 -2
  457. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  458. package/dist/web-server/usage/data-aggregator.d.ts +11 -0
  459. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -1
  460. package/dist/web-server/usage/data-aggregator.js +29 -1
  461. package/dist/web-server/usage/data-aggregator.js.map +1 -1
  462. package/dist/web-server/usage/native-quota-collector.d.ts +44 -0
  463. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -0
  464. package/dist/web-server/usage/native-quota-collector.js +378 -0
  465. package/dist/web-server/usage/native-quota-collector.js.map +1 -0
  466. package/dist/web-server/usage/profile-filter.d.ts +1 -1
  467. package/dist/web-server/usage/profile-filter.d.ts.map +1 -1
  468. package/dist/web-server/usage/profile-filter.js +6 -1
  469. package/dist/web-server/usage/profile-filter.js.map +1 -1
  470. package/dist/web-server/usage/types.d.ts +2 -0
  471. package/dist/web-server/usage/types.d.ts.map +1 -1
  472. package/lib/mcp/ccs-browser-server.cjs +31 -15
  473. package/package.json +1 -1
  474. package/scripts/completion/ccs.bash +0 -12
  475. package/scripts/completion/ccs.fish +0 -11
  476. package/scripts/completion/ccs.ps1 +0 -10
  477. package/scripts/completion/ccs.zsh +0 -13
  478. package/scripts/github/stable-release-issue-cleanup-lib.mjs +115 -0
  479. package/scripts/github/stable-release-issue-cleanup.mjs +134 -0
  480. package/dist/ui/assets/accounts-BPJltru3.js +0 -1
  481. package/dist/ui/assets/api-BxPN-zy4.js +0 -4
  482. package/dist/ui/assets/claude-extension-CWpjmIGt.js +0 -1
  483. package/dist/ui/assets/cliproxy-K6eBb5VO.js +0 -4
  484. package/dist/ui/assets/cliproxy-control-panel-Cz5r7kHP.js +0 -1
  485. package/dist/ui/assets/health-hMLN_gyw.js +0 -1
  486. package/dist/ui/assets/icons-DzKUh8vG.js +0 -1
  487. package/dist/ui/assets/index-BMoGhs28.css +0 -1
  488. package/dist/ui/assets/index-COt1pbk-.js +0 -1
  489. package/dist/ui/assets/index-CcGVqYOy.js +0 -56
  490. package/dist/ui/assets/index-DkR2KVhF.js +0 -1
  491. package/dist/ui/assets/logs-BRFVfyLc.js +0 -1
  492. package/dist/ui/assets/proxy-status-widget-s1UWOE23.js +0 -1
  493. package/dist/ui/assets/updates-CDrm903n.js +0 -1
@@ -1 +1 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as k}from"./react-vendor-Bjx91N7w.js";import{t as R}from"./notifications-B4_o8bcr.js";import{B as E,e as a,c as z,bc as S,X as B}from"./index-CcGVqYOy.js";import{aX as L,L as m,au as P,o as T,R as X}from"./icons-DzKUh8vG.js";function F({title:c,pathLabel:x,loading:t,parseWarning:r,readWarning:i,value:s,dirty:n,readOnly:f=!1,saving:h,saveDisabled:j,onChange:p,onSave:u,onRefresh:b,onDiscard:l,language:v="json",exactText:N=!1,loadingLabel:g="Loading settings.json...",parseWarningLabel:w="Parse warning",ownershipNotice:d}){const[C,o]=k.useState(!1),y=async()=>{s&&(await navigator.clipboard.writeText(s),o(!0),R.success(B.t("commonToast.settingsCopied")),window.setTimeout(()=>o(!1),1500))};return e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"p-4 border-b bg-background flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("h2",{className:"font-semibold flex items-center gap-2",children:[e.jsx(L,{className:"h-4 w-4 text-primary"}),c,n&&e.jsx(E,{variant:"secondary",className:"text-[10px]",children:"Unsaved"})]}),e.jsx("p",{className:"text-xs text-muted-foreground font-mono truncate",children:x})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(a,{size:"sm",onClick:u,disabled:j,children:[h?e.jsx(m,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx(P,{className:"h-4 w-4 mr-1"}),"Save"]}),l?e.jsx(a,{variant:"outline",size:"sm",onClick:l,disabled:!n||t,children:"Discard"}):null,e.jsxs(a,{variant:"outline",size:"sm",onClick:y,disabled:!s,children:[e.jsx(T,{className:"h-4 w-4 mr-1"}),C?"Copied":"Copy"]}),e.jsx(a,{variant:"outline",size:"sm",onClick:b,"aria-label":"Refresh raw config",children:e.jsx(X,{className:z("h-4 w-4",t?"animate-spin":"")})})]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:t?e.jsxs("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[e.jsx(m,{className:"h-5 w-5 animate-spin mr-2"}),g]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[d&&e.jsx("div",{className:"mx-4 mt-4",children:d}),r&&e.jsxs("div",{className:"mx-4 mt-4 rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-800 dark:bg-amber-950/20 dark:text-amber-300",children:[w,": ",r]}),i&&e.jsxs("div",{className:"mx-4 mt-4 rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-sm text-destructive",children:["Read-only: ",i]}),e.jsx("div",{className:"min-h-0 flex-1 p-4 pt-3",children:e.jsx("div",{className:"h-full rounded-md border overflow-hidden bg-background",children:e.jsx(S,{value:s,onChange:p,language:v,readonly:f,exactText:N,minHeight:"100%",heightMode:"fill-parent"})})})]})})]})}const A=F;export{F as R,A as a};
1
+ import{j as e}from"./radix-ui-nu4wz29m.js";import{r as k}from"./react-vendor-Bjx91N7w.js";import{t as R}from"./notifications-B4_o8bcr.js";import{B as E,e as a,c as z,bc as S,Y as B}from"./index-CGgavq2X.js";import{aY as L,L as m,av as P,p as T,R as Y}from"./icons-DSLG1YsC.js";function F({title:c,pathLabel:x,loading:t,parseWarning:r,readWarning:i,value:s,dirty:n,readOnly:f=!1,saving:h,saveDisabled:j,onChange:p,onSave:u,onRefresh:b,onDiscard:l,language:v="json",exactText:N=!1,loadingLabel:g="Loading settings.json...",parseWarningLabel:w="Parse warning",ownershipNotice:d}){const[C,o]=k.useState(!1),y=async()=>{s&&(await navigator.clipboard.writeText(s),o(!0),R.success(B.t("commonToast.settingsCopied")),window.setTimeout(()=>o(!1),1500))};return e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"p-4 border-b bg-background flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("h2",{className:"font-semibold flex items-center gap-2",children:[e.jsx(L,{className:"h-4 w-4 text-primary"}),c,n&&e.jsx(E,{variant:"secondary",className:"text-[10px]",children:"Unsaved"})]}),e.jsx("p",{className:"text-xs text-muted-foreground font-mono truncate",children:x})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(a,{size:"sm",onClick:u,disabled:j,children:[h?e.jsx(m,{className:"h-4 w-4 mr-1 animate-spin"}):e.jsx(P,{className:"h-4 w-4 mr-1"}),"Save"]}),l?e.jsx(a,{variant:"outline",size:"sm",onClick:l,disabled:!n||t,children:"Discard"}):null,e.jsxs(a,{variant:"outline",size:"sm",onClick:y,disabled:!s,children:[e.jsx(T,{className:"h-4 w-4 mr-1"}),C?"Copied":"Copy"]}),e.jsx(a,{variant:"outline",size:"sm",onClick:b,"aria-label":"Refresh raw config",children:e.jsx(Y,{className:z("h-4 w-4",t?"animate-spin":"")})})]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:t?e.jsxs("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[e.jsx(m,{className:"h-5 w-5 animate-spin mr-2"}),g]}):e.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[d&&e.jsx("div",{className:"mx-4 mt-4",children:d}),r&&e.jsxs("div",{className:"mx-4 mt-4 rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-800 dark:bg-amber-950/20 dark:text-amber-300",children:[w,": ",r]}),i&&e.jsxs("div",{className:"mx-4 mt-4 rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-sm text-destructive",children:["Read-only: ",i]}),e.jsx("div",{className:"min-h-0 flex-1 p-4 pt-3",children:e.jsx("div",{className:"h-full rounded-md border overflow-hidden bg-background",children:e.jsx(S,{value:s,onChange:p,language:v,readonly:f,exactText:N,minHeight:"100%",heightMode:"fill-parent"})})})]})})]})}const A=F;export{F as R,A as a};
@@ -1 +1 @@
1
- import{j as n}from"./radix-ui-nu4wz29m.js";import{r as a}from"./react-vendor-Bjx91N7w.js";import{f as P,g as Q,e as $,c as w,h as B,I as G}from"./index-CcGVqYOy.js";import{aR as H,av as L,m as V}from"./icons-DzKUh8vG.js";function S(o){return o.trim().toLowerCase()}function M(o,h){return`${o}-option-${h.replace(/[^a-z0-9_-]+/gi,"-")}`}function Z({value:o,onChange:h,options:f,groups:g,placeholder:j,searchPlaceholder:k,emptyText:E,disabled:F,className:R,triggerClassName:q,contentClassName:K}){const[l,T]=a.useState(!1),[y,A]=a.useState(""),[i,c]=a.useState(),m=a.useId(),I=a.useRef(null),N=a.useRef({}),O=a.useMemo(()=>f.find(e=>e.value===o),[f,o]),d=a.useMemo(()=>{const e=S(y);return e?f.filter(t=>[t.searchText,...t.keywords??[]].some(u=>S(u).includes(e))):f},[f,y]),z=a.useMemo(()=>{const e=new Map((g??[]).map(r=>[r.key,r])),t=d.filter(r=>!r.groupKey||!e.has(r.groupKey)),u=(g??[]).map(r=>({...r,options:d.filter(x=>x.groupKey===r.key)})).filter(r=>r.options.length>0);return t.length===0?u:[{key:"__default",options:t},...u]},[d,g]),s=a.useMemo(()=>d.filter(e=>!e.disabled),[d]),D=O?.triggerContent??O?.itemContent,v=e=>{T(e),e||(A(""),c(void 0))},b=()=>I.current?.focus();a.useEffect(()=>{if(l){if(s.length===0){c(void 0);return}c(e=>e&&s.some(t=>t.value===e)?e:s.find(t=>t.value===o)?.value??s[0]?.value)}},[s,l,o]),a.useEffect(()=>{!l||!i||N.current[i]?.scrollIntoView({block:"nearest"})},[i,l]);const p=e=>{if(s.length===0)return;if(e==="first"){c(s[0]?.value);return}if(e==="last"){c(s.at(-1)?.value);return}const t=s.findIndex(_=>_.value===i),u=e==="next"?-1:s.length,r=t>=0?t:u,x=e==="next"?Math.min(r+1,s.length-1):Math.max(r-1,0);c(s[x]?.value)},C=e=>{h(e),v(!1)},U=()=>{if(!i)return;const e=s.find(t=>t.value===i);e&&C(e.value)};return n.jsxs(P,{open:l,onOpenChange:v,children:[n.jsx(Q,{asChild:!0,children:n.jsxs($,{type:"button",variant:"outline","aria-expanded":l,"aria-controls":l?m:void 0,"aria-haspopup":"dialog",disabled:F,onKeyDown:e=>{if(e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;e.preventDefault(),v(!0);const t=()=>{b(),p(e.key==="ArrowDown"?"first":"last")};if(typeof requestAnimationFrame=="function"){requestAnimationFrame(t);return}setTimeout(t,0)},className:w("w-full justify-between font-normal",R,q,!D&&"text-muted-foreground"),children:[n.jsx("div",{className:"min-w-0 flex-1 text-left",children:D??n.jsx("span",{children:j})}),n.jsx(H,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),n.jsxs(B,{align:"start",className:w("w-[var(--radix-popover-trigger-width)] p-0",K),onOpenAutoFocus:e=>{if(e.preventDefault(),typeof requestAnimationFrame=="function"){requestAnimationFrame(b);return}setTimeout(b,0)},children:[n.jsx("div",{className:"border-b p-2",children:n.jsxs("div",{className:"relative",children:[n.jsx(L,{className:"text-muted-foreground absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2"}),n.jsx(G,{ref:I,value:y,onChange:e=>A(e.target.value),role:"combobox","aria-label":k,"aria-autocomplete":"list","aria-expanded":l,"aria-controls":m,"aria-activedescendant":i?M(m,i):void 0,onKeyDown:e=>{if(e.key==="ArrowDown"){e.preventDefault(),p("next");return}if(e.key==="ArrowUp"){e.preventDefault(),p("previous");return}if(e.key==="Home"){e.preventDefault(),p("first");return}if(e.key==="End"){e.preventDefault(),p("last");return}if(e.key==="Enter"){e.preventDefault(),U();return}e.key==="Escape"&&(e.preventDefault(),v(!1))},placeholder:k,className:"pl-8"})]})}),n.jsx("div",{"data-slot":"searchable-select-scroll-container","data-testid":"searchable-select-scroll-container",className:"max-h-72 overflow-y-auto overscroll-contain",children:d.length===0?n.jsx("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:E}):n.jsx("div",{id:m,role:"listbox","aria-label":j,className:"p-1",children:z.map(e=>n.jsxs("div",{children:[e.label&&n.jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:e.label}),e.options.map(t=>{const u=t.value===i,r=t.value===o;return n.jsxs("button",{id:M(m,t.value),type:"button",role:"option","aria-selected":r,disabled:t.disabled,tabIndex:-1,ref:x=>{N.current[t.value]=x},onMouseMove:()=>{t.disabled||c(t.value)},onFocus:()=>{t.disabled||c(t.value)},onClick:()=>C(t.value),className:w("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none","focus-visible:ring-ring focus-visible:ring-1",u&&"bg-accent text-accent-foreground",r&&"bg-accent text-accent-foreground",t.disabled&&"pointer-events-none opacity-50"),children:[n.jsx("div",{className:"min-w-0 flex-1",children:t.itemContent}),r&&n.jsx(V,{className:"h-4 w-4 shrink-0"})]},t.value)})]},e.key))})})]})]})}export{Z as S};
1
+ import{j as n}from"./radix-ui-nu4wz29m.js";import{r as a}from"./react-vendor-Bjx91N7w.js";import{f as P,g as Q,e as $,c as w,h as B,I as G}from"./index-CGgavq2X.js";import{aS as H,aw as L,n as V}from"./icons-DSLG1YsC.js";function S(o){return o.trim().toLowerCase()}function M(o,h){return`${o}-option-${h.replace(/[^a-z0-9_-]+/gi,"-")}`}function Z({value:o,onChange:h,options:f,groups:g,placeholder:j,searchPlaceholder:k,emptyText:E,disabled:F,className:q,triggerClassName:K,contentClassName:R}){const[l,T]=a.useState(!1),[y,A]=a.useState(""),[i,c]=a.useState(),m=a.useId(),I=a.useRef(null),N=a.useRef({}),O=a.useMemo(()=>f.find(e=>e.value===o),[f,o]),d=a.useMemo(()=>{const e=S(y);return e?f.filter(t=>[t.searchText,...t.keywords??[]].some(u=>S(u).includes(e))):f},[f,y]),z=a.useMemo(()=>{const e=new Map((g??[]).map(r=>[r.key,r])),t=d.filter(r=>!r.groupKey||!e.has(r.groupKey)),u=(g??[]).map(r=>({...r,options:d.filter(x=>x.groupKey===r.key)})).filter(r=>r.options.length>0);return t.length===0?u:[{key:"__default",options:t},...u]},[d,g]),s=a.useMemo(()=>d.filter(e=>!e.disabled),[d]),D=O?.triggerContent??O?.itemContent,v=e=>{T(e),e||(A(""),c(void 0))},b=()=>I.current?.focus();a.useEffect(()=>{if(l){if(s.length===0){c(void 0);return}c(e=>e&&s.some(t=>t.value===e)?e:s.find(t=>t.value===o)?.value??s[0]?.value)}},[s,l,o]),a.useEffect(()=>{!l||!i||N.current[i]?.scrollIntoView({block:"nearest"})},[i,l]);const p=e=>{if(s.length===0)return;if(e==="first"){c(s[0]?.value);return}if(e==="last"){c(s.at(-1)?.value);return}const t=s.findIndex(_=>_.value===i),u=e==="next"?-1:s.length,r=t>=0?t:u,x=e==="next"?Math.min(r+1,s.length-1):Math.max(r-1,0);c(s[x]?.value)},C=e=>{h(e),v(!1)},U=()=>{if(!i)return;const e=s.find(t=>t.value===i);e&&C(e.value)};return n.jsxs(P,{open:l,onOpenChange:v,children:[n.jsx(Q,{asChild:!0,children:n.jsxs($,{type:"button",variant:"outline","aria-expanded":l,"aria-controls":l?m:void 0,"aria-haspopup":"dialog",disabled:F,onKeyDown:e=>{if(e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;e.preventDefault(),v(!0);const t=()=>{b(),p(e.key==="ArrowDown"?"first":"last")};if(typeof requestAnimationFrame=="function"){requestAnimationFrame(t);return}setTimeout(t,0)},className:w("w-full justify-between font-normal",q,K,!D&&"text-muted-foreground"),children:[n.jsx("div",{className:"min-w-0 flex-1 text-left",children:D??n.jsx("span",{children:j})}),n.jsx(H,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),n.jsxs(B,{align:"start",className:w("w-[var(--radix-popover-trigger-width)] p-0",R),onOpenAutoFocus:e=>{if(e.preventDefault(),typeof requestAnimationFrame=="function"){requestAnimationFrame(b);return}setTimeout(b,0)},children:[n.jsx("div",{className:"border-b p-2",children:n.jsxs("div",{className:"relative",children:[n.jsx(L,{className:"text-muted-foreground absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2"}),n.jsx(G,{ref:I,value:y,onChange:e=>A(e.target.value),role:"combobox","aria-label":k,"aria-autocomplete":"list","aria-expanded":l,"aria-controls":m,"aria-activedescendant":i?M(m,i):void 0,onKeyDown:e=>{if(e.key==="ArrowDown"){e.preventDefault(),p("next");return}if(e.key==="ArrowUp"){e.preventDefault(),p("previous");return}if(e.key==="Home"){e.preventDefault(),p("first");return}if(e.key==="End"){e.preventDefault(),p("last");return}if(e.key==="Enter"){e.preventDefault(),U();return}e.key==="Escape"&&(e.preventDefault(),v(!1))},placeholder:k,className:"pl-8"})]})}),n.jsx("div",{"data-slot":"searchable-select-scroll-container","data-testid":"searchable-select-scroll-container",className:"max-h-72 overflow-y-auto overscroll-contain",children:d.length===0?n.jsx("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:E}):n.jsx("div",{id:m,role:"listbox","aria-label":j,className:"p-1",children:z.map(e=>n.jsxs("div",{children:[e.label&&n.jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:e.label}),e.options.map(t=>{const u=t.value===i,r=t.value===o;return n.jsxs("button",{id:M(m,t.value),type:"button",role:"option","aria-selected":r,disabled:t.disabled,tabIndex:-1,ref:x=>{N.current[t.value]=x},onMouseMove:()=>{t.disabled||c(t.value)},onFocus:()=>{t.disabled||c(t.value)},onClick:()=>C(t.value),className:w("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none","focus-visible:ring-ring focus-visible:ring-1",u&&"bg-accent text-accent-foreground",r&&"bg-accent text-accent-foreground",t.disabled&&"pointer-events-none opacity-50"),children:[n.jsx("div",{className:"min-w-0 flex-1",children:t.itemContent}),r&&n.jsx(V,{className:"h-4 w-4 shrink-0"})]},t.value)})]},e.key))})})]})]})}export{Z as S};
@@ -1 +1 @@
1
- import{j as i,a0 as n}from"./radix-ui-nu4wz29m.js";import"./react-vendor-Bjx91N7w.js";import{c as e}from"./index-CcGVqYOy.js";function m({className:t,orientation:a="horizontal",decorative:o=!0,...r}){return i.jsx(n,{"data-slot":"separator",decorative:o,orientation:a,className:e("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}export{m as S};
1
+ import{j as i,a0 as n}from"./radix-ui-nu4wz29m.js";import"./react-vendor-Bjx91N7w.js";import{c as e}from"./index-CGgavq2X.js";function m({className:t,orientation:a="horizontal",decorative:o=!0,...r}){return i.jsx(n,{"data-slot":"separator",decorative:o,orientation:a,className:e("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}export{m as S};
@@ -1,8 +1,8 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as b}from"./react-vendor-Bjx91N7w.js";import{a as O,bv as fe,bw as je,bx as be,R as Ne,U as ve,V as Pe,B as g,bi as C,bj as $,bk as S,e as L,I as we,t as z,c as q,C as X,b as Y,bc as ye}from"./index-CcGVqYOy.js";import{u as ke}from"./use-accounts-BdalFsdY.js";import{a3 as Ce,aa as $e,b9 as Se,b4 as Le,aE as ee,T as M,R as I,F as Me,av as Ie,w as Ee}from"./icons-DzKUh8vG.js";import"./tanstack-bhJxV1h8.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";function Ze(){const{t:s}=O(),[o,r]=b.useState("commands"),[t,n]=b.useState(!1),l={commands:s("sharedPage.commands"),skills:s("sharedPage.skills"),agents:s("sharedPage.agents"),plugins:s("sharedPage.plugins"),settings:s("sharedPage.settings")},[a,m]=b.useState(""),[h,u]=b.useState(null),{data:d,isError:w,error:x,refetch:v}=fe(),{data:N}=ke(),c=d&&!t?Te(d):o,{data:A,isLoading:y,isFetching:te,isError:k,error:ae,refetch:re}=je(c),F=A?.items??[],D=a.trim().toLowerCase(),P=a.trim(),f=b.useMemo(()=>{const i=A?.items??[];return D?i.filter(_=>[_.name,_.description,_.path].some(pe=>pe.toLowerCase().includes(D))):i},[A,D]),p=b.useMemo(()=>f.length===0?null:h?f.find(i=>i.path===h)??f[0]:f[0],[f,h]),ne=c==="settings"&&d?.settings?"settings.json":p?.path??null,{data:j,isLoading:Q,isError:W,error:le,refetch:H}=be(c,ne),ie=[{id:"commands",label:l.commands,icon:Ce,count:d?.commands??0},{id:"skills",label:l.skills,icon:$e,count:d?.skills??0},{id:"agents",label:l.agents,icon:Se,count:d?.agents??0},{id:"plugins",label:l.plugins,icon:Le,count:d?.plugins??0},{id:"settings",label:l.settings,icon:ee,count:d?.settings?1:0}],ce=d?.total??0,K=d?.settings?1:0,B=c==="settings"?K:F.length,R=c==="settings"?K:f.length,Z=c==="settings"||!y&&!k,de=s(c==="plugins"?"sharedPage.registryDetail":c==="settings"?"sharedPage.maskedSettingsDetail":"sharedPage.markdownDetail"),oe=c==="plugins"?s("sharedPage.noPluginsFound"):s("sharedPage.noSharedFound",{tab:c}),me=!y&&!k&&F.length===0,he=!y&&!k&&F.length>0&&f.length===0,ue=N?.accounts.filter(i=>(i.shared_resource_mode||"shared")==="shared")??[],G=N?.accounts.filter(i=>i.shared_resource_mode==="profile-local")??[],xe=V(x,"Shared item totals could not be loaded. Listing still works."),ge=V(ae,`Unable to fetch shared ${c}. Please try again.`),J=V(le,`Unable to load content for ${p?.name??"selected item"}.`);return e.jsxs("div",{className:"h-full overflow-auto lg:overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"p-6 pb-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:s("sharedPage.title")}),e.jsx("p",{className:"text-muted-foreground",children:s("sharedPage.subtitle")})]}),e.jsx(Ne,{value:c,onValueChange:i=>{n(!0),r(i),m(""),u(null)},children:e.jsx(ve,{className:"h-auto flex-wrap justify-start",children:ie.map(i=>e.jsxs(Pe,{value:i.id,className:"flex items-center gap-2",children:[e.jsx(i.icon,{className:"w-4 h-4"}),e.jsx("span",{children:i.label}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",i.count,")"]})]},i.id))})})]}),e.jsxs("div",{className:"flex flex-col gap-2 lg:items-end",children:[e.jsxs("div",{className:"grid w-full gap-2 sm:w-auto sm:min-w-[340px] sm:grid-cols-3",children:[e.jsx(U,{label:s("sharedPage.totalShared"),value:ce}),e.jsx(U,{label:l[c],value:B}),e.jsx(U,{label:s("sharedPage.visible"),value:R})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx(g,{variant:"secondary",children:de}),P?e.jsxs(g,{variant:"outline",children:[s("sharedPage.filterPrefix")," ",P]}):null]})]})]}),d&&!d.symlinkStatus.valid&&e.jsxs(C,{variant:"warning",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.configurationRequired")}),e.jsxs(S,{children:[d.symlinkStatus.message,". Run `ccs sync` to configure."]})]}),w&&e.jsxs(C,{variant:"info",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.countsUnavailable")}),e.jsxs(S,{children:[e.jsx("p",{children:xe}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{v()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryCounts")]})})]})]}),N?e.jsx(Ae,{sharedCount:ue.length,profileLocalCount:G.length,profileLocalNames:G.map(i=>i.name)}):null]}),e.jsx("div",{className:"px-6 pb-6 lg:flex-1 lg:min-h-0",children:e.jsx("div",{className:"rounded-lg border overflow-hidden bg-background lg:h-full",children:e.jsxs("div",{className:"grid lg:h-full lg:min-h-0 lg:grid-cols-[320px_minmax(0,1fr)]",children:[e.jsxs("div",{className:"border-b lg:border-b-0 lg:border-r flex flex-col bg-muted/30 lg:min-h-0",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(Me,{className:"w-4 h-4 text-primary shrink-0"}),e.jsx("h2",{className:"font-semibold truncate",children:l[c]})]}),Z&&e.jsxs(g,{variant:"outline",className:"text-[10px] h-5",children:[R,"/",B]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(Ie,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(we,{value:a,onChange:i=>m(i.target.value),placeholder:s("sharedPage.filterPlaceholder",{tab:c}),"aria-label":s("sharedPage.filterPlaceholder",{tab:c}),className:"pl-8 h-9"})]}),Z&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[s("sharedPage.showing",{visible:R,total:B,tab:c}),P?s("sharedPage.showingQuery",{query:P}):"",te?s("sharedPage.refreshing"):""]})]}),e.jsx(z,{className:"max-h-[360px] lg:max-h-none lg:flex-1 lg:min-h-0",children:c==="settings"?e.jsx("div",{className:"p-2 space-y-1",children:e.jsxs("button",{type:"button",onClick:()=>u("settings.json"),className:q("w-full text-left p-3 rounded-md border transition-colors",d?.settings?"bg-primary/10 border-primary/30":"bg-background hover:bg-muted border-transparent opacity-50"),disabled:!d?.settings,children:[e.jsx("p",{className:"text-sm font-medium truncate",children:"settings.json"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:s("sharedPage.settingsDescription")}),e.jsx(g,{variant:d?.settings?"default":"secondary",className:"mt-2 text-[10px]",children:d?.settings?s("sharedPage.settingsActive"):s("sharedPage.settingsInactive")})]})}):y?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:s("sharedPage.loadingShared",{tab:c})}):k?e.jsx("div",{className:"p-4 text-center",children:e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(Ee,{className:"w-10 h-10 mx-auto text-destructive/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:s("sharedPage.failedLoadShared",{tab:c})}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:ge})]}),e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{re()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retry")]})]})}):me?e.jsx("div",{className:"p-4 text-sm text-muted-foreground leading-relaxed",children:oe}):he?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:s("sharedPage.noMatch",{tab:c,query:P})}):e.jsx("div",{className:"p-2 space-y-1",children:f.map(i=>e.jsxs("button",{type:"button",onClick:()=>u(i.path),className:q("w-full text-left p-3 rounded-md border transition-colors",p?.path===i.path?"bg-primary/10 border-primary/30":"bg-background hover:bg-muted border-transparent"),children:[e.jsx("p",{className:"text-sm font-medium truncate",children:i.name}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:i.description}),e.jsx("p",{className:"text-[11px] text-muted-foreground/90 mt-2 font-mono truncate",children:se(i.path)})]},`${i.type}:${i.path}`))})})]}),e.jsx("div",{className:"min-w-0 min-h-[360px] flex flex-col bg-muted/20 lg:min-h-0",children:!p&&c!=="settings"?e.jsx("div",{className:"min-h-[320px] flex items-center justify-center p-6 text-center text-muted-foreground",children:s("sharedPage.selectOne",{tab:c.slice(0,-1)})}):c==="settings"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-4 py-3 border-b bg-background",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-base font-semibold truncate",children:"settings.json"}),e.jsx(g,{variant:"outline",className:"uppercase text-[10px]",children:s("sharedPage.settings")})]})}),e.jsxs("div",{className:"p-4 space-y-4 min-h-0 flex-1 flex flex-col",children:[e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[e.jsx(E,{label:s("sharedPage.settingsTitle"),value:s("sharedPage.settingsDescription")}),j?.contentPath?e.jsx(E,{label:s("sharedPage.resolvedSource"),value:j.contentPath,mono:!0}):null]})}),e.jsx(X,{className:"min-h-0 flex-1",children:e.jsx(Y,{className:"p-0 h-full",children:e.jsx(z,{className:"h-full px-5 py-4",children:d?.settings?Q?e.jsx("p",{className:"text-sm text-muted-foreground",children:s("sharedPage.loadingSettings")}):W?e.jsxs(C,{variant:"destructive",className:"max-w-2xl",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.failedLoadContent")}),e.jsxs(S,{children:[e.jsx("p",{children:J}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{H()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryContent")]})})]})]}):e.jsx(ye,{value:j?.content??"",onChange:()=>{},language:"json",readonly:!0,minHeight:"320px"}):e.jsxs("div",{className:"min-h-[260px] flex flex-col items-center justify-center text-center",children:[e.jsx(ee,{className:"w-12 h-12 text-muted-foreground/40 mb-4"}),e.jsx("h3",{className:"text-lg font-semibold",children:s("sharedPage.settingsTitle")}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-md mt-2",children:s("sharedPage.settingsDescription")}),e.jsx("div",{className:"mt-6 p-3 rounded-md bg-muted/50 border font-mono text-xs",children:s("sharedPage.settingsInactive")})]})})})})]})]}):p?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-4 py-3 border-b bg-background",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-base font-semibold truncate",children:p.name}),e.jsx(g,{variant:"outline",className:"uppercase text-[10px]",children:p.type})]})}),e.jsxs("div",{className:"p-4 space-y-4 min-h-0 flex-1 flex flex-col",children:[e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[e.jsx(E,{label:s("sharedPage.pathLabel"),value:se(p.path),mono:!0}),j?.contentPath&&j.contentPath!==p.path&&e.jsx(E,{label:s("sharedPage.resolvedSource"),value:j.contentPath,mono:!0})]})}),e.jsx(X,{className:"min-h-0 flex-1",children:e.jsx(Y,{className:"p-0 h-full",children:e.jsx(z,{className:"h-full px-5 py-4",children:Q?e.jsx("p",{className:"text-sm text-muted-foreground",children:s("sharedPage.loadingMarkdown")}):W?e.jsxs(C,{variant:"destructive",className:"max-w-2xl",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.failedLoadContent")}),e.jsxs(S,{children:[e.jsx("p",{children:J}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{H()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryContent")]})})]})]}):e.jsx(Fe,{content:j?.content??""})})})})]})]}):null})]})})})]})}function Te(s){return s.commands>0?"commands":s.skills>0?"skills":s.agents>0?"agents":s.plugins>0?"plugins":s.settings?"settings":"commands"}function Ae({sharedCount:s,profileLocalCount:o,profileLocalNames:r}){const{t}=O(),n=r.slice(0,4),l=Math.max(r.length-n.length,0);return e.jsx("div",{className:"rounded-md border bg-muted/25 px-4 py-3",children:e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold",children:t("sharedPage.resourcePolicies")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:t("sharedPage.resourcePoliciesDescription")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(g,{variant:"outline",className:"border-emerald-300/60 bg-emerald-50/50 text-emerald-700 dark:border-emerald-900/40 dark:bg-emerald-900/20 dark:text-emerald-300",children:t("sharedPage.sharedAccounts",{count:s})}),e.jsx(g,{variant:"secondary",children:t("sharedPage.profileLocalAccounts",{count:o})}),n.map(a=>e.jsx(g,{variant:"outline",className:"font-mono text-[10px]",children:a},a)),l>0?e.jsx(g,{variant:"outline",className:"text-[10px]",children:t("sharedPage.moreProfileLocalAccounts",{count:l})}):null]})]})})}function U({label:s,value:o}){return e.jsxs("div",{className:"rounded-md border bg-muted/30 px-3 py-2",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:s}),e.jsx("p",{className:"text-lg font-semibold leading-tight mt-1",children:o})]})}function E({label:s,value:o,mono:r=!1}){return e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:s}),e.jsx("p",{className:q("text-xs mt-1 break-words",r?"font-mono":"text-sm"),children:o})]})}function V(s,o){if(!(s instanceof Error))return o;const r=s.message.toLowerCase();return r.includes("failed to fetch")||r.includes("network")?"Connection to dashboard server lost or restarting. Keep `ccs config` running, then retry.":s.message||o}function se(s){return s.startsWith("plugin-registry:")?"installed_plugins.json":s}function Fe({content:s}){const{t:o}=O(),r=b.useMemo(()=>Be(s),[s]);return r.blocks.length===0&&r.frontmatter.length===0?e.jsx("p",{className:"text-sm text-muted-foreground",children:o("sharedPage.noMarkdown")}):e.jsxs("div",{className:"space-y-5",children:[r.frontmatter.length>0?e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsx("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:r.frontmatter.map(t=>e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:De(t.key)}),e.jsx("p",{className:"text-xs mt-1 break-words",children:t.value})]},`${t.key}:${t.value}`))})}):null,r.blocks.map((t,n)=>{if(t.type==="heading"){const l=t.level<=1?"text-xl font-semibold":t.level===2?"text-lg font-semibold":"text-base font-semibold";return e.jsx("h3",{className:l,children:T(t.text,`heading-${n}`)},`heading-${n}`)}return t.type==="paragraph"?e.jsx("p",{className:"text-sm leading-6 whitespace-pre-wrap",children:T(t.text,`paragraph-${n}`)},`paragraph-${n}`):t.type==="unordered-list"?e.jsx("ul",{className:"list-disc pl-5 space-y-1 text-sm leading-6",children:t.items.map((l,a)=>e.jsx("li",{children:T(l,`ul-item-${n}-${a}`)},`ul-item-${n}-${a}`))},`ul-${n}`):t.type==="ordered-list"?e.jsx("ol",{className:"list-decimal pl-5 space-y-1 text-sm leading-6",children:t.items.map((l,a)=>e.jsx("li",{children:T(l,`ol-item-${n}-${a}`)},`ol-item-${n}-${a}`))},`ol-${n}`):e.jsxs("div",{className:"rounded-md border bg-muted/60 p-3 font-mono text-xs leading-5 overflow-x-auto",children:[t.language&&e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-2",children:t.language}),e.jsx("pre",{className:"whitespace-pre-wrap break-words m-0",children:t.content})]},`code-${n}`)})]})}function De(s){return s.replace(/[-_]/g," ")}function T(s,o){const r=/(\*\*([^*]+)\*\*|`([^`]+)`|\*([^*]+)\*|\[([^\]]+)\]\(([^)]+)\))/g,t=[];let n=0,l=0;for(const a of s.matchAll(r)){const m=a[0],h=a.index??0;if(h>n&&t.push(s.slice(n,h)),a[2])t.push(e.jsx("strong",{className:"font-semibold",children:a[2]},`${o}-strong-${l}`));else if(a[3])t.push(e.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[0.82em]",children:a[3]},`${o}-code-${l}`));else if(a[4])t.push(e.jsx("em",{className:"italic",children:a[4]},`${o}-em-${l}`));else if(a[5]&&a[6]){const u=a[6].trim();/^(https?:\/\/|mailto:)/i.test(u)?t.push(e.jsx("a",{href:u,target:"_blank",rel:"noreferrer",className:"text-primary underline underline-offset-2 hover:opacity-90",children:a[5]},`${o}-link-${l}`)):t.push(a[5])}else t.push(m);n=h+m.length,l+=1}return n<s.length&&t.push(s.slice(n)),t.length===0?[s]:t}function Be(s){const o=s.replace(/\r\n/g,`
1
+ import{j as e}from"./radix-ui-nu4wz29m.js";import{r as b}from"./react-vendor-Bjx91N7w.js";import{a as q,bv as fe,bw as je,bx as be,U as Ne,V as ve,W as Pe,B as g,bi as C,bj as $,bk as S,e as L,I as we,x as R,c as W,C as X,b as Y,bc as ye}from"./index-CGgavq2X.js";import{u as ke}from"./use-accounts-DLtuaniS.js";import{a4 as Ce,ab as $e,ba as Se,b5 as Le,aF as ee,T as M,R as I,F as Me,aw as Ie,x as Ee}from"./icons-DSLG1YsC.js";import"./tanstack-bhJxV1h8.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";function Ze(){const{t:s}=q(),[o,r]=b.useState("commands"),[t,n]=b.useState(!1),l={commands:s("sharedPage.commands"),skills:s("sharedPage.skills"),agents:s("sharedPage.agents"),plugins:s("sharedPage.plugins"),settings:s("sharedPage.settings")},[a,m]=b.useState(""),[h,u]=b.useState(null),{data:d,isError:w,error:x,refetch:v}=fe(),{data:N}=ke(),c=d&&!t?Te(d):o,{data:A,isLoading:y,isFetching:te,isError:k,error:ae,refetch:re}=je(c),F=A?.items??[],D=a.trim().toLowerCase(),P=a.trim(),f=b.useMemo(()=>{const i=A?.items??[];return D?i.filter(z=>[z.name,z.description,z.path].some(pe=>pe.toLowerCase().includes(D))):i},[A,D]),p=b.useMemo(()=>f.length===0?null:h?f.find(i=>i.path===h)??f[0]:f[0],[f,h]),ne=c==="settings"&&d?.settings?"settings.json":p?.path??null,{data:j,isLoading:O,isError:Q,error:le,refetch:H}=be(c,ne),ie=[{id:"commands",label:l.commands,icon:Ce,count:d?.commands??0},{id:"skills",label:l.skills,icon:$e,count:d?.skills??0},{id:"agents",label:l.agents,icon:Se,count:d?.agents??0},{id:"plugins",label:l.plugins,icon:Le,count:d?.plugins??0},{id:"settings",label:l.settings,icon:ee,count:d?.settings?1:0}],ce=d?.total??0,K=d?.settings?1:0,B=c==="settings"?K:F.length,_=c==="settings"?K:f.length,Z=c==="settings"||!y&&!k,de=s(c==="plugins"?"sharedPage.registryDetail":c==="settings"?"sharedPage.maskedSettingsDetail":"sharedPage.markdownDetail"),oe=c==="plugins"?s("sharedPage.noPluginsFound"):s("sharedPage.noSharedFound",{tab:c}),me=!y&&!k&&F.length===0,he=!y&&!k&&F.length>0&&f.length===0,ue=N?.accounts.filter(i=>(i.shared_resource_mode||"shared")==="shared")??[],G=N?.accounts.filter(i=>i.shared_resource_mode==="profile-local")??[],xe=V(x,"Shared item totals could not be loaded. Listing still works."),ge=V(ae,`Unable to fetch shared ${c}. Please try again.`),J=V(le,`Unable to load content for ${p?.name??"selected item"}.`);return e.jsxs("div",{className:"h-full overflow-auto lg:overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"p-6 pb-4 space-y-3",children:[e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:s("sharedPage.title")}),e.jsx("p",{className:"text-muted-foreground",children:s("sharedPage.subtitle")})]}),e.jsx(Ne,{value:c,onValueChange:i=>{n(!0),r(i),m(""),u(null)},children:e.jsx(ve,{className:"h-auto flex-wrap justify-start",children:ie.map(i=>e.jsxs(Pe,{value:i.id,className:"flex items-center gap-2",children:[e.jsx(i.icon,{className:"w-4 h-4"}),e.jsx("span",{children:i.label}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",i.count,")"]})]},i.id))})})]}),e.jsxs("div",{className:"flex flex-col gap-2 lg:items-end",children:[e.jsxs("div",{className:"grid w-full gap-2 sm:w-auto sm:min-w-[340px] sm:grid-cols-3",children:[e.jsx(U,{label:s("sharedPage.totalShared"),value:ce}),e.jsx(U,{label:l[c],value:B}),e.jsx(U,{label:s("sharedPage.visible"),value:_})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx(g,{variant:"secondary",children:de}),P?e.jsxs(g,{variant:"outline",children:[s("sharedPage.filterPrefix")," ",P]}):null]})]})]}),d&&!d.symlinkStatus.valid&&e.jsxs(C,{variant:"warning",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.configurationRequired")}),e.jsxs(S,{children:[d.symlinkStatus.message,". Run `ccs sync` to configure."]})]}),w&&e.jsxs(C,{variant:"info",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.countsUnavailable")}),e.jsxs(S,{children:[e.jsx("p",{children:xe}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{v()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryCounts")]})})]})]}),N?e.jsx(Ae,{sharedCount:ue.length,profileLocalCount:G.length,profileLocalNames:G.map(i=>i.name)}):null]}),e.jsx("div",{className:"px-6 pb-6 lg:flex-1 lg:min-h-0",children:e.jsx("div",{className:"rounded-lg border overflow-hidden bg-background lg:h-full",children:e.jsxs("div",{className:"grid lg:h-full lg:min-h-0 lg:grid-cols-[320px_minmax(0,1fr)]",children:[e.jsxs("div",{className:"border-b lg:border-b-0 lg:border-r flex flex-col bg-muted/30 lg:min-h-0",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(Me,{className:"w-4 h-4 text-primary shrink-0"}),e.jsx("h2",{className:"font-semibold truncate",children:l[c]})]}),Z&&e.jsxs(g,{variant:"outline",className:"text-[10px] h-5",children:[_,"/",B]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(Ie,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(we,{value:a,onChange:i=>m(i.target.value),placeholder:s("sharedPage.filterPlaceholder",{tab:c}),"aria-label":s("sharedPage.filterPlaceholder",{tab:c}),className:"pl-8 h-9"})]}),Z&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[s("sharedPage.showing",{visible:_,total:B,tab:c}),P?s("sharedPage.showingQuery",{query:P}):"",te?s("sharedPage.refreshing"):""]})]}),e.jsx(R,{className:"max-h-[360px] lg:max-h-none lg:flex-1 lg:min-h-0",children:c==="settings"?e.jsx("div",{className:"p-2 space-y-1",children:e.jsxs("button",{type:"button",onClick:()=>u("settings.json"),className:W("w-full text-left p-3 rounded-md border transition-colors",d?.settings?"bg-primary/10 border-primary/30":"bg-background hover:bg-muted border-transparent opacity-50"),disabled:!d?.settings,children:[e.jsx("p",{className:"text-sm font-medium truncate",children:"settings.json"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:s("sharedPage.settingsDescription")}),e.jsx(g,{variant:d?.settings?"default":"secondary",className:"mt-2 text-[10px]",children:d?.settings?s("sharedPage.settingsActive"):s("sharedPage.settingsInactive")})]})}):y?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:s("sharedPage.loadingShared",{tab:c})}):k?e.jsx("div",{className:"p-4 text-center",children:e.jsxs("div",{className:"space-y-3 py-8",children:[e.jsx(Ee,{className:"w-10 h-10 mx-auto text-destructive/50"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:s("sharedPage.failedLoadShared",{tab:c})}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:ge})]}),e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{re()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retry")]})]})}):me?e.jsx("div",{className:"p-4 text-sm text-muted-foreground leading-relaxed",children:oe}):he?e.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:s("sharedPage.noMatch",{tab:c,query:P})}):e.jsx("div",{className:"p-2 space-y-1",children:f.map(i=>e.jsxs("button",{type:"button",onClick:()=>u(i.path),className:W("w-full text-left p-3 rounded-md border transition-colors",p?.path===i.path?"bg-primary/10 border-primary/30":"bg-background hover:bg-muted border-transparent"),children:[e.jsx("p",{className:"text-sm font-medium truncate",children:i.name}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:i.description}),e.jsx("p",{className:"text-[11px] text-muted-foreground/90 mt-2 font-mono truncate",children:se(i.path)})]},`${i.type}:${i.path}`))})})]}),e.jsx("div",{className:"min-w-0 min-h-[360px] flex flex-col bg-muted/20 lg:min-h-0",children:!p&&c!=="settings"?e.jsx("div",{className:"min-h-[320px] flex items-center justify-center p-6 text-center text-muted-foreground",children:s("sharedPage.selectOne",{tab:c.slice(0,-1)})}):c==="settings"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-4 py-3 border-b bg-background",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-base font-semibold truncate",children:"settings.json"}),e.jsx(g,{variant:"outline",className:"uppercase text-[10px]",children:s("sharedPage.settings")})]})}),e.jsxs("div",{className:"p-4 space-y-4 min-h-0 flex-1 flex flex-col",children:[e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[e.jsx(E,{label:s("sharedPage.settingsTitle"),value:s("sharedPage.settingsDescription")}),j?.contentPath?e.jsx(E,{label:s("sharedPage.resolvedSource"),value:j.contentPath,mono:!0}):null]})}),e.jsx(X,{className:"min-h-0 flex-1",children:e.jsx(Y,{className:"p-0 h-full",children:e.jsx(R,{className:"h-full px-5 py-4",children:d?.settings?O?e.jsx("p",{className:"text-sm text-muted-foreground",children:s("sharedPage.loadingSettings")}):Q?e.jsxs(C,{variant:"destructive",className:"max-w-2xl",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.failedLoadContent")}),e.jsxs(S,{children:[e.jsx("p",{children:J}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{H()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryContent")]})})]})]}):e.jsx(ye,{value:j?.content??"",onChange:()=>{},language:"json",readonly:!0,minHeight:"320px"}):e.jsxs("div",{className:"min-h-[260px] flex flex-col items-center justify-center text-center",children:[e.jsx(ee,{className:"w-12 h-12 text-muted-foreground/40 mb-4"}),e.jsx("h3",{className:"text-lg font-semibold",children:s("sharedPage.settingsTitle")}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-md mt-2",children:s("sharedPage.settingsDescription")}),e.jsx("div",{className:"mt-6 p-3 rounded-md bg-muted/50 border font-mono text-xs",children:s("sharedPage.settingsInactive")})]})})})})]})]}):p?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-4 py-3 border-b bg-background",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-base font-semibold truncate",children:p.name}),e.jsx(g,{variant:"outline",className:"uppercase text-[10px]",children:p.type})]})}),e.jsxs("div",{className:"p-4 space-y-4 min-h-0 flex-1 flex flex-col",children:[e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[e.jsx(E,{label:s("sharedPage.pathLabel"),value:se(p.path),mono:!0}),j?.contentPath&&j.contentPath!==p.path&&e.jsx(E,{label:s("sharedPage.resolvedSource"),value:j.contentPath,mono:!0})]})}),e.jsx(X,{className:"min-h-0 flex-1",children:e.jsx(Y,{className:"p-0 h-full",children:e.jsx(R,{className:"h-full px-5 py-4",children:O?e.jsx("p",{className:"text-sm text-muted-foreground",children:s("sharedPage.loadingMarkdown")}):Q?e.jsxs(C,{variant:"destructive",className:"max-w-2xl",children:[e.jsx(M,{className:"h-4 w-4"}),e.jsx($,{children:s("sharedPage.failedLoadContent")}),e.jsxs(S,{children:[e.jsx("p",{children:J}),e.jsx("div",{className:"mt-3",children:e.jsxs(L,{size:"sm",variant:"outline",onClick:()=>{H()},children:[e.jsx(I,{className:"w-4 h-4 mr-2"}),s("sharedPage.retryContent")]})})]})]}):e.jsx(Fe,{content:j?.content??""})})})})]})]}):null})]})})})]})}function Te(s){return s.commands>0?"commands":s.skills>0?"skills":s.agents>0?"agents":s.plugins>0?"plugins":s.settings?"settings":"commands"}function Ae({sharedCount:s,profileLocalCount:o,profileLocalNames:r}){const{t}=q(),n=r.slice(0,4),l=Math.max(r.length-n.length,0);return e.jsx("div",{className:"rounded-md border bg-muted/25 px-4 py-3",children:e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold",children:t("sharedPage.resourcePolicies")}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:t("sharedPage.resourcePoliciesDescription")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(g,{variant:"outline",className:"border-emerald-300/60 bg-emerald-50/50 text-emerald-700 dark:border-emerald-900/40 dark:bg-emerald-900/20 dark:text-emerald-300",children:t("sharedPage.sharedAccounts",{count:s})}),e.jsx(g,{variant:"secondary",children:t("sharedPage.profileLocalAccounts",{count:o})}),n.map(a=>e.jsx(g,{variant:"outline",className:"font-mono text-[10px]",children:a},a)),l>0?e.jsx(g,{variant:"outline",className:"text-[10px]",children:t("sharedPage.moreProfileLocalAccounts",{count:l})}):null]})]})})}function U({label:s,value:o}){return e.jsxs("div",{className:"rounded-md border bg-muted/30 px-3 py-2",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:s}),e.jsx("p",{className:"text-lg font-semibold leading-tight mt-1",children:o})]})}function E({label:s,value:o,mono:r=!1}){return e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:s}),e.jsx("p",{className:W("text-xs mt-1 break-words",r?"font-mono":"text-sm"),children:o})]})}function V(s,o){if(!(s instanceof Error))return o;const r=s.message.toLowerCase();return r.includes("failed to fetch")||r.includes("network")?"Connection to dashboard server lost or restarting. Keep `ccs config` running, then retry.":s.message||o}function se(s){return s.startsWith("plugin-registry:")?"installed_plugins.json":s}function Fe({content:s}){const{t:o}=q(),r=b.useMemo(()=>Be(s),[s]);return r.blocks.length===0&&r.frontmatter.length===0?e.jsx("p",{className:"text-sm text-muted-foreground",children:o("sharedPage.noMarkdown")}):e.jsxs("div",{className:"space-y-5",children:[r.frontmatter.length>0?e.jsx("div",{className:"rounded-md border bg-muted/35 p-3",children:e.jsx("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:r.frontmatter.map(t=>e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:De(t.key)}),e.jsx("p",{className:"text-xs mt-1 break-words",children:t.value})]},`${t.key}:${t.value}`))})}):null,r.blocks.map((t,n)=>{if(t.type==="heading"){const l=t.level<=1?"text-xl font-semibold":t.level===2?"text-lg font-semibold":"text-base font-semibold";return e.jsx("h3",{className:l,children:T(t.text,`heading-${n}`)},`heading-${n}`)}return t.type==="paragraph"?e.jsx("p",{className:"text-sm leading-6 whitespace-pre-wrap",children:T(t.text,`paragraph-${n}`)},`paragraph-${n}`):t.type==="unordered-list"?e.jsx("ul",{className:"list-disc pl-5 space-y-1 text-sm leading-6",children:t.items.map((l,a)=>e.jsx("li",{children:T(l,`ul-item-${n}-${a}`)},`ul-item-${n}-${a}`))},`ul-${n}`):t.type==="ordered-list"?e.jsx("ol",{className:"list-decimal pl-5 space-y-1 text-sm leading-6",children:t.items.map((l,a)=>e.jsx("li",{children:T(l,`ol-item-${n}-${a}`)},`ol-item-${n}-${a}`))},`ol-${n}`):e.jsxs("div",{className:"rounded-md border bg-muted/60 p-3 font-mono text-xs leading-5 overflow-x-auto",children:[t.language&&e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-2",children:t.language}),e.jsx("pre",{className:"whitespace-pre-wrap break-words m-0",children:t.content})]},`code-${n}`)})]})}function De(s){return s.replace(/[-_]/g," ")}function T(s,o){const r=/(\*\*([^*]+)\*\*|`([^`]+)`|\*([^*]+)\*|\[([^\]]+)\]\(([^)]+)\))/g,t=[];let n=0,l=0;for(const a of s.matchAll(r)){const m=a[0],h=a.index??0;if(h>n&&t.push(s.slice(n,h)),a[2])t.push(e.jsx("strong",{className:"font-semibold",children:a[2]},`${o}-strong-${l}`));else if(a[3])t.push(e.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[0.82em]",children:a[3]},`${o}-code-${l}`));else if(a[4])t.push(e.jsx("em",{className:"italic",children:a[4]},`${o}-em-${l}`));else if(a[5]&&a[6]){const u=a[6].trim();/^(https?:\/\/|mailto:)/i.test(u)?t.push(e.jsx("a",{href:u,target:"_blank",rel:"noreferrer",className:"text-primary underline underline-offset-2 hover:opacity-90",children:a[5]},`${o}-link-${l}`)):t.push(a[5])}else t.push(m);n=h+m.length,l+=1}return n<s.length&&t.push(s.slice(n)),t.length===0?[s]:t}function Be(s){const o=s.replace(/\r\n/g,`
2
2
  `).trim();if(!o)return{blocks:[],frontmatter:[]};let r=o;const t=[];if(r.startsWith(`---
3
3
  `)){const n=r.indexOf(`
4
4
  ---
5
5
  `,4);if(n!==-1){const l=r.slice(4,n).trim();for(const a of l.split(`
6
- `)){const m=a.match(/^([A-Za-z0-9_-]+)\s*:\s*(.+)$/);m&&t.push({key:m[1],value:m[2].trim().replace(/^['"]|['"]$/g,"")})}r=r.slice(n+5).trim()}}return{blocks:Re(r),frontmatter:t}}function Re(s){if(!s.trim())return[];const o=s.split(`
6
+ `)){const m=a.match(/^([A-Za-z0-9_-]+)\s*:\s*(.+)$/);m&&t.push({key:m[1],value:m[2].trim().replace(/^['"]|['"]$/g,"")})}r=r.slice(n+5).trim()}}return{blocks:_e(r),frontmatter:t}}function _e(s){if(!s.trim())return[];const o=s.split(`
7
7
  `),r=[];let t=[],n=[],l=[],a="",m=null;const h=()=>{t.length!==0&&(r.push({type:"paragraph",text:t.join(" ")}),t=[])},u=()=>{n.length!==0&&(r.push({type:"unordered-list",items:n}),n=[])},d=()=>{l.length!==0&&(r.push({type:"ordered-list",items:l}),l=[])},w=()=>{m&&(r.push({type:"code",language:a,content:m.join(`
8
8
  `)}),a="",m=null)};for(const x of o){if(m){x.trim().startsWith("```")?w():m.push(x);continue}if(x.trim().startsWith("```")){h(),u(),d(),a=x.trim().replace(/^```/,"").trim(),m=[];continue}if(x.trim().length===0){h(),u(),d();continue}const v=x.match(/^(#{1,6})\s+(.*)$/);if(v){h(),u(),d(),r.push({type:"heading",level:v[1].length,text:v[2].trim()});continue}const N=x.match(/^\s*[-*]\s+(.*)$/);if(N){h(),d(),n.push(N[1].trim());continue}const c=x.match(/^\s*\d+\.\s+(.*)$/);if(c){h(),u(),l.push(c[1].trim());continue}u(),d(),t.push(x.trim())}return h(),u(),d(),w(),r}export{Ze as SharedPage};
@@ -1 +1 @@
1
- import{j as t}from"./radix-ui-nu4wz29m.js";import"./react-vendor-Bjx91N7w.js";import{c as l}from"./index-CcGVqYOy.js";function n({className:a,...e}){return t.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:t.jsx("table",{"data-slot":"table",className:l("w-full caption-bottom text-sm",a),...e})})}function c({className:a,...e}){return t.jsx("thead",{"data-slot":"table-header",className:l("[&_tr]:border-b",a),...e})}function d({className:a,...e}){return t.jsx("tbody",{"data-slot":"table-body",className:l("[&_tr:last-child]:border-0",a),...e})}function b({className:a,...e}){return t.jsx("tr",{"data-slot":"table-row",className:l("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",a),...e})}function i({className:a,...e}){return t.jsx("th",{"data-slot":"table-head",className:l("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}function m({className:a,...e}){return t.jsx("td",{"data-slot":"table-cell",className:l("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}export{n as T,c as a,b,i as c,d,m as e};
1
+ import{j as t}from"./radix-ui-nu4wz29m.js";import"./react-vendor-Bjx91N7w.js";import{c as l}from"./index-CGgavq2X.js";function n({className:a,...e}){return t.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:t.jsx("table",{"data-slot":"table",className:l("w-full caption-bottom text-sm",a),...e})})}function c({className:a,...e}){return t.jsx("thead",{"data-slot":"table-header",className:l("[&_tr]:border-b",a),...e})}function d({className:a,...e}){return t.jsx("tbody",{"data-slot":"table-body",className:l("[&_tr:last-child]:border-0",a),...e})}function b({className:a,...e}){return t.jsx("tr",{"data-slot":"table-row",className:l("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",a),...e})}function i({className:a,...e}){return t.jsx("th",{"data-slot":"table-head",className:l("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}function m({className:a,...e}){return t.jsx("td",{"data-slot":"table-cell",className:l("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}export{n as T,c as a,b,i as c,d,m as e};
@@ -0,0 +1 @@
1
+ import{j as e}from"./radix-ui-nu4wz29m.js";import{L,r as c}from"./react-vendor-Bjx91N7w.js";import{a as x,B as P,c as S,Y as M,e as u,z as U,C,s as v,t as w,a0 as N,b as j,x as b,I as B}from"./index-CGgavq2X.js";import{a2 as F,a0 as z,bb as W,y as H,E as G,V as Q,ab as K,C as V,bc as Y,aw as q}from"./icons-DSLG1YsC.js";import"./tanstack-bhJxV1h8.js";import"./notifications-B4_o8bcr.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";const J={new:"border-blue-200 bg-blue-50 text-blue-700 dark:border-blue-900/50 dark:bg-blue-900/20 dark:text-blue-300",stable:"border-green-200 bg-green-50 text-green-700 dark:border-green-900/50 dark:bg-green-900/20 dark:text-green-300",planned:"border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-900/50 dark:bg-amber-900/20 dark:text-amber-300"};function Z({status:s,className:t}){const{t:r}=x(),i={new:r("updates.statusNew"),stable:r("updates.statusStable"),planned:r("updates.statusPlanned")};return e.jsx(P,{variant:"outline",className:S("font-medium",J[s],t),children:i[s]})}const g={target:"Target CLI",cliproxy:"CLIProxy Provider","api-profiles":"API Profile",websearch:"WebSearch"},X=[{id:"codex-target-runtime-support",title:"Native Codex runtime support is live",summary:"Codex now participates as a first-class runtime target through ccs-codex, ccsx, ccsxp, or --target codex.",primaryAction:"Use Codex as a runtime target for native Codex sessions and Codex-routed CLIProxy flows.",publishedAt:"2026-03-28",status:"new",scopes:["target","cliproxy","api-profiles"],entryIds:["codex-target","codex-cliproxy"],highlights:["Use ccs-codex or ccsx for native Codex runs.","Use ccsxp for native Codex with the cliproxy provider shortcut.","Use ccs codex --target codex when you want the explicit CCS-managed Codex bridge.","Codex remains runtime-only for saved defaults; use runtime aliases or --target codex at launch time."],actions:[{id:"copy-codex-alias-command",label:"Open native Codex",description:"Launch Codex through the explicit CCS runtime alias.",type:"command",command:"ccs-codex"},{id:"copy-codex-provider-command",label:"Run native Codex with cliproxy",description:"Use the native Codex cliproxy shortcut through CCS.",type:"command",command:'ccsxp "your prompt"'},{id:"copy-codex-provider-command-explicit",label:"Run the managed Codex bridge explicitly",description:"Use the explicit CCS-managed Codex bridge on native Codex.",type:"command",command:'ccs codex --target codex "your prompt"'},{id:"open-codex-dashboard",label:"Open Codex dashboard",description:"Review Codex runtime support, config layers, and dashboard setup flows.",type:"route",path:"/codex"}],routes:[{label:"Codex CLI",path:"/codex"}],commands:["ccs-codex","ccsx",'ccsxp "your prompt"','ccs codex --target codex "your prompt"']},{id:"droid-target-support",title:"Factory Droid support is live",summary:"API Profiles and CLIProxy variants now support Droid as a first-class execution target.",primaryAction:"Set Droid as your default execution target for non-Claude workflows.",publishedAt:"2026-02-25",status:"new",scopes:["target","api-profiles","cliproxy"],entryIds:["droid-target","custom-api-profiles","codex-cliproxy","agy-cliproxy"],highlights:["Set default target to Droid when creating or editing API Profiles.","Set default target to Droid for CLIProxy variants, including Codex and Antigravity flows.","Use ccs-droid as the explicit alias, with ccsd kept as the legacy shortcut."],actions:[{id:"open-api-profiles",label:"Set default target in API Profiles",description:"Open API Profiles and set Default Target to Droid for profiles you run often.",type:"route",path:"/providers"},{id:"open-cliproxy",label:"Set default target in CLIProxy variants",description:"Open CLIProxy variants and set target to Droid for Codex/Antigravity or custom variants.",type:"route",path:"/cliproxy"},{id:"copy-ccs-droid-command",label:"Run once with explicit Droid alias",description:"Use ccs-droid to force the Droid target with your current profile.",type:"command",command:"ccs-droid glm"},{id:"copy-target-override",label:"Run once with --target override",description:"Keep your default profile but force Droid for a single command.",type:"command",command:'ccs codex --target droid "your prompt"'}],routes:[{label:"API Profiles",path:"/providers"},{label:"CLIProxy",path:"/cliproxy"}],commands:["ccs-droid glm",'ccs codex --target droid "your prompt"',"ccs cliproxy create mycodex --provider codex --target droid"]},{id:"updates-center-launch",title:"Updates Center is available for rollout tasks",summary:"A focused Updates Center exists for setup tasks and rollout guidance when you need it.",primaryAction:"Use this page only when needed for rollout tasks, then return to your normal workflow.",publishedAt:"2026-02-25",status:"new",scopes:["target","cliproxy","api-profiles","websearch"],entryIds:["droid-target","codex-cliproxy","custom-api-profiles","opencode-websearch"],highlights:["Single data source powers update content and integration mapping.","Notices can be tracked as new, seen, done, or dismissed.","Catalog covers target CLI, CLIProxy providers, and WebSearch integrations."],actions:[{id:"open-updates-page",label:"Open Updates Center when needed",description:"Review rollout tasks only when you want guided setup changes.",type:"route",path:"/updates"},{id:"copy-open-dashboard",label:"Open dashboard from terminal",description:"Re-open config dashboard anytime from CLI.",type:"command",command:"ccs config"}],routes:[{label:"Updates Center",path:"/updates"}],commands:["ccs config"]}],ee=[{id:"claude-target",name:"Claude Code",scope:"target",status:"stable",summary:"Default runtime target for all CCS profile types.",pillars:{baseUrl:"From profile settings (ANTHROPIC_BASE_URL)",auth:"From profile settings (ANTHROPIC_AUTH_TOKEN)",model:"From profile settings (ANTHROPIC_MODEL)"},routes:[{label:"API Profiles",path:"/providers"},{label:"CLIProxy",path:"/cliproxy"}],commands:["ccs",'ccs glm "your prompt"']},{id:"droid-target",name:"Factory Droid",scope:"target",status:"new",summary:"First-class target for API Profiles and CLIProxy variants.",pillars:{baseUrl:"From profile or variant settings",auth:"From profile or variant settings",model:"From profile or variant settings"},routes:[{label:"API Profiles",path:"/providers"},{label:"CLIProxy",path:"/cliproxy"}],commands:["ccs-droid glm","ccs km --target droid","ccs codex --target droid"],notes:"Use ccs-droid as the explicit runtime alias. Legacy ccsd still works."},{id:"codex-target",name:"Codex CLI",scope:"target",status:"new",summary:"First-class runtime target for native Codex sessions and Codex-routed CLIProxy flows.",pillars:{baseUrl:"Native ~/.codex config for default mode, transient -c overrides for CCS-backed routes",auth:"Native Codex auth for default mode, env_key injection for CCS-backed routes",model:"Native Codex config or routed Codex model mapping from CLIProxy"},routes:[{label:"Codex CLI",path:"/codex"}],commands:["ccs-codex","ccsx","ccs codex --target codex","ccs codex-api --target codex"],notes:"Codex is still runtime-only for saved defaults; use --target codex or the runtime aliases at launch time."},{id:"codex-cliproxy",name:"Codex via CLIProxy",scope:"cliproxy",status:"stable",summary:"OAuth-backed provider with configurable variant model and a native Codex shortcut.",pillars:{baseUrl:"Managed by CLIProxy backend",auth:"OAuth account via CLIProxy auth flow",model:"Selectable per provider or variant"},routes:[{label:"CLIProxy",path:"/cliproxy"},{label:"Control Panel",path:"/cliproxy/control-panel"}],commands:['ccsxp "your prompt"',"ccs codex --target codex","ccs codex","ccs cliproxy create mycodex --provider codex","ccs api create codex-api --cliproxy-provider codex"],notes:"Use ccsxp when you want native Codex with the cliproxy shortcut; use ccs codex --target codex for the explicit managed bridge."},{id:"gemini-cliproxy",name:"Gemini via CLIProxy",scope:"cliproxy",status:"stable",summary:"OAuth-backed Gemini provider with multi-account management.",pillars:{baseUrl:"Managed by CLIProxy backend",auth:"OAuth account via CLIProxy auth flow",model:"Selectable per provider or variant"},routes:[{label:"CLIProxy",path:"/cliproxy"},{label:"Control Panel",path:"/cliproxy/control-panel"}],commands:["ccs gemini","ccs cliproxy create mygem --provider gemini"]},{id:"agy-cliproxy",name:"Antigravity via CLIProxy",scope:"cliproxy",status:"stable",summary:"OAuth-backed Antigravity provider with variant target controls.",pillars:{baseUrl:"Managed by CLIProxy backend",auth:"OAuth account via CLIProxy auth flow",model:"Selectable per provider or variant"},routes:[{label:"CLIProxy",path:"/cliproxy"},{label:"Control Panel",path:"/cliproxy/control-panel"}],commands:["ccs agy","ccs cliproxy create myagy --provider agy --target droid"]},{id:"custom-api-profiles",name:"Custom API Profiles",scope:"api-profiles",status:"stable",summary:"Any Anthropic-compatible endpoint with per-profile target and model mapping.",pillars:{baseUrl:"User-defined endpoint",auth:"User-defined token/key",model:"User-defined model identifier"},routes:[{label:"API Profiles",path:"/providers"}],commands:["ccs api create myprofile",'ccs myprofile "your prompt"']},{id:"opencode-websearch",name:"OpenCode WebSearch",scope:"websearch",status:"stable",summary:"WebSearch provider surfaced in Settings for third-party profile workflows.",pillars:{baseUrl:"Managed by OpenCode CLI integration",auth:"Provider-specific (managed externally)",model:"Configurable in WebSearch settings"},routes:[{label:"Settings",path:"/settings"}],commands:["ccs config",'ccs codex "your prompt"'],notes:"Enable OpenCode in Settings > WebSearch to activate fallback search."}];function l(s,t,r){return M.t(s,{defaultValue:t,...r})}function se(){return{target:l("supportCatalog.scope.target",g.target),cliproxy:l("supportCatalog.scope.cliproxy",g.cliproxy),"api-profiles":l("supportCatalog.scope.apiProfiles",g["api-profiles"]),websearch:l("supportCatalog.scope.websearch",g.websearch)}}function te(s){return{...s,title:l(`supportCatalog.notice.${s.id}.title`,s.title),summary:l(`supportCatalog.notice.${s.id}.summary`,s.summary),primaryAction:l(`supportCatalog.notice.${s.id}.primaryAction`,s.primaryAction),highlights:s.highlights.map((t,r)=>l(`supportCatalog.notice.${s.id}.highlight.${r}`,t)),actions:s.actions.map(t=>({...t,label:l(`supportCatalog.notice.${s.id}.action.${t.id}.label`,t.label),description:l(`supportCatalog.notice.${s.id}.action.${t.id}.description`,t.description)})),routes:s.routes.map((t,r)=>({...t,label:l(`supportCatalog.notice.${s.id}.route.${r}.label`,t.label)}))}}function re(s){return{...s,name:l(`supportCatalog.entry.${s.id}.name`,s.name),summary:l(`supportCatalog.entry.${s.id}.summary`,s.summary),pillars:{baseUrl:l(`supportCatalog.entry.${s.id}.pillar.baseUrl`,s.pillars.baseUrl),auth:l(`supportCatalog.entry.${s.id}.pillar.auth`,s.pillars.auth),model:l(`supportCatalog.entry.${s.id}.pillar.model`,s.pillars.model)},routes:s.routes.map((t,r)=>({...t,label:l(`supportCatalog.entry.${s.id}.route.${r}.label`,t.label)})),notes:s.notes?l(`supportCatalog.entry.${s.id}.notes`,s.notes):s.notes}}function ae(){return X.map(te)}function oe(){return ee.map(re)}function ie(s){const t=new Map(oe().map(r=>[r.id,r]));return s.entryIds.map(r=>t.get(r)).filter(r=>!!r)}function O(s){const t=new Date(`${s}T00:00:00Z`);return Number.isNaN(t.getTime())?s:new Intl.DateTimeFormat(void 0,{year:"numeric",month:"short",day:"numeric",timeZone:"UTC"}).format(t)}const D="ccs:updates:notice-progress:v1";function de(s){return s==="new"?"new":"seen"}function m(s,t){return t[s.id]??de(s.status)}function A(s){return s!=="done"&&s!=="dismissed"}function le(){if(typeof window>"u")return{};try{const s=window.localStorage.getItem(D);if(!s)return{};const t=JSON.parse(s);if(!t||typeof t!="object"||Array.isArray(t))return{};const r={};for(const[i,d]of Object.entries(t))typeof i=="string"&&(d==="new"||d==="seen"||d==="done"||d==="dismissed")&&(r[i]=d);return r}catch{return{}}}function ne(s){typeof window>"u"||window.localStorage.setItem(D,JSON.stringify(s))}function E({state:s,className:t}){const{t:r}=x(),i={new:{label:r("updates.progressNeedsAction"),className:"border-amber-300/70 bg-amber-100/70 text-amber-800 dark:border-amber-500/40 dark:bg-amber-500/15 dark:text-amber-300",showDot:!0},seen:{label:r("updates.progressInReview"),className:"border-blue-300/70 bg-blue-100/70 text-blue-800 dark:border-blue-500/40 dark:bg-blue-500/15 dark:text-blue-300"},done:{label:r("updates.progressDone"),className:"border-emerald-300/70 bg-emerald-100/70 text-emerald-800 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-300"},dismissed:{label:r("updates.progressDismissed"),className:"border-muted-foreground/20 bg-muted text-muted-foreground dark:border-muted-foreground/30"}}[s];return e.jsxs(P,{variant:"outline",className:S("gap-1.5 border text-[10px] font-medium",i.className,t),children:[i.showDot&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-current"}),i.label]})}function ce({action:s}){const{t}=x();return e.jsxs("div",{className:"rounded-md border bg-muted/20 p-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-0.5",children:[e.jsx("p",{className:"text-sm font-medium",children:s.label}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.description})]}),s.type==="route"&&s.path&&e.jsx(u,{size:"sm",asChild:!0,children:e.jsxs(L,{to:s.path,children:[t("updates.open"),e.jsx(F,{className:"h-3.5 w-3.5"})]})})]}),s.type==="command"&&s.command&&e.jsxs("div",{className:"mt-2 flex items-center gap-2 rounded-md border bg-background px-2 py-1.5",children:[e.jsx(z,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("code",{className:"min-w-0 flex-1 truncate text-[11px]",children:s.command}),e.jsx(U,{value:s.command})]})]})}function pe({notice:s,progress:t,relatedEntries:r,onUpdateProgress:i}){const{t:d}=x(),f=se();return s?e.jsxs("div",{className:"flex-1 min-w-0 bg-background grid grid-rows-[auto_minmax(0,1fr)] overflow-hidden",children:[e.jsxs("div",{className:"border-b bg-background px-4 py-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("h2",{className:"text-base font-semibold leading-tight",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.summary})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[t&&e.jsx(E,{state:t}),e.jsx(Z,{status:s.status})]})]}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(W,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:d("updates.published",{date:O(s.publishedAt)})})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs(u,{size:"sm",onClick:()=>i("done"),children:[e.jsx(H,{className:"h-4 w-4"}),d("updates.markDone")]}),e.jsxs(u,{size:"sm",variant:"outline",onClick:()=>i("dismissed"),children:[e.jsx(G,{className:"h-4 w-4"}),d("updates.dismiss")]}),e.jsxs(u,{size:"sm",variant:"ghost",onClick:()=>i("new"),children:[e.jsx(Q,{className:"h-4 w-4"}),d("updates.reopen")]})]})]}),e.jsx("div",{className:"min-h-0 p-4",children:e.jsxs("div",{className:"grid h-full gap-4 xl:grid-cols-[minmax(0,1.5fr)_minmax(320px,1fr)] overflow-hidden",children:[e.jsxs(C,{className:"h-full overflow-hidden",children:[e.jsxs(v,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(K,{className:"h-4 w-4 text-primary"}),e.jsx(w,{className:"text-base",children:d("updates.doNext")})]}),e.jsx(N,{children:s.primaryAction})]}),e.jsx(j,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-3",children:s.actions.map(o=>e.jsx(ce,{action:o},`${s.id}-${o.id}`))})})})]}),e.jsxs("div",{className:"grid h-full grid-rows-[minmax(0,1fr)_minmax(0,1fr)] gap-4 overflow-hidden",children:[e.jsxs(C,{className:"overflow-hidden",children:[e.jsxs(v,{className:"pb-3",children:[e.jsx(w,{className:"text-base",children:d("updates.impactedIntegrations")}),e.jsx(N,{children:d("updates.impactedDesc")})]}),e.jsx(j,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-2",children:r.map(o=>e.jsxs("div",{className:"rounded-md border bg-muted/20 p-2.5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("p",{className:"min-w-0 truncate text-sm font-medium",children:o.name}),e.jsx(P,{variant:"outline",className:"h-5 px-1.5 text-[10px]",children:f[o.scope]})]}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[o.routes[0]&&e.jsx(u,{size:"sm",variant:"outline",asChild:!0,children:e.jsx(L,{to:o.routes[0].path,children:o.routes[0].label})}),o.commands[0]&&e.jsxs("div",{className:"ml-auto flex min-w-0 items-center gap-1.5",children:[e.jsx("code",{className:"truncate rounded bg-background px-1.5 py-0.5 text-[11px]",children:o.commands[0]}),e.jsx(U,{value:o.commands[0]})]})]})]},o.id))})})})]}),e.jsxs(C,{className:"overflow-hidden",children:[e.jsxs(v,{className:"pb-3",children:[e.jsx(w,{className:"text-base",children:d("updates.whyMatters")}),e.jsx(N,{children:d("updates.whyMattersDesc")})]}),e.jsx(j,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:s.highlights.map(o=>e.jsxs("li",{children:["- ",o]},`${s.id}-${o}`))})})})]})]})]})})]}):e.jsx("div",{className:"flex h-full items-center justify-center rounded-lg border border-dashed bg-muted/20 p-6",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:d("updates.noUpdates")})})}function me({notice:s,progress:t,selected:r,onSelect:i}){return e.jsxs("button",{type:"button",onClick:i,className:S("w-full rounded-lg border px-3 py-3 text-left transition-colors",r?"border-primary/30 bg-primary/10":"border-transparent bg-background/40 hover:border-border hover:bg-muted/70"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:s.title}),e.jsx("p",{className:"line-clamp-2 text-xs text-muted-foreground",children:s.primaryAction})]}),e.jsx(V,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground",children:O(s.publishedAt)}),e.jsx(E,{state:t})]})]})}function ue(s,t){return t?[s.title,s.summary,s.primaryAction,...s.highlights,...s.commands,...s.actions.map(i=>`${i.label} ${i.description} ${i.command||""}`),...s.routes.map(i=>i.label)].join(" ").toLowerCase().includes(t):!0}function je(){const{t:s}=x(),t=[...ae()].sort((a,n)=>n.publishedAt.localeCompare(a.publishedAt)),[r,i]=c.useState("inbox"),[d,f]=c.useState(""),[o,k]=c.useState(()=>le()),[I,$]=c.useState(null);c.useEffect(()=>{ne(o)},[o]);const h=c.useMemo(()=>{const a=d.trim().toLowerCase();return t.filter(n=>{const y=m(n,o);return ue(n,a)?r==="done"?y==="done":r==="inbox"?A(y):!0:!1})},[t,o,d,r]),p=c.useMemo(()=>{const a=r==="all"?t:h;return a.find(n=>n.id===I)??a[0]??null},[t,I,r,h]),R=a=>{$(a.id),k(n=>m(a,n)!=="new"?n:{...n,[a.id]:"seen"})},T=c.useMemo(()=>t.filter(a=>A(m(a,o))).length,[t,o]),_=c.useMemo(()=>t.filter(a=>m(a,o)==="done").length,[t,o]);return e.jsxs("div",{className:"flex h-full min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"w-80 border-r bg-muted/30 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:s("updates.inboxTitle")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("updates.inboxSubtitle")})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.needsAction")}),e.jsx("p",{className:"text-base font-semibold",children:T})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.doneCount")}),e.jsx("p",{className:"text-base font-semibold",children:_})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(q,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(B,{value:d,onChange:a=>f(a.target.value),placeholder:s("updates.searchPlaceholder"),className:"h-9 pl-8"})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{id:"inbox",label:s("updates.actionRequired")},{id:"done",label:s("updates.done")},{id:"all",label:s("updates.all")}].map(a=>e.jsx(u,{size:"sm",variant:r===a.id?"default":"outline",onClick:()=>i(a.id),children:a.label},a.id))})]}),e.jsx(b,{className:"flex-1",children:e.jsx("div",{className:"space-y-2 p-2",children:h.length===0?e.jsx("div",{className:"rounded-md border border-dashed p-3 text-xs text-muted-foreground",children:s("updates.noNotices")}):h.map(a=>e.jsx(me,{notice:a,progress:m(a,o),selected:p?.id===a.id,onSelect:()=>R(a)},a.id))})})]}),e.jsx(pe,{notice:p,progress:p?m(p,o):null,relatedEntries:p?ie(p):[],onUpdateProgress:a=>{p&&k(n=>({...n,[p.id]:a}))}})]})}export{je as UpdatesPage};
@@ -1 +1 @@
1
- import{u as _,a as m,b as p}from"./tanstack-bhJxV1h8.js";import{a as y,Z as l}from"./index-CcGVqYOy.js";import{t as s}from"./notifications-B4_o8bcr.js";function f(n){return Array.from(n).sort((r,e)=>r.localeCompare(e))}function x(n){const r=new Map;for(const t of n){if(t.context_mode!=="shared")continue;const d=t.context_group||"default",i=r.get(d)??{group:d,sharedCount:0,deeperCount:0,accountNames:[]};i.sharedCount+=1,i.accountNames.push(t.name),t.continuity_mode==="deeper"&&(i.deeperCount+=1),r.set(d,i)}const e=Array.from(r.values()).sort((t,d)=>t.group.localeCompare(d.group)),o=n.map(t=>{if(t.context_mode!=="shared")return{...t,sameGroupPeerCount:0,sameGroupDeeperPeerCount:0};const d=t.context_group||"default",i=r.get(d),h=Math.max((i?.sharedCount??1)-1,0),g=Math.max((i?.deeperCount??0)-(t.continuity_mode==="deeper"?1:0),0);return{...t,sameGroupPeerCount:h,sameGroupDeeperPeerCount:g}}),u=o.filter(t=>t.context_mode==="shared").length,a=o.filter(t=>t.context_mode==="shared"&&t.continuity_mode==="deeper").length,c=o.filter(t=>t.context_inferred).length,C=o.filter(t=>t.context_mode==="shared"&&t.continuity_mode!=="deeper"&&t.continuity_inferred).length;return{accounts:o,sharedCount:u,sharedStandardCount:Math.max(u-a,0),deeperSharedCount:a,isolatedCount:o.length-u,legacyContextCount:c,legacyContinuityCount:C,sharedAloneCount:o.filter(t=>t.context_mode==="shared"&&t.sameGroupPeerCount===0).length,sharedPeerAccountCount:o.filter(t=>t.sameGroupPeerCount>0).length,deeperReadyAccountCount:o.filter(t=>t.continuity_mode==="deeper"&&t.sameGroupDeeperPeerCount>0).length,sharedPeerGroups:f(e.filter(t=>t.sharedCount>=2).map(t=>t.group)),deeperReadyGroups:f(e.filter(t=>t.deeperCount>=2).map(t=>t.group)),sharedGroups:f(e.map(t=>t.group)),groupSummaries:e}}function G(){return _({queryKey:["accounts"],queryFn:()=>l.accounts.list(),select:n=>{const r=n.accounts.filter(a=>a.type!=="cliproxy"),e=x(r),o=n.accounts.length-r.length,u=e.accounts.some(a=>a.name===n.default)?n.default:null;return{accounts:e.accounts,default:u,cliproxyCount:o,legacyContextCount:e.legacyContextCount,legacyContinuityCount:e.legacyContinuityCount,sharedCount:e.sharedCount,sharedStandardCount:e.sharedStandardCount,deeperSharedCount:e.deeperSharedCount,isolatedCount:e.isolatedCount,sharedAloneCount:e.sharedAloneCount,sharedPeerAccountCount:e.sharedPeerAccountCount,deeperReadyAccountCount:e.deeperReadyAccountCount,sharedPeerGroups:e.sharedPeerGroups,deeperReadyGroups:e.deeperReadyGroups,sharedGroups:e.sharedGroups,groupSummaries:e.groupSummaries,plainCcsLane:n.plain_ccs_lane??null}}})}function q(){const n=m(),{t:r}=y();return p({mutationFn:e=>l.accounts.setDefault(e),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.defaultAccountSet",{name:o}))},onError:e=>{s.error(e.message)}})}function D(){const n=m(),{t:r}=y();return p({mutationFn:()=>l.accounts.resetDefault(),onSuccess:()=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.defaultAccountReset"))},onError:e=>{s.error(e.message)}})}function R(){const n=m(),{t:r}=y();return p({mutationFn:e=>l.accounts.delete(e),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.accountDeleted",{name:o}))},onError:e=>{s.error(e.message)}})}function Q(){const n=m(),{t:r}=y();return p({mutationFn:({name:e,context_mode:o,context_group:u,continuity_mode:a})=>l.accounts.updateContext(e,{context_mode:o,context_group:u,continuity_mode:a}),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]});const u=(o.context_group||"default").trim().toLowerCase().replace(/\s+/g,"-"),a=o.context_mode==="shared"?o.continuity_mode==="deeper"?`${r("accountsPage.sharedDeeper")} (${u})`:`${r("accountsPage.sharedStandard")} (${u})`:r("accountsPage.isolated");s.success(r("toasts.contextUpdated",{name:o.name,summary:a}))},onError:e=>{s.error(e.message)}})}function F(){const n=m(),{t:r}=y();return p({mutationFn:async e=>{const o=e.filter(c=>c.context_inferred||c.continuity_inferred),a=(await Promise.allSettled(o.map(c=>{const C=c.context_mode==="shared";return l.accounts.updateContext(c.name,{context_mode:C?"shared":"isolated",context_group:C?c.context_group||"default":void 0,continuity_mode:C?c.continuity_mode==="deeper"?"deeper":"standard":void 0})}))).filter(c=>c.status==="rejected").length;return{updatedCount:o.length-a,failedCount:a}},onSuccess:({updatedCount:e,failedCount:o})=>{if(n.invalidateQueries({queryKey:["accounts"]}),o>0&&e>0){s.error(r("toasts.legacyConfirmPartial",{updated:e,failed:o}));return}if(o>0){s.error(r("toasts.legacyConfirmAllFailed",{failed:o}));return}if(e>0){s.success(r("toasts.legacyConfirmSuccess",{count:e}));return}s.info(r("toasts.noLegacyAccounts"))},onError:e=>{n.invalidateQueries({queryKey:["accounts"]}),s.error(e.message)}})}function K(){const n=m(),{t:r}=y();return p({mutationFn:({name:e,shared_resource_mode:o})=>l.accounts.updateSharedResources(e,{shared_resource_mode:o}),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]});const u=o.shared_resource_mode==="shared"?r("accountsPage.resourcesShared"):r("accountsPage.resourcesProfileLocal");s.success(r("toasts.resourcesUpdated",{name:o.name,summary:u}))},onError:e=>{s.error(e.message)}})}export{Q as a,K as b,q as c,R as d,D as e,F as f,G as u};
1
+ import{u as _,a as m,b as p}from"./tanstack-bhJxV1h8.js";import{a as y,_ as l}from"./index-CGgavq2X.js";import{t as s}from"./notifications-B4_o8bcr.js";function f(n){return Array.from(n).sort((r,e)=>r.localeCompare(e))}function x(n){const r=new Map;for(const t of n){if(t.context_mode!=="shared")continue;const d=t.context_group||"default",i=r.get(d)??{group:d,sharedCount:0,deeperCount:0,accountNames:[]};i.sharedCount+=1,i.accountNames.push(t.name),t.continuity_mode==="deeper"&&(i.deeperCount+=1),r.set(d,i)}const e=Array.from(r.values()).sort((t,d)=>t.group.localeCompare(d.group)),o=n.map(t=>{if(t.context_mode!=="shared")return{...t,sameGroupPeerCount:0,sameGroupDeeperPeerCount:0};const d=t.context_group||"default",i=r.get(d),h=Math.max((i?.sharedCount??1)-1,0),g=Math.max((i?.deeperCount??0)-(t.continuity_mode==="deeper"?1:0),0);return{...t,sameGroupPeerCount:h,sameGroupDeeperPeerCount:g}}),u=o.filter(t=>t.context_mode==="shared").length,a=o.filter(t=>t.context_mode==="shared"&&t.continuity_mode==="deeper").length,c=o.filter(t=>t.context_inferred).length,C=o.filter(t=>t.context_mode==="shared"&&t.continuity_mode!=="deeper"&&t.continuity_inferred).length;return{accounts:o,sharedCount:u,sharedStandardCount:Math.max(u-a,0),deeperSharedCount:a,isolatedCount:o.length-u,legacyContextCount:c,legacyContinuityCount:C,sharedAloneCount:o.filter(t=>t.context_mode==="shared"&&t.sameGroupPeerCount===0).length,sharedPeerAccountCount:o.filter(t=>t.sameGroupPeerCount>0).length,deeperReadyAccountCount:o.filter(t=>t.continuity_mode==="deeper"&&t.sameGroupDeeperPeerCount>0).length,sharedPeerGroups:f(e.filter(t=>t.sharedCount>=2).map(t=>t.group)),deeperReadyGroups:f(e.filter(t=>t.deeperCount>=2).map(t=>t.group)),sharedGroups:f(e.map(t=>t.group)),groupSummaries:e}}function G(){return _({queryKey:["accounts"],queryFn:()=>l.accounts.list(),select:n=>{const r=n.accounts.filter(a=>a.type!=="cliproxy"),e=x(r),o=n.accounts.length-r.length,u=e.accounts.some(a=>a.name===n.default)?n.default:null;return{accounts:e.accounts,default:u,cliproxyCount:o,legacyContextCount:e.legacyContextCount,legacyContinuityCount:e.legacyContinuityCount,sharedCount:e.sharedCount,sharedStandardCount:e.sharedStandardCount,deeperSharedCount:e.deeperSharedCount,isolatedCount:e.isolatedCount,sharedAloneCount:e.sharedAloneCount,sharedPeerAccountCount:e.sharedPeerAccountCount,deeperReadyAccountCount:e.deeperReadyAccountCount,sharedPeerGroups:e.sharedPeerGroups,deeperReadyGroups:e.deeperReadyGroups,sharedGroups:e.sharedGroups,groupSummaries:e.groupSummaries,plainCcsLane:n.plain_ccs_lane??null}}})}function q(){const n=m(),{t:r}=y();return p({mutationFn:e=>l.accounts.setDefault(e),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.defaultAccountSet",{name:o}))},onError:e=>{s.error(e.message)}})}function D(){const n=m(),{t:r}=y();return p({mutationFn:()=>l.accounts.resetDefault(),onSuccess:()=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.defaultAccountReset"))},onError:e=>{s.error(e.message)}})}function R(){const n=m(),{t:r}=y();return p({mutationFn:e=>l.accounts.delete(e),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]}),s.success(r("toasts.accountDeleted",{name:o}))},onError:e=>{s.error(e.message)}})}function Q(){const n=m(),{t:r}=y();return p({mutationFn:({name:e,context_mode:o,context_group:u,continuity_mode:a})=>l.accounts.updateContext(e,{context_mode:o,context_group:u,continuity_mode:a}),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]});const u=(o.context_group||"default").trim().toLowerCase().replace(/\s+/g,"-"),a=o.context_mode==="shared"?o.continuity_mode==="deeper"?`${r("accountsPage.sharedDeeper")} (${u})`:`${r("accountsPage.sharedStandard")} (${u})`:r("accountsPage.isolated");s.success(r("toasts.contextUpdated",{name:o.name,summary:a}))},onError:e=>{s.error(e.message)}})}function F(){const n=m(),{t:r}=y();return p({mutationFn:async e=>{const o=e.filter(c=>c.context_inferred||c.continuity_inferred),a=(await Promise.allSettled(o.map(c=>{const C=c.context_mode==="shared";return l.accounts.updateContext(c.name,{context_mode:C?"shared":"isolated",context_group:C?c.context_group||"default":void 0,continuity_mode:C?c.continuity_mode==="deeper"?"deeper":"standard":void 0})}))).filter(c=>c.status==="rejected").length;return{updatedCount:o.length-a,failedCount:a}},onSuccess:({updatedCount:e,failedCount:o})=>{if(n.invalidateQueries({queryKey:["accounts"]}),o>0&&e>0){s.error(r("toasts.legacyConfirmPartial",{updated:e,failed:o}));return}if(o>0){s.error(r("toasts.legacyConfirmAllFailed",{failed:o}));return}if(e>0){s.success(r("toasts.legacyConfirmSuccess",{count:e}));return}s.info(r("toasts.noLegacyAccounts"))},onError:e=>{n.invalidateQueries({queryKey:["accounts"]}),s.error(e.message)}})}function K(){const n=m(),{t:r}=y();return p({mutationFn:({name:e,shared_resource_mode:o})=>l.accounts.updateSharedResources(e,{shared_resource_mode:o}),onSuccess:(e,o)=>{n.invalidateQueries({queryKey:["accounts"]});const u=o.shared_resource_mode==="shared"?r("accountsPage.resourcesShared"):r("accountsPage.resourcesProfileLocal");s.success(r("toasts.resourcesUpdated",{name:o.name,summary:u}))},onError:e=>{s.error(e.message)}})}export{Q as a,K as b,q as c,R as d,D as e,F as f,G as u};
@@ -24,16 +24,16 @@
24
24
  href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
25
25
  rel="stylesheet"
26
26
  />
27
- <script type="module" crossorigin src="/assets/index-CcGVqYOy.js"></script>
27
+ <script type="module" crossorigin src="/assets/index-CGgavq2X.js"></script>
28
28
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-Bjx91N7w.js">
29
29
  <link rel="modulepreload" crossorigin href="/assets/radix-ui-nu4wz29m.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/tanstack-bhJxV1h8.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/notifications-B4_o8bcr.js">
32
- <link rel="modulepreload" crossorigin href="/assets/icons-DzKUh8vG.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/icons-DSLG1YsC.js">
33
33
  <link rel="modulepreload" crossorigin href="/assets/utils-CzKF5WmX.js">
34
34
  <link rel="modulepreload" crossorigin href="/assets/form-utils-CuHzLhJZ.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/charts-eIPy2oG6.js">
36
- <link rel="stylesheet" crossorigin href="/assets/index-BMoGhs28.css">
36
+ <link rel="stylesheet" crossorigin href="/assets/index-DzFlVVV3.css">
37
37
  </head>
38
38
  <body>
39
39
  <div id="root"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"browser-settings.d.ts","sourceRoot":"","sources":["../../../src/utils/browser/browser-settings.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGxF,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,gBAAgB,CAAC;AAGlF,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,GAAG,yBAAyB,CAAC;AAE5F,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,qBAAqB,CAAC;IACzC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,mCAAmC;IAClD,KAAK,EAAE,cAAc,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,qBAAqB,CAOvB;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAKT;AAaD,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,kCAAkC,GAC1C,MAAM,EAAE,CAEV;AAYD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kCAAkC,GACzC,6BAA6B,CAoC/B;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,kCAAkC,EAC1C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,mCAAmC,GAAG,SAAS,CAkDjD;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC,CAoBA;AAED,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,aAAa,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,kCAAkC,CA4BpC;AAED,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAoCzC"}
1
+ {"version":3,"file":"browser-settings.d.ts","sourceRoot":"","sources":["../../../src/utils/browser/browser-settings.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGxF,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,gBAAgB,CAAC;AAGlF,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,GAAG,yBAAyB,CAAC;AAE5F,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,qBAAqB,CAAC;IACzC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,mCAAmC;IAClD,KAAK,EAAE,cAAc,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,qBAAqB,CAOvB;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAKT;AAaD,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,kCAAkC,GAC1C,MAAM,EAAE,CAEV;AAYD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kCAAkC,GACzC,6BAA6B,CAoC/B;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,kCAAkC,EAC1C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,mCAAmC,GAAG,SAAS,CAkDjD;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC,CAoBA;AAED,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,aAAa,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,kCAAkC,CA+BpC;AAED,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAoCzC"}
@@ -178,8 +178,11 @@ exports.getBrowserAttachOverride = getBrowserAttachOverride;
178
178
  function getEffectiveClaudeBrowserAttachConfig(config, env = process.env) {
179
179
  const override = getBrowserAttachOverride(env);
180
180
  const configUserDataDir = resolveBrowserUserDataDir(config.claude.user_data_dir) ?? getRecommendedBrowserUserDataDir();
181
+ const configHasExplicitPort = config.claude.devtools_port !== undefined;
181
182
  const configPort = normalizeDevtoolsPort(config.claude.devtools_port);
182
183
  const configEvalMode = config.claude.eval_mode ?? 'readonly';
184
+ const envEvalMode = parseBrowserEvalMode(env.CCS_BROWSER_EVAL_MODE);
185
+ const effectiveEvalMode = envEvalMode ?? configEvalMode;
183
186
  if (override.userDataDir) {
184
187
  return {
185
188
  enabled: config.claude.enabled,
@@ -188,7 +191,7 @@ function getEffectiveClaudeBrowserAttachConfig(config, env = process.env) {
188
191
  userDataDir: override.userDataDir,
189
192
  devtoolsPort: override.devtoolsPort ?? configPort,
190
193
  hasExplicitDevtoolsPort: override.devtoolsPort !== undefined,
191
- evalMode: configEvalMode,
194
+ evalMode: effectiveEvalMode,
192
195
  };
193
196
  }
194
197
  return {
@@ -197,8 +200,8 @@ function getEffectiveClaudeBrowserAttachConfig(config, env = process.env) {
197
200
  overrideActive: false,
198
201
  userDataDir: configUserDataDir,
199
202
  devtoolsPort: configPort,
200
- hasExplicitDevtoolsPort: true,
201
- evalMode: configEvalMode,
203
+ hasExplicitDevtoolsPort: configHasExplicitPort,
204
+ evalMode: effectiveEvalMode,
202
205
  };
203
206
  }
204
207
  exports.getEffectiveClaudeBrowserAttachConfig = getEffectiveClaudeBrowserAttachConfig;
@@ -244,6 +247,13 @@ function parseDevtoolsPort(value) {
244
247
  }
245
248
  return normalizeDevtoolsPort(Number.parseInt(value.trim(), 10));
246
249
  }
250
+ function parseBrowserEvalMode(value) {
251
+ const trimmed = value?.trim();
252
+ if (trimmed === 'disabled' || trimmed === 'readonly' || trimmed === 'readwrite') {
253
+ return trimmed;
254
+ }
255
+ return undefined;
256
+ }
247
257
  function normalizeDevtoolsPort(value) {
248
258
  if (!Number.isFinite(value)) {
249
259
  return 9222;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-settings.js","sourceRoot":"","sources":["../../../src/utils/browser/browser-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-settings.js","sourceRoot":"","sources":["../../../src/utils/browser/browser-settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/browser/mcp-installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyDH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAoJD,wBAAgB,uBAAuB,IAAI,OAAO,CA8CjD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAyDhD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAI1C;AAED,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMtF;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAYnD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAWhD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD"}
1
+ {"version":3,"file":"mcp-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/browser/mcp-installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4DH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAoHD,wBAAgB,uBAAuB,IAAI,OAAO,CA8CjD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAyDhD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAI1C;AAED,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMtF;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAYnD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAWhD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD"}
@@ -29,10 +29,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.ensureBrowserMcpOrThrow = exports.uninstallBrowserMcp = exports.removeBrowserMcpConfig = exports.uninstallBrowserMcpServer = exports.syncBrowserMcpToConfigDir = exports.ensureBrowserMcp = exports.ensureBrowserMcpConfig = exports.installBrowserMcpServer = exports.getBrowserMcpServerPath = exports.getBrowserMcpServerName = void 0;
30
30
  const fs = __importStar(require("fs"));
31
31
  const path = __importStar(require("path"));
32
- const lockfile = __importStar(require("proper-lockfile"));
33
32
  const instance_manager_1 = require("../../management/instance-manager");
34
33
  const claude_config_path_1 = require("../claude-config-path");
35
34
  const config_manager_1 = require("../config-manager");
35
+ const claude_user_config_lock_1 = require("../claude-user-config-lock");
36
36
  const BROWSER_MCP_SERVER = 'ccs-browser-server.cjs';
37
37
  const BROWSER_MCP_SERVER_NAME = 'ccs-browser';
38
38
  function resolvePackageRoot(fromPath) {
@@ -132,41 +132,12 @@ function writeClaudeUserConfig(configPath, config) {
132
132
  }
133
133
  }
134
134
  }
135
- function withClaudeUserConfigLock(configPath, callback) {
136
- const configDir = path.dirname(configPath);
137
- const lockTarget = path.join(configDir, `${path.basename(configPath)}.ccs-lock`);
138
- let release;
139
- if (!fs.existsSync(configDir)) {
140
- fs.mkdirSync(configDir, { recursive: true, mode: 0o700 });
141
- }
142
- if (!fs.existsSync(lockTarget)) {
143
- fs.writeFileSync(lockTarget, '', { encoding: 'utf8', mode: 0o600 });
144
- }
145
- try {
146
- release = lockfile.lockSync(lockTarget, { stale: 10000 });
147
- return callback();
148
- }
149
- finally {
150
- if (release) {
151
- try {
152
- release();
153
- }
154
- catch {
155
- // Best-effort release.
156
- }
157
- }
158
- }
159
- }
160
- function isLockUnavailableError(error) {
161
- const code = error?.code;
162
- return code === 'ELOCKED' || code === 'ENOTACQUIRED';
163
- }
164
135
  function removeManagedServerConfig(configPath) {
165
136
  if (!fs.existsSync(configPath)) {
166
137
  return false;
167
138
  }
168
139
  try {
169
- return withClaudeUserConfigLock(configPath, () => {
140
+ return (0, claude_user_config_lock_1.withClaudeUserConfigLock)(configPath, () => {
170
141
  const config = readClaudeUserConfig(configPath);
171
142
  if (config === null) {
172
143
  return false;
@@ -196,7 +167,7 @@ function removeManagedServerConfig(configPath) {
196
167
  });
197
168
  }
198
169
  catch (error) {
199
- if (isLockUnavailableError(error)) {
170
+ if ((0, claude_user_config_lock_1.isClaudeUserConfigLockUnavailableError)(error)) {
200
171
  return false;
201
172
  }
202
173
  throw error;
@@ -261,7 +232,7 @@ function ensureBrowserMcpConfig() {
261
232
  env: getBrowserMcpServerEnv(),
262
233
  };
263
234
  try {
264
- return withClaudeUserConfigLock(claudeUserConfigPath, () => {
235
+ return (0, claude_user_config_lock_1.withClaudeUserConfigLock)(claudeUserConfigPath, () => {
265
236
  const config = readClaudeUserConfig(claudeUserConfigPath);
266
237
  if (config === null) {
267
238
  return false;
@@ -294,7 +265,7 @@ function ensureBrowserMcpConfig() {
294
265
  });
295
266
  }
296
267
  catch (error) {
297
- if (isLockUnavailableError(error)) {
268
+ if ((0, claude_user_config_lock_1.isClaudeUserConfigLockUnavailableError)(error)) {
298
269
  return false;
299
270
  }
300
271
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-installer.js","sourceRoot":"","sources":["../../../src/utils/browser/mcp-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-installer.js","sourceRoot":"","sources":["../../../src/utils/browser/mcp-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface LockOptions {
2
+ staleMs?: number;
3
+ retryDelayMs?: number;
4
+ retryTimeoutMs?: number;
5
+ }
6
+ export declare function withClaudeUserConfigLock<T>(configPath: string, callback: () => T, options?: LockOptions): T;
7
+ export declare function isClaudeUserConfigLockUnavailableError(error: unknown): boolean;
8
+ export {};
9
+ //# sourceMappingURL=claude-user-config-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-user-config-lock.d.ts","sourceRoot":"","sources":["../../src/utils/claude-user-config-lock.ts"],"names":[],"mappings":"AAQA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,EACjB,OAAO,GAAE,WAAgB,GACxB,CAAC,CAgCH;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9E"}