forgebadger 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1490) hide show
  1. package/README.md +36 -23
  2. package/dist/commands/doctor.d.ts +2 -1
  3. package/dist/commands/doctor.js +1 -1
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/start.d.ts +3 -2
  6. package/dist/commands/start.js +5 -4
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/commands/uninstall.d.ts +24 -0
  9. package/dist/commands/uninstall.js +123 -0
  10. package/dist/commands/uninstall.js.map +1 -0
  11. package/dist/gateway/src/adapters/index.js +24 -1
  12. package/dist/gateway/src/adapters/index.js.map +1 -1
  13. package/dist/gateway/src/config/env.d.ts +19 -0
  14. package/dist/gateway/src/config/env.js +27 -2
  15. package/dist/gateway/src/config/env.js.map +1 -1
  16. package/dist/gateway/src/config-generation/writer.d.ts +2 -0
  17. package/dist/gateway/src/config-generation/writer.js +29 -3
  18. package/dist/gateway/src/config-generation/writer.js.map +1 -1
  19. package/dist/gateway/src/db/migrations/0097_telegram_channel_accounts.sql +7 -0
  20. package/dist/gateway/src/db/migrations/0098_skill_remote_provenance.sql +1 -0
  21. package/dist/gateway/src/db/migrations/0099_runtime_settings.sql +1 -0
  22. package/dist/gateway/src/db/migrations/0100_runtime_confirmation_revocation.sql +27 -0
  23. package/dist/gateway/src/db/migrations/0101_provider_private_networks.sql +7 -0
  24. package/dist/gateway/src/db/migrations/0102_copilot_preferences.sql +4 -0
  25. package/dist/gateway/src/db/migrations/0103_model_thinking_efforts.sql +8 -0
  26. package/dist/gateway/src/db/migrations/0104_copilot_project_autonomy.sql +1 -0
  27. package/dist/gateway/src/db/migrations/0105_remove_copilot_grants.sql +91 -0
  28. package/dist/gateway/src/db/migrations/0106_mcp_cli_dispatch_scope.sql +3 -0
  29. package/dist/gateway/src/db/migrations/0107_cli_skill_revisions.sql +12 -0
  30. package/dist/gateway/src/db/migrations/0108_copilot_run_governance.sql +43 -0
  31. package/dist/gateway/src/db/migrations/0109_copilot_research_jobs.sql +19 -0
  32. package/dist/gateway/src/db/migrations/0110_copilot_tool_artifacts.sql +19 -0
  33. package/dist/gateway/src/db/migrations/0111_copilot_model_metering.sql +13 -0
  34. package/dist/gateway/src/db/migrations/0112_copilot_repair_jobs.sql +27 -0
  35. package/dist/gateway/src/db/migrations/0113_copilot_memory_search_index.sql +19 -0
  36. package/dist/gateway/src/db/migrations/0114_channel_reliability.sql +32 -0
  37. package/dist/gateway/src/db/migrations/0115_feishu_typing_reactions.sql +12 -0
  38. package/dist/gateway/src/db/migrations/0116_channel_control_commands.sql +6 -0
  39. package/dist/gateway/src/db/migrations/0117_channel_session_model.sql +2 -0
  40. package/dist/gateway/src/db/migrations/0118_mcp_project_grants.sql +2 -0
  41. package/dist/gateway/src/db/migrations/0119_feishu_notifications.sql +23 -0
  42. package/dist/gateway/src/db/migrations/0120_feishu_notification_targets.sql +25 -0
  43. package/dist/gateway/src/db/migrations/0121_session_notification_prompts.sql +10 -0
  44. package/dist/gateway/src/db/migrations/0122_mcode_adapter.sql +97 -0
  45. package/dist/gateway/src/db/migrations/0123_mcode_supported_adapters_backfill.sql +16 -0
  46. package/dist/gateway/src/db/migrations/0124_user_adapter_order.sql +4 -0
  47. package/dist/gateway/src/db/migrations/0125_copilot_approval_clock.sql +15 -0
  48. package/dist/gateway/src/db/migrations/0126_development_execution_identity.sql +3 -0
  49. package/dist/gateway/src/db/migrations/0127_cli_observation_summaries.sql +17 -0
  50. package/dist/gateway/src/db/migrations/0128_feishu_builtin_summaries.sql +11 -0
  51. package/dist/gateway/src/db/migrations/meta/_journal.json +224 -0
  52. package/dist/gateway/src/db/migrations/meta/migration-checksums.json +33 -1
  53. package/dist/gateway/src/db/repositories/adapter-order-repository.d.ts +18 -0
  54. package/dist/gateway/src/db/repositories/adapter-order-repository.js +61 -0
  55. package/dist/gateway/src/db/repositories/adapter-order-repository.js.map +1 -0
  56. package/dist/gateway/src/db/repositories/catalog-repository.d.ts +4 -1
  57. package/dist/gateway/src/db/repositories/catalog-repository.js +16 -2
  58. package/dist/gateway/src/db/repositories/catalog-repository.js.map +1 -1
  59. package/dist/gateway/src/db/repositories/channel-command-repository.d.ts +14 -0
  60. package/dist/gateway/src/db/repositories/channel-command-repository.js +34 -0
  61. package/dist/gateway/src/db/repositories/channel-command-repository.js.map +1 -0
  62. package/dist/gateway/src/db/repositories/channel-delivery-repository.d.ts +11 -0
  63. package/dist/gateway/src/db/repositories/channel-delivery-repository.js +25 -5
  64. package/dist/gateway/src/db/repositories/channel-delivery-repository.js.map +1 -1
  65. package/dist/gateway/src/db/repositories/channel-identity-repository.d.ts +29 -5
  66. package/dist/gateway/src/db/repositories/channel-identity-repository.js +46 -8
  67. package/dist/gateway/src/db/repositories/channel-identity-repository.js.map +1 -1
  68. package/dist/gateway/src/db/repositories/channel-message-repository.d.ts +11 -1
  69. package/dist/gateway/src/db/repositories/channel-message-repository.js +21 -6
  70. package/dist/gateway/src/db/repositories/channel-message-repository.js.map +1 -1
  71. package/dist/gateway/src/db/repositories/cli-observation-repository.d.ts +20 -0
  72. package/dist/gateway/src/db/repositories/cli-observation-repository.js +91 -0
  73. package/dist/gateway/src/db/repositories/cli-observation-repository.js.map +1 -0
  74. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.d.ts +11 -0
  75. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js +57 -0
  76. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js.map +1 -0
  77. package/dist/gateway/src/db/repositories/copilot-model-response-repository.d.ts +20 -0
  78. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js +151 -0
  79. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js.map +1 -0
  80. package/dist/gateway/src/db/repositories/copilot-preferences-repository.d.ts +43 -0
  81. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js +74 -0
  82. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js.map +1 -0
  83. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.d.ts +1 -0
  84. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.js.map +1 -1
  85. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.d.ts +30 -0
  86. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +103 -0
  87. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -0
  88. package/dist/gateway/src/db/repositories/development-task-repository.d.ts +5 -1
  89. package/dist/gateway/src/db/repositories/development-task-repository.js +25 -0
  90. package/dist/gateway/src/db/repositories/development-task-repository.js.map +1 -1
  91. package/dist/gateway/src/db/repositories/feishu-channel-repository.js +4 -0
  92. package/dist/gateway/src/db/repositories/feishu-channel-repository.js.map +1 -1
  93. package/dist/gateway/src/db/repositories/feishu-notification-repository.d.ts +54 -0
  94. package/dist/gateway/src/db/repositories/feishu-notification-repository.js +72 -0
  95. package/dist/gateway/src/db/repositories/feishu-notification-repository.js.map +1 -0
  96. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.d.ts +28 -0
  97. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js +51 -0
  98. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js.map +1 -0
  99. package/dist/gateway/src/db/repositories/feishu-typing-repository.d.ts +26 -0
  100. package/dist/gateway/src/db/repositories/feishu-typing-repository.js +77 -0
  101. package/dist/gateway/src/db/repositories/feishu-typing-repository.js.map +1 -0
  102. package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +14 -1
  103. package/dist/gateway/src/db/repositories/mcp-token-repository.js +19 -4
  104. package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
  105. package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +10 -1
  106. package/dist/gateway/src/db/repositories/model-provider-repository.js +22 -12
  107. package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
  108. package/dist/gateway/src/db/repositories/notification-repository.d.ts +4 -0
  109. package/dist/gateway/src/db/repositories/notification-repository.js +24 -2
  110. package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
  111. package/dist/gateway/src/db/repositories/platform-action-repository.d.ts +30 -4
  112. package/dist/gateway/src/db/repositories/platform-action-repository.js +41 -5
  113. package/dist/gateway/src/db/repositories/platform-action-repository.js.map +1 -1
  114. package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
  115. package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
  116. package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
  117. package/dist/gateway/src/db/repositories/project-repository.d.ts +3 -0
  118. package/dist/gateway/src/db/repositories/project-repository.js +16 -0
  119. package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
  120. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.d.ts +17 -0
  121. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js +47 -0
  122. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js.map +1 -0
  123. package/dist/gateway/src/db/repositories/session-repository.js +16 -4
  124. package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
  125. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.d.ts +11 -1
  126. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js +14 -1
  127. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js.map +1 -1
  128. package/dist/gateway/src/db/repositories/session-writer-lease-repository.d.ts +8 -1
  129. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js +13 -3
  130. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js.map +1 -1
  131. package/dist/gateway/src/db/repositories/skill-repository.d.ts +3 -0
  132. package/dist/gateway/src/db/repositories/skill-repository.js +3 -0
  133. package/dist/gateway/src/db/repositories/skill-repository.js.map +1 -1
  134. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.d.ts +22 -0
  135. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +58 -0
  136. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js.map +1 -0
  137. package/dist/gateway/src/db/repositories/task-report-repository.d.ts +19 -0
  138. package/dist/gateway/src/db/repositories/task-report-repository.js +35 -0
  139. package/dist/gateway/src/db/repositories/task-report-repository.js.map +1 -0
  140. package/dist/gateway/src/db/repositories/telegram-channel-repository.d.ts +36 -0
  141. package/dist/gateway/src/db/repositories/telegram-channel-repository.js +93 -0
  142. package/dist/gateway/src/db/repositories/telegram-channel-repository.js.map +1 -0
  143. package/dist/gateway/src/db/repositories/telegram-cursor-repository.d.ts +11 -0
  144. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js +31 -0
  145. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js.map +1 -0
  146. package/dist/gateway/src/db/repositories/telegram-integration-repository.d.ts +19 -0
  147. package/dist/gateway/src/db/repositories/telegram-integration-repository.js +84 -0
  148. package/dist/gateway/src/db/repositories/telegram-integration-repository.js.map +1 -0
  149. package/dist/gateway/src/db/repositories/template-repository.d.ts +15 -0
  150. package/dist/gateway/src/db/repositories/template-repository.js +22 -0
  151. package/dist/gateway/src/db/repositories/template-repository.js.map +1 -1
  152. package/dist/gateway/src/db/schema.d.ts +11355 -8305
  153. package/dist/gateway/src/db/schema.js +226 -29
  154. package/dist/gateway/src/db/schema.js.map +1 -1
  155. package/dist/gateway/src/lib/adapter-ids.d.ts +15 -0
  156. package/dist/gateway/src/lib/adapter-ids.js +24 -0
  157. package/dist/gateway/src/lib/adapter-ids.js.map +1 -0
  158. package/dist/gateway/src/lib/dependency-check.d.ts +5 -1
  159. package/dist/gateway/src/lib/dependency-check.js +65 -6
  160. package/dist/gateway/src/lib/dependency-check.js.map +1 -1
  161. package/dist/gateway/src/lib/redaction.js +8 -2
  162. package/dist/gateway/src/lib/redaction.js.map +1 -1
  163. package/dist/gateway/src/routes/adapters.d.ts +2 -1
  164. package/dist/gateway/src/routes/adapters.js +122 -2
  165. package/dist/gateway/src/routes/adapters.js.map +1 -1
  166. package/dist/gateway/src/routes/auth.d.ts +5 -1
  167. package/dist/gateway/src/routes/auth.js +10 -5
  168. package/dist/gateway/src/routes/auth.js.map +1 -1
  169. package/dist/gateway/src/routes/catalog.d.ts +2 -1
  170. package/dist/gateway/src/routes/catalog.js +41 -24
  171. package/dist/gateway/src/routes/catalog.js.map +1 -1
  172. package/dist/gateway/src/routes/channel-diagnostics.d.ts +7 -0
  173. package/dist/gateway/src/routes/channel-diagnostics.js +21 -0
  174. package/dist/gateway/src/routes/channel-diagnostics.js.map +1 -0
  175. package/dist/gateway/src/routes/cli-accounts.d.ts +13 -0
  176. package/dist/gateway/src/routes/cli-accounts.js +89 -0
  177. package/dist/gateway/src/routes/cli-accounts.js.map +1 -0
  178. package/dist/gateway/src/routes/cli-config.js +7 -4
  179. package/dist/gateway/src/routes/cli-config.js.map +1 -1
  180. package/dist/gateway/src/routes/copilot-channels.js +1 -1
  181. package/dist/gateway/src/routes/copilot-channels.js.map +1 -1
  182. package/dist/gateway/src/routes/copilot-development.js +18 -0
  183. package/dist/gateway/src/routes/copilot-development.js.map +1 -1
  184. package/dist/gateway/src/routes/copilot-metering.d.ts +4 -0
  185. package/dist/gateway/src/routes/copilot-metering.js +46 -0
  186. package/dist/gateway/src/routes/copilot-metering.js.map +1 -0
  187. package/dist/gateway/src/routes/copilot-skills.js +13 -0
  188. package/dist/gateway/src/routes/copilot-skills.js.map +1 -1
  189. package/dist/gateway/src/routes/copilot.js +97 -31
  190. package/dist/gateway/src/routes/copilot.js.map +1 -1
  191. package/dist/gateway/src/routes/feishu-notifications.d.ts +9 -0
  192. package/dist/gateway/src/routes/feishu-notifications.js +63 -0
  193. package/dist/gateway/src/routes/feishu-notifications.js.map +1 -0
  194. package/dist/gateway/src/routes/index.js +13 -1
  195. package/dist/gateway/src/routes/index.js.map +1 -1
  196. package/dist/gateway/src/routes/integrations-telegram.d.ts +11 -0
  197. package/dist/gateway/src/routes/integrations-telegram.js +117 -0
  198. package/dist/gateway/src/routes/integrations-telegram.js.map +1 -0
  199. package/dist/gateway/src/routes/mcp-tokens.js +36 -5
  200. package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
  201. package/dist/gateway/src/routes/mcp.d.ts +2 -1
  202. package/dist/gateway/src/routes/mcp.js +4 -2
  203. package/dist/gateway/src/routes/mcp.js.map +1 -1
  204. package/dist/gateway/src/routes/model-providers.js +47 -7
  205. package/dist/gateway/src/routes/model-providers.js.map +1 -1
  206. package/dist/gateway/src/routes/notifications.d.ts +1 -1
  207. package/dist/gateway/src/routes/notifications.js +3 -1
  208. package/dist/gateway/src/routes/notifications.js.map +1 -1
  209. package/dist/gateway/src/routes/platform-actions.js +2 -28
  210. package/dist/gateway/src/routes/platform-actions.js.map +1 -1
  211. package/dist/gateway/src/routes/project-management.js +22 -9
  212. package/dist/gateway/src/routes/project-management.js.map +1 -1
  213. package/dist/gateway/src/routes/project-manager.js +2 -1
  214. package/dist/gateway/src/routes/project-manager.js.map +1 -1
  215. package/dist/gateway/src/routes/projects.js +3 -2
  216. package/dist/gateway/src/routes/projects.js.map +1 -1
  217. package/dist/gateway/src/routes/runtime-settings.d.ts +4 -0
  218. package/dist/gateway/src/routes/runtime-settings.js +51 -0
  219. package/dist/gateway/src/routes/runtime-settings.js.map +1 -0
  220. package/dist/gateway/src/routes/session-hooks.d.ts +2 -1
  221. package/dist/gateway/src/routes/session-hooks.js +81 -15
  222. package/dist/gateway/src/routes/session-hooks.js.map +1 -1
  223. package/dist/gateway/src/routes/sessions.js +134 -38
  224. package/dist/gateway/src/routes/sessions.js.map +1 -1
  225. package/dist/gateway/src/routes/skill-registry.d.ts +4 -0
  226. package/dist/gateway/src/routes/skill-registry.js +77 -0
  227. package/dist/gateway/src/routes/skill-registry.js.map +1 -0
  228. package/dist/gateway/src/routes/skills.d.ts +2 -1
  229. package/dist/gateway/src/routes/skills.js +112 -49
  230. package/dist/gateway/src/routes/skills.js.map +1 -1
  231. package/dist/gateway/src/routes/templates.js +3 -2
  232. package/dist/gateway/src/routes/templates.js.map +1 -1
  233. package/dist/gateway/src/runtime/start-gateway.js +28 -1
  234. package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
  235. package/dist/gateway/src/server.d.ts +20 -2
  236. package/dist/gateway/src/server.js +50 -3
  237. package/dist/gateway/src/server.js.map +1 -1
  238. package/dist/gateway/src/services/adapter-autonomy.d.ts +5 -2
  239. package/dist/gateway/src/services/adapter-autonomy.js +19 -1
  240. package/dist/gateway/src/services/adapter-autonomy.js.map +1 -1
  241. package/dist/gateway/src/services/adapter-discovery.d.ts +2 -1
  242. package/dist/gateway/src/services/adapter-discovery.js +16 -2
  243. package/dist/gateway/src/services/adapter-discovery.js.map +1 -1
  244. package/dist/gateway/src/services/adapter-updates.d.ts +44 -0
  245. package/dist/gateway/src/services/adapter-updates.js +344 -0
  246. package/dist/gateway/src/services/adapter-updates.js.map +1 -0
  247. package/dist/gateway/src/services/agent/agent-stack.js +2 -0
  248. package/dist/gateway/src/services/agent/agent-stack.js.map +1 -1
  249. package/dist/gateway/src/services/agent/approval-clock.d.ts +9 -0
  250. package/dist/gateway/src/services/agent/approval-clock.js +36 -0
  251. package/dist/gateway/src/services/agent/approval-clock.js.map +1 -0
  252. package/dist/gateway/src/services/agent/catalog-search.d.ts +4 -0
  253. package/dist/gateway/src/services/agent/catalog-search.js +29 -0
  254. package/dist/gateway/src/services/agent/catalog-search.js.map +1 -0
  255. package/dist/gateway/src/services/agent/context-recovery.d.ts +15 -0
  256. package/dist/gateway/src/services/agent/context-recovery.js +34 -0
  257. package/dist/gateway/src/services/agent/context-recovery.js.map +1 -0
  258. package/dist/gateway/src/services/agent/context.d.ts +9 -3
  259. package/dist/gateway/src/services/agent/context.js +129 -42
  260. package/dist/gateway/src/services/agent/context.js.map +1 -1
  261. package/dist/gateway/src/services/agent/conversation-log.js +16 -3
  262. package/dist/gateway/src/services/agent/conversation-log.js.map +1 -1
  263. package/dist/gateway/src/services/agent/development-repair.d.ts +15 -0
  264. package/dist/gateway/src/services/agent/development-repair.js +115 -0
  265. package/dist/gateway/src/services/agent/development-repair.js.map +1 -0
  266. package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +10 -0
  267. package/dist/gateway/src/services/agent/dispatch-supervisor.js +36 -0
  268. package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -0
  269. package/dist/gateway/src/services/agent/followups.d.ts +22 -0
  270. package/dist/gateway/src/services/agent/followups.js +80 -0
  271. package/dist/gateway/src/services/agent/followups.js.map +1 -0
  272. package/dist/gateway/src/services/agent/llm-anthropic.js +17 -8
  273. package/dist/gateway/src/services/agent/llm-anthropic.js.map +1 -1
  274. package/dist/gateway/src/services/agent/llm-client.d.ts +25 -0
  275. package/dist/gateway/src/services/agent/llm-client.js +195 -63
  276. package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
  277. package/dist/gateway/src/services/agent/llm-connection-error.d.ts +22 -0
  278. package/dist/gateway/src/services/agent/llm-connection-error.js +64 -0
  279. package/dist/gateway/src/services/agent/llm-connection-error.js.map +1 -0
  280. package/dist/gateway/src/services/agent/llm-openai.d.ts +4 -0
  281. package/dist/gateway/src/services/agent/llm-openai.js +69 -9
  282. package/dist/gateway/src/services/agent/llm-openai.js.map +1 -1
  283. package/dist/gateway/src/services/agent/llm-public-fetch.d.ts +10 -1
  284. package/dist/gateway/src/services/agent/llm-public-fetch.js +182 -51
  285. package/dist/gateway/src/services/agent/llm-public-fetch.js.map +1 -1
  286. package/dist/gateway/src/services/agent/llm-replay.d.ts +30 -0
  287. package/dist/gateway/src/services/agent/llm-replay.js +21 -0
  288. package/dist/gateway/src/services/agent/llm-replay.js.map +1 -0
  289. package/dist/gateway/src/services/agent/llm-response.d.ts +6 -0
  290. package/dist/gateway/src/services/agent/llm-response.js +40 -3
  291. package/dist/gateway/src/services/agent/llm-response.js.map +1 -1
  292. package/dist/gateway/src/services/agent/memory-search-index.d.ts +30 -0
  293. package/dist/gateway/src/services/agent/memory-search-index.js +63 -0
  294. package/dist/gateway/src/services/agent/memory-search-index.js.map +1 -0
  295. package/dist/gateway/src/services/agent/memory.d.ts +1 -0
  296. package/dist/gateway/src/services/agent/memory.js +43 -57
  297. package/dist/gateway/src/services/agent/memory.js.map +1 -1
  298. package/dist/gateway/src/services/agent/model-metering.d.ts +32 -0
  299. package/dist/gateway/src/services/agent/model-metering.js +62 -0
  300. package/dist/gateway/src/services/agent/model-metering.js.map +1 -0
  301. package/dist/gateway/src/services/agent/model-transport.d.ts +2 -0
  302. package/dist/gateway/src/services/agent/model-transport.js +22 -0
  303. package/dist/gateway/src/services/agent/model-transport.js.map +1 -0
  304. package/dist/gateway/src/services/agent/no-progress.d.ts +4 -0
  305. package/dist/gateway/src/services/agent/no-progress.js +57 -0
  306. package/dist/gateway/src/services/agent/no-progress.js.map +1 -0
  307. package/dist/gateway/src/services/agent/notification-context.d.ts +5 -0
  308. package/dist/gateway/src/services/agent/notification-context.js +72 -0
  309. package/dist/gateway/src/services/agent/notification-context.js.map +1 -0
  310. package/dist/gateway/src/services/agent/orchestrator-types.d.ts +12 -3
  311. package/dist/gateway/src/services/agent/orchestrator.d.ts +9 -0
  312. package/dist/gateway/src/services/agent/orchestrator.js +305 -64
  313. package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
  314. package/dist/gateway/src/services/agent/platform-access.d.ts +5 -1
  315. package/dist/gateway/src/services/agent/platform-access.js +7 -4
  316. package/dist/gateway/src/services/agent/platform-access.js.map +1 -1
  317. package/dist/gateway/src/services/agent/provider-error.d.ts +17 -0
  318. package/dist/gateway/src/services/agent/provider-error.js +66 -0
  319. package/dist/gateway/src/services/agent/provider-error.js.map +1 -0
  320. package/dist/gateway/src/services/agent/provisional-text.d.ts +13 -0
  321. package/dist/gateway/src/services/agent/provisional-text.js +46 -0
  322. package/dist/gateway/src/services/agent/provisional-text.js.map +1 -0
  323. package/dist/gateway/src/services/agent/public-text-stream.d.ts +12 -0
  324. package/dist/gateway/src/services/agent/public-text-stream.js +36 -0
  325. package/dist/gateway/src/services/agent/public-text-stream.js.map +1 -0
  326. package/dist/gateway/src/services/agent/reactive-loop.js +44 -5
  327. package/dist/gateway/src/services/agent/reactive-loop.js.map +1 -1
  328. package/dist/gateway/src/services/agent/read-batch.d.ts +3 -0
  329. package/dist/gateway/src/services/agent/read-batch.js +19 -0
  330. package/dist/gateway/src/services/agent/read-batch.js.map +1 -0
  331. package/dist/gateway/src/services/agent/recall-query.d.ts +6 -0
  332. package/dist/gateway/src/services/agent/recall-query.js +29 -0
  333. package/dist/gateway/src/services/agent/recall-query.js.map +1 -0
  334. package/dist/gateway/src/services/agent/redaction.d.ts +10 -0
  335. package/dist/gateway/src/services/agent/redaction.js +75 -6
  336. package/dist/gateway/src/services/agent/redaction.js.map +1 -1
  337. package/dist/gateway/src/services/agent/restricted-runs.d.ts +5 -0
  338. package/dist/gateway/src/services/agent/restricted-runs.js +22 -0
  339. package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -0
  340. package/dist/gateway/src/services/agent/run-governance.d.ts +44 -0
  341. package/dist/gateway/src/services/agent/run-governance.js +92 -0
  342. package/dist/gateway/src/services/agent/run-governance.js.map +1 -0
  343. package/dist/gateway/src/services/agent/run-ledger.d.ts +21 -4
  344. package/dist/gateway/src/services/agent/run-ledger.js +113 -46
  345. package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
  346. package/dist/gateway/src/services/agent/runtime.js +53 -7
  347. package/dist/gateway/src/services/agent/runtime.js.map +1 -1
  348. package/dist/gateway/src/services/agent/security-policy.js +25 -1
  349. package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
  350. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.d.ts +2 -0
  351. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +41 -0
  352. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -0
  353. package/dist/gateway/src/services/agent/skills/copilot-skill-service.d.ts +7 -1
  354. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js +37 -20
  355. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js.map +1 -1
  356. package/dist/gateway/src/services/agent/skills/copilot-skills.js +25 -24
  357. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  358. package/dist/gateway/src/services/agent/task-reports.d.ts +3 -0
  359. package/dist/gateway/src/services/agent/task-reports.js +78 -0
  360. package/dist/gateway/src/services/agent/task-reports.js.map +1 -0
  361. package/dist/gateway/src/services/agent/task-review.d.ts +12 -0
  362. package/dist/gateway/src/services/agent/task-review.js +67 -0
  363. package/dist/gateway/src/services/agent/task-review.js.map +1 -0
  364. package/dist/gateway/src/services/agent/tool-artifact-policy.d.ts +7 -0
  365. package/dist/gateway/src/services/agent/tool-artifact-policy.js +9 -0
  366. package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -0
  367. package/dist/gateway/src/services/agent/tool-availability.d.ts +0 -1
  368. package/dist/gateway/src/services/agent/tool-availability.js +3 -8
  369. package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
  370. package/dist/gateway/src/services/agent/tool-discovery.d.ts +1 -1
  371. package/dist/gateway/src/services/agent/tool-discovery.js +5 -10
  372. package/dist/gateway/src/services/agent/tool-discovery.js.map +1 -1
  373. package/dist/gateway/src/services/agent/tool-registry.d.ts +1 -0
  374. package/dist/gateway/src/services/agent/tool-registry.js +26 -10
  375. package/dist/gateway/src/services/agent/tool-registry.js.map +1 -1
  376. package/dist/gateway/src/services/agent/tools/development.js +2 -2
  377. package/dist/gateway/src/services/agent/tools/development.js.map +1 -1
  378. package/dist/gateway/src/services/agent/tools/discovery.js +1 -1
  379. package/dist/gateway/src/services/agent/tools/discovery.js.map +1 -1
  380. package/dist/gateway/src/services/agent/tools/index.js +8 -0
  381. package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
  382. package/dist/gateway/src/services/agent/tools/memory.js +3 -3
  383. package/dist/gateway/src/services/agent/tools/memory.js.map +1 -1
  384. package/dist/gateway/src/services/agent/tools/platform-coverage.js +5 -2
  385. package/dist/gateway/src/services/agent/tools/platform-coverage.js.map +1 -1
  386. package/dist/gateway/src/services/agent/tools/platform-management.js +4 -4
  387. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  388. package/dist/gateway/src/services/agent/tools/project-diff.d.ts +2 -0
  389. package/dist/gateway/src/services/agent/tools/project-diff.js +17 -0
  390. package/dist/gateway/src/services/agent/tools/project-diff.js.map +1 -0
  391. package/dist/gateway/src/services/agent/tools/project-manager.js +50 -1
  392. package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
  393. package/dist/gateway/src/services/agent/tools/projects.d.ts +2 -0
  394. package/dist/gateway/src/services/agent/tools/projects.js +44 -3
  395. package/dist/gateway/src/services/agent/tools/projects.js.map +1 -1
  396. package/dist/gateway/src/services/agent/tools/research.d.ts +2 -0
  397. package/dist/gateway/src/services/agent/tools/research.js +15 -0
  398. package/dist/gateway/src/services/agent/tools/research.js.map +1 -0
  399. package/dist/gateway/src/services/agent/tools/sessions.js +38 -10
  400. package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
  401. package/dist/gateway/src/services/agent/tools/skills.js +2 -2
  402. package/dist/gateway/src/services/agent/tools/skills.js.map +1 -1
  403. package/dist/gateway/src/services/agent/tools/source-search.d.ts +2 -0
  404. package/dist/gateway/src/services/agent/tools/source-search.js +44 -0
  405. package/dist/gateway/src/services/agent/tools/source-search.js.map +1 -0
  406. package/dist/gateway/src/services/agent/tools/terminal.d.ts +2 -0
  407. package/dist/gateway/src/services/agent/tools/terminal.js +83 -0
  408. package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -0
  409. package/dist/gateway/src/services/agent/tools/tool-results.js +24 -11
  410. package/dist/gateway/src/services/agent/tools/tool-results.js.map +1 -1
  411. package/dist/gateway/src/services/agent/types.d.ts +5 -0
  412. package/dist/gateway/src/services/agent/types.js.map +1 -1
  413. package/dist/gateway/src/services/automation/delivery.js +2 -2
  414. package/dist/gateway/src/services/automation/delivery.js.map +1 -1
  415. package/dist/gateway/src/services/builtin-skills.d.ts +1 -1
  416. package/dist/gateway/src/services/builtin-skills.js +1 -7
  417. package/dist/gateway/src/services/builtin-skills.js.map +1 -1
  418. package/dist/gateway/src/services/catalog-sync.js +1 -1
  419. package/dist/gateway/src/services/catalog-sync.js.map +1 -1
  420. package/dist/gateway/src/services/channels/channel-commands.d.ts +19 -0
  421. package/dist/gateway/src/services/channels/channel-commands.js +106 -0
  422. package/dist/gateway/src/services/channels/channel-commands.js.map +1 -0
  423. package/dist/gateway/src/services/channels/channel-diagnostics.d.ts +17 -0
  424. package/dist/gateway/src/services/channels/channel-diagnostics.js +204 -0
  425. package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -0
  426. package/dist/gateway/src/services/channels/channel-identity-service.d.ts +81 -21
  427. package/dist/gateway/src/services/channels/channel-identity-service.js +84 -32
  428. package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
  429. package/dist/gateway/src/services/channels/channel-model-command.d.ts +13 -0
  430. package/dist/gateway/src/services/channels/channel-model-command.js +108 -0
  431. package/dist/gateway/src/services/channels/channel-model-command.js.map +1 -0
  432. package/dist/gateway/src/services/channels/channel-run-authority.d.ts +3 -0
  433. package/dist/gateway/src/services/channels/channel-run-authority.js +26 -7
  434. package/dist/gateway/src/services/channels/channel-run-authority.js.map +1 -1
  435. package/dist/gateway/src/services/channels/channel-run-scope.d.ts +64 -0
  436. package/dist/gateway/src/services/channels/channel-run-scope.js +208 -0
  437. package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -0
  438. package/dist/gateway/src/services/channels/feishu-approval.d.ts +28 -0
  439. package/dist/gateway/src/services/channels/feishu-approval.js +152 -0
  440. package/dist/gateway/src/services/channels/feishu-approval.js.map +1 -0
  441. package/dist/gateway/src/services/channels/feishu-typing-worker.d.ts +16 -0
  442. package/dist/gateway/src/services/channels/feishu-typing-worker.js +100 -0
  443. package/dist/gateway/src/services/channels/feishu-typing-worker.js.map +1 -0
  444. package/dist/gateway/src/services/channels/native-channel-delivery.d.ts +6 -1
  445. package/dist/gateway/src/services/channels/native-channel-delivery.js +58 -7
  446. package/dist/gateway/src/services/channels/native-channel-delivery.js.map +1 -1
  447. package/dist/gateway/src/services/channels/native-channel-inbox.d.ts +35 -0
  448. package/dist/gateway/src/services/channels/native-channel-inbox.js +123 -15
  449. package/dist/gateway/src/services/channels/native-channel-inbox.js.map +1 -1
  450. package/dist/gateway/src/services/channels/native-feishu-runtime.d.ts +5 -1
  451. package/dist/gateway/src/services/channels/native-feishu-runtime.js +73 -20
  452. package/dist/gateway/src/services/channels/native-feishu-runtime.js.map +1 -1
  453. package/dist/gateway/src/services/channels/native-telegram-runtime.d.ts +34 -0
  454. package/dist/gateway/src/services/channels/native-telegram-runtime.js +139 -0
  455. package/dist/gateway/src/services/channels/native-telegram-runtime.js.map +1 -0
  456. package/dist/gateway/src/services/claude-notification-settings.d.ts +2 -0
  457. package/dist/gateway/src/services/claude-notification-settings.js +8 -0
  458. package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
  459. package/dist/gateway/src/services/claude-route/forwarder.js +4 -2
  460. package/dist/gateway/src/services/claude-route/forwarder.js.map +1 -1
  461. package/dist/gateway/src/services/cli-account/claude-account.d.ts +14 -0
  462. package/dist/gateway/src/services/cli-account/claude-account.js +197 -0
  463. package/dist/gateway/src/services/cli-account/claude-account.js.map +1 -0
  464. package/dist/gateway/src/services/cli-account/codex-account.d.ts +11 -0
  465. package/dist/gateway/src/services/cli-account/codex-account.js +140 -0
  466. package/dist/gateway/src/services/cli-account/codex-account.js.map +1 -0
  467. package/dist/gateway/src/services/cli-account/index.d.ts +9 -0
  468. package/dist/gateway/src/services/cli-account/index.js +27 -0
  469. package/dist/gateway/src/services/cli-account/index.js.map +1 -0
  470. package/dist/gateway/src/services/cli-account/kimi-account.d.ts +12 -0
  471. package/dist/gateway/src/services/cli-account/kimi-account.js +217 -0
  472. package/dist/gateway/src/services/cli-account/kimi-account.js.map +1 -0
  473. package/dist/gateway/src/services/cli-account/mcode-account.d.ts +47 -0
  474. package/dist/gateway/src/services/cli-account/mcode-account.js +249 -0
  475. package/dist/gateway/src/services/cli-account/mcode-account.js.map +1 -0
  476. package/dist/gateway/src/services/cli-account/probe-runner.d.ts +81 -0
  477. package/dist/gateway/src/services/cli-account/probe-runner.js +181 -0
  478. package/dist/gateway/src/services/cli-account/probe-runner.js.map +1 -0
  479. package/dist/gateway/src/services/cli-account/types.d.ts +49 -0
  480. package/dist/gateway/src/services/cli-account/types.js +2 -0
  481. package/dist/gateway/src/services/cli-account/types.js.map +1 -0
  482. package/dist/gateway/src/services/cli-config-apply.d.ts +10 -2
  483. package/dist/gateway/src/services/cli-config-apply.js +184 -15
  484. package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
  485. package/dist/gateway/src/services/cli-config-fields.js +30 -1
  486. package/dist/gateway/src/services/cli-config-fields.js.map +1 -1
  487. package/dist/gateway/src/services/cli-config-target.js +20 -1
  488. package/dist/gateway/src/services/cli-config-target.js.map +1 -1
  489. package/dist/gateway/src/services/cli-config-yaml.d.ts +37 -0
  490. package/dist/gateway/src/services/cli-config-yaml.js +77 -0
  491. package/dist/gateway/src/services/cli-config-yaml.js.map +1 -0
  492. package/dist/gateway/src/services/cli-config.js +124 -2
  493. package/dist/gateway/src/services/cli-config.js.map +1 -1
  494. package/dist/gateway/src/services/cli-notification-policy.d.ts +2 -0
  495. package/dist/gateway/src/services/cli-notification-policy.js +19 -0
  496. package/dist/gateway/src/services/cli-notification-policy.js.map +1 -0
  497. package/dist/gateway/src/services/cli-notification-settings.js +98 -14
  498. package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
  499. package/dist/gateway/src/services/codex-config-probe.d.ts +18 -0
  500. package/dist/gateway/src/services/codex-config-probe.js +149 -0
  501. package/dist/gateway/src/services/codex-config-probe.js.map +1 -0
  502. package/dist/gateway/src/services/collaboration/github-pull-requests.d.ts +4 -4
  503. package/dist/gateway/src/services/dashboard-summary.d.ts +6 -0
  504. package/dist/gateway/src/services/dashboard-summary.js +7 -2
  505. package/dist/gateway/src/services/dashboard-summary.js.map +1 -1
  506. package/dist/gateway/src/services/development/authority.d.ts +4 -0
  507. package/dist/gateway/src/services/development/authority.js +56 -6
  508. package/dist/gateway/src/services/development/authority.js.map +1 -1
  509. package/dist/gateway/src/services/development/commands.d.ts +2 -0
  510. package/dist/gateway/src/services/development/commands.js +27 -5
  511. package/dist/gateway/src/services/development/commands.js.map +1 -1
  512. package/dist/gateway/src/services/development/contracts.d.ts +10 -0
  513. package/dist/gateway/src/services/development/contracts.js +1 -1
  514. package/dist/gateway/src/services/development/contracts.js.map +1 -1
  515. package/dist/gateway/src/services/development/execution-identity.d.ts +78 -0
  516. package/dist/gateway/src/services/development/execution-identity.js +33 -0
  517. package/dist/gateway/src/services/development/execution-identity.js.map +1 -0
  518. package/dist/gateway/src/services/development/project-diff.d.ts +26 -0
  519. package/dist/gateway/src/services/development/project-diff.js +194 -0
  520. package/dist/gateway/src/services/development/project-diff.js.map +1 -0
  521. package/dist/gateway/src/services/development/project-git-status.d.ts +33 -0
  522. package/dist/gateway/src/services/development/project-git-status.js +232 -0
  523. package/dist/gateway/src/services/development/project-git-status.js.map +1 -0
  524. package/dist/gateway/src/services/development/reconciliation.d.ts +11 -0
  525. package/dist/gateway/src/services/development/reconciliation.js +93 -0
  526. package/dist/gateway/src/services/development/reconciliation.js.map +1 -0
  527. package/dist/gateway/src/services/development/repair-scope.d.ts +43 -0
  528. package/dist/gateway/src/services/development/repair-scope.js +81 -0
  529. package/dist/gateway/src/services/development/repair-scope.js.map +1 -0
  530. package/dist/gateway/src/services/development/runtime.js +16 -18
  531. package/dist/gateway/src/services/development/runtime.js.map +1 -1
  532. package/dist/gateway/src/services/development/sandbox-supervisor.js +39 -14
  533. package/dist/gateway/src/services/development/sandbox-supervisor.js.map +1 -1
  534. package/dist/gateway/src/services/development/sandbox.d.ts +6 -0
  535. package/dist/gateway/src/services/development/sandbox.js +43 -6
  536. package/dist/gateway/src/services/development/sandbox.js.map +1 -1
  537. package/dist/gateway/src/services/development/state-directory.d.ts +5 -0
  538. package/dist/gateway/src/services/development/state-directory.js +23 -0
  539. package/dist/gateway/src/services/development/state-directory.js.map +1 -0
  540. package/dist/gateway/src/services/development/workspace.d.ts +4 -2
  541. package/dist/gateway/src/services/development/workspace.js +9 -8
  542. package/dist/gateway/src/services/development/workspace.js.map +1 -1
  543. package/dist/gateway/src/services/event-bus.d.ts +46 -1
  544. package/dist/gateway/src/services/event-bus.js +38 -0
  545. package/dist/gateway/src/services/event-bus.js.map +1 -1
  546. package/dist/gateway/src/services/extensions/connection-tools.js +1 -1
  547. package/dist/gateway/src/services/extensions/connection-tools.js.map +1 -1
  548. package/dist/gateway/src/services/extensions/public-fetch.d.ts +1 -0
  549. package/dist/gateway/src/services/extensions/public-fetch.js +1 -1
  550. package/dist/gateway/src/services/extensions/public-fetch.js.map +1 -1
  551. package/dist/gateway/src/services/github-skill-source.d.ts +102 -0
  552. package/dist/gateway/src/services/github-skill-source.js +519 -0
  553. package/dist/gateway/src/services/github-skill-source.js.map +1 -0
  554. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js +1 -1
  555. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js.map +1 -1
  556. package/dist/gateway/src/services/integrations/feishu-markdown.d.ts +9 -0
  557. package/dist/gateway/src/services/integrations/feishu-markdown.js +169 -0
  558. package/dist/gateway/src/services/integrations/feishu-markdown.js.map +1 -0
  559. package/dist/gateway/src/services/integrations/feishu-native-sender.d.ts +1 -1
  560. package/dist/gateway/src/services/integrations/feishu-native-sender.js +53 -8
  561. package/dist/gateway/src/services/integrations/feishu-native-sender.js.map +1 -1
  562. package/dist/gateway/src/services/integrations/feishu-reactions.d.ts +35 -0
  563. package/dist/gateway/src/services/integrations/feishu-reactions.js +100 -0
  564. package/dist/gateway/src/services/integrations/feishu-reactions.js.map +1 -0
  565. package/dist/gateway/src/services/integrations/telegram-bot-api.d.ts +33 -0
  566. package/dist/gateway/src/services/integrations/telegram-bot-api.js +103 -0
  567. package/dist/gateway/src/services/integrations/telegram-bot-api.js.map +1 -0
  568. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.d.ts +66 -0
  569. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js +250 -0
  570. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js.map +1 -0
  571. package/dist/gateway/src/services/integrations/telegram-error-redaction.d.ts +1 -0
  572. package/dist/gateway/src/services/integrations/telegram-error-redaction.js +19 -0
  573. package/dist/gateway/src/services/integrations/telegram-error-redaction.js.map +1 -0
  574. package/dist/gateway/src/services/integrations/telegram-event-normalizer.d.ts +7 -0
  575. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js +84 -0
  576. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js.map +1 -0
  577. package/dist/gateway/src/services/integrations/telegram-native-sender.d.ts +8 -0
  578. package/dist/gateway/src/services/integrations/telegram-native-sender.js +55 -0
  579. package/dist/gateway/src/services/integrations/telegram-native-sender.js.map +1 -0
  580. package/dist/gateway/src/services/integrations/telegram-polling-client.d.ts +35 -0
  581. package/dist/gateway/src/services/integrations/telegram-polling-client.js +112 -0
  582. package/dist/gateway/src/services/integrations/telegram-polling-client.js.map +1 -0
  583. package/dist/gateway/src/services/local-skills.d.ts +1 -0
  584. package/dist/gateway/src/services/local-skills.js +5 -2
  585. package/dist/gateway/src/services/local-skills.js.map +1 -1
  586. package/dist/gateway/src/services/mcode-notification-preference.d.ts +49 -0
  587. package/dist/gateway/src/services/mcode-notification-preference.js +91 -0
  588. package/dist/gateway/src/services/mcode-notification-preference.js.map +1 -0
  589. package/dist/gateway/src/services/mcp/mcp-server.d.ts +2 -1
  590. package/dist/gateway/src/services/mcp/mcp-server.js +198 -20
  591. package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
  592. package/dist/gateway/src/services/mcp/project-workflow.d.ts +25 -0
  593. package/dist/gateway/src/services/mcp/project-workflow.js +81 -0
  594. package/dist/gateway/src/services/mcp/project-workflow.js.map +1 -0
  595. package/dist/gateway/src/services/mcp/token-authority.d.ts +6 -0
  596. package/dist/gateway/src/services/mcp/token-authority.js +143 -0
  597. package/dist/gateway/src/services/mcp/token-authority.js.map +1 -0
  598. package/dist/gateway/src/services/model-capability-projection.d.ts +22 -0
  599. package/dist/gateway/src/services/model-capability-projection.js +46 -0
  600. package/dist/gateway/src/services/model-capability-projection.js.map +1 -0
  601. package/dist/gateway/src/services/model-endpoint-health.d.ts +1 -0
  602. package/dist/gateway/src/services/model-endpoint-health.js +2 -1
  603. package/dist/gateway/src/services/model-endpoint-health.js.map +1 -1
  604. package/dist/gateway/src/services/network-policy.d.ts +12 -4
  605. package/dist/gateway/src/services/network-policy.js +40 -9
  606. package/dist/gateway/src/services/network-policy.js.map +1 -1
  607. package/dist/gateway/src/services/notification-dedupe.d.ts +41 -0
  608. package/dist/gateway/src/services/notification-dedupe.js +86 -0
  609. package/dist/gateway/src/services/notification-dedupe.js.map +1 -0
  610. package/dist/gateway/src/services/notification-events.js +50 -32
  611. package/dist/gateway/src/services/notification-events.js.map +1 -1
  612. package/dist/gateway/src/services/notification-service.d.ts +9 -0
  613. package/dist/gateway/src/services/notification-service.js +19 -0
  614. package/dist/gateway/src/services/notification-service.js.map +1 -0
  615. package/dist/gateway/src/services/notifications/cli-observation.d.ts +138 -0
  616. package/dist/gateway/src/services/notifications/cli-observation.js +62 -0
  617. package/dist/gateway/src/services/notifications/cli-observation.js.map +1 -0
  618. package/dist/gateway/src/services/notifications/feishu-notification-card.d.ts +18 -0
  619. package/dist/gateway/src/services/notifications/feishu-notification-card.js +133 -0
  620. package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -0
  621. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.d.ts +14 -0
  622. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js +50 -0
  623. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js.map +1 -0
  624. package/dist/gateway/src/services/notifications/feishu-notification-error.d.ts +4 -0
  625. package/dist/gateway/src/services/notifications/feishu-notification-error.js +8 -0
  626. package/dist/gateway/src/services/notifications/feishu-notification-error.js.map +1 -0
  627. package/dist/gateway/src/services/notifications/feishu-notification-targets.d.ts +27 -0
  628. package/dist/gateway/src/services/notifications/feishu-notification-targets.js +101 -0
  629. package/dist/gateway/src/services/notifications/feishu-notification-targets.js.map +1 -0
  630. package/dist/gateway/src/services/notifications/feishu-notification-worker.d.ts +14 -0
  631. package/dist/gateway/src/services/notifications/feishu-notification-worker.js +117 -0
  632. package/dist/gateway/src/services/notifications/feishu-notification-worker.js.map +1 -0
  633. package/dist/gateway/src/services/notifications/feishu-notifications.d.ts +32 -0
  634. package/dist/gateway/src/services/notifications/feishu-notifications.js +139 -0
  635. package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -0
  636. package/dist/gateway/src/services/notifications/observe-cli-hook.d.ts +6 -0
  637. package/dist/gateway/src/services/notifications/observe-cli-hook.js +55 -0
  638. package/dist/gateway/src/services/notifications/observe-cli-hook.js.map +1 -0
  639. package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
  640. package/dist/gateway/src/services/opencode-notification-settings.js +143 -13
  641. package/dist/gateway/src/services/opencode-notification-settings.js.map +1 -1
  642. package/dist/gateway/src/services/platform-commands/actions.d.ts +14 -55
  643. package/dist/gateway/src/services/platform-commands/actions.js +192 -131
  644. package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
  645. package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
  646. package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
  647. package/dist/gateway/src/services/platform-commands/agent-scope.d.ts +0 -2
  648. package/dist/gateway/src/services/platform-commands/agent-scope.js +10 -38
  649. package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
  650. package/dist/gateway/src/services/platform-commands/catalog.d.ts +61 -8
  651. package/dist/gateway/src/services/platform-commands/catalog.js +218 -29
  652. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  653. package/dist/gateway/src/services/platform-commands/receipt-projection.js +4 -0
  654. package/dist/gateway/src/services/platform-commands/receipt-projection.js.map +1 -1
  655. package/dist/gateway/src/services/platform-commands/session-commands.d.ts +18 -1
  656. package/dist/gateway/src/services/platform-commands/session-commands.js +93 -38
  657. package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
  658. package/dist/gateway/src/services/platform-commands/tool-commands.js +2 -1
  659. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  660. package/dist/gateway/src/services/platform-commands/types.d.ts +22 -1
  661. package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +7 -0
  662. package/dist/gateway/src/services/programmatic-terminal-submit.js +68 -9
  663. package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
  664. package/dist/gateway/src/services/project-ai-config.js +6 -0
  665. package/dist/gateway/src/services/project-ai-config.js.map +1 -1
  666. package/dist/gateway/src/services/project-config-files.d.ts +1 -1
  667. package/dist/gateway/src/services/project-config-files.js +10 -1
  668. package/dist/gateway/src/services/project-config-files.js.map +1 -1
  669. package/dist/gateway/src/services/project-config-render.d.ts +2 -1
  670. package/dist/gateway/src/services/project-config-render.js +3 -2
  671. package/dist/gateway/src/services/project-config-render.js.map +1 -1
  672. package/dist/gateway/src/services/project-git.js +3 -7
  673. package/dist/gateway/src/services/project-git.js.map +1 -1
  674. package/dist/gateway/src/services/project-manager/access.js +1 -1
  675. package/dist/gateway/src/services/project-manager/access.js.map +1 -1
  676. package/dist/gateway/src/services/project-manager/management.d.ts +5 -4
  677. package/dist/gateway/src/services/project-manager/management.js +4 -3
  678. package/dist/gateway/src/services/project-manager/management.js.map +1 -1
  679. package/dist/gateway/src/services/project-manager/task-execution.d.ts +92 -0
  680. package/dist/gateway/src/services/project-manager/task-execution.js +142 -0
  681. package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -0
  682. package/dist/gateway/src/services/project-manager/task-packets.d.ts +4 -0
  683. package/dist/gateway/src/services/project-manager/task-packets.js +13 -0
  684. package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
  685. package/dist/gateway/src/services/project-manager/task-progress.d.ts +124 -0
  686. package/dist/gateway/src/services/project-manager/task-progress.js +154 -0
  687. package/dist/gateway/src/services/project-manager/task-progress.js.map +1 -0
  688. package/dist/gateway/src/services/provider-balance.d.ts +1 -0
  689. package/dist/gateway/src/services/provider-balance.js +2 -1
  690. package/dist/gateway/src/services/provider-balance.js.map +1 -1
  691. package/dist/gateway/src/services/provider-capabilities.js +11 -0
  692. package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
  693. package/dist/gateway/src/services/provider-model-fetch.d.ts +1 -0
  694. package/dist/gateway/src/services/provider-model-fetch.js +2 -1
  695. package/dist/gateway/src/services/provider-model-fetch.js.map +1 -1
  696. package/dist/gateway/src/services/redaction.d.ts +2 -0
  697. package/dist/gateway/src/services/redaction.js +6 -3
  698. package/dist/gateway/src/services/redaction.js.map +1 -1
  699. package/dist/gateway/src/services/runtime-settings.d.ts +50 -0
  700. package/dist/gateway/src/services/runtime-settings.js +206 -0
  701. package/dist/gateway/src/services/runtime-settings.js.map +1 -0
  702. package/dist/gateway/src/services/session-launch-plan.d.ts +53 -0
  703. package/dist/gateway/src/services/session-launch-plan.js +143 -3
  704. package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
  705. package/dist/gateway/src/services/session-manager.d.ts +64 -2
  706. package/dist/gateway/src/services/session-manager.js +270 -41
  707. package/dist/gateway/src/services/session-manager.js.map +1 -1
  708. package/dist/gateway/src/services/session-server/hello-handshake.d.ts +1 -1
  709. package/dist/gateway/src/services/session-server/hello-handshake.js +2 -2
  710. package/dist/gateway/src/services/session-server/hello-handshake.js.map +1 -1
  711. package/dist/gateway/src/services/session-server/index.d.ts +1 -1
  712. package/dist/gateway/src/services/session-server/index.js.map +1 -1
  713. package/dist/gateway/src/services/session-server/ipc-protocol.d.ts +14 -1
  714. package/dist/gateway/src/services/session-server/ipc-protocol.js.map +1 -1
  715. package/dist/gateway/src/services/session-server/ipc-server.d.ts +5 -0
  716. package/dist/gateway/src/services/session-server/ipc-server.js +28 -0
  717. package/dist/gateway/src/services/session-server/ipc-server.js.map +1 -1
  718. package/dist/gateway/src/services/session-server/platform-adapter.d.ts +10 -0
  719. package/dist/gateway/src/services/session-server/platform-adapter.js +159 -15
  720. package/dist/gateway/src/services/session-server/platform-adapter.js.map +1 -1
  721. package/dist/gateway/src/services/session-server/session-handle.d.ts +8 -1
  722. package/dist/gateway/src/services/session-server/session-handle.js +9 -1
  723. package/dist/gateway/src/services/session-server/session-handle.js.map +1 -1
  724. package/dist/gateway/src/services/session-server/session-server.d.ts +14 -0
  725. package/dist/gateway/src/services/session-server/session-server.js +39 -2
  726. package/dist/gateway/src/services/session-server/session-server.js.map +1 -1
  727. package/dist/gateway/src/services/session-server/terminal-notification-scanner.d.ts +80 -0
  728. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js +253 -0
  729. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js.map +1 -0
  730. package/dist/gateway/src/services/session-server/terminal-screen.d.ts +9 -3
  731. package/dist/gateway/src/services/session-server/terminal-screen.js +10 -4
  732. package/dist/gateway/src/services/session-server/terminal-screen.js.map +1 -1
  733. package/dist/gateway/src/services/session-server-client.d.ts +8 -0
  734. package/dist/gateway/src/services/session-server-client.js +22 -1
  735. package/dist/gateway/src/services/session-server-client.js.map +1 -1
  736. package/dist/gateway/src/services/session-stop-target.d.ts +79 -0
  737. package/dist/gateway/src/services/session-stop-target.js +115 -0
  738. package/dist/gateway/src/services/session-stop-target.js.map +1 -0
  739. package/dist/gateway/src/services/session-writer-leases.d.ts +12 -0
  740. package/dist/gateway/src/services/session-writer-leases.js +25 -2
  741. package/dist/gateway/src/services/session-writer-leases.js.map +1 -1
  742. package/dist/gateway/src/services/shell-command-execution.d.ts +72 -0
  743. package/dist/gateway/src/services/shell-command-execution.js +448 -0
  744. package/dist/gateway/src/services/shell-command-execution.js.map +1 -0
  745. package/dist/gateway/src/services/skill-discovery.d.ts +46 -0
  746. package/dist/gateway/src/services/skill-discovery.js +363 -0
  747. package/dist/gateway/src/services/skill-discovery.js.map +1 -0
  748. package/dist/gateway/src/services/skill-fs-install.d.ts +24 -0
  749. package/dist/gateway/src/services/skill-fs-install.js +150 -0
  750. package/dist/gateway/src/services/skill-fs-install.js.map +1 -0
  751. package/dist/gateway/src/services/skill-install-service.d.ts +72 -0
  752. package/dist/gateway/src/services/skill-install-service.js +346 -0
  753. package/dist/gateway/src/services/skill-install-service.js.map +1 -0
  754. package/dist/gateway/src/services/skill-marketplaces.d.ts +59 -0
  755. package/dist/gateway/src/services/skill-marketplaces.js +420 -0
  756. package/dist/gateway/src/services/skill-marketplaces.js.map +1 -0
  757. package/dist/gateway/src/services/skill-package.d.ts +27 -0
  758. package/dist/gateway/src/services/skill-package.js +135 -0
  759. package/dist/gateway/src/services/skill-package.js.map +1 -0
  760. package/dist/gateway/src/services/skill-registry-http.d.ts +8 -0
  761. package/dist/gateway/src/services/skill-registry-http.js +57 -0
  762. package/dist/gateway/src/services/skill-registry-http.js.map +1 -0
  763. package/dist/gateway/src/services/skill-registry-package.d.ts +55 -0
  764. package/dist/gateway/src/services/skill-registry-package.js +208 -0
  765. package/dist/gateway/src/services/skill-registry-package.js.map +1 -0
  766. package/dist/gateway/src/services/skill-resources.d.ts +1 -0
  767. package/dist/gateway/src/services/skill-resources.js +1 -1
  768. package/dist/gateway/src/services/skill-resources.js.map +1 -1
  769. package/dist/gateway/src/services/teams/service.d.ts +7 -7
  770. package/dist/gateway/src/services/terminal-backend.d.ts +3 -0
  771. package/dist/gateway/src/services/terminal-notification-ingestion.d.ts +19 -0
  772. package/dist/gateway/src/services/terminal-notification-ingestion.js +135 -0
  773. package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -0
  774. package/dist/gateway/src/services/terminal-notification-settings.d.ts +42 -0
  775. package/dist/gateway/src/services/terminal-notification-settings.js +133 -0
  776. package/dist/gateway/src/services/terminal-notification-settings.js.map +1 -0
  777. package/dist/gateway/src/services/usage/kimi-source.d.ts +11 -3
  778. package/dist/gateway/src/services/usage/kimi-source.js +40 -9
  779. package/dist/gateway/src/services/usage/kimi-source.js.map +1 -1
  780. package/dist/gateway/src/services/usage/mcode-source.d.ts +39 -0
  781. package/dist/gateway/src/services/usage/mcode-source.js +137 -0
  782. package/dist/gateway/src/services/usage/mcode-source.js.map +1 -0
  783. package/dist/gateway/src/services/usage/usage-source.d.ts +6 -1
  784. package/dist/gateway/src/services/usage/usage-source.js.map +1 -1
  785. package/dist/gateway/src/services/usage/usage-token-syncer.d.ts +1 -1
  786. package/dist/gateway/src/services/usage/usage-token-syncer.js +3 -1
  787. package/dist/gateway/src/services/usage/usage-token-syncer.js.map +1 -1
  788. package/dist/gateway/src/websocket/events.js +17 -0
  789. package/dist/gateway/src/websocket/events.js.map +1 -1
  790. package/dist/gateway/src/websocket/terminal-output-flow.d.ts +1 -1
  791. package/dist/gateway/src/websocket/terminal.js +12 -4
  792. package/dist/gateway/src/websocket/terminal.js.map +1 -1
  793. package/dist/index.d.ts +11 -0
  794. package/dist/index.js +63 -1
  795. package/dist/index.js.map +1 -1
  796. package/dist/runtime/dependency-check.d.ts +3 -1
  797. package/dist/runtime/dependency-check.js +31 -5
  798. package/dist/runtime/dependency-check.js.map +1 -1
  799. package/dist/runtime/version.d.ts +10 -0
  800. package/dist/runtime/version.js +25 -0
  801. package/dist/runtime/version.js.map +1 -0
  802. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  803. package/dist/web/standalone/packages/web/.next/app-path-routes-manifest.json +2 -1
  804. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  805. package/dist/web/standalone/packages/web/.next/prerender-manifest.json +51 -27
  806. package/dist/web/standalone/packages/web/.next/routes-manifest.json +12 -6
  807. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +5 -2
  808. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
  809. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  810. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +5 -2
  811. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
  812. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  813. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +5 -2
  814. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
  815. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  816. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +5 -2
  817. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
  818. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  819. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +5 -2
  820. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
  821. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  822. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +5 -2
  823. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
  824. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  825. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +5 -2
  826. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
  827. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  828. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +5 -2
  829. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
  830. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  831. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +5 -2
  832. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
  833. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  834. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +5 -2
  835. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
  836. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  837. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +5 -2
  838. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
  839. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  840. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +5 -2
  841. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  842. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  843. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +6 -3
  844. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
  845. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  846. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +5 -2
  847. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
  848. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  849. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +5 -2
  850. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
  851. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  852. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +5 -2
  853. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  854. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  855. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +5 -2
  856. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
  857. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  858. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +5 -2
  859. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
  860. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  861. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +5 -2
  862. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  863. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  864. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/app-paths-manifest.json +3 -0
  865. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +12 -0
  866. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js +6 -6
  867. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -0
  868. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +3 -0
  869. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +5 -2
  870. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js +1 -1
  871. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
  872. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  873. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +5 -2
  874. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  875. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  876. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/app-paths-manifest.json +3 -0
  877. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/build-manifest.json +18 -0
  878. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/next-font-manifest.json +6 -0
  879. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +12 -0
  880. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/server-reference-manifest.json +4 -0
  881. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js +14 -0
  882. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.map +5 -0
  883. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -0
  884. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +3 -0
  885. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +5 -2
  886. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
  887. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  888. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +5 -2
  889. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
  890. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  891. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +5 -2
  892. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
  893. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  894. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +5 -2
  895. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
  896. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  897. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +5 -2
  898. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
  899. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  900. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +5 -2
  901. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
  902. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  903. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  904. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  905. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  906. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  907. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  908. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  909. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  910. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  911. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  912. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  913. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  914. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  915. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  916. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  917. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  918. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  919. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  920. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  921. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  922. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  923. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +25 -20
  924. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  925. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  926. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  927. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +25 -20
  928. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  929. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  930. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  931. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  932. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +25 -23
  933. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  934. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  935. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  936. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  937. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +25 -23
  938. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  939. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  940. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  941. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  942. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +26 -23
  943. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  944. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  945. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  946. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  947. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +26 -23
  948. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  949. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  950. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  951. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  952. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +25 -23
  953. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  954. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  955. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  956. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  957. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +25 -23
  958. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  959. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  960. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  961. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  962. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +26 -23
  963. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  964. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  965. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  966. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  967. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +26 -23
  968. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  969. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  970. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  971. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  972. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +25 -25
  973. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  974. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  975. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  976. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +25 -25
  977. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  978. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  979. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  980. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
  981. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  982. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  983. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
  984. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
  985. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  986. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  987. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  988. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  989. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  990. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  991. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +28 -25
  992. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  993. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  994. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  995. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +28 -25
  996. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  997. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  998. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  999. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  1000. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +25 -22
  1001. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  1002. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1003. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +25 -22
  1004. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  1005. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  1006. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  1007. package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
  1008. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  1009. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  1010. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  1011. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  1012. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  1013. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  1014. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  1015. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  1016. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  1017. package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
  1018. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  1019. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  1020. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
  1021. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
  1022. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  1023. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  1024. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  1025. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  1026. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  1027. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  1028. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +25 -25
  1029. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  1030. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  1031. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1032. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +25 -25
  1033. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  1034. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  1035. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  1036. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  1037. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +28 -27
  1038. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  1039. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  1040. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1041. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +28 -27
  1042. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  1043. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  1044. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  1045. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  1046. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +28 -25
  1047. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  1048. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  1049. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1050. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +28 -25
  1051. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  1052. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  1053. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  1054. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  1055. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +24 -24
  1056. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  1057. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  1058. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1059. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1060. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +24 -24
  1061. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  1062. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  1063. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  1064. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  1065. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +24 -24
  1066. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  1067. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  1068. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1069. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1070. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +24 -24
  1071. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  1072. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  1073. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  1074. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  1075. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +28 -25
  1076. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  1077. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1078. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1079. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +28 -25
  1080. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  1081. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  1082. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  1083. package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
  1084. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  1085. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  1086. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
  1087. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
  1088. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  1089. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  1090. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  1091. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  1092. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  1093. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  1094. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +28 -29
  1095. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  1096. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  1097. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1098. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +28 -29
  1099. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  1100. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  1101. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  1102. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  1103. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +28 -27
  1104. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  1105. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  1106. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1107. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +28 -27
  1108. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  1109. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  1110. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  1111. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -0
  1112. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.meta +17 -0
  1113. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +32 -0
  1114. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +9 -0
  1115. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +5 -0
  1116. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1117. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1118. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +32 -0
  1119. package/dist/web/standalone/packages/web/.next/server/app/{copilot/settings/access.segments → skills/discover.segments}/_head.segment.rsc +4 -4
  1120. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +8 -0
  1121. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +3 -0
  1122. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  1123. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +29 -27
  1124. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  1125. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  1126. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1127. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1128. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +29 -27
  1129. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  1130. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  1131. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  1132. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -0
  1133. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.meta +17 -0
  1134. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +32 -0
  1135. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +9 -0
  1136. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +5 -0
  1137. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1138. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1139. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +32 -0
  1140. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +6 -0
  1141. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +8 -0
  1142. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +3 -0
  1143. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  1144. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +28 -25
  1145. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  1146. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1147. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1148. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +28 -25
  1149. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  1150. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  1151. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  1152. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  1153. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +25 -20
  1154. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  1155. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  1156. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1157. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +25 -20
  1158. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  1159. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  1160. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  1161. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  1162. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +28 -25
  1163. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  1164. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  1165. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1166. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +28 -25
  1167. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  1168. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  1169. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  1170. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  1171. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +28 -25
  1172. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  1173. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  1174. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1175. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +28 -25
  1176. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  1177. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  1178. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  1179. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  1180. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +25 -20
  1181. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  1182. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  1183. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1184. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +25 -20
  1185. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  1186. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  1187. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  1188. package/dist/web/standalone/packages/web/.next/server/app-paths-manifest.json +2 -1
  1189. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0942_@dnd-kit_core_dist_core_esm_06quy3m.js +3 -0
  1190. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0e0j_zod_v3_external_0q93s3v.js +3 -0
  1191. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_discover_page_actions_0s10d6r.js +3 -0
  1192. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_sources_page_actions_120iys8.js +3 -0
  1193. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0vyr_@hookform_resolvers_zod_dist_zod_mjs_13jikrg._.js +1 -1
  1194. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0zxb_lucide-react_dist_esm_icons_external-link_0buejti.js +3 -0
  1195. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/12g__next_dist_esm_build_templates_app-page_0mp8266.js +4 -0
  1196. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{12g__next_dist_esm_build_templates_app-page_0hj3-t3.js → 12g__next_dist_esm_build_templates_app-page_0u2wn0p.js} +3 -3
  1197. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-ytd88._.js +1 -1
  1198. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-yv-w0._.js +3 -0
  1199. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-~3_py._.js +1 -1
  1200. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0.xbx1g._.js +3 -0
  1201. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000_z4-._.js +1 -1
  1202. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__00pu_nf._.js +1 -1
  1203. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__01gw6cp._.js +3 -0
  1204. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04y4h09._.js +1 -1
  1205. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04zzicc._.js +1 -1
  1206. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__059ub-x._.js +1 -1
  1207. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  1208. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__099xvsj._.js +1 -1
  1209. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__05zp5v-._.js → [root-of-the-server]__0b_bfwi._.js} +2 -2
  1210. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0bwa4-1._.js +1 -1
  1211. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dm9ht7._.js +1 -1
  1212. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +3 -0
  1213. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dypek8._.js +1 -1
  1214. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e4wlbg._.js +1 -1
  1215. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hdcf1b._.js +1 -1
  1216. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hyeafb._.js +1 -1
  1217. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i9m599._.js +1 -1
  1218. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ixm_tt._.js +1 -1
  1219. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0joovln._.js +1 -1
  1220. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0nayrgw._.js +1 -1
  1221. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oi0duh._.js +1 -1
  1222. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0p0asvc._.js +1 -1
  1223. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0rnn~dl._.js +1 -1
  1224. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +3 -0
  1225. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +3 -0
  1226. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6yt~4._.js +1 -1
  1227. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ue.dgb._.js +1 -1
  1228. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vdrg8-._.js +1 -1
  1229. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vhr68-._.js +1 -1
  1230. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0w9fpxt._.js +1 -1
  1231. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0xjgo0p._.js +1 -1
  1232. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ym8445._.js +1 -1
  1233. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0yni1ey._.js +1 -1
  1234. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~uajh5._.js +1 -1
  1235. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~x9f4h._.js +1 -1
  1236. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__10ulbpl._.js +1 -1
  1237. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +3 -0
  1238. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12t8cyh._.js +1 -1
  1239. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-46bd0._.js +3 -0
  1240. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-c~1pz._.js +1 -1
  1241. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +3 -0
  1242. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +3 -0
  1243. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02b77w9._.js +3 -0
  1244. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +3 -0
  1245. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03lvgsp._.js +1 -1
  1246. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +3 -0
  1247. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +3 -0
  1248. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +3 -0
  1249. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08sy38p._.js +3 -0
  1250. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08w4krs._.js +1 -1
  1251. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +3 -0
  1252. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_y0lld._.js +1 -1
  1253. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +3 -0
  1254. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +3 -0
  1255. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eg167x._.js +1 -1
  1256. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0k0ia-e._.js +7 -0
  1257. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +3 -0
  1258. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +3 -0
  1259. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +3 -0
  1260. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +3 -0
  1261. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
  1262. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +3 -0
  1263. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +3 -0
  1264. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +3 -0
  1265. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +3 -0
  1266. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0uhabr0._.js +1 -1
  1267. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0upw.g1._.js +1 -1
  1268. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +3 -0
  1269. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +3 -0
  1270. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +3 -0
  1271. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0z-ne1w._.js +1 -1
  1272. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +3 -0
  1273. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11yi7~7._.js +3 -0
  1274. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12w9fro._.js +3 -0
  1275. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_130nfm2._.js +3 -0
  1276. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +3 -0
  1277. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +3 -0
  1278. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +3 -0
  1279. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_04syrba._.js +3 -0
  1280. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0dcra4_._.js +3 -0
  1281. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  1282. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0p9lxjb._.js +3 -0
  1283. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
  1284. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +3 -0
  1285. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_members_page_tsx_036.9by._.js +1 -1
  1286. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
  1287. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
  1288. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_projects_[id]_page_tsx_0pmq-e9._.js +1 -1
  1289. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
  1290. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
  1291. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
  1292. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_skills_page_tsx_096j6mw._.js +1 -1
  1293. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
  1294. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
  1295. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
  1296. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
  1297. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_DevelopmentTasks_tsx_0fr61i5._.js +1 -1
  1298. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +3 -0
  1299. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +1 -1
  1300. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  1301. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  1302. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  1303. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  1304. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  1305. package/dist/web/standalone/packages/web/.next/static/chunks/0-8d_w3npya8o.js +1 -0
  1306. package/dist/web/standalone/packages/web/.next/static/chunks/0.1mxnjmxr~su.js +5 -0
  1307. package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +3 -0
  1308. package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +1 -0
  1309. package/dist/web/standalone/packages/web/.next/static/chunks/00gq~jtzei49d.js +1 -0
  1310. package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +1 -0
  1311. package/dist/web/standalone/packages/web/.next/static/chunks/02tbf1dbhnqcj.js +1 -0
  1312. package/dist/web/standalone/packages/web/.next/static/chunks/{01_gytnzf~ik-.js → 02tn25zg7z463.js} +1 -1
  1313. package/dist/web/standalone/packages/web/.next/static/chunks/04z6sbk30kk_r.js +1 -0
  1314. package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +1 -0
  1315. package/dist/web/standalone/packages/web/.next/static/chunks/053cmh-o17957.js +1 -0
  1316. package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +2 -0
  1317. package/dist/web/standalone/packages/web/.next/static/chunks/06u~yrka~n0q1.js +1 -0
  1318. package/dist/web/standalone/packages/web/.next/static/chunks/07_bj2hhs1b~b.js +1 -0
  1319. package/dist/web/standalone/packages/web/.next/static/chunks/07ikcry4s28l9.js +1 -0
  1320. package/dist/web/standalone/packages/web/.next/static/chunks/0b5zptp8.z.nn.js +1 -0
  1321. package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +1 -0
  1322. package/dist/web/standalone/packages/web/.next/static/chunks/0ecg~muitl4rl.js +1 -0
  1323. package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +1 -0
  1324. package/dist/web/standalone/packages/web/.next/static/chunks/0equ6w7v0pt2c.js +1 -0
  1325. package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +1 -0
  1326. package/dist/web/standalone/packages/web/.next/static/chunks/0fjt5fv~.5gyl.js +1 -0
  1327. package/dist/web/standalone/packages/web/.next/static/chunks/{04r2nmtpcfrz..js → 0g.bgavgt6uke.js} +1 -1
  1328. package/dist/web/standalone/packages/web/.next/static/chunks/0g.jepdilt76o.js +1 -0
  1329. package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +1 -0
  1330. package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +1 -0
  1331. package/dist/web/standalone/packages/web/.next/static/chunks/0l2ojgpvlde~a.js +1 -0
  1332. package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +1 -0
  1333. package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +1 -0
  1334. package/dist/web/standalone/packages/web/.next/static/chunks/0ouh2tpsjqi5m.js +1 -0
  1335. package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +1 -0
  1336. package/dist/web/standalone/packages/web/.next/static/chunks/0rvmfvjpdwe.w.js +1 -0
  1337. package/dist/web/standalone/packages/web/.next/static/chunks/0spmlj~6fltww.js +1 -0
  1338. package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +1 -0
  1339. package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +1 -0
  1340. package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +1 -0
  1341. package/dist/web/standalone/packages/web/.next/static/chunks/0txrk44pdmdsw.js +1 -0
  1342. package/dist/web/standalone/packages/web/.next/static/chunks/0ujyee4n5.vxl.js +1 -0
  1343. package/dist/web/standalone/packages/web/.next/static/chunks/0uqsh8sbcz046.js +1 -0
  1344. package/dist/web/standalone/packages/web/.next/static/chunks/0v-8fk68e-ugm.js +1 -0
  1345. package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +1 -0
  1346. package/dist/web/standalone/packages/web/.next/static/chunks/0y2ze6bljklix.js +1 -0
  1347. package/dist/web/standalone/packages/web/.next/static/chunks/0y8vr-14-90yt.js +1 -0
  1348. package/dist/web/standalone/packages/web/.next/static/chunks/0yy-wz1k_sil_.js +1 -0
  1349. package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +1 -0
  1350. package/dist/web/standalone/packages/web/.next/static/chunks/{0wys15fa7nhtt.js → 0~cm.ike75hqk.js} +1 -1
  1351. package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +1 -0
  1352. package/dist/web/standalone/packages/web/.next/static/chunks/{0y._brrinmy-y.js → 1052k.mfsf9ib.js} +1 -1
  1353. package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +1 -0
  1354. package/dist/web/standalone/packages/web/.next/static/chunks/12kzd4cqtbqk~.js +1 -0
  1355. package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +1 -0
  1356. package/dist/web/standalone/packages/web/.next/static/chunks/13wgo~3bv23zr.js +1 -0
  1357. package/dist/web/standalone/packages/web/.next/static/chunks/{02cfennlupsr5.js → 140zf2tofmr6d.js} +1 -1
  1358. package/dist/web/standalone/packages/web/.next/static/chunks/17jci4t~zq7c9.js +1 -0
  1359. package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +1 -0
  1360. package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +1 -0
  1361. package/dist/web/standalone/packages/web/public/brand/cli/codex.svg +5 -1
  1362. package/dist/web/standalone/packages/web/public/brand/cli/kimi.svg +1 -1
  1363. package/dist/web/standalone/packages/web/public/brand/cli/mcode.svg +1 -0
  1364. package/dist/web/standalone/packages/web/public/brand/fonts/OFL.txt +93 -0
  1365. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-bold.ttf +0 -0
  1366. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-regular.ttf +0 -0
  1367. package/dist/web/standalone/packages/web/public/favicon.ico +0 -0
  1368. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/sit.webp +0 -0
  1369. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/stand.webp +0 -0
  1370. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/walk.webp +0 -0
  1371. package/docs/README.zh-CN.md +25 -15
  1372. package/docs/README.zh-TW.md +25 -15
  1373. package/package.json +10 -10
  1374. package/dist/gateway/src/db/repositories/copilot-grant-repository.d.ts +0 -40
  1375. package/dist/gateway/src/db/repositories/copilot-grant-repository.js +0 -53
  1376. package/dist/gateway/src/db/repositories/copilot-grant-repository.js.map +0 -1
  1377. package/dist/gateway/src/services/codex-native-auth-status.d.ts +0 -22
  1378. package/dist/gateway/src/services/codex-native-auth-status.js +0 -84
  1379. package/dist/gateway/src/services/codex-native-auth-status.js.map +0 -1
  1380. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/app-paths-manifest.json +0 -3
  1381. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +0 -9
  1382. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page.js.nft.json +0 -1
  1383. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +0 -3
  1384. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +0 -1
  1385. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.meta +0 -18
  1386. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +0 -27
  1387. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +0 -6
  1388. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +0 -5
  1389. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +0 -5
  1390. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +0 -5
  1391. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
  1392. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +0 -27
  1393. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +0 -8
  1394. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +0 -3
  1395. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/06ld_server_app_(dashboard)_copilot_settings_access_page_actions_0-w4z-w.js +0 -3
  1396. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03qqlsf._.js +0 -3
  1397. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05_yw9~._.js +0 -3
  1398. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +0 -3
  1399. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oun.k-._.js +0 -3
  1400. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0y-e.fw._.js +0 -3
  1401. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__135gcxh._.js +0 -3
  1402. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.2ld7q._.js +0 -3
  1403. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00.0g-5._.js +0 -3
  1404. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01h5sc6._.js +0 -3
  1405. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03t4dqx._.js +0 -3
  1406. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04ioa9k._.js +0 -3
  1407. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05rbfok._.js +0 -3
  1408. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07sqde5._.js +0 -3
  1409. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0941x7t._.js +0 -3
  1410. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09~uay9._.js +0 -3
  1411. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0anvf8m._.js +0 -3
  1412. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0atn-ml._.js +0 -3
  1413. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0c3twpg._.js +0 -3
  1414. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +0 -3
  1415. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f1dcy2._.js +0 -3
  1416. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +0 -3
  1417. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0fbdold._.js +0 -3
  1418. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +0 -3
  1419. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0inc1dm._.js +0 -3
  1420. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0i~~g8h._.js +0 -3
  1421. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p3urqy._.js +0 -3
  1422. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qi9cog._.js +0 -3
  1423. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rc9ewt._.js +0 -3
  1424. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vf07~e._.js +0 -3
  1425. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +0 -3
  1426. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~t_uoo._.js +0 -3
  1427. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~wir~e._.js +0 -3
  1428. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10h.hnm._.js +0 -3
  1429. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11586ck._.js +0 -3
  1430. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11dpryf._.js +0 -3
  1431. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0eo3d7_._.js +0 -3
  1432. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0hfdzjb._.js +0 -3
  1433. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0mls2za._.js +0 -7
  1434. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_08mhbmm._.js +0 -3
  1435. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_12cpu6n._.js +0 -3
  1436. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +0 -3
  1437. package/dist/web/standalone/packages/web/.next/static/chunks/0-xefkkbz5sms.js +0 -1
  1438. package/dist/web/standalone/packages/web/.next/static/chunks/0-~0vw7n16dl5.js +0 -1
  1439. package/dist/web/standalone/packages/web/.next/static/chunks/0..mi~ip7knx..js +0 -1
  1440. package/dist/web/standalone/packages/web/.next/static/chunks/0.4~~7f7.7nat.js +0 -1
  1441. package/dist/web/standalone/packages/web/.next/static/chunks/0.dinxntqfai9.js +0 -1
  1442. package/dist/web/standalone/packages/web/.next/static/chunks/0.iplf~527jxz.js +0 -1
  1443. package/dist/web/standalone/packages/web/.next/static/chunks/0.uku9w_tku_y.js +0 -1
  1444. package/dist/web/standalone/packages/web/.next/static/chunks/00a29f0n_owqb.js +0 -1
  1445. package/dist/web/standalone/packages/web/.next/static/chunks/00nyo39rsq7i8.js +0 -1
  1446. package/dist/web/standalone/packages/web/.next/static/chunks/00pacdmo8d9v~.js +0 -1
  1447. package/dist/web/standalone/packages/web/.next/static/chunks/00~iuhivx6vaz.js +0 -1
  1448. package/dist/web/standalone/packages/web/.next/static/chunks/012n34zp1cx_n.js +0 -1
  1449. package/dist/web/standalone/packages/web/.next/static/chunks/0269he.njfzan.js +0 -1
  1450. package/dist/web/standalone/packages/web/.next/static/chunks/06k2e3bpaue8l.js +0 -1
  1451. package/dist/web/standalone/packages/web/.next/static/chunks/09ue~77p.85v3.js +0 -1
  1452. package/dist/web/standalone/packages/web/.next/static/chunks/09wc9dfimci6a.js +0 -1
  1453. package/dist/web/standalone/packages/web/.next/static/chunks/0abzy49yu-md1.js +0 -2
  1454. package/dist/web/standalone/packages/web/.next/static/chunks/0av6gt_66dv~q.js +0 -1
  1455. package/dist/web/standalone/packages/web/.next/static/chunks/0belg47nkwgq6.js +0 -1
  1456. package/dist/web/standalone/packages/web/.next/static/chunks/0bwb7o-xmqgh9.js +0 -3
  1457. package/dist/web/standalone/packages/web/.next/static/chunks/0c11igjuiagib.js +0 -5
  1458. package/dist/web/standalone/packages/web/.next/static/chunks/0c2pxjg6tacjx.js +0 -1
  1459. package/dist/web/standalone/packages/web/.next/static/chunks/0d7lv09enxqxk.js +0 -1
  1460. package/dist/web/standalone/packages/web/.next/static/chunks/0ek9hith8j-xs.js +0 -1
  1461. package/dist/web/standalone/packages/web/.next/static/chunks/0g477-voyum5d.css +0 -1
  1462. package/dist/web/standalone/packages/web/.next/static/chunks/0jm.qk52w_wlq.js +0 -1
  1463. package/dist/web/standalone/packages/web/.next/static/chunks/0kl7osb_ugtrb.js +0 -1
  1464. package/dist/web/standalone/packages/web/.next/static/chunks/0kuv_jfsd~d34.js +0 -1
  1465. package/dist/web/standalone/packages/web/.next/static/chunks/0l2c60o_7mt7g.js +0 -1
  1466. package/dist/web/standalone/packages/web/.next/static/chunks/0lgu8uprqf5l5.js +0 -1
  1467. package/dist/web/standalone/packages/web/.next/static/chunks/0ljywx8uhruo~.js +0 -1
  1468. package/dist/web/standalone/packages/web/.next/static/chunks/0om1z.zeag-a7.js +0 -1
  1469. package/dist/web/standalone/packages/web/.next/static/chunks/0omo_v~lr8w_w.js +0 -1
  1470. package/dist/web/standalone/packages/web/.next/static/chunks/0owwl5ly1~5em.js +0 -1
  1471. package/dist/web/standalone/packages/web/.next/static/chunks/0pav25z50nsff.js +0 -1
  1472. package/dist/web/standalone/packages/web/.next/static/chunks/0q~8nf7do6jft.js +0 -1
  1473. package/dist/web/standalone/packages/web/.next/static/chunks/0rcf89hmdwpcw.js +0 -1
  1474. package/dist/web/standalone/packages/web/.next/static/chunks/0ro2__iu505.1.js +0 -1
  1475. package/dist/web/standalone/packages/web/.next/static/chunks/0rxi1_itf74bl.js +0 -1
  1476. package/dist/web/standalone/packages/web/.next/static/chunks/0ub4kcycb_b...js +0 -1
  1477. package/dist/web/standalone/packages/web/.next/static/chunks/0v0jdpyx4p.1c.js +0 -1
  1478. package/dist/web/standalone/packages/web/.next/static/chunks/0v8tskw4xza79.js +0 -1
  1479. package/dist/web/standalone/packages/web/.next/static/chunks/0v_2~m-2hqn2..js +0 -1
  1480. package/dist/web/standalone/packages/web/.next/static/chunks/10eii2rij6zzf.js +0 -1
  1481. package/dist/web/standalone/packages/web/.next/static/chunks/17b.cxsg0c75d.js +0 -1
  1482. package/dist/web/standalone/packages/web/.next/static/chunks/17hy0ddp_si9n.js +0 -1
  1483. package/dist/web/standalone/packages/web/.next/static/chunks/180yq_t-g35fr.js +0 -1
  1484. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/build-manifest.json +0 -0
  1485. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/next-font-manifest.json +0 -0
  1486. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/server-reference-manifest.json +0 -0
  1487. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js.map +0 -0
  1488. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_buildManifest.js +0 -0
  1489. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_clientMiddlewareManifest.js +0 -0
  1490. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[76640,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(13376),e=a.i(4837),f=a.i(39747),g=a.i(26248),h=a.i(35485);let i=(0,h.default)("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var j=a.i(90259),k=a.i(97494),l=a.i(14060),m=a.i(67164),n=a.i(48459),o=a.i(73008),p=a.i(62384),q=a.i(55068),r=a.i(3030);function s(a){return{productType:"payg_api",apiFormat:"openai-compatible",authType:"api_key",supportedAdapters:["claude","opencode","kimi","pi"],...a}}let t=[s({id:"openai",name:"OpenAI",description:"Official OpenAI API endpoint.",apiFormat:"openai",openaiBaseUrl:"https://api.openai.com/v1",supportedAdapters:["opencode","codex","kimi","pi"]}),s({id:"anthropic-api",name:"Anthropic API",description:"Official Anthropic API for Claude models.",apiFormat:"anthropic",anthropicBaseUrl:"https://api.anthropic.com"}),s({id:"deepseek-api",name:"DeepSeek API",description:"DeepSeek API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.deepseek.com/anthropic",openaiBaseUrl:"https://api.deepseek.com"}),s({id:"qwen-payg-cn",name:"Qwen API 中国大陆",description:"Alibaba Cloud Model Studio pay-as-you-go endpoint for mainland China accounts.",anthropicBaseUrl:"https://dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"}),s({id:"qwen-payg-intl-sg",name:"Qwen API 国际版",description:"Alibaba Cloud Model Studio international endpoint.",anthropicBaseUrl:"https://dashscope-intl.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1"}),s({id:"qwen-coding-plan-cn",name:"Qwen Coding Plan 中国大陆",description:"Alibaba Cloud Model Studio Coding Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://coding.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding.dashscope.aliyuncs.com/v1"}),s({id:"qwen-coding-plan-intl",name:"Qwen Coding Plan 国际版",description:"Alibaba Cloud Model Studio Coding Plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1"}),s({id:"qwen-token-plan-cn",name:"Qwen Token Plan 中国大陆",description:"Alibaba Cloud Model Studio Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1"}),s({id:"kimi-code",name:"Kimi For Coding",description:"Kimi coding subscription endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.kimi.com/coding/",openaiBaseUrl:"https://api.kimi.com/coding/v1"}),s({id:"kimi-api",name:"Kimi API",description:"Moonshot AI Kimi pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.moonshot.cn/anthropic",openaiBaseUrl:"https://api.moonshot.cn/v1"}),s({id:"minimax-global",name:"MiniMax 国际版",description:"MiniMax international API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimax.io/anthropic",openaiBaseUrl:"https://api.minimax.io/v1"}),s({id:"minimax-cn",name:"MiniMax 中国大陆",description:"MiniMax mainland China API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimaxi.com/anthropic",openaiBaseUrl:"https://api.minimaxi.com/v1"}),s({id:"zai-coding-plan",name:"Z.AI GLM Coding Plan",description:"Z.AI coding plan endpoints for GLM coding models.",productType:"coding_plan",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/coding/paas/v4"}),s({id:"zai-glm-api",name:"Z.AI GLM API",description:"Z.AI GLM pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/paas/v4"}),s({id:"xiaomi-mimo-api",name:"Xiaomi MiMo API",description:"Xiaomi MiMo pay-as-you-go API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.xiaomimimo.com/anthropic",openaiBaseUrl:"https://api.xiaomimimo.com/v1"}),s({id:"xiaomi-mimo-token-plan-cn",name:"Xiaomi MiMo Token Plan 中国大陆",description:"Xiaomi MiMo Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-cn.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-cn.xiaomimimo.com/v1"}),s({id:"xiaomi-mimo-token-plan-sgp",name:"Xiaomi MiMo Token Plan Singapore",description:"Xiaomi MiMo Token Plan endpoint for Singapore.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-sgp.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"}),s({id:"xiaomi-mimo-token-plan-ams",name:"Xiaomi MiMo Token Plan Europe",description:"Xiaomi MiMo Token Plan endpoint for Amsterdam/Europe.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-ams.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}),s({id:"baidu-qianfan-coding-plan",name:"Baidu Qianfan Coding Plan",description:"Baidu Qianfan Coding Plan endpoint for AI coding tools.",productType:"coding_plan",anthropicBaseUrl:"https://qianfan.baidubce.com/anthropic/coding",openaiBaseUrl:"https://qianfan.baidubce.com/v2"}),s({id:"stepfun-coding-plan-cn",name:"StepFun Coding Plan 中国大陆",description:"StepFun coding plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.com/step_plan",openaiBaseUrl:"https://api.stepfun.com/v1"}),s({id:"stepfun-coding-plan-intl",name:"StepFun Coding Plan 国际版",description:"StepFun coding plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.ai/step_plan",openaiBaseUrl:"https://api.stepfun.ai/v1"}),s({id:"modelscope-api",name:"ModelScope API",description:"ModelScope inference endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api-inference.modelscope.cn",openaiBaseUrl:"https://api-inference.modelscope.cn/v1"}),s({id:"siliconflow-api",name:"SiliconFlow 硅基流动",description:"SiliconFlow model API platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.siliconflow.cn",openaiBaseUrl:"https://api.siliconflow.cn/v1"}),s({id:"siliconflow-intl",name:"SiliconFlow 国际版",description:"SiliconFlow international endpoint.",anthropicBaseUrl:"https://api.siliconflow.com",openaiBaseUrl:"https://api.siliconflow.com/v1"}),s({id:"volcengine-agent-plan-cn",name:"火山引擎 Agent Plan 中国大陆",description:"Volcengine Ark Agent Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://ark.cn-beijing.volces.com/api/coding",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v1"}),s({id:"volcengine-agent-plan-intl",name:"火山引擎 Agent Plan 国际版",description:"Volcengine BytePlus Agent Plan endpoint for international users.",productType:"coding_plan",anthropicBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding",openaiBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v1"}),s({id:"volcengine-ark-api-cn",name:"火山方舟豆包 API 中国大陆",description:"Volcengine Ark Doubao Seed pay-as-you-go endpoint for mainland China.",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/v3"}),s({id:"openrouter-api",name:"OpenRouter",description:"OpenRouter model routing platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://openrouter.ai/api",openaiBaseUrl:"https://openrouter.ai/api/v1"}),s({id:"novita-api",name:"Novita AI",description:"Novita AI model platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.novita.ai/anthropic",openaiBaseUrl:"https://api.novita.ai/v1"})],u={name:"",providerKey:"",apiFormat:"anthropic",authType:"api_key",anthropicBaseUrl:"",openaiBaseUrl:"",supportedAdapters:["claude"],allowPlaintextHttp:!1},v={label:"",plaintextSecret:""},w={name:"",modelId:"",capabilities:["chat","code"],customCapabilities:"",contextWindow:""};function x(a){let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function y(a){return Math.min(100,Math.max(0,a))}function z(a,b){switch(a){case"anthropic":return b("models.apiFormatAnthropic");case"openai":return b("models.apiFormatOpenai");case"openai-compatible":return b("models.apiFormatOpenaiCompatible");case"google":return b("models.apiFormatGoogle");case"bedrock":return b("models.apiFormatBedrock");case"local":return b("models.apiFormatLocal");default:return a}}function A(a,b){switch(a){case"api_key":return b("models.authTypeApiKey");case"bearer_token":return b("models.authTypeBearerToken");case"oauth":return b("models.authTypeOauth");case"none":return b("models.authTypeNone");default:return a}}let B=["chat","code","vision","tools","reasoning","embedding"];function C({text:a}){return(0,b.jsx)("div",{className:"flex items-center justify-center rounded-md border border-dashed border-border/70 px-4 py-6 text-center text-sm text-muted-foreground",children:a})}let D=["anthropic","openai","openai-compatible","google","bedrock","local"],E=["api_key","bearer_token","oauth","none"],F=["claude","opencode","codex","kimi","pi"];function G({open:a,customProvider:d,setupCredential:e,isCreating:f,existing:g,onOpenChange:h,onCustomProviderChange:i,onSetupCredentialChange:s,onSubmit:u,t:v}){let w,x=null!=g,y=(0,c.useRef)(!1),[B,C]=(0,c.useState)("");(0,c.useEffect)(()=>{a||(y.current=!1,C(""))},[a]);let H=(w=B.trim().toLowerCase())?t.filter(a=>[a.id,a.name,a.description,a.anthropicBaseUrl??"",a.openaiBaseUrl??""].join("\n").toLowerCase().includes(w)):t,I="none"!==d.authType,J=!!(d.anthropicBaseUrl.trim()||d.openaiBaseUrl.trim()),K=J&&[d.anthropicBaseUrl.trim(),d.openaiBaseUrl.trim()].filter(Boolean).some(a=>a.toLowerCase().startsWith("http://")),L=!f&&d.name.trim().length>0&&d.providerKey.trim().length>0&&J&&d.supportedAdapters.length>0;return(0,b.jsx)(p.Dialog,{open:a,onOpenChange:h,children:(0,b.jsx)(p.DialogContent,{className:x?"max-h-[90vh] overflow-y-auto sm:max-w-2xl":"max-h-[90vh] overflow-hidden sm:max-w-4xl",children:(0,b.jsxs)("form",{className:x?"space-y-4":"grid max-h-[80vh] gap-5 md:grid-cols-[240px_minmax(0,1fr)]",onSubmit:u,children:[!x&&(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:v("models.presets")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:v("models.presetsDescription")})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(n.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(q.Input,{value:B,onChange:a=>C(a.target.value),placeholder:v("models.searchProviderPlaceholder"),className:"h-9 pl-9"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 space-y-1 overflow-y-auto rounded-md border border-border/70 p-1",children:0===H.length?(0,b.jsx)("p",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:v("models.noPresetMatches")}):H.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{y.current=!0,i({name:a.name,providerKey:a.id,apiFormat:a.apiFormat,authType:a.authType,anthropicBaseUrl:a.anthropicBaseUrl??"",openaiBaseUrl:a.openaiBaseUrl??"",supportedAdapters:[...a.supportedAdapters],allowPlaintextHttp:!1})},className:`w-full rounded px-3 py-2 text-left hover:bg-muted/50 ${d.providerKey===a.id?"bg-muted/40":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:z(a.apiFormat,v)})]}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.openaiBaseUrl??a.anthropicBaseUrl})]},a.id))})]}),(0,b.jsxs)("div",{className:x?"contents":"min-h-0 space-y-4 overflow-y-auto pr-1",children:[!x&&(0,b.jsxs)(p.DialogHeader,{children:[(0,b.jsx)(p.DialogTitle,{children:v("models.addProvider")}),(0,b.jsx)(p.DialogDescription,{children:v("models.addProviderDescription")})]}),x&&(0,b.jsxs)(p.DialogHeader,{children:[(0,b.jsx)(p.DialogTitle,{children:v("models.editProvider")}),(0,b.jsx)(p.DialogDescription,{children:v("models.editProviderDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-name",children:v("common.name")}),(0,b.jsx)(q.Input,{id:"provider-name",value:d.name,onChange:a=>{var b;return b=a.target.value,void i({...d,name:b,providerKey:y.current?d.providerKey:b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")})},required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-key",children:v("models.providerKey")}),(0,b.jsx)(q.Input,{id:"provider-key",value:d.providerKey,onChange:a=>{y.current=!0,i({...d,providerKey:a.target.value})},disabled:x,required:!0}),x&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:v("models.providerKeyLocked")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-api-format",children:v("models.apiFormat")}),(0,b.jsx)("select",{id:"provider-api-format",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:d.apiFormat,onChange:a=>i({...d,apiFormat:a.target.value}),children:D.map(a=>(0,b.jsx)("option",{value:a,children:z(a,v)},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:function(a,b){switch(a){case"anthropic":return b("models.apiFormatHintAnthropic");case"openai":return b("models.apiFormatHintOpenai");case"openai-compatible":return b("models.apiFormatHintOpenaiCompatible");case"google":return b("models.apiFormatHintGoogle");case"bedrock":return b("models.apiFormatHintBedrock");case"local":return b("models.apiFormatHintLocal");default:return""}}(d.apiFormat,v)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-auth-type",children:v("models.authType")}),(0,b.jsx)("select",{id:"provider-auth-type",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:d.authType,onChange:a=>i({...d,authType:a.target.value}),children:E.map(a=>(0,b.jsx)("option",{value:a,children:A(a,v)},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:function(a,b){switch(a){case"api_key":return b("models.authTypeHintApiKey");case"bearer_token":return b("models.authTypeHintBearerToken");case"oauth":return b("models.authTypeHintOauth");case"none":return b("models.authTypeHintNone");default:return""}}(d.authType,v)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-openai-base-url",children:v("models.openaiBaseUrl")}),(0,b.jsx)(q.Input,{id:"provider-openai-base-url",value:d.openaiBaseUrl,onChange:a=>i({...d,openaiBaseUrl:a.target.value}),placeholder:"https://example.com/v1"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"provider-anthropic-base-url",children:v("models.anthropicBaseUrl")}),(0,b.jsx)(q.Input,{id:"provider-anthropic-base-url",value:d.anthropicBaseUrl,onChange:a=>i({...d,anthropicBaseUrl:a.target.value}),placeholder:"https://example.com/anthropic"})]})]}),!J&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:v("models.baseUrlRequired")}),K&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"mt-0.5 size-4 accent-brand",checked:d.allowPlaintextHttp,onChange:a=>i({...d,allowPlaintextHttp:a.target.checked})}),(0,b.jsx)("span",{children:v("models.allowPlaintextHttp")})]}),(0,b.jsx)("p",{className:"pl-6 text-xs text-muted-foreground",children:v("models.allowPlaintextHttpHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:v("models.supportedAdapters")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:F.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:d.supportedAdapters.includes(a),onChange:()=>{let b;return b=d.supportedAdapters.includes(a)?d.supportedAdapters.filter(b=>b!==a):[...d.supportedAdapters,a],void i({...d,supportedAdapters:b})}}),(0,b.jsx)(o.CliBrandIcon,{aiTool:a,className:"size-4"}),"claude"===a?"Claude Code":"opencode"===a?"OpenCode":"codex"===a?"Codex":"kimi"===a?"Kimi Code":a]},a))})]}),!x&&(I?(0,b.jsxs)("div",{className:"grid gap-3 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"setup-credential-label",children:v("models.credentialLabel")}),(0,b.jsx)(q.Input,{id:"setup-credential-label",value:e.label,onChange:a=>s({...e,label:a.target.value}),placeholder:v("models.defaultCredentialLabel")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"setup-api-key",children:v("models.apiKey")}),(0,b.jsx)(q.Input,{id:"setup-api-key",type:"password",value:e.plaintextSecret,onChange:a=>s({...e,plaintextSecret:a.target.value}),placeholder:v("models.apiKeyPlaceholder")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:v("models.setupCredentialOptionalHint")})]})]}):(0,b.jsx)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-sm text-muted-foreground",children:v("models.noCredentialRequired")})),(0,b.jsx)(p.DialogFooter,{children:(0,b.jsxs)(k.Button,{type:"submit",disabled:!L,children:[f?(0,b.jsx)(l.RefreshCw,{className:"size-4 animate-spin"}):x?(0,b.jsx)(m.Save,{className:"size-4"}):(0,b.jsx)(j.Plus,{className:"size-4"}),x?v("common.save"):v("models.saveAndSyncModels")]})})]})]})})})}var H=a.i(37060),I=a.i(2337),J=a.i(85564),K=a.i(23834),L=a.i(4730),M=a.i(79914),N=a.i(39042),O=a.i(39465);let P=[{slot:"opus",label:"Opus"},{slot:"sonnet",label:"Sonnet"},{slot:"haiku",label:"Haiku"}],Q=[{slot:"fable",label:"Fable"},{slot:"subagent",label:"Subagent"}],R=["minimal","low","medium","high"],S=[];function T({provider:a,models:d,credentials:h,open:i,initialAdapter:j,onOpenChange:l}){let{t:m}=(0,M.useLanguage)(),n=(0,g.useQueryClient)(),o=(0,c.useMemo)(()=>[...a.supportedAdapters],[a.supportedAdapters]),q=(0,c.useMemo)(()=>d.filter(a=>"active"===a.status),[d]),s=(0,c.useMemo)(()=>h.filter(a=>"active"===a.status),[h]),t=q.find(a=>a.isDefault)??q[0],[u,v]=(0,c.useState)(o[0]??"claude"),w="claude"===u&&!a.anthropicBaseUrl&&"anthropic"!==a.apiFormat,x=w&&("openai"===a.apiFormat||"openai-compatible"===a.apiFormat),y=w&&!x,z=(0,f.useQuery)({queryKey:["claude-route"],queryFn:N.getClaudeRoute,enabled:i&&w,retry:!1,staleTime:3e4}),A=z.data?.enabled===!0,[B,C]=(0,c.useState)(""),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)({}),[V,W]=(0,c.useState)(""),X=(0,f.useQuery)({queryKey:K.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:N.discoverAdapters,enabled:i,staleTime:3e4}),Y=(0,c.useMemo)(()=>X.data?.adapters??S,[X.data]),[Z,$]=(0,c.useState)(!1),_=(0,c.useRef)(w);_.current=w,(0,c.useEffect)(()=>{if(!i)return;let a=j&&o.includes(j)?j:void 0,b=a??(0,K.chooseDefaultAdapter)(Y,o)??o[0]??"claude",c=new Map(Y.map(a=>[a.id,a]));v(d=>!a&&o.includes(d)&&(!c.get(d)||(0,K.isAdapterSelectable)(c.get(d),o))?d:b),C(t?.id??""),E(s[0]?.id??""),G({}),W(""),$(_.current),ac(!1)},[i,o,t?.id,s,Y,j]);let aa=(0,c.useMemo)(()=>{let b=Object.fromEntries(Object.entries(F).filter(([,a])=>!!a));return{providerProfileId:a.id,..."opencode"!==u&&B?{modelProfileId:B}:{},...D?{credentialId:D}:{},..."claude"===u&&Object.keys(b).length>0?{modelMapping:b}:{},..."codex"===u&&V?{reasoningEffort:V}:{},...w?{routeThroughGateway:!0}:{}}},[u,D,F,B,w,a.id,V]),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)(aa);(0,c.useEffect)(()=>{if(!ab)return;let a=setTimeout(()=>ae(aa),400);return()=>clearTimeout(a)},[aa,ab]);let af=(0,f.useQuery)({queryKey:["cli-config-apply-preview",u,ad],queryFn:()=>(0,N.previewCliConfigApply)(u,ad),enabled:i&&ab&&o.length>0&&ad===aa,retry:!1,staleTime:0}),ag=(0,e.useMutation)({mutationFn:async()=>(w&&!A&&await (0,N.setClaudeRoute)(!0),(0,N.applyCliConfigToAdapter)(u,{...aa,...w?{routeThroughGateway:!0}:{}})),onSuccess:async a=>{let b=a.files?.[0]?.targetPath??"—";J.toast.success(m("models.applyToCliSuccess").replace("{targetPath}",b)),a.backupId&&J.toast.info(m("models.applyToCliRollbackHint")),l(!1),await n.invalidateQueries({queryKey:["cli-config"]}),await n.invalidateQueries({queryKey:["applied-providers"]}),await n.invalidateQueries({queryKey:["applied-provider"]}),"claude"===u&&await n.invalidateQueries({queryKey:["claude-route"]})},onError:a=>{J.toast.error(a instanceof Error?a.message:m("models.applyToCliFailed"))}}),ah=af.data,ai=ah?.files??[],aj=(ah?.warnings??[]).filter(a=>"OPENAI_PROTOCOL_REQUIRES_ROUTE"!==a),ak="pi"===u?m("models.applyToCliDefaultModel"):m("projects.model");return(0,b.jsx)(p.Dialog,{open:i,onOpenChange:a=>{ag.isPending||l(a)},children:(0,b.jsxs)(p.DialogContent,{className:"sm:max-w-xl",children:[(0,b.jsxs)(p.DialogHeader,{children:[(0,b.jsx)(p.DialogTitle,{children:m("models.applyToCli")}),(0,b.jsx)(p.DialogDescription,{children:m("models.applyToCliDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"apply-cli-adapter",children:m("common.aiTool")}),(0,b.jsx)(K.AdapterSelect,{id:"apply-cli-adapter",ariaLabel:m("common.aiTool"),className:"h-9 w-full",value:u,onValueChange:v,supported:o,placeholder:m("common.loading")})]}),"opencode"!==u&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"apply-cli-model",children:ak}),(0,b.jsxs)("select",{id:"apply-cli-model","aria-label":ak,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:B,onChange:a=>C(a.target.value),children:[0===q.length?(0,b.jsx)("option",{value:"",children:m("models.noModelsAvailable")}):null,q.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),"pi"===u&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m("models.applyToCliPiHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"apply-cli-credential",children:m("models.credentials")}),(0,b.jsxs)("select",{id:"apply-cli-credential","aria-label":m("models.credentials"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:D,onChange:a=>E(a.target.value),children:[(0,b.jsx)("option",{value:"",children:m("models.applyToCliNoCredential")}),s.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label??m("models.unnamedCredential")},a.id))]})]})]}),"opencode"===u&&(0,b.jsx)("p",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:m("models.opencodeApplyHint")}),("claude"===u||"codex"===u||w)&&(0,b.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":Z,onClick:()=>$(a=>!a),children:[m("models.applyAdvancedOptions"),(0,b.jsx)(H.ChevronDown,{className:(0,O.cn)("size-4 text-muted-foreground transition-transform duration-200",Z&&"rotate-180")})]}),Z&&(0,b.jsxs)("div",{className:"space-y-3 border-t border-border/70 px-3 py-3",children:["claude"===u&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:m("models.roleMapping")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m("models.roleMappingDescription")})]}),(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-3",children:[...P,...Q].map(({slot:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(r.Label,{htmlFor:`apply-cli-slot-${a}`,className:"text-xs",children:c}),(0,b.jsxs)("select",{id:`apply-cli-slot-${a}`,"aria-label":c,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:F[a]??"",onChange:b=>G(c=>({...c,[a]:b.target.value})),children:[(0,b.jsx)("option",{value:"",children:m("models.followPrimaryModel")}),q.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})]},a))})]}),"codex"===u&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"apply-cli-effort",children:m("models.reasoningEffort")}),(0,b.jsxs)("select",{id:"apply-cli-effort","aria-label":m("models.reasoningEffort"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm md:max-w-xs",value:V,onChange:a=>W(a.target.value),children:[(0,b.jsx)("option",{value:"",children:m("models.reasoningEffortDefault")}),R.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),y&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:m("models.claudeRouteUnsupported")}),x&&(0,b.jsxs)("div",{className:A?"space-y-1 rounded-md border border-emerald-500/40 bg-emerald-500/10 px-3 py-2 text-xs":"space-y-1 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs",children:[(0,b.jsx)("p",{className:A?"font-medium text-emerald-700 dark:text-emerald-300":"font-medium text-amber-700 dark:text-amber-300",children:A?m("models.claudeRouteEnabledHint").replace("{gatewayUrl}",z.data?.gatewayUrl??"—"):m("models.claudeRouteBanner")}),!A&&(0,b.jsx)("p",{className:"text-muted-foreground",children:m("models.claudeRouteBannerDescription")})]})]})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":ab,onClick:()=>ac(a=>!a),children:[m("models.applyChangeSummary"),(0,b.jsx)(H.ChevronDown,{className:(0,O.cn)("size-4 text-muted-foreground transition-transform duration-200",ab&&"rotate-180")})]}),ab&&(0,b.jsx)("div",{className:"space-y-2 border-t border-border/70 px-3 py-3 text-xs",children:af.isPending?(0,b.jsx)("p",{className:"text-muted-foreground",children:m("common.loading")}):af.error?(0,b.jsx)("p",{className:"text-destructive",children:af.error instanceof Error?af.error.message:m("models.applyPreviewFailed")}):ah?(0,b.jsxs)(b.Fragment,{children:[ai.map(a=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[m("models.applyTargetPath"),":"]}),(0,b.jsx)("span",{className:"break-all font-mono",children:a.targetPath||"—"}),(0,b.jsx)(L.Badge,{variant:"outline",children:a.operation})]}),a.proposed?(0,b.jsx)("pre",{className:"max-h-48 overflow-auto rounded-md border border-border/70 bg-background/60 p-2 font-mono whitespace-pre-wrap",children:U(a.proposed)}):null]},a.targetPath)),aj.length>0?(0,b.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-amber-700 dark:text-amber-300",children:aj.map(a=>(0,b.jsx)("li",{children:U(a)},a))}):null]}):null})]}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:ag.isPending,onClick:()=>l(!1),children:m("common.cancel")}),(0,b.jsxs)(k.Button,{type:"button",disabled:ag.isPending||y||w&&z.isLoading,onClick:()=>ag.mutate(),children:[(0,b.jsx)(I.ShieldCheck,{className:"size-4"}),ag.isPending?m("models.applyingToCli"):A&&w?m("models.claudeRouteApply"):w?m("models.claudeRouteEnableAndApply"):m("models.applyConfig")]})]})]})})}function U(a){return a.replace(/\b(sk-[A-Za-z0-9_-]{2})[A-Za-z0-9_-]+/g,"$1…").replace(/((?:api[-_]?key|auth[-_]?token|token|secret)["'\s]*[:=]["'\s]*)([^\s,"']{4})[^\s,"']*/giu,"$1$2…")}var V=a.i(62803),W=a.i(38094),X=a.i(27856),Y=a.i(35133),Z=a.i(802),$=a.i(76310),_=a.i(25538),aa=a.i(10339);let ab=["claude","opencode","codex","kimi","pi"];function ac({open:a,adapter:d,onOpenChange:h}){let{t:i}=(0,M.useLanguage)(),{user:j}=(0,aa.useAuth)(),l=j?.role==="admin",m=(0,g.useQueryClient)(),[n,o]=(0,c.useState)(d);(0,c.useEffect)(()=>{a&&o(d)},[a,d]);let p=(0,f.useQuery)({queryKey:["cli-config-fields",n],queryFn:()=>(0,N.getCliConfigFields)(n),enabled:a}),q=(0,f.useQuery)({queryKey:["cli-config",n],queryFn:()=>(0,N.getCliConfig)(n),retry:!1,enabled:a}),r=(0,f.useQuery)({queryKey:["cli-config-field-values",n],queryFn:()=>(0,N.getCliConfigFieldValues)(n),retry:!1,enabled:a}),s=q.data,t=s?s.files.find(a=>s.configFile.endsWith(a.relativePath))??s.files[0]:void 0,u=(0,f.useQuery)({queryKey:["cli-config-file",n,t?.relativePath],queryFn:()=>(0,N.getCliConfigFile)(n,t.relativePath),enabled:a&&!!t?.relativePath,retry:!1}),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)("");(0,c.useEffect)(()=>{w(!1),y("")},[n,a]);let z=(0,e.useMutation)({mutationFn:()=>(0,N.writeCliConfigFile)(n,t.relativePath,x),onSuccess:async()=>{J.toast.success(i("cliConfig.saved")),w(!1),await Promise.all([m.invalidateQueries({queryKey:["cli-config",n]}),m.invalidateQueries({queryKey:["cli-config-file",n,t?.relativePath]}),m.invalidateQueries({queryKey:["cli-config-field-values",n]}),m.invalidateQueries({queryKey:["applied-providers"]})])},onError:a=>{J.toast.error(a instanceof Error?a.message:i("cliConfig.saveFailed"))}}),A=p.data?.fields??[];return(0,b.jsx)($.Sheet,{open:a,onOpenChange:h,children:(0,b.jsxs)($.SheetContent,{side:"right",className:"w-full gap-0 overflow-y-auto sm:max-w-xl",children:[(0,b.jsxs)($.SheetHeader,{children:[(0,b.jsx)($.SheetTitle,{children:i("models.cliConfigSection")}),(0,b.jsx)($.SheetDescription,{children:i("models.cliConfigSectionDescription")})]}),(0,b.jsxs)("div",{className:"space-y-5 px-4 pb-6",children:[!l&&(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300",children:[(0,b.jsx)(X.ShieldAlert,{className:"size-3.5 shrink-0"}),i("models.cliConfigAdminOnly")]}),(0,b.jsx)(_.Tabs,{value:n,onValueChange:a=>o(a),children:(0,b.jsx)(_.TabsList,{children:ab.map(a=>(0,b.jsx)(_.TabsTrigger,{value:a,children:(0,b.jsx)(Y.CliBrandChip,{aiTool:a})},a))})}),A.length>0||p.isLoading||p.error?(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:i("cliConfig.commonFields")}),p.isLoading?(0,b.jsx)(ag,{text:i("common.loading")}):p.error?(0,b.jsx)(ag,{destructive:!0,text:ah(p.error,i("cliConfig.loadFailed"))}):(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:A.map(a=>(0,b.jsx)(ae,{field:a,value:r.data?.values[a.key],valuesLoading:r.isLoading,t:i},a.key))}),r.error?(0,b.jsx)(ag,{destructive:!0,text:ah(r.error,i("cliConfig.loadFieldValuesFailed"))}):null]}):null,(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:i("cliConfig.configMetadata")}),q.isLoading?(0,b.jsx)(ag,{text:i("common.loading")}):q.error||!s?(0,b.jsx)(ag,{destructive:!0,text:ah(q.error,i("cliConfig.loadFailed"))}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(af,{label:i("cliConfig.configRoot"),value:s.configRoot}),(0,b.jsx)(af,{label:i("cliConfig.mainConfigFile"),value:s.configFile}),(0,b.jsx)(af,{label:i("cliConfig.defaultModel"),value:s.defaultModel||"—"}),(0,b.jsx)(af,{label:i("cliConfig.providers"),value:String(s.providers.length)})]}),(0,b.jsx)("div",{className:"space-y-2",children:s.files.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm",children:[(0,b.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2",children:[(0,b.jsx)(V.FileCode2,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a.relativePath})]}),(0,b.jsxs)("span",{className:"flex shrink-0 gap-2",children:[(0,b.jsx)(L.Badge,{variant:"outline",children:a.fileType}),(0,b.jsx)(L.Badge,{variant:a.exists?"secondary":"outline",children:a.exists?`${a.sizeBytes} B`:i("cliConfig.fileMissing")})]})]},a.relativePath))})]})]}),(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium",children:[i("cliConfig.rawEditor"),t?(0,b.jsx)("span",{className:"ml-2 font-mono text-xs font-normal text-muted-foreground",children:t.relativePath}):null]}),v?null:(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:!l||!t||u.isLoading,title:l?void 0:i("models.cliConfigAdminOnly"),onClick:()=>{y(u.data?.content??""),w(!0)},children:[(0,b.jsx)(W.Pencil,{className:"size-4"}),i("cliConfig.editRawFile")]})]}),t?v?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("textarea",{"aria-label":i("cliConfig.rawEditor"),className:"min-h-64 w-full rounded-md border bg-background p-3 font-mono text-xs",value:x,onChange:a=>y(a.target.value),spellCheck:!1}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:z.isPending,onClick:()=>w(!1),children:i("common.cancel")}),(0,b.jsx)(k.Button,{type:"button",size:"sm",disabled:z.isPending,onClick:()=>z.mutate(),children:z.isPending?i("common.saving"):i("common.save")})]})]}):u.isLoading?(0,b.jsx)(ag,{text:i("common.loading")}):u.error?(0,b.jsx)(ag,{destructive:!0,text:ah(u.error,i("cliConfig.loadFailed"))}):u.data?.content!==void 0?(0,b.jsx)(ad,{fileName:t.relativePath,content:u.data.content}):(0,b.jsx)(ag,{text:i("cliConfig.rawFileContentUnavailable")}):(0,b.jsx)(ag,{text:i("common.loading")})]})]})]})})}function ad({fileName:a,content:d}){let[e,f]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let b=!1;if(f(null),d)return(0,Z.highlightWorkspaceCode)(d,a).then(a=>{b||f(a)}),()=>{b=!0}},[a,d]),e)?(0,b.jsx)("div",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs leading-5",children:e.map((a,c)=>(0,b.jsx)("div",{className:"whitespace-pre-wrap",children:a.length>0?a.map((a,c)=>{let d=(0,Z.tokenFontStyle)(a.fontStyle);return(0,b.jsx)("span",{style:{color:a.color,fontStyle:d.italic?"italic":void 0,fontWeight:d.bold?600:void 0,textDecoration:d.underline?"underline":void 0},children:a.content},c)}):" "},c))}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs whitespace-pre-wrap",children:d})}function ae({field:a,value:c,valuesLoading:d,t:e}){let f=d?e("common.loading"):"secret"===a.type?e(!0===c?"cliConfig.hasKey":"cliConfig.noKey"):void 0===c||""===c?e("cliConfig.fieldNotSet"):String(c);return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a.label}),(0,b.jsx)("div",{className:"mt-1 font-mono text-xs text-muted-foreground",children:a.path}),(0,b.jsx)("div",{className:"mt-2 text-xs",children:f})]})}function af({label:a,value:c}){return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:c})]})}function ag({text:a,destructive:c=!1}){return(0,b.jsx)("div",{className:`rounded-md border border-dashed px-4 py-6 text-center text-sm ${c?"text-destructive":"text-muted-foreground"}`,children:a})}function ah(a,b){return a instanceof Error?a.message:b}var ai=a.i(37134);function aj({target:a,isDeleting:c,onOpenChange:d,onConfirm:e,t:f}){let g=f(a?.kind==="model"?"models.deleteModelTitle":a?.kind==="credential"?"models.deleteCredentialTitle":"models.deleteProviderTitle"),h=f(a?.kind==="model"?"models.deleteModelWarning":a?.kind==="credential"?"models.deleteCredentialConfirm":"models.deleteProviderWarning");return(0,b.jsx)(p.Dialog,{open:null!==a,onOpenChange:a=>{a||c||d(!1)},children:(0,b.jsxs)(p.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsxs)(p.DialogHeader,{children:[(0,b.jsxs)(p.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(ai.Trash2,{className:"size-5 shrink-0 text-destructive"}),g]}),(0,b.jsx)(p.DialogDescription,{children:h})]}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:c,onClick:()=>d(!1),children:f("common.cancel")}),(0,b.jsxs)(k.Button,{type:"button",variant:"destructive",disabled:c,onClick:e,children:[(0,b.jsx)(ai.Trash2,{className:"size-4"}),f(c?"models.deleting":"common.delete")]})]})]})})}var ak=a.i(70458);function al({providers:a,providerCount:c,modelCounts:d,queryText:e,selectedProviderId:f,isLoading:g,onQueryTextChange:h,onSelectProvider:j,onEditProvider:l,t:m}){return(0,b.jsxs)(ak.Card,{className:"min-w-0 forgebadger-animate-in xl:sticky xl:top-4",children:[(0,b.jsx)(ak.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(i,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(ak.CardTitle,{className:"text-base",children:m("models.providers")}),(0,b.jsx)(ak.CardDescription,{className:"mt-1",children:m("models.providersDescription")})]})]})}),(0,b.jsxs)(ak.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(n.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(q.Input,{value:e,onChange:a=>h(a.target.value),placeholder:m("models.searchConfiguredProviders"),className:"pl-9"})]}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:[a.length,"/",c," ",m("models.catalogMatches")]}),(0,b.jsx)("div",{"data-testid":"configured-provider-list",className:"max-h-[560px] overflow-y-auto",children:g?(0,b.jsx)(C,{text:m("common.loading")}):0===a.length?(0,b.jsx)(C,{text:m("models.emptyProviders")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,c)=>{let e=a.id===f;return(0,b.jsxs)("div",{className:`flex w-full items-center gap-2 px-3 py-2.5 text-sm transition-colors forgebadger-animate-in ${e?"bg-brand/5":"hover:bg-muted/40"}`,style:{animationDelay:`${40*c}ms`},children:[(0,b.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${e?"bg-brand":"bg-muted-foreground/30"}`}),(0,b.jsxs)("button",{type:"button","aria-pressed":e,className:"min-w-0 flex-1 text-left",onClick:()=>j(a.id),children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),(0,b.jsxs)(L.Badge,{variant:"outline",title:m("models.modelsWorkspace"),className:"shrink-0 text-[10px]",children:[d.get(a.id)??0," ",m("models.modelUnit")]})]}),(0,b.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:a.baseUrl??a.providerKey})]}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 shrink-0 text-muted-foreground hover:text-foreground",title:m("common.edit"),"aria-label":m("common.edit"),onClick:()=>l(a.id),children:(0,b.jsx)(W.Pencil,{className:"size-4"})})]},a.id)})})})]})]})}var am=a.i(82977);let an=(0,h.default)("ServerCog",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m15.7 13.4-.9-.3",key:"1jwmzr"}],["path",{d:"m9.2 10.9-.9-.3",key:"qapnim"}],["path",{d:"m10.6 15.7.3-.9",key:"quwk0k"}],["path",{d:"m13.6 15.7-.4-1",key:"cb9xp7"}],["path",{d:"m10.8 9.3-.4-1",key:"1uaiz5"}],["path",{d:"m8.3 13.6 1-.4",key:"s6srou"}],["path",{d:"m14.7 10.8 1-.4",key:"4d31cq"}],["path",{d:"m13.4 8.3-.3.9",key:"1bm987"}]]),ao=(0,h.default)("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);var ap=a.i(94851),aq=a.i(53650),aq=aq,ar=a.i(27291);let as=["claude","opencode","codex","kimi","pi"];function at({provider:a,onApply:c,onViewConfig:d}){let{t:e}=(0,M.useLanguage)(),g=(0,f.useQuery)({queryKey:["applied-providers"],queryFn:N.getAppliedProviders,retry:!1,staleTime:3e4}),h=(0,f.useQuery)({queryKey:K.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:N.discoverAdapters,retry:!1,staleTime:3e4}),i=(0,f.useQuery)({queryKey:["claude-route"],queryFn:N.getClaudeRoute,retry:!1,staleTime:6e4}),j=new Map((h.data?.adapters??[]).map(a=>[a.id,a])),l=g.data?.adapters,m=i.data;return(0,b.jsxs)(ak.Card,{"data-testid":"cli-status-section",children:[(0,b.jsxs)(ak.CardHeader,{children:[(0,b.jsx)(ak.CardTitle,{className:"text-base",children:e("models.cliStatusTitle")}),(0,b.jsx)(ak.CardDescription,{className:"mt-1",children:e("models.cliStatusDescription")})]}),(0,b.jsxs)(ak.CardContent,{children:[(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:as.map(f=>{var g;let i=(0,ar.getCliBrand)(f),n=j.get(f),p=n?.available===!0,q=n?.status==="check_failed",r=l?.find(a=>a.adapter===f)??null,s=r?.applied??null,t=(g=a.id,!!(r?.applied&&r.applied.providerProfileId===g)),u=a.supportedAdapters.includes(f),v="claude"===f&&m?.enabled===!0&&m.assignment?.providerProfileId===a.id;return(0,b.jsxs)("div",{"data-testid":`cli-status-${f}`,className:`flex min-w-0 flex-col gap-2 rounded-md border px-3 py-2.5 ${t?"border-emerald-500/40 bg-emerald-500/5":"border-border/70 bg-muted/20"}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5 text-sm font-medium",children:[(0,b.jsx)(o.CliBrandIcon,{aiTool:f,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:i.label})]}),(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[v&&(0,b.jsx)(L.Badge,{variant:"secondary",className:"text-[10px]",children:e("models.claudeRouteBadge")}),(0,b.jsx)(L.Badge,{variant:p?"secondary":"outline",className:"text-[10px]",children:p?e("models.sdkInstalled"):q?e("models.cliStatusCheckFailed"):e("models.sdkMissing")})]})]}),(0,b.jsxs)("div",{className:"min-w-0 text-xs",children:[s?(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:`truncate font-medium ${t?"text-emerald-700 dark:text-emerald-300":""}`,children:[s.providerName??s.providerProfileId,t?` \xb7 ${e("models.cliStatusActiveHere")}`:""]}),(0,b.jsx)("div",{className:"truncate text-muted-foreground",children:s.modelName??s.modelId??e("models.cliStatusNoModel")})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:e("models.cliStatusNotConfigured")}),r?.stale?(0,b.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-amber-700 dark:text-amber-300",children:[(0,b.jsx)(aq.default,{className:"size-3 shrink-0"}),e("models.cliStatusStale")]}):null]}),(0,b.jsxs)("div",{className:"mt-auto flex items-center gap-1.5 pt-1",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",className:"h-7 flex-1 px-2 text-xs",disabled:!u,title:u?void 0:e("models.cliStatusApplyUnsupported"),onClick:()=>c(f),children:[(0,b.jsx)(I.ShieldCheck,{className:"size-3.5"}),e("models.cliStatusApply")]}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"ghost",className:"h-7 flex-1 px-2 text-xs",disabled:h.isSuccess&&!p,title:h.isSuccess&&!p?e("models.cliStatusCliMissing"):void 0,onClick:()=>d(f),children:[(0,b.jsx)(V.FileCode2,{className:"size-3.5"}),e("models.cliStatusViewConfig")]})]})]},f)})}),g.isError?(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:e("models.cliStatusLoadFailed")}):null]})]})}function au({credentials:a,selectedCredentialId:c,credentialForm:d,rotateDialogOpen:e,isSaving:f,isRotating:g,isDeleting:h,onCredentialFormChange:i,onRotateDialogOpenChange:m,onSelectCredential:n,onSubmitCredential:o,onOpenRotate:s,onConfirmRotate:t,onDeleteCredential:u,t:v}){return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("form",{className:"grid items-end gap-3 md:grid-cols-[1fr_1fr_auto]",onSubmit:o,children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"credential-label",children:v("models.credentialLabel")}),(0,b.jsx)(q.Input,{id:"credential-label",placeholder:v("models.defaultCredentialLabel"),value:d.label,onChange:a=>i({...d,label:a.target.value})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"credential-secret",children:v("models.apiKey")}),(0,b.jsx)(q.Input,{id:"credential-secret",type:"password",placeholder:v("models.apiKeyPlaceholder"),value:d.plaintextSecret,onChange:a=>i({...d,plaintextSecret:a.target.value}),required:!0})]}),(0,b.jsxs)(k.Button,{type:"submit",disabled:f,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),v("models.saveCredential")]})]}),0===a.length?(0,b.jsx)(C,{text:v("models.emptyCredentials")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,d)=>(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${a.id===c?"bg-brand/5":""}`,style:{animationDelay:`${40*d}ms`},children:[(0,b.jsxs)("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>n(a.id),children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.label??v("models.unnamedCredential")}),(0,b.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:a.secretPreview})]}),(0,b.jsx)(L.Badge,{variant:"outline",className:"shrink-0",children:a.status}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:v("models.rotate"),"aria-label":v("models.rotate"),onClick:()=>s(a.id),children:(0,b.jsx)(l.RefreshCw,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:h,title:v("models.deleteCredential"),"aria-label":v("models.deleteCredential"),onClick:()=>u(a.id),children:(0,b.jsx)(ai.Trash2,{className:"size-4"})})]})]},a.id))}),(0,b.jsx)(p.Dialog,{open:e,onOpenChange:m,children:(0,b.jsx)(p.DialogContent,{className:"sm:max-w-md",children:(0,b.jsxs)("form",{className:"space-y-4",onSubmit:a=>{a.preventDefault(),t()},children:[(0,b.jsx)(p.DialogHeader,{children:(0,b.jsx)(p.DialogTitle,{children:v("models.rotateApiKey")})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"rotate-credential-label",children:v("models.credentialLabel")}),(0,b.jsx)(q.Input,{id:"rotate-credential-label",placeholder:v("models.defaultCredentialLabel"),value:d.label,onChange:a=>i({...d,label:a.target.value})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"rotate-credential-secret",children:v("models.apiKey")}),(0,b.jsx)(q.Input,{id:"rotate-credential-secret",type:"password",placeholder:v("models.apiKeyPlaceholder"),value:d.plaintextSecret,onChange:a=>i({...d,plaintextSecret:a.target.value}),required:!0})]}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:g,onClick:()=>m(!1),children:v("common.cancel")}),(0,b.jsxs)(k.Button,{type:"submit",disabled:g||!d.plaintextSecret,children:[(0,b.jsx)(l.RefreshCw,{className:`size-4 ${g?"animate-spin":""}`}),v("models.rotate")]})]})]})})})]})}var av=a.i(91569);function aw({provider:a,t:d}){let[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{g(null)},[a.id]);let h=(0,e.useMutation)({mutationFn:()=>(0,N.testModelProviderEndpoint)(a.id,{timeoutMs:5e3}),onSuccess:a=>g(a.health)}),i=h.error instanceof Error?h.error.message:null;return(0,b.jsxs)(ak.Card,{children:[(0,b.jsx)(ak.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(av.Gauge,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(ak.CardTitle,{className:"text-base",children:d("models.endpointTest")}),(0,b.jsx)(ak.CardDescription,{className:"mt-1",children:d("models.endpointTestDescription")})]})]})}),(0,b.jsxs)(ak.CardContent,{className:"space-y-3",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:h.isPending,onClick:()=>h.mutate(),children:[(0,b.jsx)(av.Gauge,{className:`size-4 ${h.isPending?"animate-pulse":""}`}),d(h.isPending?"models.checkingEndpoint":"models.checkEndpoint")]}),i?(0,b.jsx)("p",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:i}):null,f?(0,b.jsxs)("div",{"data-testid":"endpoint-health-row",className:"flex flex-wrap items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs",children:[(0,b.jsx)(L.Badge,{variant:f.healthy?"default":"outline",children:d(f.healthy?"models.endpointHealthy":"models.endpointFailed")}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:[f.latencyMs," ms",f.statusCode?` \xb7 HTTP ${f.statusCode}`:""," · ",x(f.checkedAt)]}),f.error?(0,b.jsx)("span",{className:"text-destructive",children:f.error}):null]}):null]})]})}function ax({models:a,selectedModelId:c,modelForm:d,dialogOpen:e,isSaving:f,isSettingDefault:g,isDeleting:h,isSyncing:i,syncDisabled:m,onSync:n,onModelFormChange:o,onDialogOpenChange:s,onNewModel:t,onEditModel:u,onSetDefault:v,onDeleteModel:w,onSubmitModel:x,t:y}){return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"min-w-0 flex-1 text-sm text-muted-foreground",children:y("models.modelsWorkspaceDescription")}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:m||i,title:m?y("models.syncRequiresCredential"):y("models.syncProviderModelsDescription"),onClick:n,children:[(0,b.jsx)(l.RefreshCw,{className:`size-4 ${i?"animate-spin":""}`}),y("models.syncProviderModels")]}),m&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:y("models.syncRequiresCredential")}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",onClick:t,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),y("models.newModel")]})]})]}),0===a.length?(0,b.jsx)(C,{text:y("models.emptyModelsForProvider")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,d)=>(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${a.id===c?"bg-brand/5":""}`,style:{animationDelay:`${40*d}ms`},children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),a.isDefault&&(0,b.jsx)(L.Badge,{className:"shrink-0",children:y("models.default")})]}),(0,b.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:a.modelId})]}),(0,b.jsx)("div",{className:"hidden flex-wrap justify-end gap-1 md:flex md:max-w-40",children:a.capabilities.map(a=>(0,b.jsx)(L.Badge,{variant:"outline",children:a},a))}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",disabled:a.isDefault||g,title:y("models.setDefault"),"aria-label":y("models.setDefault"),onClick:()=>v(a.id),children:(0,b.jsx)(I.ShieldCheck,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:y("models.editModel"),"aria-label":y("models.editModel"),onClick:()=>u(a.id),children:(0,b.jsx)(W.Pencil,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:h,title:y("models.deleteModel"),"aria-label":y("models.deleteModel"),onClick:()=>w(a.id),children:(0,b.jsx)(ai.Trash2,{className:"size-4"})})]})]},a.id))}),(0,b.jsx)(p.Dialog,{open:e,onOpenChange:s,children:(0,b.jsx)(p.DialogContent,{className:"sm:max-w-md",children:(0,b.jsxs)("form",{className:"space-y-4",onSubmit:x,children:[(0,b.jsx)(p.DialogHeader,{children:(0,b.jsx)(p.DialogTitle,{children:c?y("models.editModel"):y("models.addModel")})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"model-form-name",children:y("common.name")}),(0,b.jsx)(q.Input,{id:"model-form-name",value:d.name,onChange:a=>o({...d,name:a.target.value}),required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"model-form-model-id",children:y("models.modelId")}),(0,b.jsx)(q.Input,{id:"model-form-model-id",value:d.modelId,onChange:a=>o({...d,modelId:a.target.value}),required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{children:y("models.capabilities")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:B.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:d.capabilities.includes(a),onChange:()=>{let b;return b=d.capabilities.includes(a)?d.capabilities.filter(b=>b!==a):[...d.capabilities,a],void o({...d,capabilities:b})}}),a]},a))}),(0,b.jsx)(q.Input,{id:"model-form-custom-capabilities",value:d.customCapabilities,onChange:a=>o({...d,customCapabilities:a.target.value}),placeholder:y("models.customCapabilitiesPlaceholder")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.Label,{htmlFor:"model-form-context-window",children:y("models.contextWindow")}),(0,b.jsx)(q.Input,{id:"model-form-context-window",type:"number",min:1,step:1,placeholder:y("models.contextWindowPlaceholder"),value:d.contextWindow,onChange:a=>o({...d,contextWindow:a.target.value})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.contextWindowHint")})]}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:f,onClick:()=>s(!1),children:y("common.cancel")}),(0,b.jsx)(k.Button,{type:"submit",disabled:f,children:c?y("models.saveModel"):y("models.addModel")})]})]})})})]})}function ay({provider:a,isSyncing:c,syncDisabled:d,balance:e,balanceError:g,isCheckingBalance:h,isDeletingProvider:i,onEditProvider:j,onSync:m,onCheckBalance:n,onDeleteProvider:o,onApplyToCli:p,onViewCliConfig:q,modelsTab:r,credentialTab:s,t}){var u;let{data:v}=(0,f.useQuery)({queryKey:["claude-route"],queryFn:N.getClaudeRoute,retry:!1,staleTime:6e4}),w=v?.enabled===!0&&a.supportedAdapters.includes("claude")&&v.assignment?.providerProfileId===a.id;return(0,b.jsxs)("div",{className:"min-w-0 space-y-6",children:[(0,b.jsx)(ak.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(ak.CardContent,{className:"space-y-4 p-4 md:p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(an,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate text-base font-semibold",children:a.name}),(0,b.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:a.baseUrl??a.providerKey})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:()=>p(),children:[(0,b.jsx)(I.ShieldCheck,{className:"size-4"}),t("models.applyToCli")]}),(0,b.jsxs)(ap.DropdownMenu,{children:[(0,b.jsx)(ap.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"outline",className:"size-9","aria-label":t("common.actions"),children:(0,b.jsx)(am.MoreHorizontal,{className:"size-4"})})}),(0,b.jsxs)(ap.DropdownMenuContent,{align:"end",children:[(0,b.jsxs)(ap.DropdownMenuItem,{onSelect:j,children:[(0,b.jsx)(W.Pencil,{className:"size-4"}),t("models.editProvider")]}),(0,b.jsxs)(ap.DropdownMenuItem,{disabled:h,onSelect:n,children:[(0,b.jsx)(ao,{className:"size-4"}),t("models.checkBalance")]}),(0,b.jsxs)(ap.DropdownMenuItem,{className:"text-destructive focus:text-destructive",disabled:i,onSelect:o,children:[(0,b.jsx)(ai.Trash2,{className:"size-4"}),t("models.deleteProviderTitle")]})]})]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(L.Badge,{variant:"outline",children:z(a.apiFormat,t)}),w&&(0,b.jsx)(L.Badge,{variant:"secondary",children:t("models.claudeRouteBadge")}),a.region?(0,b.jsx)(L.Badge,{variant:"outline",children:a.region}):null,(0,b.jsx)(L.Badge,{variant:"secondary",children:(u=a.productType,"coding_plan"===u?t("models.productTypeCodingPlan"):"token_plan"===u?t("models.productTypeTokenPlan"):"subscription"===u?t("models.productTypeSubscription"):"local"===u?t("models.productTypeLocal"):t("models.productTypePaygApi"))}),(0,b.jsx)(L.Badge,{variant:"outline",children:A(a.authType,t)}),(!a?[]:[...a.supportedAdapters]).map(a=>(0,b.jsx)(Y.CliBrandChip,{aiTool:a},a))]}),(0,b.jsxs)("div",{className:"min-h-10 space-y-2","data-testid":"provider-balance-row",children:[g?(0,b.jsx)("span",{className:"text-xs text-destructive",children:g}):e&&!e.supported?(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:t("models.balanceNotSupported")}):!e&&h?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,b.jsx)(l.RefreshCw,{className:"size-3 animate-spin"}),t("models.balanceLoading")]}):e?0===e.balances.length?(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:t("models.balanceEmpty")}):e.balances.map(a=>(0,b.jsx)(az,{entry:a,t:t},`${a.label}-${a.resetsAt??""}`)):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:t("models.balanceNotQueried")}),e?.supported&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[h&&(0,b.jsx)(l.RefreshCw,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:x(e.checkedAt)})]})]})]})}),(0,b.jsx)(at,{provider:a,onApply:a=>p(a),onViewConfig:q}),(0,b.jsxs)(_.Tabs,{defaultValue:"models",className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsxs)(_.TabsList,{children:[(0,b.jsx)(_.TabsTrigger,{value:"models",children:t("models.modelsWorkspace")}),(0,b.jsx)(_.TabsTrigger,{value:"credentials",children:t("models.credentials")}),(0,b.jsx)(_.TabsTrigger,{value:"diagnostics",children:t("models.diagnosticsTab")})]}),(0,b.jsx)(_.TabsContent,{value:"models",className:"pt-4",children:(0,b.jsx)(ax,{...r,isSyncing:c,syncDisabled:d,onSync:m,t:t})}),(0,b.jsx)(_.TabsContent,{value:"credentials",className:"pt-4",children:(0,b.jsx)(au,{...s,t:t})}),(0,b.jsx)(_.TabsContent,{value:"diagnostics",className:"pt-4",forceMount:!0,children:(0,b.jsx)(aw,{provider:a,t:t})})]})]})}function az({entry:a,t:c}){let d="%"===a.unit?y(100-a.remaining):void 0!==a.limit&&a.limit>0?y((1-a.remaining/a.limit)*100):void 0,e=!1===a.isAvailable,f=void 0!==d?`${Math.round(d)}%`:`${a.remaining} ${a.unit}`,g=void 0===d?"":d>=80?"bg-red-500":d>=50?"bg-amber-500":"bg-emerald-500";return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[(0,b.jsxs)("span",{className:e?"text-amber-700 dark:text-amber-300":"text-muted-foreground",children:[a.label,e?` \xb7 ${c("models.balanceUnavailable")}`:"",a.resetsAt?` \xb7 ${c("models.balanceResetsAt")}: ${x(a.resetsAt)}`:""]}),(0,b.jsx)("span",{className:`font-medium ${e?"text-amber-700 dark:text-amber-300":""}`,children:f})]}),void 0!==d&&(0,b.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-muted/40",children:(0,b.jsx)("div",{className:`h-full rounded-full transition-[width] duration-500 ${g}`,style:{width:`${d}%`}})})]})}function aA(a,b){return a instanceof Error?a.message:b}a.s(["default",0,function(){let{t:a}=(0,M.useLanguage)(),h=(0,g.useQueryClient)(),l=(0,d.useRouter)(),m=(0,d.usePathname)(),n=(0,d.useSearchParams)(),[o,p]=(0,c.useState)(()=>n.get("provider")??""),[q,r]=(0,c.useState)(u),[s,t]=(0,c.useState)(v),[x,y]=(0,c.useState)(w),[z,A]=(0,c.useState)(""),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(""),[H,I]=(0,c.useState)(v),[K,L]=(0,c.useState)(null),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(null),[S,U]=(0,c.useState)({open:!1}),[V,W]=(0,c.useState)({open:!1,adapter:"claude"}),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!1);function _(a){p(a);let b=new URLSearchParams(n.toString());a?b.set("provider",a):b.delete("provider");let c=b.toString();l.replace(c?`${m}?${c}`:m,{scroll:!1})}let aa=(0,f.useQuery)({queryKey:["model-providers"],queryFn:N.listModelProviders}),ab=aa.data?.providers??[],ad=aa.data?.models??[],ae=aa.data?.credentials??[],af=(0,c.useMemo)(()=>{let a=E.trim().toLowerCase();return a?ab.filter(b=>[b.name,b.providerKey,b.baseUrl,b.apiFormat,b.opencodeNpm].filter(Boolean).join(" ").toLowerCase().includes(a)):ab},[E,ab]);(0,c.useEffect)(()=>{let a=ab[0];a&&(o&&ab.some(a=>a.id===o)||_(a.id))},[ab,o]);let ag=ab.find(a=>a.id===o),ah=(0,c.useMemo)(()=>ad.filter(a=>a.providerProfileId===o),[ad,o]),ai=(0,c.useMemo)(()=>ae.filter(a=>a.providerProfileId===o),[ae,o]),ak=(0,c.useMemo)(()=>ah.find(a=>a.id===z),[ah,z]),am=(0,c.useMemo)(()=>ai.find(a=>a.id===C),[ai,C]),an=(0,c.useMemo)(()=>{let a=new Map;for(let b of ad)a.set(b.providerProfileId,(a.get(b.providerProfileId)??0)+1);return a},[ad]);(0,c.useEffect)(()=>{A(a=>ah.some(b=>b.id===a)?a:ah[0]?.id||""),D(a=>ai.some(b=>b.id===a)?a:ai[0]?.id||"")},[ah,ai]),(0,c.useEffect)(()=>{if(ak){let{checked:a,custom:b}=function(a){let b=new Set(B),c=[],d=[];for(let e of a)b.has(e)?c.push(e):d.push(e);return{checked:c,custom:d.join(",")}}(ak.capabilities);y({name:ak.name,modelId:ak.modelId,capabilities:a,customCapabilities:b,contextWindow:ak.contextWindow?String(ak.contextWindow):""})}else y(w)},[ak]),(0,c.useEffect)(()=>{am&&t(a=>({...a,label:am.label??""}))},[am]);let ao=(0,e.useMutation)({mutationFn:async()=>{let a,b=q.anthropicBaseUrl.trim(),c=q.openaiBaseUrl.trim(),d=await (0,N.createModelProvider)({name:q.name.trim(),providerKey:q.providerKey.trim(),authType:q.authType,apiFormat:q.apiFormat,baseUrl:b||c,...b?{anthropicBaseUrl:b}:{},...c?{openaiBaseUrl:c}:{},supportedAdapters:q.supportedAdapters,...q.allowPlaintextHttp?{allowPlaintextHttp:!0}:{}}),e=H.plaintextSecret.trim(),f="none"!==d.provider.authType&&e?(await (0,N.createProviderCredential)(d.provider.id,{label:H.label.trim()||void 0,plaintextSecret:e})).credential:void 0;if(f||"none"===d.provider.authType)try{await (0,N.syncProviderModels)(d.provider.id,{credentialId:f?.id})}catch(b){a=b}return{provider:d.provider,credential:f,syncError:a}},onSuccess:async b=>{_(b.provider.id),D(b.credential?.id??""),A(""),r(u),I(v),P(!1),R(null),J.toast.success(a("models.providerCreated")),b.syncError&&J.toast.error(b.syncError instanceof Error?b.syncError.message:a("models.modelSyncFailed")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),ap=(0,e.useMutation)({mutationFn:async()=>{if(!Q)throw Error(a("models.providerRequired"));let b=q.anthropicBaseUrl.trim(),c=q.openaiBaseUrl.trim();return(0,N.updateModelProvider)(Q.id,{name:q.name.trim(),authType:q.authType,apiFormat:q.apiFormat,baseUrl:b||c,...b?{anthropicBaseUrl:b}:{},...c?{openaiBaseUrl:c}:{},supportedAdapters:q.supportedAdapters,...q.allowPlaintextHttp?{allowPlaintextHttp:!0}:{}})},onSuccess:async()=>{P(!1),R(null),r(u),J.toast.success(a("models.updated")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),aq=(0,e.useMutation)({mutationFn:a=>(0,N.deleteModelProvider)(a),onSuccess:async(b,c)=>{L(null),_(ab.find(a=>a.id!==c)?.id||""),A(""),D(""),J.toast.success(a("models.providerDeleted")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),ar=(0,e.useMutation)({mutationFn:()=>(0,N.createProviderCredential)(o,{label:s.label.trim()||void 0,plaintextSecret:s.plaintextSecret}),onSuccess:async b=>{t(v),D(b.credential.id),J.toast.success(a("models.credentialSaved")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),as=(0,e.useMutation)({mutationFn:()=>{if(!C)throw Error(a("models.credentialRequired"));return(0,N.rotateProviderCredential)(o,C,{label:s.label.trim()||void 0,plaintextSecret:s.plaintextSecret})},onSuccess:async b=>{t(v),D(b.credential.id),$(!1),J.toast.success(a("models.credentialRotated")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),at=(0,e.useMutation)({mutationFn:a=>(0,N.deleteProviderCredential)(o,a),onSuccess:async(b,c)=>{L(null),D(ai.find(a=>a.id!==c)?.id||""),t(v),J.toast.success("revoked"===b.disposition?a("models.credentialRevoked"):a("models.credentialDeleted")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),au=()=>({name:x.name.trim(),modelId:x.modelId.trim(),capabilities:function(a,b){let c=[];for(let d of[...a,...function(a){let b=new Set;for(let c of a.split(",")){let a=c.trim();a&&b.add(a)}return[...b]}(b)])d&&!c.includes(d)&&c.push(d);return c}(x.capabilities,x.customCapabilities)}),av=(0,e.useMutation)({mutationFn:()=>(0,N.createProviderModel)(o,{...au(),...x.contextWindow.trim()?{contextWindow:Number(x.contextWindow.trim())}:{}}),onSuccess:async b=>{y(w),A(b.model.id),Y(!1),J.toast.success(a("models.modelProfileSaved")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),aw=(0,e.useMutation)({mutationFn:()=>{if(!z)throw Error(a("models.modelRequired"));return(0,N.updateProviderModel)(o,z,{...au(),contextWindow:x.contextWindow.trim()?Number(x.contextWindow.trim()):null})},onSuccess:async b=>{A(b.model.id),Y(!1),J.toast.success(a("models.updated")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),ax=(0,e.useMutation)({mutationFn:a=>(0,N.deleteProviderModel)(o,a),onSuccess:async(b,c)=>{L(null);let d=ah.find(a=>a.id!==c)?.id||"";A(d),y(d?x:w),J.toast.success(a("models.deleted")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),az=(0,e.useMutation)({mutationFn:a=>(0,N.setDefaultProviderModel)(o,a),onSuccess:async b=>{A(b.model.id),J.toast.success(a("models.defaultUpdated")),await aF()},onError:b=>J.toast.error(aA(b,a("models.failedLoad")))}),aB=aq.isPending||ax.isPending||at.isPending,aC=ai.find(a=>"active"===a.status),aD=(0,f.useQuery)({queryKey:["provider-balance",o,aC?.id??""],queryFn:()=>(0,N.checkProviderBalance)(o,aC?{credentialId:aC.id}:{}),enabled:!!ag&&(ag?.authType==="none"||!!aC),refetchInterval:a=>a.state.data?.supported!==!1&&6e4,retry:!1}),aE=(0,e.useMutation)({mutationFn:()=>{if(!ag)throw Error(a("models.providerRequired"));return(0,N.syncProviderModels)(ag.id,{credentialId:"none"===ag.authType?void 0:aC?.id})},onSuccess:async b=>{let c=b.createdCount+(b.updatedCount??0);J.toast.success(c>0?a("models.modelSyncComplete"):a("models.modelSyncNoChanges")),await aF()},onError:b=>J.toast.error(aA(b,a("models.modelSyncFailed")))});function aF(){return h.invalidateQueries({queryKey:["model-providers"]})}function aG(){R(null),r(u),I(v),P(!0)}function aH(a){R(a),r({name:a.name,providerKey:a.providerKey,apiFormat:a.apiFormat,authType:a.authType,anthropicBaseUrl:a.anthropicBaseUrl??"",openaiBaseUrl:a.openaiBaseUrl??"",supportedAdapters:[...a.supportedAdapters],allowPlaintextHttp:a.allowPlaintextHttp??!1}),I(v),P(!0)}return(0,b.jsxs)("div",{className:"mx-auto max-w-[1400px] space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 forgebadger-animate-in",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:a("models.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("models.providerCenterSubtitle")})]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,b.jsxs)(k.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:aG,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("models.addProvider")]})})]}),(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[300px_minmax(0,1fr)]",children:[(0,b.jsx)("div",{className:"min-w-0 space-y-6",children:(0,b.jsx)(al,{providers:af,providerCount:ab.length,modelCounts:an,queryText:E,selectedProviderId:o,isLoading:aa.isLoading,onQueryTextChange:F,onSelectProvider:_,onEditProvider:a=>{let b=ab.find(b=>b.id===a);b&&aH(b)},t:a})}),(0,b.jsx)("div",{className:"min-w-0",children:ag?(0,b.jsx)(ay,{provider:ag,isSyncing:aE.isPending,syncDisabled:"none"!==ag.authType&&!aC,isDeletingProvider:aq.isPending,onEditProvider:()=>aH(ag),balance:aD.data??null,balanceError:aD.isError?aD.error instanceof Error?aD.error.message:a("models.balanceCheckFailed"):null,isCheckingBalance:aD.isFetching,onSync:()=>aE.mutate(),onCheckBalance:()=>void aD.refetch(),onDeleteProvider:()=>{L({kind:"provider",providerId:ag.id})},onApplyToCli:a=>U({open:!0,adapter:a}),onViewCliConfig:a=>W({open:!0,adapter:a}),modelsTab:{models:ah,selectedModelId:z,modelForm:x,dialogOpen:X,isSaving:av.isPending||aw.isPending,isSettingDefault:az.isPending,isDeleting:ax.isPending,onModelFormChange:y,onDialogOpenChange:Y,onNewModel:function(){A(""),y(w),Y(!0)},onEditModel:function(a){A(a),Y(!0)},onSetDefault:a=>az.mutate(a),onDeleteModel:a=>{L({kind:"model",modelId:a})},onSubmitModel:function(a){a.preventDefault(),z?aw.mutate():av.mutate()}},credentialTab:{credentials:ai,selectedCredentialId:C,credentialForm:s,rotateDialogOpen:Z,isSaving:ar.isPending,isRotating:as.isPending,isDeleting:at.isPending,onCredentialFormChange:t,onRotateDialogOpenChange:$,onSelectCredential:D,onSubmitCredential:function(a){a.preventDefault(),ar.mutate()},onOpenRotate:function(a){D(a),t(a=>({...a,plaintextSecret:""})),$(!0)},onConfirmRotate:()=>as.mutate(),onDeleteCredential:a=>{L({kind:"credential",credentialId:a})}},t:a}):(0,b.jsxs)("div",{className:"flex min-h-[420px] flex-col items-center justify-center gap-4 rounded-lg border border-dashed border-border/70 bg-card/50 px-6 py-12 text-center forgebadger-animate-in",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(i,{className:"size-5"})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("models.emptyWorkspaceTitle")}),(0,b.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:a("models.emptyProviders")})]}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:aG,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("models.addProvider")]})]})})]}),(0,b.jsx)(ac,{open:V.open,adapter:V.adapter,onOpenChange:a=>W(b=>({...b,open:a}))}),(0,b.jsx)(G,{open:O,customProvider:q,setupCredential:H,isCreating:ao.isPending||ap.isPending,existing:Q??void 0,onOpenChange:function(a){!a&&(ao.isPending||ap.isPending)||P(a)},onCustomProviderChange:r,onSetupCredentialChange:I,onSubmit:function(a){a.preventDefault(),Q?ap.mutate():ao.mutate()},t:a}),(0,b.jsx)(aj,{target:K,isDeleting:aB,onOpenChange:a=>{a||aB||L(null)},onConfirm:function(){K&&("provider"===K.kind?aq.mutate(K.providerId):"model"===K.kind?ax.mutate(K.modelId):at.mutate(K.credentialId))},t:a}),ag?(0,b.jsx)(T,{provider:ag,models:ah,credentials:ai,open:S.open,initialAdapter:S.adapter,onOpenChange:a=>U(b=>({...b,open:a}))}):null]})}],76640)}];
1
+ module.exports=[76640,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(13376),e=a.i(4837),f=a.i(39747),g=a.i(26248),h=a.i(35485);let i=(0,h.default)("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var j=a.i(90259),k=a.i(97494),l=a.i(67305),m=a.i(14060),n=a.i(67164),o=a.i(48459),p=a.i(73008),q=a.i(62384),r=a.i(55068),s=a.i(3030),t=a.i(39042);function u(a){return{productType:"payg_api",apiFormat:"openai-compatible",authType:"api_key",supportedAdapters:["claude","opencode","kimi","pi"],...a}}let v=[u({id:"openai",name:"OpenAI",description:"Official OpenAI API endpoint.",apiFormat:"openai",openaiBaseUrl:"https://api.openai.com/v1",supportedAdapters:["opencode","codex","kimi","pi"]}),u({id:"anthropic-api",name:"Anthropic API",description:"Official Anthropic API for Claude models.",apiFormat:"anthropic",anthropicBaseUrl:"https://api.anthropic.com"}),u({id:"deepseek-api",name:"DeepSeek API",description:"DeepSeek API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.deepseek.com/anthropic",openaiBaseUrl:"https://api.deepseek.com"}),u({id:"qwen-payg-cn",name:"Qwen API 中国大陆",description:"Alibaba Cloud Model Studio pay-as-you-go endpoint for mainland China accounts.",anthropicBaseUrl:"https://dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"}),u({id:"qwen-payg-intl-sg",name:"Qwen API 国际版",description:"Alibaba Cloud Model Studio international endpoint.",anthropicBaseUrl:"https://dashscope-intl.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1"}),u({id:"qwen-coding-plan-cn",name:"Qwen Coding Plan 中国大陆",description:"Alibaba Cloud Model Studio Coding Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://coding.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding.dashscope.aliyuncs.com/v1"}),u({id:"qwen-coding-plan-intl",name:"Qwen Coding Plan 国际版",description:"Alibaba Cloud Model Studio Coding Plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1"}),u({id:"qwen-token-plan-cn",name:"Qwen Token Plan 中国大陆",description:"Alibaba Cloud Model Studio Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",openaiBaseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1"}),u({id:"kimi-code",name:"Kimi For Coding",description:"Kimi coding subscription endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.kimi.com/coding/",openaiBaseUrl:"https://api.kimi.com/coding/v1"}),u({id:"kimi-api",name:"Kimi API",description:"Moonshot AI Kimi pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.moonshot.cn/anthropic",openaiBaseUrl:"https://api.moonshot.cn/v1"}),u({id:"minimax-global",name:"MiniMax 国际版",description:"MiniMax international API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimax.io/anthropic",openaiBaseUrl:"https://api.minimax.io/v1"}),u({id:"minimax-cn",name:"MiniMax 中国大陆",description:"MiniMax mainland China API endpoint for coding tools.",anthropicBaseUrl:"https://api.minimaxi.com/anthropic",openaiBaseUrl:"https://api.minimaxi.com/v1"}),u({id:"zai-coding-plan",name:"Z.AI GLM Coding Plan",description:"Z.AI coding plan endpoints for GLM coding models.",productType:"coding_plan",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/coding/paas/v4"}),u({id:"zai-glm-api",name:"Z.AI GLM API",description:"Z.AI GLM pay-as-you-go endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api.z.ai/api/anthropic",openaiBaseUrl:"https://api.z.ai/api/paas/v4"}),u({id:"xiaomi-mimo-api",name:"Xiaomi MiMo API",description:"Xiaomi MiMo pay-as-you-go API with OpenAI and Anthropic-compatible endpoints.",anthropicBaseUrl:"https://api.xiaomimimo.com/anthropic",openaiBaseUrl:"https://api.xiaomimimo.com/v1"}),u({id:"xiaomi-mimo-token-plan-cn",name:"Xiaomi MiMo Token Plan 中国大陆",description:"Xiaomi MiMo Token Plan endpoint for mainland China.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-cn.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-cn.xiaomimimo.com/v1"}),u({id:"xiaomi-mimo-token-plan-sgp",name:"Xiaomi MiMo Token Plan Singapore",description:"Xiaomi MiMo Token Plan endpoint for Singapore.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-sgp.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"}),u({id:"xiaomi-mimo-token-plan-ams",name:"Xiaomi MiMo Token Plan Europe",description:"Xiaomi MiMo Token Plan endpoint for Amsterdam/Europe.",productType:"token_plan",anthropicBaseUrl:"https://token-plan-ams.xiaomimimo.com/anthropic",openaiBaseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}),u({id:"baidu-qianfan-coding-plan",name:"Baidu Qianfan Coding Plan",description:"Baidu Qianfan Coding Plan endpoint for AI coding tools.",productType:"coding_plan",anthropicBaseUrl:"https://qianfan.baidubce.com/anthropic/coding",openaiBaseUrl:"https://qianfan.baidubce.com/v2"}),u({id:"stepfun-coding-plan-cn",name:"StepFun Coding Plan 中国大陆",description:"StepFun coding plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.com/step_plan",openaiBaseUrl:"https://api.stepfun.com/v1"}),u({id:"stepfun-coding-plan-intl",name:"StepFun Coding Plan 国际版",description:"StepFun coding plan international endpoint.",productType:"coding_plan",anthropicBaseUrl:"https://api.stepfun.ai/step_plan",openaiBaseUrl:"https://api.stepfun.ai/v1"}),u({id:"modelscope-api",name:"ModelScope API",description:"ModelScope inference endpoint with Anthropic and OpenAI-compatible APIs.",anthropicBaseUrl:"https://api-inference.modelscope.cn",openaiBaseUrl:"https://api-inference.modelscope.cn/v1"}),u({id:"siliconflow-api",name:"SiliconFlow 硅基流动",description:"SiliconFlow model API platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.siliconflow.cn",openaiBaseUrl:"https://api.siliconflow.cn/v1"}),u({id:"siliconflow-intl",name:"SiliconFlow 国际版",description:"SiliconFlow international endpoint.",anthropicBaseUrl:"https://api.siliconflow.com",openaiBaseUrl:"https://api.siliconflow.com/v1"}),u({id:"volcengine-agent-plan-cn",name:"火山引擎 Agent Plan 中国大陆",description:"Volcengine Ark Agent Plan endpoint for mainland China.",productType:"coding_plan",anthropicBaseUrl:"https://ark.cn-beijing.volces.com/api/coding",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v1"}),u({id:"volcengine-agent-plan-intl",name:"火山引擎 Agent Plan 国际版",description:"Volcengine BytePlus Agent Plan endpoint for international users.",productType:"coding_plan",anthropicBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding",openaiBaseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v1"}),u({id:"volcengine-ark-api-cn",name:"火山方舟豆包 API 中国大陆",description:"Volcengine Ark Doubao Seed pay-as-you-go endpoint for mainland China.",openaiBaseUrl:"https://ark.cn-beijing.volces.com/api/v3"}),u({id:"openrouter-api",name:"OpenRouter",description:"OpenRouter model routing platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://openrouter.ai/api",openaiBaseUrl:"https://openrouter.ai/api/v1"}),u({id:"novita-api",name:"Novita AI",description:"Novita AI model platform with Anthropic and OpenAI-compatible endpoints.",anthropicBaseUrl:"https://api.novita.ai/anthropic",openaiBaseUrl:"https://api.novita.ai/v1"})],w={name:"",providerKey:"",apiFormat:"anthropic",authType:"api_key",baseUrl:"",anthropicBaseUrl:"",openaiBaseUrl:"",supportedAdapters:["claude"],allowPlaintextHttp:!1,allowPrivateNetworks:!1};function x(a){return a.anthropicBaseUrl.trim()||a.openaiBaseUrl.trim()||a.baseUrl.trim()}let y={label:"",plaintextSecret:""},z={name:"",modelId:"",capabilities:["chat","code"],customCapabilities:"",contextWindow:"",supportEfforts:[],defaultEffort:""};function A(a,b){let c=new Date(a);return Number.isNaN(c.getTime())?a:c.toLocaleString(b)}function B(a){return Math.min(100,Math.max(0,a))}function C(a,b){switch(a){case"anthropic":return b("models.apiFormatAnthropic");case"openai":return b("models.apiFormatOpenai");case"openai-compatible":return b("models.apiFormatOpenaiCompatible");case"google":return b("models.apiFormatGoogle");case"bedrock":return b("models.apiFormatBedrock");case"local":return b("models.apiFormatLocal");default:return a}}function D(a,b){switch(a){case"api_key":return b("models.authTypeApiKey");case"bearer_token":return b("models.authTypeBearerToken");case"oauth":return b("models.authTypeOauth");case"none":return b("models.authTypeNone");default:return a}}let E=["chat","code","vision","video","tools","reasoning","embedding"],F=["low","medium","high","xhigh","max"];function G({text:a}){return(0,b.jsx)("div",{className:"flex items-center justify-center rounded-md border border-dashed border-border/70 px-4 py-6 text-center text-sm text-muted-foreground",children:a})}let H=["anthropic","openai","openai-compatible","google","bedrock","local"],I=["api_key","bearer_token","oauth","none"],J=[...t.runtimeAdapterIds];function K({open:a,customProvider:d,setupCredential:e,isCreating:f,existing:g,onOpenChange:h,onCustomProviderChange:i,onSetupCredentialChange:l,onSubmit:t,t:u}){let w,y=null!=g,z=(0,c.useRef)(!1),[A,B]=(0,c.useState)("");(0,c.useEffect)(()=>{a||(z.current=!1,B(""))},[a]);let E=(w=A.trim().toLowerCase())?v.filter(a=>[a.id,a.name,a.description,a.anthropicBaseUrl??"",a.openaiBaseUrl??""].join("\n").toLowerCase().includes(w)):v,F="none"!==d.authType,G=!!x(d),L=G&&[d.baseUrl,d.anthropicBaseUrl,d.openaiBaseUrl].map(a=>a.trim()).filter(Boolean).some(a=>a.toLowerCase().startsWith("http://")),M=G&&[d.baseUrl,d.anthropicBaseUrl,d.openaiBaseUrl].map(a=>a.trim()).filter(Boolean).some(a=>{let b;try{b=new URL(a).hostname.toLowerCase()}catch{return!1}if(b.startsWith("[")&&b.endsWith("]")&&(b=b.slice(1,-1)),"localhost"===b||"::1"===b||b.startsWith("fd")||b.startsWith("fc")||b.endsWith(".local")||!b.includes("."))return!0;if(/^\d{1,3}(\.\d{1,3}){3}$/.test(b)){let a=b.split(".").map(a=>Number.parseInt(a,10)),c=a[0]??0,d=a[1]??0;if(127===c||10===c||0===c||192===c&&168===d||172===c&&d>=16&&d<=31||169===c&&254===d||100===c&&d>=64&&d<=127)return!0}return!1}),N=[];0===d.name.trim().length&&N.push(u("models.providerFormMissingName")),0===d.providerKey.trim().length&&N.push(u("models.providerFormMissingKey")),G||N.push(u("models.providerFormMissingEndpoint")),0===d.supportedAdapters.length&&N.push(u("models.supportedAdapters"));let O=N.join("、"),P=!f&&0===N.length;return(0,b.jsx)(q.Dialog,{open:a,onOpenChange:h,children:(0,b.jsx)(q.DialogContent,{className:y?"max-h-[90vh] overflow-y-auto sm:max-w-2xl":"max-h-[90vh] overflow-hidden sm:max-w-4xl",children:(0,b.jsxs)("form",{className:y?"space-y-4":"grid max-h-[80vh] gap-5 md:grid-cols-[240px_minmax(0,1fr)]",onSubmit:t,children:[!y&&(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:u("models.presets")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u("models.presetsDescription")})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(r.Input,{value:A,onChange:a=>B(a.target.value),placeholder:u("models.searchProviderPlaceholder"),"aria-label":u("models.searchProviderPlaceholder"),className:"h-9 pl-9"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 space-y-1 overflow-y-auto rounded-md border border-border/70 p-1",children:0===E.length?(0,b.jsx)("p",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:u("models.noPresetMatches")}):E.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{z.current=!0,i({name:a.name,providerKey:a.id,apiFormat:a.apiFormat,authType:a.authType,baseUrl:"",anthropicBaseUrl:a.anthropicBaseUrl??"",openaiBaseUrl:a.openaiBaseUrl??"",supportedAdapters:[...a.supportedAdapters],allowPlaintextHttp:!1,allowPrivateNetworks:!1})},className:`w-full rounded px-3 py-2 text-left hover:bg-muted/50 ${d.providerKey===a.id?"bg-muted/40":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:C(a.apiFormat,u)})]}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.openaiBaseUrl??a.anthropicBaseUrl})]},a.id))})]}),(0,b.jsxs)("div",{className:y?"contents":"min-h-0 space-y-4 overflow-y-auto pr-1",children:[!y&&(0,b.jsxs)(q.DialogHeader,{children:[(0,b.jsx)(q.DialogTitle,{children:u("models.addProvider")}),(0,b.jsx)(q.DialogDescription,{children:u("models.addProviderDescription")})]}),y&&(0,b.jsxs)(q.DialogHeader,{children:[(0,b.jsx)(q.DialogTitle,{children:u("models.editProvider")}),(0,b.jsx)(q.DialogDescription,{children:u("models.editProviderDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-name",children:u("common.name")}),(0,b.jsx)(r.Input,{id:"provider-name",value:d.name,onChange:a=>{var b;return b=a.target.value,void i({...d,name:b,providerKey:z.current?d.providerKey:b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")})},required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-key",children:u("models.providerKey")}),(0,b.jsx)(r.Input,{id:"provider-key",value:d.providerKey,onChange:a=>{z.current=!0,i({...d,providerKey:a.target.value})},disabled:y,required:!0}),y&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u("models.providerKeyLocked")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-api-format",children:u("models.apiFormat")}),(0,b.jsx)("select",{id:"provider-api-format",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:d.apiFormat,onChange:a=>i({...d,apiFormat:a.target.value}),children:H.map(a=>(0,b.jsx)("option",{value:a,children:C(a,u)},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:function(a,b){switch(a){case"anthropic":return b("models.apiFormatHintAnthropic");case"openai":return b("models.apiFormatHintOpenai");case"openai-compatible":return b("models.apiFormatHintOpenaiCompatible");case"google":return b("models.apiFormatHintGoogle");case"bedrock":return b("models.apiFormatHintBedrock");case"local":return b("models.apiFormatHintLocal");default:return""}}(d.apiFormat,u)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-auth-type",children:u("models.authType")}),(0,b.jsx)("select",{id:"provider-auth-type",className:"h-10 w-full rounded-md border bg-background px-3 text-sm text-foreground",value:d.authType,onChange:a=>i({...d,authType:a.target.value}),children:I.map(a=>(0,b.jsx)("option",{value:a,children:D(a,u)},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:function(a,b){switch(a){case"api_key":return b("models.authTypeHintApiKey");case"bearer_token":return b("models.authTypeHintBearerToken");case"oauth":return b("models.authTypeHintOauth");case"none":return b("models.authTypeHintNone");default:return""}}(d.authType,u)})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-openai-base-url",children:u("models.openaiBaseUrl")}),(0,b.jsx)(r.Input,{id:"provider-openai-base-url",value:d.openaiBaseUrl,onChange:a=>i({...d,openaiBaseUrl:a.target.value}),placeholder:"https://example.com/v1"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"provider-anthropic-base-url",children:u("models.anthropicBaseUrl")}),(0,b.jsx)(r.Input,{id:"provider-anthropic-base-url",value:d.anthropicBaseUrl,onChange:a=>i({...d,anthropicBaseUrl:a.target.value}),placeholder:"https://example.com/anthropic"})]})]}),N.length>0?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u("models.providerFormCannotSave").replace("{reasons}",O)}):null,L&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"mt-0.5 size-4 accent-brand",checked:d.allowPlaintextHttp,onChange:a=>i({...d,allowPlaintextHttp:a.target.checked})}),(0,b.jsx)("span",{children:u("models.allowPlaintextHttp")})]}),(0,b.jsx)("p",{className:"pl-6 text-xs text-muted-foreground",children:u("models.allowPlaintextHttpHint")})]}),M&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"mt-0.5 size-4 accent-brand",checked:d.allowPrivateNetworks,onChange:a=>i({...d,allowPrivateNetworks:a.target.checked})}),(0,b.jsx)("span",{children:u("models.allowPrivateNetworks")})]}),(0,b.jsx)("p",{className:"pl-6 text-xs text-muted-foreground",children:u("models.allowPrivateNetworksHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:u("models.supportedAdapters")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:J.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:d.supportedAdapters.includes(a),onChange:()=>{let b;return b=d.supportedAdapters.includes(a)?d.supportedAdapters.filter(b=>b!==a):[...d.supportedAdapters,a],void i({...d,supportedAdapters:b})}}),(0,b.jsx)(p.CliBrandIcon,{aiTool:a,className:"size-4"}),"claude"===a?"Claude Code":"opencode"===a?"OpenCode":"codex"===a?"Codex":"kimi"===a?"Kimi Code":a]},a))})]}),!y&&(F?(0,b.jsxs)("div",{className:"grid gap-3 rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"setup-credential-label",children:u("models.credentialLabel")}),(0,b.jsx)(r.Input,{id:"setup-credential-label",value:e.label,onChange:a=>l({...e,label:a.target.value}),placeholder:u("models.defaultCredentialLabel")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"setup-api-key",children:u("models.apiKey")}),(0,b.jsx)(r.Input,{id:"setup-api-key",type:"password",value:e.plaintextSecret,onChange:a=>l({...e,plaintextSecret:a.target.value}),placeholder:u("models.apiKeyPlaceholder")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u("models.setupCredentialOptionalHint")})]})]}):(0,b.jsx)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-sm text-muted-foreground",children:u("models.noCredentialRequired")})),(0,b.jsx)(q.DialogFooter,{children:(0,b.jsxs)(k.Button,{type:"submit",disabled:!P,title:N.length>0?u("models.providerFormCannotSave").replace("{reasons}",O):void 0,children:[f?(0,b.jsx)(m.RefreshCw,{className:"size-4 animate-spin"}):y?(0,b.jsx)(n.Save,{className:"size-4"}):(0,b.jsx)(j.Plus,{className:"size-4"}),y?u("common.save"):u("models.saveAndSyncModels")]})})]})]})})})}var L=a.i(37060),M=a.i(2337),N=a.i(85564),O=a.i(23834),P=a.i(4730),Q=a.i(79914),R=a.i(39465);let S=[{slot:"opus",label:"Opus"},{slot:"sonnet",label:"Sonnet"},{slot:"haiku",label:"Haiku"}],T=[{slot:"fable",label:"Fable"},{slot:"subagent",label:"Subagent"}],U=["minimal","low","medium","high"],V=[];function W({provider:a,models:d,credentials:h,open:i,initialAdapter:j,onOpenChange:l}){let{t:m}=(0,Q.useLanguage)(),n=(0,g.useQueryClient)(),o=(0,c.useMemo)(()=>[...a.supportedAdapters],[a.supportedAdapters]),p=(0,c.useMemo)(()=>d.filter(a=>"active"===a.status),[d]),r=(0,c.useMemo)(()=>h.filter(a=>"active"===a.status),[h]),u=p.find(a=>a.isDefault)??p[0],[v,w]=(0,c.useState)(o[0]??"claude"),x="claude"===v&&!a.anthropicBaseUrl&&"anthropic"!==a.apiFormat,y=x&&("openai"===a.apiFormat||"openai-compatible"===a.apiFormat),z=x&&!y,A=(0,f.useQuery)({queryKey:["claude-route"],queryFn:t.getClaudeRoute,enabled:i&&x,retry:!1,staleTime:3e4}),B=A.data?.enabled===!0,[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(""),[G,H]=(0,c.useState)({}),[I,J]=(0,c.useState)(""),K=(0,f.useQuery)({queryKey:O.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:t.discoverAdapters,enabled:i,staleTime:3e4}),Y=(0,c.useMemo)(()=>K.data?.adapters??V,[K.data]),[Z,$]=(0,c.useState)(!1),_=(0,c.useRef)(x);_.current=x,(0,c.useEffect)(()=>{if(!i)return;let a=j&&o.includes(j)?j:void 0,b=a??(0,O.chooseDefaultAdapter)(Y,o)??o[0]??"claude",c=new Map(Y.map(a=>[a.id,a]));w(d=>!a&&o.includes(d)&&(!c.get(d)||(0,O.isAdapterSelectable)(c.get(d),o))?d:b),D(u?.id??""),F(r[0]?.id??""),H({}),J(""),$(_.current),ac(!1)},[i,o,u?.id,r,Y,j]);let aa=(0,c.useMemo)(()=>{let b=Object.fromEntries(Object.entries(G).filter(([,a])=>!!a));return{providerProfileId:a.id,..."opencode"!==v&&C?{modelProfileId:C}:{},...E?{credentialId:E}:{},..."claude"===v&&Object.keys(b).length>0?{modelMapping:b}:{},..."codex"===v&&I?{reasoningEffort:I}:{},...x?{routeThroughGateway:!0}:{}}},[v,E,G,C,x,a.id,I]),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)(aa);(0,c.useEffect)(()=>{if(!ab)return;let a=setTimeout(()=>ae(aa),400);return()=>clearTimeout(a)},[aa,ab]);let af=(0,f.useQuery)({queryKey:["cli-config-apply-preview",v,ad],queryFn:()=>(0,t.previewCliConfigApply)(v,ad),enabled:i&&ab&&o.length>0&&ad===aa,retry:!1,staleTime:0}),ag=(0,e.useMutation)({mutationFn:async()=>(x&&!B&&await (0,t.setClaudeRoute)(!0),(0,t.applyCliConfigToAdapter)(v,{...aa,...x?{routeThroughGateway:!0}:{}})),onSuccess:async a=>{let b=a.files?.[0]?.targetPath??"—";N.toast.success(m("models.applyToCliSuccess").replace("{targetPath}",b)),a.backupId&&N.toast.info(m("models.applyToCliRollbackHint")),l(!1),await n.invalidateQueries({queryKey:["cli-config"]}),await n.invalidateQueries({queryKey:["applied-providers"]}),await n.invalidateQueries({queryKey:["applied-provider"]}),"claude"===v&&await n.invalidateQueries({queryKey:["claude-route"]})},onError:a=>{N.toast.error(a instanceof Error?a.message:m("models.applyToCliFailed"))}}),ah=af.data,ai=ah?.files??[],aj=ah?.warnings??[],ak=aj.includes("CODEX_WIRE_API_UNSUPPORTED"),al=aj.filter(a=>"OPENAI_PROTOCOL_REQUIRES_ROUTE"!==a&&"CODEX_WIRE_API_UNSUPPORTED"!==a),am="pi"===v?m("models.applyToCliDefaultModel"):m("projects.model");return(0,b.jsx)(q.Dialog,{open:i,onOpenChange:a=>{ag.isPending||l(a)},children:(0,b.jsxs)(q.DialogContent,{className:"sm:max-w-xl",children:[(0,b.jsxs)(q.DialogHeader,{children:[(0,b.jsx)(q.DialogTitle,{children:m("models.applyToCli")}),(0,b.jsx)(q.DialogDescription,{children:m("models.applyToCliDescription")})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"apply-cli-adapter",children:m("common.aiTool")}),(0,b.jsx)(O.AdapterSelect,{id:"apply-cli-adapter",ariaLabel:m("common.aiTool"),className:"h-9 w-full",value:v,onValueChange:w,supported:o,placeholder:m("common.loading")})]}),"opencode"!==v&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"apply-cli-model",children:am}),(0,b.jsxs)("select",{id:"apply-cli-model","aria-label":am,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:C,onChange:a=>D(a.target.value),children:[0===p.length?(0,b.jsx)("option",{value:"",children:m("models.noModelsAvailable")}):null,p.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),"pi"===v&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m("models.applyToCliPiHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"apply-cli-credential",children:m("models.credentials")}),(0,b.jsxs)("select",{id:"apply-cli-credential","aria-label":m("models.credentials"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:E,onChange:a=>F(a.target.value),children:[(0,b.jsx)("option",{value:"",children:m("models.applyToCliNoCredential")}),r.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label??m("models.unnamedCredential")},a.id))]})]})]}),"opencode"===v&&(0,b.jsx)("p",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:m("models.opencodeApplyHint")}),("claude"===v||"codex"===v||x)&&(0,b.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":Z,onClick:()=>$(a=>!a),children:[m("models.applyAdvancedOptions"),(0,b.jsx)(L.ChevronDown,{className:(0,R.cn)("size-4 text-muted-foreground transition-transform duration-200",Z&&"rotate-180")})]}),Z&&(0,b.jsxs)("div",{className:"space-y-3 border-t border-border/70 px-3 py-3",children:["claude"===v&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:m("models.roleMapping")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m("models.roleMappingDescription")})]}),(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-3",children:[...S,...T].map(({slot:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(s.Label,{htmlFor:`apply-cli-slot-${a}`,className:"text-xs",children:c}),(0,b.jsxs)("select",{id:`apply-cli-slot-${a}`,"aria-label":c,className:"h-9 w-full rounded-md border bg-background px-3 text-sm",value:G[a]??"",onChange:b=>H(c=>({...c,[a]:b.target.value})),children:[(0,b.jsx)("option",{value:"",children:m("models.followPrimaryModel")}),p.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})]},a))})]}),"codex"===v&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"apply-cli-effort",children:m("models.reasoningEffort")}),(0,b.jsxs)("select",{id:"apply-cli-effort","aria-label":m("models.reasoningEffort"),className:"h-9 w-full rounded-md border bg-background px-3 text-sm md:max-w-xs",value:I,onChange:a=>J(a.target.value),children:[(0,b.jsx)("option",{value:"",children:m("models.reasoningEffortDefault")}),U.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),z&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:m("models.claudeRouteUnsupported")}),y&&(0,b.jsxs)("div",{className:B?"space-y-1 rounded-md border border-emerald-500/40 bg-emerald-500/10 px-3 py-2 text-xs":"space-y-1 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs",children:[(0,b.jsx)("p",{className:B?"font-medium text-emerald-700 dark:text-emerald-300":"font-medium text-amber-700 dark:text-amber-300",children:B?m("models.claudeRouteEnabledHint").replace("{gatewayUrl}",A.data?.gatewayUrl??"—"):m("models.claudeRouteBanner")}),!B&&(0,b.jsx)("p",{className:"text-muted-foreground",children:m("models.claudeRouteBannerDescription")})]})]})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,b.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm font-medium","aria-expanded":ab,onClick:()=>ac(a=>!a),children:[m("models.applyChangeSummary"),(0,b.jsx)(L.ChevronDown,{className:(0,R.cn)("size-4 text-muted-foreground transition-transform duration-200",ab&&"rotate-180")})]}),ab&&(0,b.jsx)("div",{className:"space-y-2 border-t border-border/70 px-3 py-3 text-xs",children:af.isPending?(0,b.jsx)("p",{className:"text-muted-foreground",children:m("common.loading")}):af.error?(0,b.jsx)("p",{className:"text-destructive",children:af.error instanceof Error?af.error.message:m("models.applyPreviewFailed")}):ah?(0,b.jsxs)(b.Fragment,{children:[ak&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:m("models.codexWireApiBlocked")}),ai.map(a=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[m("models.applyTargetPath"),":"]}),(0,b.jsx)("span",{className:"break-all font-mono",children:a.targetPath||"—"}),(0,b.jsx)(P.Badge,{variant:"outline",children:a.operation})]}),a.proposed?(0,b.jsx)("pre",{className:"max-h-48 overflow-auto rounded-md border border-border/70 bg-background/60 p-2 font-mono whitespace-pre-wrap",children:X(a.proposed)}):null]},a.targetPath)),al.length>0?(0,b.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-amber-700 dark:text-amber-300",children:al.map(a=>(0,b.jsx)("li",{children:X(a)},a))}):null]}):null})]}),(0,b.jsxs)(q.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:ag.isPending,onClick:()=>l(!1),children:m("common.cancel")}),(0,b.jsxs)(k.Button,{type:"button",disabled:ag.isPending||z||ak||x&&A.isLoading,onClick:()=>ag.mutate(),children:[(0,b.jsx)(M.ShieldCheck,{className:"size-4"}),ag.isPending?m("models.applyingToCli"):B&&x?m("models.claudeRouteApply"):x?m("models.claudeRouteEnableAndApply"):m("models.applyConfig")]})]})]})})}function X(a){return a.replace(/\b(sk-[A-Za-z0-9_-]{2})[A-Za-z0-9_-]+/g,"$1…").replace(/((?:api[-_]?key|auth[-_]?token|token|secret)["'\s]*[:=]["'\s]*)([^\s,"']{4})[^\s,"']*/giu,"$1$2…").replace(/(Bearer\s+)([A-Za-z0-9._-]{6})[A-Za-z0-9._-]+/giu,"$1$2…").replace(/\b((?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9_]{4})[A-Za-z0-9_]+/g,"$1…").replace(/\b(github_pat_[A-Za-z0-9_]{4})[A-Za-z0-9_]+/g,"$1…").replace(/\b(xox[baprs]-[A-Za-z0-9-]{4})[A-Za-z0-9-]+/giu,"$1…").replace(/\b((?:AKIA|ASIA|ABIA|ACCA)[A-Z0-9]{4})[A-Z0-9]+/g,"$1…").replace(/\b(AIza[0-9A-Za-z_-]{4})[0-9A-Za-z_-]+/g,"$1…").replace(/\b(eyJ[A-Za-z0-9_-]{4})[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,"$1…")}var Y=a.i(62803),Z=a.i(38094),$=a.i(27856),_=a.i(35133),aa=a.i(90991),ab=a.i(38640),ac=a.i(802),ad=a.i(76310),ae=a.i(25538),af=a.i(10339);let ag=[...t.runtimeAdapterIds];function ah({open:a,adapter:d,onOpenChange:h}){let{t:i}=(0,Q.useLanguage)(),{user:j}=(0,af.useAuth)(),l=j?.role==="admin",m=(0,g.useQueryClient)(),[n,o]=(0,c.useState)(d);(0,c.useEffect)(()=>{a&&o(d)},[a,d]);let p=(0,f.useQuery)({queryKey:["cli-config-fields",n],queryFn:()=>(0,t.getCliConfigFields)(n),enabled:a}),q=(0,f.useQuery)({queryKey:["cli-config",n],queryFn:()=>(0,t.getCliConfig)(n),retry:!1,enabled:a}),r=(0,f.useQuery)({queryKey:["cli-config-field-values",n],queryFn:()=>(0,t.getCliConfigFieldValues)(n),retry:!1,enabled:a}),s=q.data,u=s?s.files.find(a=>s.configFile.endsWith(a.relativePath))??s.files[0]:void 0,v=(0,f.useQuery)({queryKey:["cli-config-file",n,u?.relativePath],queryFn:()=>(0,t.getCliConfigFile)(n,u.relativePath),enabled:a&&!!u?.relativePath,retry:!1}),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(!1);(0,c.useEffect)(()=>{x(!1),z(""),B(!1)},[n,a]);let C=v.data?.content??"",D=w&&y!==C,E=(0,e.useMutation)({mutationFn:()=>(0,t.writeCliConfigFile)(n,u.relativePath,y),onSuccess:async()=>{N.toast.success(i("cliConfig.saved")),x(!1),await Promise.all([m.invalidateQueries({queryKey:["cli-config",n]}),m.invalidateQueries({queryKey:["cli-config-file",n,u?.relativePath]}),m.invalidateQueries({queryKey:["cli-config-field-values",n]}),m.invalidateQueries({queryKey:["applied-providers"]})])},onError:a=>{N.toast.error(a instanceof Error?a.message:i("cliConfig.saveFailed"))}}),F=p.data?.fields??[];return(0,b.jsxs)(ad.Sheet,{open:a,onOpenChange:function(a){!a&&D?B(!0):h(a)},children:[(0,b.jsxs)(ad.SheetContent,{side:"right",className:"w-full gap-0 overflow-y-auto sm:max-w-xl",children:[(0,b.jsxs)(ad.SheetHeader,{children:[(0,b.jsx)(ad.SheetTitle,{children:i("models.cliConfigSection")}),(0,b.jsx)(ad.SheetDescription,{children:i("models.cliConfigSectionDescription")})]}),(0,b.jsxs)("div",{className:"space-y-5 px-4 pb-6",children:[!l&&(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-700 dark:text-amber-300",children:[(0,b.jsx)($.ShieldAlert,{className:"size-3.5 shrink-0"}),i("models.cliConfigAdminOnly")]}),(0,b.jsx)(ae.Tabs,{value:n,onValueChange:a=>o(a),children:(0,b.jsx)(ae.TabsList,{children:ag.map(a=>(0,b.jsx)(ae.TabsTrigger,{value:a,children:(0,b.jsx)(_.CliBrandChip,{aiTool:a})},a))})}),F.length>0||p.isLoading||p.error?(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:i("cliConfig.commonFields")}),p.isLoading?(0,b.jsx)(al,{text:i("common.loading")}):p.error?(0,b.jsx)(al,{destructive:!0,text:am(p.error,i("cliConfig.loadFailed"))}):(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:F.map(a=>(0,b.jsx)(aj,{field:a,value:r.data?.values[a.key],valuesLoading:r.isLoading,t:i},a.key))}),r.error?(0,b.jsx)(al,{destructive:!0,text:am(r.error,i("cliConfig.loadFieldValuesFailed"))}):null]}):null,(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsx)("h3",{className:"text-sm font-medium",children:i("cliConfig.configMetadata")}),q.isLoading?(0,b.jsx)(al,{text:i("common.loading")}):q.error||!s?(0,b.jsx)(al,{destructive:!0,text:am(q.error,i("cliConfig.loadFailed"))}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(ak,{label:i("cliConfig.configRoot"),value:s.configRoot}),(0,b.jsx)(ak,{label:i("cliConfig.mainConfigFile"),value:s.configFile}),(0,b.jsx)(ak,{label:i("cliConfig.defaultModel"),value:s.defaultModel||"—"}),(0,b.jsx)(ak,{label:i("cliConfig.providers"),value:String(s.providers.length)})]}),(0,b.jsx)("div",{className:"space-y-2",children:s.files.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm",children:[(0,b.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2",children:[(0,b.jsx)(Y.FileCode2,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a.relativePath})]}),(0,b.jsxs)("span",{className:"flex shrink-0 gap-2",children:[(0,b.jsx)(P.Badge,{variant:"outline",children:a.fileType}),(0,b.jsx)(P.Badge,{variant:a.exists?"secondary":"outline",children:a.exists?(0,ab.formatBytes)(a.sizeBytes):i("cliConfig.fileMissing")})]})]},a.relativePath))})]})]}),(0,b.jsxs)("section",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium",children:[i("cliConfig.rawEditor"),u?(0,b.jsx)("span",{className:"ml-2 font-mono text-xs font-normal text-muted-foreground",children:u.relativePath}):null]}),w?null:(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:!l||!u||v.isLoading,title:l?void 0:i("models.cliConfigAdminOnly"),onClick:()=>{z(v.data?.content??""),x(!0)},children:[(0,b.jsx)(Z.Pencil,{className:"size-4"}),i("cliConfig.editRawFile")]})]}),u?w?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("textarea",{"aria-label":i("cliConfig.rawEditor"),className:"min-h-64 w-full rounded-md border bg-background p-3 font-mono text-xs",value:y,onChange:a=>z(a.target.value),spellCheck:!1}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:E.isPending,onClick:function(){D?B(!0):(x(!1),z(""))},children:i("common.cancel")}),(0,b.jsx)(k.Button,{type:"button",size:"sm",disabled:E.isPending||!D,onClick:()=>E.mutate(),children:E.isPending?i("common.saving"):i("common.save")})]})]}):v.isLoading?(0,b.jsx)(al,{text:i("common.loading")}):v.error?(0,b.jsx)(al,{destructive:!0,text:am(v.error,i("cliConfig.loadFailed"))}):v.data?.content!==void 0?(0,b.jsx)(ai,{fileName:u.relativePath,content:v.data.content}):(0,b.jsx)(al,{text:i("cliConfig.rawFileContentUnavailable")}):(0,b.jsx)(al,{text:i("common.loading")})]})]})]}),(0,b.jsx)(aa.ConfirmDialog,{open:A,title:i("cliConfig.unsavedChangesTitle"),description:i("cliConfig.unsavedChangesDescription"),confirmLabel:i("common.close"),destructive:!0,pending:E.isPending,onOpenChange:B,onConfirm:function(){B(!1),x(!1),z(""),h(!1)}})]})}function ai({fileName:a,content:d}){let[e,f]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let b=!1;if(f(null),d)return(0,ac.highlightWorkspaceCode)(d,a).then(a=>{b||f(a)}),()=>{b=!0}},[a,d]),e)?(0,b.jsx)("div",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs leading-5",children:e.map((a,c)=>(0,b.jsx)("div",{className:"whitespace-pre-wrap",children:a.length>0?a.map((a,c)=>{let d=(0,ac.tokenFontStyle)(a.fontStyle);return(0,b.jsx)("span",{style:{color:a.color,fontStyle:d.italic?"italic":void 0,fontWeight:d.bold?600:void 0,textDecoration:d.underline?"underline":void 0},children:a.content},c)}):" "},c))}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-md border border-border/70 bg-muted/20 p-3 font-mono text-xs whitespace-pre-wrap",children:d})}function aj({field:a,value:c,valuesLoading:d,t:e}){let f=d?e("common.loading"):"secret"===a.type?e(!0===c?"cliConfig.hasKey":"cliConfig.noKey"):void 0===c||""===c?e("cliConfig.fieldNotSet"):String(c);return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a.label}),(0,b.jsx)("div",{className:"mt-1 font-mono text-xs text-muted-foreground",children:a.path}),(0,b.jsx)("div",{className:"mt-2 text-xs",children:f})]})}function ak({label:a,value:c}){return(0,b.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:c})]})}function al({text:a,destructive:c=!1}){return(0,b.jsx)("div",{className:`rounded-md border border-dashed px-4 py-6 text-center text-sm ${c?"text-destructive":"text-muted-foreground"}`,children:a})}function am(a,b){return a instanceof Error?a.message:b}var an=a.i(37134);function ao({target:a,isDeleting:c,onOpenChange:d,onConfirm:e,t:f}){let g=f(a?.kind==="model"?"models.deleteModelTitle":a?.kind==="credential"?"models.deleteCredentialTitle":"models.deleteProviderTitle"),h=a?.kind==="model"?`${f("models.deleteModelWarning")} ${a.name}`:a?.kind==="credential"?`${f("models.deleteCredentialConfirm")} ${a.name}`:`${f("models.deleteProviderWarning")} ${a?.name??""}`;return(0,b.jsx)(q.Dialog,{open:null!==a,onOpenChange:a=>{a||c||d(!1)},children:(0,b.jsxs)(q.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsxs)(q.DialogHeader,{children:[(0,b.jsxs)(q.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,b.jsx)(an.Trash2,{className:"size-5 shrink-0 text-destructive"}),g]}),(0,b.jsx)(q.DialogDescription,{children:h})]}),(0,b.jsxs)(q.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:c,onClick:()=>d(!1),children:f("common.cancel")}),(0,b.jsxs)(k.Button,{type:"button",variant:"destructive",disabled:c,onClick:e,children:[(0,b.jsx)(an.Trash2,{className:"size-4"}),f(c?"models.deleting":"common.delete")]})]})]})})}var ap=a.i(70458);function aq({providers:a,providerCount:c,modelCounts:d,queryText:e,selectedProviderId:f,isLoading:g,onQueryTextChange:h,onSelectProvider:j,onEditProvider:l,t:m}){return(0,b.jsxs)(ap.Card,{className:"min-w-0 forgebadger-animate-in xl:sticky xl:top-4",children:[(0,b.jsx)(ap.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(i,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(ap.CardTitle,{className:"text-base",children:m("models.providers")}),(0,b.jsx)(ap.CardDescription,{className:"mt-1",children:m("models.providersDescription")})]})]})}),(0,b.jsxs)(ap.CardContent,{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(r.Input,{value:e,onChange:a=>h(a.target.value),placeholder:m("models.searchConfiguredProviders"),"aria-label":m("models.searchConfiguredProviders"),className:"pl-9"})]}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:[a.length,"/",c," ",m("models.catalogMatches")]}),(0,b.jsx)("div",{"data-testid":"configured-provider-list",className:"max-h-[560px] overflow-y-auto",children:g?(0,b.jsx)(G,{text:m("common.loading")}):0===a.length?(0,b.jsx)(G,{text:m("models.emptyProviders")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,c)=>{let e=a.id===f;return(0,b.jsxs)("div",{className:`flex w-full items-center gap-2 px-3 py-2.5 text-sm transition-colors forgebadger-animate-in ${e?"bg-brand/5":"hover:bg-muted/40"}`,style:{animationDelay:`${40*c}ms`},children:[(0,b.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${e?"bg-brand":"bg-muted-foreground/30"}`}),(0,b.jsxs)("button",{type:"button","aria-pressed":e,className:"min-w-0 flex-1 text-left",onClick:()=>j(a.id),children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),(0,b.jsxs)(P.Badge,{variant:"outline",title:m("models.modelsWorkspace"),className:"shrink-0 text-[10px]",children:[d.get(a.id)??0," ",m("models.modelUnit")]})]}),(0,b.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:a.baseUrl??a.providerKey})]}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 shrink-0 text-muted-foreground hover:text-foreground",title:m("common.edit"),"aria-label":m("common.edit"),onClick:()=>l(a.id),children:(0,b.jsx)(Z.Pencil,{className:"size-4"})})]},a.id)})})})]})]})}var ar=a.i(82977);let as=(0,h.default)("ServerCog",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m15.7 13.4-.9-.3",key:"1jwmzr"}],["path",{d:"m9.2 10.9-.9-.3",key:"qapnim"}],["path",{d:"m10.6 15.7.3-.9",key:"quwk0k"}],["path",{d:"m13.6 15.7-.4-1",key:"cb9xp7"}],["path",{d:"m10.8 9.3-.4-1",key:"1uaiz5"}],["path",{d:"m8.3 13.6 1-.4",key:"s6srou"}],["path",{d:"m14.7 10.8 1-.4",key:"4d31cq"}],["path",{d:"m13.4 8.3-.3.9",key:"1bm987"}]]),at=(0,h.default)("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);var au=a.i(94851),av=a.i(53650),av=av,aw=a.i(27291),ax=a.i(94588);let ay=[...t.runtimeAdapterIds];function az({provider:a,onApply:d,onViewConfig:e}){let{t:h}=(0,Q.useLanguage)(),i=(0,f.useQuery)({queryKey:["applied-providers"],queryFn:t.getAppliedProviders,retry:!1,staleTime:3e4}),j=(0,f.useQuery)({queryKey:O.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:t.discoverAdapters,retry:!1,staleTime:3e4}),l=(0,f.useQuery)({queryKey:["claude-route"],queryFn:t.getClaudeRoute,retry:!1,staleTime:6e4}),n=(0,f.useQuery)({queryKey:["cli-accounts"],queryFn:t.getCliAccounts,retry:!1,staleTime:6e4,refetchInterval:6e4}),o=new Map((j.data?.adapters??[]).map(a=>[a.id,a])),q=i.data?.adapters,r=l.data,s=new Map((n.data?.accounts??[]).map(a=>[a.login.adapter,a])),u=(0,g.useQueryClient)(),[v,w]=(0,c.useState)(null);return(0,b.jsxs)(ap.Card,{"data-testid":"cli-status-section",children:[(0,b.jsxs)(ap.CardHeader,{children:[(0,b.jsx)(ap.CardTitle,{className:"text-base",children:h("models.cliStatusTitle")}),(0,b.jsx)(ap.CardDescription,{className:"mt-1",children:h("models.cliStatusDescription")})]}),(0,b.jsxs)(ap.CardContent,{children:[i.isLoading?(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4","data-testid":"cli-status-skeleton",children:ay.map(a=>(0,b.jsx)("div",{className:"h-28 animate-pulse rounded-md border border-border/70 bg-muted/20 px-3 py-2.5"},a))}):(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:ay.map(c=>{var f;let g=(0,aw.getCliBrand)(c),i=o.get(c),l=i?.available===!0,n=i?.status==="check_failed",x=q?.find(a=>a.adapter===c)??null,y=x?.applied??null,z=(f=a.id,!!(x?.applied&&x.applied.providerProfileId===f)),A=a.supportedAdapters.includes(c),B="claude"===c&&r?.enabled===!0&&r.assignment?.providerProfileId===a.id,C=s.get(c),D=C?.login??null;return(0,b.jsxs)("div",{"data-testid":`cli-status-${c}`,className:`flex min-w-0 flex-col gap-2 rounded-md border px-3 py-2.5 ${z?"border-emerald-500/40 bg-emerald-500/5":"border-border/70 bg-muted/20"}`,children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5 text-sm font-medium",children:[(0,b.jsx)(p.CliBrandIcon,{aiTool:c,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:g.label})]}),(0,b.jsxs)("span",{className:"flex flex-wrap items-center gap-1",children:[B&&(0,b.jsx)(P.Badge,{variant:"secondary",className:"text-[10px]",children:h("models.claudeRouteBadge")}),(0,b.jsx)(P.Badge,{variant:l?"secondary":"outline",className:"text-[10px]",children:l?h("models.sdkInstalled"):n?h("models.cliStatusCheckFailed"):h("models.sdkMissing")}),D?(0,b.jsx)(aA,{login:D,t:h}):null]})]}),(0,b.jsxs)("div",{className:"min-w-0 text-xs",children:[y?(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:`truncate font-medium ${z?"text-emerald-700 dark:text-emerald-300":""}`,children:[y.providerName??`${h("models.cliStatusUnknownProvider")} \xb7 ${y.providerProfileId.slice(0,8)}`,z?` \xb7 ${h("models.cliStatusActiveHere")}`:""]}),(0,b.jsx)("div",{className:"truncate text-muted-foreground",children:y.modelName??y.modelId??h("models.cliStatusNoModel")})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:h("models.cliStatusNotConfigured")}),x?.stale?(0,b.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-amber-700 dark:text-amber-300",children:[(0,b.jsx)(av.default,{className:"size-3 shrink-0"}),h("models.cliStatusStale")]}):null]}),D?(0,b.jsxs)("div",{className:"space-y-1.5",children:["not_authenticated"===D.state?(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"min-w-0 flex-1 truncate text-xs text-muted-foreground",title:h(ax.LOGIN_HINT_KEYS[D.adapter]),children:h(ax.LOGIN_HINT_KEYS[D.adapter])}),(0,b.jsx)(k.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground",disabled:v===D.adapter,"aria-label":h("models.cliAccountQuotaRefresh"),title:h("models.cliAccountQuotaRefresh"),onClick:()=>{var a;w(a=D.adapter),(0,t.refreshCliAccountQuota)(a).then(()=>u.invalidateQueries({queryKey:["cli-accounts"]})).catch(()=>N.toast.error(h("models.cliAccountQuotaRefreshFailed"))).finally(()=>w(null))},children:(0,b.jsx)(m.RefreshCw,{className:(0,R.cn)("size-3",v===D.adapter&&"animate-spin")})})]}):null,(0,b.jsx)(ax.CliQuotaSummary,{quota:C?.quota,t:h})]}):null,(0,b.jsxs)("div",{className:"mt-auto flex items-center gap-1.5 pt-1",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",className:"h-7 flex-1 px-2 text-xs",disabled:!A,title:A?void 0:h("models.cliStatusApplyUnsupported"),onClick:()=>d(c),children:[(0,b.jsx)(M.ShieldCheck,{className:"size-3.5"}),h("models.cliStatusApply")]}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"ghost",className:"h-7 flex-1 px-2 text-xs",disabled:j.isSuccess&&!l,title:j.isSuccess&&!l?h("models.cliStatusCliMissing"):void 0,onClick:()=>e(c),children:[(0,b.jsx)(Y.FileCode2,{className:"size-3.5"}),h("models.cliStatusViewConfig")]})]})]},c)})}),i.isError?(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:h("models.cliStatusLoadFailed")}):null]})]})}function aA({login:a,t:c}){if("cli_missing"===a.state)return null;if("custom_endpoint"===a.state)return(0,b.jsx)(P.Badge,{variant:"outline",className:"text-[10px] text-muted-foreground",title:c("models.cliAccountCustomEndpointHint"),children:c("models.cliAccountCustomEndpoint")});if("ready"===a.state){let d=(0,ax.loginMethodLabel)(a.method,c);return(0,b.jsxs)(P.Badge,{variant:"default",className:"text-[10px]",children:[c("models.cliAccountLoggedIn"),d?` \xb7 ${d}`:""]})}return"not_authenticated"===a.state?(0,b.jsx)(P.Badge,{variant:"outline",className:"text-[10px]",children:c("models.cliAccountNotLoggedIn")}):(0,b.jsx)(P.Badge,{variant:"outline",className:"text-[10px] text-muted-foreground",children:c("models.cliAccountDetectFailed")})}function aB({credentials:a,selectedCredentialId:c,credentialForm:d,rotateDialogOpen:e,isSaving:f,isRotating:g,isDeleting:h,onCredentialFormChange:i,onRotateDialogOpenChange:l,onSelectCredential:n,onSubmitCredential:o,onOpenRotate:p,onConfirmRotate:t,onDeleteCredential:u,t:v}){return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("form",{className:"grid items-end gap-3 md:grid-cols-[1fr_1fr_auto]",onSubmit:o,children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"credential-label",children:v("models.credentialLabel")}),(0,b.jsx)(r.Input,{id:"credential-label",placeholder:v("models.defaultCredentialLabel"),value:d.label,onChange:a=>i({...d,label:a.target.value})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"credential-secret",children:v("models.apiKey")}),(0,b.jsx)(r.Input,{id:"credential-secret",type:"password",placeholder:v("models.apiKeyPlaceholder"),value:d.plaintextSecret,onChange:a=>i({...d,plaintextSecret:a.target.value}),required:!0})]}),(0,b.jsxs)(k.Button,{type:"submit",disabled:f,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),v("models.saveCredential")]})]}),0===a.length?(0,b.jsx)(G,{text:v("models.emptyCredentials")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,d)=>(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${a.id===c?"bg-brand/5":""}`,style:{animationDelay:`${40*d}ms`},children:[(0,b.jsxs)("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>n(a.id),children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.label??v("models.unnamedCredential")}),(0,b.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:a.secretPreview})]}),(0,b.jsx)(P.Badge,{variant:"outline",className:"shrink-0",children:a.status}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:v("models.rotate"),"aria-label":v("models.rotate"),onClick:()=>p(a.id),children:(0,b.jsx)(m.RefreshCw,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:h,title:v("models.deleteCredential"),"aria-label":v("models.deleteCredential"),onClick:()=>u(a.id),children:(0,b.jsx)(an.Trash2,{className:"size-4"})})]})]},a.id))}),(0,b.jsx)(q.Dialog,{open:e,onOpenChange:l,children:(0,b.jsx)(q.DialogContent,{className:"sm:max-w-md",children:(0,b.jsxs)("form",{className:"space-y-4",onSubmit:a=>{a.preventDefault(),t()},children:[(0,b.jsx)(q.DialogHeader,{children:(0,b.jsx)(q.DialogTitle,{children:v("models.rotateApiKey")})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"rotate-credential-label",children:v("models.credentialLabel")}),(0,b.jsx)(r.Input,{id:"rotate-credential-label",placeholder:v("models.defaultCredentialLabel"),value:d.label,onChange:a=>i({...d,label:a.target.value})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"rotate-credential-secret",children:v("models.apiKey")}),(0,b.jsx)(r.Input,{id:"rotate-credential-secret",type:"password",placeholder:v("models.apiKeyPlaceholder"),value:d.plaintextSecret,onChange:a=>i({...d,plaintextSecret:a.target.value}),required:!0})]}),(0,b.jsxs)(q.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:g,onClick:()=>l(!1),children:v("common.cancel")}),(0,b.jsxs)(k.Button,{type:"submit",disabled:g||!d.plaintextSecret,children:[(0,b.jsx)(m.RefreshCw,{className:`size-4 ${g?"animate-spin":""}`}),v("models.rotate")]})]})]})})})]})}var aC=a.i(91569);function aD({provider:a,t:d}){let f=(0,Q.useUiLocale)(),[g,h]=(0,c.useState)(null);(0,c.useEffect)(()=>{h(null)},[a.id]);let i=(0,e.useMutation)({mutationFn:()=>(0,t.testModelProviderEndpoint)(a.id,{timeoutMs:5e3}),onSuccess:a=>h(a.health)}),j=i.error instanceof Error?i.error.message:null;return(0,b.jsxs)(ap.Card,{children:[(0,b.jsx)(ap.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(aC.Gauge,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(ap.CardTitle,{className:"text-base",children:d("models.endpointTest")}),(0,b.jsx)(ap.CardDescription,{className:"mt-1",children:d("models.endpointTestDescription")})]})]})}),(0,b.jsxs)(ap.CardContent,{className:"space-y-3",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:i.isPending,onClick:()=>i.mutate(),children:[(0,b.jsx)(aC.Gauge,{className:`size-4 ${i.isPending?"animate-pulse":""}`}),d(i.isPending?"models.checkingEndpoint":"models.checkEndpoint")]}),j?(0,b.jsx)("p",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:j}):null,g?(0,b.jsxs)("div",{"data-testid":"endpoint-health-row",className:"flex flex-wrap items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2 text-xs",children:[(0,b.jsx)(P.Badge,{variant:g.healthy?"default":"outline",children:d(g.healthy?"models.endpointHealthy":"models.endpointFailed")}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:[g.latencyMs," ms",g.statusCode?` \xb7 HTTP ${g.statusCode}`:""," · ",A(g.checkedAt,f)]}),g.error?(0,b.jsx)("span",{className:"text-destructive",children:g.error}):null]}):null]})]})}function aE({models:a,selectedModelId:c,modelForm:d,dialogOpen:e,isSaving:f,isSettingDefault:g,isDeleting:h,isSyncing:i,syncDisabled:l,onSync:n,onModelFormChange:o,onDialogOpenChange:p,onNewModel:t,onEditModel:u,onSetDefault:v,onDeleteModel:w,onSubmitModel:x,t:y}){return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"min-w-0 flex-1 text-sm text-muted-foreground",children:y("models.modelsWorkspaceDescription")}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",disabled:l||i,title:l?y("models.syncRequiresCredential"):y("models.syncProviderModelsDescription"),onClick:n,children:[(0,b.jsx)(m.RefreshCw,{className:`size-4 ${i?"animate-spin":""}`}),y("models.syncProviderModels")]}),l&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:y("models.syncRequiresCredential")}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"outline",onClick:t,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),y("models.newModel")]})]})]}),0===a.length?(0,b.jsx)(G,{text:y("models.emptyModelsForProvider")}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:a.map((a,d)=>(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40 ${a.id===c?"bg-brand/5":""}`,style:{animationDelay:`${40*d}ms`},children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),a.isDefault&&(0,b.jsx)(P.Badge,{className:"shrink-0",children:y("models.default")})]}),(0,b.jsx)("div",{className:"mt-0.5 truncate font-mono text-xs text-muted-foreground",children:a.modelId})]}),(0,b.jsx)("div",{className:"hidden flex-wrap justify-end gap-1 md:flex md:max-w-40",children:a.capabilities.map(a=>(0,b.jsx)(P.Badge,{variant:"outline",children:a},a))}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",disabled:a.isDefault||g,title:y("models.setDefault"),"aria-label":y("models.setDefault"),onClick:()=>v(a.id),children:(0,b.jsx)(M.ShieldCheck,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-brand",title:y("models.editModel"),"aria-label":y("models.editModel"),onClick:()=>u(a.id),children:(0,b.jsx)(Z.Pencil,{className:"size-4"})}),(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"ghost",className:"size-8 text-muted-foreground hover:text-destructive",disabled:h,title:y("models.deleteModel"),"aria-label":y("models.deleteModel"),onClick:()=>w(a.id),children:(0,b.jsx)(an.Trash2,{className:"size-4"})})]})]},a.id))}),(0,b.jsx)(q.Dialog,{open:e,onOpenChange:p,children:(0,b.jsx)(q.DialogContent,{className:"sm:max-w-md",children:(0,b.jsxs)("form",{className:"space-y-4",onSubmit:x,children:[(0,b.jsx)(q.DialogHeader,{children:(0,b.jsx)(q.DialogTitle,{children:c?y("models.editModel"):y("models.addModel")})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"model-form-name",children:y("common.name")}),(0,b.jsx)(r.Input,{id:"model-form-name",value:d.name,onChange:a=>o({...d,name:a.target.value}),required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"model-form-model-id",children:y("models.modelId")}),(0,b.jsx)(r.Input,{id:"model-form-model-id",value:d.modelId,onChange:a=>o({...d,modelId:a.target.value}),required:!0})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{children:y("models.capabilities")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:E.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:d.capabilities.includes(a),onChange:()=>{let b;return b=d.capabilities.includes(a)?d.capabilities.filter(b=>b!==a):[...d.capabilities,a],void o({...d,capabilities:b})}}),a]},a))}),(0,b.jsx)(r.Input,{id:"model-form-custom-capabilities",value:d.customCapabilities,onChange:a=>o({...d,customCapabilities:a.target.value}),placeholder:y("models.customCapabilitiesPlaceholder")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"model-form-context-window",children:y("models.contextWindow")}),(0,b.jsx)(r.Input,{id:"model-form-context-window",type:"number",min:1,step:1,placeholder:y("models.contextWindowPlaceholder"),value:d.contextWindow,onChange:a=>o({...d,contextWindow:a.target.value})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.contextWindowHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{children:y("models.thinkingEfforts")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:F.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:d.supportEfforts.includes(a),onChange:()=>{let b;return b=d.supportEfforts.includes(a),void o({...d,supportEfforts:b?d.supportEfforts.filter(b=>b!==a):[...d.supportEfforts,a],defaultEffort:b&&d.defaultEffort===a?"":d.defaultEffort})}}),a]},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:y("models.thinkingEffortsHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(s.Label,{htmlFor:"model-form-default-effort",children:y("models.defaultEffort")}),(0,b.jsxs)("select",{id:"model-form-default-effort",className:"h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:d.defaultEffort,onChange:a=>o({...d,defaultEffort:a.target.value}),children:[(0,b.jsx)("option",{value:"",children:y("models.defaultEffortUnset")}),d.supportEfforts.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),(0,b.jsxs)(q.DialogFooter,{children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",disabled:f,onClick:()=>p(!1),children:y("common.cancel")}),(0,b.jsx)(k.Button,{type:"submit",disabled:f,children:c?y("models.saveModel"):y("models.addModel")})]})]})})})]})}function aF({provider:a,isSyncing:c,syncDisabled:d,balance:e,balanceError:g,isCheckingBalance:h,isDeletingProvider:i,onEditProvider:j,onSync:l,onCheckBalance:n,onDeleteProvider:o,onApplyToCli:p,onViewCliConfig:q,modelsTab:r,credentialTab:s,t:u}){var v;let w=(0,Q.useUiLocale)(),{data:x}=(0,f.useQuery)({queryKey:["claude-route"],queryFn:t.getClaudeRoute,retry:!1,staleTime:6e4}),y=x?.enabled===!0&&a.supportedAdapters.includes("claude")&&x.assignment?.providerProfileId===a.id;return(0,b.jsxs)("div",{className:"min-w-0 space-y-6",children:[(0,b.jsx)(ap.Card,{className:"forgebadger-animate-in",children:(0,b.jsxs)(ap.CardContent,{className:"space-y-4 p-4 md:p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(as,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"truncate text-base font-semibold",children:a.name}),(0,b.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:a.baseUrl??a.providerKey})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"brand",onClick:()=>p(),children:[(0,b.jsx)(M.ShieldCheck,{className:"size-4"}),u("models.applyToCli")]}),(0,b.jsxs)(au.DropdownMenu,{children:[(0,b.jsx)(au.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(k.Button,{type:"button",size:"icon",variant:"outline",className:"size-9","aria-label":u("common.actions"),children:(0,b.jsx)(ar.MoreHorizontal,{className:"size-4"})})}),(0,b.jsxs)(au.DropdownMenuContent,{align:"end",children:[(0,b.jsxs)(au.DropdownMenuItem,{onSelect:j,children:[(0,b.jsx)(Z.Pencil,{className:"size-4"}),u("models.editProvider")]}),(0,b.jsxs)(au.DropdownMenuItem,{disabled:h,onSelect:n,children:[(0,b.jsx)(at,{className:"size-4"}),u("models.checkBalance")]}),(0,b.jsxs)(au.DropdownMenuItem,{className:"text-destructive focus:text-destructive",disabled:i,onSelect:o,children:[(0,b.jsx)(an.Trash2,{className:"size-4"}),u("models.deleteProviderTitle")]})]})]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(P.Badge,{variant:"outline",children:C(a.apiFormat,u)}),y&&(0,b.jsx)(P.Badge,{variant:"secondary",children:u("models.claudeRouteBadge")}),a.region?(0,b.jsx)(P.Badge,{variant:"outline",children:a.region}):null,(0,b.jsx)(P.Badge,{variant:"secondary",children:(v=a.productType,"coding_plan"===v?u("models.productTypeCodingPlan"):"token_plan"===v?u("models.productTypeTokenPlan"):"subscription"===v?u("models.productTypeSubscription"):"local"===v?u("models.productTypeLocal"):u("models.productTypePaygApi"))}),(0,b.jsx)(P.Badge,{variant:"outline",children:D(a.authType,u)}),(!a?[]:[...a.supportedAdapters]).map(a=>(0,b.jsx)(_.CliBrandChip,{aiTool:a},a))]}),(0,b.jsxs)("div",{className:"min-h-10 space-y-2","data-testid":"provider-balance-row",children:[g?(0,b.jsx)("span",{className:"text-xs text-destructive",children:g}):e&&!e.supported?(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:u("models.balanceNotSupported")}):!e&&h?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,b.jsx)(m.RefreshCw,{className:"size-3 animate-spin"}),u("models.balanceLoading")]}):e?0===e.balances.length?(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:u("models.balanceEmpty")}):e.balances.map(a=>(0,b.jsx)(aG,{entry:a,t:u},`${a.label}-${a.resetsAt??""}`)):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:u("models.balanceNotQueried")}),e?.supported&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[h&&(0,b.jsx)(m.RefreshCw,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:A(e.checkedAt,w)})]})]})]})}),(0,b.jsx)(az,{provider:a,onApply:a=>p(a),onViewConfig:q}),(0,b.jsxs)(ae.Tabs,{defaultValue:"models",className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,b.jsxs)(ae.TabsList,{children:[(0,b.jsx)(ae.TabsTrigger,{value:"models",children:u("models.modelsWorkspace")}),(0,b.jsx)(ae.TabsTrigger,{value:"credentials",children:u("models.credentials")}),(0,b.jsx)(ae.TabsTrigger,{value:"diagnostics",children:u("models.diagnosticsTab")})]}),(0,b.jsx)(ae.TabsContent,{value:"models",className:"pt-4",children:(0,b.jsx)(aE,{...r,isSyncing:c,syncDisabled:d,onSync:l,t:u})}),(0,b.jsx)(ae.TabsContent,{value:"credentials",className:"pt-4",children:(0,b.jsx)(aB,{...s,t:u})}),(0,b.jsx)(ae.TabsContent,{value:"diagnostics",className:"pt-4",forceMount:!0,children:(0,b.jsx)(aD,{provider:a,t:u})})]})]})}function aG({entry:a,t:c}){let d=(0,Q.useUiLocale)(),e="%"===a.unit?B(100-a.remaining):void 0!==a.limit&&a.limit>0?B((1-a.remaining/a.limit)*100):void 0,f=!1===a.isAvailable,g=void 0!==e?`${Math.round(e)}%`:`${a.remaining} ${a.unit}`,h=void 0===e?"":e>=80?"bg-red-500":e>=50?"bg-amber-500":"bg-emerald-500";return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[(0,b.jsxs)("span",{className:f?"text-amber-700 dark:text-amber-300":"text-muted-foreground",children:[a.label,f?` \xb7 ${c("models.balanceUnavailable")}`:"",a.resetsAt?` \xb7 ${c("models.balanceResetsAt")}: ${A(a.resetsAt,d)}`:""]}),(0,b.jsx)("span",{className:`font-medium ${f?"text-amber-700 dark:text-amber-300":""}`,children:g})]}),void 0!==e&&(0,b.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-muted/40",children:(0,b.jsx)("div",{className:`h-full rounded-full transition-[width] duration-500 ${h}`,style:{width:`${e}%`}})})]})}function aH(a,b){return a instanceof Error?a.message:b}a.s(["default",0,function(){let{t:a}=(0,Q.useLanguage)(),h=(0,g.useQueryClient)(),m=(0,d.useRouter)(),n=(0,d.usePathname)(),o=(0,d.useSearchParams)(),[p,q]=(0,c.useState)(()=>o.get("provider")??""),[r,s]=(0,c.useState)(w),[u,v]=(0,c.useState)(y),[A,B]=(0,c.useState)(z),[C,D]=(0,c.useState)(""),[F,G]=(0,c.useState)(""),[H,I]=(0,c.useState)(""),[J,L]=(0,c.useState)(y),[M,O]=(0,c.useState)(null),[P,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)(null),[U,V]=(0,c.useState)({open:!1}),[X,Y]=(0,c.useState)({open:!1,adapter:"claude"}),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)(!1);function ab(a){q(a);let b=new URLSearchParams(o.toString());a?b.set("provider",a):b.delete("provider");let c=b.toString();m.replace(c?`${n}?${c}`:n,{scroll:!1})}let ac=(0,f.useQuery)({queryKey:["model-providers"],queryFn:t.listModelProviders}),ad=ac.data?.providers??[],ae=ac.data?.models??[],af=ac.data?.credentials??[],ag=(0,c.useMemo)(()=>{let a=H.trim().toLowerCase();return a?ad.filter(b=>[b.name,b.providerKey,b.baseUrl,b.apiFormat,b.opencodeNpm].filter(Boolean).join(" ").toLowerCase().includes(a)):ad},[H,ad]);(0,c.useEffect)(()=>{let a=ad[0];a&&(p&&ad.some(a=>a.id===p)||ab(a.id))},[ad,p]);let ai=ad.find(a=>a.id===p),aj=(0,c.useMemo)(()=>ae.filter(a=>a.providerProfileId===p),[ae,p]),ak=(0,c.useMemo)(()=>af.filter(a=>a.providerProfileId===p),[af,p]),al=(0,c.useMemo)(()=>aj.find(a=>a.id===C),[aj,C]),am=(0,c.useMemo)(()=>ak.find(a=>a.id===F),[ak,F]),an=(0,c.useMemo)(()=>{let a=new Map;for(let b of ae)a.set(b.providerProfileId,(a.get(b.providerProfileId)??0)+1);return a},[ae]);(0,c.useEffect)(()=>{D(a=>aj.some(b=>b.id===a)?a:aj[0]?.id||""),G(a=>ak.some(b=>b.id===a)?a:ak[0]?.id||"")},[aj,ak]),(0,c.useEffect)(()=>{if(al){let{checked:a,custom:b}=function(a){let b=new Set(E),c=[],d=[];for(let e of a)b.has(e)?c.push(e):d.push(e);return{checked:c,custom:d.join(",")}}(al.capabilities);B({name:al.name,modelId:al.modelId,capabilities:a,customCapabilities:b,contextWindow:al.contextWindow?String(al.contextWindow):"",supportEfforts:al.supportEfforts,defaultEffort:al.defaultEffort??""})}else B(z)},[al]),(0,c.useEffect)(()=>{am&&v(a=>({...a,label:am.label??""}))},[am]);let ap=(0,e.useMutation)({mutationFn:async()=>{let a,b=r.anthropicBaseUrl.trim(),c=r.openaiBaseUrl.trim(),d=await (0,t.createModelProvider)({name:r.name.trim(),providerKey:r.providerKey.trim(),authType:r.authType,apiFormat:r.apiFormat,baseUrl:x(r),...b?{anthropicBaseUrl:b}:{},...c?{openaiBaseUrl:c}:{},supportedAdapters:r.supportedAdapters,...r.allowPlaintextHttp?{allowPlaintextHttp:!0}:{},...r.allowPrivateNetworks?{allowPrivateNetworks:!0}:{}}),e=J.plaintextSecret.trim(),f="none"!==d.provider.authType&&e?(await (0,t.createProviderCredential)(d.provider.id,{label:J.label.trim()||void 0,plaintextSecret:e})).credential:void 0;if(f||"none"===d.provider.authType)try{await (0,t.syncProviderModels)(d.provider.id,{credentialId:f?.id})}catch(b){a=b}return{provider:d.provider,credential:f,syncError:a}},onSuccess:async b=>{ab(b.provider.id),G(b.credential?.id??""),D(""),s(w),L(y),R(!1),T(null),N.toast.success(a("models.providerCreated")),b.syncError&&N.toast.error(b.syncError instanceof Error?b.syncError.message:a("models.modelSyncFailed")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),ar=(0,e.useMutation)({mutationFn:async()=>{if(!S)throw Error(a("models.providerRequired"));let b=r.anthropicBaseUrl.trim(),c=r.openaiBaseUrl.trim();return(0,t.updateModelProvider)(S.id,{name:r.name.trim(),authType:r.authType,apiFormat:r.apiFormat,baseUrl:x(r),...b?{anthropicBaseUrl:b}:{},...c?{openaiBaseUrl:c}:{},supportedAdapters:r.supportedAdapters,...r.allowPlaintextHttp?{allowPlaintextHttp:!0}:{},...r.allowPrivateNetworks?{allowPrivateNetworks:!0}:{}})},onSuccess:async()=>{R(!1),T(null),s(w),N.toast.success(a("models.updated")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),as=(0,e.useMutation)({mutationFn:a=>(0,t.deleteModelProvider)(a),onSuccess:async(b,c)=>{O(null),ab(ad.find(a=>a.id!==c)?.id||""),D(""),G(""),N.toast.success(a("models.providerDeleted")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),at=(0,e.useMutation)({mutationFn:()=>(0,t.createProviderCredential)(p,{label:u.label.trim()||void 0,plaintextSecret:u.plaintextSecret}),onSuccess:async b=>{v(y),G(b.credential.id),N.toast.success(a("models.credentialSaved")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),au=(0,e.useMutation)({mutationFn:()=>{if(!F)throw Error(a("models.credentialRequired"));return(0,t.rotateProviderCredential)(p,F,{label:u.label.trim()||void 0,plaintextSecret:u.plaintextSecret})},onSuccess:async b=>{v(y),G(b.credential.id),aa(!1),N.toast.success(a("models.credentialRotated")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),av=(0,e.useMutation)({mutationFn:a=>(0,t.deleteProviderCredential)(p,a),onSuccess:async(b,c)=>{O(null),G(ak.find(a=>a.id!==c)?.id||""),v(y),N.toast.success("revoked"===b.disposition?a("models.credentialRevoked"):a("models.credentialDeleted")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),aw=()=>({name:A.name.trim(),modelId:A.modelId.trim(),capabilities:function(a,b){let c=[];for(let d of[...a,...function(a){let b=new Set;for(let c of a.split(",")){let a=c.trim();a&&b.add(a)}return[...b]}(b)])d&&!c.includes(d)&&c.push(d);return c}(A.capabilities,A.customCapabilities),supportEfforts:A.supportEfforts}),ax=(0,e.useMutation)({mutationFn:()=>(0,t.createProviderModel)(p,{...aw(),...A.contextWindow.trim()?{contextWindow:Number(A.contextWindow.trim())}:{},...A.defaultEffort?{defaultEffort:A.defaultEffort}:{}}),onSuccess:async b=>{B(z),D(b.model.id),$(!1),N.toast.success(a("models.modelProfileSaved")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),ay=(0,e.useMutation)({mutationFn:()=>{if(!C)throw Error(a("models.modelRequired"));return(0,t.updateProviderModel)(p,C,{...aw(),contextWindow:A.contextWindow.trim()?Number(A.contextWindow.trim()):null,defaultEffort:A.defaultEffort||null})},onSuccess:async b=>{D(b.model.id),$(!1),N.toast.success(a("models.updated")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),az=(0,e.useMutation)({mutationFn:a=>(0,t.deleteProviderModel)(p,a),onSuccess:async(b,c)=>{O(null);let d=aj.find(a=>a.id!==c)?.id||"";D(d),B(d?A:z),N.toast.success(a("models.deleted")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),aA=(0,e.useMutation)({mutationFn:a=>(0,t.setDefaultProviderModel)(p,a),onSuccess:async b=>{D(b.model.id),N.toast.success(a("models.defaultUpdated")),await aG()},onError:b=>N.toast.error(aH(b,a("models.failedLoad")))}),aB=as.isPending||az.isPending||av.isPending,aC=ak.find(a=>"active"===a.status),aD=(0,f.useQuery)({queryKey:["provider-balance",p,aC?.id??""],queryFn:()=>(0,t.checkProviderBalance)(p,aC?{credentialId:aC.id}:{}),enabled:!!ai&&(ai?.authType==="none"||!!aC),refetchInterval:a=>a.state.data?.supported!==!1&&6e4,retry:!1}),aE=(0,e.useMutation)({mutationFn:()=>{if(!ai)throw Error(a("models.providerRequired"));return(0,t.syncProviderModels)(ai.id,{credentialId:"none"===ai.authType?void 0:aC?.id})},onSuccess:async b=>{let c=b.createdCount+(b.updatedCount??0);N.toast.success(c>0?a("models.modelSyncComplete"):a("models.modelSyncNoChanges")),await aG()},onError:b=>N.toast.error(aH(b,a("models.modelSyncFailed")))});function aG(){return h.invalidateQueries({queryKey:["model-providers"]})}function aI(){T(null),s(w),L(y),R(!0)}function aJ(a){let b,c,d,e;T(a),s((b=a.anthropicBaseUrl??"",c=a.openaiBaseUrl??"",e=(d=a.baseUrl??"")&&!b&&!c?d:"",{name:a.name,providerKey:a.providerKey,apiFormat:a.apiFormat,authType:a.authType,baseUrl:d,anthropicBaseUrl:b||("anthropic"===a.apiFormat?e:""),openaiBaseUrl:c||("anthropic"===a.apiFormat?"":e),supportedAdapters:[...a.supportedAdapters],allowPlaintextHttp:a.allowPlaintextHttp??!1,allowPrivateNetworks:a.allowPrivateNetworks??!1})),L(y),R(!0)}return(0,b.jsxs)("div",{className:"mx-auto max-w-[1400px] space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 forgebadger-animate-in",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:a("models.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:a("models.providerCenterSubtitle")})]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"brand",onClick:aI,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("models.addProvider")]})})]}),ac.isError?(0,b.jsx)(l.QueryState,{isLoading:!1,isError:!0,isEmpty:!1,onRetry:()=>void ac.refetch(),empty:null}):(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[300px_minmax(0,1fr)]",children:[(0,b.jsx)("div",{className:"min-w-0 space-y-6",children:(0,b.jsx)(aq,{providers:ag,providerCount:ad.length,modelCounts:an,queryText:H,selectedProviderId:p,isLoading:ac.isLoading,onQueryTextChange:I,onSelectProvider:ab,onEditProvider:a=>{let b=ad.find(b=>b.id===a);b&&aJ(b)},t:a})}),(0,b.jsx)("div",{className:"min-w-0",children:ai?(0,b.jsx)(aF,{provider:ai,isSyncing:aE.isPending,syncDisabled:"none"!==ai.authType&&!aC,isDeletingProvider:as.isPending,onEditProvider:()=>aJ(ai),balance:aD.data??null,balanceError:aD.isError?aD.error instanceof Error?aD.error.message:a("models.balanceCheckFailed"):null,isCheckingBalance:aD.isFetching,onSync:()=>aE.mutate(),onCheckBalance:()=>void aD.refetch(),onDeleteProvider:()=>{O({kind:"provider",providerId:ai.id,name:ai.name})},onApplyToCli:a=>V({open:!0,adapter:a}),onViewCliConfig:a=>Y({open:!0,adapter:a}),modelsTab:{models:aj,selectedModelId:C,modelForm:A,dialogOpen:Z,isSaving:ax.isPending||ay.isPending,isSettingDefault:aA.isPending,isDeleting:az.isPending,onModelFormChange:B,onDialogOpenChange:$,onNewModel:function(){D(""),B(z),$(!0)},onEditModel:function(a){D(a),$(!0)},onSetDefault:a=>aA.mutate(a),onDeleteModel:a=>{O({kind:"model",modelId:a,name:aj.find(b=>b.id===a)?.name??a})},onSubmitModel:function(a){a.preventDefault(),C?ay.mutate():ax.mutate()}},credentialTab:{credentials:ak,selectedCredentialId:F,credentialForm:u,rotateDialogOpen:_,isSaving:at.isPending,isRotating:au.isPending,isDeleting:av.isPending,onCredentialFormChange:v,onRotateDialogOpenChange:aa,onSelectCredential:G,onSubmitCredential:function(a){a.preventDefault(),at.mutate()},onOpenRotate:function(a){G(a),v(a=>({...a,plaintextSecret:""})),aa(!0)},onConfirmRotate:()=>au.mutate(),onDeleteCredential:a=>{O({kind:"credential",credentialId:a,name:ak.find(b=>b.id===a)?.label??a})}},t:a}):0===ad.length?(0,b.jsxs)("div",{className:"flex min-h-[420px] flex-col items-center justify-center gap-4 rounded-lg border border-dashed border-border/70 bg-card/50 px-6 py-12 text-center forgebadger-animate-in",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(i,{className:"size-5"})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a("models.emptyWorkspaceTitle")}),(0,b.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:a("models.emptyProviders")})]}),(0,b.jsxs)(k.Button,{type:"button",size:"sm",variant:"brand",onClick:aI,children:[(0,b.jsx)(j.Plus,{className:"size-4"}),a("models.addProvider")]})]}):(0,b.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-border/70 bg-card/50 px-6 py-10 text-center forgebadger-animate-in",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground",children:(0,b.jsx)(i,{className:"size-5"})}),(0,b.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:a("models.noProviderSelected")})]})})]}),(0,b.jsx)(ah,{open:X.open,adapter:X.adapter,onOpenChange:a=>Y(b=>({...b,open:a}))}),(0,b.jsx)(K,{open:P,customProvider:r,setupCredential:J,isCreating:ap.isPending||ar.isPending,existing:S??void 0,onOpenChange:function(a){!a&&(ap.isPending||ar.isPending)||R(a)},onCustomProviderChange:s,onSetupCredentialChange:L,onSubmit:function(a){a.preventDefault(),S?ar.mutate():ap.mutate()},t:a}),(0,b.jsx)(ao,{target:M,isDeleting:aB,onOpenChange:a=>{a||aB||O(null)},onConfirm:function(){M&&("provider"===M.kind?as.mutate(M.providerId):"model"===M.kind?az.mutate(M.modelId):av.mutate(M.credentialId))},t:a}),ai?(0,b.jsx)(W,{provider:ai,models:aj,credentials:ak,open:U.open,initialAdapter:U.adapter,onOpenChange:a=>V(b=>({...b,open:a}))}):null]})}],76640)}];
2
2
 
3
3
  //# sourceMappingURL=packages_web_src_app_%28dashboard%29_models_page_tsx_0_ccn2i._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[70069,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(39747),e=a.i(6145),f=a.i(67123),g=a.i(14015),h=a.i(98568),h=h,i=a.i(60420),j=a.i(90259),k=a.i(94327),l=a.i(71700),m=a.i(97494),n=a.i(70458),o=a.i(35133),p=a.i(6023),q=a.i(23834),r=a.i(39042),s=a.i(90409),t=a.i(89738),u=a.i(79914),v=a.i(39465);function w({status:a}){let c=(0,t.normalizeSessionStatus)(a);return(0,b.jsx)("span",{className:(0,v.cn)("size-2 shrink-0 rounded-full","running"===c?"animate-pulse bg-emerald-400":"error"===c?"bg-red-400":"bg-muted-foreground/40")})}function x({status:a}){let{t:c}=(0,u.useLanguage)(),d=(0,t.normalizeSessionStatus)(a);return(0,b.jsx)("span",{className:(0,v.cn)("shrink-0 text-xs","running"===d?"text-emerald-400":"error"===d?"text-red-400":"text-muted-foreground"),children:c("running"===d?"sessions.running":"error"===d?"sessions.error":"sessions.stopped")})}a.s(["default",0,function(){var a,y,z,A,B;let C,D,E,F,G,H,I,J,K,{t:L}=(0,u.useLanguage)(),M=(0,d.useQuery)({queryKey:["dashboard-summary"],queryFn:r.getDashboardSummary}),N=(0,d.useQuery)({queryKey:["sessions"],queryFn:r.listSessions}),O=(0,d.useQuery)({queryKey:["projects"],queryFn:r.listProjects}),P=(0,d.useQuery)({queryKey:["dependencies"],queryFn:r.getDependencies}),Q=(0,d.useQuery)({queryKey:q.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:r.discoverAdapters}),R=N.data?.sessions??[],S=O.data?.projects??[],T=S[0],U=M.data?.stats,V=M.data?.health,W=P.data?.terminalRuntime,X=(0,s.getTerminalRuntimeRemediation)(W?.mode),Y=(0,s.getTerminalRuntimeSetupGuidance)(W?.mode,W?.supported),Z=P.isSuccess&&W?.supported===!0,$=P.isLoading?L("dashboard.statusLoading"):P.isError||!W?L("dashboard.dependenciesHealthUnavailable"):L(X.detailKey),_=!P.isLoading&&Y.blocked,aa=Q.data?.adapters??[],ab=aa.filter(r.isAdapterLaunchable).length,ac=Q.isSuccess&&ab>0,ad=Q.isLoading?L("dashboard.statusLoading"):Q.isError?L("dashboard.activationAdapterUnavailable"):ab>0?L("dashboard.adaptersHealthReady").replace("{count}",String(ab)):L("dashboard.activationAdapterMissing"),ae=U?.runningSessions??R.filter(a=>"running"===(0,t.normalizeSessionStatus)(a.status)).length,af=[{label:L("nav.projects"),value:U?.projects??0,icon:i.FolderOpen,href:"/projects"},{label:L("nav.sessions"),value:U?.sessions??0,sub:L("dashboard.runningNow").replace("{count}",String(ae)),icon:k.TerminalSquare,href:"/sessions"},{label:L("nav.skills"),value:U?.skills??0,icon:l.Wrench,href:"/skills"}],ag=R.slice(0,6),ah=U?.projects??S.length,ai=U?.sessions??R.length,aj=(a={terminalRuntime:W,dependenciesLoading:P.isLoading,dependenciesError:P.isError,adapters:aa,adaptersLoading:Q.isLoading,adaptersError:Q.isError,modelsHealthy:V?.models.healthy,modelsLoading:M.isLoading,modelsError:M.isError,projectCount:ah,sessionCount:ai,acceptedDeliveries:U?.acceptedDeliveries??0,firstProjectId:T?.id},D=!1===(C=(0,s.getTerminalRuntimeSetupGuidance)(a.terminalRuntime?.mode,a.terminalRuntime?.supported)).blocked,E=!a.adaptersLoading&&!a.adaptersError&&(a.adapters??[]).some(r.isAdapterLaunchable),F=a.projectCount>0,G=a.sessionCount>0,H=a.firstProjectId?`/projects/${a.firstProjectId}?tab=project-manager`:"/projects",K=!(J=(I=[{id:"runtime",labelKey:"dashboard.activationRuntime",detailKey:(y=a,z=C.descriptionKey,y.dependenciesLoading?"dashboard.activationRuntimeLoading":y.dependenciesError||!y.terminalRuntime?"dashboard.activationRuntimeUnavailable":z),done:D,action:{href:"/settings",labelKey:"dashboard.activationOpenSettings"}},{id:"adapter",labelKey:"dashboard.activationAdapter",detailKey:(A=a,B=E,A.adaptersLoading?"dashboard.activationAdapterLoading":A.adaptersError?"dashboard.activationAdapterUnavailable":B?"dashboard.activationAdapterReady":"dashboard.activationAdapterMissing"),done:E,action:{href:"/settings",labelKey:"dashboard.activationOpenSettings"}},{id:"model",labelKey:"dashboard.activationModel",detailKey:"dashboard.activationModelReady",done:!1,optional:!0,action:{href:"/models",labelKey:"dashboard.activationOpenModels"}},{id:"project",labelKey:"dashboard.activationProject",detailKey:F?"dashboard.firstRunProjectReady":"dashboard.firstRunProjectMissing",done:F,action:{href:"/projects/new",labelKey:"projects.create"}},{id:"session",labelKey:"dashboard.activationSession",detailKey:G?"dashboard.firstRunSessionReady":"dashboard.firstRunSessionMissing",done:G,optional:!0,action:{href:H,labelKey:"dashboard.activationStartDelivery"}},{id:"delivery",labelKey:"dashboard.activationDelivery",detailKey:(a.acceptedDeliveries??0)>0?"dashboard.activationDeliveryReady":"dashboard.activationDeliveryMissing",done:(a.acceptedDeliveries??0)>0,action:{href:"/projects",labelKey:"dashboard.activationStartDelivery"}}]).find(a=>!a.optional&&!a.done)),{steps:I,complete:K,currentStepId:J?.id??null,primaryAction:K?{href:"/projects",labelKey:"dashboard.activationContinueDelivery"}:J.action,secondaryActions:J?.id==="project"?[{href:"/projects/import",labelKey:"projects.import"}]:[]}),ak=!aj.complete,al=aj.steps.filter(a=>!a.optional),am=al.filter(a=>a.done).length,an=[{key:"runtime",label:L("dashboard.dependenciesHealth"),detail:$,healthy:Z,href:X.href},{key:"adapters",label:L("dashboard.adaptersHealth"),detail:ad,healthy:ac,href:"/settings"},{key:"models",label:L("dashboard.modelHealth"),detail:V?.models.message??L("dashboard.modelHealthDescription"),healthy:V?.models.healthy??!1,href:"/models"},{key:"config",label:L("dashboard.configHealth"),detail:V?.projectConfig.message??L("dashboard.configHealthDescription"),healthy:V?.projectConfig.healthy??!1,href:"/templates"},{key:"sessions",label:L("dashboard.sessionHealth"),detail:V?.sessions.message??L("dashboard.sessionHealthDescription"),healthy:V?.sessions.healthy??!1,href:"/sessions"},{key:"skills",label:L("dashboard.skillHealth"),detail:V?.skills.message??L("dashboard.skillHealthDescription"),healthy:V?.skills.healthy??!1,href:"/skills"}];return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:L("dashboard.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:L("dashboard.subtitle")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(m.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,b.jsxs)(c.default,{href:"/sessions",children:[(0,b.jsx)(j.Plus,{className:"size-4"}),L("projects.newSession")]})}),(0,b.jsx)(m.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsx)(c.default,{href:"/projects/new",children:L("projects.create")})})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:af.map((a,d)=>(0,b.jsx)(c.default,{href:a.href,className:"group forgebadger-animate-in",style:{animationDelay:`${50*d}ms`},children:(0,b.jsx)(n.Card,{className:"h-full transition-all duration-200 group-hover:-translate-y-0.5 group-hover:border-brand/40 group-hover:shadow-lg group-hover:shadow-brand/5",children:(0,b.jsxs)(n.CardContent,{className:"flex items-center gap-3 p-4",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(a.icon,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-2xl font-semibold leading-none",children:a.value}),(0,b.jsxs)("div",{className:"mt-1.5 truncate text-xs text-muted-foreground",children:[a.label,a.sub?(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:[" · ",a.sub]}):null]})]}),(0,b.jsx)(e.ArrowUpRight,{className:"size-4 shrink-0 text-muted-foreground/30 transition-colors group-hover:text-brand"})]})})},a.label))}),ak&&(0,b.jsxs)(n.Card,{className:"forgebadger-animate-in border-brand/30 bg-brand/5",children:[(0,b.jsx)(n.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(n.CardTitle,{className:"text-base",children:L("dashboard.firstRunTitle")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:L("dashboard.firstRunDescription")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("div",{className:"h-1.5 w-24 overflow-hidden rounded-full bg-muted",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-brand transition-all duration-500",style:{width:`${Math.round(am/al.length*100)}%`}})}),(0,b.jsxs)("span",{className:"tabular-nums",children:[am,"/",al.length]})]})]})}),(0,b.jsxs)(n.CardContent,{className:"space-y-4",children:[(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 xl:grid-cols-3",children:aj.steps.map(a=>(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-background/60 p-3",children:[a.done?(0,b.jsx)(f.CheckCircle2,{className:"mt-0.5 size-4 shrink-0 text-emerald-400"}):(0,b.jsx)(h.default,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground/40"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"text-sm font-medium",children:[L(a.labelKey),a.optional&&(0,b.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:L("dashboard.activationOptional")})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs leading-relaxed text-muted-foreground",children:L(a.detailKey)}),"runtime"===a.id&&_&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(p.RuntimeSetupCommands,{guidance:Y})})]})]},a.id))}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(m.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,b.jsx)(c.default,{href:aj.primaryAction.href,children:L(aj.primaryAction.labelKey)})}),aj.secondaryActions.map(a=>(0,b.jsx)(m.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsx)(c.default,{href:a.href,children:L(a.labelKey)})},a.href))]})]})]}),(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-5",children:[(0,b.jsxs)("section",{className:"space-y-3 xl:col-span-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold",children:L("dashboard.recentSessions")}),(0,b.jsx)(m.Button,{asChild:!0,variant:"ghost",size:"sm",className:"text-muted-foreground",children:(0,b.jsx)(c.default,{href:"/sessions",children:L("dashboard.viewAll")})})]}),0===ag.length?(0,b.jsx)(n.Card,{children:(0,b.jsxs)(n.CardContent,{className:"flex flex-col items-center gap-3 py-10 text-center",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(k.TerminalSquare,{className:"size-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:L("dashboard.noSessions")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:L("dashboard.emptySessionsDescription")})]}),(0,b.jsx)(m.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)(c.default,{href:"/sessions",children:[(0,b.jsx)(j.Plus,{className:"size-4"}),L("projects.newSession")]})})]})}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:ag.map((a,d)=>(0,b.jsxs)(c.default,{href:`/sessions/${a.id}`,className:"group flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40",style:{animationDelay:`${40*d}ms`},children:[(0,b.jsx)(w,{status:a.status}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.name||a.runtimeSessionName||a.id}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.projectName??"—"})]}),(0,b.jsx)(o.CliBrandChip,{aiTool:a.aiTool}),(0,b.jsx)(x,{status:a.status}),(0,b.jsx)(e.ArrowUpRight,{className:"size-4 shrink-0 text-muted-foreground/30 transition-colors group-hover:text-brand"})]},a.id))})]}),(0,b.jsxs)("section",{className:"space-y-3 xl:col-span-2",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold",children:L("dashboard.systemStatus")}),(0,b.jsx)(n.Card,{children:(0,b.jsx)(n.CardContent,{className:"space-y-0.5 p-2",children:an.map(a=>(0,b.jsxs)(c.default,{href:a.href,className:"flex items-center gap-3 rounded-md px-2.5 py-2 transition-colors hover:bg-muted/40",children:[(0,b.jsx)("span",{className:(0,v.cn)("size-1.5 shrink-0 rounded-full",a.healthy?"bg-emerald-400":"bg-amber-400")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-sm",children:a.label}),(0,b.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:a.detail})]}),(0,b.jsx)(g.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/30"})]},a.key))})})]})]})]})}],70069)}];
1
+ module.exports=[70069,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(72637),e=a.i(39747),f=a.i(6145),g=a.i(67123),h=a.i(14015),i=a.i(98568),i=i,j=a.i(60420),k=a.i(90259),l=a.i(94327),m=a.i(71700),n=a.i(97494),o=a.i(70458),p=a.i(67305),q=a.i(35133),r=a.i(6023),s=a.i(23834),t=a.i(39042),u=a.i(90409);let v="forgebadger.activation-dismissed";var w=a.i(89738),x=a.i(80658),y=a.i(79914);let z={health:{models:{ready:"已配置模型",host_environment:"可选:CLI 会话使用主机环境中配置的模型"},projectConfig:{ready:"项目可使用可用模板",create_project:"创建或导入项目"},sessions:{ready:"已有会话",create_session:"从项目创建会话"},skills:{ready:"已配置 Skill",create_skill:"创建 Skill"}}},A={health:{models:{ready:"Models are configured",host_environment:"Optional: CLI sessions use models configured in the host environment"},projectConfig:{ready:"Projects can use available templates",create_project:"Create or import a project"},sessions:{ready:"Sessions exist",create_session:"Create a session from a project"},skills:{ready:"Skills are configured",create_skill:"Create a Skill"}}},B={health:{models:{ready:"已設定模型",host_environment:"可選:CLI 會話使用主機環境中設定的模型"},projectConfig:{ready:"專案可使用可用範本",create_project:"建立或匯入專案"},sessions:{ready:"已有會話",create_session:"從專案建立會話"},skills:{ready:"已設定 Skill",create_skill:"建立 Skill"}}};function C(a,b,c,d){return(c?a.health[b]?.[c]:void 0)??d??c??""}var D=a.i(39465);function E({status:a}){let c=(0,w.normalizeSessionStatus)(a);return(0,b.jsx)("span",{className:(0,D.cn)("size-2 shrink-0 rounded-full","running"===c?"animate-pulse bg-emerald-400":"error"===c?"bg-red-400":"lost"===c?"bg-amber-400":"bg-muted-foreground/40")})}function F({status:a}){let{t:c}=(0,y.useLanguage)(),d=(0,w.normalizeSessionStatus)(a);return(0,b.jsx)("span",{className:(0,D.cn)("shrink-0 text-xs","running"===d?"text-emerald-400":"error"===d?"text-red-400":"lost"===d?"text-amber-400":"text-muted-foreground"),children:c("running"===d?"sessions.running":"error"===d?"sessions.error":"lost"===d?"sessions.lost":"sessions.stopped")})}a.s(["default",0,function(){var a,G,H,I,J;let K,L,M,N,O,P,Q,R,S,{t:T,language:U}=(0,y.useLanguage)(),V=function(){let{language:a}=(0,y.useLanguage)();return"en"===a?A:"zh-TW"===a?B:z}(),[W,X]=(0,c.useState)(null);(0,c.useEffect)(()=>{X(Date.now());let a=window.setInterval(()=>X(Date.now()),6e4);return()=>window.clearInterval(a)},[]);let Y=(0,e.useQuery)({queryKey:["dashboard-summary"],queryFn:t.getDashboardSummary}),Z=(0,e.useQuery)({queryKey:["sessions"],queryFn:t.listSessions}),$=(0,e.useQuery)({queryKey:["projects"],queryFn:t.listProjects}),_=(0,e.useQuery)({queryKey:["dependencies"],queryFn:t.getDependencies}),aa=(0,e.useQuery)({queryKey:s.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:t.discoverAdapters}),ab=Z.data?.sessions??[],ac=$.data?.projects??[],ad=ac[0],ae=Y.data?.stats,af=Y.data?.health,ag=_.data?.terminalRuntime,ah=(0,u.getTerminalRuntimeRemediation)(ag?.mode),ai=(0,u.getTerminalRuntimeSetupGuidance)(ag?.mode,ag?.supported),aj=_.isSuccess&&ag?.supported===!0,ak=_.isLoading?T("dashboard.statusLoading"):_.isError||!ag?T("dashboard.dependenciesHealthUnavailable"):T(ah.detailKey),al=!_.isLoading&&ai.blocked,am=aa.data?.adapters??[],an=am.filter(t.isAdapterLaunchable).length,ao=aa.isSuccess&&an>0,ap=aa.isLoading?T("dashboard.statusLoading"):aa.isError?T("dashboard.activationAdapterUnavailable"):an>0?T("dashboard.adaptersHealthReady").replace("{count}",String(an)):T("dashboard.activationAdapterMissing"),aq=ae?.runningSessions??ab.filter(a=>"running"===(0,w.normalizeSessionStatus)(a.status)).length,ar=Y.isError,as=[{label:T("nav.projects"),value:ae?.projects??(ar?"—":0),icon:j.FolderOpen,href:"/projects"},{label:T("nav.sessions"),value:ae?.sessions??(ar?"—":0),sub:T("dashboard.runningNow").replace("{count}",String(aq)),icon:l.TerminalSquare,href:"/sessions"},{label:T("nav.skills"),value:ae?.skills??(ar?"—":0),icon:m.Wrench,href:"/skills"}],at=ab.slice(0,6),au=ae?.projects??ac.length,av=ae?.sessions??ab.length,aw=(a={terminalRuntime:ag,dependenciesLoading:_.isLoading,dependenciesError:_.isError,adapters:am,adaptersLoading:aa.isLoading,adaptersError:aa.isError,projectCount:au,sessionCount:av,acceptedDeliveries:ae?.acceptedDeliveries??0,firstProjectId:ad?.id},L=!1===(K=(0,u.getTerminalRuntimeSetupGuidance)(a.terminalRuntime?.mode,a.terminalRuntime?.supported)).blocked,M=!a.adaptersLoading&&!a.adaptersError&&(a.adapters??[]).some(t.isAdapterLaunchable),N=a.projectCount>0,O=a.sessionCount>0,P=a.firstProjectId?`/projects/${a.firstProjectId}?tab=project-manager`:"/projects",S=!(R=(Q=[{id:"runtime",labelKey:"dashboard.activationRuntime",detailKey:(G=a,H=K.descriptionKey,G.dependenciesLoading?"dashboard.activationRuntimeLoading":G.dependenciesError||!G.terminalRuntime?"dashboard.activationRuntimeUnavailable":H),done:L,action:{href:"/settings",labelKey:"dashboard.activationOpenSettings"}},{id:"adapter",labelKey:"dashboard.activationAdapter",detailKey:(I=a,J=M,I.adaptersLoading?"dashboard.activationAdapterLoading":I.adaptersError?"dashboard.activationAdapterUnavailable":J?"dashboard.activationAdapterReady":"dashboard.activationAdapterMissing"),done:M,action:{href:"/settings",labelKey:"dashboard.activationOpenSettings"}},{id:"project",labelKey:"dashboard.activationProject",detailKey:N?"dashboard.firstRunProjectReady":"dashboard.firstRunProjectMissing",done:N,action:{href:"/projects/new",labelKey:"projects.create"}},{id:"session",labelKey:"dashboard.activationSession",detailKey:O?"dashboard.firstRunSessionReady":"dashboard.firstRunSessionMissing",done:O,optional:!0,action:{href:P,labelKey:"dashboard.activationStartDelivery"}},{id:"delivery",labelKey:"dashboard.activationDelivery",detailKey:(a.acceptedDeliveries??0)>0?"dashboard.activationDeliveryReady":"dashboard.activationDeliveryMissing",done:(a.acceptedDeliveries??0)>0,optional:!0,action:{href:"/projects",labelKey:"dashboard.activationStartDelivery"}}]).find(a=>!a.optional&&!a.done)),{steps:Q,complete:S,currentStepId:R?.id??null,primaryAction:S?{href:"/projects",labelKey:"dashboard.activationContinueDelivery"}:R.action,secondaryActions:R?.id==="project"?[{href:"/projects/import",labelKey:"projects.import"}]:[]}),[ax,ay]=(0,c.useState)(!0);(0,c.useEffect)(()=>{ay(function(){try{return"1"===window.localStorage.getItem(v)}catch{return!1}}())},[]);let az=!aw.complete&&!ax,aA=aw.steps.filter(a=>!a.optional),aB=aA.filter(a=>a.done).length,aC=[{key:"runtime",label:T("dashboard.dependenciesHealth"),detail:ak,healthy:aj,href:ah.href},{key:"adapters",label:T("dashboard.adaptersHealth"),detail:ap,healthy:ao,href:"/settings"},{key:"models",label:T("dashboard.modelHealth"),detail:C(V,"models",af?.models.code,af?.models.message)||T("dashboard.modelHealthDescription"),healthy:af?.models.healthy??!1,href:"/models"},{key:"config",label:T("dashboard.configHealth"),detail:C(V,"projectConfig",af?.projectConfig.code,af?.projectConfig.message)||T("dashboard.configHealthDescription"),healthy:af?.projectConfig.healthy??!1,href:"/templates"},{key:"sessions",label:T("dashboard.sessionHealth"),detail:C(V,"sessions",af?.sessions.code,af?.sessions.message)||T("dashboard.sessionHealthDescription"),healthy:af?.sessions.healthy??!1,href:"/sessions"},{key:"skills",label:T("dashboard.skillHealth"),detail:C(V,"skills",af?.skills.code,af?.skills.message)||T("dashboard.skillHealthDescription"),healthy:af?.skills.healthy??!1,href:"/skills"}];return(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:T("dashboard.title")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:T("dashboard.subtitle")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(n.Button,{asChild:!0,size:"sm",variant:"brand",children:(0,b.jsxs)(d.default,{href:"/sessions",children:[(0,b.jsx)(k.Plus,{className:"size-4"}),T("dashboard.openSessions")]})}),(0,b.jsx)(n.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsx)(d.default,{href:"/projects/new",children:T("projects.create")})})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:as.map((a,c)=>(0,b.jsx)(d.default,{href:a.href,className:"group forgebadger-animate-in",style:{animationDelay:`${50*c}ms`},children:(0,b.jsx)(o.Card,{className:"h-full transition-all duration-200 group-hover:-translate-y-0.5 group-hover:border-brand/40 group-hover:shadow-lg group-hover:shadow-brand/5",children:(0,b.jsxs)(o.CardContent,{className:"flex items-center gap-3 p-4",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(a.icon,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-2xl font-semibold leading-none",children:a.value}),(0,b.jsxs)("div",{className:"mt-1.5 truncate text-xs text-muted-foreground",children:[a.label,a.sub?(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:[" · ",a.sub]}):null]})]}),(0,b.jsx)(f.ArrowUpRight,{className:"size-4 shrink-0 text-muted-foreground/30 transition-colors group-hover:text-brand"})]})})},a.label))}),az&&(0,b.jsxs)(o.Card,{className:"forgebadger-animate-in border-brand/30 bg-brand/5",children:[(0,b.jsx)(o.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(o.CardTitle,{className:"text-base",children:T("dashboard.firstRunTitle")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:T("dashboard.firstRunDescription")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("div",{className:"h-1.5 w-24 overflow-hidden rounded-full bg-muted",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-brand transition-all duration-500",style:{width:`${Math.round(aB/aA.length*100)}%`}})}),(0,b.jsxs)("span",{className:"tabular-nums",children:[aB,"/",aA.length]})]})]})}),(0,b.jsxs)(o.CardContent,{className:"space-y-4",children:[(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 xl:grid-cols-3",children:aw.steps.map(a=>(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-background/60 p-3",children:[a.done?(0,b.jsx)(g.CheckCircle2,{className:"mt-0.5 size-4 shrink-0 text-emerald-400"}):(0,b.jsx)(i.default,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground/40"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"text-sm font-medium",children:[T(a.labelKey),a.optional&&(0,b.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:T("dashboard.activationOptional")})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs leading-relaxed text-muted-foreground",children:T(a.detailKey)}),"runtime"===a.id&&al&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(r.RuntimeSetupCommands,{guidance:ai})})]})]},a.id))}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(n.Button,{asChild:!0,size:"sm",variant:"brand",children:(0,b.jsx)(d.default,{href:aw.primaryAction.href,children:T(aw.primaryAction.labelKey)})}),aw.secondaryActions.map(a=>(0,b.jsx)(n.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsx)(d.default,{href:a.href,children:T(a.labelKey)})},a.href)),(0,b.jsx)(n.Button,{size:"sm",variant:"ghost",className:"text-muted-foreground",onClick:()=>{!function(){try{window.localStorage.setItem(v,"1")}catch{return!1}}(),ay(!0)},children:T("dashboard.activationDismiss")})]})]})]}),(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-5",children:[(0,b.jsxs)("section",{className:"space-y-3 xl:col-span-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold",children:T("dashboard.recentSessions")}),(0,b.jsx)(n.Button,{asChild:!0,variant:"ghost",size:"sm",className:"text-muted-foreground",children:(0,b.jsx)(d.default,{href:"/sessions",children:T("dashboard.viewAll")})})]}),Z.isError?(0,b.jsx)(p.QueryState,{isLoading:!1,isError:!0,isEmpty:!1,onRetry:()=>void Z.refetch(),empty:null}):0===at.length?(0,b.jsx)(o.Card,{children:(0,b.jsxs)(o.CardContent,{className:"flex flex-col items-center gap-3 py-10 text-center",children:[(0,b.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,b.jsx)(l.TerminalSquare,{className:"size-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:T("dashboard.noSessions")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:T("dashboard.emptySessionsDescription")})]}),(0,b.jsx)(n.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,b.jsxs)(d.default,{href:"/sessions",children:[(0,b.jsx)(k.Plus,{className:"size-4"}),T("projects.newSession")]})})]})}):(0,b.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:at.map((a,c)=>{let e=null===W?null:(0,x.formatSessionRelativeTime)(a,W,U);return(0,b.jsxs)(d.default,{href:`/sessions/${a.id}`,className:"group flex items-center gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40",style:{animationDelay:`${40*c}ms`},children:[(0,b.jsx)(E,{status:a.status}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.name||a.runtimeSessionName||a.id}),(0,b.jsxs)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:[a.projectName??"—",e?` \xb7 ${e}`:""]})]}),(0,b.jsx)(q.CliBrandChip,{aiTool:a.aiTool}),(0,b.jsx)("span",{className:"hidden sm:inline",children:(0,b.jsx)(F,{status:a.status})}),(0,b.jsx)(f.ArrowUpRight,{className:"size-4 shrink-0 text-muted-foreground/30 transition-colors group-hover:text-brand"})]},a.id)})})]}),(0,b.jsxs)("section",{className:"space-y-3 xl:col-span-2",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold",children:T("dashboard.systemStatus")}),(0,b.jsx)(o.Card,{children:(0,b.jsx)(o.CardContent,{className:"space-y-0.5 p-2",children:aC.map(a=>(0,b.jsxs)(d.default,{href:a.href,className:"flex items-center gap-3 rounded-md px-2.5 py-2 transition-colors hover:bg-muted/40",children:[(0,b.jsx)("span",{className:(0,D.cn)("size-1.5 shrink-0 rounded-full",a.healthy?"bg-emerald-400":"bg-amber-400")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-sm",children:a.label}),(0,b.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:a.detail})]}),(0,b.jsx)(h.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/30"})]},a.key))})})]})]})]})}],70069)}];
2
2
 
3
3
  //# sourceMappingURL=packages_web_src_app_%28dashboard%29_page_tsx_04lc303._.js.map