forgebadger 0.1.2 → 0.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/README.md +11 -5
  2. package/dist/gateway/src/cli/init.js +9 -4
  3. package/dist/gateway/src/cli/init.js.map +1 -1
  4. package/dist/gateway/src/config/env.d.ts +0 -7
  5. package/dist/gateway/src/config/env.js +1 -9
  6. package/dist/gateway/src/config/env.js.map +1 -1
  7. package/dist/gateway/src/db/migrations/0129_session_notification_type.sql +4 -0
  8. package/dist/gateway/src/db/migrations/0130_template_adapter_backfill.sql +4 -0
  9. package/dist/gateway/src/db/migrations/0131_single_project_autonomy.sql +7 -0
  10. package/dist/gateway/src/db/migrations/0132_api_format_protocol_values.sql +29 -0
  11. package/dist/gateway/src/db/migrations/0133_copilot_run_trace.sql +16 -0
  12. package/dist/gateway/src/db/migrations/0134_drop_copilot_project_autonomy.sql +5 -0
  13. package/dist/gateway/src/db/migrations/meta/_journal.json +42 -0
  14. package/dist/gateway/src/db/migrations/meta/migration-checksums.json +7 -1
  15. package/dist/gateway/src/db/repositories/mcp-session-observation-repository.d.ts +18 -0
  16. package/dist/gateway/src/db/repositories/mcp-session-observation-repository.js +40 -0
  17. package/dist/gateway/src/db/repositories/mcp-session-observation-repository.js.map +1 -0
  18. package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +2 -1
  19. package/dist/gateway/src/db/repositories/mcp-token-repository.js +7 -1
  20. package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
  21. package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +7 -1
  22. package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
  23. package/dist/gateway/src/db/repositories/notification-repository.js +1 -1
  24. package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
  25. package/dist/gateway/src/db/repositories/project-management-repository.d.ts +1 -2
  26. package/dist/gateway/src/db/repositories/project-management-repository.js +6 -6
  27. package/dist/gateway/src/db/repositories/project-management-repository.js.map +1 -1
  28. package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
  29. package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
  30. package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
  31. package/dist/gateway/src/db/repositories/project-repository.d.ts +0 -3
  32. package/dist/gateway/src/db/repositories/project-repository.js +0 -16
  33. package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
  34. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +2 -2
  35. package/dist/gateway/src/db/schema.d.ts +160 -34
  36. package/dist/gateway/src/db/schema.js +9 -4
  37. package/dist/gateway/src/db/schema.js.map +1 -1
  38. package/dist/gateway/src/lib/terminal-wheel-input.d.ts +2 -0
  39. package/dist/gateway/src/lib/terminal-wheel-input.js +5 -0
  40. package/dist/gateway/src/lib/terminal-wheel-input.js.map +1 -0
  41. package/dist/gateway/src/mvp0/api.d.ts +1 -1
  42. package/dist/gateway/src/mvp0/api.js +1 -1
  43. package/dist/gateway/src/mvp0/api.js.map +1 -1
  44. package/dist/gateway/src/routes/copilot.js +9 -0
  45. package/dist/gateway/src/routes/copilot.js.map +1 -1
  46. package/dist/gateway/src/routes/mcp-tokens.js +44 -3
  47. package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
  48. package/dist/gateway/src/routes/model-providers.js +58 -1
  49. package/dist/gateway/src/routes/model-providers.js.map +1 -1
  50. package/dist/gateway/src/routes/project-management.js +0 -21
  51. package/dist/gateway/src/routes/project-management.js.map +1 -1
  52. package/dist/gateway/src/routes/session-hooks.d.ts +2 -2
  53. package/dist/gateway/src/routes/session-hooks.js +50 -53
  54. package/dist/gateway/src/routes/session-hooks.js.map +1 -1
  55. package/dist/gateway/src/routes/sessions.js +1 -3
  56. package/dist/gateway/src/routes/sessions.js.map +1 -1
  57. package/dist/gateway/src/routes/templates.js +3 -3
  58. package/dist/gateway/src/routes/templates.js.map +1 -1
  59. package/dist/gateway/src/runtime/start-gateway.js +1 -3
  60. package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
  61. package/dist/gateway/src/server.d.ts +2 -2
  62. package/dist/gateway/src/server.js +14 -14
  63. package/dist/gateway/src/server.js.map +1 -1
  64. package/dist/gateway/src/services/agent/context-recovery.js +5 -4
  65. package/dist/gateway/src/services/agent/context-recovery.js.map +1 -1
  66. package/dist/gateway/src/services/agent/context.d.ts +9 -8
  67. package/dist/gateway/src/services/agent/context.js +16 -19
  68. package/dist/gateway/src/services/agent/context.js.map +1 -1
  69. package/dist/gateway/src/services/agent/dispatch-supervisor.js +1 -1
  70. package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -1
  71. package/dist/gateway/src/services/agent/followups.js +2 -0
  72. package/dist/gateway/src/services/agent/followups.js.map +1 -1
  73. package/dist/gateway/src/services/agent/llm-client.d.ts +0 -2
  74. package/dist/gateway/src/services/agent/llm-client.js +12 -12
  75. package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
  76. package/dist/gateway/src/services/agent/orchestrator-types.d.ts +1 -0
  77. package/dist/gateway/src/services/agent/orchestrator.js +59 -27
  78. package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
  79. package/dist/gateway/src/services/agent/redaction.js +1 -1
  80. package/dist/gateway/src/services/agent/redaction.js.map +1 -1
  81. package/dist/gateway/src/services/agent/restricted-runs.d.ts +1 -0
  82. package/dist/gateway/src/services/agent/restricted-runs.js +2 -3
  83. package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -1
  84. package/dist/gateway/src/services/agent/run-authorization.d.ts +38 -0
  85. package/dist/gateway/src/services/agent/run-authorization.js +65 -0
  86. package/dist/gateway/src/services/agent/run-authorization.js.map +1 -0
  87. package/dist/gateway/src/services/agent/run-governance.js +7 -2
  88. package/dist/gateway/src/services/agent/run-governance.js.map +1 -1
  89. package/dist/gateway/src/services/agent/run-ledger.d.ts +2 -0
  90. package/dist/gateway/src/services/agent/run-ledger.js +48 -13
  91. package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
  92. package/dist/gateway/src/services/agent/run-trace.d.ts +25 -0
  93. package/dist/gateway/src/services/agent/run-trace.js +42 -0
  94. package/dist/gateway/src/services/agent/run-trace.js.map +1 -0
  95. package/dist/gateway/src/services/agent/security-policy.js +7 -2
  96. package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
  97. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +17 -0
  98. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -1
  99. package/dist/gateway/src/services/agent/skills/copilot-skills.js +9 -11
  100. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  101. package/dist/gateway/src/services/agent/task-review.js +2 -1
  102. package/dist/gateway/src/services/agent/task-review.js.map +1 -1
  103. package/dist/gateway/src/services/agent/token-estimate.d.ts +36 -0
  104. package/dist/gateway/src/services/agent/token-estimate.js +79 -0
  105. package/dist/gateway/src/services/agent/token-estimate.js.map +1 -0
  106. package/dist/gateway/src/services/agent/tool-availability.d.ts +2 -5
  107. package/dist/gateway/src/services/agent/tool-availability.js +7 -14
  108. package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
  109. package/dist/gateway/src/services/agent/tool-surface.d.ts +50 -0
  110. package/dist/gateway/src/services/agent/tool-surface.js +78 -0
  111. package/dist/gateway/src/services/agent/tool-surface.js.map +1 -0
  112. package/dist/gateway/src/services/agent/tools/platform-coverage.js +3 -6
  113. package/dist/gateway/src/services/agent/tools/platform-coverage.js.map +1 -1
  114. package/dist/gateway/src/services/agent/tools/platform-management.js +3 -3
  115. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  116. package/dist/gateway/src/services/agent/tools/project-manager.js +1 -1
  117. package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
  118. package/dist/gateway/src/services/agent/tools/sessions.js +5 -1
  119. package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
  120. package/dist/gateway/src/services/agent/tools/terminal.js +3 -4
  121. package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -1
  122. package/dist/gateway/src/services/channels/channel-diagnostics.js +5 -13
  123. package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -1
  124. package/dist/gateway/src/services/channels/channel-identity-service.js +1 -1
  125. package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
  126. package/dist/gateway/src/services/channels/channel-run-scope.d.ts +2 -4
  127. package/dist/gateway/src/services/channels/channel-run-scope.js +33 -20
  128. package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -1
  129. package/dist/gateway/src/services/claude-notification-settings.js +15 -7
  130. package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
  131. package/dist/gateway/src/services/claude-route/gateway-url.js +1 -1
  132. package/dist/gateway/src/services/claude-route/gateway-url.js.map +1 -1
  133. package/dist/gateway/src/services/cli-config-apply.d.ts +7 -7
  134. package/dist/gateway/src/services/cli-config-apply.js +49 -34
  135. package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
  136. package/dist/gateway/src/services/cli-config.js +3 -2
  137. package/dist/gateway/src/services/cli-config.js.map +1 -1
  138. package/dist/gateway/src/services/cli-notification-settings.js +2 -2
  139. package/dist/gateway/src/services/development/authority.js +2 -5
  140. package/dist/gateway/src/services/development/authority.js.map +1 -1
  141. package/dist/gateway/src/services/development/repair-scope.js +2 -9
  142. package/dist/gateway/src/services/development/repair-scope.js.map +1 -1
  143. package/dist/gateway/src/services/event-bus.d.ts +3 -3
  144. package/dist/gateway/src/services/event-bus.js +1 -1
  145. package/dist/gateway/src/services/event-bus.js.map +1 -1
  146. package/dist/gateway/src/services/mcp/lifecycle-tools.d.ts +3 -0
  147. package/dist/gateway/src/services/mcp/lifecycle-tools.js +29 -0
  148. package/dist/gateway/src/services/mcp/lifecycle-tools.js.map +1 -0
  149. package/dist/gateway/src/services/mcp/lifecycle.d.ts +480 -0
  150. package/dist/gateway/src/services/mcp/lifecycle.js +216 -0
  151. package/dist/gateway/src/services/mcp/lifecycle.js.map +1 -0
  152. package/dist/gateway/src/services/mcp/mcp-server.js +45 -13
  153. package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
  154. package/dist/gateway/src/services/native-directory-picker.js +42 -12
  155. package/dist/gateway/src/services/native-directory-picker.js.map +1 -1
  156. package/dist/gateway/src/services/notification-dedupe.d.ts +1 -1
  157. package/dist/gateway/src/services/notification-dedupe.js +1 -1
  158. package/dist/gateway/src/services/notification-events.js +10 -12
  159. package/dist/gateway/src/services/notification-events.js.map +1 -1
  160. package/dist/gateway/src/services/notifications/feishu-notification-card.js +2 -2
  161. package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -1
  162. package/dist/gateway/src/services/notifications/feishu-notifications.js +1 -1
  163. package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -1
  164. package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
  165. package/dist/gateway/src/services/opencode-notification-settings.js +1 -1
  166. package/dist/gateway/src/services/platform-commands/actions.js +2 -10
  167. package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
  168. package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
  169. package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
  170. package/dist/gateway/src/services/platform-commands/catalog.js +2 -5
  171. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  172. package/dist/gateway/src/services/platform-commands/tool-commands.js +4 -0
  173. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  174. package/dist/gateway/src/services/platform-commands/types.d.ts +2 -0
  175. package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +1 -1
  176. package/dist/gateway/src/services/programmatic-terminal-submit.js +75 -28
  177. package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
  178. package/dist/gateway/src/services/project-config-files.d.ts +1 -1
  179. package/dist/gateway/src/services/project-config-files.js +11 -2
  180. package/dist/gateway/src/services/project-config-files.js.map +1 -1
  181. package/dist/gateway/src/services/project-config-render.js +10 -3
  182. package/dist/gateway/src/services/project-config-render.js.map +1 -1
  183. package/dist/gateway/src/services/project-manager/access.js +1 -1
  184. package/dist/gateway/src/services/project-manager/access.js.map +1 -1
  185. package/dist/gateway/src/services/project-manager/management.d.ts +1 -6
  186. package/dist/gateway/src/services/project-manager/management.js +2 -6
  187. package/dist/gateway/src/services/project-manager/management.js.map +1 -1
  188. package/dist/gateway/src/services/project-manager/task-execution.js +0 -3
  189. package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -1
  190. package/dist/gateway/src/services/provider-capabilities.js +7 -7
  191. package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
  192. package/dist/gateway/src/services/runtime-settings.d.ts +2 -3
  193. package/dist/gateway/src/services/runtime-settings.js +1 -17
  194. package/dist/gateway/src/services/runtime-settings.js.map +1 -1
  195. package/dist/gateway/src/services/session-launch-plan.js +1 -1
  196. package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
  197. package/dist/gateway/src/services/session-manager.d.ts +9 -0
  198. package/dist/gateway/src/services/session-manager.js +51 -7
  199. package/dist/gateway/src/services/session-manager.js.map +1 -1
  200. package/dist/gateway/src/services/session-stop-target.js +10 -2
  201. package/dist/gateway/src/services/session-stop-target.js.map +1 -1
  202. package/dist/gateway/src/services/template-git-import.d.ts +1 -1
  203. package/dist/gateway/src/services/template-git-import.js +3 -2
  204. package/dist/gateway/src/services/template-git-import.js.map +1 -1
  205. package/dist/gateway/src/services/terminal-notification-ingestion.js +2 -2
  206. package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -1
  207. package/dist/gateway/src/websocket/events.js +2 -2
  208. package/dist/gateway/src/websocket/events.js.map +1 -1
  209. package/dist/gateway/src/websocket/terminal.d.ts +1 -1
  210. package/dist/gateway/src/websocket/terminal.js +3 -6
  211. package/dist/gateway/src/websocket/terminal.js.map +1 -1
  212. package/dist/runtime/backup.js +1 -1
  213. package/dist/runtime/config.js +2 -2
  214. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  215. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  216. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +4 -4
  217. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
  218. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  219. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +4 -4
  220. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
  221. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  222. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +4 -4
  223. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
  224. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  225. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +4 -4
  226. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
  227. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  228. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +4 -4
  229. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
  230. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  231. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +4 -4
  232. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
  233. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  234. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +4 -4
  235. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
  236. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  237. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +4 -4
  238. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
  239. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  240. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +4 -4
  241. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
  242. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  243. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +4 -4
  244. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
  245. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  246. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +4 -4
  247. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
  248. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  249. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +4 -4
  250. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  251. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  252. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +4 -4
  253. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
  254. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  255. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +4 -4
  256. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
  257. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  258. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +4 -4
  259. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
  260. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  261. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +4 -4
  262. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  263. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  264. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +4 -4
  265. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
  266. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  267. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +4 -4
  268. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
  269. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  270. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +4 -4
  271. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  272. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  273. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +4 -4
  274. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -1
  275. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +1 -1
  276. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +4 -4
  277. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
  278. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  279. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +4 -4
  280. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  281. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  282. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +4 -4
  283. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -1
  284. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +1 -1
  285. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +4 -4
  286. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
  287. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  288. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +4 -4
  289. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
  290. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  291. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +4 -4
  292. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
  293. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  294. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +4 -4
  295. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
  296. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  297. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +4 -4
  298. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
  299. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  300. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +4 -4
  301. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
  302. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  303. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  304. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  305. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  306. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  307. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  308. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  309. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  310. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  311. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  312. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  313. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  314. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  315. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  316. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  317. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  318. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  319. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  320. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  321. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +14 -14
  322. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  323. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  324. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  325. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +14 -14
  326. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  327. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  328. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  329. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  330. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +16 -16
  331. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  332. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  333. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  334. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  335. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +16 -16
  336. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  337. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  338. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  339. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  340. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +16 -16
  341. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  342. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  343. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  344. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  345. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +16 -16
  346. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  347. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  348. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  349. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  350. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +16 -16
  351. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  352. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  353. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  354. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  355. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +16 -16
  356. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  357. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  358. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  359. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  360. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +16 -16
  361. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  362. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  363. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  364. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  365. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +16 -16
  366. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  367. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  368. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  369. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  370. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +17 -17
  371. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  372. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  373. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  374. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +17 -17
  375. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  376. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  377. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  378. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
  379. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  380. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  381. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
  382. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
  383. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  384. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  385. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  386. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  387. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  388. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  389. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +17 -17
  390. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  391. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  392. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  393. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +17 -17
  394. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  395. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  396. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  397. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  398. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +17 -17
  399. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  400. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  401. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +17 -17
  402. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  403. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  404. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  405. package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
  406. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  407. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  408. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  409. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  410. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  411. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  412. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  413. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  414. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  415. package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
  416. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  417. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  418. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
  419. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
  420. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  421. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  422. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  423. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  424. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  425. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  426. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +17 -17
  427. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  428. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  429. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  430. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +17 -17
  431. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  432. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  433. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  434. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  435. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +17 -17
  436. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  437. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  438. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  439. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +17 -17
  440. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  441. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  442. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  443. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  444. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +17 -17
  445. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  446. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  447. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  448. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +17 -17
  449. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  450. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  451. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  452. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  453. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +17 -17
  454. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  455. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  456. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  457. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  458. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +17 -17
  459. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  460. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  461. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  462. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  463. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +17 -17
  464. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  465. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  466. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  467. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  468. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +17 -17
  469. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  470. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  471. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  472. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  473. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +16 -16
  474. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  475. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  476. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  477. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +16 -16
  478. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  479. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  480. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  481. package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
  482. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  483. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  484. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
  485. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
  486. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  487. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  488. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  489. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  490. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  491. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  492. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +17 -17
  493. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  494. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  495. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  496. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +17 -17
  497. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  498. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  499. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  500. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  501. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +17 -17
  502. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  503. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  504. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  505. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +17 -17
  506. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  507. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  508. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  509. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -1
  510. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +16 -16
  511. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +4 -4
  512. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +3 -3
  513. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  514. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  515. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +16 -16
  516. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_head.segment.rsc +4 -4
  517. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +6 -6
  518. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +2 -2
  519. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  520. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +16 -16
  521. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  522. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  523. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  524. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  525. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +16 -16
  526. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  527. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  528. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  529. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -1
  530. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +16 -16
  531. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +4 -4
  532. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +3 -3
  533. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  534. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  535. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +16 -16
  536. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +4 -4
  537. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +6 -6
  538. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +2 -2
  539. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  540. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +17 -17
  541. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  542. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  543. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  544. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +17 -17
  545. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  546. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  547. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  548. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  549. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +14 -14
  550. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  551. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  552. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  553. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +14 -14
  554. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  555. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  556. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  557. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  558. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +17 -17
  559. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  560. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  561. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  562. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +17 -17
  563. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  564. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  565. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  566. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  567. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +16 -16
  568. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  569. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  570. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  571. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +16 -16
  572. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  573. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  574. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  575. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  576. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +14 -14
  577. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  578. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  579. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  580. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +14 -14
  581. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  582. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  583. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  584. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03inbb0._.js +3 -0
  585. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  586. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0mvyp71._.js +3 -0
  587. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~hqizj._.js +3 -0
  588. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__13w0f1~._.js +3 -0
  589. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-8y7~8._.js +3 -0
  590. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-gw886._.js +3 -0
  591. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_038nxrj._.js +3 -0
  592. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03n-g57._.js +3 -0
  593. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04xf5q9._.js +3 -0
  594. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055d-ao._.js +3 -0
  595. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05zx7t7._.js +3 -0
  596. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{_12w9fro._.js → _06.zuca._.js} +2 -2
  597. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07xrtbe._.js +3 -0
  598. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09qlnot._.js +3 -0
  599. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +1 -1
  600. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_6knqk._.js +3 -0
  601. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_7nkt6._.js +3 -0
  602. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0aj4ajk._.js +3 -0
  603. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0awj3ix._.js +3 -0
  604. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +3 -0
  605. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eyvq.q._.js +3 -0
  606. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l.3_po._.js +3 -0
  607. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p-i6oy._.js +3 -0
  608. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgkuef._.js +3 -0
  609. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qlo6ux._.js +3 -0
  610. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +1 -1
  611. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +1 -1
  612. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0xjjrmf._.js +3 -0
  613. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0xxhxhp._.js +3 -0
  614. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~6bpee._.js +3 -0
  615. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12h5j52._.js +3 -0
  616. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  617. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
  618. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +1 -1
  619. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
  620. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
  621. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +1 -1
  622. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
  623. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
  624. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +1 -1
  625. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  626. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  627. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  628. package/dist/web/standalone/packages/web/.next/static/chunks/{0txrk44pdmdsw.js → 01-hqvam3w0~~.js} +1 -1
  629. package/dist/web/standalone/packages/web/.next/static/chunks/02net~gj5seu8.js +1 -0
  630. package/dist/web/standalone/packages/web/.next/static/chunks/{0g.jepdilt76o.js → 034bfwrk4dtch.js} +1 -1
  631. package/dist/web/standalone/packages/web/.next/static/chunks/042m5fzwa.5rb.js +1 -0
  632. package/dist/web/standalone/packages/web/.next/static/chunks/04t8.94ylt2j6.js +1 -0
  633. package/dist/web/standalone/packages/web/.next/static/chunks/079pi3esz7ztj.js +1 -0
  634. package/dist/web/standalone/packages/web/.next/static/chunks/07dsa~2xhj7fp.js +1 -0
  635. package/dist/web/standalone/packages/web/.next/static/chunks/084df1q.t96px.js +1 -0
  636. package/dist/web/standalone/packages/web/.next/static/chunks/09-77kwttecp8.js +1 -0
  637. package/dist/web/standalone/packages/web/.next/static/chunks/0ahamdhz5rqd0.js +1 -0
  638. package/dist/web/standalone/packages/web/.next/static/chunks/0aymq5zo45jwo.css +1 -0
  639. package/dist/web/standalone/packages/web/.next/static/chunks/0a~p89jkiv-xy.js +1 -0
  640. package/dist/web/standalone/packages/web/.next/static/chunks/0blz40tkx36ya.js +1 -0
  641. package/dist/web/standalone/packages/web/.next/static/chunks/0bo35rh3et6nh.js +1 -0
  642. package/dist/web/standalone/packages/web/.next/static/chunks/0c3i0-wz63ys6.js +1 -0
  643. package/dist/web/standalone/packages/web/.next/static/chunks/0c3qwax9lt4tx.js +1 -0
  644. package/dist/web/standalone/packages/web/.next/static/chunks/0crxf3wawwn83.js +2 -0
  645. package/dist/web/standalone/packages/web/.next/static/chunks/0gz0he~jrjk8a.js +3 -0
  646. package/dist/web/standalone/packages/web/.next/static/chunks/0j3ve5insz6.3.js +1 -0
  647. package/dist/web/standalone/packages/web/.next/static/chunks/0l-uwd_dr1mbk.js +1 -0
  648. package/dist/web/standalone/packages/web/.next/static/chunks/{0.1mxnjmxr~su.js → 0nxwqjcq79-4u.js} +2 -2
  649. package/dist/web/standalone/packages/web/.next/static/chunks/{0rvmfvjpdwe.w.js → 0p3t7a~kdodga.js} +1 -1
  650. package/dist/web/standalone/packages/web/.next/static/chunks/0rs04qz9_.2h5.js +1 -0
  651. package/dist/web/standalone/packages/web/.next/static/chunks/0sv0hnum1q_mj.js +1 -0
  652. package/dist/web/standalone/packages/web/.next/static/chunks/0tf8lwgh~fndc.js +1 -0
  653. package/dist/web/standalone/packages/web/.next/static/chunks/0wnkj_m4ke__p.js +1 -0
  654. package/dist/web/standalone/packages/web/.next/static/chunks/0xszl0jyt02ly.js +1 -0
  655. package/dist/web/standalone/packages/web/.next/static/chunks/0y8o9-d.39uek.js +1 -0
  656. package/dist/web/standalone/packages/web/.next/static/chunks/0~.y-iqdl1g2v.js +1 -0
  657. package/dist/web/standalone/packages/web/.next/static/chunks/{0b5zptp8.z.nn.js → 0~0f5pw_ezzrh.js} +1 -1
  658. package/dist/web/standalone/packages/web/.next/static/chunks/112uoiiyc.o-i.js +1 -0
  659. package/dist/web/standalone/packages/web/.next/static/chunks/117spe00n0ln_.js +1 -0
  660. package/dist/web/standalone/packages/web/.next/static/chunks/129g7a~bc67a8.js +1 -0
  661. package/dist/web/standalone/packages/web/.next/static/chunks/13qimumcmf67m.js +1 -0
  662. package/dist/web/standalone/packages/web/.next/static/chunks/15y1w~u~sxuqn.js +1 -0
  663. package/dist/web/standalone/packages/web/.next/static/chunks/16evga~sgvskl.js +1 -0
  664. package/dist/web/standalone/packages/web/.next/static/chunks/1708mw9d18sq2.js +1 -0
  665. package/dist/web/standalone/packages/web/public/forgebadger-runtime.js +1 -1
  666. package/docs/PERSONAL-TEAM-WORKFLOWS.md +6 -6
  667. package/docs/README.zh-CN.md +5 -5
  668. package/docs/README.zh-TW.md +5 -5
  669. package/package.json +1 -1
  670. package/dist/gateway/src/services/adapter-autonomy.d.ts +0 -10
  671. package/dist/gateway/src/services/adapter-autonomy.js +0 -25
  672. package/dist/gateway/src/services/adapter-autonomy.js.map +0 -1
  673. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +0 -3
  674. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +0 -3
  675. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +0 -3
  676. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +0 -3
  677. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +0 -3
  678. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +0 -3
  679. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +0 -3
  680. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +0 -3
  681. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +0 -3
  682. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +0 -3
  683. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +0 -3
  684. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +0 -3
  685. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +0 -3
  686. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +0 -3
  687. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +0 -3
  688. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +0 -3
  689. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +0 -3
  690. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +0 -3
  691. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +0 -3
  692. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +0 -3
  693. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +0 -3
  694. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +0 -3
  695. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +0 -3
  696. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +0 -3
  697. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +0 -3
  698. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +0 -3
  699. package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +0 -3
  700. package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +0 -1
  701. package/dist/web/standalone/packages/web/.next/static/chunks/00gq~jtzei49d.js +0 -1
  702. package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +0 -1
  703. package/dist/web/standalone/packages/web/.next/static/chunks/04iwl3440l6ci.js +0 -1
  704. package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +0 -1
  705. package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +0 -2
  706. package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +0 -1
  707. package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +0 -1
  708. package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +0 -1
  709. package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +0 -1
  710. package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +0 -1
  711. package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +0 -1
  712. package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +0 -1
  713. package/dist/web/standalone/packages/web/.next/static/chunks/0qz-8gatr0e58.js +0 -1
  714. package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +0 -1
  715. package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +0 -1
  716. package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +0 -1
  717. package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +0 -1
  718. package/dist/web/standalone/packages/web/.next/static/chunks/0uqsh8sbcz046.js +0 -1
  719. package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +0 -1
  720. package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +0 -1
  721. package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +0 -1
  722. package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +0 -1
  723. package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +0 -1
  724. package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +0 -1
  725. package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +0 -1
  726. /package/dist/web/standalone/packages/web/.next/static/{rZYlH0_cQ6CsojVFUjtlA → wkc8XKp3khKRctgTww1hC}/_buildManifest.js +0 -0
  727. /package/dist/web/standalone/packages/web/.next/static/{rZYlH0_cQ6CsojVFUjtlA → wkc8XKp3khKRctgTww1hC}/_clientMiddlewareManifest.js +0 -0
  728. /package/dist/web/standalone/packages/web/.next/static/{rZYlH0_cQ6CsojVFUjtlA → wkc8XKp3khKRctgTww1hC}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17114,e=>{"use strict";var t=e.i(66499),s=e.i(47849),a=e.i(60218),i=e.i(12603),n=e.i(35887);e.s(["QueryState",0,function({isLoading:e,isError:l,isEmpty:r,onRetry:d,loading:c,empty:o,error:m,children:u}){let{t:p}=(0,n.useLanguage)();return e?void 0!==c?(0,t.jsx)(t.Fragment,{children:c}):(0,t.jsx)(i.Card,{className:"forgebadger-animate-in",children:(0,t.jsx)(i.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:p("common.loading")})}):l?void 0!==m?(0,t.jsx)(t.Fragment,{children:m}):(0,t.jsx)(i.Card,{className:"forgebadger-animate-in",children:(0,t.jsxs)(i.CardContent,{className:"flex flex-col items-center justify-center gap-3 py-10 text-center",children:[(0,t.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-destructive/10 text-destructive",children:(0,t.jsx)(s.AlertTriangle,{className:"size-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("common.loadFailedTitle")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:p("common.loadFailedDescription")})]}),d?(0,t.jsx)(a.Button,{type:"button",size:"sm",variant:"outline",onClick:d,children:p("common.retry")}):null]})}):r?(0,t.jsx)(t.Fragment,{children:o}):(0,t.jsx)(t.Fragment,{children:u})}])},81314,e=>{"use strict";let t=(0,e.i(65174).default)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);e.s(["Play",0,t],81314)},55314,e=>{"use strict";let t=(0,e.i(65174).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],55314)},29685,e=>{"use strict";let t=(0,e.i(65174).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,t],29685)},57536,e=>{"use strict";let t=(0,e.i(65174).default)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",0,t],57536)},7329,e=>{"use strict";let t=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7329)},63641,39311,e=>{"use strict";var t=e.i(66499),s=e.i(78717),a=e.i(87307),i=e.i(46131),n=e.i(35887),l=e.i(47721),r=e.i(79923);let d=["adapter-order"];function c(e){let{data:t}=(0,s.useQuery)({queryKey:d,queryFn:l.getAdapterOrder,staleTime:6e4}),a=t?.order;return(0,r.useMemo)(()=>(function(e,t){if(0===t.length)return[...e];let s=new Map(t.map((e,t)=>[e,t]));return[...e].sort((e,a)=>(s.get(e.id)??t.length)-(s.get(a.id)??t.length))})(e,a??[]),[e,a])}e.s(["ADAPTER_ORDER_QUERY_KEY",0,d,"useOrderedAdapters",0,c],39311);let o=["adapter-discovery"];function m(e,t){return(0,l.isAdapterLaunchable)(e)&&(!t||t.includes(e.id))}e.s(["ADAPTER_DISCOVERY_QUERY_KEY",0,o,"AdapterSelect",0,function({value:e,onValueChange:r,supported:d,showMissing:u=!0,disabled:p=!1,size:x="default",id:h,ariaLabel:g,className:y,placeholder:v}){let{t:f}=(0,n.useLanguage)(),{data:j,isLoading:b}=(0,s.useQuery)({queryKey:o,queryFn:l.discoverAdapters,staleTime:3e4}),N=c(j?.adapters??[]).filter(e=>u||e.available);return(0,t.jsxs)(i.Select,{value:e||void 0,onValueChange:e=>r(e),disabled:p||b,children:[(0,t.jsx)(i.SelectTrigger,{id:h,"aria-label":g,size:x,className:y,children:(0,t.jsx)(i.SelectValue,{placeholder:b?f("common.loading"):v})}),(0,t.jsx)(i.SelectContent,{children:N.map(e=>{let s=e.available?d&&!d.includes(e.id)?f("models.adapterNotSupported"):e.launchEnabled?null:f("projects.runtimeLaunchDisabled"):f("check_failed"===e.status?"projects.runtimeCheckFailed":"projects.runtimeUnavailable");return(0,t.jsxs)(i.SelectItem,{value:e.id,disabled:!m(e,d),children:[(0,t.jsx)(a.CliBrandIcon,{aiTool:e.id}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate",children:[e.label,s?` (${s})`:""]})]},e.id)})})]})},"chooseDefaultAdapter",0,function(e,t,s){let a=e.find(e=>e.id===s);return a&&m(a,t)?a.id:e.find(e=>m(e,t))?.id},"isAdapterSelectable",0,m],63641)},31483,e=>{"use strict";var t=e.i(88215);e.s(["ChevronDown",()=>t.default])},25284,e=>{"use strict";var t=e.i(87014);let s=Object.assign({},t.toast,{error:(e,s)=>t.toast.error(e,{duration:6e3,...s})});e.s(["toast",0,s])},540,e=>{"use strict";let t=(0,e.i(65174).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],540)},57793,e=>{"use strict";var t=e.i(66499),s=e.i(47849),a=e.i(60218),i=e.i(9988),n=e.i(35887);e.s(["ConfirmDialog",0,function({open:e,title:l,description:r,confirmLabel:d,destructive:c=!1,pending:o=!1,onOpenChange:m,onConfirm:u}){let{t:p}=(0,n.useLanguage)();return(0,t.jsx)(i.Dialog,{open:e,onOpenChange:e=>{e||o||m(!1)},children:(0,t.jsxs)(i.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsxs)(i.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(s.AlertTriangle,{className:c?"size-5 shrink-0 text-destructive":"size-5 shrink-0 text-muted-foreground"}),l]}),(0,t.jsx)(i.DialogDescription,{children:r})]}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(a.Button,{type:"button",variant:"outline",disabled:o,onClick:()=>m(!1),children:p("common.cancel")}),(0,t.jsx)(a.Button,{type:"button",variant:c?"destructive":"default",disabled:o,onClick:u,children:d??p("common.confirm")})]})]})})}])},80078,e=>{"use strict";let t=(0,e.i(65174).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],80078)},17854,e=>{"use strict";var t=e.i(66499),s=e.i(79923),a=e.i(80939),i=s.forwardRef((e,s)=>(0,t.jsx)(a.Primitive.label,{...e,ref:s,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label",e.s(["Label",0,i,"Root",0,i],37587);var n=e.i(37587),n=n,l=e.i(65458);e.s(["Label",0,function({className:e,...s}){return(0,t.jsx)(n.Root,{"data-slot":"label",className:(0,l.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...s})}],17854)},62918,e=>{"use strict";var t=e.i(66499),s=e.i(94237),a=e.i(82909),i=e.i(65458);let n=(0,s.cva)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:s="default",asChild:l=!1,...r}){let d=l?a.Slot.Root:"span";return(0,t.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,i.cn)(n({variant:s}),e),...r})}])},12603,e=>{"use strict";var t=e.i(66499),s=e.i(65458);e.s(["Card",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,s.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-sm text-muted-foreground",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",e),...a})}])},47849,e=>{"use strict";var t=e.i(66936);e.s(["AlertTriangle",()=>t.default])},34487,e=>{"use strict";let t=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],34487)},35808,e=>{"use strict";let t=(0,e.i(65174).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],35808)},79447,e=>{"use strict";let t=(0,e.i(65174).default)("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);e.s(["FileCode2",0,t],79447)},69661,e=>{"use strict";let t=["private","shared","admin"];function s(e){return t.includes(e)?e:"private"}e.s(["filterByVisibility",0,function(e,t){return"all"===t?e:e.filter(e=>s(e.visibility)===t)},"normalizeVisibility",0,s,"visibilityDescriptionKey",0,function(e){return`visibility.${e}Description`},"visibilityLabelKey",0,function(e){return`visibility.${e}`},"visibilityOptions",0,t])},30267,e=>{"use strict";var t=e.i(66499),s=e.i(79923),a=e.i(85426),i=e.i(78717),n=e.i(6270),l=e.i(31483),r=e.i(540),d=e.i(29685),c=e.i(79447),o=e.i(57536),m=e.i(65174);let u=(0,m.default)("PackagePlus",[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M19 13v6",key:"85cyf1"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]);var p=e.i(7329),x=e.i(55314),h=e.i(35808),g=e.i(34487);let y=(0,m.default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var v=e.i(62918),f=e.i(60218),j=e.i(12603),b=e.i(9988),N=e.i(81622),C=e.i(17854),k=e.i(17114),w=e.i(57793),S=e.i(63641),T=e.i(25284),D=e.i(47721),P=e.i(69661),F=e.i(35887),I=e.i(81314),B=e.i(80078);let z={compliant:"border-emerald-500/40 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",stale:"border-amber-500/40 bg-amber-500/10 text-amber-600 dark:text-amber-400",missing:"border-destructive/40 bg-destructive/10 text-destructive"},q={applied:"templates.syncOutcomeApplied",rolled_back:"templates.syncOutcomeRolledBack",rollback_failed:"templates.syncOutcomeRollbackFailed"};function L({templateId:e}){let{t:l}=(0,F.useLanguage)(),r=(0,n.useQueryClient)(),[d,c]=(0,s.useState)(null),[o,m]=(0,s.useState)(new Set),[u,p]=(0,s.useState)(!1),{data:x,isLoading:h}=(0,i.useQuery)({queryKey:["template-usage",e],queryFn:()=>(0,D.getTemplateUsage)(e)}),g=(0,a.useMutation)({mutationFn:()=>(0,D.previewTemplateSync)(e),onSuccess:e=>{c(e),m(new Set)}}),y=(0,a.useMutation)({mutationFn:()=>{if(!d)throw Error(l("templates.syncPreviewFailed"));let t={};for(let e of d.projects)o.has(e.projectId)&&0!==e.summary.requiresDecision.length&&(t[e.projectId]=Object.fromEntries(e.summary.requiresDecision.map(e=>[e,"overwrite"])));return(0,D.applyTemplateSync)(e,{projectIds:d.projects.map(e=>e.projectId),decisions:t})},onSuccess:()=>{c(null),m(new Set),r.invalidateQueries({queryKey:["template-usage",e]})}}),b=(0,s.useMemo)(()=>x?x.projects.reduce((e,t)=>(e[t.configStatus]+=1,e),{compliant:0,stale:0,missing:0}):{compliant:0,stale:0,missing:0},[x]),N={compliant:l("templates.syncStatusCompliant"),stale:l("templates.syncStatusStale"),missing:l("templates.syncStatusMissing")};return(0,t.jsxs)(j.Card,{className:"border-dashed",children:[(0,t.jsxs)(j.CardHeader,{children:[(0,t.jsxs)(j.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(B.RefreshCw,{className:"size-4"}),l("templates.syncTitle"),x&&0===x.usageCount&&(0,t.jsx)(v.Badge,{variant:"outline",className:"text-xs font-normal",children:l("templates.syncSeedOnly")})]}),(0,t.jsx)(j.CardDescription,{children:h||!x?l("templates.syncLoadingUsage"):l("templates.syncUsageCount").replace("{count}",String(x.usageCount))})]}),(0,t.jsxs)(j.CardContent,{className:"space-y-3",children:[x&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,t.jsx)(v.Badge,{variant:"secondary",children:l("templates.syncCountCompliant").replace("{count}",String(b.compliant))}),(0,t.jsx)(v.Badge,{variant:"secondary",children:l("templates.syncCountStale").replace("{count}",String(b.stale))}),(0,t.jsx)(v.Badge,{variant:"secondary",children:l("templates.syncCountMissing").replace("{count}",String(b.missing))})]}),(0,t.jsx)("div",{className:"space-y-2",children:x&&0!==x.projects.length?x.projects.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate font-medium",children:e.name}),(0,t.jsx)("div",{className:"truncate font-mono text-xs text-muted-foreground",children:e.path})]}),(0,t.jsx)(v.Badge,{className:z[e.configStatus],children:N[e.configStatus]})]},e.id)):(0,t.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:l("templates.syncEmpty")})}),d&&(0,t.jsxs)("div",{className:"space-y-2 rounded-md border bg-background p-3",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:l("templates.syncPreview")}),d.projects.map(e=>{let s=e.summary.requiresDecision.length>0;return(0,t.jsxs)("div",{className:"rounded-md border px-3 py-2 text-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.projectName}),s&&(0,t.jsxs)("label",{className:"flex shrink-0 items-center gap-1.5 text-xs",children:[(0,t.jsx)("input",{type:"checkbox",checked:o.has(e.projectId),onChange:()=>{var t;return t=e.projectId,void m(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})}}),l("templates.syncOverwriteModified")]})]}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[l("templates.syncFilesToCreate").replace("{count}",String(e.summary.missingFiles.length)),e.summary.requiresDecision.length>0&&(0,t.jsxs)(t.Fragment,{children:[" · ",l("templates.syncFilesNeedDecision").replace("{count}",String(e.summary.requiresDecision.length))]}),e.summary.modifiedFiles.length>0&&(0,t.jsx)("span",{className:"ml-2 font-mono",children:e.summary.modifiedFiles.join(", ")})]})]},e.projectId)}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("templates.syncOverwriteHint")})]}),g.isError&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:g.error instanceof Error?g.error.message:l("templates.syncPreviewFailed")}),y.isError&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:y.error instanceof Error?y.error.message:l("templates.syncApplyFailed")}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"outline",size:"sm",disabled:!x||0===x.projects.length||g.isPending,onClick:()=>g.mutate(),children:g.isPending?l("templates.syncPreviewing"):l("templates.syncPreviewAction")}),(0,t.jsxs)(f.Button,{type:"button",size:"sm",disabled:!d||0===d.projects.length||y.isPending,onClick:()=>p(!0),children:[(0,t.jsx)(I.Play,{className:"size-4"}),y.isPending?l("templates.syncApplying"):l("templates.syncApply").replace("{count}",String(d?.projects.length??0))]})]}),y.data&&(0,t.jsx)("div",{className:"space-y-1.5 text-xs",children:y.data.projects.map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"truncate",children:e.projectName}),e.error?(0,t.jsx)("span",{className:"shrink-0 text-destructive",children:e.error}):(0,t.jsxs)("span",{className:"flex min-w-0 shrink-0 items-center gap-2 text-muted-foreground",children:[(0,t.jsxs)("span",{children:[e.result?l(q[e.result.outcome]):""," ","·"," ",l("templates.syncResultLine").replace("{written}",String(e.result?.writtenFiles.length??0)).replace("{skipped}",String(e.result?.skippedFiles.length??0))]}),e.result?.backupPath?(0,t.jsxs)("span",{className:"max-w-48 truncate font-mono",title:e.result.backupPath,children:[l("templates.syncBackup"),": ",e.result.backupPath]}):null]})]},e.projectId))})]}),(0,t.jsx)(w.ConfirmDialog,{open:u,title:l("templates.syncApplyConfirmTitle"),description:l("templates.syncApplyConfirmDescription").replace("{count}",String(d?.projects.length??0)),confirmLabel:l("templates.syncApplyConfirm"),pending:y.isPending,onOpenChange:p,onConfirm:()=>{p(!1),y.mutate()}})]})}let M="AGENTS.md",E="# {{projectName}}\n\nProject root: `{{projectRoot}}`\n\nFollow the repository instructions and keep changes scoped.\n";class K extends Error{constructor(e){super(e),this.name="TemplateFileSaveError"}}e.s(["default",0,function(){let{t:e}=(0,F.useLanguage)(),m=(0,F.useUiLocale)(),I=(0,n.useQueryClient)(),[B,z]=(0,s.useState)(null),[q,R]=(0,s.useState)(""),[A,O]=(0,s.useState)(""),[Q,V]=(0,s.useState)("private"),[H,U]=(0,s.useState)(""),[_,$]=(0,s.useState)(""),[G,Y]=(0,s.useState)(""),[J,W]=(0,s.useState)("private"),[X,Z]=(0,s.useState)(M),[ee,et]=(0,s.useState)(E),[es,ea]=(0,s.useState)(null),[ei,en]=(0,s.useState)(null),el=(0,s.useRef)(0),er=(0,s.useRef)({templateId:B,filePath:ei,epoch:0});er.current={templateId:B,filePath:ei,epoch:el.current};let[ed,ec]=(0,s.useState)(null),[eo,em]=(0,s.useState)(null),[eu,ep]=(0,s.useState)("all"),[ex,eh]=(0,s.useState)(""),[eg,ey]=(0,s.useState)(!1),[ev,ef]=(0,s.useState)(!1),[ej,eb]=(0,s.useState)(""),[eN,eC]=(0,s.useState)(""),[ek,ew]=(0,s.useState)(""),[eS,eT]=(0,s.useState)(""),[eD,eP]=(0,s.useState)(null),{data:eF,isLoading:eI,isError:eB,refetch:ez}=(0,i.useQuery)({queryKey:["templates"],queryFn:D.listTemplates}),[eq,eL]=(0,s.useState)(null),[eM,eE]=(0,s.useState)(null),eK=eF?.templates??[],eR=(0,P.filterByVisibility)(eK,eu),eA=eR.filter(e=>(e.usageCount??0)>0),eO=eR.filter(e=>(e.usageCount??0)===0);function eQ(s){return(0,t.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between rounded-md border px-3 py-2 text-left text-sm hover:bg-accent",onClick:()=>(function(e){if(e!==B){if(!e3())return void e7(e);em(e)}})(s.id),children:[(0,t.jsx)("span",{className:"font-medium",children:s.name}),(0,t.jsxs)("span",{className:"flex flex-wrap justify-end gap-2",children:[(s.isBuiltin||s.builtin)&&(0,t.jsx)(v.Badge,{variant:"secondary",children:e("templates.builtin")}),(0,t.jsx)(v.Badge,{variant:"outline",children:e((0,P.visibilityLabelKey)((0,P.normalizeVisibility)(s.visibility)))})]})]},s.id)}let{data:eV}=(0,i.useQuery)({queryKey:["catalog-items"],queryFn:D.listCatalogItems}),eH=(eV?.items??[]).filter(e=>"template"===e.itemType),eU=(0,s.useMemo)(()=>eK.find(e=>e.id===B),[B,eK]),e_=!!eU?.isBuiltin||!!eU?.builtin,{data:e$}=(0,i.useQuery)({queryKey:["template",B],queryFn:()=>(0,D.getTemplate)(B),enabled:!!B}),{data:eG}=(0,i.useQuery)({queryKey:["template",B,"versions"],queryFn:()=>(0,D.listTemplateVersions)(B),enabled:!!B&&!e_}),eY=(0,a.useMutation)({mutationFn:()=>(0,D.createTemplate)({name:q.trim(),visibility:Q,...A?{adapter:A}:{},files:[{filePath:"claude"===A?"CLAUDE.md":M,content:E,fileType:"markdown"}]}),onSuccess:async({template:t})=>{eP(e("templates.created")),R(""),O(""),V("private"),z(t.id),ea(null),en(null),ec(null),$(t.name),Y(t.description??""),W((0,P.normalizeVisibility)(t.visibility)),await I.invalidateQueries({queryKey:["templates"]})}}),eJ=(0,a.useMutation)({mutationFn:e=>(0,D.cloneTemplate)(e,H.trim()||`${eU?.name??"Template"} Copy`),onSuccess:async({template:t})=>{eP(e("templates.cloned")),U(""),z(t.id),ea(null),en(null),ec(null),$(t.name),Y(t.description??""),W((0,P.normalizeVisibility)(t.visibility)),await I.invalidateQueries({queryKey:["templates"]})}}),eW=(0,a.useMutation)({mutationFn:async()=>{if(!B)throw Error("Template is required");let e={templateId:B,filePath:X.trim(),content:ee,editorEpoch:el.current};await (0,D.updateTemplate)(B,{name:_.trim(),description:G.trim(),visibility:J});try{await (0,D.updateTemplateFile)(e.templateId,e.filePath,e.content)}catch(e){throw new K(e instanceof Error?e.message:String(e))}return e},onSuccess:async t=>{eP(e("templates.saved")),er.current.templateId===t.templateId&&el.current===t.editorEpoch&&(ea(t.content),en(t.filePath)),await I.invalidateQueries({queryKey:["templates"]}),await I.invalidateQueries({queryKey:["template",t.templateId]});let s=er.current;if(s.templateId!==t.templateId||s.epoch===t.editorEpoch)return;let a=await I.fetchQuery({queryKey:["template",t.templateId],queryFn:()=>(0,D.getTemplate)(t.templateId),staleTime:0});if(er.current.templateId!==s.templateId||el.current!==s.epoch)return;let i=a.template.files?.find(e=>e.filePath===s.filePath);i&&ea(i.content)},onError:t=>{t instanceof K&&T.toast.error(e("templates.saveFileFailed"))}}),eX=(0,a.useMutation)({mutationFn:D.deleteTemplate,onSuccess:async()=>{eP(e("templates.deleted")),z(null),await I.invalidateQueries({queryKey:["templates"]})}}),eZ=(0,a.useMutation)({mutationFn:e=>(0,D.exportTemplate)(e),onSuccess:({templatePackage:t})=>{eh(JSON.stringify(t,null,2)),eP(e("templates.exported"))}}),e0=(0,a.useMutation)({mutationFn:()=>{let t;try{t=JSON.parse(ex)}catch{throw Error(e("templates.importInvalidJson"))}return(0,D.importTemplate)(t)},onSuccess:async({template:t})=>{eP(e("templates.imported")),z(t.id),ea(null),en(null),ec(null),$(t.name),Y(t.description??""),W((0,P.normalizeVisibility)(t.visibility)),eh(""),await I.invalidateQueries({queryKey:["templates"]})}}),e1=(0,a.useMutation)({mutationFn:D.installCatalogTemplate,onSuccess:async({template:t})=>{eP(e("templates.catalogInstalled")),z(t.id),ea(null),en(null),ec(null),$(t.name),Y(t.description??""),W((0,P.normalizeVisibility)(t.visibility)),await I.invalidateQueries({queryKey:["templates"]})}}),e2=(0,a.useMutation)({mutationFn:()=>{let e={url:ej.trim()},t=eN.trim();t&&(e.branch=t);let s=ek.trim();s&&(e.name=s);let a=eS.trim();return a&&(e.description=a),(0,D.importTemplateFromGit)(e)},onSuccess:async t=>{eP(e("templates.gitImported")),eb(""),eC(""),ew(""),eT(""),z(t.templateId),ea(null),en(null),ec(null),$(t.name),Y(""),W("private"),await I.invalidateQueries({queryKey:["templates"]})}}),e4=(0,a.useMutation)({mutationFn:({templateId:e,versionId:t})=>(0,D.restoreTemplateVersion)(e,t),onSuccess:async({template:t})=>{let s=t.files?.[0];eP(e("templates.restored")),$(t.name),Y(t.description??""),W((0,P.normalizeVisibility)(t.visibility)),s&&(el.current++,Z(s.filePath),et(s.content),ea(s.content),en(s.filePath)),await I.invalidateQueries({queryKey:["templates"]}),await I.invalidateQueries({queryKey:["template",B]}),await I.invalidateQueries({queryKey:["template",B,"versions"]})}});function e3(){return!!eU&&(ee!==es||X.trim()!==ei||_.trim()!==(eU.name??"")||G.trim()!==(eU.description??"")||J!==(0,P.normalizeVisibility)(eU.visibility))}function e7(e){el.current++;let t=eK.find(t=>t.id===e);z(e),$(t?.name??""),Y(t?.description??""),W((0,P.normalizeVisibility)(t?.visibility)),Z(M),et(""),ea(null),en(null),ec(null),eh(""),eP(null)}(0,s.useEffect)(()=>{if(!B||!e$||ed===B)return;el.current++;let e=e$.template.files?.[0];Z(e?.filePath??M),et(e?.content??""),ea(e?e.content:""),en(e?.filePath??M),ec(B)},[B,e$,ed]);let e6=e_||eW.isPending||null===es||!e3(),e5=eY.error??eJ.error??(eW.error instanceof K?null:eW.error)??eX.error??eZ.error??e0.error??e1.error??e2.error??e4.error;return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:e("templates.title")}),(0,t.jsx)("p",{className:"mt-1 text-muted-foreground",children:e("templates.subtitle")})]}),eD&&(0,t.jsx)("div",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-300",children:eD}),e5 instanceof Error&&(0,t.jsx)("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:e5.message}),(0,t.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[340px_minmax(0,1fr)]",children:[(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)(j.Card,{children:[(0,t.jsx)(j.CardHeader,{children:(0,t.jsxs)(j.CardTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(p.Plus,{className:"size-4"}),e("templates.createCustom")]})}),(0,t.jsx)(j.CardContent,{children:(0,t.jsxs)("form",{className:"space-y-3",onSubmit:e=>{e.preventDefault(),eY.mutate()},children:[(0,t.jsx)(C.Label,{htmlFor:"new-template-name",children:e("common.name")}),(0,t.jsx)(N.Input,{id:"new-template-name",value:q,onChange:e=>R(e.target.value),required:!0}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{children:e("common.aiTool")}),(0,t.jsx)(S.AdapterSelect,{ariaLabel:e("common.aiTool"),className:"h-10 w-full",value:A,onValueChange:e=>O(e)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{children:e("common.visibility")}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:P.visibilityOptions.map(s=>(0,t.jsx)(f.Button,{type:"button",size:"sm",variant:Q===s?"default":"outline",onClick:()=>V(s),children:e((0,P.visibilityLabelKey)(s))},s))}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e((0,P.visibilityDescriptionKey)(Q))})]}),(0,t.jsxs)(f.Button,{type:"submit",className:"w-full",disabled:eY.isPending||!A,children:[(0,t.jsx)(p.Plus,{className:"size-4"}),eY.isPending?e("templates.creating"):e("templates.createCustom")]})]})})]}),(0,t.jsxs)(j.Card,{children:[(0,t.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>ey(e=>!e),"aria-expanded":eg,"aria-label":e("templates.catalogInstall"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u,{className:"size-4"}),(0,t.jsx)("span",{className:"text-base font-semibold",children:e("templates.catalogInstall")})]}),(0,t.jsx)(l.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${eg?"rotate-180":""}`})]}),(0,t.jsxs)(j.CardContent,{className:"space-y-2 pt-4",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("templates.catalogInstallDescription")}),eg&&(0===eH.length?(0,t.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:e("templates.catalogEmpty")}):eH.map(s=>(0,t.jsxs)("div",{className:"rounded-md border bg-background p-3",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",children:s.name}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[s.sourceId," · ",s.version??"1.0.0"]})]}),(0,t.jsxs)(f.Button,{type:"button",size:"sm",variant:"outline",disabled:e1.isPending,onClick:()=>e1.mutate(s.id),children:[(0,t.jsx)(u,{className:"size-3"}),e1.isPending?e("templates.installing"):e("templates.install")]})]}),s.description&&(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s.description})]},s.id)))]})]}),(0,t.jsxs)(j.Card,{children:[(0,t.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 pt-6 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",onClick:()=>ef(e=>!e),"aria-expanded":ev,"aria-label":e("templates.gitImport"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.GitBranch,{className:"size-4"}),(0,t.jsx)("span",{className:"text-base font-semibold",children:e("templates.gitImport")})]}),(0,t.jsx)(l.ChevronDown,{className:`size-4 shrink-0 text-muted-foreground transition-transform ${ev?"rotate-180":""}`})]}),(0,t.jsxs)(j.CardContent,{className:"space-y-2 pt-4",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("templates.gitImportDescription")}),ev&&(0,t.jsxs)("form",{className:"space-y-3",onSubmit:e=>{e.preventDefault(),e2.mutate()},children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"git-import-url",children:e("templates.gitImportUrl")}),(0,t.jsx)(N.Input,{id:"git-import-url",value:ej,onChange:e=>eb(e.target.value),placeholder:"https://github.com/your-org/ai-cli-config",required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"git-import-branch",children:e("templates.gitImportBranch")}),(0,t.jsx)(N.Input,{id:"git-import-branch",value:eN,onChange:e=>eC(e.target.value),placeholder:"main"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"git-import-name",children:e("common.name")}),(0,t.jsx)(N.Input,{id:"git-import-name",value:ek,onChange:e=>ew(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"git-import-description",children:e("common.description")}),(0,t.jsx)(N.Input,{id:"git-import-description",value:eS,onChange:e=>eT(e.target.value)})]}),(0,t.jsxs)(f.Button,{type:"submit",className:"w-full",disabled:!ej.trim()||e2.isPending,children:[(0,t.jsx)(o.GitBranch,{className:"size-4"}),e2.isPending?e("templates.gitImporting"):e("templates.gitImport")]})]})]})]}),(0,t.jsxs)(j.Card,{children:[(0,t.jsxs)(j.CardHeader,{children:[(0,t.jsx)(j.CardTitle,{className:"text-base",children:e("templates.available")}),(0,t.jsx)(j.CardDescription,{children:e("templates.availableDescription")})]}),(0,t.jsxs)(j.CardContent,{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 pb-2",children:[(0,t.jsx)(f.Button,{type:"button",size:"sm",variant:"all"===eu?"default":"outline",onClick:()=>ep("all"),children:e("visibility.all")}),P.visibilityOptions.map(s=>(0,t.jsx)(f.Button,{type:"button",size:"sm",variant:eu===s?"default":"outline",onClick:()=>ep(s),children:e((0,P.visibilityLabelKey)(s))},s))]}),(0,t.jsx)(k.QueryState,{isLoading:eI,isError:eB,isEmpty:0===eR.length,onRetry:()=>void ez(),loading:(0,t.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:e("templates.loading")}),empty:(0,t.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:e("templates.emptyTitle")}),children:(0,t.jsxs)("div",{className:"space-y-3",children:[eA.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("templates.governedTitle")}),(0,t.jsx)(v.Badge,{variant:"secondary",children:eA.length})]}),eA.map(e=>eQ(e))]}),eO.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("templates.seedTitle")}),(0,t.jsx)(v.Badge,{variant:"secondary",children:eO.length})]}),eO.map(e=>eQ(e))]})]})})]})]}),(0,t.jsxs)(j.Card,{children:[(0,t.jsxs)(j.CardHeader,{children:[(0,t.jsx)(j.CardTitle,{className:"text-base",children:e("templates.importExport")}),(0,t.jsx)(j.CardDescription,{children:e("templates.importExportDescription")})]}),(0,t.jsxs)(j.CardContent,{className:"space-y-3",children:[(0,t.jsx)(C.Label,{htmlFor:"template-package",children:e("templates.packageJson")}),(0,t.jsx)("textarea",{id:"template-package",className:"min-h-40 w-full rounded-md border border-input bg-background p-3 font-mono text-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:ex,onChange:e=>eh(e.target.value)}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsxs)(f.Button,{type:"button",variant:"outline",disabled:!B||eZ.isPending,onClick:()=>B&&eZ.mutate(B),children:[(0,t.jsx)(d.Download,{className:"size-4"}),e("templates.export")]}),(0,t.jsxs)(f.Button,{type:"button",variant:"outline",disabled:!ex.trim(),onClick:function(){let e=ex.trim();if(!e)return;let t=new Blob([e],{type:"application/json"}),s=URL.createObjectURL(t),a=document.createElement("a");a.href=s,a.download=`${eU?.name??"template"}.json`,a.click(),URL.revokeObjectURL(s)},children:[(0,t.jsx)(d.Download,{className:"size-4"}),e("templates.download")]}),(0,t.jsxs)(f.Button,{type:"button",className:"col-span-2",disabled:!ex.trim()||e0.isPending,onClick:()=>e0.mutate(),children:[(0,t.jsx)(y,{className:"size-4"}),e("templates.import")]})]})]})]})]}),(0,t.jsxs)(j.Card,{children:[(0,t.jsx)(j.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)(j.CardTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(c.FileCode2,{className:"size-5"}),eU?.name??e("templates.selectTemplate")]}),(0,t.jsx)(j.CardDescription,{children:e("templates.editorDescription")})]}),eU&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(N.Input,{className:"h-8 w-48",value:H,onChange:e=>U(e.target.value),placeholder:e("templates.cloneName")}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>eJ.mutate(eU.id),disabled:eJ.isPending,children:[(0,t.jsx)(r.Copy,{className:"size-4"}),e("templates.clone")]})]})]})}),(0,t.jsx)(j.CardContent,{children:eU?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(L,{templateId:eU.id}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"template-name",children:e("common.name")}),(0,t.jsx)(N.Input,{id:"template-name",value:_,onChange:e=>$(e.target.value),disabled:e_})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"template-description",children:e("common.description")}),(0,t.jsx)(N.Input,{id:"template-description",value:G,onChange:e=>Y(e.target.value),disabled:e_})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.Label,{children:e("common.visibility")}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:P.visibilityOptions.map(s=>(0,t.jsx)(f.Button,{type:"button",size:"sm",variant:J===s?"default":"outline",disabled:e_,onClick:()=>W(s),children:e((0,P.visibilityLabelKey)(s))},s))}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e((0,P.visibilityDescriptionKey)(J))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,t.jsx)(C.Label,{htmlFor:"template-file",children:e("templates.filePath")}),(0,t.jsx)(N.Input,{id:"template-file",value:X,onChange:e=>Z(e.target.value),disabled:e_})]}),(0,t.jsx)(f.Button,{type:"button",variant:"outline",onClick:function(){let e=e$?.template.files?.find(e=>e.filePath===X)??e$?.template.files?.[0];e&&(el.current++,Z(e.filePath),et(e.content),ea(e.content),en(e.filePath))},children:e("templates.loadFile")})]}),(0,t.jsx)("textarea",{className:"min-h-80 w-full rounded-md border border-input bg-background p-3 font-mono text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:ee,onChange:e=>et(e.target.value),disabled:e_,placeholder:e("templates.fileContent")})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsxs)(f.Button,{variant:"ghost",className:"text-destructive",disabled:e_||eX.isPending,onClick:()=>{eU&&eL(eU)},children:[(0,t.jsx)(g.Trash2,{className:"size-4"}),e("common.delete")]}),(0,t.jsxs)(f.Button,{disabled:e6,onClick:()=>eW.mutate(),children:[(0,t.jsx)(h.Save,{className:"size-4"}),eW.isPending?e("templates.saving"):e("templates.save")]})]}),!e_&&(0,t.jsxs)("div",{className:"rounded-md border bg-muted/20 p-3",children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:e("templates.versionHistory")}),0===(eG?.versions??[]).length?(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e("templates.noVersions")}):(0,t.jsx)("div",{className:"mt-3 space-y-2",children:eG?.versions.map(s=>(0,t.jsxs)("div",{className:"rounded-md border bg-background p-2 text-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:s.name}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(v.Badge,{variant:"outline",children:s.version}),(0,t.jsxs)(f.Button,{type:"button",size:"sm",variant:"outline",disabled:!B||e4.isPending,onClick:()=>{eU&&eE({template:eU,versionId:s.id,version:s.version})},children:[(0,t.jsx)(x.RotateCcw,{className:"size-3"}),e4.isPending?e("templates.restoring"):e("templates.restore")]})]})]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[s.action," · ",new Date(s.createdAt).toLocaleString(m)]})]},s.id))})]})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center text-sm text-muted-foreground",children:[(0,t.jsx)(c.FileCode2,{className:"mb-4 size-10"}),e("templates.selectTemplate")]})})]})]}),(0,t.jsx)(b.Dialog,{open:null!==eo,onOpenChange:e=>{e||em(null)},children:(0,t.jsxs)(b.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(b.DialogHeader,{children:[(0,t.jsx)(b.DialogTitle,{className:"text-base",children:e("templates.discardChangesTitle")}),(0,t.jsx)(b.DialogDescription,{children:e("templates.discardChangesDescription")})]}),(0,t.jsxs)(b.DialogFooter,{children:[(0,t.jsx)(f.Button,{type:"button",variant:"outline",onClick:()=>em(null),children:e("common.cancel")}),(0,t.jsx)(f.Button,{type:"button",variant:"destructive",onClick:function(){em(null),eo&&e7(eo)},children:e("templates.discardChangesConfirm")})]})]})}),(0,t.jsx)(w.ConfirmDialog,{open:null!==eq,destructive:!0,pending:eX.isPending,title:e("templates.deleteConfirmTitle"),description:eq?[e("templates.deleteConfirmNamed").replace("{name}",eq.name),(eq.usageCount??0)>0?e("templates.deleteInUseWarning").replace("{count}",String(eq.usageCount)):""].filter(Boolean).join(" "):"",confirmLabel:e("common.delete"),onOpenChange:e=>{e||eL(null)},onConfirm:()=>{eq&&eX.mutate(eq.id),eL(null)}}),(0,t.jsx)(w.ConfirmDialog,{open:null!==eM,pending:e4.isPending,title:e("templates.restoreConfirmTitle"),description:eM?e("templates.restoreConfirmNamed").replace("{name}",eM.template.name).replace("{version}",eM.version):"",onOpenChange:e=>{e||eE(null)},onConfirm:()=>{eM&&e4.mutate({templateId:eM.template.id,versionId:eM.versionId}),eE(null)}})]})}],30267)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17114,e=>{"use strict";var t=e.i(66499),a=e.i(47849),r=e.i(60218),i=e.i(12603),n=e.i(35887);e.s(["QueryState",0,function({isLoading:e,isError:s,isEmpty:o,onRetry:l,loading:d,empty:c,error:u,children:m}){let{t:p}=(0,n.useLanguage)();return e?void 0!==d?(0,t.jsx)(t.Fragment,{children:d}):(0,t.jsx)(i.Card,{className:"forgebadger-animate-in",children:(0,t.jsx)(i.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:p("common.loading")})}):s?void 0!==u?(0,t.jsx)(t.Fragment,{children:u}):(0,t.jsx)(i.Card,{className:"forgebadger-animate-in",children:(0,t.jsxs)(i.CardContent,{className:"flex flex-col items-center justify-center gap-3 py-10 text-center",children:[(0,t.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-destructive/10 text-destructive",children:(0,t.jsx)(a.AlertTriangle,{className:"size-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("common.loadFailedTitle")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:p("common.loadFailedDescription")})]}),l?(0,t.jsx)(r.Button,{type:"button",size:"sm",variant:"outline",onClick:l,children:p("common.retry")}):null]})}):o?(0,t.jsx)(t.Fragment,{children:c}):(0,t.jsx)(t.Fragment,{children:m})}])},80809,e=>{"use strict";let t=(0,e.i(65174).default)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],80809)},31483,e=>{"use strict";var t=e.i(88215);e.s(["ChevronDown",()=>t.default])},25284,e=>{"use strict";var t=e.i(87014);let a=Object.assign({},t.toast,{error:(e,a)=>t.toast.error(e,{duration:6e3,...a})});e.s(["toast",0,a])},540,e=>{"use strict";let t=(0,e.i(65174).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],540)},83736,e=>{"use strict";let t=(0,e.i(65174).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],83736)},76806,e=>{"use strict";let t="github-dark-default",a=null,r=new Set,i={ts:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",json:"json",jsonc:"jsonc",json5:"json5",md:"markdown",mdx:"mdx",py:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cc:"cpp",cpp:"cpp",cxx:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",swift:"swift",scala:"scala",lua:"lua",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",sql:"sql",css:"css",scss:"scss",less:"less",html:"html",htm:"html",vue:"vue",svelte:"svelte",xml:"xml",svg:"xml",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",conf:"ini",cfg:"ini",tf:"hcl",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"proto",r:"r",jl:"julia",dart:"dart",ex:"elixir",exs:"elixir",erl:"erlang",hs:"haskell",clj:"clojure",vim:"vim",diff:"diff",patch:"diff",tex:"latex",dockerfile:"dockerfile",env:"dotenv"},n={dockerfile:"dockerfile","dockerfile.dev":"dockerfile",makefile:"makefile",gnumakefile:"makefile",".env":"dotenv",".env.example":"dotenv",".env.sample":"dotenv",".env.template":"dotenv"};async function s(s,o){let l=function(e){let t=e.toLowerCase(),a=t.split("/").pop()??t,r=n[a];if(r)return r;let s=a.lastIndexOf(".");return s<=0?null:i[a.slice(s+1)]??null}(o);if(!l)return null;try{let i=await (!a&&(a=e.A(24612).then(({createHighlighter:e})=>e({themes:[t],langs:[]}))),a);r.has(l)||(await i.loadLanguage(l),r.add(l));let{tokens:n}=i.codeToTokens(s,{lang:l,theme:t});return n}catch{return null}}e.s(["highlightWorkspaceCode",0,s,"tokenFontStyle",0,function(e){let t=e??0;return{italic:(1&t)!=0,bold:(2&t)!=0,underline:(4&t)!=0}}])},12057,e=>{"use strict";var t=e.i(66499),a=e.i(94237),r=e.i(79923),i=e.i(91967),n=e.i(43250),s=e.i(77275),o=e.i(90088),l=e.i(80939),d=e.i(25486),c=e.i(17256),u=e.i(33616),m="Tabs",[p,f]=(0,n.createContextScope)(m,[s.createRovingFocusGroupScope]),g=(0,s.createRovingFocusGroupScope)(),[h,v]=p(m),x=r.forwardRef((e,a)=>{let{__scopeTabs:r,value:i,onValueChange:n,defaultValue:s,orientation:o="horizontal",dir:p,activationMode:f="automatic",...g}=e,v=(0,d.useDirection)(p),[x,b]=(0,c.useControllableState)({prop:i,onChange:n,defaultProp:s??"",caller:m});return(0,t.jsx)(h,{scope:r,baseId:(0,u.useId)(),value:x,onValueChange:b,orientation:o,dir:v,activationMode:f,children:(0,t.jsx)(l.Primitive.div,{dir:v,"data-orientation":o,...g,ref:a})})});x.displayName=m;var b="TabsList",y=r.forwardRef((e,a)=>{let{__scopeTabs:r,loop:i=!0,...n}=e,o=v(b,r),d=g(r);return(0,t.jsx)(s.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:i,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:a})})});y.displayName=b;var j="TabsTrigger",k=r.forwardRef((e,a)=>{let{__scopeTabs:r,value:n,disabled:o=!1,...d}=e,c=v(j,r),u=g(r),m=N(c.baseId,n),p=T(c.baseId,n),f=n===c.value;return(0,t.jsx)(s.Item,{asChild:!0,...u,focusable:!o,active:f,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":p,"data-state":f?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...d,ref:a,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||o||!e||c.onValueChange(n)})})})});k.displayName=j;var C="TabsContent",w=r.forwardRef((e,a)=>{let{__scopeTabs:i,value:n,forceMount:s,children:d,...c}=e,u=v(C,i),m=N(u.baseId,n),p=T(u.baseId,n),f=n===u.value,g=r.useRef(f);return r.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(o.Presence,{present:s||f,children:({present:r})=>(0,t.jsx)(l.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!r,id:p,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:g.current?"0s":void 0},children:r&&d})})});function N(e,t){return`${e}-trigger-${t}`}function T(e,t){return`${e}-content-${t}`}w.displayName=C,e.s(["Content",0,w,"List",0,y,"Root",0,x,"Tabs",0,x,"TabsContent",0,w,"TabsList",0,y,"TabsTrigger",0,k,"Trigger",0,k,"createTabsScope",0,f],73558);var A=e.i(73558),A=A,M=e.i(65458);let L=(0,a.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:a="horizontal",...r}){return(0,t.jsx)(A.Root,{"data-slot":"tabs","data-orientation":a,orientation:a,className:(0,M.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...r})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(A.Content,{"data-slot":"tabs-content",className:(0,M.cn)("flex-1 outline-none",e),...a})},"TabsList",0,function({className:e,variant:a="default",...r}){return(0,t.jsx)(A.List,{"data-slot":"tabs-list","data-variant":a,className:(0,M.cn)(L({variant:a}),e),...r})},"TabsTrigger",0,function({className:e,...a}){return(0,t.jsx)(A.Trigger,{"data-slot":"tabs-trigger",className:(0,M.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[background-color,border-color,color,box-shadow,opacity] group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...a})}],12057)},25742,e=>{"use strict";e.s(["ancestorPaths",0,function(e){let t=e.split("/"),a=[];for(let e=1;e<t.length;e+=1)a.push(t.slice(0,e).join("/"));return a},"filterWorkspaceFiles",0,function(e,t,a=100){let r=t.trim().toLowerCase();return r?(function e(t){return t.flatMap(t=>"directory"===t.kind?e(t.children??[]):"file"===t.kind?[t]:[])})(e).filter(e=>e.name.toLowerCase().includes(r)||e.path.toLowerCase().includes(r)).slice(0,a):[]},"formatBytes",0,function(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`},"formatWorkspaceTime",0,function(e,t){let a=new Date(e);return Number.isNaN(a.getTime())?e:a.toLocaleString(t)}])},93657,e=>{"use strict";var t=e.i(66499),a=e.i(87307),r=e.i(2527),i=e.i(65458);e.s(["CliBrandChip",0,function({aiTool:e,className:n}){let s=(0,r.getCliBrand)(e);return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex shrink-0 items-center gap-1.5 rounded-full border border-border/60 bg-muted/30 px-2 py-0.5 text-[11px] font-medium text-muted-foreground",n),title:s.label,children:["unknown"===s.id?(0,t.jsx)("span",{className:"size-1.5 rounded-full",style:{backgroundColor:s.color}}):(0,t.jsx)(a.CliBrandIcon,{aiTool:e,className:"mcode"===s.id?"size-3.5":"size-3"}),s.label]})}])},63641,39311,e=>{"use strict";var t=e.i(66499),a=e.i(78717),r=e.i(87307),i=e.i(46131),n=e.i(35887),s=e.i(47721),o=e.i(79923);let l=["adapter-order"];function d(e){let{data:t}=(0,a.useQuery)({queryKey:l,queryFn:s.getAdapterOrder,staleTime:6e4}),r=t?.order;return(0,o.useMemo)(()=>(function(e,t){if(0===t.length)return[...e];let a=new Map(t.map((e,t)=>[e,t]));return[...e].sort((e,r)=>(a.get(e.id)??t.length)-(a.get(r.id)??t.length))})(e,r??[]),[e,r])}e.s(["ADAPTER_ORDER_QUERY_KEY",0,l,"useOrderedAdapters",0,d],39311);let c=["adapter-discovery"];function u(e,t){return(0,s.isAdapterLaunchable)(e)&&(!t||t.includes(e.id))}e.s(["ADAPTER_DISCOVERY_QUERY_KEY",0,c,"AdapterSelect",0,function({value:e,onValueChange:o,supported:l,showMissing:m=!0,disabled:p=!1,size:f="default",id:g,ariaLabel:h,className:v,placeholder:x}){let{t:b}=(0,n.useLanguage)(),{data:y,isLoading:j}=(0,a.useQuery)({queryKey:c,queryFn:s.discoverAdapters,staleTime:3e4}),k=d(y?.adapters??[]).filter(e=>m||e.available);return(0,t.jsxs)(i.Select,{value:e||void 0,onValueChange:e=>o(e),disabled:p||j,children:[(0,t.jsx)(i.SelectTrigger,{id:g,"aria-label":h,size:f,className:v,children:(0,t.jsx)(i.SelectValue,{placeholder:j?b("common.loading"):x})}),(0,t.jsx)(i.SelectContent,{children:k.map(e=>{let a=e.available?l&&!l.includes(e.id)?b("models.adapterNotSupported"):e.launchEnabled?null:b("projects.runtimeLaunchDisabled"):b("check_failed"===e.status?"projects.runtimeCheckFailed":"projects.runtimeUnavailable");return(0,t.jsxs)(i.SelectItem,{value:e.id,disabled:!u(e,l),children:[(0,t.jsx)(r.CliBrandIcon,{aiTool:e.id}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate",children:[e.label,a?` (${a})`:""]})]},e.id)})})]})},"chooseDefaultAdapter",0,function(e,t,a){let r=e.find(e=>e.id===a);return r&&u(r,t)?r.id:e.find(e=>u(e,t))?.id},"isAdapterSelectable",0,u],63641)},71326,e=>{"use strict";let t=(0,e.i(65174).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],71326)},57793,e=>{"use strict";var t=e.i(66499),a=e.i(47849),r=e.i(60218),i=e.i(9988),n=e.i(35887);e.s(["ConfirmDialog",0,function({open:e,title:s,description:o,confirmLabel:l,destructive:d=!1,pending:c=!1,onOpenChange:u,onConfirm:m}){let{t:p}=(0,n.useLanguage)();return(0,t.jsx)(i.Dialog,{open:e,onOpenChange:e=>{e||c||u(!1)},children:(0,t.jsxs)(i.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsxs)(i.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(a.AlertTriangle,{className:d?"size-5 shrink-0 text-destructive":"size-5 shrink-0 text-muted-foreground"}),s]}),(0,t.jsx)(i.DialogDescription,{children:o})]}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(r.Button,{type:"button",variant:"outline",disabled:c,onClick:()=>u(!1),children:p("common.cancel")}),(0,t.jsx)(r.Button,{type:"button",variant:d?"destructive":"default",disabled:c,onClick:m,children:l??p("common.confirm")})]})]})})}])},80078,e=>{"use strict";let t=(0,e.i(65174).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],80078)},17854,e=>{"use strict";var t=e.i(66499),a=e.i(79923),r=e.i(80939),i=a.forwardRef((e,a)=>(0,t.jsx)(r.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label",e.s(["Label",0,i,"Root",0,i],37587);var n=e.i(37587),n=n,s=e.i(65458);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)(n.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}],17854)},62918,e=>{"use strict";var t=e.i(66499),a=e.i(94237),r=e.i(82909),i=e.i(65458);let n=(0,a.cva)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:a="default",asChild:s=!1,...o}){let l=s?r.Slot.Root:"span";return(0,t.jsx)(l,{"data-slot":"badge","data-variant":a,className:(0,i.cn)(n({variant:a}),e),...o})}])},12603,e=>{"use strict";var t=e.i(66499),a=e.i(65458);e.s(["Card",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...r})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...r})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...r})}])},47849,e=>{"use strict";var t=e.i(66936);e.s(["AlertTriangle",()=>t.default])},34487,e=>{"use strict";let t=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],34487)},35808,e=>{"use strict";let t=(0,e.i(65174).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],35808)},79447,e=>{"use strict";let t=(0,e.i(65174).default)("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);e.s(["FileCode2",0,t],79447)},63039,e=>{"use strict";var t=e.i(97480);e.s(["ShieldAlert",()=>t.default])},98859,81365,e=>{"use strict";var t=e.i(66499);function a(e){return Math.min(100,Math.max(0,Math.round(e)))}function r(e){return e>=80?"bg-gradient-to-r from-red-600 to-red-400":e>=50?"bg-gradient-to-r from-amber-600 to-amber-400":"bg-gradient-to-r from-emerald-600 to-emerald-400"}function i(e){return e>=80?"text-red-400":e>=50?"text-amber-400":"text-emerald-400"}function n(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/0+$/,"").replace(/\.$/,"")}e.s(["formatQuotaAmount",0,n,"quotaBarToneClass",0,r,"quotaTextToneClass",0,i,"quotaUsagePercent",0,function(e){return"%"===e.unit?a(100-e.remaining):void 0===e.limit||e.limit<=0?null:a((1-e.remaining/e.limit)*100)}],81365);var s=e.i(35887),o=e.i(65458);let l={keychain:"models.cliAccountQuotaKeychain",no_native_login:"models.cliAccountQuotaNoNativeLogin",api_key_mode:"models.cliAccountQuotaApiKeyMode",token_expired:"models.cliAccountQuotaTokenExpired",upstream_error:"models.cliAccountQuotaUpstreamError"};function d({entry:e,t:a}){var l,u,m;let p,f=(0,s.useUiLocale)(),g=void 0!==(l=e).usedPercent?c(l.usedPercent):void 0!==l.limit&&l.limit>0&&void 0!==l.remaining?c((1-l.remaining/l.limit)*100):null;return(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:e.label}),null!==g?(0,t.jsxs)("span",{className:(0,o.cn)("shrink-0 text-[11px] font-semibold tabular-nums",i(g)),title:`${a("models.cliAccountQuotaUsed")} ${g}%`,children:[g,(0,t.jsx)("span",{className:"text-[10px] font-normal",children:"%"})]}):void 0!==e.remaining?(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] tabular-nums",children:[n(e.remaining),void 0!==e.limit?` / ${n(e.limit)}`:""]}):null]}),null!==g?(0,t.jsx)("div",{className:"mt-1 h-1.5 overflow-hidden rounded-full bg-muted/60",role:"progressbar","aria-valuenow":g,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`${e.label} ${a("models.cliAccountQuotaUsed")} ${g}%`,title:`${a("models.cliAccountQuotaUsed")} ${g}%`,children:(0,t.jsx)("div",{className:(0,o.cn)("h-full rounded-full transition-[width] duration-700 ease-out",r(g)),style:{width:`${g}%`}})}):null,void 0!==e.limit||e.resetsAt?(0,t.jsxs)("div",{className:"mt-0.5 flex items-center justify-between gap-2 text-[10px] text-muted-foreground/70 tabular-nums",children:[void 0!==e.limit&&void 0!==e.remaining?(0,t.jsxs)("span",{className:"font-mono",children:[n(e.remaining)," / ",n(e.limit)]}):(0,t.jsx)("span",{}),e.resetsAt?(0,t.jsxs)("span",{className:"shrink-0",children:[a("models.cliAccountQuotaResets")," ",(u=e.resetsAt,m=f,Number.isNaN((p=new Date(u)).getTime())?u:p.toLocaleString(m,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}))]}):null]}):null]})}function c(e){return Math.min(100,Math.max(0,Math.round(e)))}e.s(["CliQuotaSummary",0,function({quota:e,t:a}){return e?e.supported&&e.entries.length>0?(0,t.jsxs)("div",{className:"space-y-1.5",children:[e.planLabel?(0,t.jsx)("div",{className:"truncate text-[10px] font-medium text-muted-foreground",children:e.planLabel}):null,e.entries.map(e=>(0,t.jsx)(d,{entry:e,t:a},`${e.label}-${e.resetsAt??""}`))]}):!e.supported&&e.unsupportedReason?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a(l[e.unsupportedReason])}):null:null},"LOGIN_HINT_KEYS",0,{claude:"models.cliAccountLoginHintClaude",codex:"models.cliAccountLoginHintCodex",kimi:"models.cliAccountLoginHintKimi",mcode:"models.cliAccountLoginHintMcode"},"loginMethodLabel",0,function(e,t){if(e&&"unknown"!==e)switch(e){case"chatgpt":return"ChatGPT";case"oauth":return t("models.authTypeOauth");case"api":case"api_key":return t("models.authTypeApiKey");default:return e}}],98859)},80703,e=>{"use strict";let t=(0,e.i(65174).default)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);e.s(["Gauge",0,t],80703)},24612,e=>{e.v(t=>Promise.all(["static/chunks/0z.fq_zd_n4x0.js","static/chunks/0rn5o811f3gsb.js"].map(t=>e.l(t))).then(()=>t(7222)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7329,e=>{"use strict";let t=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7329)},88010,e=>{"use strict";var t=e.i(66499),a=e.i(65458);e.s(["Textarea",0,function({className:e,...i}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("min-h-24 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-2 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","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...i})}])},34558,e=>{"use strict";let t=(0,e.i(65174).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],34558)},63134,83540,96588,84959,e=>{"use strict";var t=e.i(66499),a=e.i(41271),i=e.i(86059),s=e.i(34558),n=e.i(65174);let r=(0,n.default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,r],83540);let l=(0,n.default)("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",0,l],96588);let o=(0,n.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,o],84959);var d=e.i(4484),c=e.i(60218),u=e.i(42831);e.s(["CopilotSettingsShell",0,function({active:e,title:n,description:p,children:m}){let x,h=(0,u.useSettingsCopy)(),v=(0,i.useRouter)(),b=(x=(0,u.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:d.SlidersHorizontal,label:x.navGeneral},{key:"extensions",href:"/copilot/extensions",icon:l,label:x.navExtensions},{key:"channels",href:"/copilot/channels",icon:o,label:x.navChannels},{key:"automations",href:"/copilot/automations",icon:r,label:x.navAutomations}]);return(0,t.jsxs)("div",{className:"mx-auto flex h-full w-full max-w-6xl flex-col gap-5 overflow-y-auto p-4 pt-16 md:p-6",children:[(0,t.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2",children:[(0,t.jsx)(c.Button,{variant:"ghost",size:"icon","aria-label":h.backToChat,title:h.backToChat,onClick:()=>v.push("/copilot"),children:(0,t.jsx)(s.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold",children:n}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:p})]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 lg:flex-row lg:gap-8",children:[(0,t.jsx)("div",{className:"relative min-w-0 lg:w-[200px] lg:shrink-0",children:(0,t.jsx)("nav",{"aria-label":h.navAriaLabel,className:"forgebadger-animate-in flex shrink-0 gap-1 overflow-x-auto pb-1 [mask-image:linear-gradient(to_right,black_80%,transparent)] lg:flex-col lg:overflow-visible lg:pb-0 lg:[mask-image:none]",style:{animationDelay:"60ms"},children:b.map(i=>{let s=i.icon,n=i.key===e;return(0,t.jsxs)(a.default,{href:i.href,"aria-current":n?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${n?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,t.jsx)(s,{className:`size-4 shrink-0 ${n?"text-brand":""}`}),i.label]},i.key)})})}),(0,t.jsx)("div",{className:"min-w-0 max-w-3xl flex-1",children:m})]})]})}],63134)},77275,e=>{"use strict";var t=e.i(79923),a=e.i(91967),i=e.i(41986),s=e.i(67928),n=e.i(43250),r=e.i(33616),l=e.i(80939),o=e.i(36131),d=e.i(17256),c=e.i(25486),u=e.i(66499),p="rovingFocusGroup.onEntryFocus",m={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[h,v,b]=(0,i.createCollection)(x),[f,g]=(0,n.createContextScope)(x,[b]),[y,k]=f(x),j=t.forwardRef((e,t)=>(0,u.jsx)(h.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(h.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(C,{...e,ref:t})})}));j.displayName=x;var C=t.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:h=!1,dir:b,currentTabStopId:f,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:k,onEntryFocus:j,preventScrollOnEntryFocus:C=!1,...w}=e,S=t.useRef(null),N=(0,s.useComposedRefs)(i,S),E=(0,c.useDirection)(b),[I,H]=(0,d.useControllableState)({prop:f,defaultProp:g??null,onChange:k,caller:x}),[L,P]=t.useState(!1),R=(0,o.useCallbackRef)(j),B=v(n),D=t.useRef(!1),[K,z]=t.useState(0);return t.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(p,R),()=>e.removeEventListener(p,R)},[R]),(0,u.jsx)(y,{scope:n,orientation:r,dir:E,loop:h,currentTabStopId:I,onItemFocus:t.useCallback(e=>H(e),[H]),onItemShiftTab:t.useCallback(()=>P(!0),[]),onFocusableItemAdd:t.useCallback(()=>z(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>z(e=>e-1),[]),children:(0,u.jsx)(l.Primitive.div,{tabIndex:L||0===K?-1:0,"data-orientation":r,...w,ref:N,style:{outline:"none",...e.style},onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,()=>{D.current=!0}),onFocus:(0,a.composeEventHandlers)(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!L){let t=new CustomEvent(p,m);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=B().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),C)}}D.current=!1}),onBlur:(0,a.composeEventHandlers)(e.onBlur,()=>P(!1))})})}),w="RovingFocusGroupItem",S=t.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:s,focusable:n=!0,active:o=!1,tabStopId:d,children:c,...p}=e,m=(0,r.useId)(),x=d||m,b=k(w,s),f=b.currentTabStopId===x,g=v(s),{onFocusableItemAdd:y,onFocusableItemRemove:j,currentTabStopId:C}=b;return t.useEffect(()=>{if(n)return y(),()=>j()},[n,y,j]),(0,u.jsx)(h.ItemSlot,{scope:s,id:x,focusable:n,active:o,children:(0,u.jsx)(l.Primitive.span,{tabIndex:f?0:-1,"data-orientation":b.orientation,...p,ref:i,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{n?b.onItemFocus(x):e.preventDefault()}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>b.onItemFocus(x)),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void b.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,a){var i;let s=(i=e.key,"rtl"!==a?i:"ArrowLeft"===i?"ArrowRight":"ArrowRight"===i?"ArrowLeft":i);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return N[s]}(e,b.orientation,b.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=g().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var a,i;"prev"===t&&s.reverse();let n=s.indexOf(e.currentTarget);s=b.loop?(a=s,i=n+1,a.map((e,t)=>a[(i+t)%a.length])):s.slice(n+1)}setTimeout(()=>T(s))}}),children:"function"==typeof c?c({isCurrentTabStop:f,hasTabStop:null!=C}):c})})});S.displayName=w;var N={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let a=document.activeElement;for(let i of e)if(i===a||(i.focus({preventScroll:t}),document.activeElement!==a))return}e.s(["Item",0,S,"Root",0,j,"createRovingFocusGroupScope",0,g])},12057,e=>{"use strict";var t=e.i(66499),a=e.i(94237),i=e.i(79923),s=e.i(91967),n=e.i(43250),r=e.i(77275),l=e.i(90088),o=e.i(80939),d=e.i(25486),c=e.i(17256),u=e.i(33616),p="Tabs",[m,x]=(0,n.createContextScope)(p,[r.createRovingFocusGroupScope]),h=(0,r.createRovingFocusGroupScope)(),[v,b]=m(p),f=i.forwardRef((e,a)=>{let{__scopeTabs:i,value:s,onValueChange:n,defaultValue:r,orientation:l="horizontal",dir:m,activationMode:x="automatic",...h}=e,b=(0,d.useDirection)(m),[f,g]=(0,c.useControllableState)({prop:s,onChange:n,defaultProp:r??"",caller:p});return(0,t.jsx)(v,{scope:i,baseId:(0,u.useId)(),value:f,onValueChange:g,orientation:l,dir:b,activationMode:x,children:(0,t.jsx)(o.Primitive.div,{dir:b,"data-orientation":l,...h,ref:a})})});f.displayName=p;var g="TabsList",y=i.forwardRef((e,a)=>{let{__scopeTabs:i,loop:s=!0,...n}=e,l=b(g,i),d=h(i);return(0,t.jsx)(r.Root,{asChild:!0,...d,orientation:l.orientation,dir:l.dir,loop:s,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:a})})});y.displayName=g;var k="TabsTrigger",j=i.forwardRef((e,a)=>{let{__scopeTabs:i,value:n,disabled:l=!1,...d}=e,c=b(k,i),u=h(i),p=S(c.baseId,n),m=N(c.baseId,n),x=n===c.value;return(0,t.jsx)(r.Item,{asChild:!0,...u,focusable:!l,active:x,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":m,"data-state":x?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:p,...d,ref:a,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;x||l||!e||c.onValueChange(n)})})})});j.displayName=k;var C="TabsContent",w=i.forwardRef((e,a)=>{let{__scopeTabs:s,value:n,forceMount:r,children:d,...c}=e,u=b(C,s),p=S(u.baseId,n),m=N(u.baseId,n),x=n===u.value,h=i.useRef(x);return i.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(l.Presence,{present:r||x,children:({present:i})=>(0,t.jsx)(o.Primitive.div,{"data-state":x?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":p,hidden:!i,id:m,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:h.current?"0s":void 0},children:i&&d})})});function S(e,t){return`${e}-trigger-${t}`}function N(e,t){return`${e}-content-${t}`}w.displayName=C,e.s(["Content",0,w,"List",0,y,"Root",0,f,"Tabs",0,f,"TabsContent",0,w,"TabsList",0,y,"TabsTrigger",0,j,"Trigger",0,j,"createTabsScope",0,x],73558);var T=e.i(73558),T=T,E=e.i(65458);let I=(0,a.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:a="horizontal",...i}){return(0,t.jsx)(T.Root,{"data-slot":"tabs","data-orientation":a,orientation:a,className:(0,E.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...i})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(T.Content,{"data-slot":"tabs-content",className:(0,E.cn)("flex-1 outline-none",e),...a})},"TabsList",0,function({className:e,variant:a="default",...i}){return(0,t.jsx)(T.List,{"data-slot":"tabs-list","data-variant":a,className:(0,E.cn)(I({variant:a}),e),...i})},"TabsTrigger",0,function({className:e,...a}){return(0,t.jsx)(T.Trigger,{"data-slot":"tabs-trigger",className:(0,E.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[background-color,border-color,color,box-shadow,opacity] group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...a})}],12057)},90280,e=>{"use strict";var t=e.i(66499),a=e.i(38011),i=e.i(79923),s=e.i(67928),n=e.i(43250),r=e.i(91967),l=e.i(17256),o=e.i(84017),d=e.i(61614),c=e.i(90088),u=e.i(80939),p="Checkbox",[m,x]=(0,n.createContextScope)(p),[h,v]=m(p);function b(e){let{__scopeCheckbox:a,checked:s,children:n,defaultChecked:r,disabled:o,form:d,name:c,onCheckedChange:u,required:m,value:x="on",internal_do_not_use_render:v}=e,[b,f]=(0,l.useControllableState)({prop:s,defaultProp:r??!1,onChange:u,caller:p}),[g,y]=i.useState(null),[k,j]=i.useState(null),C=i.useRef(!1),w=!g||!!d||!!g.closest("form"),N={checked:b,disabled:o,setChecked:f,control:g,setControl:y,name:c,form:d,value:x,hasConsumerStoppedPropagationRef:C,required:m,defaultChecked:!S(r)&&r,isFormControl:w,bubbleInput:k,setBubbleInput:j};return(0,t.jsx)(h,{scope:a,...N,children:"function"==typeof v?v(N):n})}var f="CheckboxTrigger",g=i.forwardRef(({__scopeCheckbox:e,onKeyDown:a,onClick:n,...l},o)=>{let{control:d,value:c,disabled:p,checked:m,required:x,setControl:h,setChecked:b,hasConsumerStoppedPropagationRef:g,isFormControl:y,bubbleInput:k}=v(f,e),j=(0,s.useComposedRefs)(o,h),C=i.useRef(m);return i.useEffect(()=>{let e=d?.form;if(e){let t=()=>b(C.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,b]),(0,t.jsx)(u.Primitive.button,{type:"button",role:"checkbox","aria-checked":S(m)?"mixed":m,"aria-required":x,"data-state":N(m),"data-disabled":p?"":void 0,disabled:p,value:c,...l,ref:j,onKeyDown:(0,r.composeEventHandlers)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,r.composeEventHandlers)(n,e=>{b(e=>!!S(e)||!e),k&&y&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});g.displayName=f;var y=i.forwardRef((e,a)=>{let{__scopeCheckbox:i,name:s,checked:n,defaultChecked:r,required:l,disabled:o,value:d,onCheckedChange:c,form:u,...p}=e;return(0,t.jsx)(b,{__scopeCheckbox:i,checked:n,defaultChecked:r,disabled:o,required:l,onCheckedChange:c,name:s,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{...p,ref:a,__scopeCheckbox:i}),e&&(0,t.jsx)(w,{__scopeCheckbox:i})]})})});y.displayName=p;var k="CheckboxIndicator",j=i.forwardRef((e,a)=>{let{__scopeCheckbox:i,forceMount:s,...n}=e,r=v(k,i);return(0,t.jsx)(c.Presence,{present:s||S(r.checked)||!0===r.checked,children:(0,t.jsx)(u.Primitive.span,{"data-state":N(r.checked),"data-disabled":r.disabled?"":void 0,...n,ref:a,style:{pointerEvents:"none",...e.style}})})});j.displayName=k;var C="CheckboxBubbleInput",w=i.forwardRef(({__scopeCheckbox:e,...a},n)=>{let{control:r,hasConsumerStoppedPropagationRef:l,checked:c,defaultChecked:p,required:m,disabled:x,name:h,value:b,form:f,bubbleInput:g,setBubbleInput:y}=v(C,e),k=(0,s.useComposedRefs)(n,y),j=(0,o.usePrevious)(c),w=(0,d.useSize)(r);i.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(j!==c&&e){let a=new Event("click",{bubbles:t});g.indeterminate=S(c),e.call(g,!S(c)&&c),g.dispatchEvent(a)}},[g,j,c,l]);let N=i.useRef(!S(c)&&c);return(0,t.jsx)(u.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??N.current,required:m,disabled:x,name:h,value:b,form:f,...a,tabIndex:-1,ref:k,style:{...a.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function S(e){return"indeterminate"===e}function N(e){return S(e)?"indeterminate":e?"checked":"unchecked"}w.displayName=C,e.s(["Checkbox",0,y,"CheckboxIndicator",0,j,"Indicator",0,j,"Root",0,y,"createCheckboxScope",0,x,"unstable_BubbleInput",0,w,"unstable_CheckboxBubbleInput",0,w,"unstable_CheckboxProvider",0,b,"unstable_CheckboxTrigger",0,g,"unstable_Provider",0,b,"unstable_Trigger",0,g],36380);var T=e.i(36380),T=T,E=e.i(65458);e.s(["Checkbox",0,function({className:e,...i}){return(0,t.jsx)(T.Root,{"data-slot":"checkbox",className:(0,E.cn)("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary dark:aria-invalid:ring-destructive/40",e),...i,children:(0,t.jsx)(T.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,t.jsx)(a.CheckIcon,{className:"size-3.5"})})})}],90280)},89176,e=>{"use strict";let t=(0,e.i(65174).default)("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);e.s(["Plug",0,t],89176)},81007,e=>{"use strict";let t=(0,e.i(65174).default)("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",0,t],81007)},15044,e=>{"use strict";var t=e.i(35887);let a={effectiveUnavailable:"已开启,但当前不可用",customized:"自定义内容",reviewedAgainst:"已核对内置版本",updateHelp:"已保留当前内容。核对完成前,Copilot 不会加载此 Skill。请对照新版,选择采用新版或保留编辑后的内容。",currentPackage:"当前文件包",bundledPackage:"内置新版",adoptBuiltin:"采用内置新版",adoptHelp:"采用新版将替换整个文件包,包括附加文件。原内容保留在版本记录中,可回滚;启用开关保持不变。",acknowledge:"我已对照新版核对当前编辑内容",keepReviewed:"保留编辑内容并完成核对",clearCredential:"移除已保存凭证",title:"Copilot 扩展",description:"安装 Skills,连接工具服务,扩展 Copilot 的工作能力。",back:"返回设置",skills:"Skills",connections:"Connections",loading:"加载中…",retry:"重试",cancel:"取消",save:"保存",close:"关闭",error:"操作失败。请重试;如配置或版本已变化,请刷新后重新核对。",loadError:"加载失败,请重试。",skillsHelp:"Skills 提供操作指引和参考文件。这里的启用状态独立于 CLI Skills。",emptySkills:"尚未安装 Skill。",importSkill:"导入 Skill",builtin:"内置",imported:"已导入",playbook:"内置 Playbook",enabled:"已启用",disabled:"已停用",unavailable:"当前不可用",incompatible:"不兼容",review:"待核对内置更新",dependencies:"依赖工具",detail:"详情与版本",source:"来源",files:"文件",version:"版本",history:"版本记录",saveSkill:"保存完整文件包",rollback:"回滚到此版本",rollbackConfirm:"确认回滚",rollbackHelp:"回滚将创建新的完整文件包版本,并保留现有历史。",noHistory:"暂无版本记录。",builtinReview:"普通保存只保存编辑内容,不代表已核对内置更新。Skill 指引不会授予工具权限。",paste:"粘贴 SKILL.md",upload:"选择文件包",url:"公开 raw URL",importMethod:"导入方式",chooseFiles:"选择文件",chooseFolder:"选择文件夹",importHelp:"文件包需包含根目录 SKILL.md。支持最多 65 个 UTF-8 文本文件、每文件 128 KiB、总计 1 MiB。脚本及执行型扩展会标为不兼容。",fileError:"文件包无效:请检查根目录 SKILL.md、UTF-8 编码、路径及大小限制。",urlHelp:"公开 HTTPS raw URL 导入单个 SKILL.md;配套文件请通过文件包一并导入。",install:"导入并保留为停用",edit:"编辑",importContent:"SKILL.md 正文",selectedFiles:"已选择文件",connectionsHelp:"Connection 提供 Copilot 可调用的工具。工具启用状态在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台内置工具,沿用现有项目授权和逐项审批。",manageTools:"管理工具",addConnection:"添加 MCP Connection",emptyConnections:"尚未添加外部 Connection。",name:"名称",endpoint:"HTTPS 端点",bearer:"Bearer Token(可选,仅写入)",credentialSet:"凭证已配置",credentialKeep:"留空保留已有凭证",connectHelp:"支持公开 HTTPS 的 MCP Streamable HTTP 服务。创建后先发现工具,再明确选择允许 Copilot 使用的工具。",remoteApproval:"外部工具调用需逐项审批;项目授权和定时任务不会自动获得调用权限。",discover:"发现工具",notDiscovered:"尚未发现工具",noTools:"服务未返回工具。",selectTools:"选择工具",saveTools:"保存工具选择",delete:"删除",deleteConfirm:"确认删除此 Connection?",editConnection:"编辑连接",create:"创建连接",tools:"工具",configurationHelp:"更换端点或凭证会清空已发现工具,需要重新发现并选择。",schema:"输入参数",revision:"修订",refreshing:"处理中…"},i={effectiveUnavailable:"Switched on, but unavailable",customized:"Customized",reviewedAgainst:"Reviewed against bundled version",updateHelp:"Your content is preserved. Copilot cannot load this Skill until reviewed. Compare with the new bundle, then adopt it or retain your edited content.",currentPackage:"Current package",bundledPackage:"New bundled package",adoptBuiltin:"Adopt bundled version",adoptHelp:"Adopting replaces the entire package, including extra files. Previous content remains in version history for rollback; the enabled switch stays unchanged.",acknowledge:"I have compared my edited content with the new bundle",keepReviewed:"Keep edited content and confirm review",clearCredential:"Remove saved credential",title:"Copilot extensions",description:"Install Skills and connect tool services to extend Copilot.",back:"Back to settings",skills:"Skills",connections:"Connections",loading:"Loading…",retry:"Retry",cancel:"Cancel",save:"Save",close:"Close",error:"Action failed. Retry, or refresh and review if the configuration or revision changed.",loadError:"Failed to load. Please retry.",skillsHelp:"Skills provide instructions and reference files. Their switches are independent from CLI Skills.",emptySkills:"No Skills installed.",importSkill:"Import Skill",builtin:"Built-in",imported:"Imported",playbook:"Built-in Playbook",enabled:"Enabled",disabled:"Disabled",unavailable:"Unavailable",incompatible:"Incompatible",review:"Version review required",dependencies:"Required tools",detail:"Details and versions",source:"Source",files:"Files",version:"Version",history:"Version history",saveSkill:"Save complete package",rollback:"Roll back to this version",rollbackConfirm:"Confirm rollback",rollbackHelp:"Rollback creates a new complete package revision and preserves existing history.",noHistory:"No revisions yet.",builtinReview:"Saving edits does not acknowledge a bundled update. Skill instructions do not grant tool permissions.",paste:"Paste SKILL.md",upload:"Select file bundle",url:"Public raw URL",importMethod:"Import method",chooseFiles:"Choose files",chooseFolder:"Choose folder",importHelp:"Include SKILL.md at the package root. Up to 65 UTF-8 text files, 128 KiB per file, 1 MiB total. Scripts and executable extensions are marked incompatible.",fileError:"Invalid package: check root SKILL.md, UTF-8 encoding, paths, and size limits.",urlHelp:"A public HTTPS raw URL imports one SKILL.md. Include supporting files through a file bundle.",install:"Import as disabled",edit:"Edit",importContent:"SKILL.md content",selectedFiles:"Selected files",connectionsHelp:"Connections provide callable tools. Manage tool switches within each Connection.",builtinHelp:"Built-in ForgeBadger platform tools retain project autonomy checks and exact approvals.",manageTools:"Manage tools",addConnection:"Add MCP connection",emptyConnections:"No external Connections added.",name:"Name",endpoint:"HTTPS endpoint",bearer:"Bearer Token (optional, write-only)",credentialSet:"Credential configured",credentialKeep:"Leave blank to keep the saved credential",connectHelp:"Supports public HTTPS MCP Streamable HTTP services. Discover tools after creation, then explicitly select tools for Copilot.",remoteApproval:"External tool calls require exact approval. Project autonomy and scheduled tasks do not grant access.",discover:"Discover tools",notDiscovered:"Tools not discovered",noTools:"The service returned no tools.",selectTools:"Select tools",saveTools:"Save tool selection",delete:"Delete",deleteConfirm:"Delete this Connection?",editConnection:"Edit connection",create:"Create connection",tools:"Tools",configurationHelp:"Changing the endpoint or credential clears discovered tools. Discover and select them again.",schema:"Input schema",revision:"Revision",refreshing:"Working…"},s={...a,effectiveUnavailable:"已開啟,但目前不可用",customized:"自訂內容",reviewedAgainst:"已核對內建版本",source:"來源",updateHelp:"已保留目前內容。核對完成前,Copilot 不會載入此 Skill。請對照新版,選擇採用新版或保留編輯後的內容。",currentPackage:"目前檔案包",bundledPackage:"內建新版",adoptBuiltin:"採用內建新版",adoptHelp:"採用新版將取代整個檔案包,包括附加檔案。原內容保留在版本紀錄中,可還原;啟用開關保持不變。",acknowledge:"我已對照新版核對目前編輯內容",keepReviewed:"保留編輯內容並完成核對",clearCredential:"移除已儲存憑證",title:"Copilot 擴充",description:"安裝 Skills,連接工具服務,擴充 Copilot 的工作能力。",back:"返回設定",loading:"載入中…",retry:"重試",save:"儲存",close:"關閉",error:"操作失敗。請重試;如設定或版本已變更,請重新整理後核對。",loadError:"載入失敗,請重試。",skillsHelp:"Skills 提供操作指引和參考檔案。這裡的啟用狀態獨立於 CLI Skills。",emptySkills:"尚未安裝 Skill。",importSkill:"匯入 Skill",builtin:"內建",imported:"已匯入",playbook:"內建 Playbook",enabled:"已啟用",disabled:"已停用",unavailable:"目前不可用",review:"待核對內建更新",dependencies:"依賴工具",detail:"詳情與版本",files:"檔案",history:"版本紀錄",saveSkill:"儲存完整檔案包",rollback:"還原到此版本",rollbackConfirm:"確認還原",rollbackHelp:"還原將建立新的完整檔案包版本,並保留現有歷史。",noHistory:"暫無版本紀錄。",builtinReview:"一般儲存僅儲存編輯內容,不代表已核對內建更新。Skill 指引不會授予工具權限。",paste:"貼上 SKILL.md",upload:"選擇檔案包",url:"公開 raw URL",importMethod:"匯入方式",chooseFiles:"選擇檔案",chooseFolder:"選擇資料夾",importHelp:"檔案包需包含根目錄 SKILL.md。支援最多 65 個 UTF-8 文字檔案、每檔案 128 KiB、總計 1 MiB。指令碼及執行型擴充會標為不相容。",fileError:"檔案包無效:請檢查根目錄 SKILL.md、UTF-8 編碼、路徑及大小限制。",urlHelp:"公開 HTTPS raw URL 匯入單個 SKILL.md;配套檔案請透過檔案包一併匯入。",install:"匯入並保留為停用",edit:"編輯",importContent:"SKILL.md 內文",selectedFiles:"已選擇檔案",incompatible:"不相容",connectionsHelp:"Connection 提供 Copilot 可呼叫的工具。工具啟用狀態在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台內建工具,沿用現有專案授權和逐項審核。",addConnection:"新增 MCP Connection",emptyConnections:"尚未新增外部 Connection。",name:"名稱",endpoint:"HTTPS 端點",bearer:"Bearer Token(可選,僅寫入)",credentialSet:"憑證已設定",credentialKeep:"留空保留已有憑證",connectHelp:"支援公開 HTTPS 的 MCP Streamable HTTP 服務。建立後先探索工具,再明確選擇允許 Copilot 使用的工具。",remoteApproval:"外部工具呼叫需逐項審核;專案授權和排程任務不會自動獲得呼叫權限。",discover:"探索工具",notDiscovered:"尚未探索工具",noTools:"服務未傳回工具。",selectTools:"選擇工具",saveTools:"儲存工具選擇",delete:"刪除",deleteConfirm:"確認刪除此 Connection?",editConnection:"編輯連線",create:"建立連線",configurationHelp:"更換端點或憑證會清空已探索工具,需要重新探索並選擇。",schema:"輸入參數",revision:"修訂",refreshing:"處理中…"};e.s(["useExtensionsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?i:"zh-TW"===e?s:a}])},32148,e=>{"use strict";var t=e.i(66499),a=e.i(78717),i=e.i(81007),s=e.i(89176),n=e.i(62918),r=e.i(12057),l=e.i(79923),o=e.i(6270),d=e.i(7329),c=e.i(9939),u=e.i(60218),p=e.i(90280),m=e.i(9988),x=e.i(81622),h=e.i(26624),v=e.i(41081),b=e.i(19813),f=e.i(15044),g=e.i(99831);function y(){let e=(0,f.useExtensionsCopy)(),[i,r]=(0,l.useState)(!1),[o,p]=(0,l.useState)(!1),x=(0,a.useQuery)({queryKey:g.copilotConnectionsKey,queryFn:g.listCopilotConnections,retry:!1}),h=x.data?.connections.filter(e=>"mcp"===e.kind)??[];return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.connectionsHelp}),(0,t.jsxs)(u.Button,{size:"sm",onClick:()=>r(!0),children:[(0,t.jsx)(d.Plus,{className:"size-4"}),e.addConnection]})]}),(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Wrench,{className:"size-4 text-brand"}),(0,t.jsx)("h2",{className:"font-medium",children:"ForgeBadger"}),(0,t.jsx)(n.Badge,{variant:"secondary",children:e.builtin})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.builtinHelp}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>p(!0),children:e.manageTools})]}),x.isPending?(0,t.jsx)("p",{children:e.loading}):x.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:e.loadError}),(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:()=>void x.refetch(),children:e.retry})]}):0===h.length?(0,t.jsx)(b.CopilotEmptyState,{icon:s.Plug,title:e.emptyConnections,description:e.connectionsHelp}):h.map(e=>(0,t.jsx)(C,{connection:e},`${e.id}:${e.revision}`)),(0,t.jsx)(m.Dialog,{open:o,onOpenChange:p,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsxs)(m.DialogTitle,{children:["ForgeBadger · ",e.tools]}),(0,t.jsx)(m.DialogDescription,{children:e.builtinHelp})]}),(0,t.jsx)(v.CapabilitiesSection,{active:o})]})}),(0,t.jsx)(m.Dialog,{open:i,onOpenChange:r,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:e.addConnection}),(0,t.jsx)(m.DialogDescription,{children:e.connectHelp})]}),i&&(0,t.jsx)(j,{onDone:()=>r(!1)})]})})]})}function k(){let e=(0,o.useQueryClient)();return async()=>{await Promise.all([e.invalidateQueries({queryKey:g.copilotConnectionsKey}),e.invalidateQueries({queryKey:g.copilotSkillsKey})])}}function j({connection:e,onDone:a}){let i=(0,f.useExtensionsCopy)(),s=k(),[n,r]=(0,l.useState)(e?.name??""),[o,d]=(0,l.useState)(e?.endpoint??""),[c]=(0,l.useState)(e?.revision),[m,h]=(0,l.useState)(""),[v,b]=(0,l.useState)(!1),[y,C]=(0,l.useState)(!1),[w,S]=(0,l.useState)(!1);async function N(){if(!y){h(""),C(!0),S(!1);try{let t={name:n.trim(),endpoint:o.trim()};e&&void 0!==c?await (0,g.updateCopilotConnection)(e.id,{revision:c,...t,...v?{bearerToken:null}:m?{bearerToken:m}:{}}):await (0,g.createCopilotConnection)({...t,...m?{bearerToken:m}:{}}),await s(),a()}catch{S(!0)}finally{C(!1)}}}return(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),N()},children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.name}),(0,t.jsx)(x.Input,{required:!0,maxLength:80,value:n,onChange:e=>r(e.target.value),disabled:y})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.endpoint}),(0,t.jsx)(x.Input,{required:!0,type:"url",maxLength:2048,pattern:"https://.*",value:o,onChange:e=>d(e.target.value),disabled:y,placeholder:"https://mcp.example.com/mcp"})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:i.bearer}),(0,t.jsx)(x.Input,{type:"password",maxLength:4096,autoComplete:"new-password",value:m,onChange:e=>h(e.target.value),disabled:y||v,placeholder:e?.hasCredential?i.credentialKeep:""})]}),e?.hasCredential&&(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(p.Checkbox,{"aria-label":i.clearCredential,checked:v,disabled:y,onCheckedChange:e=>{b(!0===e),h("")}}),i.clearCredential]}),e&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.configurationHelp}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:i.remoteApproval}),w&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:i.error}),(0,t.jsx)(u.Button,{type:"submit",disabled:y,children:y?i.refreshing:e?i.save:i.create})]})}function C({connection:e}){let a=(0,f.useExtensionsCopy)(),i=k(),[r,o]=(0,l.useState)(!1),[d,c]=(0,l.useState)(!1),[x,v]=(0,l.useState)(!1),[b,y]=(0,l.useState)(e.tools.filter(e=>e.enabled).map(e=>e.name)),[w,S]=(0,l.useState)(!1),[N,T]=(0,l.useState)(!1);async function E(e){if(!w){S(!0),T(!1);try{await e(),await i()}catch{T(!0)}finally{S(!1)}}}let I=e.tools.filter(e=>e.enabled&&e.compatible).length;return(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(s.Plug,{className:"size-4 shrink-0 text-brand"}),(0,t.jsx)("h2",{className:"break-all font-medium",children:e.name}),(0,t.jsx)(n.Badge,{variant:"outline",children:"MCP"}),(0,t.jsx)(n.Badge,{variant:"secondary",className:e.enabled?"bg-emerald-500/15 text-emerald-400":"text-muted-foreground",children:e.enabled?a.enabled:a.disabled})]}),(0,t.jsx)("p",{className:"break-all text-xs text-muted-foreground",children:e.endpoint})]}),(0,t.jsx)(h.Switch,{"aria-label":e.name,disabled:w,checked:e.enabled,onCheckedChange:t=>void E(()=>(0,g.updateCopilotConnection)(e.id,{revision:e.revision,enabled:t}))})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground",children:["not_discovered"===e.status?(0,t.jsx)(n.Badge,{variant:"secondary",className:"bg-amber-500/15 text-amber-400",children:a.notDiscovered}):(0,t.jsxs)(n.Badge,{variant:"outline",children:[I,"/",e.tools.length," ",a.tools]}),e.hasCredential&&(0,t.jsx)(n.Badge,{variant:"outline",children:a.credentialSet})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.remoteApproval}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:w,onClick:()=>void E(()=>(0,g.discoverCopilotConnection)(e.id,e.revision)),children:w?a.refreshing:a.discover}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:w||"ready"!==e.status,onClick:()=>c(e=>!e),children:a.selectTools}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",disabled:w,onClick:()=>o(!0),children:a.edit}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",disabled:w,onClick:()=>v(!0),children:a.delete})]}),d&&(0,t.jsxs)("div",{className:"space-y-3 border-t border-border/70 pt-3",children:[0===e.tools.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:a.noTools}),e.tools.map(e=>(0,t.jsxs)("div",{className:"space-y-1 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)(p.Checkbox,{"aria-label":e.name,checked:b.includes(e.name),disabled:w||!e.compatible,onCheckedChange:t=>y(a=>!0===t?[...a,e.name]:a.filter(t=>t!==e.name))}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"break-all font-mono",children:e.name}),(0,t.jsx)("span",{className:"mt-1 block text-xs text-muted-foreground",children:e.description})]})]}),(0,t.jsx)("p",{className:"break-all text-xs text-muted-foreground",children:e.modelName}),!e.compatible&&(0,t.jsxs)("p",{className:"text-xs text-amber-500",children:[a.incompatible,": ",e.unavailableReason]}),(0,t.jsxs)("details",{className:"text-xs text-muted-foreground",children:[(0,t.jsx)("summary",{children:a.schema}),(0,t.jsx)("pre",{className:"mt-2 max-h-40 overflow-auto whitespace-pre-wrap break-all",children:JSON.stringify(e.inputSchema,null,2)})]})]},e.name)),(0,t.jsx)(u.Button,{size:"sm",disabled:w,onClick:()=>void E(()=>(0,g.updateCopilotConnection)(e.id,{revision:e.revision,enabledTools:b})),children:a.saveTools})]}),N&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:a.error}),(0,t.jsx)(m.Dialog,{open:r,onOpenChange:o,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:a.editConnection}),(0,t.jsx)(m.DialogDescription,{children:a.configurationHelp})]}),r&&(0,t.jsx)(j,{connection:e,onDone:()=>o(!1)})]})}),(0,t.jsx)(m.Dialog,{open:x,onOpenChange:v,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:a.deleteConfirm}),(0,t.jsx)(m.DialogDescription,{children:e.name})]}),(0,t.jsx)(u.Button,{variant:"destructive",disabled:w,onClick:()=>void E(()=>(0,g.deleteCopilotConnection)(e.id,e.revision)),children:a.delete}),N&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:a.error})]})})]})}var w=e.i(47849),S=e.i(46131),N=e.i(88010);function T(e){if(!e.length||e.length>65||!e.some(e=>"SKILL.md"===e.path))throw Error("invalid_skill_package");let t=new Set,a=0;for(let i of e){if(!i.path||i.path.startsWith("/")||/[\\\u0000-\u001f:]/.test(i.path)||i.path.split("/").some(e=>!e||"."===e||".."===e)||t.has(i.path))throw Error("invalid_skill_path");t.add(i.path);let e=new TextEncoder().encode(i.content).byteLength;if(a+=e,e>131072||i.content.includes("\0")||a>1048576)throw Error("skill_package_too_large_or_binary")}}async function E(e){let t=Array.from(e);if(t.length>65||t.some(e=>e.size>131072)||t.reduce((e,t)=>e+t.size,0)>1048576)throw Error("skill_package_too_large");let a=t.map(e=>e.webkitRelativePath||e.name),i=a[0]?.split("/")[0],s=i&&a.every(e=>e.startsWith(`${i}/`))&&a.includes(`${i}/SKILL.md`),n=[];for(let[e,r]of t.entries())n.push({path:s?a[e].slice(i.length+1):a[e],content:new TextDecoder("utf-8",{fatal:!0}).decode(await r.arrayBuffer())});return T(n),n}function I({disabled:e,onFiles:a}){let i=(0,f.useExtensionsCopy)(),[s,n]=(0,l.useState)(!1),[r,o]=(0,l.useState)(!1);async function d(e){if(e.files){o(!0),n(!1);try{a(await E(e.files))}catch{n(!0)}finally{o(!1),e.value=""}}}return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"space-y-1 text-xs",children:[(0,t.jsx)("span",{children:i.chooseFiles}),(0,t.jsx)(x.Input,{type:"file",multiple:!0,disabled:e||r,onChange:e=>void d(e.currentTarget)})]}),(0,t.jsxs)("label",{className:"space-y-1 text-xs",children:[(0,t.jsx)("span",{children:i.chooseFolder}),(0,t.jsx)(x.Input,{type:"file",multiple:!0,webkitdirectory:"",disabled:e||r,onChange:e=>void d(e.currentTarget)})]})]}),r&&(0,t.jsx)("p",{className:"text-xs",children:i.loading}),s&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:i.fileError})]})}function H({onDone:e}){let a=(0,f.useExtensionsCopy)(),i=(0,o.useQueryClient)(),[s,n]=(0,l.useState)("paste"),[r,d]=(0,l.useState)(""),[c,p]=(0,l.useState)(""),[m,h]=(0,l.useState)([]),[v,b]=(0,l.useState)(!1),[y,k]=(0,l.useState)(null);async function j(){if(v)return;k(null);let t="paste"===s?[{path:"SKILL.md",content:r}]:m;if("url"!==s)try{T(t)}catch{k(a.fileError);return}b(!0);try{await (0,g.importCopilotSkill)("url"===s?{source:{kind:"url",url:c.trim()}}:{source:{kind:"paste"===s?"paste":"upload"},files:t}),await i.invalidateQueries({queryKey:g.copilotSkillsKey}),e()}catch{k(a.error)}finally{b(!1)}}return(0,t.jsxs)("form",{className:"space-y-4",onSubmit:e=>{e.preventDefault(),j()},children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:a.importMethod}),(0,t.jsxs)("select",{"aria-label":a.importMethod,className:"h-9 w-full rounded-md border border-input bg-background px-2",value:s,disabled:v,onChange:e=>{n(e.target.value),k(null)},children:[(0,t.jsx)("option",{value:"paste",children:a.paste}),(0,t.jsx)("option",{value:"upload",children:a.upload}),(0,t.jsx)("option",{value:"url",children:a.url})]})]}),"paste"===s?(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:a.importContent}),(0,t.jsx)(N.Textarea,{required:!0,className:"min-h-64 font-mono text-xs",value:r,disabled:v,onChange:e=>d(e.target.value),placeholder:"---\nname: project-review\ndescription: Review project status\n---\n# Project review\n"})]}):"url"===s?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{children:a.url}),(0,t.jsx)(x.Input,{required:!0,type:"url",pattern:"https://.*",value:c,disabled:v,onChange:e=>p(e.target.value),placeholder:"https://example.com/SKILL.md"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.urlHelp})]}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(I,{disabled:v,onFiles:h}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.selectedFiles,": ",m.length]}),(0,t.jsx)("ul",{className:"max-h-32 overflow-auto text-xs",children:m.map(e=>(0,t.jsx)("li",{className:"break-all font-mono",children:e.path},e.path))})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.importHelp}),y&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:y}),(0,t.jsx)(u.Button,{type:"submit",disabled:v||"upload"===s&&!m.length,children:v?a.refreshing:a.install})]})}function L({currentFiles:e,bundled:a,busy:i,editable:s,acknowledged:n,onAcknowledge:r,onAdopt:l,onKeep:o}){let d=(0,f.useExtensionsCopy)();return(0,t.jsxs)("section",{className:"space-y-3 rounded-md border border-border bg-muted/20 p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:d.updateHelp}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(P,{title:d.currentPackage,files:e}),(0,t.jsx)(P,{title:`${d.bundledPackage} v${a.version}`,files:a.files})]}),s&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d.adoptHelp}),(0,t.jsx)(u.Button,{size:"sm",disabled:i,onClick:l,children:d.adoptBuiltin}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-border/70 pt-3",children:[(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:n,disabled:i,onChange:e=>r(e.target.checked)}),d.acknowledge]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",className:"h-auto whitespace-normal text-left",disabled:i||!n,onClick:o,children:d.keepReviewed})]})]})]})}function P({title:e,files:a}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:e}),(0,t.jsx)("div",{className:"max-h-64 space-y-2 overflow-auto rounded-md border border-border/70 p-2",children:a.map(e=>(0,t.jsxs)("details",{open:"SKILL.md"===e.path,children:[(0,t.jsx)("summary",{className:"break-all font-mono text-xs",children:e.path}),(0,t.jsx)("pre",{className:"whitespace-pre-wrap break-words text-xs [overflow-wrap:anywhere]",children:e.content})]},e.path))})]})}function R(){let e=(0,f.useExtensionsCopy)(),[s,n]=(0,l.useState)(!1),[r,o]=(0,l.useState)(null),c=(0,a.useQuery)({queryKey:g.copilotSkillsKey,queryFn:g.listCopilotSkills,retry:!1});return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.skillsHelp}),(0,t.jsxs)(u.Button,{size:"sm",onClick:()=>n(!0),children:[(0,t.jsx)(d.Plus,{className:"size-4"}),e.importSkill]})]}),c.isPending?(0,t.jsx)("p",{children:e.loading}):c.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:e.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void c.refetch(),children:e.retry})]}):c.data?.skills.length?c.data.skills.map(e=>(0,t.jsx)(K,{skill:e,onOpen:()=>o(e)},e.id)):(0,t.jsx)(b.CopilotEmptyState,{icon:i.BookOpen,title:e.emptySkills,description:e.skillsHelp}),(0,t.jsx)(m.Dialog,{open:s,onOpenChange:n,children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-2xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:e.importSkill}),(0,t.jsx)(m.DialogDescription,{children:e.skillsHelp})]}),s&&(0,t.jsx)(H,{onDone:()=>n(!1)})]})}),(0,t.jsx)(m.Dialog,{open:!!r,onOpenChange:e=>{e||o(null)},children:(0,t.jsxs)(m.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-3xl",children:[(0,t.jsxs)(m.DialogHeader,{children:[(0,t.jsx)(m.DialogTitle,{children:r?.name}),(0,t.jsx)(m.DialogDescription,{children:e.detail})]}),r&&(0,t.jsx)(z,{id:r.id})]})})]})}function B({children:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-amber-500/40 bg-amber-500/10 p-3 text-xs text-amber-600 dark:text-amber-400",children:[(0,t.jsx)(w.AlertTriangle,{className:"mt-0.5 size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0",children:e})]})}function D({skill:e}){let a=(0,f.useExtensionsCopy)();return(0,t.jsxs)("div",{className:"space-y-1.5 text-xs",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,t.jsx)(n.Badge,{variant:"outline",children:"builtin-playbook"===e.kind?a.playbook:a.imported}),(0,t.jsx)(n.Badge,{variant:"secondary",children:e.isEnabled?e.available?a.enabled:a.effectiveUnavailable:a.disabled}),(0,t.jsxs)(n.Badge,{variant:"outline",children:["v",e.version]}),e.customized&&(0,t.jsx)(n.Badge,{variant:"outline",children:a.customized})]}),!e.compatible&&(0,t.jsxs)(B,{children:[a.incompatible,": ",e.incompatibilityReasons.join("; ")]}),e.reviewRequired&&(0,t.jsxs)(B,{children:[a.review,": v",e.reviewedBuiltinVersion??e.version," → v",e.currentVersion]}),e.isEnabled&&!e.available&&!e.reviewRequired&&e.compatible&&(0,t.jsxs)(B,{children:[a.unavailable,": ",e.unavailableReason]}),!e.reviewRequired&&e.customized&&e.reviewedBuiltinVersion&&(0,t.jsxs)("p",{className:"text-muted-foreground",children:[a.reviewedAgainst,": v",e.reviewedBuiltinVersion]}),e.requiredTools.length>0&&(0,t.jsxs)("p",{className:"break-all text-muted-foreground",children:[a.dependencies,": ",e.requiredTools.join(", ")]})]})}function K({skill:e,onOpen:a}){let s=(0,f.useExtensionsCopy)(),n=(0,o.useQueryClient)(),[r,d]=(0,l.useState)(!1),[c,p]=(0,l.useState)(!1);async function m(t){if(!r){d(!0),p(!1);try{await (0,g.setCopilotSkillEnabled)(e.id,t,e.revisionId),await n.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{p(!0)}finally{d(!1)}}}return(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,t.jsxs)("h2",{className:"flex items-center gap-2 font-medium",children:[(0,t.jsx)(i.BookOpen,{className:"size-4 shrink-0 text-brand"}),(0,t.jsx)("span",{className:"break-all",children:e.name})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]}),(0,t.jsx)(h.Switch,{"aria-label":e.name,checked:e.isEnabled,disabled:r||!e.editable||!e.isEnabled&&(!e.compatible||e.reviewRequired),onCheckedChange:e=>void m(e)})]}),(0,t.jsx)(D,{skill:e}),(0,t.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[s.source,": ",e.source.url??e.source.label??e.source.kind]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:a,children:s.detail}),c&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:s.error})]})}function z({id:e}){let i=(0,f.useExtensionsCopy)(),s=(0,a.useQuery)({queryKey:[...g.copilotSkillsKey,e],queryFn:()=>(0,g.getCopilotSkill)(e),retry:!1});return s.isPending?(0,t.jsx)("p",{children:i.loading}):s.isError||!s.data?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-sm text-destructive",children:[(0,t.jsx)("p",{children:i.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void s.refetch(),children:i.retry})]}):(0,t.jsx)(F,{skill:s.data.skill},s.data.skill.revisionId)}function F({skill:e}){let a=(0,f.useExtensionsCopy)(),i=(0,o.useQueryClient)(),[s,n]=(0,l.useState)(e.files),[r,d]=(0,l.useState)("SKILL.md"),[c,p]=(0,l.useState)(!1),[m,x]=(0,l.useState)(null),[h,v]=(0,l.useState)(!1),[b,y]=(0,l.useState)(!1);async function k(t=!1){if(!c&&(!t||b)){x(null);try{T(s)}catch{x(a.fileError);return}p(!0);try{await (0,g.updateCopilotSkill)(e.id,{expectedRevisionId:e.revisionId,files:s,...t?{reviewedVersion:e.currentVersion}:{}}),await i.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{x(a.error)}finally{p(!1)}}}async function j(){if(!c&&e.bundled){p(!0),x(null);try{await (0,g.adoptBuiltinSkill)(e.id,e.revisionId,e.bundled.version),await i.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{x(a.error)}finally{p(!1)}}}return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(D,{skill:e}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-muted-foreground",children:[(0,t.jsxs)("span",{children:[a.files,": ",s.length]}),(0,t.jsxs)("span",{children:[a.revision,": ",e.revisionId]})]}),e.reviewRequired&&e.bundled&&(0,t.jsx)(L,{currentFiles:s,bundled:e.bundled,busy:c,editable:e.editable,acknowledged:b,onAcknowledge:y,onAdopt:()=>void j(),onKeep:()=>void k(!0)}),(0,t.jsxs)("div",{className:"space-y-1 text-sm",children:[(0,t.jsx)("span",{children:a.files}),(0,t.jsxs)(S.Select,{value:r,onValueChange:d,children:[(0,t.jsx)(S.SelectTrigger,{"aria-label":a.files,className:"h-9 w-full",children:(0,t.jsx)(S.SelectValue,{})}),(0,t.jsx)(S.SelectContent,{children:s.map(e=>(0,t.jsx)(S.SelectItem,{value:e.path,children:e.path},e.path))})]})]}),(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{className:"break-all font-mono",children:r}),(0,t.jsx)(N.Textarea,{className:"min-h-64 font-mono text-xs",value:s.find(e=>e.path===r)?.content??"",disabled:c||!e.editable,onChange:e=>{y(!1),n(t=>t.map(t=>t.path===r?{...t,content:e.target.value}:t))}})]}),e.editable&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(I,{disabled:c,onFiles:e=>{y(!1),n(e),d("SKILL.md")}}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.importHelp}),"builtin-playbook"===e.kind&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a.builtinReview}),(0,t.jsx)(u.Button,{size:"sm",disabled:c,onClick:()=>void k(),children:c?a.refreshing:a.saveSkill})]}),m&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:m}),(0,t.jsxs)("div",{className:"border-t border-border/70 pt-3",children:[(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>v(e=>!e),children:a.history}),h&&(0,t.jsx)(M,{skill:e})]})]})}function M({skill:e}){let s=(0,f.useExtensionsCopy)(),[n,r]=(0,l.useState)(null),o=(0,a.useQuery)({queryKey:[...g.copilotSkillsKey,e.id,"revisions"],queryFn:()=>(0,g.listSkillRevisions)(e.id),retry:!1});return(0,t.jsx)("div",{className:"mt-3 space-y-3",children:o.isPending?(0,t.jsx)("p",{children:s.loading}):o.isError?(0,t.jsxs)("div",{role:"alert",children:[(0,t.jsx)("p",{className:"text-sm text-destructive",children:s.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void o.refetch(),children:s.retry})]}):o.data?.revisions.length?o.data.revisions.map(a=>(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("p",{className:"text-xs",children:["v",a.version," · ",a.action," · ",a.fileCount," ",s.files]}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",disabled:!e.editable||a.id===e.revisionId,onClick:()=>r(e=>e===a.id?null:a.id),children:s.rollback})]}),(0,t.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:[a.createdAt," · ",a.source.url??a.source.label??a.source.kind]}),n===a.id&&(0,t.jsx)(A,{skill:e,revisionId:a.id})]},a.id)):(0,t.jsx)(b.CopilotEmptyState,{icon:i.BookOpen,title:s.noHistory})})}function A({skill:e,revisionId:i}){let s=(0,f.useExtensionsCopy)(),n=(0,o.useQueryClient)(),[r,d]=(0,l.useState)(!1),[c,p]=(0,l.useState)(!1),m=(0,a.useQuery)({queryKey:[...g.copilotSkillsKey,e.id,"revisions",i],queryFn:()=>(0,g.getSkillRevision)(e.id,i),retry:!1});async function x(){if(!r){d(!0),p(!1);try{await (0,g.rollbackCopilotSkill)(e.id,i,e.revisionId),await n.invalidateQueries({queryKey:g.copilotSkillsKey})}catch{p(!0)}finally{d(!1)}}}return(0,t.jsxs)("div",{className:"space-y-2 border-t border-border/70 pt-2",children:[m.isPending?(0,t.jsx)("p",{children:s.loading}):m.isError?(0,t.jsxs)("div",{role:"alert",className:"space-y-2 text-xs text-destructive",children:[(0,t.jsx)("p",{children:s.loadError}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>void m.refetch(),children:s.retry})]}):m.data&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:s.rollbackHelp}),m.data.revision.files.map(e=>(0,t.jsxs)("details",{className:"text-xs",children:[(0,t.jsx)("summary",{className:"break-all font-mono",children:e.path}),(0,t.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/30 p-2",children:e.content})]},e.path)),(0,t.jsx)(u.Button,{size:"sm",disabled:r,onClick:()=>void x(),children:s.rollbackConfirm})]}),c&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:s.error})]})}var q=e.i(63134);e.s(["CopilotExtensionsPage",0,function(){let e=(0,f.useExtensionsCopy)(),l=(0,a.useQuery)({queryKey:g.copilotSkillsKey,queryFn:g.listCopilotSkills,retry:!1}),o=(0,a.useQuery)({queryKey:g.copilotConnectionsKey,queryFn:g.listCopilotConnections,retry:!1}),d=l.data?.skills.length,c=o.data?.connections.filter(e=>"mcp"===e.kind).length;return(0,t.jsx)(q.CopilotSettingsShell,{active:"extensions",title:e.title,description:e.description,children:(0,t.jsxs)(r.Tabs,{defaultValue:"skills",className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,t.jsxs)(r.TabsList,{"aria-label":e.title,children:[(0,t.jsxs)(r.TabsTrigger,{value:"skills",className:"gap-1.5",children:[(0,t.jsx)(i.BookOpen,{className:"size-3.5"}),e.skills,d?(0,t.jsx)(n.Badge,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:d}):null]}),(0,t.jsxs)(r.TabsTrigger,{value:"connections",className:"gap-1.5",children:[(0,t.jsx)(s.Plug,{className:"size-3.5"}),e.connections,c?(0,t.jsx)(n.Badge,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:c}):null]})]}),(0,t.jsx)(r.TabsContent,{value:"skills",className:"mt-4",children:(0,t.jsx)(R,{})}),(0,t.jsx)(r.TabsContent,{value:"connections",className:"mt-4",children:(0,t.jsx)(y,{})})]})})}],32148)}]);
@@ -0,0 +1,2 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54625,e=>{"use strict";var t=e.i(66499),s=e.i(79923),n=e.i(41271),i=e.i(86059),a=e.i(39867),r=e.i(58171),d=e.i(34976),o=e.i(65174);let l=(0,o.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),c=(0,o.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);var m=e.i(89176),u=e.i(33589);let x=(0,o.default)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var g=e.i(71326);let p=(0,o.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),h=(0,o.default)("MonitorSmartphone",[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]]),j=(0,o.default)("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);var f=e.i(85426),y=e.i(78717),b=e.i(6270),v=e.i(92351),N=e.i(17056),C=e.i(62918),w=e.i(60218),k=e.i(57793),S=e.i(81622),D=e.i(17854),F=e.i(12603),E=e.i(35887),L=e.i(30819),P=e.i(97943),R=e.i(37122),z=e.i(47721);let A={currentPassword:"",newPassword:"",confirmPassword:""};function K(){let{t:e}=(0,E.useLanguage)(),n=(0,L.useAdminCopy)(),i=(0,b.useQueryClient)(),[a,r]=(0,s.useState)(A),[d,o]=(0,s.useState)(!1),[l,c]=(0,s.useState)(null),[m,u]=(0,s.useState)(null),[x,g]=(0,s.useState)(!1),{data:p,isLoading:j,isError:C}=(0,y.useQuery)({queryKey:["auth-sessions"],queryFn:z.listAuthSessions}),K=(0,f.useMutation)({mutationFn:()=>(0,z.changePassword)(a.currentPassword,a.newPassword),onSuccess:()=>{r(A),o(!1),c(null),u(e("settings.account.passwordChanged")),(0,R.logout)(),setTimeout(()=>{window.location.href="/login"},1200)},onError:t=>{c(t.message||e("settings.account.passwordChangeFailed"))}}),B=(0,f.useMutation)({mutationFn:e=>(0,z.revokeAuthSession)(e),onSuccess:()=>{i.invalidateQueries({queryKey:["auth-sessions"]})}}),M=(0,f.useMutation)({mutationFn:z.revokeOtherAuthSessions,onSuccess:()=>{i.invalidateQueries({queryKey:["auth-sessions"]})}}),I=p?.sessions??[],_=(0,s.useMemo)(()=>I.filter(e=>!e.current).length,[I]);return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(v.KeyRound,{className:"size-4"}),title:e("settings.account.title"),description:e("settings.account.description")}),(0,t.jsxs)(F.CardContent,{className:"space-y-6",children:[m&&(0,t.jsx)("p",{className:"rounded-md border border-emerald-400/40 bg-emerald-400/10 px-3 py-2 text-xs text-emerald-400",children:m}),d?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(D.Label,{htmlFor:"current-password",className:"text-xs font-medium",children:e("settings.account.currentPassword")}),(0,t.jsx)(S.Input,{id:"current-password",type:"password",autoComplete:"current-password",value:a.currentPassword,onChange:e=>r(t=>({...t,currentPassword:e.target.value}))})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(D.Label,{htmlFor:"new-password",className:"text-xs font-medium",children:e("settings.account.newPassword")}),(0,t.jsx)(S.Input,{id:"new-password",type:"password",autoComplete:"new-password",value:a.newPassword,onChange:e=>r(t=>({...t,newPassword:e.target.value}))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(D.Label,{htmlFor:"confirm-password",className:"text-xs font-medium",children:e("settings.account.confirmPassword")}),(0,t.jsx)(S.Input,{id:"confirm-password",type:"password",autoComplete:"new-password",value:a.confirmPassword,onChange:e=>r(t=>({...t,confirmPassword:e.target.value}))})]})]}),l&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:l}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.account.passwordHint")}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"sm",disabled:K.isPending,onClick:function(){r(A),c(null),u(null),o(!1)},children:e("common.cancel")}),(0,t.jsx)(w.Button,{type:"button",size:"sm",variant:"brand",disabled:K.isPending||!a.currentPassword||!a.newPassword||!a.confirmPassword,onClick:function(){(c(null),u(null),a.newPassword.length<8)?c(e("settings.account.passwordTooShort")):a.newPassword!==a.confirmPassword?c(e("settings.account.passwordMismatch")):K.mutate()},children:K.isPending?e("settings.account.passwordChanging"):e("settings.account.passwordSubmit")})]})]})]}):(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e("settings.account.passwordSubmit")}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:e("settings.account.passwordHint")})]}),(0,t.jsx)(w.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>o(!0),children:e("settings.account.passwordSubmit")})]}),(0,t.jsxs)("div",{className:"space-y-3 border-t border-border/70 pt-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(h,{className:"size-4 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e("settings.account.devicesTitle")}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:e("settings.account.devicesDescription")})]})]}),_>0&&(0,t.jsxs)(w.Button,{type:"button",variant:"outline",size:"sm",disabled:M.isPending,onClick:()=>g(!0),children:[(0,t.jsx)(N.LogOut,{className:"size-3.5"}),M.isPending?e("settings.account.revoking"):e("settings.account.revokeOthers")]})]}),j?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.account.devicesLoading")}):C?(0,t.jsx)("p",{className:"text-xs text-destructive",children:e("settings.account.devicesLoadFailed")}):0===I.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.account.devicesEmpty")}):(0,t.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:I.map(e=>(0,t.jsx)(T,{session:e,revoking:B.isPending,onRevoke:()=>B.mutate(e.id)},e.id))})]})]}),(0,t.jsx)(k.ConfirmDialog,{open:x,destructive:!0,pending:M.isPending,title:n.revokeOthersConfirmTitle,description:n.revokeOthersConfirmDescription,onOpenChange:g,onConfirm:()=>{g(!1),M.mutate()}})]})}function T({session:e,revoking:s,onRevoke:n}){let{t:i}=(0,E.useLanguage)(),a=(0,E.useUiLocale)(),r=(0,L.useAdminCopy)();return(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:function(e){if(!e)return"";let t=/Edg\//.test(e)?"Edge":/Chrome\//.test(e)?"Chrome":/Safari\//.test(e)?"Safari":/Firefox\//.test(e)?"Firefox":"";return[/Windows/.test(e)?"Windows":/Mac OS X/.test(e)?"macOS":/Linux/.test(e)?"Linux":/Android/.test(e)?"Android":/iPhone|iPad/.test(e)?"iOS":"",t].filter(Boolean).join(" · ")}(e.userAgent)||i("settings.account.unknownDevice")}),e.current&&(0,t.jsx)(C.Badge,{children:i("settings.account.currentDevice")})]}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs font-medium text-foreground/80",children:[i("settings.account.lastActive"),":"," ",function(e,t){let s=Date.parse(e);if(Number.isNaN(s))return new Date(e).toLocaleString(t);let n=Math.round((s-Date.now())/1e3),i=Math.abs(n),a=new Intl.RelativeTimeFormat(t,{numeric:"auto"});return i<60?a.format(n,"second"):i<3600?a.format(Math.round(n/60),"minute"):i<86400?a.format(Math.round(n/3600),"hour"):a.format(Math.round(n/86400),"day")}(e.lastSeenAt,a)]}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[i("settings.account.signedInAt"),":"," ",new Date(e.createdAt).toLocaleString(a)," · ",r.deviceIdPrefix," ",e.id.slice(0,8)]})]}),!e.current&&(0,t.jsx)(w.Button,{type:"button",variant:"outline",size:"sm",disabled:s,onClick:n,children:i(s?"settings.account.revoking":"settings.account.revoke")})]})}var B=e.i(24967),M=e.i(57627),I=e.i(47849),_=e.i(29685),O=e.i(45139),U=e.i(80078),q=e.i(63641),Q=e.i(93657),H=e.i(8795),$=e.i(39311),G=e.i(23254),Y=e.i(65458);function V(){let{t:e}=(0,E.useLanguage)(),n=(0,b.useQueryClient)(),[i,a]=(0,s.useState)(null),[d,o]=(0,s.useState)(null),[l,c]=(0,s.useState)(!1),[m,u]=(0,s.useState)(!1),[x,g]=(0,s.useState)({}),[p,h]=(0,s.useState)({}),[j,v]=(0,s.useState)(!1),{data:N,isLoading:k,isFetching:S,isError:D,refetch:L}=(0,y.useQuery)({queryKey:q.ADAPTER_DISCOVERY_QUERY_KEY,queryFn:z.discoverAdapters}),{data:R,isFetching:A,isError:K,refetch:T}=(0,y.useQuery)({queryKey:["adapter-updates"],queryFn:()=>(0,z.checkAdapterUpdates)(),staleTime:3e5}),{data:_,isLoading:O,isFetching:Q,isError:V,refetch:W}=(0,y.useQuery)({queryKey:["dependencies"],queryFn:z.getDependencies}),Z=(0,$.useOrderedAdapters)(N?.adapters??[]),X=(0,B.useSensors)((0,B.useSensor)(B.PointerSensor,{activationConstraint:{distance:6}}),(0,B.useSensor)(B.KeyboardSensor,{coordinateGetter:M.sortableKeyboardCoordinates})),ee=(0,f.useMutation)({mutationFn:e=>(0,z.putAdapterOrder)(e),onMutate:async e=>{await n.cancelQueries({queryKey:$.ADAPTER_ORDER_QUERY_KEY});let t=n.getQueryData($.ADAPTER_ORDER_QUERY_KEY);return n.setQueryData($.ADAPTER_ORDER_QUERY_KEY,{order:e}),v(!1),{previous:t}},onError:(e,t,s)=>{n.setQueryData($.ADAPTER_ORDER_QUERY_KEY,s?.previous??{order:[]}),v(!0)},onSettled:()=>n.invalidateQueries({queryKey:$.ADAPTER_ORDER_QUERY_KEY})});async function et(){c(!0),u(!1);try{let e=(await Promise.allSettled([W(),L(),(0,z.checkAdapterUpdates)(!0)]))[2];"fulfilled"===e.status?n.setQueryData(["adapter-updates"],e.value):u(!0),await n.invalidateQueries({queryKey:["dashboard-summary"]})}finally{c(!1)}}async function es(e){a(e),g(t=>({...t,[e]:void 0}));try{let t=await (0,z.updateAdapter)(e);g(s=>({...s,[e]:t.versionStillBehind?"behind":"done"})),await Promise.all([L(),W(),T()])}catch{g(t=>({...t,[e]:"failed"}))}finally{a(null)}}async function en(e){o(e),h(t=>({...t,[e]:void 0}));try{let t=await (0,z.installAdapter)(e);h(s=>({...s,[e]:t.commandAvailable?"done":"not_detected"})),await Promise.allSettled([L(),W(),T()])}catch{h(t=>({...t,[e]:"failed"}))}finally{o(null)}}let ei=_?.terminalRuntime,ea=(0,G.getTerminalRuntimeSetupGuidance)(ei?.mode,ei?.supported),er=ei?.persistence,ed=_?.dependencies.find(e=>e.name===er),eo=ed?.version??ed?.error??ei?.message,el=S||Q||A||l;return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(r.Cpu,{className:"size-4"}),title:e("settings.adapters"),description:e("settings.adaptersDescription"),action:(0,t.jsxs)(w.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void et(),disabled:el,children:[(0,t.jsx)(U.RefreshCw,{className:(0,Y.cn)("size-3.5",el&&"animate-spin")}),e(el?"settings.discoveryRefreshing":"settings.discoveryRefresh")]})}),(0,t.jsxs)(F.CardContent,{className:"space-y-3",children:[O?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.dependenciesLoading")}):V?(0,t.jsx)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(I.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-destructive",children:e("settings.dependenciesLoadFailed")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("settings.discoveryLoadFailedDescription")})]})]})}):(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,Y.cn)("size-1.5 shrink-0 rounded-full",ea.blocked?"bg-red-400":"bg-emerald-400")}),(0,t.jsx)("span",{className:"text-sm font-medium",children:e("settings.terminalRuntimeReadiness")})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e(ea.descriptionKey)}),eo&&(0,t.jsx)("p",{className:"mt-2 break-all font-mono text-xs text-muted-foreground",children:eo})]}),(0,t.jsx)(C.Badge,{variant:ea.blocked?"destructive":"secondary",children:e(ea.blocked?"settings.launchBlocked":"settings.launchReady")})]}),ea.blocked&&(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsx)(H.RuntimeSetupCommands,{guidance:ea})})]}),k?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.discoveryLoading")}):D?(0,t.jsxs)("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 p-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(I.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-destructive",children:e("settings.discoveryLoadFailed")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("settings.discoveryLoadFailedDescription")})]})]}),(0,t.jsxs)(w.Button,{type:"button",variant:"outline",size:"sm",className:"mt-3",onClick:()=>void L(),children:[(0,t.jsx)(U.RefreshCw,{className:"size-3.5"}),e("settings.discoveryRetry")]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.adapterReadinessNotice")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.adapterOrderHint")}),j&&(0,t.jsx)("p",{role:"status",className:"text-xs text-destructive",children:e("settings.adapterOrderSaveFailed")}),(0,t.jsx)(B.DndContext,{sensors:X,collisionDetection:B.closestCenter,onDragEnd:function(e){let{active:t,over:s}=e;if(!s||t.id===s.id)return;let n=Z.map(e=>e.id),i=n.indexOf(t.id),a=n.indexOf(s.id);i<0||a<0||ee.mutate((0,M.arrayMove)(n,i,a))},children:(0,t.jsx)(M.SortableContext,{items:Z.map(e=>e.id),strategy:M.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"space-y-2",children:Z.map(e=>(0,t.jsx)(J,{adapter:e,update:m?void 0:R?.updates.find(t=>t.id===e.id),canUpdate:R?.canUpdate??!1,canInstall:R?.canInstall??!1,checkingUpdate:A||l,updateCheckFailed:K||m,updating:i===e.id,installing:d===e.id,operationBlocked:null!==i||null!==d,feedback:x[e.id],installFeedback:p[e.id],onUpdate:()=>void es(e.id),onInstall:()=>void en(e.id)},e.id))})})})]})]})]})}function J(e){let{t:s}=(0,E.useLanguage)(),{attributes:n,listeners:i,setNodeRef:a,transform:r,transition:d,isDragging:o}=(0,M.useSortable)({id:e.adapter.id});return(0,t.jsxs)("div",{ref:a,style:{transform:r?`translate3d(${r.x}px, ${r.y}px, 0)`:void 0,transition:d??void 0},className:(0,Y.cn)("flex items-start gap-1",o&&"relative z-10 opacity-80"),children:[(0,t.jsx)("button",{type:"button","aria-label":s("settings.adapterOrderDragHandle"),className:"mt-3 shrink-0 cursor-grab touch-none rounded p-0.5 text-muted-foreground hover:text-foreground active:cursor-grabbing",...n,...i,children:(0,t.jsx)(O.GripVertical,{className:"size-4"})}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(W,{...e})})]})}function W({adapter:e,update:s,canUpdate:n,canInstall:i,checkingUpdate:a,updateCheckFailed:r,updating:d,installing:o,operationBlocked:l,feedback:c,installFeedback:m,onUpdate:u,onInstall:x}){let{t:g}=(0,E.useLanguage)();return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 p-3 transition-colors hover:bg-muted/40",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,t.jsx)("span",{className:(0,Y.cn)("size-1.5 shrink-0 rounded-full",e.available?"bg-emerald-400":"bg-red-400")}),(0,t.jsx)(Q.CliBrandChip,{aiTool:e.id}),(0,t.jsxs)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:[e.command," --version"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,t.jsx)(C.Badge,{variant:e.available?"secondary":"outline",children:g(e.available?"settings.available":"settings.missing")}),(0,t.jsx)(C.Badge,{variant:"supported"===e.supportLevel?"secondary":"outline",children:g("supported"===e.supportLevel?"settings.supported":"settings.prototype")}),e.launchEnabled?(0,t.jsx)(C.Badge,{children:g("settings.launchEnabled")}):(0,t.jsx)(C.Badge,{variant:"outline",children:g("settings.launchDisabled")})]})]}),(0,t.jsx)("div",{className:"mt-2 text-xs text-muted-foreground",children:e.version??e.error??e.configDir}),e.available&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[s?.state==="update_available"?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-amber-500",children:[g("homebrew"===s.latestSource?"settings.adapterUpdateAvailableHomebrew":"settings.adapterUpdateAvailable"),": ",s.latestVersion]}),n?(0,t.jsxs)(w.Button,{type:"button",size:"sm",variant:"outline",disabled:l||a,onClick:u,children:[d?(0,t.jsx)(U.RefreshCw,{className:"size-3.5 animate-spin"}):(0,t.jsx)(_.Download,{className:"size-3.5"}),g(d?"settings.adapterUpdating":"settings.adapterUpdateNow")]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:g("settings.adapterUpdateAdminOnly")}),(0,t.jsx)("span",{className:"font-mono text-muted-foreground",children:s.command})]}):s?.state==="up_to_date"?(0,t.jsxs)("span",{className:"text-muted-foreground",children:[g("homebrew"===s.latestSource?"settings.adapterUpToDateHomebrew":"settings.adapterUpToDate"),": ",s.installedVersion]}):s?.state==="check_failed"||r?(0,t.jsx)("span",{className:"text-muted-foreground",children:g("settings.adapterUpdateCheckFailed")}):a?(0,t.jsx)("span",{className:"text-muted-foreground",children:g("settings.adapterUpdateChecking")}):null,c&&(0,t.jsx)("span",{role:"status",className:"failed"===c?"text-destructive":"text-muted-foreground",children:g("done"===c?"settings.adapterUpdateDone":"behind"===c?"settings.adapterUpdateBehind":"settings.adapterUpdateFailed")})]}),"missing"===e.status&&s?.state==="missing"&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)("span",{className:"font-mono text-muted-foreground",children:s.installCommand}),i?(0,t.jsxs)(w.Button,{type:"button",size:"sm",variant:"outline",disabled:l||a||!!s.installRequiresNode||"done"===m,onClick:x,children:[o?(0,t.jsx)(U.RefreshCw,{className:"size-3.5 animate-spin"}):(0,t.jsx)(_.Download,{className:"size-3.5"}),g(o?"settings.adapterInstalling":"settings.adapterInstallNow")]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:g("settings.adapterInstallAdminOnly")}),s.installRequiresNode&&(0,t.jsxs)("span",{className:"text-amber-500",children:[g("settings.adapterInstallRequiresNode")," ",s.installRequiresNode,"+"]})]}),m&&(0,t.jsx)("p",{role:"status",className:(0,Y.cn)("mt-2 text-xs","failed"===m?"text-destructive":"text-muted-foreground"),children:g("done"===m?"settings.adapterInstallDone":"not_detected"===m?"settings.adapterInstallNotDetected":"settings.adapterInstallFailed")}),e.runtimeModes.length>0&&(0,t.jsx)("div",{className:"mt-1.5 font-mono text-xs text-muted-foreground",children:e.runtimeModes.join(" / ")})]})}var Z=e.i(20553);let X=(0,o.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);function ee(){let{t:e}=(0,E.useLanguage)(),s=(0,E.useUiLocale)(),i=(0,L.useAdminCopy)(),{data:a,isLoading:r}=(0,y.useQuery)({queryKey:["audit-logs","settings"],queryFn:()=>(0,z.listAuditLogs)({limit:8})});return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(X,{className:"size-4"}),title:e("settings.auditHistory"),description:e("settings.auditDescription"),action:(0,t.jsx)(w.Button,{asChild:!0,size:"sm",variant:"ghost",className:"text-muted-foreground",children:(0,t.jsxs)(n.default,{href:"/history",children:[i.auditViewAll,(0,t.jsx)(Z.ArrowRight,{className:"size-3.5"})]})})}),(0,t.jsx)(F.CardContent,{children:r?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.auditLoading")}):(a?.auditLogs.length??0)===0?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2.5 py-6 text-center",children:[(0,t.jsx)("div",{className:"flex size-9 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(X,{className:"size-4"})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.auditEmpty")})]}):(0,t.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:a?.auditLogs.map(e=>(0,t.jsxs)("div",{className:"px-3 py-2.5 transition-colors hover:bg-muted/40",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:(0,L.auditActionLabel)(i,e.action)}),(0,t.jsx)(C.Badge,{variant:"outline",children:e.resourceType})]}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:new Date(e.createdAt).toLocaleString(s)})]},e.id))})})]})}let et=(0,o.default)("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]);var es=e.i(25284),en=e.i(26624);function ei(){let{t:e}=(0,E.useLanguage)(),s=(0,b.useQueryClient)(),{data:n,isLoading:i,isError:a}=(0,y.useQuery)({queryKey:["claude-route"],queryFn:z.getClaudeRoute,retry:!1}),r=(0,f.useMutation)({mutationFn:e=>(0,z.setClaudeRoute)(e),onSuccess:e=>{s.setQueryData(["claude-route"],e)},onError:t=>{es.toast.error(t instanceof Error?t.message:e("settings.claudeRouteUpdateFailed"))}}),d=n?.enabled===!0;return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(et,{className:"size-4"}),title:e("settings.claudeRoute"),description:e("settings.claudeRouteDescription"),action:(0,t.jsx)(en.Switch,{checked:d,disabled:i||a||r.isPending,onCheckedChange:e=>r.mutate(e),"aria-label":e("settings.claudeRoute")})}),(0,t.jsx)(F.CardContent,{className:"space-y-3",children:a?(0,t.jsx)("p",{className:"text-xs text-destructive",children:e("settings.claudeRouteLoadFailed")}):n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(C.Badge,{variant:d?"secondary":"outline",children:d?e("settings.claudeRouteStateEnabled"):e("settings.claudeRouteStateDisabled")}),(0,t.jsx)("span",{className:"break-all font-mono text-xs text-muted-foreground",children:n.gatewayUrl})]}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e("settings.claudeRouteAssignmentLabel"),":"," ",n.assignment?(0,t.jsx)("span",{className:"font-medium text-foreground",children:n.assignment.providerName}):e("settings.claudeRouteNoAssignment")]}),d&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("settings.claudeRouteGatewayDown")})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("common.loading")})})]})}function ea(){let{t:e}=(0,E.useLanguage)(),[n,i]=(0,s.useState)("idle");async function a(){i("exporting");try{var e;let t,s,n,a,{report:r}=await (0,z.exportDiagnostics)();t=(e=r).generatedAt.replace(/[:.]/g,"-"),s=new Blob([`${JSON.stringify(e,null,2)}
2
+ `],{type:"application/json"}),n=URL.createObjectURL(s),(a=document.createElement("a")).href=n,a.download=`forgebadger-diagnostics-${t}.json`,a.click(),URL.revokeObjectURL(n),i("success")}catch{i("error")}}return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(_.Download,{className:"size-4"}),title:e("settings.diagnostics"),description:e("settings.diagnosticsDescription")}),(0,t.jsxs)(F.CardContent,{className:"space-y-3",children:[(0,t.jsxs)(w.Button,{type:"button",variant:"outline",size:"sm",onClick:a,disabled:"exporting"===n,children:[(0,t.jsx)(_.Download,{className:"size-4"}),e("exporting"===n?"settings.diagnosticsExporting":"settings.diagnosticsExport")]}),(0,t.jsx)("p",{className:(0,Y.cn)("text-xs","success"===n?"text-emerald-400":"error"===n?"text-destructive":"text-muted-foreground"),children:e("success"===n?"settings.diagnosticsExported":"error"===n?"settings.diagnosticsExportFailed":"settings.diagnosticsNotice")})]})]})}var er=e.i(6731),ed=e.i(540),eo=e.i(83736),el=e.i(34487),ec=e.i(90280),em=e.i(9988),eu=e.i(47190);function ex(){let{t:e}=(0,E.useLanguage)(),{user:n}=(0,eu.useAuth)(),i=(0,b.useQueryClient)(),[a,r]=(0,s.useState)(""),[d,o]=(0,s.useState)(["read"]),[l,c]=(0,s.useState)([]),[u,x]=(0,s.useState)(null),[g,p]=(0,s.useState)(null),[h,j]=(0,s.useState)(null),[v,N]=(0,s.useState)(null),[S,D]=(0,s.useState)(!1),L=(0,y.useQuery)({queryKey:z.mcpStatusKey,queryFn:z.getMcpStatus,retry:!1}),R=L.data?.enabled===!0,A=(0,y.useQuery)({queryKey:["projects"],queryFn:z.listProjects,enabled:R}),K=(0,y.useQuery)({queryKey:er.runtimeSettingsQueryKey,queryFn:z.getRuntimeSettings,retry:!1,enabled:n?.role==="admin"}),T=n?.role==="admin"&&K.data?(0,z.runtimeSettingsValue)(K.data,"mcp_enabled"):void 0,B=(0,f.useMutation)({mutationFn:e=>(0,z.updateRuntimeSettings)({mcp_enabled:e}),onSuccess:(t,s)=>{i.invalidateQueries({queryKey:er.runtimeSettingsQueryKey}),i.invalidateQueries({queryKey:z.mcpStatusKey}),es.toast.success(s?e("settings.restartRequired"):e("settings.mcpDisablePendingRestart"))},onError:()=>es.toast.error(e("settings.instanceSaveError"))}),M=(0,y.useQuery)({queryKey:z.mcpTokensKey,queryFn:z.listMcpTokens,retry:!1,enabled:R,refetchInterval:3e4}),I=(0,f.useMutation)({mutationFn:z.createMcpToken,onSuccess:e=>{i.invalidateQueries({queryKey:z.mcpTokensKey}),p(e.plaintext),r(""),c([])},onError:t=>es.toast.error(t instanceof z.GatewayApiError?t.message:e("settings.mcpCreateFailed"))}),_=(0,f.useMutation)({mutationFn:z.revokeMcpToken,onSuccess:()=>{i.invalidateQueries({queryKey:z.mcpTokensKey}),j(null)},onError:()=>es.toast.error(e("settings.mcpRevokeFailed"))}),O=L.data?.endpoint??"",U=void 0!==T&&!K.data?.readonly;async function q(t){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(t),es.toast.success(e("settings.mcpCopied"))}catch{es.toast.error(e("settings.mcpCopyFailed"))}}return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(m.Plug,{className:"size-4"}),title:e("settings.mcp"),description:e("settings.mcpDescription"),action:(0,t.jsxs)(t.Fragment,{children:[L.data&&(0,t.jsx)(C.Badge,{variant:R?"secondary":"outline",children:R?e("settings.mcpStateEnabled"):e("settings.mcpStateDisabled")}),U&&(0,t.jsx)(en.Switch,{checked:T,onCheckedChange:function(e){e?D(!0):B.mutate(!1)},disabled:B.isPending,"aria-label":e("settings.mcpToggle")})]})}),(0,t.jsx)(F.CardContent,{className:"space-y-3",children:L.isError?(0,t.jsx)("p",{className:"text-xs text-destructive",children:e("settings.mcpLoadFailed")}):L.isLoading?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("common.loading")}):(0,t.jsxs)(t.Fragment,{children:[R?(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e("settings.mcpEndpoint")}),(0,t.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:O}),(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0","aria-label":e("settings.mcpEndpoint"),onClick:()=>void q(O),children:(0,t.jsx)(ed.Copy,{className:"size-3.5"})})]}):(0,t.jsxs)("div",{className:"rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[e("settings.mcpDisabledHint"),void 0===T&&(0,t.jsx)("span",{className:"mt-1 block font-mono",children:"FORGEBADGER_MCP_ENABLED=true"})]}),R&&(0,t.jsx)(eg,{endpoint:O,scopes:d,onToggleScope:function(e){let t=d.includes(e);if(!t||1!==d.length)if("cli_dispatch"!==e&&"lifecycle"!==e||t)if("operate"===e&&t){let e=d.filter(e=>"operate"!==e&&"cli_dispatch"!==e&&"lifecycle"!==e);o(e.length>0?e:["read"])}else o(t?d.filter(t=>t!==e):[...d,e]);else o([...new Set([...d,"operate",e])])},onCreate:function(e){e.preventDefault(),!a.trim()||0===d.length||0===l.length||A.isError||A.isLoading||(null===u||Number.isInteger(u)&&!(u<1)&&!(u>87600))&&I.mutate({name:a.trim(),scopes:d,projectIds:l,expiresInHours:u})},creating:I.isPending,name:a,onNameChange:r,projectIds:l,onProjectIdsChange:c,projects:A.data?.projects??[],projectsLoading:A.isLoading,projectsError:A.isError,onAllScopes:()=>o(["read","operate","cli_dispatch","lifecycle"]),expiresInHours:u,onExpiresInHoursChange:x,tokens:M.data?.tokens??void 0,loading:M.isLoading,error:M.isError,onRevoke:j,onEdit:e=>{N(e),A.refetch()}})]})}),(0,t.jsx)(eb,{endpoint:O,plaintext:g,onClose:()=>p(null),onCopy:q}),v&&(0,t.jsx)(eh,{token:v,projects:A.data?.projects??[],loading:A.isLoading||A.isFetching,error:A.isError,onClose:()=>N(null)},v.id),(0,t.jsx)(k.ConfirmDialog,{open:S,pending:B.isPending,title:e("settings.mcpEnableConfirmTitle"),description:e("settings.mcpEnableConfirmDescription"),confirmLabel:e("settings.mcpToggle"),onOpenChange:D,onConfirm:()=>{D(!1),B.mutate(!0)}}),(0,t.jsx)(em.Dialog,{open:null!==h,onOpenChange:e=>!e&&j(null),children:(0,t.jsxs)(em.DialogContent,{children:[(0,t.jsxs)(em.DialogHeader,{children:[(0,t.jsx)(em.DialogTitle,{children:e("settings.mcpRevokeConfirm")}),(0,t.jsx)(em.DialogDescription,{children:h?.name})]}),(0,t.jsxs)(em.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",onClick:()=>j(null),children:e("settings.mcpClose")}),(0,t.jsx)(w.Button,{variant:"destructive",disabled:_.isPending,onClick:()=>h&&_.mutate(h.id),children:e("settings.mcpRevoke")})]})]})})]})}function eg({endpoint:e,scopes:s,onToggleScope:n,onCreate:i,creating:a,name:r,onNameChange:d,projectIds:o,onProjectIdsChange:l,projects:c,projectsLoading:m,projectsError:u,onAllScopes:x,expiresInHours:g,onExpiresInHoursChange:p,tokens:h,loading:j,error:f,onRevoke:y,onEdit:b}){let v=(0,E.useUiLocale)(),{t:N}=(0,E.useLanguage)(),k=null!==g&&(!Number.isInteger(g)||g<1||g>87600),F=[];r.trim()||F.push(N("settings.mcpFormMissingName")),0===o.length&&F.push(N("settings.mcpFormMissingProjects")),m&&F.push(N("common.loading")),u&&F.push(N("settings.mcpFormProjectsUnavailable")),k&&F.push(N("settings.mcpFormInvalidExpiry"));let L=F.join("、");return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("form",{onSubmit:i,className:"space-y-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsx)(D.Label,{className:"text-xs",htmlFor:"mcp-token-name",children:N("settings.mcpName")}),(0,t.jsx)(S.Input,{id:"mcp-token-name",value:r,onChange:e=>d(e.target.value),maxLength:64,className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 pb-1.5",children:[(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,t.jsx)(ec.Checkbox,{checked:s.includes("read"),onCheckedChange:()=>n("read"),"aria-label":N("settings.mcpScopeRead")}),N("settings.mcpScopeRead")]}),(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,t.jsx)(ec.Checkbox,{checked:s.includes("operate"),onCheckedChange:()=>n("operate"),"aria-label":N("settings.mcpScopeOperate")}),N("settings.mcpScopeOperate")]}),(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,t.jsx)(ec.Checkbox,{checked:s.includes("cli_dispatch"),onCheckedChange:()=>n("cli_dispatch"),"aria-label":N("settings.mcpScopeCliDispatch")}),N("settings.mcpScopeCliDispatch")]}),(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs",children:[(0,t.jsx)(ec.Checkbox,{checked:s.includes("lifecycle"),onCheckedChange:()=>n("lifecycle"),"aria-label":N("settings.mcpScopeLifecycle")}),N("settings.mcpScopeLifecycle")]}),(0,t.jsx)(w.Button,{type:"button",variant:"outline",size:"sm",className:"h-8",onClick:x,children:N("settings.mcpAllPermissions")}),(0,t.jsx)(w.Button,{type:"submit",size:"sm",className:"h-8",disabled:a||F.length>0,title:F.length>0?N("settings.mcpFormCannotCreate").replace("{reasons}",L):void 0,children:a?N("common.loading"):N("settings.mcpCreate")})]})]}),F.length>0?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:N("settings.mcpFormCannotCreate").replace("{reasons}",L)}):null,(0,t.jsx)(ep,{projects:c,loading:m,error:u,selected:o,onChange:l}),(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(D.Label,{className:"text-xs",htmlFor:"mcp-lifetime",children:N("settings.mcpLifetime")}),(0,t.jsxs)("select",{id:"mcp-lifetime",className:"h-8 rounded-md border border-input bg-background px-2 text-xs",value:null===g?"permanent":"limited",onChange:e=>p("permanent"===e.target.value?null:24),children:[(0,t.jsx)("option",{value:"permanent",children:N("settings.mcpPermanent")}),(0,t.jsx)("option",{value:"limited",children:N("settings.mcpLimited")})]})]}),null!==g&&(0,t.jsxs)("div",{className:"w-32 space-y-1",children:[(0,t.jsx)(D.Label,{className:"text-xs",htmlFor:"mcp-expiry-hours",children:N("settings.mcpExpiresHours")}),(0,t.jsx)(S.Input,{id:"mcp-expiry-hours",type:"number",min:1,max:87600,value:g,onChange:e=>p(Number(e.target.value)),className:"h-8 text-xs"})]}),(0,t.jsx)("p",{className:"pb-1 text-xs text-muted-foreground",children:N("settings.mcpLifetimeHelp")})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:N("settings.mcpScopeOperateHelp")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:N("settings.mcpLifecycleHelp")})]}),(0,t.jsx)("div",{className:"rounded-md border border-border/70",children:f?(0,t.jsx)("p",{className:"p-3 text-xs text-destructive",children:N("settings.mcpLoadFailed")}):j?(0,t.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:N("common.loading")}):h&&h.length>0?(0,t.jsx)("div",{className:"divide-y divide-border/70",children:h.map(e=>(0,t.jsxs)("div",{className:(0,Y.cn)("flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2.5",e.revoked&&"opacity-60"),children:[(0,t.jsx)("span",{className:"min-w-0 truncate text-sm font-medium",children:e.name}),e.scopes.map(e=>(0,t.jsx)(C.Badge,{variant:"operate"===e?"secondary":"outline",children:"lifecycle"===e?N("settings.mcpScopeLifecycle"):"operate"===e?N("settings.mcpScopeOperate"):"cli_dispatch"===e?N("settings.mcpScopeCliDispatch"):N("settings.mcpScopeRead")},e)),e.projectIds&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e.projectIds.map(e=>c.find(t=>t.id===e)?.name??N("settings.mcpUnavailableProject")).join("、")}),!e.projectIds&&!e.allowedRoot&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:N("settings.mcpLegacyAccess")}),e.allowedRoot&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.allowedRoot}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e.expiresAt?`${N("settings.mcpExpiresAt")}: ${new Date(e.expiresAt).toLocaleString(v)}`:N("settings.mcpPermanent")}),e.revoked&&(0,t.jsx)(C.Badge,{variant:"destructive",children:N("settings.mcpRevoked")}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:e.lastUsedAt?`${N("settings.mcpLastUsed")}: ${new Date(e.lastUsedAt).toLocaleString(v)}`:N("settings.mcpNeverUsed")}),!e.revoked&&(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":`${N("settings.mcpEditProjects")} ${e.name}`,onClick:()=>b(e),disabled:!!e.expiresAt&&Date.parse(e.expiresAt)<=Date.now(),children:(0,t.jsx)(eo.Pencil,{className:"size-3.5"})}),!e.revoked&&(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0 text-destructive hover:text-destructive","aria-label":`${N("settings.mcpRevoke")} ${e.name}`,onClick:()=>y(e),children:(0,t.jsx)(el.Trash2,{className:"size-3.5"})})]},e.id))}):(0,t.jsx)("p",{className:"p-3 text-xs text-muted-foreground",children:N("settings.mcpEmpty")})}),(0,t.jsx)(ef,{endpoint:e})]})}function ep({projects:e,loading:n,error:i,selected:a,onChange:r}){let{t:d}=(0,E.useLanguage)(),[o,l]=(0,s.useState)(""),c=e.filter(e=>`${e.name} ${e.path}`.toLowerCase().includes(o.trim().toLowerCase())),m=n||i?[]:a.filter(t=>!e.some(e=>e.id===t));return(0,t.jsxs)("fieldset",{className:"min-w-0 space-y-2 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("legend",{className:"px-1 text-xs font-medium",children:[d("settings.mcpProjects")," · ",a.length]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(S.Input,{"aria-label":d("settings.mcpSearchProjects"),placeholder:d("settings.mcpSearchProjects"),value:o,onChange:e=>l(e.target.value),className:"h-8 min-w-0 text-xs"}),(0,t.jsx)(w.Button,{type:"button",variant:"outline",size:"sm",disabled:n||i||0===e.length||e.length>200,onClick:()=>r(e.map(e=>e.id)),children:d("settings.mcpSelectAll")}),(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"sm",disabled:0===a.length,onClick:()=>r([]),children:d("settings.mcpClear")})]}),n?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("common.loading")}):i?(0,t.jsx)("p",{className:"text-xs text-destructive",children:d("settings.mcpProjectsFailed")}):0===c.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d(0===e.length?"settings.mcpNoProjects":"settings.mcpNoMatches")}):(0,t.jsx)("div",{className:"max-h-48 space-y-1 overflow-y-auto",children:c.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 hover:bg-muted/40",children:[(0,t.jsx)(ec.Checkbox,{"aria-label":e.name,checked:a.includes(e.id),disabled:!a.includes(e.id)&&a.length>=200,onCheckedChange:t=>r(!0===t?[...a,e.id]:a.filter(t=>t!==e.id))}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block truncate text-xs font-medium",children:e.name}),(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:e.path})]})]},e.id))}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:d("settings.mcpProjectsHelp")}),m.map(e=>(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)(ec.Checkbox,{checked:!0,"aria-label":`${d("settings.mcpUnavailableProject")} ${e}`,onCheckedChange:()=>r(a.filter(t=>t!==e))}),d("settings.mcpUnavailableProject")," · ",e]},e))]})}function eh({token:e,projects:n,loading:i,error:a,onClose:r}){let{t:d}=(0,E.useLanguage)(),o=(0,b.useQueryClient)(),[l,c]=(0,s.useState)(e.projectIds??[]),m=(0,f.useMutation)({mutationFn:z.updateMcpTokenProjects,onError:()=>{o.invalidateQueries({queryKey:z.mcpTokensKey})},onSuccess:()=>{o.invalidateQueries({queryKey:z.mcpTokensKey}),r()}}),u=l.some(e=>!n.some(t=>t.id===e));return(0,t.jsx)(em.Dialog,{open:!0,onOpenChange:e=>{e||m.isPending||r()},children:(0,t.jsxs)(em.DialogContent,{className:"max-h-[calc(100dvh-2rem)] grid-cols-[minmax(0,1fr)] overflow-y-auto",children:[(0,t.jsxs)(em.DialogHeader,{children:[(0,t.jsxs)(em.DialogTitle,{children:[d("settings.mcpEditProjects")," · ",e.name]}),(0,t.jsx)(em.DialogDescription,{children:d("settings.mcpEditProjectsHelp")})]}),(0,t.jsx)(ep,{projects:n,loading:i,error:a,selected:l,onChange:c}),m.isError&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:m.error instanceof z.GatewayApiError?m.error.message:d("settings.mcpProjectsSaveFailed")}),(0,t.jsxs)(em.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",disabled:m.isPending,onClick:r,children:d("common.cancel")}),(0,t.jsx)(w.Button,{disabled:m.isPending||i||a||u||0===l.length||l.length>200,onClick:()=>m.mutate({id:e.id,projectIds:l,expectedProjectIds:e.projectIds??null}),children:d(m.isPending?"common.loading":"common.save")})]})]})})}function ej(e,t){return JSON.stringify({mcpServers:{forgebadger:{type:"http",url:e,headers:{Authorization:`Bearer ${t}`}}}},null,2)}function ef({endpoint:e}){let{t:s}=(0,E.useLanguage)();return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:s("settings.mcpConnectHelp")}),(0,t.jsx)(ey,{label:s("settings.mcpConnectJson"),content:ej(e,s("settings.mcpTokenPlaceholder"))})]})}function ey({label:e,content:s}){let{t:n}=(0,E.useLanguage)();async function i(){if("u">typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(s),es.toast.success(n("settings.mcpCopied"))}catch{es.toast.error(n("settings.mcpCopyFailed"))}}return(0,t.jsxs)("div",{className:"min-w-0 max-w-full overflow-hidden rounded-md border border-border/70 bg-muted/20",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border/70 px-3 py-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,t.jsx)(w.Button,{type:"button",variant:"ghost",size:"icon",className:"size-6","aria-label":e,onClick:()=>void i(),children:(0,t.jsx)(ed.Copy,{className:"size-3.5"})})]}),(0,t.jsx)("pre",{className:"min-w-0 max-w-full overflow-x-auto p-3 font-mono text-xs leading-relaxed",children:s})]})}function eb({endpoint:e,plaintext:s,onClose:n,onCopy:i}){let{t:a}=(0,E.useLanguage)();return(0,t.jsx)(em.Dialog,{open:null!==s,onOpenChange:e=>!e&&n(),children:(0,t.jsxs)(em.DialogContent,{className:"max-h-[calc(100dvh-2rem)] grid-cols-[minmax(0,1fr)] overflow-y-auto",children:[(0,t.jsxs)(em.DialogHeader,{children:[(0,t.jsx)(em.DialogTitle,{children:a("settings.mcpPlaintextTitle")}),(0,t.jsx)(em.DialogDescription,{children:a("settings.mcpPlaintextWarning")})]}),(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-3 py-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:s}),(0,t.jsxs)(w.Button,{type:"button",variant:"outline",size:"sm",className:"shrink-0",onClick:()=>s&&i(s),children:[(0,t.jsx)(ed.Copy,{className:"size-3.5"}),a("settings.mcpCopy")]})]}),s&&(0,t.jsx)(ey,{label:a("settings.mcpConnectJson"),content:ej(e,s)}),(0,t.jsx)(em.DialogFooter,{children:(0,t.jsx)(w.Button,{onClick:n,children:a("settings.mcpClose")})})]})})}var ev=e.i(71800),eN=e.i(76745),eC=e.i(54260),ew=e.i(14485),ek=e.i(11741);function eS(){let{t:e}=(0,E.useLanguage)(),n=(0,ew.usePetPreference)(),i=(0,s.useId)(),[a,r]=(0,s.useState)("idle");return(0,t.jsxs)(F.Card,{children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(ev.Bot,{className:"size-4","aria-hidden":"true"}),title:e("settings.pet"),description:e("settings.petDescription"),titleId:i}),(0,t.jsxs)(F.CardContent,{className:"space-y-3",children:[(0,t.jsx)("div",{role:"radiogroup","aria-labelledby":i,className:"grid gap-3 sm:grid-cols-2",children:ek.PET_OPTIONS.map(s=>{let a=n===s.id,d=`${i}-${s.id}-name`,o=`${i}-${s.id}-description`;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,"aria-labelledby":d,"aria-describedby":o,onClick:()=>{var e;return e=s.id,void r((0,ek.writePetPreference)(e)?"saved":"error")},className:(0,Y.cn)("flex items-center gap-3 rounded-md border p-3 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",a?"border-brand/60 bg-brand/10":"border-border hover:bg-muted/40"),children:[(0,t.jsx)("span",{className:"shrink-0 rounded-md bg-muted/40 p-1","aria-hidden":"true",children:(0,t.jsx)(eC.RobotSprite,{petId:s.id,frame:"stand",size:80})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsx)("span",{id:d,className:"block text-sm font-medium",children:e(s.nameKey)}),(0,t.jsx)("span",{id:o,className:"block text-xs leading-relaxed text-muted-foreground",children:e(s.descriptionKey)}),a&&(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-brand","aria-hidden":"true",children:[(0,t.jsx)(eN.Check,{className:"size-3"}),e("settings.petSelected")]})]})]},s.id)})}),"saved"===a&&(0,t.jsx)("p",{role:"status",className:"text-xs text-muted-foreground",children:e("settings.petSaved")}),"error"===a&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:e("settings.petSaveFailed")})]})]})}function eD(){let{t:e}=(0,E.useLanguage)(),s=(0,L.useAdminCopy)(),{data:n}=(0,y.useQuery)({queryKey:["dependencies"],queryFn:z.getDependencies}),i=n?.terminalRuntime?.persistence??e("settings.notDetected");return(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(g.ShieldCheck,{className:"size-4"}),title:e("settings.securityBaseline"),description:e("settings.securityDescription")}),(0,t.jsxs)(F.CardContent,{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-md border border-border/70",children:[(0,t.jsx)(eF,{label:e("settings.jwtAuth"),value:s.securityBaselineGuaranteed}),(0,t.jsx)(eF,{label:e("settings.tenantIsolation"),value:s.securityBaselineGuaranteed}),(0,t.jsx)(eF,{label:e("settings.apiKeyEncryption"),value:"AES-256-GCM"}),(0,t.jsx)(eF,{label:e("settings.terminalPersistence"),value:i})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[(0,t.jsx)(v.KeyRound,{className:"mt-0.5 size-3.5 shrink-0"}),(0,t.jsx)("span",{children:s.securityBaselineGuaranteedHint})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md border border-border/70 bg-muted/20 p-3 text-xs text-muted-foreground",children:[(0,t.jsx)(v.KeyRound,{className:"mt-0.5 size-3.5 shrink-0"}),(0,t.jsx)("span",{children:e("settings.secretsNotice")})]})]})]})}function eF({label:e,value:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2.5 text-sm",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e}),(0,t.jsx)(C.Badge,{variant:"secondary",children:s})]})}var eE=e.i(88401);let eL="cyan",eP=[{id:"cyan",nameKey:"settings.themeCyan",brand:"187 86% 53%",brandForeground:"220 30% 6%",swatch:"#22d3ee"},{id:"orange",nameKey:"settings.themeOrange",brand:"24 100% 50%",brandForeground:"0 0% 100%",swatch:"#ff8000"},{id:"violet",nameKey:"settings.themeViolet",brand:"258 90% 66%",brandForeground:"0 0% 100%",swatch:"#8b5cf6"},{id:"emerald",nameKey:"settings.themeEmerald",brand:"160 84% 39%",brandForeground:"160 60% 6%",swatch:"#10b981"},{id:"blue",nameKey:"settings.themeBlue",brand:"217 91% 60%",brandForeground:"0 0% 100%",swatch:"#3b82f6"},{id:"rose",nameKey:"settings.themeRose",brand:"350 89% 60%",brandForeground:"0 0% 100%",swatch:"#f43f5e"},{id:"amber",nameKey:"settings.themeAmber",brand:"38 92% 55%",brandForeground:"38 60% 8%",swatch:"#f59e0b"}],eR="forgebadger.accent";function ez(e){return eP.some(t=>t.id===e)}var eA=e.i(98240),eK=e.i(76691),eT=e.i(1761);let eB=[{code:"zh-CN",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"}],eM=[{id:"appearance",icon:c,labelKey:"settings.section.appearance",descriptionKey:"settings.section.appearanceDescription"},{id:"account",icon:g.ShieldCheck,labelKey:"settings.section.account",descriptionKey:"settings.section.accountDescription"},{id:"adapters",icon:r.Cpu,labelKey:"settings.section.adapters",descriptionKey:"settings.section.adaptersDescription"},{id:"integrations",icon:m.Plug,labelKey:"settings.section.integrations",descriptionKey:"settings.section.integrationsDescription"},{id:"instance",icon:u.Server,labelKey:"settings.section.instance",descriptionKey:"settings.section.instanceDescription"}];e.s(["default",0,function(){let{language:e,setLanguage:r,t:o}=(0,E.useLanguage)(),{user:m}=(0,eu.useAuth)(),u=(0,i.useSearchParams)(),[g,f]=(0,s.useState)(!1),[y,b]=(0,s.useState)("unsupported"),[v,N]=(0,s.useState)(eL),{mode:C}=(0,eE.useColorMode)(),[k,L]=(0,s.useState)(eK.DEFAULT_TERMINAL_FONT.fontFamily),[R,z]=(0,s.useState)(String(eK.DEFAULT_TERMINAL_FONT.fontSize));function A(){let e=Number(R);(0,eK.setTerminalFont)({fontFamily:k,fontSize:Number.isFinite(e)&&""!==R?e:eK.DEFAULT_TERMINAL_FONT.fontSize})}(0,s.useEffect)(()=>{N(function(e=window.localStorage){let t=e.getItem(eR);return ez(t)?t:eL}());let e=(0,eK.readStoredTerminalFont)();L(e.fontFamily),z(String(e.fontSize)),f((0,eT.getBrowserNotificationPreference)()),b((0,eT.getBrowserNotificationPermission)())},[]);let T=m?.role==="admin",B=T?eM:eM.filter(e=>"instance"!==e.id),M=u.get("section"),I=B.find(e=>e.id===M)??eM[0];async function _(e){if(!e){(0,eT.setBrowserNotificationPreference)(!1),f(!1),b((0,eT.getBrowserNotificationPermission)());return}let t="default"===(0,eT.getBrowserNotificationPermission)()?await (0,eT.requestBrowserNotificationPermission)():(0,eT.getBrowserNotificationPermission)();b(t);let s="granted"===t;(0,eT.setBrowserNotificationPreference)(s),f(s)}return(0,t.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:o("settings.title")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:o("settings.subtitle")})]}),(0,t.jsxs)("div",{className:"lg:grid lg:grid-cols-[200px_minmax(0,1fr)] lg:gap-8",children:[(0,t.jsx)("nav",{"aria-label":o("settings.title"),className:"mb-4 flex gap-1 overflow-x-auto lg:sticky lg:top-6 lg:mb-0 lg:flex-col lg:self-start",children:B.map(e=>(0,t.jsxs)(n.default,{href:`/settings?section=${e.id}`,"aria-current":I.id===e.id?"page":void 0,className:(0,Y.cn)("flex h-8 shrink-0 items-center gap-2.5 rounded-md px-2.5 text-[13px] font-medium transition-colors duration-150",I.id===e.id?"bg-brand/10 text-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[(0,t.jsx)(e.icon,{className:(0,Y.cn)("size-4 shrink-0",I.id===e.id?"text-brand":"text-muted-foreground/70")}),o(e.labelKey)]},e.id))}),(0,t.jsxs)("div",{className:"min-w-0",children:["appearance"===I.id&&(0,t.jsxs)(P.SettingsSection,{title:o(I.labelKey),description:o(I.descriptionKey),children:[(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(c,{className:"size-4"}),title:o("settings.colorMode"),description:o("settings.colorModeDescription")}),(0,t.jsx)(F.CardContent,{children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:[{id:"light",labelKey:"settings.colorModeLight",icon:p},{id:"dark",labelKey:"settings.colorModeDark",icon:l},{id:"system",labelKey:"settings.colorModeSystem",icon:h}].map(e=>{let s=C===e.id;return(0,t.jsxs)(w.Button,{type:"button","aria-pressed":s,variant:s?"brand":"outline",size:"sm",onClick:()=>(0,eA.setColorMode)(e.id),children:[(0,t.jsx)(e.icon,{className:"size-4"}),o(e.labelKey)]},e.id)})})})]}),(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(d.Globe2,{className:"size-4"}),title:o("settings.language"),description:o("settings.languageDescription")}),(0,t.jsx)(F.CardContent,{children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:eB.map(s=>(0,t.jsx)(w.Button,{type:"button",variant:e===s.code?"brand":"outline",size:"sm",onClick:()=>r(s.code),children:s.label},s.code))})})]}),(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(c,{className:"size-4"}),title:o("settings.theme"),description:o("settings.themeDescription")}),(0,t.jsx)(F.CardContent,{children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:eP.map(e=>{let s=v===e.id;return(0,t.jsxs)("button",{type:"button","aria-pressed":s,onClick:()=>N(function(e,t=window.localStorage){let s=ez(e)?e:eL;return document.documentElement.dataset.accent=s,t.setItem(eR,s),s}(e.id)),className:s?"flex items-center gap-2 rounded-md border border-brand/60 bg-brand/10 px-3 py-2 text-sm text-foreground transition-colors duration-150":"flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm text-muted-foreground transition-colors duration-150 hover:border-brand/40 hover:bg-muted/40 hover:text-foreground",children:[(0,t.jsx)("span",{className:"size-3.5 rounded-full ring-1 ring-border",style:{backgroundColor:e.swatch},"aria-hidden":"true"}),o(e.nameKey)]},e.id)})})})]}),(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"120ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(j,{className:"size-4"}),title:o("settings.terminalFont"),description:o("settings.terminalFontDescription")}),(0,t.jsx)(F.CardContent,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,t.jsxs)("div",{className:"grid min-w-52 flex-1 gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"terminal-font-family",className:"text-xs text-muted-foreground",children:o("settings.terminalFontFamily")}),(0,t.jsx)(S.Input,{id:"terminal-font-family",value:k,onChange:e=>L(e.target.value),onBlur:A,onKeyDown:e=>{"Enter"===e.key&&A()},spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsxs)("div",{className:"grid w-24 gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"terminal-font-size",className:"text-xs text-muted-foreground",children:o("settings.terminalFontSize")}),(0,t.jsx)(S.Input,{id:"terminal-font-size",type:"number",min:eK.MIN_TERMINAL_FONT_SIZE,max:eK.MAX_TERMINAL_FONT_SIZE,value:R,onChange:e=>z(e.target.value),onBlur:A,onKeyDown:e=>{"Enter"===e.key&&A()}})]}),(0,t.jsx)(w.Button,{type:"button",variant:"outline",size:"sm",onClick:function(){L(eK.DEFAULT_TERMINAL_FONT.fontFamily),z(String(eK.DEFAULT_TERMINAL_FONT.fontSize)),(0,eK.setTerminalFont)(eK.DEFAULT_TERMINAL_FONT)},children:o("settings.terminalFontReset")})]})})]}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"160ms"},children:(0,t.jsx)(eS,{})}),(0,t.jsxs)(F.Card,{className:"forgebadger-animate-in",style:{animationDelay:"200ms"},children:[(0,t.jsx)(P.SettingsCardHeader,{icon:(0,t.jsx)(x,{className:"size-4"}),title:o("settings.console"),description:o("settings.consoleDescription")}),(0,t.jsx)(F.CardContent,{className:"space-y-2",children:(0,t.jsx)(P.SettingRow,{title:o("settings.browserNotifications"),description:"denied"===y?o("settings.browserNotificationsDenied"):o("settings.browserNotificationsDescription"),checked:g&&"granted"===y,disabled:"unsupported"===y,onCheckedChange:_,icon:(0,t.jsx)(a.Bell,{className:"size-4 text-muted-foreground"})})})]})]}),"account"===I.id&&(0,t.jsxs)(P.SettingsSection,{title:o(I.labelKey),description:o(I.descriptionKey),children:[(0,t.jsx)("div",{className:"forgebadger-animate-in",children:(0,t.jsx)(K,{})}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,t.jsx)(eD,{})})]}),"adapters"===I.id&&(0,t.jsxs)(P.SettingsSection,{title:o(I.labelKey),description:o(I.descriptionKey),children:[(0,t.jsx)("div",{className:"forgebadger-animate-in",children:(0,t.jsx)(V,{})}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,t.jsx)(ei,{})})]}),"integrations"===I.id&&(0,t.jsx)(P.SettingsSection,{title:o(I.labelKey),description:o(I.descriptionKey),children:(0,t.jsx)("div",{className:"forgebadger-animate-in",children:(0,t.jsx)(ex,{})})}),"instance"===I.id&&T&&(0,t.jsxs)(P.SettingsSection,{title:o(I.labelKey),description:o(I.descriptionKey),children:[(0,t.jsx)("div",{className:"forgebadger-animate-in",children:(0,t.jsx)(er.InstanceRuntimeSettings,{})}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"40ms"},children:(0,t.jsx)(ea,{})}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"80ms"},children:(0,t.jsx)(ee,{})})]})]},I.id)]})]})}],54625)}]);