forgebadger 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1490) hide show
  1. package/README.md +36 -23
  2. package/dist/commands/doctor.d.ts +2 -1
  3. package/dist/commands/doctor.js +1 -1
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/start.d.ts +3 -2
  6. package/dist/commands/start.js +5 -4
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/commands/uninstall.d.ts +24 -0
  9. package/dist/commands/uninstall.js +123 -0
  10. package/dist/commands/uninstall.js.map +1 -0
  11. package/dist/gateway/src/adapters/index.js +24 -1
  12. package/dist/gateway/src/adapters/index.js.map +1 -1
  13. package/dist/gateway/src/config/env.d.ts +19 -0
  14. package/dist/gateway/src/config/env.js +27 -2
  15. package/dist/gateway/src/config/env.js.map +1 -1
  16. package/dist/gateway/src/config-generation/writer.d.ts +2 -0
  17. package/dist/gateway/src/config-generation/writer.js +29 -3
  18. package/dist/gateway/src/config-generation/writer.js.map +1 -1
  19. package/dist/gateway/src/db/migrations/0097_telegram_channel_accounts.sql +7 -0
  20. package/dist/gateway/src/db/migrations/0098_skill_remote_provenance.sql +1 -0
  21. package/dist/gateway/src/db/migrations/0099_runtime_settings.sql +1 -0
  22. package/dist/gateway/src/db/migrations/0100_runtime_confirmation_revocation.sql +27 -0
  23. package/dist/gateway/src/db/migrations/0101_provider_private_networks.sql +7 -0
  24. package/dist/gateway/src/db/migrations/0102_copilot_preferences.sql +4 -0
  25. package/dist/gateway/src/db/migrations/0103_model_thinking_efforts.sql +8 -0
  26. package/dist/gateway/src/db/migrations/0104_copilot_project_autonomy.sql +1 -0
  27. package/dist/gateway/src/db/migrations/0105_remove_copilot_grants.sql +91 -0
  28. package/dist/gateway/src/db/migrations/0106_mcp_cli_dispatch_scope.sql +3 -0
  29. package/dist/gateway/src/db/migrations/0107_cli_skill_revisions.sql +12 -0
  30. package/dist/gateway/src/db/migrations/0108_copilot_run_governance.sql +43 -0
  31. package/dist/gateway/src/db/migrations/0109_copilot_research_jobs.sql +19 -0
  32. package/dist/gateway/src/db/migrations/0110_copilot_tool_artifacts.sql +19 -0
  33. package/dist/gateway/src/db/migrations/0111_copilot_model_metering.sql +13 -0
  34. package/dist/gateway/src/db/migrations/0112_copilot_repair_jobs.sql +27 -0
  35. package/dist/gateway/src/db/migrations/0113_copilot_memory_search_index.sql +19 -0
  36. package/dist/gateway/src/db/migrations/0114_channel_reliability.sql +32 -0
  37. package/dist/gateway/src/db/migrations/0115_feishu_typing_reactions.sql +12 -0
  38. package/dist/gateway/src/db/migrations/0116_channel_control_commands.sql +6 -0
  39. package/dist/gateway/src/db/migrations/0117_channel_session_model.sql +2 -0
  40. package/dist/gateway/src/db/migrations/0118_mcp_project_grants.sql +2 -0
  41. package/dist/gateway/src/db/migrations/0119_feishu_notifications.sql +23 -0
  42. package/dist/gateway/src/db/migrations/0120_feishu_notification_targets.sql +25 -0
  43. package/dist/gateway/src/db/migrations/0121_session_notification_prompts.sql +10 -0
  44. package/dist/gateway/src/db/migrations/0122_mcode_adapter.sql +97 -0
  45. package/dist/gateway/src/db/migrations/0123_mcode_supported_adapters_backfill.sql +16 -0
  46. package/dist/gateway/src/db/migrations/0124_user_adapter_order.sql +4 -0
  47. package/dist/gateway/src/db/migrations/0125_copilot_approval_clock.sql +15 -0
  48. package/dist/gateway/src/db/migrations/0126_development_execution_identity.sql +3 -0
  49. package/dist/gateway/src/db/migrations/0127_cli_observation_summaries.sql +17 -0
  50. package/dist/gateway/src/db/migrations/0128_feishu_builtin_summaries.sql +11 -0
  51. package/dist/gateway/src/db/migrations/meta/_journal.json +224 -0
  52. package/dist/gateway/src/db/migrations/meta/migration-checksums.json +33 -1
  53. package/dist/gateway/src/db/repositories/adapter-order-repository.d.ts +18 -0
  54. package/dist/gateway/src/db/repositories/adapter-order-repository.js +61 -0
  55. package/dist/gateway/src/db/repositories/adapter-order-repository.js.map +1 -0
  56. package/dist/gateway/src/db/repositories/catalog-repository.d.ts +4 -1
  57. package/dist/gateway/src/db/repositories/catalog-repository.js +16 -2
  58. package/dist/gateway/src/db/repositories/catalog-repository.js.map +1 -1
  59. package/dist/gateway/src/db/repositories/channel-command-repository.d.ts +14 -0
  60. package/dist/gateway/src/db/repositories/channel-command-repository.js +34 -0
  61. package/dist/gateway/src/db/repositories/channel-command-repository.js.map +1 -0
  62. package/dist/gateway/src/db/repositories/channel-delivery-repository.d.ts +11 -0
  63. package/dist/gateway/src/db/repositories/channel-delivery-repository.js +25 -5
  64. package/dist/gateway/src/db/repositories/channel-delivery-repository.js.map +1 -1
  65. package/dist/gateway/src/db/repositories/channel-identity-repository.d.ts +29 -5
  66. package/dist/gateway/src/db/repositories/channel-identity-repository.js +46 -8
  67. package/dist/gateway/src/db/repositories/channel-identity-repository.js.map +1 -1
  68. package/dist/gateway/src/db/repositories/channel-message-repository.d.ts +11 -1
  69. package/dist/gateway/src/db/repositories/channel-message-repository.js +21 -6
  70. package/dist/gateway/src/db/repositories/channel-message-repository.js.map +1 -1
  71. package/dist/gateway/src/db/repositories/cli-observation-repository.d.ts +20 -0
  72. package/dist/gateway/src/db/repositories/cli-observation-repository.js +91 -0
  73. package/dist/gateway/src/db/repositories/cli-observation-repository.js.map +1 -0
  74. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.d.ts +11 -0
  75. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js +57 -0
  76. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js.map +1 -0
  77. package/dist/gateway/src/db/repositories/copilot-model-response-repository.d.ts +20 -0
  78. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js +151 -0
  79. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js.map +1 -0
  80. package/dist/gateway/src/db/repositories/copilot-preferences-repository.d.ts +43 -0
  81. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js +74 -0
  82. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js.map +1 -0
  83. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.d.ts +1 -0
  84. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.js.map +1 -1
  85. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.d.ts +30 -0
  86. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +103 -0
  87. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -0
  88. package/dist/gateway/src/db/repositories/development-task-repository.d.ts +5 -1
  89. package/dist/gateway/src/db/repositories/development-task-repository.js +25 -0
  90. package/dist/gateway/src/db/repositories/development-task-repository.js.map +1 -1
  91. package/dist/gateway/src/db/repositories/feishu-channel-repository.js +4 -0
  92. package/dist/gateway/src/db/repositories/feishu-channel-repository.js.map +1 -1
  93. package/dist/gateway/src/db/repositories/feishu-notification-repository.d.ts +54 -0
  94. package/dist/gateway/src/db/repositories/feishu-notification-repository.js +72 -0
  95. package/dist/gateway/src/db/repositories/feishu-notification-repository.js.map +1 -0
  96. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.d.ts +28 -0
  97. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js +51 -0
  98. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js.map +1 -0
  99. package/dist/gateway/src/db/repositories/feishu-typing-repository.d.ts +26 -0
  100. package/dist/gateway/src/db/repositories/feishu-typing-repository.js +77 -0
  101. package/dist/gateway/src/db/repositories/feishu-typing-repository.js.map +1 -0
  102. package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +14 -1
  103. package/dist/gateway/src/db/repositories/mcp-token-repository.js +19 -4
  104. package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
  105. package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +10 -1
  106. package/dist/gateway/src/db/repositories/model-provider-repository.js +22 -12
  107. package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
  108. package/dist/gateway/src/db/repositories/notification-repository.d.ts +4 -0
  109. package/dist/gateway/src/db/repositories/notification-repository.js +24 -2
  110. package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
  111. package/dist/gateway/src/db/repositories/platform-action-repository.d.ts +30 -4
  112. package/dist/gateway/src/db/repositories/platform-action-repository.js +41 -5
  113. package/dist/gateway/src/db/repositories/platform-action-repository.js.map +1 -1
  114. package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
  115. package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
  116. package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
  117. package/dist/gateway/src/db/repositories/project-repository.d.ts +3 -0
  118. package/dist/gateway/src/db/repositories/project-repository.js +16 -0
  119. package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
  120. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.d.ts +17 -0
  121. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js +47 -0
  122. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js.map +1 -0
  123. package/dist/gateway/src/db/repositories/session-repository.js +16 -4
  124. package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
  125. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.d.ts +11 -1
  126. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js +14 -1
  127. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js.map +1 -1
  128. package/dist/gateway/src/db/repositories/session-writer-lease-repository.d.ts +8 -1
  129. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js +13 -3
  130. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js.map +1 -1
  131. package/dist/gateway/src/db/repositories/skill-repository.d.ts +3 -0
  132. package/dist/gateway/src/db/repositories/skill-repository.js +3 -0
  133. package/dist/gateway/src/db/repositories/skill-repository.js.map +1 -1
  134. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.d.ts +22 -0
  135. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +58 -0
  136. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js.map +1 -0
  137. package/dist/gateway/src/db/repositories/task-report-repository.d.ts +19 -0
  138. package/dist/gateway/src/db/repositories/task-report-repository.js +35 -0
  139. package/dist/gateway/src/db/repositories/task-report-repository.js.map +1 -0
  140. package/dist/gateway/src/db/repositories/telegram-channel-repository.d.ts +36 -0
  141. package/dist/gateway/src/db/repositories/telegram-channel-repository.js +93 -0
  142. package/dist/gateway/src/db/repositories/telegram-channel-repository.js.map +1 -0
  143. package/dist/gateway/src/db/repositories/telegram-cursor-repository.d.ts +11 -0
  144. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js +31 -0
  145. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js.map +1 -0
  146. package/dist/gateway/src/db/repositories/telegram-integration-repository.d.ts +19 -0
  147. package/dist/gateway/src/db/repositories/telegram-integration-repository.js +84 -0
  148. package/dist/gateway/src/db/repositories/telegram-integration-repository.js.map +1 -0
  149. package/dist/gateway/src/db/repositories/template-repository.d.ts +15 -0
  150. package/dist/gateway/src/db/repositories/template-repository.js +22 -0
  151. package/dist/gateway/src/db/repositories/template-repository.js.map +1 -1
  152. package/dist/gateway/src/db/schema.d.ts +11355 -8305
  153. package/dist/gateway/src/db/schema.js +226 -29
  154. package/dist/gateway/src/db/schema.js.map +1 -1
  155. package/dist/gateway/src/lib/adapter-ids.d.ts +15 -0
  156. package/dist/gateway/src/lib/adapter-ids.js +24 -0
  157. package/dist/gateway/src/lib/adapter-ids.js.map +1 -0
  158. package/dist/gateway/src/lib/dependency-check.d.ts +5 -1
  159. package/dist/gateway/src/lib/dependency-check.js +65 -6
  160. package/dist/gateway/src/lib/dependency-check.js.map +1 -1
  161. package/dist/gateway/src/lib/redaction.js +8 -2
  162. package/dist/gateway/src/lib/redaction.js.map +1 -1
  163. package/dist/gateway/src/routes/adapters.d.ts +2 -1
  164. package/dist/gateway/src/routes/adapters.js +122 -2
  165. package/dist/gateway/src/routes/adapters.js.map +1 -1
  166. package/dist/gateway/src/routes/auth.d.ts +5 -1
  167. package/dist/gateway/src/routes/auth.js +10 -5
  168. package/dist/gateway/src/routes/auth.js.map +1 -1
  169. package/dist/gateway/src/routes/catalog.d.ts +2 -1
  170. package/dist/gateway/src/routes/catalog.js +41 -24
  171. package/dist/gateway/src/routes/catalog.js.map +1 -1
  172. package/dist/gateway/src/routes/channel-diagnostics.d.ts +7 -0
  173. package/dist/gateway/src/routes/channel-diagnostics.js +21 -0
  174. package/dist/gateway/src/routes/channel-diagnostics.js.map +1 -0
  175. package/dist/gateway/src/routes/cli-accounts.d.ts +13 -0
  176. package/dist/gateway/src/routes/cli-accounts.js +89 -0
  177. package/dist/gateway/src/routes/cli-accounts.js.map +1 -0
  178. package/dist/gateway/src/routes/cli-config.js +7 -4
  179. package/dist/gateway/src/routes/cli-config.js.map +1 -1
  180. package/dist/gateway/src/routes/copilot-channels.js +1 -1
  181. package/dist/gateway/src/routes/copilot-channels.js.map +1 -1
  182. package/dist/gateway/src/routes/copilot-development.js +18 -0
  183. package/dist/gateway/src/routes/copilot-development.js.map +1 -1
  184. package/dist/gateway/src/routes/copilot-metering.d.ts +4 -0
  185. package/dist/gateway/src/routes/copilot-metering.js +46 -0
  186. package/dist/gateway/src/routes/copilot-metering.js.map +1 -0
  187. package/dist/gateway/src/routes/copilot-skills.js +13 -0
  188. package/dist/gateway/src/routes/copilot-skills.js.map +1 -1
  189. package/dist/gateway/src/routes/copilot.js +97 -31
  190. package/dist/gateway/src/routes/copilot.js.map +1 -1
  191. package/dist/gateway/src/routes/feishu-notifications.d.ts +9 -0
  192. package/dist/gateway/src/routes/feishu-notifications.js +63 -0
  193. package/dist/gateway/src/routes/feishu-notifications.js.map +1 -0
  194. package/dist/gateway/src/routes/index.js +13 -1
  195. package/dist/gateway/src/routes/index.js.map +1 -1
  196. package/dist/gateway/src/routes/integrations-telegram.d.ts +11 -0
  197. package/dist/gateway/src/routes/integrations-telegram.js +117 -0
  198. package/dist/gateway/src/routes/integrations-telegram.js.map +1 -0
  199. package/dist/gateway/src/routes/mcp-tokens.js +36 -5
  200. package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
  201. package/dist/gateway/src/routes/mcp.d.ts +2 -1
  202. package/dist/gateway/src/routes/mcp.js +4 -2
  203. package/dist/gateway/src/routes/mcp.js.map +1 -1
  204. package/dist/gateway/src/routes/model-providers.js +47 -7
  205. package/dist/gateway/src/routes/model-providers.js.map +1 -1
  206. package/dist/gateway/src/routes/notifications.d.ts +1 -1
  207. package/dist/gateway/src/routes/notifications.js +3 -1
  208. package/dist/gateway/src/routes/notifications.js.map +1 -1
  209. package/dist/gateway/src/routes/platform-actions.js +2 -28
  210. package/dist/gateway/src/routes/platform-actions.js.map +1 -1
  211. package/dist/gateway/src/routes/project-management.js +22 -9
  212. package/dist/gateway/src/routes/project-management.js.map +1 -1
  213. package/dist/gateway/src/routes/project-manager.js +2 -1
  214. package/dist/gateway/src/routes/project-manager.js.map +1 -1
  215. package/dist/gateway/src/routes/projects.js +3 -2
  216. package/dist/gateway/src/routes/projects.js.map +1 -1
  217. package/dist/gateway/src/routes/runtime-settings.d.ts +4 -0
  218. package/dist/gateway/src/routes/runtime-settings.js +51 -0
  219. package/dist/gateway/src/routes/runtime-settings.js.map +1 -0
  220. package/dist/gateway/src/routes/session-hooks.d.ts +2 -1
  221. package/dist/gateway/src/routes/session-hooks.js +81 -15
  222. package/dist/gateway/src/routes/session-hooks.js.map +1 -1
  223. package/dist/gateway/src/routes/sessions.js +134 -38
  224. package/dist/gateway/src/routes/sessions.js.map +1 -1
  225. package/dist/gateway/src/routes/skill-registry.d.ts +4 -0
  226. package/dist/gateway/src/routes/skill-registry.js +77 -0
  227. package/dist/gateway/src/routes/skill-registry.js.map +1 -0
  228. package/dist/gateway/src/routes/skills.d.ts +2 -1
  229. package/dist/gateway/src/routes/skills.js +112 -49
  230. package/dist/gateway/src/routes/skills.js.map +1 -1
  231. package/dist/gateway/src/routes/templates.js +3 -2
  232. package/dist/gateway/src/routes/templates.js.map +1 -1
  233. package/dist/gateway/src/runtime/start-gateway.js +28 -1
  234. package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
  235. package/dist/gateway/src/server.d.ts +20 -2
  236. package/dist/gateway/src/server.js +50 -3
  237. package/dist/gateway/src/server.js.map +1 -1
  238. package/dist/gateway/src/services/adapter-autonomy.d.ts +5 -2
  239. package/dist/gateway/src/services/adapter-autonomy.js +19 -1
  240. package/dist/gateway/src/services/adapter-autonomy.js.map +1 -1
  241. package/dist/gateway/src/services/adapter-discovery.d.ts +2 -1
  242. package/dist/gateway/src/services/adapter-discovery.js +16 -2
  243. package/dist/gateway/src/services/adapter-discovery.js.map +1 -1
  244. package/dist/gateway/src/services/adapter-updates.d.ts +44 -0
  245. package/dist/gateway/src/services/adapter-updates.js +344 -0
  246. package/dist/gateway/src/services/adapter-updates.js.map +1 -0
  247. package/dist/gateway/src/services/agent/agent-stack.js +2 -0
  248. package/dist/gateway/src/services/agent/agent-stack.js.map +1 -1
  249. package/dist/gateway/src/services/agent/approval-clock.d.ts +9 -0
  250. package/dist/gateway/src/services/agent/approval-clock.js +36 -0
  251. package/dist/gateway/src/services/agent/approval-clock.js.map +1 -0
  252. package/dist/gateway/src/services/agent/catalog-search.d.ts +4 -0
  253. package/dist/gateway/src/services/agent/catalog-search.js +29 -0
  254. package/dist/gateway/src/services/agent/catalog-search.js.map +1 -0
  255. package/dist/gateway/src/services/agent/context-recovery.d.ts +15 -0
  256. package/dist/gateway/src/services/agent/context-recovery.js +34 -0
  257. package/dist/gateway/src/services/agent/context-recovery.js.map +1 -0
  258. package/dist/gateway/src/services/agent/context.d.ts +9 -3
  259. package/dist/gateway/src/services/agent/context.js +129 -42
  260. package/dist/gateway/src/services/agent/context.js.map +1 -1
  261. package/dist/gateway/src/services/agent/conversation-log.js +16 -3
  262. package/dist/gateway/src/services/agent/conversation-log.js.map +1 -1
  263. package/dist/gateway/src/services/agent/development-repair.d.ts +15 -0
  264. package/dist/gateway/src/services/agent/development-repair.js +115 -0
  265. package/dist/gateway/src/services/agent/development-repair.js.map +1 -0
  266. package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +10 -0
  267. package/dist/gateway/src/services/agent/dispatch-supervisor.js +36 -0
  268. package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -0
  269. package/dist/gateway/src/services/agent/followups.d.ts +22 -0
  270. package/dist/gateway/src/services/agent/followups.js +80 -0
  271. package/dist/gateway/src/services/agent/followups.js.map +1 -0
  272. package/dist/gateway/src/services/agent/llm-anthropic.js +17 -8
  273. package/dist/gateway/src/services/agent/llm-anthropic.js.map +1 -1
  274. package/dist/gateway/src/services/agent/llm-client.d.ts +25 -0
  275. package/dist/gateway/src/services/agent/llm-client.js +195 -63
  276. package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
  277. package/dist/gateway/src/services/agent/llm-connection-error.d.ts +22 -0
  278. package/dist/gateway/src/services/agent/llm-connection-error.js +64 -0
  279. package/dist/gateway/src/services/agent/llm-connection-error.js.map +1 -0
  280. package/dist/gateway/src/services/agent/llm-openai.d.ts +4 -0
  281. package/dist/gateway/src/services/agent/llm-openai.js +69 -9
  282. package/dist/gateway/src/services/agent/llm-openai.js.map +1 -1
  283. package/dist/gateway/src/services/agent/llm-public-fetch.d.ts +10 -1
  284. package/dist/gateway/src/services/agent/llm-public-fetch.js +182 -51
  285. package/dist/gateway/src/services/agent/llm-public-fetch.js.map +1 -1
  286. package/dist/gateway/src/services/agent/llm-replay.d.ts +30 -0
  287. package/dist/gateway/src/services/agent/llm-replay.js +21 -0
  288. package/dist/gateway/src/services/agent/llm-replay.js.map +1 -0
  289. package/dist/gateway/src/services/agent/llm-response.d.ts +6 -0
  290. package/dist/gateway/src/services/agent/llm-response.js +40 -3
  291. package/dist/gateway/src/services/agent/llm-response.js.map +1 -1
  292. package/dist/gateway/src/services/agent/memory-search-index.d.ts +30 -0
  293. package/dist/gateway/src/services/agent/memory-search-index.js +63 -0
  294. package/dist/gateway/src/services/agent/memory-search-index.js.map +1 -0
  295. package/dist/gateway/src/services/agent/memory.d.ts +1 -0
  296. package/dist/gateway/src/services/agent/memory.js +43 -57
  297. package/dist/gateway/src/services/agent/memory.js.map +1 -1
  298. package/dist/gateway/src/services/agent/model-metering.d.ts +32 -0
  299. package/dist/gateway/src/services/agent/model-metering.js +62 -0
  300. package/dist/gateway/src/services/agent/model-metering.js.map +1 -0
  301. package/dist/gateway/src/services/agent/model-transport.d.ts +2 -0
  302. package/dist/gateway/src/services/agent/model-transport.js +22 -0
  303. package/dist/gateway/src/services/agent/model-transport.js.map +1 -0
  304. package/dist/gateway/src/services/agent/no-progress.d.ts +4 -0
  305. package/dist/gateway/src/services/agent/no-progress.js +57 -0
  306. package/dist/gateway/src/services/agent/no-progress.js.map +1 -0
  307. package/dist/gateway/src/services/agent/notification-context.d.ts +5 -0
  308. package/dist/gateway/src/services/agent/notification-context.js +72 -0
  309. package/dist/gateway/src/services/agent/notification-context.js.map +1 -0
  310. package/dist/gateway/src/services/agent/orchestrator-types.d.ts +12 -3
  311. package/dist/gateway/src/services/agent/orchestrator.d.ts +9 -0
  312. package/dist/gateway/src/services/agent/orchestrator.js +305 -64
  313. package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
  314. package/dist/gateway/src/services/agent/platform-access.d.ts +5 -1
  315. package/dist/gateway/src/services/agent/platform-access.js +7 -4
  316. package/dist/gateway/src/services/agent/platform-access.js.map +1 -1
  317. package/dist/gateway/src/services/agent/provider-error.d.ts +17 -0
  318. package/dist/gateway/src/services/agent/provider-error.js +66 -0
  319. package/dist/gateway/src/services/agent/provider-error.js.map +1 -0
  320. package/dist/gateway/src/services/agent/provisional-text.d.ts +13 -0
  321. package/dist/gateway/src/services/agent/provisional-text.js +46 -0
  322. package/dist/gateway/src/services/agent/provisional-text.js.map +1 -0
  323. package/dist/gateway/src/services/agent/public-text-stream.d.ts +12 -0
  324. package/dist/gateway/src/services/agent/public-text-stream.js +36 -0
  325. package/dist/gateway/src/services/agent/public-text-stream.js.map +1 -0
  326. package/dist/gateway/src/services/agent/reactive-loop.js +44 -5
  327. package/dist/gateway/src/services/agent/reactive-loop.js.map +1 -1
  328. package/dist/gateway/src/services/agent/read-batch.d.ts +3 -0
  329. package/dist/gateway/src/services/agent/read-batch.js +19 -0
  330. package/dist/gateway/src/services/agent/read-batch.js.map +1 -0
  331. package/dist/gateway/src/services/agent/recall-query.d.ts +6 -0
  332. package/dist/gateway/src/services/agent/recall-query.js +29 -0
  333. package/dist/gateway/src/services/agent/recall-query.js.map +1 -0
  334. package/dist/gateway/src/services/agent/redaction.d.ts +10 -0
  335. package/dist/gateway/src/services/agent/redaction.js +75 -6
  336. package/dist/gateway/src/services/agent/redaction.js.map +1 -1
  337. package/dist/gateway/src/services/agent/restricted-runs.d.ts +5 -0
  338. package/dist/gateway/src/services/agent/restricted-runs.js +22 -0
  339. package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -0
  340. package/dist/gateway/src/services/agent/run-governance.d.ts +44 -0
  341. package/dist/gateway/src/services/agent/run-governance.js +92 -0
  342. package/dist/gateway/src/services/agent/run-governance.js.map +1 -0
  343. package/dist/gateway/src/services/agent/run-ledger.d.ts +21 -4
  344. package/dist/gateway/src/services/agent/run-ledger.js +113 -46
  345. package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
  346. package/dist/gateway/src/services/agent/runtime.js +53 -7
  347. package/dist/gateway/src/services/agent/runtime.js.map +1 -1
  348. package/dist/gateway/src/services/agent/security-policy.js +25 -1
  349. package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
  350. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.d.ts +2 -0
  351. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +41 -0
  352. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -0
  353. package/dist/gateway/src/services/agent/skills/copilot-skill-service.d.ts +7 -1
  354. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js +37 -20
  355. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js.map +1 -1
  356. package/dist/gateway/src/services/agent/skills/copilot-skills.js +25 -24
  357. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  358. package/dist/gateway/src/services/agent/task-reports.d.ts +3 -0
  359. package/dist/gateway/src/services/agent/task-reports.js +78 -0
  360. package/dist/gateway/src/services/agent/task-reports.js.map +1 -0
  361. package/dist/gateway/src/services/agent/task-review.d.ts +12 -0
  362. package/dist/gateway/src/services/agent/task-review.js +67 -0
  363. package/dist/gateway/src/services/agent/task-review.js.map +1 -0
  364. package/dist/gateway/src/services/agent/tool-artifact-policy.d.ts +7 -0
  365. package/dist/gateway/src/services/agent/tool-artifact-policy.js +9 -0
  366. package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -0
  367. package/dist/gateway/src/services/agent/tool-availability.d.ts +0 -1
  368. package/dist/gateway/src/services/agent/tool-availability.js +3 -8
  369. package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
  370. package/dist/gateway/src/services/agent/tool-discovery.d.ts +1 -1
  371. package/dist/gateway/src/services/agent/tool-discovery.js +5 -10
  372. package/dist/gateway/src/services/agent/tool-discovery.js.map +1 -1
  373. package/dist/gateway/src/services/agent/tool-registry.d.ts +1 -0
  374. package/dist/gateway/src/services/agent/tool-registry.js +26 -10
  375. package/dist/gateway/src/services/agent/tool-registry.js.map +1 -1
  376. package/dist/gateway/src/services/agent/tools/development.js +2 -2
  377. package/dist/gateway/src/services/agent/tools/development.js.map +1 -1
  378. package/dist/gateway/src/services/agent/tools/discovery.js +1 -1
  379. package/dist/gateway/src/services/agent/tools/discovery.js.map +1 -1
  380. package/dist/gateway/src/services/agent/tools/index.js +8 -0
  381. package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
  382. package/dist/gateway/src/services/agent/tools/memory.js +3 -3
  383. package/dist/gateway/src/services/agent/tools/memory.js.map +1 -1
  384. package/dist/gateway/src/services/agent/tools/platform-coverage.js +5 -2
  385. package/dist/gateway/src/services/agent/tools/platform-coverage.js.map +1 -1
  386. package/dist/gateway/src/services/agent/tools/platform-management.js +4 -4
  387. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  388. package/dist/gateway/src/services/agent/tools/project-diff.d.ts +2 -0
  389. package/dist/gateway/src/services/agent/tools/project-diff.js +17 -0
  390. package/dist/gateway/src/services/agent/tools/project-diff.js.map +1 -0
  391. package/dist/gateway/src/services/agent/tools/project-manager.js +50 -1
  392. package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
  393. package/dist/gateway/src/services/agent/tools/projects.d.ts +2 -0
  394. package/dist/gateway/src/services/agent/tools/projects.js +44 -3
  395. package/dist/gateway/src/services/agent/tools/projects.js.map +1 -1
  396. package/dist/gateway/src/services/agent/tools/research.d.ts +2 -0
  397. package/dist/gateway/src/services/agent/tools/research.js +15 -0
  398. package/dist/gateway/src/services/agent/tools/research.js.map +1 -0
  399. package/dist/gateway/src/services/agent/tools/sessions.js +38 -10
  400. package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
  401. package/dist/gateway/src/services/agent/tools/skills.js +2 -2
  402. package/dist/gateway/src/services/agent/tools/skills.js.map +1 -1
  403. package/dist/gateway/src/services/agent/tools/source-search.d.ts +2 -0
  404. package/dist/gateway/src/services/agent/tools/source-search.js +44 -0
  405. package/dist/gateway/src/services/agent/tools/source-search.js.map +1 -0
  406. package/dist/gateway/src/services/agent/tools/terminal.d.ts +2 -0
  407. package/dist/gateway/src/services/agent/tools/terminal.js +83 -0
  408. package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -0
  409. package/dist/gateway/src/services/agent/tools/tool-results.js +24 -11
  410. package/dist/gateway/src/services/agent/tools/tool-results.js.map +1 -1
  411. package/dist/gateway/src/services/agent/types.d.ts +5 -0
  412. package/dist/gateway/src/services/agent/types.js.map +1 -1
  413. package/dist/gateway/src/services/automation/delivery.js +2 -2
  414. package/dist/gateway/src/services/automation/delivery.js.map +1 -1
  415. package/dist/gateway/src/services/builtin-skills.d.ts +1 -1
  416. package/dist/gateway/src/services/builtin-skills.js +1 -7
  417. package/dist/gateway/src/services/builtin-skills.js.map +1 -1
  418. package/dist/gateway/src/services/catalog-sync.js +1 -1
  419. package/dist/gateway/src/services/catalog-sync.js.map +1 -1
  420. package/dist/gateway/src/services/channels/channel-commands.d.ts +19 -0
  421. package/dist/gateway/src/services/channels/channel-commands.js +106 -0
  422. package/dist/gateway/src/services/channels/channel-commands.js.map +1 -0
  423. package/dist/gateway/src/services/channels/channel-diagnostics.d.ts +17 -0
  424. package/dist/gateway/src/services/channels/channel-diagnostics.js +204 -0
  425. package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -0
  426. package/dist/gateway/src/services/channels/channel-identity-service.d.ts +81 -21
  427. package/dist/gateway/src/services/channels/channel-identity-service.js +84 -32
  428. package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
  429. package/dist/gateway/src/services/channels/channel-model-command.d.ts +13 -0
  430. package/dist/gateway/src/services/channels/channel-model-command.js +108 -0
  431. package/dist/gateway/src/services/channels/channel-model-command.js.map +1 -0
  432. package/dist/gateway/src/services/channels/channel-run-authority.d.ts +3 -0
  433. package/dist/gateway/src/services/channels/channel-run-authority.js +26 -7
  434. package/dist/gateway/src/services/channels/channel-run-authority.js.map +1 -1
  435. package/dist/gateway/src/services/channels/channel-run-scope.d.ts +64 -0
  436. package/dist/gateway/src/services/channels/channel-run-scope.js +208 -0
  437. package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -0
  438. package/dist/gateway/src/services/channels/feishu-approval.d.ts +28 -0
  439. package/dist/gateway/src/services/channels/feishu-approval.js +152 -0
  440. package/dist/gateway/src/services/channels/feishu-approval.js.map +1 -0
  441. package/dist/gateway/src/services/channels/feishu-typing-worker.d.ts +16 -0
  442. package/dist/gateway/src/services/channels/feishu-typing-worker.js +100 -0
  443. package/dist/gateway/src/services/channels/feishu-typing-worker.js.map +1 -0
  444. package/dist/gateway/src/services/channels/native-channel-delivery.d.ts +6 -1
  445. package/dist/gateway/src/services/channels/native-channel-delivery.js +58 -7
  446. package/dist/gateway/src/services/channels/native-channel-delivery.js.map +1 -1
  447. package/dist/gateway/src/services/channels/native-channel-inbox.d.ts +35 -0
  448. package/dist/gateway/src/services/channels/native-channel-inbox.js +123 -15
  449. package/dist/gateway/src/services/channels/native-channel-inbox.js.map +1 -1
  450. package/dist/gateway/src/services/channels/native-feishu-runtime.d.ts +5 -1
  451. package/dist/gateway/src/services/channels/native-feishu-runtime.js +73 -20
  452. package/dist/gateway/src/services/channels/native-feishu-runtime.js.map +1 -1
  453. package/dist/gateway/src/services/channels/native-telegram-runtime.d.ts +34 -0
  454. package/dist/gateway/src/services/channels/native-telegram-runtime.js +139 -0
  455. package/dist/gateway/src/services/channels/native-telegram-runtime.js.map +1 -0
  456. package/dist/gateway/src/services/claude-notification-settings.d.ts +2 -0
  457. package/dist/gateway/src/services/claude-notification-settings.js +8 -0
  458. package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
  459. package/dist/gateway/src/services/claude-route/forwarder.js +4 -2
  460. package/dist/gateway/src/services/claude-route/forwarder.js.map +1 -1
  461. package/dist/gateway/src/services/cli-account/claude-account.d.ts +14 -0
  462. package/dist/gateway/src/services/cli-account/claude-account.js +197 -0
  463. package/dist/gateway/src/services/cli-account/claude-account.js.map +1 -0
  464. package/dist/gateway/src/services/cli-account/codex-account.d.ts +11 -0
  465. package/dist/gateway/src/services/cli-account/codex-account.js +140 -0
  466. package/dist/gateway/src/services/cli-account/codex-account.js.map +1 -0
  467. package/dist/gateway/src/services/cli-account/index.d.ts +9 -0
  468. package/dist/gateway/src/services/cli-account/index.js +27 -0
  469. package/dist/gateway/src/services/cli-account/index.js.map +1 -0
  470. package/dist/gateway/src/services/cli-account/kimi-account.d.ts +12 -0
  471. package/dist/gateway/src/services/cli-account/kimi-account.js +217 -0
  472. package/dist/gateway/src/services/cli-account/kimi-account.js.map +1 -0
  473. package/dist/gateway/src/services/cli-account/mcode-account.d.ts +47 -0
  474. package/dist/gateway/src/services/cli-account/mcode-account.js +249 -0
  475. package/dist/gateway/src/services/cli-account/mcode-account.js.map +1 -0
  476. package/dist/gateway/src/services/cli-account/probe-runner.d.ts +81 -0
  477. package/dist/gateway/src/services/cli-account/probe-runner.js +181 -0
  478. package/dist/gateway/src/services/cli-account/probe-runner.js.map +1 -0
  479. package/dist/gateway/src/services/cli-account/types.d.ts +49 -0
  480. package/dist/gateway/src/services/cli-account/types.js +2 -0
  481. package/dist/gateway/src/services/cli-account/types.js.map +1 -0
  482. package/dist/gateway/src/services/cli-config-apply.d.ts +10 -2
  483. package/dist/gateway/src/services/cli-config-apply.js +184 -15
  484. package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
  485. package/dist/gateway/src/services/cli-config-fields.js +30 -1
  486. package/dist/gateway/src/services/cli-config-fields.js.map +1 -1
  487. package/dist/gateway/src/services/cli-config-target.js +20 -1
  488. package/dist/gateway/src/services/cli-config-target.js.map +1 -1
  489. package/dist/gateway/src/services/cli-config-yaml.d.ts +37 -0
  490. package/dist/gateway/src/services/cli-config-yaml.js +77 -0
  491. package/dist/gateway/src/services/cli-config-yaml.js.map +1 -0
  492. package/dist/gateway/src/services/cli-config.js +124 -2
  493. package/dist/gateway/src/services/cli-config.js.map +1 -1
  494. package/dist/gateway/src/services/cli-notification-policy.d.ts +2 -0
  495. package/dist/gateway/src/services/cli-notification-policy.js +19 -0
  496. package/dist/gateway/src/services/cli-notification-policy.js.map +1 -0
  497. package/dist/gateway/src/services/cli-notification-settings.js +98 -14
  498. package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
  499. package/dist/gateway/src/services/codex-config-probe.d.ts +18 -0
  500. package/dist/gateway/src/services/codex-config-probe.js +149 -0
  501. package/dist/gateway/src/services/codex-config-probe.js.map +1 -0
  502. package/dist/gateway/src/services/collaboration/github-pull-requests.d.ts +4 -4
  503. package/dist/gateway/src/services/dashboard-summary.d.ts +6 -0
  504. package/dist/gateway/src/services/dashboard-summary.js +7 -2
  505. package/dist/gateway/src/services/dashboard-summary.js.map +1 -1
  506. package/dist/gateway/src/services/development/authority.d.ts +4 -0
  507. package/dist/gateway/src/services/development/authority.js +56 -6
  508. package/dist/gateway/src/services/development/authority.js.map +1 -1
  509. package/dist/gateway/src/services/development/commands.d.ts +2 -0
  510. package/dist/gateway/src/services/development/commands.js +27 -5
  511. package/dist/gateway/src/services/development/commands.js.map +1 -1
  512. package/dist/gateway/src/services/development/contracts.d.ts +10 -0
  513. package/dist/gateway/src/services/development/contracts.js +1 -1
  514. package/dist/gateway/src/services/development/contracts.js.map +1 -1
  515. package/dist/gateway/src/services/development/execution-identity.d.ts +78 -0
  516. package/dist/gateway/src/services/development/execution-identity.js +33 -0
  517. package/dist/gateway/src/services/development/execution-identity.js.map +1 -0
  518. package/dist/gateway/src/services/development/project-diff.d.ts +26 -0
  519. package/dist/gateway/src/services/development/project-diff.js +194 -0
  520. package/dist/gateway/src/services/development/project-diff.js.map +1 -0
  521. package/dist/gateway/src/services/development/project-git-status.d.ts +33 -0
  522. package/dist/gateway/src/services/development/project-git-status.js +232 -0
  523. package/dist/gateway/src/services/development/project-git-status.js.map +1 -0
  524. package/dist/gateway/src/services/development/reconciliation.d.ts +11 -0
  525. package/dist/gateway/src/services/development/reconciliation.js +93 -0
  526. package/dist/gateway/src/services/development/reconciliation.js.map +1 -0
  527. package/dist/gateway/src/services/development/repair-scope.d.ts +43 -0
  528. package/dist/gateway/src/services/development/repair-scope.js +81 -0
  529. package/dist/gateway/src/services/development/repair-scope.js.map +1 -0
  530. package/dist/gateway/src/services/development/runtime.js +16 -18
  531. package/dist/gateway/src/services/development/runtime.js.map +1 -1
  532. package/dist/gateway/src/services/development/sandbox-supervisor.js +39 -14
  533. package/dist/gateway/src/services/development/sandbox-supervisor.js.map +1 -1
  534. package/dist/gateway/src/services/development/sandbox.d.ts +6 -0
  535. package/dist/gateway/src/services/development/sandbox.js +43 -6
  536. package/dist/gateway/src/services/development/sandbox.js.map +1 -1
  537. package/dist/gateway/src/services/development/state-directory.d.ts +5 -0
  538. package/dist/gateway/src/services/development/state-directory.js +23 -0
  539. package/dist/gateway/src/services/development/state-directory.js.map +1 -0
  540. package/dist/gateway/src/services/development/workspace.d.ts +4 -2
  541. package/dist/gateway/src/services/development/workspace.js +9 -8
  542. package/dist/gateway/src/services/development/workspace.js.map +1 -1
  543. package/dist/gateway/src/services/event-bus.d.ts +46 -1
  544. package/dist/gateway/src/services/event-bus.js +38 -0
  545. package/dist/gateway/src/services/event-bus.js.map +1 -1
  546. package/dist/gateway/src/services/extensions/connection-tools.js +1 -1
  547. package/dist/gateway/src/services/extensions/connection-tools.js.map +1 -1
  548. package/dist/gateway/src/services/extensions/public-fetch.d.ts +1 -0
  549. package/dist/gateway/src/services/extensions/public-fetch.js +1 -1
  550. package/dist/gateway/src/services/extensions/public-fetch.js.map +1 -1
  551. package/dist/gateway/src/services/github-skill-source.d.ts +102 -0
  552. package/dist/gateway/src/services/github-skill-source.js +519 -0
  553. package/dist/gateway/src/services/github-skill-source.js.map +1 -0
  554. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js +1 -1
  555. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js.map +1 -1
  556. package/dist/gateway/src/services/integrations/feishu-markdown.d.ts +9 -0
  557. package/dist/gateway/src/services/integrations/feishu-markdown.js +169 -0
  558. package/dist/gateway/src/services/integrations/feishu-markdown.js.map +1 -0
  559. package/dist/gateway/src/services/integrations/feishu-native-sender.d.ts +1 -1
  560. package/dist/gateway/src/services/integrations/feishu-native-sender.js +53 -8
  561. package/dist/gateway/src/services/integrations/feishu-native-sender.js.map +1 -1
  562. package/dist/gateway/src/services/integrations/feishu-reactions.d.ts +35 -0
  563. package/dist/gateway/src/services/integrations/feishu-reactions.js +100 -0
  564. package/dist/gateway/src/services/integrations/feishu-reactions.js.map +1 -0
  565. package/dist/gateway/src/services/integrations/telegram-bot-api.d.ts +33 -0
  566. package/dist/gateway/src/services/integrations/telegram-bot-api.js +103 -0
  567. package/dist/gateway/src/services/integrations/telegram-bot-api.js.map +1 -0
  568. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.d.ts +66 -0
  569. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js +250 -0
  570. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js.map +1 -0
  571. package/dist/gateway/src/services/integrations/telegram-error-redaction.d.ts +1 -0
  572. package/dist/gateway/src/services/integrations/telegram-error-redaction.js +19 -0
  573. package/dist/gateway/src/services/integrations/telegram-error-redaction.js.map +1 -0
  574. package/dist/gateway/src/services/integrations/telegram-event-normalizer.d.ts +7 -0
  575. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js +84 -0
  576. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js.map +1 -0
  577. package/dist/gateway/src/services/integrations/telegram-native-sender.d.ts +8 -0
  578. package/dist/gateway/src/services/integrations/telegram-native-sender.js +55 -0
  579. package/dist/gateway/src/services/integrations/telegram-native-sender.js.map +1 -0
  580. package/dist/gateway/src/services/integrations/telegram-polling-client.d.ts +35 -0
  581. package/dist/gateway/src/services/integrations/telegram-polling-client.js +112 -0
  582. package/dist/gateway/src/services/integrations/telegram-polling-client.js.map +1 -0
  583. package/dist/gateway/src/services/local-skills.d.ts +1 -0
  584. package/dist/gateway/src/services/local-skills.js +5 -2
  585. package/dist/gateway/src/services/local-skills.js.map +1 -1
  586. package/dist/gateway/src/services/mcode-notification-preference.d.ts +49 -0
  587. package/dist/gateway/src/services/mcode-notification-preference.js +91 -0
  588. package/dist/gateway/src/services/mcode-notification-preference.js.map +1 -0
  589. package/dist/gateway/src/services/mcp/mcp-server.d.ts +2 -1
  590. package/dist/gateway/src/services/mcp/mcp-server.js +198 -20
  591. package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
  592. package/dist/gateway/src/services/mcp/project-workflow.d.ts +25 -0
  593. package/dist/gateway/src/services/mcp/project-workflow.js +81 -0
  594. package/dist/gateway/src/services/mcp/project-workflow.js.map +1 -0
  595. package/dist/gateway/src/services/mcp/token-authority.d.ts +6 -0
  596. package/dist/gateway/src/services/mcp/token-authority.js +143 -0
  597. package/dist/gateway/src/services/mcp/token-authority.js.map +1 -0
  598. package/dist/gateway/src/services/model-capability-projection.d.ts +22 -0
  599. package/dist/gateway/src/services/model-capability-projection.js +46 -0
  600. package/dist/gateway/src/services/model-capability-projection.js.map +1 -0
  601. package/dist/gateway/src/services/model-endpoint-health.d.ts +1 -0
  602. package/dist/gateway/src/services/model-endpoint-health.js +2 -1
  603. package/dist/gateway/src/services/model-endpoint-health.js.map +1 -1
  604. package/dist/gateway/src/services/network-policy.d.ts +12 -4
  605. package/dist/gateway/src/services/network-policy.js +40 -9
  606. package/dist/gateway/src/services/network-policy.js.map +1 -1
  607. package/dist/gateway/src/services/notification-dedupe.d.ts +41 -0
  608. package/dist/gateway/src/services/notification-dedupe.js +86 -0
  609. package/dist/gateway/src/services/notification-dedupe.js.map +1 -0
  610. package/dist/gateway/src/services/notification-events.js +50 -32
  611. package/dist/gateway/src/services/notification-events.js.map +1 -1
  612. package/dist/gateway/src/services/notification-service.d.ts +9 -0
  613. package/dist/gateway/src/services/notification-service.js +19 -0
  614. package/dist/gateway/src/services/notification-service.js.map +1 -0
  615. package/dist/gateway/src/services/notifications/cli-observation.d.ts +138 -0
  616. package/dist/gateway/src/services/notifications/cli-observation.js +62 -0
  617. package/dist/gateway/src/services/notifications/cli-observation.js.map +1 -0
  618. package/dist/gateway/src/services/notifications/feishu-notification-card.d.ts +18 -0
  619. package/dist/gateway/src/services/notifications/feishu-notification-card.js +133 -0
  620. package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -0
  621. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.d.ts +14 -0
  622. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js +50 -0
  623. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js.map +1 -0
  624. package/dist/gateway/src/services/notifications/feishu-notification-error.d.ts +4 -0
  625. package/dist/gateway/src/services/notifications/feishu-notification-error.js +8 -0
  626. package/dist/gateway/src/services/notifications/feishu-notification-error.js.map +1 -0
  627. package/dist/gateway/src/services/notifications/feishu-notification-targets.d.ts +27 -0
  628. package/dist/gateway/src/services/notifications/feishu-notification-targets.js +101 -0
  629. package/dist/gateway/src/services/notifications/feishu-notification-targets.js.map +1 -0
  630. package/dist/gateway/src/services/notifications/feishu-notification-worker.d.ts +14 -0
  631. package/dist/gateway/src/services/notifications/feishu-notification-worker.js +117 -0
  632. package/dist/gateway/src/services/notifications/feishu-notification-worker.js.map +1 -0
  633. package/dist/gateway/src/services/notifications/feishu-notifications.d.ts +32 -0
  634. package/dist/gateway/src/services/notifications/feishu-notifications.js +139 -0
  635. package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -0
  636. package/dist/gateway/src/services/notifications/observe-cli-hook.d.ts +6 -0
  637. package/dist/gateway/src/services/notifications/observe-cli-hook.js +55 -0
  638. package/dist/gateway/src/services/notifications/observe-cli-hook.js.map +1 -0
  639. package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
  640. package/dist/gateway/src/services/opencode-notification-settings.js +143 -13
  641. package/dist/gateway/src/services/opencode-notification-settings.js.map +1 -1
  642. package/dist/gateway/src/services/platform-commands/actions.d.ts +14 -55
  643. package/dist/gateway/src/services/platform-commands/actions.js +192 -131
  644. package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
  645. package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
  646. package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
  647. package/dist/gateway/src/services/platform-commands/agent-scope.d.ts +0 -2
  648. package/dist/gateway/src/services/platform-commands/agent-scope.js +10 -38
  649. package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
  650. package/dist/gateway/src/services/platform-commands/catalog.d.ts +61 -8
  651. package/dist/gateway/src/services/platform-commands/catalog.js +218 -29
  652. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  653. package/dist/gateway/src/services/platform-commands/receipt-projection.js +4 -0
  654. package/dist/gateway/src/services/platform-commands/receipt-projection.js.map +1 -1
  655. package/dist/gateway/src/services/platform-commands/session-commands.d.ts +18 -1
  656. package/dist/gateway/src/services/platform-commands/session-commands.js +93 -38
  657. package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
  658. package/dist/gateway/src/services/platform-commands/tool-commands.js +2 -1
  659. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  660. package/dist/gateway/src/services/platform-commands/types.d.ts +22 -1
  661. package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +7 -0
  662. package/dist/gateway/src/services/programmatic-terminal-submit.js +68 -9
  663. package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
  664. package/dist/gateway/src/services/project-ai-config.js +6 -0
  665. package/dist/gateway/src/services/project-ai-config.js.map +1 -1
  666. package/dist/gateway/src/services/project-config-files.d.ts +1 -1
  667. package/dist/gateway/src/services/project-config-files.js +10 -1
  668. package/dist/gateway/src/services/project-config-files.js.map +1 -1
  669. package/dist/gateway/src/services/project-config-render.d.ts +2 -1
  670. package/dist/gateway/src/services/project-config-render.js +3 -2
  671. package/dist/gateway/src/services/project-config-render.js.map +1 -1
  672. package/dist/gateway/src/services/project-git.js +3 -7
  673. package/dist/gateway/src/services/project-git.js.map +1 -1
  674. package/dist/gateway/src/services/project-manager/access.js +1 -1
  675. package/dist/gateway/src/services/project-manager/access.js.map +1 -1
  676. package/dist/gateway/src/services/project-manager/management.d.ts +5 -4
  677. package/dist/gateway/src/services/project-manager/management.js +4 -3
  678. package/dist/gateway/src/services/project-manager/management.js.map +1 -1
  679. package/dist/gateway/src/services/project-manager/task-execution.d.ts +92 -0
  680. package/dist/gateway/src/services/project-manager/task-execution.js +142 -0
  681. package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -0
  682. package/dist/gateway/src/services/project-manager/task-packets.d.ts +4 -0
  683. package/dist/gateway/src/services/project-manager/task-packets.js +13 -0
  684. package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
  685. package/dist/gateway/src/services/project-manager/task-progress.d.ts +124 -0
  686. package/dist/gateway/src/services/project-manager/task-progress.js +154 -0
  687. package/dist/gateway/src/services/project-manager/task-progress.js.map +1 -0
  688. package/dist/gateway/src/services/provider-balance.d.ts +1 -0
  689. package/dist/gateway/src/services/provider-balance.js +2 -1
  690. package/dist/gateway/src/services/provider-balance.js.map +1 -1
  691. package/dist/gateway/src/services/provider-capabilities.js +11 -0
  692. package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
  693. package/dist/gateway/src/services/provider-model-fetch.d.ts +1 -0
  694. package/dist/gateway/src/services/provider-model-fetch.js +2 -1
  695. package/dist/gateway/src/services/provider-model-fetch.js.map +1 -1
  696. package/dist/gateway/src/services/redaction.d.ts +2 -0
  697. package/dist/gateway/src/services/redaction.js +6 -3
  698. package/dist/gateway/src/services/redaction.js.map +1 -1
  699. package/dist/gateway/src/services/runtime-settings.d.ts +50 -0
  700. package/dist/gateway/src/services/runtime-settings.js +206 -0
  701. package/dist/gateway/src/services/runtime-settings.js.map +1 -0
  702. package/dist/gateway/src/services/session-launch-plan.d.ts +53 -0
  703. package/dist/gateway/src/services/session-launch-plan.js +143 -3
  704. package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
  705. package/dist/gateway/src/services/session-manager.d.ts +64 -2
  706. package/dist/gateway/src/services/session-manager.js +270 -41
  707. package/dist/gateway/src/services/session-manager.js.map +1 -1
  708. package/dist/gateway/src/services/session-server/hello-handshake.d.ts +1 -1
  709. package/dist/gateway/src/services/session-server/hello-handshake.js +2 -2
  710. package/dist/gateway/src/services/session-server/hello-handshake.js.map +1 -1
  711. package/dist/gateway/src/services/session-server/index.d.ts +1 -1
  712. package/dist/gateway/src/services/session-server/index.js.map +1 -1
  713. package/dist/gateway/src/services/session-server/ipc-protocol.d.ts +14 -1
  714. package/dist/gateway/src/services/session-server/ipc-protocol.js.map +1 -1
  715. package/dist/gateway/src/services/session-server/ipc-server.d.ts +5 -0
  716. package/dist/gateway/src/services/session-server/ipc-server.js +28 -0
  717. package/dist/gateway/src/services/session-server/ipc-server.js.map +1 -1
  718. package/dist/gateway/src/services/session-server/platform-adapter.d.ts +10 -0
  719. package/dist/gateway/src/services/session-server/platform-adapter.js +159 -15
  720. package/dist/gateway/src/services/session-server/platform-adapter.js.map +1 -1
  721. package/dist/gateway/src/services/session-server/session-handle.d.ts +8 -1
  722. package/dist/gateway/src/services/session-server/session-handle.js +9 -1
  723. package/dist/gateway/src/services/session-server/session-handle.js.map +1 -1
  724. package/dist/gateway/src/services/session-server/session-server.d.ts +14 -0
  725. package/dist/gateway/src/services/session-server/session-server.js +39 -2
  726. package/dist/gateway/src/services/session-server/session-server.js.map +1 -1
  727. package/dist/gateway/src/services/session-server/terminal-notification-scanner.d.ts +80 -0
  728. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js +253 -0
  729. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js.map +1 -0
  730. package/dist/gateway/src/services/session-server/terminal-screen.d.ts +9 -3
  731. package/dist/gateway/src/services/session-server/terminal-screen.js +10 -4
  732. package/dist/gateway/src/services/session-server/terminal-screen.js.map +1 -1
  733. package/dist/gateway/src/services/session-server-client.d.ts +8 -0
  734. package/dist/gateway/src/services/session-server-client.js +22 -1
  735. package/dist/gateway/src/services/session-server-client.js.map +1 -1
  736. package/dist/gateway/src/services/session-stop-target.d.ts +79 -0
  737. package/dist/gateway/src/services/session-stop-target.js +115 -0
  738. package/dist/gateway/src/services/session-stop-target.js.map +1 -0
  739. package/dist/gateway/src/services/session-writer-leases.d.ts +12 -0
  740. package/dist/gateway/src/services/session-writer-leases.js +25 -2
  741. package/dist/gateway/src/services/session-writer-leases.js.map +1 -1
  742. package/dist/gateway/src/services/shell-command-execution.d.ts +72 -0
  743. package/dist/gateway/src/services/shell-command-execution.js +448 -0
  744. package/dist/gateway/src/services/shell-command-execution.js.map +1 -0
  745. package/dist/gateway/src/services/skill-discovery.d.ts +46 -0
  746. package/dist/gateway/src/services/skill-discovery.js +363 -0
  747. package/dist/gateway/src/services/skill-discovery.js.map +1 -0
  748. package/dist/gateway/src/services/skill-fs-install.d.ts +24 -0
  749. package/dist/gateway/src/services/skill-fs-install.js +150 -0
  750. package/dist/gateway/src/services/skill-fs-install.js.map +1 -0
  751. package/dist/gateway/src/services/skill-install-service.d.ts +72 -0
  752. package/dist/gateway/src/services/skill-install-service.js +346 -0
  753. package/dist/gateway/src/services/skill-install-service.js.map +1 -0
  754. package/dist/gateway/src/services/skill-marketplaces.d.ts +59 -0
  755. package/dist/gateway/src/services/skill-marketplaces.js +420 -0
  756. package/dist/gateway/src/services/skill-marketplaces.js.map +1 -0
  757. package/dist/gateway/src/services/skill-package.d.ts +27 -0
  758. package/dist/gateway/src/services/skill-package.js +135 -0
  759. package/dist/gateway/src/services/skill-package.js.map +1 -0
  760. package/dist/gateway/src/services/skill-registry-http.d.ts +8 -0
  761. package/dist/gateway/src/services/skill-registry-http.js +57 -0
  762. package/dist/gateway/src/services/skill-registry-http.js.map +1 -0
  763. package/dist/gateway/src/services/skill-registry-package.d.ts +55 -0
  764. package/dist/gateway/src/services/skill-registry-package.js +208 -0
  765. package/dist/gateway/src/services/skill-registry-package.js.map +1 -0
  766. package/dist/gateway/src/services/skill-resources.d.ts +1 -0
  767. package/dist/gateway/src/services/skill-resources.js +1 -1
  768. package/dist/gateway/src/services/skill-resources.js.map +1 -1
  769. package/dist/gateway/src/services/teams/service.d.ts +7 -7
  770. package/dist/gateway/src/services/terminal-backend.d.ts +3 -0
  771. package/dist/gateway/src/services/terminal-notification-ingestion.d.ts +19 -0
  772. package/dist/gateway/src/services/terminal-notification-ingestion.js +135 -0
  773. package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -0
  774. package/dist/gateway/src/services/terminal-notification-settings.d.ts +42 -0
  775. package/dist/gateway/src/services/terminal-notification-settings.js +133 -0
  776. package/dist/gateway/src/services/terminal-notification-settings.js.map +1 -0
  777. package/dist/gateway/src/services/usage/kimi-source.d.ts +11 -3
  778. package/dist/gateway/src/services/usage/kimi-source.js +40 -9
  779. package/dist/gateway/src/services/usage/kimi-source.js.map +1 -1
  780. package/dist/gateway/src/services/usage/mcode-source.d.ts +39 -0
  781. package/dist/gateway/src/services/usage/mcode-source.js +137 -0
  782. package/dist/gateway/src/services/usage/mcode-source.js.map +1 -0
  783. package/dist/gateway/src/services/usage/usage-source.d.ts +6 -1
  784. package/dist/gateway/src/services/usage/usage-source.js.map +1 -1
  785. package/dist/gateway/src/services/usage/usage-token-syncer.d.ts +1 -1
  786. package/dist/gateway/src/services/usage/usage-token-syncer.js +3 -1
  787. package/dist/gateway/src/services/usage/usage-token-syncer.js.map +1 -1
  788. package/dist/gateway/src/websocket/events.js +17 -0
  789. package/dist/gateway/src/websocket/events.js.map +1 -1
  790. package/dist/gateway/src/websocket/terminal-output-flow.d.ts +1 -1
  791. package/dist/gateway/src/websocket/terminal.js +12 -4
  792. package/dist/gateway/src/websocket/terminal.js.map +1 -1
  793. package/dist/index.d.ts +11 -0
  794. package/dist/index.js +63 -1
  795. package/dist/index.js.map +1 -1
  796. package/dist/runtime/dependency-check.d.ts +3 -1
  797. package/dist/runtime/dependency-check.js +31 -5
  798. package/dist/runtime/dependency-check.js.map +1 -1
  799. package/dist/runtime/version.d.ts +10 -0
  800. package/dist/runtime/version.js +25 -0
  801. package/dist/runtime/version.js.map +1 -0
  802. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  803. package/dist/web/standalone/packages/web/.next/app-path-routes-manifest.json +2 -1
  804. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  805. package/dist/web/standalone/packages/web/.next/prerender-manifest.json +51 -27
  806. package/dist/web/standalone/packages/web/.next/routes-manifest.json +12 -6
  807. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +5 -2
  808. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
  809. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  810. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +5 -2
  811. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
  812. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  813. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +5 -2
  814. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
  815. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  816. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +5 -2
  817. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
  818. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  819. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +5 -2
  820. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
  821. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  822. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +5 -2
  823. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
  824. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  825. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +5 -2
  826. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
  827. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  828. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +5 -2
  829. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
  830. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  831. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +5 -2
  832. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
  833. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  834. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +5 -2
  835. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
  836. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  837. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +5 -2
  838. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
  839. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  840. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +5 -2
  841. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  842. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  843. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +6 -3
  844. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
  845. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  846. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +5 -2
  847. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
  848. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  849. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +5 -2
  850. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
  851. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  852. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +5 -2
  853. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  854. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  855. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +5 -2
  856. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
  857. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  858. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +5 -2
  859. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
  860. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  861. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +5 -2
  862. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  863. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  864. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/app-paths-manifest.json +3 -0
  865. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +12 -0
  866. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js +6 -6
  867. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -0
  868. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +3 -0
  869. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +5 -2
  870. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js +1 -1
  871. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
  872. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  873. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +5 -2
  874. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  875. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  876. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/app-paths-manifest.json +3 -0
  877. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/build-manifest.json +18 -0
  878. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/next-font-manifest.json +6 -0
  879. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +12 -0
  880. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/server-reference-manifest.json +4 -0
  881. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js +14 -0
  882. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.map +5 -0
  883. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -0
  884. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +3 -0
  885. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +5 -2
  886. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
  887. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  888. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +5 -2
  889. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
  890. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  891. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +5 -2
  892. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
  893. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  894. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +5 -2
  895. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
  896. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  897. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +5 -2
  898. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
  899. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  900. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +5 -2
  901. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
  902. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  903. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  904. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  905. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  906. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  907. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  908. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  909. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  910. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  911. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  912. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  913. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  914. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  915. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  916. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  917. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  918. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  919. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  920. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  921. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  922. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  923. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +25 -20
  924. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  925. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  926. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  927. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +25 -20
  928. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  929. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  930. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  931. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  932. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +25 -23
  933. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  934. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  935. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  936. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  937. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +25 -23
  938. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  939. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  940. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  941. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  942. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +26 -23
  943. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  944. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  945. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  946. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  947. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +26 -23
  948. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  949. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  950. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  951. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  952. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +25 -23
  953. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  954. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  955. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  956. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  957. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +25 -23
  958. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  959. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  960. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  961. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  962. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +26 -23
  963. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  964. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  965. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  966. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  967. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +26 -23
  968. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  969. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  970. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  971. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  972. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +25 -25
  973. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  974. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  975. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  976. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +25 -25
  977. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  978. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  979. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  980. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
  981. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  982. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  983. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
  984. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
  985. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  986. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  987. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  988. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  989. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  990. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  991. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +28 -25
  992. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  993. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  994. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  995. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +28 -25
  996. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  997. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  998. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  999. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  1000. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +25 -22
  1001. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  1002. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1003. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +25 -22
  1004. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  1005. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  1006. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  1007. package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
  1008. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  1009. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  1010. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  1011. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  1012. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  1013. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  1014. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  1015. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  1016. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  1017. package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
  1018. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  1019. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  1020. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
  1021. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
  1022. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  1023. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  1024. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  1025. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  1026. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  1027. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  1028. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +25 -25
  1029. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  1030. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  1031. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1032. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +25 -25
  1033. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  1034. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  1035. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  1036. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  1037. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +28 -27
  1038. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  1039. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  1040. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1041. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +28 -27
  1042. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  1043. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  1044. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  1045. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  1046. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +28 -25
  1047. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  1048. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  1049. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1050. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +28 -25
  1051. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  1052. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  1053. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  1054. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  1055. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +24 -24
  1056. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  1057. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  1058. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1059. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1060. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +24 -24
  1061. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  1062. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  1063. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  1064. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  1065. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +24 -24
  1066. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  1067. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  1068. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1069. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1070. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +24 -24
  1071. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  1072. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  1073. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  1074. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  1075. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +28 -25
  1076. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  1077. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1078. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1079. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +28 -25
  1080. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  1081. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  1082. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  1083. package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
  1084. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  1085. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  1086. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
  1087. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
  1088. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  1089. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  1090. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  1091. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  1092. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  1093. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  1094. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +28 -29
  1095. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  1096. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  1097. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1098. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +28 -29
  1099. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  1100. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  1101. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  1102. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  1103. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +28 -27
  1104. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  1105. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  1106. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1107. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +28 -27
  1108. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  1109. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  1110. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  1111. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -0
  1112. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.meta +17 -0
  1113. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +32 -0
  1114. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +9 -0
  1115. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +5 -0
  1116. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1117. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1118. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +32 -0
  1119. package/dist/web/standalone/packages/web/.next/server/app/{copilot/settings/access.segments → skills/discover.segments}/_head.segment.rsc +4 -4
  1120. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +8 -0
  1121. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +3 -0
  1122. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  1123. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +29 -27
  1124. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  1125. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  1126. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1127. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1128. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +29 -27
  1129. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  1130. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  1131. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  1132. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -0
  1133. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.meta +17 -0
  1134. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +32 -0
  1135. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +9 -0
  1136. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +5 -0
  1137. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1138. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1139. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +32 -0
  1140. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +6 -0
  1141. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +8 -0
  1142. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +3 -0
  1143. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  1144. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +28 -25
  1145. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  1146. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1147. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1148. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +28 -25
  1149. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  1150. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  1151. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  1152. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  1153. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +25 -20
  1154. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  1155. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  1156. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1157. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +25 -20
  1158. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  1159. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  1160. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  1161. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  1162. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +28 -25
  1163. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  1164. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  1165. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1166. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +28 -25
  1167. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  1168. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  1169. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  1170. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  1171. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +28 -25
  1172. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  1173. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  1174. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1175. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +28 -25
  1176. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  1177. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  1178. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  1179. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  1180. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +25 -20
  1181. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  1182. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  1183. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1184. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +25 -20
  1185. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  1186. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  1187. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  1188. package/dist/web/standalone/packages/web/.next/server/app-paths-manifest.json +2 -1
  1189. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0942_@dnd-kit_core_dist_core_esm_06quy3m.js +3 -0
  1190. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0e0j_zod_v3_external_0q93s3v.js +3 -0
  1191. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_discover_page_actions_0s10d6r.js +3 -0
  1192. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_sources_page_actions_120iys8.js +3 -0
  1193. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0vyr_@hookform_resolvers_zod_dist_zod_mjs_13jikrg._.js +1 -1
  1194. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0zxb_lucide-react_dist_esm_icons_external-link_0buejti.js +3 -0
  1195. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/12g__next_dist_esm_build_templates_app-page_0mp8266.js +4 -0
  1196. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{12g__next_dist_esm_build_templates_app-page_0hj3-t3.js → 12g__next_dist_esm_build_templates_app-page_0u2wn0p.js} +3 -3
  1197. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-ytd88._.js +1 -1
  1198. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-yv-w0._.js +3 -0
  1199. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-~3_py._.js +1 -1
  1200. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0.xbx1g._.js +3 -0
  1201. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000_z4-._.js +1 -1
  1202. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__00pu_nf._.js +1 -1
  1203. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__01gw6cp._.js +3 -0
  1204. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04y4h09._.js +1 -1
  1205. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04zzicc._.js +1 -1
  1206. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__059ub-x._.js +1 -1
  1207. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  1208. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__099xvsj._.js +1 -1
  1209. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__05zp5v-._.js → [root-of-the-server]__0b_bfwi._.js} +2 -2
  1210. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0bwa4-1._.js +1 -1
  1211. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dm9ht7._.js +1 -1
  1212. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +3 -0
  1213. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dypek8._.js +1 -1
  1214. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e4wlbg._.js +1 -1
  1215. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hdcf1b._.js +1 -1
  1216. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hyeafb._.js +1 -1
  1217. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i9m599._.js +1 -1
  1218. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ixm_tt._.js +1 -1
  1219. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0joovln._.js +1 -1
  1220. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0nayrgw._.js +1 -1
  1221. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oi0duh._.js +1 -1
  1222. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0p0asvc._.js +1 -1
  1223. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0rnn~dl._.js +1 -1
  1224. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +3 -0
  1225. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +3 -0
  1226. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6yt~4._.js +1 -1
  1227. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ue.dgb._.js +1 -1
  1228. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vdrg8-._.js +1 -1
  1229. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vhr68-._.js +1 -1
  1230. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0w9fpxt._.js +1 -1
  1231. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0xjgo0p._.js +1 -1
  1232. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ym8445._.js +1 -1
  1233. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0yni1ey._.js +1 -1
  1234. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~uajh5._.js +1 -1
  1235. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~x9f4h._.js +1 -1
  1236. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__10ulbpl._.js +1 -1
  1237. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +3 -0
  1238. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12t8cyh._.js +1 -1
  1239. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-46bd0._.js +3 -0
  1240. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-c~1pz._.js +1 -1
  1241. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +3 -0
  1242. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +3 -0
  1243. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02b77w9._.js +3 -0
  1244. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +3 -0
  1245. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03lvgsp._.js +1 -1
  1246. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +3 -0
  1247. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +3 -0
  1248. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +3 -0
  1249. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08sy38p._.js +3 -0
  1250. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08w4krs._.js +1 -1
  1251. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +3 -0
  1252. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_y0lld._.js +1 -1
  1253. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +3 -0
  1254. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +3 -0
  1255. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eg167x._.js +1 -1
  1256. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0k0ia-e._.js +7 -0
  1257. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +3 -0
  1258. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +3 -0
  1259. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +3 -0
  1260. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +3 -0
  1261. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
  1262. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +3 -0
  1263. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +3 -0
  1264. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +3 -0
  1265. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +3 -0
  1266. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0uhabr0._.js +1 -1
  1267. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0upw.g1._.js +1 -1
  1268. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +3 -0
  1269. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +3 -0
  1270. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +3 -0
  1271. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0z-ne1w._.js +1 -1
  1272. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +3 -0
  1273. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11yi7~7._.js +3 -0
  1274. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12w9fro._.js +3 -0
  1275. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_130nfm2._.js +3 -0
  1276. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +3 -0
  1277. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +3 -0
  1278. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +3 -0
  1279. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_04syrba._.js +3 -0
  1280. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0dcra4_._.js +3 -0
  1281. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  1282. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0p9lxjb._.js +3 -0
  1283. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
  1284. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +3 -0
  1285. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_members_page_tsx_036.9by._.js +1 -1
  1286. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
  1287. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
  1288. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_projects_[id]_page_tsx_0pmq-e9._.js +1 -1
  1289. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
  1290. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
  1291. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
  1292. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_skills_page_tsx_096j6mw._.js +1 -1
  1293. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
  1294. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
  1295. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
  1296. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
  1297. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_DevelopmentTasks_tsx_0fr61i5._.js +1 -1
  1298. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +3 -0
  1299. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +1 -1
  1300. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  1301. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  1302. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  1303. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  1304. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  1305. package/dist/web/standalone/packages/web/.next/static/chunks/0-8d_w3npya8o.js +1 -0
  1306. package/dist/web/standalone/packages/web/.next/static/chunks/0.1mxnjmxr~su.js +5 -0
  1307. package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +3 -0
  1308. package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +1 -0
  1309. package/dist/web/standalone/packages/web/.next/static/chunks/00gq~jtzei49d.js +1 -0
  1310. package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +1 -0
  1311. package/dist/web/standalone/packages/web/.next/static/chunks/02tbf1dbhnqcj.js +1 -0
  1312. package/dist/web/standalone/packages/web/.next/static/chunks/{01_gytnzf~ik-.js → 02tn25zg7z463.js} +1 -1
  1313. package/dist/web/standalone/packages/web/.next/static/chunks/04z6sbk30kk_r.js +1 -0
  1314. package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +1 -0
  1315. package/dist/web/standalone/packages/web/.next/static/chunks/053cmh-o17957.js +1 -0
  1316. package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +2 -0
  1317. package/dist/web/standalone/packages/web/.next/static/chunks/06u~yrka~n0q1.js +1 -0
  1318. package/dist/web/standalone/packages/web/.next/static/chunks/07_bj2hhs1b~b.js +1 -0
  1319. package/dist/web/standalone/packages/web/.next/static/chunks/07ikcry4s28l9.js +1 -0
  1320. package/dist/web/standalone/packages/web/.next/static/chunks/0b5zptp8.z.nn.js +1 -0
  1321. package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +1 -0
  1322. package/dist/web/standalone/packages/web/.next/static/chunks/0ecg~muitl4rl.js +1 -0
  1323. package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +1 -0
  1324. package/dist/web/standalone/packages/web/.next/static/chunks/0equ6w7v0pt2c.js +1 -0
  1325. package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +1 -0
  1326. package/dist/web/standalone/packages/web/.next/static/chunks/0fjt5fv~.5gyl.js +1 -0
  1327. package/dist/web/standalone/packages/web/.next/static/chunks/{04r2nmtpcfrz..js → 0g.bgavgt6uke.js} +1 -1
  1328. package/dist/web/standalone/packages/web/.next/static/chunks/0g.jepdilt76o.js +1 -0
  1329. package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +1 -0
  1330. package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +1 -0
  1331. package/dist/web/standalone/packages/web/.next/static/chunks/0l2ojgpvlde~a.js +1 -0
  1332. package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +1 -0
  1333. package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +1 -0
  1334. package/dist/web/standalone/packages/web/.next/static/chunks/0ouh2tpsjqi5m.js +1 -0
  1335. package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +1 -0
  1336. package/dist/web/standalone/packages/web/.next/static/chunks/0rvmfvjpdwe.w.js +1 -0
  1337. package/dist/web/standalone/packages/web/.next/static/chunks/0spmlj~6fltww.js +1 -0
  1338. package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +1 -0
  1339. package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +1 -0
  1340. package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +1 -0
  1341. package/dist/web/standalone/packages/web/.next/static/chunks/0txrk44pdmdsw.js +1 -0
  1342. package/dist/web/standalone/packages/web/.next/static/chunks/0ujyee4n5.vxl.js +1 -0
  1343. package/dist/web/standalone/packages/web/.next/static/chunks/0uqsh8sbcz046.js +1 -0
  1344. package/dist/web/standalone/packages/web/.next/static/chunks/0v-8fk68e-ugm.js +1 -0
  1345. package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +1 -0
  1346. package/dist/web/standalone/packages/web/.next/static/chunks/0y2ze6bljklix.js +1 -0
  1347. package/dist/web/standalone/packages/web/.next/static/chunks/0y8vr-14-90yt.js +1 -0
  1348. package/dist/web/standalone/packages/web/.next/static/chunks/0yy-wz1k_sil_.js +1 -0
  1349. package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +1 -0
  1350. package/dist/web/standalone/packages/web/.next/static/chunks/{0wys15fa7nhtt.js → 0~cm.ike75hqk.js} +1 -1
  1351. package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +1 -0
  1352. package/dist/web/standalone/packages/web/.next/static/chunks/{0y._brrinmy-y.js → 1052k.mfsf9ib.js} +1 -1
  1353. package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +1 -0
  1354. package/dist/web/standalone/packages/web/.next/static/chunks/12kzd4cqtbqk~.js +1 -0
  1355. package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +1 -0
  1356. package/dist/web/standalone/packages/web/.next/static/chunks/13wgo~3bv23zr.js +1 -0
  1357. package/dist/web/standalone/packages/web/.next/static/chunks/{02cfennlupsr5.js → 140zf2tofmr6d.js} +1 -1
  1358. package/dist/web/standalone/packages/web/.next/static/chunks/17jci4t~zq7c9.js +1 -0
  1359. package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +1 -0
  1360. package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +1 -0
  1361. package/dist/web/standalone/packages/web/public/brand/cli/codex.svg +5 -1
  1362. package/dist/web/standalone/packages/web/public/brand/cli/kimi.svg +1 -1
  1363. package/dist/web/standalone/packages/web/public/brand/cli/mcode.svg +1 -0
  1364. package/dist/web/standalone/packages/web/public/brand/fonts/OFL.txt +93 -0
  1365. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-bold.ttf +0 -0
  1366. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-regular.ttf +0 -0
  1367. package/dist/web/standalone/packages/web/public/favicon.ico +0 -0
  1368. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/sit.webp +0 -0
  1369. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/stand.webp +0 -0
  1370. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/walk.webp +0 -0
  1371. package/docs/README.zh-CN.md +25 -15
  1372. package/docs/README.zh-TW.md +25 -15
  1373. package/package.json +10 -10
  1374. package/dist/gateway/src/db/repositories/copilot-grant-repository.d.ts +0 -40
  1375. package/dist/gateway/src/db/repositories/copilot-grant-repository.js +0 -53
  1376. package/dist/gateway/src/db/repositories/copilot-grant-repository.js.map +0 -1
  1377. package/dist/gateway/src/services/codex-native-auth-status.d.ts +0 -22
  1378. package/dist/gateway/src/services/codex-native-auth-status.js +0 -84
  1379. package/dist/gateway/src/services/codex-native-auth-status.js.map +0 -1
  1380. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/app-paths-manifest.json +0 -3
  1381. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +0 -9
  1382. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page.js.nft.json +0 -1
  1383. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +0 -3
  1384. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +0 -1
  1385. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.meta +0 -18
  1386. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +0 -27
  1387. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +0 -6
  1388. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +0 -5
  1389. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +0 -5
  1390. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +0 -5
  1391. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
  1392. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +0 -27
  1393. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +0 -8
  1394. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +0 -3
  1395. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/06ld_server_app_(dashboard)_copilot_settings_access_page_actions_0-w4z-w.js +0 -3
  1396. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03qqlsf._.js +0 -3
  1397. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05_yw9~._.js +0 -3
  1398. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +0 -3
  1399. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oun.k-._.js +0 -3
  1400. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0y-e.fw._.js +0 -3
  1401. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__135gcxh._.js +0 -3
  1402. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.2ld7q._.js +0 -3
  1403. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00.0g-5._.js +0 -3
  1404. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01h5sc6._.js +0 -3
  1405. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03t4dqx._.js +0 -3
  1406. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04ioa9k._.js +0 -3
  1407. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05rbfok._.js +0 -3
  1408. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07sqde5._.js +0 -3
  1409. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0941x7t._.js +0 -3
  1410. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09~uay9._.js +0 -3
  1411. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0anvf8m._.js +0 -3
  1412. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0atn-ml._.js +0 -3
  1413. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0c3twpg._.js +0 -3
  1414. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +0 -3
  1415. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f1dcy2._.js +0 -3
  1416. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +0 -3
  1417. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0fbdold._.js +0 -3
  1418. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +0 -3
  1419. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0inc1dm._.js +0 -3
  1420. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0i~~g8h._.js +0 -3
  1421. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p3urqy._.js +0 -3
  1422. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qi9cog._.js +0 -3
  1423. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rc9ewt._.js +0 -3
  1424. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vf07~e._.js +0 -3
  1425. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +0 -3
  1426. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~t_uoo._.js +0 -3
  1427. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~wir~e._.js +0 -3
  1428. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10h.hnm._.js +0 -3
  1429. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11586ck._.js +0 -3
  1430. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11dpryf._.js +0 -3
  1431. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0eo3d7_._.js +0 -3
  1432. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0hfdzjb._.js +0 -3
  1433. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0mls2za._.js +0 -7
  1434. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_08mhbmm._.js +0 -3
  1435. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_12cpu6n._.js +0 -3
  1436. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +0 -3
  1437. package/dist/web/standalone/packages/web/.next/static/chunks/0-xefkkbz5sms.js +0 -1
  1438. package/dist/web/standalone/packages/web/.next/static/chunks/0-~0vw7n16dl5.js +0 -1
  1439. package/dist/web/standalone/packages/web/.next/static/chunks/0..mi~ip7knx..js +0 -1
  1440. package/dist/web/standalone/packages/web/.next/static/chunks/0.4~~7f7.7nat.js +0 -1
  1441. package/dist/web/standalone/packages/web/.next/static/chunks/0.dinxntqfai9.js +0 -1
  1442. package/dist/web/standalone/packages/web/.next/static/chunks/0.iplf~527jxz.js +0 -1
  1443. package/dist/web/standalone/packages/web/.next/static/chunks/0.uku9w_tku_y.js +0 -1
  1444. package/dist/web/standalone/packages/web/.next/static/chunks/00a29f0n_owqb.js +0 -1
  1445. package/dist/web/standalone/packages/web/.next/static/chunks/00nyo39rsq7i8.js +0 -1
  1446. package/dist/web/standalone/packages/web/.next/static/chunks/00pacdmo8d9v~.js +0 -1
  1447. package/dist/web/standalone/packages/web/.next/static/chunks/00~iuhivx6vaz.js +0 -1
  1448. package/dist/web/standalone/packages/web/.next/static/chunks/012n34zp1cx_n.js +0 -1
  1449. package/dist/web/standalone/packages/web/.next/static/chunks/0269he.njfzan.js +0 -1
  1450. package/dist/web/standalone/packages/web/.next/static/chunks/06k2e3bpaue8l.js +0 -1
  1451. package/dist/web/standalone/packages/web/.next/static/chunks/09ue~77p.85v3.js +0 -1
  1452. package/dist/web/standalone/packages/web/.next/static/chunks/09wc9dfimci6a.js +0 -1
  1453. package/dist/web/standalone/packages/web/.next/static/chunks/0abzy49yu-md1.js +0 -2
  1454. package/dist/web/standalone/packages/web/.next/static/chunks/0av6gt_66dv~q.js +0 -1
  1455. package/dist/web/standalone/packages/web/.next/static/chunks/0belg47nkwgq6.js +0 -1
  1456. package/dist/web/standalone/packages/web/.next/static/chunks/0bwb7o-xmqgh9.js +0 -3
  1457. package/dist/web/standalone/packages/web/.next/static/chunks/0c11igjuiagib.js +0 -5
  1458. package/dist/web/standalone/packages/web/.next/static/chunks/0c2pxjg6tacjx.js +0 -1
  1459. package/dist/web/standalone/packages/web/.next/static/chunks/0d7lv09enxqxk.js +0 -1
  1460. package/dist/web/standalone/packages/web/.next/static/chunks/0ek9hith8j-xs.js +0 -1
  1461. package/dist/web/standalone/packages/web/.next/static/chunks/0g477-voyum5d.css +0 -1
  1462. package/dist/web/standalone/packages/web/.next/static/chunks/0jm.qk52w_wlq.js +0 -1
  1463. package/dist/web/standalone/packages/web/.next/static/chunks/0kl7osb_ugtrb.js +0 -1
  1464. package/dist/web/standalone/packages/web/.next/static/chunks/0kuv_jfsd~d34.js +0 -1
  1465. package/dist/web/standalone/packages/web/.next/static/chunks/0l2c60o_7mt7g.js +0 -1
  1466. package/dist/web/standalone/packages/web/.next/static/chunks/0lgu8uprqf5l5.js +0 -1
  1467. package/dist/web/standalone/packages/web/.next/static/chunks/0ljywx8uhruo~.js +0 -1
  1468. package/dist/web/standalone/packages/web/.next/static/chunks/0om1z.zeag-a7.js +0 -1
  1469. package/dist/web/standalone/packages/web/.next/static/chunks/0omo_v~lr8w_w.js +0 -1
  1470. package/dist/web/standalone/packages/web/.next/static/chunks/0owwl5ly1~5em.js +0 -1
  1471. package/dist/web/standalone/packages/web/.next/static/chunks/0pav25z50nsff.js +0 -1
  1472. package/dist/web/standalone/packages/web/.next/static/chunks/0q~8nf7do6jft.js +0 -1
  1473. package/dist/web/standalone/packages/web/.next/static/chunks/0rcf89hmdwpcw.js +0 -1
  1474. package/dist/web/standalone/packages/web/.next/static/chunks/0ro2__iu505.1.js +0 -1
  1475. package/dist/web/standalone/packages/web/.next/static/chunks/0rxi1_itf74bl.js +0 -1
  1476. package/dist/web/standalone/packages/web/.next/static/chunks/0ub4kcycb_b...js +0 -1
  1477. package/dist/web/standalone/packages/web/.next/static/chunks/0v0jdpyx4p.1c.js +0 -1
  1478. package/dist/web/standalone/packages/web/.next/static/chunks/0v8tskw4xza79.js +0 -1
  1479. package/dist/web/standalone/packages/web/.next/static/chunks/0v_2~m-2hqn2..js +0 -1
  1480. package/dist/web/standalone/packages/web/.next/static/chunks/10eii2rij6zzf.js +0 -1
  1481. package/dist/web/standalone/packages/web/.next/static/chunks/17b.cxsg0c75d.js +0 -1
  1482. package/dist/web/standalone/packages/web/.next/static/chunks/17hy0ddp_si9n.js +0 -1
  1483. package/dist/web/standalone/packages/web/.next/static/chunks/180yq_t-g35fr.js +0 -1
  1484. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/build-manifest.json +0 -0
  1485. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/next-font-manifest.json +0 -0
  1486. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/server-reference-manifest.json +0 -0
  1487. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js.map +0 -0
  1488. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_buildManifest.js +0 -0
  1489. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_clientMiddlewareManifest.js +0 -0
  1490. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → rZYlH0_cQ6CsojVFUjtlA}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,4484,e=>{"use strict";let t=(0,e.i(65174).default)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);e.s(["SlidersHorizontal",0,t],4484)},42831,e=>{"use strict";var t=e.i(35887);let i={navAriaLabel:"Copilot 设置导航",navGeneral:"常规",navExtensions:"扩展",navChannels:"远程渠道",navAutomations:"自动化",backToChat:"返回对话",channelsCardTitle:"远程渠道",channelsCardDescription:"配置飞书与 Telegram 远程操作:应用接入、身份确认与项目绑定。",channelPlatformLabel:"渠道平台",channelStateNotConnected:"未接入",channelStatePairing:"待配对",channelStateAuthorization:"待授权",channelStateRunning:"运行中",channelStateStopped:"已停止",channelStateUnknown:"待核查",diagnosticsFailedNotice:e=>`诊断存在 ${e} 项未通过。`,diagnosticsExpand:"展开诊断",diagnosticsCollapse:"收起诊断",diagnosticsStatusUntested:"未验证",diagnosticsStatusPending:"进行中",diagnosticsStatusFailed:"未通过",copyCommand:"复制命令",commandCopied:"已复制",modifyConfig:"修改配置",editAllowlist:"编辑白名单",setAllowlist:"设置白名单",allowlistEmpty:"尚未设置聊天白名单。",identitiesEmpty:"暂无已确认身份。",bindingsEmpty:"尚无渠道绑定。",emergencyStopTitle:e=>`确认紧急停止${e}?`,emergencyStopDescription:"紧急停止会阻止后续入站消息与操作;已经发生的操作无法撤回。",emergencyStopConfirm:"确认停止",dialogCancel:"取消",memoryScopeGlobal:"全局",memoryScopeProject:"项目",memoryScopeSession:"会话",memoryKindFact:"事实",memoryKindPreference:"偏好",memoryKindDecision:"决策",memoryKindProjectNote:"项目备注",manageModels:"管理模型",autonomyTitle:"派发自主权",autonomyDescription:"允许 Copilot 程序化控制哪些 CLI 适配器。未启用的适配器在派发时会被安全策略拒绝。",autonomyEmptyNote:"未启用任何适配器:所有程序化派发都会被拒绝,需要手动向 CLI 提交指令。",autonomyInstalled:"本机已检测到",autonomyMissing:"未检测到 CLI",autonomyAutoDispatch:"项目任务自动推进",autonomyAutoDispatchDescription:"CLI 报告任务完成/失败后,自动把对应工作项推进到待评审/受阻。",autonomyAutoDispatchBlocked:"需先启用至少一个适配器",autonomySaving:"正在保存…",autonomySaved:"派发自主权已保存。",autonomySaveError:"保存失败,请重试。",autonomyLoadError:"加载失败",autonomyRetry:"重试",autonomyReadonly:"运行时设置已被 FORGEBADGER_RUNTIME_SETTINGS_READONLY 锁定为只读,请修改 .env 并重启 Gateway。",autonomySourceEnv:".env",autonomySourceSettings:"设置页",notifyContentHint:"通知默认包含已采集到的脱敏结果、错误和执行进度,无需额外开启;所选私聊或群聊成员均可看到这些内容。",notifyTitle:"飞书通知",notifyDescription:"选择已确认的私聊或已核验的群聊接收通知卡片。保存仅授权通知推送,不改变远程命令白名单或项目操作权限。",notifySwitchAria:"接收 ForgeBadger 通知",notifyLoading:"正在加载通知设置…",notifyLoadError:"通知设置加载失败。",notifyReload:"重新加载通知设置",notifyTargetLabel:"通知接收位置",notifyTargetPlaceholder:"选择私聊或群聊",notifyTargetStale:"已失效的接收位置,请重新选择",notifyKindGroup:"群聊",notifyKindPrivate:"私聊",notifyUnavailableSuffix:"不可用",notifyRefreshTargets:"刷新接收位置",notifyPrivateHint:"私聊来自已确认身份;刷新会核验已配置或已使用的群聊。机器人需在群内,并具备读取群列表与群成员状态的权限。",notifyGroupNotice:e=>`所选通知将发送到群“${e}”,群成员均可查看。`,notifyTypesLegend:"通知类型",notifyWebLabel:"ForgeBadger Web 地址(可选)",notifyWebAria:"ForgeBadger Web 地址",notifyWebHint:"填写飞书所在设备能访问的地址,卡片才显示查看按钮;localhost 只指向当前设备。留空仍可接收卡片摘要。卡片不提供直接审批操作。",notifyBlockerFallback:"请检查通知配置。",notifySave:"保存通知设置",notifyTest:"发送测试卡片",notifyActionFailed:(e,t)=>`${e}失败。${t}`,notifyActionRefresh:"刷新接收位置",notifyActionSave:"保存",notifyActionTest:"测试通知入队",notifyAuthExpired:"登录已失效,请重新登录。",notifyGenericError:"暂时无法完成请求,请检查 Gateway 连接后重试。",notifyRefreshOk:"接收位置已刷新。",notifyRefreshNoGroup:"未发现可用的已配置群聊,请确认机器人已加入该群。已确认私聊仍可直接选择。",notifySavedOn:"飞书通知已开启,只推送之后产生的通知。",notifySavedOff:"飞书通知已关闭,尚未发送的通知已取消。",notifyTestQueued:"测试卡片已入队,请查看下方投递状态和所选会话。",notifyDeliveriesTitle:"最近通知投递",notifyDeliveriesHint:"飞书已接收不代表已读;结果不确定时请先核对接收会话,系统不会自动重发。",notifyDeliveriesLoading:"正在加载投递记录…",notifyDeliveriesLoadError:"投递记录加载失败。",notifyDeliveriesEmpty:"暂无通知投递记录。",notifyTestCard:"测试卡片",notifyDeliveryFallback:"通知",notifyTypes:{attention:"需要处理 / 等待审批",failure:"任务失败 / 权限被拒绝",completion:"任务完成",lifecycle:"任务中断 / 会话结束",app_action:"应用操作结果",automation:"自动化任务结果"},notifyStatuses:{pending:"待发送",sending:"发送中",delivered:"飞书已接收",failed:"发送失败",unknown:"结果不确定",cancelled:"已取消"},notifyBlockers:{IDENTITY_INVALID:"请先完成私聊身份确认。",ACCOUNT_CHANGED:"账号配置已变化,请重新配对身份。",CHANNEL_DISABLED:"请先启用飞书应用,或解除紧急停止。",USER_DISABLED:"当前账号已停用。",TARGET_INVALID:"请选择一个已确认的私聊或已核验的群聊。",TARGET_UNAVAILABLE:"接收位置已不可用,请刷新列表并重新选择。",TARGET_CHANGED:"接收位置已变化,请重新选择并保存。",TARGET_CONFLICT:"接收位置与旧版私聊设置冲突,请刷新页面后重新选择。"},notifyErrors:{CONFIG_CONFLICT:"配置已在其他页面更新,请重新加载通知设置后再修改。",WEB_URL_INVALID:"Web 地址格式不正确,请使用完整的 http:// 或 https:// 地址,不包含账号密码、查询参数或 # 片段;也可以留空。",TYPES_REQUIRED:"请至少选择一种通知类型。",INPUT_INVALID:"提交的通知设置格式不正确,请检查输入。",SUBSCRIPTION_DISABLED:"请先开启并保存通知设置。",QUEUE_FULL:"待发送通知已达上限,请等待队列处理后再测试。",INTERNAL_ERROR:"服务端暂时无法处理通知请求,请稍后重试。",DIRECTORY_PERMISSION_REQUIRED:"飞书应用缺少读取群聊列表或群成员状态的权限,请在飞书开放平台补齐权限后刷新。",DIRECTORY_UNAVAILABLE:"暂时无法核验飞书群聊,请检查应用权限及网络后刷新;已保存的设置不会被清空。",DIRECTORY_INCOMPLETE:"群聊列表未能完整读取,请稍后刷新。"},channelNameFeishu:"飞书",channelNameTelegram:"Telegram",connectionTitleFeishu:"1. 接入飞书应用",connectionTitleTelegram:"1. 接入 Telegram 机器人",connectionDescription:"本步骤连接机器人;完成第 2 步身份确认和第 3 步项目授权后,才能远程操作。",savedBadgeFeishu:"凭证已保存",savedBadgeTelegram:"Bot Token 已保存",notConfiguredBadgeFeishu:"尚未配置凭证",notConfiguredBadgeTelegram:"尚未配置 Bot Token",botUsername:e=>`机器人 @${e}`,lastConnected:e=>`最近连接:${e}`,lastError:e=>`最近错误:${e}`,secretKeepPlaceholder:"留空保留已保存密钥",secretInputPlaceholder:"输入应用密钥",tokenKeepPlaceholder:"留空保留已保存 Token",saveAndEnable:"保存并启用",feishuReconnectHint:"更换应用凭证或重新启用后需要重新配对和绑定;保存相同配置会保留已有授权。",feishuPlatformHint:"飞书开放平台需开启机器人,事件订阅选择长连接并订阅 im.message.receive_v1,配置消息接收与机器人发送权限,发布应用版本并确认自己的账号在应用可用范围内。",feishuCardHint:"在「事件与回调 → 回调配置」中选择长连接,并添加「卡片回传交互」card.action.trigger,才能直接在飞书审批卡片中批准或拒绝操作。仅任务发起人可审批;Web Copilot 仍可处理同一审批。",emergencyStopNote:e=>`紧急停止阻止后续入站和操作;已经发生的操作无法撤回。${e?"Telegram 机器人通过长轮询接收消息,无需公网回调地址。":""}`,emergencyStopButton:e=>`紧急停止${e}`,pairingTitle:"2. 确认私聊身份",pairingDescription:"连接成功后,还需确认哪个私聊用户可以操作项目。发送配对命令后,请回到此处确认身份。",createPairingCode:"生成新的配对码",pairingCommandHint:(e,t)=>`向${e}机器人私聊发送以下命令,请勿转发。到期:${t}`,noPendingPairing:"没有待确认配对。新配对码会使旧码失效。",pairingStatusPending:"待处理",waitingClaim:e=>`等待${e}私聊认领… 配对码仅在生成时显示,刷新页面后可重新生成。`,claimReviewHint:"请核对认领者,勾选后确认;系统不会自动绑定身份。",userIdLabelFeishu:"飞书用户 ID",userIdLabelTelegram:"Telegram 用户 ID",chatIdLabelFeishu:"私聊 ID",chatIdLabelTelegram:"会话 ID",ackLabel:e=>`我确认这是自己的${e}私聊`,confirmIdentity:"确认身份",cancelPairing:"取消本次配对",identityStale:"已失效,需重新配对",revokeIdentity:"撤销身份",allowlistTitle:"聊天白名单(群聊与私聊)",allowlistHint:"群聊默认拒绝;加入白名单后,机器人在该群内被 @ 才会响应。注意:白名单非空时,不在名单内的私聊也会被拒绝,需要把自己的私聊 ID 一并加入。",allowlistInputLabel:"群聊与私聊 ID(逗号分隔,最多 50 个)",allowlistAria:"群聊白名单",allowlistPlaceholderFeishu:"例如:oc_群聊ID,oc_私聊ID",allowlistPlaceholderTelegram:"例如:-1001234567890,123456789",saveAllowlist:"保存白名单",allowlistTooMany:"最多允许 50 个聊天 ID,请减少后再保存。",allowlistLoadError:"白名单加载失败,请稍后重试。",bindingTitle:"3. 绑定项目与操作授权",bindingDescription:"私聊、群聊与话题各自使用独立会话。授权范围就是所选项目:项目的 Copilot 自治开关开启时渠道消息可直接执行,关闭后立即停止受理。",manageAutonomy:"管理项目 Copilot 自治开关",projectsLoading:"正在加载项目…",noAutonomyProjects:"尚无已开启 Copilot 自治的项目,请先在上方打开项目开关。",identityLabel:"私聊身份",identityPlaceholder:"选择已确认身份",projectLabel:"项目",projectPlaceholder:"选择已开启自治的项目",activateRemote:e=>`启用${e}远程操作`,independentSession:e=>`独立会话:${e}`,openConversation:"打开会话",revokeBinding:"撤销渠道绑定",channelStates:{pending:"待处理",claimed:"等待确认",confirmed:"已确认",cancelled:"已取消",active:"有效",revoked:"已撤销",sending:"发送中",delivered:"渠道已接收",failed:"发送失败",unknown:"结果不确定",connected:"已连接",connecting:"连接中",reconnecting:"重新连接中",unhealthy:"连接异常",stopped:"已停止",disabled:"未启用"},routeStates:{authorized:"权限有效",pending_review:"授权状态待核查",identity_inactive:"身份已失效",config_changed:"配置已更新,需要重新绑定",channel_disabled:"渠道已停用",project_missing:"项目不存在",autonomy_off:"项目 Copilot 自治未开启",authority_revoked:"授权已失效,请撤销后重新绑定"},channelSetup:{connectionAction:"前往应用接入",pairingAction:"前往身份配对",authorizationAction:"前往项目授权",secretRequired:"请先在第 1 步保存机器人凭证并连接渠道。",configChecking:"正在核查渠道配置,请稍候。",configLoadFailed:"渠道配置加载失败,请重新加载后再授权。",channelDisabled:"渠道已停用或紧急停止,请先在第 1 步保存并连接。",selectIdentity:"请选择要授权的已确认私聊身份。",identityClaimed:"私聊已认领,请在第 2 步核对并确认身份。",identityPending:"请向机器人私聊发送第 2 步的配对命令,然后返回确认身份。",identityStale:"身份已失效,请先在第 2 步重新配对并确认身份。",pairFirst:"请先在第 2 步生成配对码,完成私聊认领并确认身份。",existingRoute:"该身份已有渠道绑定;如需重新绑定或更换项目,请先撤销下方原绑定。",projectsLoading:"正在加载项目,请稍候。",projectsError:"项目加载失败,请重新加载后再授权。",noAutonomyProjects:"请先打开下方项目 Copilot 自治开关,再选择项目。",selectProject:"请选择要授权的项目。"},diagnosticsTitle:e=>`渠道诊断 \xb7 ${e}`,diagnosticsDescription:"连接、模型与回传链路的实时自检。",diagnosticsChecking:"正在检查渠道状态…",diagnosticsLoadError:"诊断加载失败,稍后自动重试。",diagnosticsEmpty:"暂无诊断项。",diagnosticsFixHint:e=>`建议:${e}`,deliveriesTitle:"最近结果回传",deliveriesDescription:"“渠道已接收”不代表已读。“结果不确定”可能已经送达,请先核对飞书或 Telegram;系统不会自动重发。",deliveriesEmpty:"暂无回传记录。",deliveryPhaseTerminal:"任务结果",deliveryPhaseStatus:"状态提示",channelStatusPending:"远程操作状态待核查。",channelStatusAuthorized:e=>`${e}远程操作已授权;具体聊天仍需符合白名单,实际收发还需连接正常。`,channelStatusNotEnabled:(e,t)=>`${e}远程操作尚未启用。${t}`,channelReadyHint:"配置已就绪,请在第 3 步确认启用。",actionFailedError:"操作未完成。请刷新状态后重试;身份、授权或连接状态可能已变化。",bindingCreated:"渠道绑定已创建;请以上方实时状态为准,状态正常后发送一条新消息。",channelsLoading:"正在加载渠道…",loadFailed:"加载失败。",reloadAction:"重新加载",activationLoadError:"渠道状态加载失败,请重新加载后再授权。",activationReady:"已选择身份与项目,点击按钮后授予远程操作权限。",mgmtTitle:"Copilot 项目自治",mgmtDescription:"打开开关即授权 Copilot 在该项目内直接执行平台动作(创建任务、创建会话、下发指令),无需逐条审批;关闭后立即停止授权,新动作会被拒绝。",mgmtNoProjects:"暂无项目,请先在项目页创建或导入。",mgmtLoadFailed:"项目加载失败",mgmtAutonomyOn:"已授权 Copilot 自治执行",mgmtAutonomyOff:"未授权",mgmtSaveFailed:e=>`保存失败:${e}`,mgmtSwitchAria:e=>`${e} Copilot 自治开关`,mgmtProgressTitle:"多项目进度",mgmtProgressDescription:"此处是账号下的项目管理视图,不会扩大会话授权范围。CLI 自动下发需先在「Copilot 设置 → 常规 → 派发自主权」(或 Gateway 环境变量 FORGEBADGER_CLI_AUTONOMY_ADAPTERS)中为对应适配器开启;未开启的适配器仍需人工在终端操作。",mgmtModeManual:"人工项目",mgmtModeCli:"CLI 规划",mgmtSupervised:"自动执行已开启",mgmtManualExec:"人工执行",mgmtNoGoal:"尚未设置目标",mgmtProgressSummary:(e,t,i,n)=>`完成 ${e}/${t} \xb7 进行中 ${i} \xb7 阻塞 ${n} \xb7 证据 `,mgmtEvidenceFreshness:{unknown:"时间未知",stale:"已过期",fresh:"新鲜"},mgmtOwnerNextSummary:"负责人及下一步:",mgmtUnassigned:"未指定",mgmtUnplanned:"待安排",mgmtModeLabel:"管理模式",mgmtModeOptionManual:"人工",mgmtModeOptionCli:"CLI 规划(仍需人工执行)",mgmtOwnerLabel:"负责人",mgmtNextActionLabel:"下一步",mgmtFreshnessLabel:"证据有效小时",mgmtReload:"重新加载",mgmtSave:"保存管理信息",meterTitle:"用量、计价与修复控制",meterLoadError:"用量或费率读取失败,请重试。",meterLoadingUsage:"读取用量…",meterUsageEstimated:(e,t,i,n)=>`供应商报告 ${e} tokens;${t} 次调用仍为估算。费用:未知(已知部分 $${i},${n} 次未计价)。`,meterUsageCost:(e,t,i)=>`供应商报告 ${e} tokens;${t} 次调用仍为估算。费用:$${i}。`,meterNoUsage:"当前尚无执行用量。",meterRatesHint:"以下为所选模型每百万 tokens 的美元费率,最多六位小数。空白表示未知,0 表示免费;历史调用保留原费率。这是按配置计算的费用,不是供应商账单。",meterInputRate:"输入费率",meterOutputRate:"输出费率",meterCachedRate:"缓存读取费率",meterCacheWriteRate:"缓存写入费率",meterSave:"保存费率",meterSaveError:"费率保存失败,请检查输入。",meterSaved:"费率已保存。",meterRevoke:"停止本次执行的后续修复",meterRevoked:"已停止后续修复",meterRevokeError:"停止修复失败,请重试。"},n={navAriaLabel:"Copilot settings navigation",navGeneral:"General",navExtensions:"Extensions",navChannels:"Channels",navAutomations:"Automations",backToChat:"Back to chat",channelsCardTitle:"Channels",channelsCardDescription:"Set up Feishu and Telegram remote operation: app connection, identity confirmation, and project binding.",channelPlatformLabel:"Channel platform",channelStateNotConnected:"Not connected",channelStatePairing:"Pairing",channelStateAuthorization:"Authorization",channelStateRunning:"Running",channelStateStopped:"Stopped",channelStateUnknown:"Check pending",diagnosticsFailedNotice:e=>`${e} diagnostic check${1===e?"":"s"} failing.`,diagnosticsExpand:"Show diagnostics",diagnosticsCollapse:"Hide diagnostics",diagnosticsStatusUntested:"Untested",diagnosticsStatusPending:"In progress",diagnosticsStatusFailed:"Failing",copyCommand:"Copy command",commandCopied:"Copied",modifyConfig:"Modify configuration",editAllowlist:"Edit allowlist",setAllowlist:"Set allowlist",allowlistEmpty:"No chat allowlist configured yet.",identitiesEmpty:"No confirmed identities yet.",bindingsEmpty:"No channel bindings yet.",emergencyStopTitle:e=>`Emergency stop ${e}?`,emergencyStopDescription:"Emergency stop blocks further inbound messages and operations; operations already performed cannot be undone.",emergencyStopConfirm:"Stop now",dialogCancel:"Cancel",memoryScopeGlobal:"Global",memoryScopeProject:"Project",memoryScopeSession:"Session",memoryKindFact:"Fact",memoryKindPreference:"Preference",memoryKindDecision:"Decision",memoryKindProjectNote:"Project note",manageModels:"Manage models",autonomyTitle:"Dispatch autonomy",autonomyDescription:"Choose which CLI adapters Copilot may control programmatically. Dispatching to an adapter without autonomy is denied by the security policy.",autonomyEmptyNote:"No adapter enabled: every programmatic dispatch is denied; submit instructions to the CLI manually.",autonomyInstalled:"detected on this machine",autonomyMissing:"CLI not detected",autonomyAutoDispatch:"Auto-advance project tasks",autonomyAutoDispatchDescription:"When the CLI reports task completion/failure, advance the linked work item to ready-for-review/blocked automatically.",autonomyAutoDispatchBlocked:"Enable at least one adapter first",autonomySaving:"Saving…",autonomySaved:"Dispatch autonomy saved.",autonomySaveError:"Save failed. Please retry.",autonomyLoadError:"Failed to load",autonomyRetry:"Retry",autonomyReadonly:"Runtime settings are locked read-only by FORGEBADGER_RUNTIME_SETTINGS_READONLY; edit .env and restart the Gateway.",autonomySourceEnv:".env",autonomySourceSettings:"Settings page",notifyContentHint:"Notifications include captured, redacted results, errors and execution progress by default. Everyone in the selected private or group chat can see this content.",notifyTitle:"Feishu notifications",notifyDescription:"Choose a confirmed private chat or a verified group chat to receive notification cards. Saving only authorizes notification delivery; it does not change the remote command allowlist or project operation permissions.",notifySwitchAria:"Receive ForgeBadger notifications",notifyLoading:"Loading notification settings…",notifyLoadError:"Failed to load notification settings.",notifyReload:"Reload notification settings",notifyTargetLabel:"Notification destination",notifyTargetPlaceholder:"Choose a private or group chat",notifyTargetStale:"This destination is no longer valid; choose again",notifyKindGroup:"Group",notifyKindPrivate:"Private",notifyUnavailableSuffix:"unavailable",notifyRefreshTargets:"Refresh destinations",notifyPrivateHint:"Private chats come from confirmed identities; refresh verifies configured or previously used group chats. The bot must be in the group with permission to read the group list and member status.",notifyGroupNotice:e=>`Notifications will be sent to the group “${e}”; all group members can see them.`,notifyTypesLegend:"Notification types",notifyWebLabel:"ForgeBadger web address (optional)",notifyWebAria:"ForgeBadger web address",notifyWebHint:"Enter an address reachable from the device running Feishu so the card shows a view button; localhost only points at the current device. Cards still deliver summaries when empty. Cards do not offer direct approval actions.",notifyBlockerFallback:"Check the notification configuration.",notifySave:"Save notification settings",notifyTest:"Send test card",notifyActionFailed:(e,t)=>`${e} failed. ${t}`,notifyActionRefresh:"Refresh destinations",notifyActionSave:"Save",notifyActionTest:"Test notification enqueue",notifyAuthExpired:"Your session has expired; sign in again.",notifyGenericError:"The request could not be completed; check the Gateway connection and retry.",notifyRefreshOk:"Destinations refreshed.",notifyRefreshNoGroup:"No configured group chat is available. Make sure the bot has joined the group; confirmed private chats can still be selected.",notifySavedOn:"Feishu notifications are on; only notifications created from now on are delivered.",notifySavedOff:"Feishu notifications are off; unsent notifications have been cancelled.",notifyTestQueued:"Test card queued; check the delivery status below and the selected chat.",notifyDeliveriesTitle:"Recent notification deliveries",notifyDeliveriesHint:"Received by Feishu does not mean read; when the result is uncertain, verify the destination chat first. The system does not resend automatically.",notifyDeliveriesLoading:"Loading delivery records…",notifyDeliveriesLoadError:"Failed to load delivery records.",notifyDeliveriesEmpty:"No notification deliveries yet.",notifyTestCard:"Test card",notifyDeliveryFallback:"Notification",notifyTypes:{attention:"Needs action / awaiting approval",failure:"Task failed / permission denied",completion:"Task completed",lifecycle:"Task interrupted / session ended",app_action:"App action result",automation:"Automation task result"},notifyStatuses:{pending:"Pending",sending:"Sending",delivered:"Received by Feishu",failed:"Delivery failed",unknown:"Result uncertain",cancelled:"Cancelled"},notifyBlockers:{IDENTITY_INVALID:"Confirm your private-chat identity first.",ACCOUNT_CHANGED:"The account configuration changed; re-pair your identity.",CHANNEL_DISABLED:"Enable the Feishu app first, or lift the emergency stop.",USER_DISABLED:"This account is disabled.",TARGET_INVALID:"Choose a confirmed private chat or a verified group chat.",TARGET_UNAVAILABLE:"The destination is no longer available; refresh the list and choose again.",TARGET_CHANGED:"The destination has changed; choose it again and save.",TARGET_CONFLICT:"The destination conflicts with the legacy private-chat settings; refresh the page and choose again."},notifyErrors:{CONFIG_CONFLICT:"The settings were updated on another page; reload the notification settings before editing.",WEB_URL_INVALID:"The web address format is invalid; use a full http:// or https:// URL without credentials, query parameters, or # fragments, or leave it empty.",TYPES_REQUIRED:"Select at least one notification type.",INPUT_INVALID:"The submitted notification settings are malformed; check your input.",SUBSCRIPTION_DISABLED:"Enable and save the notification settings first.",QUEUE_FULL:"Too many notifications are pending; wait for the queue to clear and try again.",INTERNAL_ERROR:"The server could not process the notification request; try again later.",DIRECTORY_PERMISSION_REQUIRED:"The Feishu app lacks permission to read the group chat list or member status; grant the missing permissions on the Feishu developer console and refresh.",DIRECTORY_UNAVAILABLE:"Group chats cannot be verified right now; check the app permissions and network, then refresh. Saved settings are not cleared.",DIRECTORY_INCOMPLETE:"The group list was not fully read; refresh later."},channelNameFeishu:"Feishu",channelNameTelegram:"Telegram",connectionTitleFeishu:"1. Connect the Feishu app",connectionTitleTelegram:"1. Connect the Telegram bot",connectionDescription:"This step connects the bot; remote operation only works after step 2 (identity confirmation) and step 3 (project authorization).",savedBadgeFeishu:"Credentials saved",savedBadgeTelegram:"Bot token saved",notConfiguredBadgeFeishu:"No credentials configured",notConfiguredBadgeTelegram:"No bot token configured",botUsername:e=>`Bot @${e}`,lastConnected:e=>`Last connected: ${e}`,lastError:e=>`Last error: ${e}`,secretKeepPlaceholder:"Leave empty to keep the saved secret",secretInputPlaceholder:"Enter the app secret",tokenKeepPlaceholder:"Leave empty to keep the saved token",saveAndEnable:"Save & enable",feishuReconnectHint:"Changing app credentials or re-enabling requires re-pairing and re-binding; saving the same configuration keeps existing authorizations.",feishuPlatformHint:"In the Feishu developer console, enable the bot, choose long connection for event subscription and subscribe to im.message.receive_v1, grant message receiving and bot messaging permissions, publish an app version, and make sure your account is within the app's availability scope.",feishuCardHint:'Under "Events & callbacks → callback configuration", choose long connection and add the "card action trigger" (card.action.trigger) to approve or reject operations directly on Feishu approval cards. Only the task initiator may approve; the web Copilot can still handle the same approval.',emergencyStopNote:e=>`Emergency stop blocks further inbound messages and operations; operations already performed cannot be undone.${e?" Telegram bots receive messages via long polling, so no public callback URL is needed.":""}`,emergencyStopButton:e=>`Emergency stop ${e}`,pairingTitle:"2. Confirm private-chat identity",pairingDescription:"After connecting, confirm which private-chat user may operate projects. Send the pairing command, then return here to confirm the identity.",createPairingCode:"Generate new pairing code",pairingCommandHint:(e,t)=>`Send the following command to the ${e} bot in a private chat; do not forward it. Expires: ${t}`,noPendingPairing:"No pairing awaiting confirmation. A new pairing code invalidates the previous one.",pairingStatusPending:"Pending",waitingClaim:e=>`Waiting for the ${e} private chat to claim it… The pairing code is only shown when generated; regenerate it after refreshing the page.`,claimReviewHint:"Verify the claimant, check the box, then confirm; the system never binds an identity automatically.",userIdLabelFeishu:"Feishu user ID",userIdLabelTelegram:"Telegram user ID",chatIdLabelFeishu:"Private chat ID",chatIdLabelTelegram:"Conversation ID",ackLabel:e=>`I confirm this is my own ${e} private chat`,confirmIdentity:"Confirm identity",cancelPairing:"Cancel this pairing",identityStale:"Stale; re-pair required",revokeIdentity:"Revoke identity",allowlistTitle:"Chat allowlist (groups & private chats)",allowlistHint:"Group chats are rejected by default; once allowlisted, the bot only responds when @-mentioned in that group. Note: when the allowlist is non-empty, private chats not in the list are also rejected, so add your own private chat ID as well.",allowlistInputLabel:"Group and private chat IDs (comma-separated, up to 50)",allowlistAria:"Chat allowlist",allowlistPlaceholderFeishu:"e.g. oc_groupId,oc_chatId",allowlistPlaceholderTelegram:"e.g. -1001234567890,123456789",saveAllowlist:"Save allowlist",allowlistTooMany:"At most 50 chat IDs are allowed; remove some before saving.",allowlistLoadError:"Failed to load the allowlist; retry later.",bindingTitle:"3. Bind project & operation authorization",bindingDescription:"Private chats, group chats, and topics each use an independent conversation. The authorization scope is the selected project: channel messages execute directly while the project's Copilot autonomy toggle is on, and stop being accepted immediately once it is off.",manageAutonomy:"Manage project Copilot autonomy toggles",projectsLoading:"Loading projects…",noAutonomyProjects:"No project has Copilot autonomy enabled yet; turn on a project toggle above first.",identityLabel:"Private-chat identity",identityPlaceholder:"Choose a confirmed identity",projectLabel:"Project",projectPlaceholder:"Choose a project with autonomy enabled",activateRemote:e=>`Enable ${e} remote operation`,independentSession:e=>`Independent conversation: ${e}`,openConversation:"Open conversation",revokeBinding:"Revoke channel binding",channelStates:{pending:"Pending",claimed:"Awaiting confirmation",confirmed:"Confirmed",cancelled:"Cancelled",active:"Active",revoked:"Revoked",sending:"Sending",delivered:"Received by channel",failed:"Delivery failed",unknown:"Result uncertain",connected:"Connected",connecting:"Connecting",reconnecting:"Reconnecting",unhealthy:"Connection unhealthy",stopped:"Stopped",disabled:"Disabled"},routeStates:{authorized:"Authorized",pending_review:"Authorization pending review",identity_inactive:"Identity inactive",config_changed:"Configuration changed; re-bind required",channel_disabled:"Channel disabled",project_missing:"Project does not exist",autonomy_off:"Project Copilot autonomy is off",authority_revoked:"Authorization expired; revoke and re-bind"},channelSetup:{connectionAction:"Go to app connection",pairingAction:"Go to identity pairing",authorizationAction:"Go to project authorization",secretRequired:"Save the bot credentials and connect the channel in step 1 first.",configChecking:"Checking the channel configuration; please wait.",configLoadFailed:"Failed to load the channel configuration; reload before authorizing.",channelDisabled:"The channel is disabled or emergency-stopped; save and connect in step 1 first.",selectIdentity:"Choose a confirmed private-chat identity to authorize.",identityClaimed:"The private chat has been claimed; verify and confirm the identity in step 2.",identityPending:"Send the pairing command from step 2 to the bot in a private chat, then return to confirm the identity.",identityStale:"The identity is stale; re-pair and confirm it in step 2 first.",pairFirst:"Generate a pairing code in step 2 first, claim the private chat, and confirm the identity.",existingRoute:"This identity already has a channel binding; revoke the existing binding below before re-binding or switching projects.",projectsLoading:"Loading projects; please wait.",projectsError:"Failed to load projects; reload before authorizing.",noAutonomyProjects:"Turn on a project Copilot autonomy toggle below before choosing a project.",selectProject:"Choose a project to authorize."},diagnosticsTitle:e=>`Channel diagnostics \xb7 ${e}`,diagnosticsDescription:"Real-time self-checks of the connection, model, and delivery pipeline.",diagnosticsChecking:"Checking channel status…",diagnosticsLoadError:"Failed to load diagnostics; retrying automatically.",diagnosticsEmpty:"No diagnostic checks yet.",diagnosticsFixHint:e=>`Suggestion: ${e}`,deliveriesTitle:"Recent result deliveries",deliveriesDescription:'"Received by channel" does not mean read. "Result uncertain" may already have been delivered; verify in Feishu or Telegram first. The system does not resend automatically.',deliveriesEmpty:"No deliveries yet.",deliveryPhaseTerminal:"Task result",deliveryPhaseStatus:"Status notice",channelStatusPending:"Remote operation status needs review.",channelStatusAuthorized:e=>`${e} remote operation is authorized; individual chats must still match the allowlist, and actual delivery also requires a healthy connection.`,channelStatusNotEnabled:(e,t)=>`${e} remote operation is not enabled yet. ${t}`,channelReadyHint:"Configuration is ready; confirm activation in step 3.",actionFailedError:"The operation did not complete. Refresh and retry; the identity, authorization, or connection state may have changed.",bindingCreated:"Channel binding created; trust the live status above and send a new message once it looks healthy.",channelsLoading:"Loading channels…",loadFailed:"Failed to load.",reloadAction:"Reload",activationLoadError:"Failed to load channel status; reload before authorizing.",activationReady:"Identity and project selected; click the button to grant remote operation permission.",mgmtTitle:"Copilot project autonomy",mgmtDescription:"Turning the switch on authorizes Copilot to execute platform actions in that project directly (create tasks, create sessions, dispatch instructions) without per-action approval; turning it off revokes the authorization immediately and new actions are rejected.",mgmtNoProjects:"No projects yet. Create or import one on the Projects page first.",mgmtLoadFailed:"Failed to load projects",mgmtAutonomyOn:"Copilot autonomy authorized",mgmtAutonomyOff:"Not authorized",mgmtSaveFailed:e=>`Save failed: ${e}`,mgmtSwitchAria:e=>`${e} Copilot autonomy switch`,mgmtProgressTitle:"Multi-project progress",mgmtProgressDescription:'This is the project management view for the account; it does not widen session authorization. Automatic CLI dispatch must first be enabled for the corresponding adapter in "Copilot Settings → General → Dispatch autonomy" (or the FORGEBADGER_CLI_AUTONOMY_ADAPTERS Gateway environment variable); adapters not enabled still require manual terminal operation.',mgmtModeManual:"Manual project",mgmtModeCli:"CLI planning",mgmtSupervised:"Auto-execution enabled",mgmtManualExec:"Manual execution",mgmtNoGoal:"No goal set yet",mgmtProgressSummary:(e,t,i,n)=>`Done ${e}/${t} \xb7 In progress ${i} \xb7 Blocked ${n} \xb7 Evidence `,mgmtEvidenceFreshness:{unknown:"time unknown",stale:"stale",fresh:"fresh"},mgmtOwnerNextSummary:"Owner & next step:",mgmtUnassigned:"Unassigned",mgmtUnplanned:"Not planned",mgmtModeLabel:"Management mode",mgmtModeOptionManual:"Manual",mgmtModeOptionCli:"CLI planning (manual execution still required)",mgmtOwnerLabel:"Owner",mgmtNextActionLabel:"Next step",mgmtFreshnessLabel:"Evidence validity (hours)",mgmtReload:"Reload",mgmtSave:"Save management info",meterTitle:"Usage, pricing & repair controls",meterLoadError:"Failed to load usage or rates; retry.",meterLoadingUsage:"Reading usage…",meterUsageEstimated:(e,t,i,n)=>`Provider reported ${e} tokens; ${t} calls are still estimated. Cost: unknown (known part $${i}, ${n} calls unpriced).`,meterUsageCost:(e,t,i)=>`Provider reported ${e} tokens; ${t} calls are still estimated. Cost: $${i}.`,meterNoUsage:"No run usage yet.",meterRatesHint:"Rates below are USD per million tokens for the selected model, up to six decimal places. Blank means unknown, 0 means free; historical calls keep their original rates. This is a configuration-based estimate, not the provider's bill.",meterInputRate:"Input rate",meterOutputRate:"Output rate",meterCachedRate:"Cache read rate",meterCacheWriteRate:"Cache write rate",meterSave:"Save rates",meterSaveError:"Failed to save rates; check the input.",meterSaved:"Rates saved.",meterRevoke:"Stop later repairs of this run",meterRevoked:"Later repairs stopped",meterRevokeError:"Failed to stop repairs; retry."},o={...i,navAriaLabel:"Copilot 設定導覽",navGeneral:"一般",navExtensions:"擴充",navChannels:"遠端渠道",navAutomations:"自動化",backToChat:"返回對話",channelsCardTitle:"遠端渠道",channelsCardDescription:"設定飛書與 Telegram 遠端操作:應用接入、身份確認與專案綁定。",channelPlatformLabel:"渠道平台",channelStateNotConnected:"未接入",channelStatePairing:"待配對",channelStateAuthorization:"待授權",channelStateRunning:"執行中",channelStateStopped:"已停止",channelStateUnknown:"待核查",diagnosticsFailedNotice:e=>`診斷存在 ${e} 項未通過。`,diagnosticsExpand:"展開診斷",diagnosticsCollapse:"收起診斷",diagnosticsStatusUntested:"未驗證",diagnosticsStatusPending:"進行中",diagnosticsStatusFailed:"未通過",copyCommand:"複製指令",commandCopied:"已複製",modifyConfig:"修改配置",editAllowlist:"編輯白名單",setAllowlist:"設定白名單",allowlistEmpty:"尚未設定聊天白名單。",identitiesEmpty:"暫無已確認身份。",bindingsEmpty:"尚無渠道綁定。",emergencyStopTitle:e=>`確認緊急停止${e}?`,emergencyStopDescription:"緊急停止會阻止後續入站訊息與操作;已經發生的操作無法撤回。",emergencyStopConfirm:"確認停止",dialogCancel:"取消",memoryScopeGlobal:"全域",memoryScopeProject:"專案",memoryScopeSession:"會話",memoryKindFact:"事實",memoryKindPreference:"偏好",memoryKindDecision:"決策",memoryKindProjectNote:"專案備註",manageModels:"管理模型",autonomyTitle:"下發自主權",autonomyDescription:"允許 Copilot 程序化控制哪些 CLI 介面器。未啟用的介面器在下發時會被安全策略拒絕。",autonomyEmptyNote:"未啟用任何介面器:所有程序化下發都會被拒絕,需要手動向 CLI 提交指令。",autonomyInstalled:"本機已偵測到",autonomyMissing:"未偵測到 CLI",autonomyAutoDispatch:"專案任務自動推進",autonomyAutoDispatchDescription:"CLI 回報任務完成/失敗後,自動把對應工作項推進到待評審/受阻。",autonomyAutoDispatchBlocked:"需先啟用至少一個介面器",autonomySaving:"正在儲存…",autonomySaved:"下發自主權已儲存。",autonomySaveError:"儲存失敗,請重試。",autonomyLoadError:"載入失敗",autonomyRetry:"重試",autonomyReadonly:"執行時間設定已被 FORGEBADGER_RUNTIME_SETTINGS_READONLY 鎖定為唯讀,請修改 .env 並重啟 Gateway。",autonomySourceEnv:".env",autonomySourceSettings:"設定頁",notifyContentHint:"通知預設包含已採集到的脫敏結果、錯誤與執行進度,無需額外開啟;所選私聊或群聊成員均可看到這些內容。",notifyTitle:"飛書通知",notifyDescription:"選擇已確認的私聊或已核驗的群聊接收通知卡片。儲存僅授權通知推送,不改變遠端指令白名單或專案操作權限。",notifySwitchAria:"接收 ForgeBadger 通知",notifyLoading:"正在載入通知設定…",notifyLoadError:"通知設定載入失敗。",notifyReload:"重新載入通知設定",notifyTargetLabel:"通知接收位置",notifyTargetPlaceholder:"選擇私聊或群聊",notifyTargetStale:"已失效的接收位置,請重新選擇",notifyKindGroup:"群聊",notifyKindPrivate:"私聊",notifyUnavailableSuffix:"不可用",notifyRefreshTargets:"重新整理接收位置",notifyPrivateHint:"私聊來自已確認身份;重新整理會核驗已配置或已使用的群聊。機器人需在群內,並具備讀取群列表與群成員狀態的權限。",notifyGroupNotice:e=>`所選通知將傳送到群「${e}」,群成員均可查看。`,notifyTypesLegend:"通知類型",notifyWebLabel:"ForgeBadger Web 地址(可選)",notifyWebAria:"ForgeBadger Web 地址",notifyWebHint:"填寫飛書所在裝置能存取的地址,卡片才顯示查看按鈕;localhost 只指向目前裝置。留空仍可接收卡片摘要。卡片不提供直接審批操作。",notifyBlockerFallback:"請檢查通知配置。",notifySave:"儲存通知設定",notifyTest:"傳送測試卡片",notifyActionFailed:(e,t)=>`${e}失敗。${t}`,notifyActionRefresh:"重新整理接收位置",notifyActionSave:"儲存",notifyActionTest:"測試通知入隊",notifyAuthExpired:"登入已失效,請重新登入。",notifyGenericError:"暫時無法完成請求,請檢查 Gateway 連線後重試。",notifyRefreshOk:"接收位置已重新整理。",notifyRefreshNoGroup:"未發現可用的已配置群聊,請確認機器人已加入該群。已確認私聊仍可直接選擇。",notifySavedOn:"飛書通知已開啟,只推送之後產生的通知。",notifySavedOff:"飛書通知已關閉,尚未傳送的通知已取消。",notifyTestQueued:"測試卡片已入隊,請查看下方投遞狀態與所選會話。",notifyDeliveriesTitle:"最近通知投遞",notifyDeliveriesHint:"飛書已接收不代表已讀;結果不確定時請先核對接收會話,系統不會自動重發。",notifyDeliveriesLoading:"正在載入投遞記錄…",notifyDeliveriesLoadError:"投遞記錄載入失敗。",notifyDeliveriesEmpty:"暫無通知投遞記錄。",notifyTestCard:"測試卡片",notifyDeliveryFallback:"通知",notifyTypes:{attention:"需要處理 / 等待審批",failure:"任務失敗 / 權限被拒絕",completion:"任務完成",lifecycle:"任務中斷 / 會話結束",app_action:"應用操作結果",automation:"自動化任務結果"},notifyStatuses:{pending:"待發送",sending:"發送中",delivered:"飛書已接收",failed:"發送失敗",unknown:"結果不確定",cancelled:"已取消"},notifyBlockers:{IDENTITY_INVALID:"請先完成私聊身份確認。",ACCOUNT_CHANGED:"帳號配置已變化,請重新配對身份。",CHANNEL_DISABLED:"請先啟用飛書應用,或解除緊急停止。",USER_DISABLED:"目前帳號已停用。",TARGET_INVALID:"請選擇一個已確認的私聊或已核驗的群聊。",TARGET_UNAVAILABLE:"接收位置已不可用,請重新整理列表並重新選擇。",TARGET_CHANGED:"接收位置已變化,請重新選擇並儲存。",TARGET_CONFLICT:"接收位置與舊版私聊設定衝突,請重新整理頁面後重新選擇。"},notifyErrors:{CONFIG_CONFLICT:"配置已在其他頁面更新,請重新載入通知設定後再修改。",WEB_URL_INVALID:"Web 地址格式不正確,請使用完整的 http:// 或 https:// 地址,不包含帳號密碼、查詢參數或 # 片段;也可以留空。",TYPES_REQUIRED:"請至少選擇一種通知類型。",INPUT_INVALID:"提交的通知設定格式不正確,請檢查輸入。",SUBSCRIPTION_DISABLED:"請先開啟並儲存通知設定。",QUEUE_FULL:"待發送通知已達上限,請等待佇列處理後再測試。",INTERNAL_ERROR:"服務端暫時無法處理通知請求,請稍後重試。",DIRECTORY_PERMISSION_REQUIRED:"飛書應用缺少讀取群聊列表或群成員狀態的權限,請在飛書開放平台補齊權限後重新整理。",DIRECTORY_UNAVAILABLE:"暫時無法核驗飛書群聊,請檢查應用權限及網路後重新整理;已儲存的設定不會被清空。",DIRECTORY_INCOMPLETE:"群聊列表未能完整讀取,請稍後重新整理。"},channelNameFeishu:"飛書",channelNameTelegram:"Telegram",connectionTitleFeishu:"1. 接入飛書應用",connectionTitleTelegram:"1. 接入 Telegram 機器人",connectionDescription:"本步驟連接機器人;完成第 2 步身份確認和第 3 步專案授權後,才能遠端操作。",savedBadgeFeishu:"憑證已儲存",savedBadgeTelegram:"Bot Token 已儲存",notConfiguredBadgeFeishu:"尚未配置憑證",notConfiguredBadgeTelegram:"尚未配置 Bot Token",botUsername:e=>`機器人 @${e}`,lastConnected:e=>`最近連接:${e}`,lastError:e=>`最近錯誤:${e}`,secretKeepPlaceholder:"留空保留已儲存金鑰",secretInputPlaceholder:"輸入應用金鑰",tokenKeepPlaceholder:"留空保留已儲存 Token",saveAndEnable:"儲存並啟用",feishuReconnectHint:"更換應用憑證或重新啟用後需要重新配對和綁定;儲存相同配置會保留已有授權。",feishuPlatformHint:"飛書開放平台需開啟機器人,事件訂閱選擇長連接並訂閱 im.message.receive_v1,配置訊息接收與機器人發送權限,發布應用版本並確認自己的帳號在應用可用範圍內。",feishuCardHint:"在「事件與回調 → 回調配置」中選擇長連接,並新增「卡片回傳互動」card.action.trigger,才能直接在飛書審批卡片中批准或拒絕操作。僅任務發起人可審批;Web Copilot 仍可處理同一審批。",emergencyStopNote:e=>`緊急停止會阻止後續入站訊息與操作;已經發生的操作無法撤回。${e?"Telegram 機器人透過長輪詢接收訊息,無需公網回調地址。":""}`,emergencyStopButton:e=>`緊急停止${e}`,pairingTitle:"2. 確認私聊身份",pairingDescription:"連接成功後,還需確認哪個私聊使用者可以操作專案。發送配對命令後,請回到此處確認身份。",createPairingCode:"產生新的配對碼",pairingCommandHint:(e,t)=>`向${e}機器人私聊發送以下命令,請勿轉發。到期:${t}`,noPendingPairing:"沒有待確認配對。新配對碼會使舊碼失效。",pairingStatusPending:"待處理",waitingClaim:e=>`等待${e}私聊認領… 配對碼僅在產生時顯示,重新整理頁面後可重新產生。`,claimReviewHint:"請核對認領者,勾選後確認;系統不會自動綁定身份。",userIdLabelFeishu:"飛書使用者 ID",userIdLabelTelegram:"Telegram 使用者 ID",chatIdLabelFeishu:"私聊 ID",chatIdLabelTelegram:"會話 ID",ackLabel:e=>`我確認這是自己的${e}私聊`,confirmIdentity:"確認身份",cancelPairing:"取消本次配對",identityStale:"已失效,需重新配對",revokeIdentity:"撤銷身份",allowlistTitle:"聊天白名單(群聊與私聊)",allowlistHint:"群聊預設拒絕;加入白名單後,機器人在該群內被 @ 才會回應。注意:白名單非空時,不在名單內的私聊也會被拒絕,需要把自己的私聊 ID 一併加入。",allowlistInputLabel:"群聊與私聊 ID(逗號分隔,最多 50 個)",allowlistAria:"聊天白名單",allowlistPlaceholderFeishu:"例如:oc_群聊ID,oc_私聊ID",allowlistPlaceholderTelegram:"例如:-1001234567890,123456789",saveAllowlist:"儲存白名單",allowlistTooMany:"最多允許 50 個聊天 ID,請減少後再儲存。",allowlistLoadError:"白名單載入失敗,請稍後重試。",bindingTitle:"3. 綁定專案與操作授權",bindingDescription:"私聊、群聊與話題各自使用獨立會話。授權範圍就是所選專案:專案的 Copilot 自治開關開啟時渠道訊息可直接執行,關閉後立即停止受理。",manageAutonomy:"管理專案 Copilot 自治開關",projectsLoading:"正在載入專案…",noAutonomyProjects:"尚無已開啟 Copilot 自治的專案,請先在上方打開專案開關。",identityLabel:"私聊身份",identityPlaceholder:"選擇已確認身份",projectLabel:"專案",projectPlaceholder:"選擇已開啟自治的專案",activateRemote:e=>`啟用${e}遠端操作`,independentSession:e=>`獨立會話:${e}`,openConversation:"打開會話",revokeBinding:"撤銷渠道綁定",channelStates:{pending:"待處理",claimed:"等待確認",confirmed:"已確認",cancelled:"已取消",active:"有效",revoked:"已撤銷",sending:"發送中",delivered:"渠道已接收",failed:"發送失敗",unknown:"結果不確定",connected:"已連接",connecting:"連接中",reconnecting:"重新連接中",unhealthy:"連接異常",stopped:"已停止",disabled:"未啟用"},routeStates:{authorized:"權限有效",pending_review:"授權狀態待核查",identity_inactive:"身份已失效",config_changed:"配置已更新,需要重新綁定",channel_disabled:"渠道已停用",project_missing:"專案不存在",autonomy_off:"專案 Copilot 自治未開啟",authority_revoked:"授權已失效,請撤銷後重新綁定"},channelSetup:{connectionAction:"前往應用接入",pairingAction:"前往身份配對",authorizationAction:"前往專案授權",secretRequired:"請先在第 1 步儲存機器人憑證並連接渠道。",configChecking:"正在核查渠道配置,請稍候。",configLoadFailed:"渠道配置載入失敗,請重新載入後再授權。",channelDisabled:"渠道已停用或緊急停止,請先在第 1 步儲存並連接。",selectIdentity:"請選擇要授權的已確認私聊身份。",identityClaimed:"私聊已認領,請在第 2 步核對並確認身份。",identityPending:"請向機器人私聊發送第 2 步的配對命令,然後返回確認身份。",identityStale:"身份已失效,請先在第 2 步重新配對並確認身份。",pairFirst:"請先在第 2 步產生配對碼,完成私聊認領並確認身份。",existingRoute:"該身份已有渠道綁定;如需重新綁定或更換專案,請先撤銷下方原綁定。",projectsLoading:"正在載入專案,請稍候。",projectsError:"專案載入失敗,請重新載入後再授權。",noAutonomyProjects:"請先打開下方專案 Copilot 自治開關,再選擇專案。",selectProject:"請選擇要授權的專案。"},diagnosticsTitle:e=>`渠道診斷 \xb7 ${e}`,diagnosticsDescription:"連接、模型與回傳鏈路的即時自檢。",diagnosticsChecking:"正在檢查渠道狀態…",diagnosticsLoadError:"診斷載入失敗,稍後自動重試。",diagnosticsEmpty:"暫無診斷項。",diagnosticsFixHint:e=>`建議:${e}`,deliveriesTitle:"最近結果回傳",deliveriesDescription:"「渠道已接收」不代表已讀。「結果不確定」可能已經送達,請先核對飛書或 Telegram;系統不會自動重發。",deliveriesEmpty:"暫無回傳記錄。",deliveryPhaseTerminal:"任務結果",deliveryPhaseStatus:"狀態提示",channelStatusPending:"遠端操作狀態待核查。",channelStatusAuthorized:e=>`${e}遠端操作已授權;具體聊天仍需符合白名單,實際收發還需連接正常。`,channelStatusNotEnabled:(e,t)=>`${e}遠端操作尚未啟用。${t}`,channelReadyHint:"配置已就緒,請在第 3 步確認啟用。",actionFailedError:"操作未完成。請重新整理狀態後重試;身份、授權或連接狀態可能已變化。",bindingCreated:"渠道綁定已建立;請以上方即時狀態為準,狀態正常後發送一條新訊息。",channelsLoading:"正在載入渠道…",loadFailed:"載入失敗。",reloadAction:"重新載入",activationLoadError:"渠道狀態載入失敗,請重新載入後再授權。",activationReady:"已選擇身份與專案,點擊按鈕後授予遠端操作權限。",mgmtTitle:"Copilot 專案自治",mgmtDescription:"打開開關即授權 Copilot 在該專案內直接執行平台動作(建立任務、建立會話、下發指令),無需逐條審批;關閉後立即停止授權,新動作會被拒絕。",mgmtNoProjects:"暫無專案,請先在專案頁建立或匯入。",mgmtLoadFailed:"專案載入失敗",mgmtAutonomyOn:"已授權 Copilot 自治執行",mgmtAutonomyOff:"未授權",mgmtSaveFailed:e=>`儲存失敗:${e}`,mgmtSwitchAria:e=>`${e} Copilot 自治開關`,mgmtProgressTitle:"多專案進度",mgmtProgressDescription:"此處是帳號下的專案管理檢視,不會擴大會話授權範圍。CLI 自動下發需先在「Copilot 設定 → 一般 → 下發自主權」(或 Gateway 環境變數 FORGEBADGER_CLI_AUTONOMY_ADAPTERS)中為對應介面器開啟;未開啟的介面器仍需人工在終端操作。",mgmtModeManual:"人工專案",mgmtModeCli:"CLI 規劃",mgmtSupervised:"自動執行已開啟",mgmtManualExec:"人工執行",mgmtNoGoal:"尚未設定目標",mgmtProgressSummary:(e,t,i,n)=>`完成 ${e}/${t} \xb7 進行中 ${i} \xb7 阻塞 ${n} \xb7 證據 `,mgmtEvidenceFreshness:{unknown:"時間未知",stale:"已過期",fresh:"新鮮"},mgmtOwnerNextSummary:"負責人及下一步:",mgmtUnassigned:"未指定",mgmtUnplanned:"待安排",mgmtModeLabel:"管理模式",mgmtModeOptionManual:"人工",mgmtModeOptionCli:"CLI 規劃(仍需人工執行)",mgmtOwnerLabel:"負責人",mgmtNextActionLabel:"下一步",mgmtFreshnessLabel:"證據有效小時",mgmtReload:"重新載入",mgmtSave:"儲存管理資訊",meterTitle:"用量、計價與修復控制",meterLoadError:"用量或費率讀取失敗,請重試。",meterLoadingUsage:"讀取用量…",meterUsageEstimated:(e,t,i,n)=>`供應商回報 ${e} tokens;${t} 次呼叫仍為估算。費用:未知(已知部分 $${i},${n} 次未計價)。`,meterUsageCost:(e,t,i)=>`供應商回報 ${e} tokens;${t} 次呼叫仍為估算。費用:$${i}。`,meterNoUsage:"目前尚無執行用量。",meterRatesHint:"以下為所選模型每百萬 tokens 的美元費率,最多六位小數。空白表示未知,0 表示免費;歷史呼叫保留原費率。這是按配置計算的費用,不是供應商帳單。",meterInputRate:"輸入費率",meterOutputRate:"輸出費率",meterCachedRate:"快取讀取費率",meterCacheWriteRate:"快取寫入費率",meterSave:"儲存費率",meterSaveError:"費率儲存失敗,請檢查輸入。",meterSaved:"費率已儲存。",meterRevoke:"停止本次執行的後續修復",meterRevoked:"已停止後續修復",meterRevokeError:"停止修復失敗,請重試。"};e.s(["useSettingsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?n:"zh-TW"===e?o:i}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65174,t=>{"use strict";var e=t.i(79923);let a=(...t)=>t.filter((t,e,a)=>!!t&&""!==t.trim()&&a.indexOf(t)===e).join(" ").trim();var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,e.forwardRef)(({color:t="currentColor",size:r=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:i="",children:l,iconNode:d,...u},c)=>(0,e.createElement)("svg",{ref:c,...o,width:r,height:r,stroke:t,strokeWidth:s?24*Number(n)/Number(r):n,className:a("lucide",i),...u},[...d.map(([t,a])=>(0,e.createElement)(t,a)),...Array.isArray(l)?l:[l]]));t.s(["default",0,(t,o)=>{let n=(0,e.forwardRef)(({className:n,...s},i)=>(0,e.createElement)(r,{ref:i,iconNode:o,className:a(`lucide-${t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...s}));return n.displayName=`${t}`,n}],65174)},66936,t=>{"use strict";let e=(0,t.i(65174).default)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);t.s(["default",0,e])},87014,t=>{"use strict";var e=t.i(79923),a=t.i(29096);let o=Array(12).fill(0),r=({visible:t,className:a})=>e.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},e.default.createElement("div",{className:"sonner-spinner"},o.map((t,a)=>e.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),n=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),d=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},e.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),u=1,c=new class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:u++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,a)=>{let o,r;if(!a)return;void 0!==a.loading&&(r=this.create({...a,promise:t,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(o=["resolve",t],e.default.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(f(t)&&!t.ok){s=!1;let o="function"==typeof a.error?await a.error(`HTTP error! status: ${t.status}`):a.error,n="function"==typeof a.description?await a.description(`HTTP error! status: ${t.status}`):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==a.success){s=!1;let o="function"==typeof a.success?await a.success(t):a.success,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(o=["reject",t],void 0!==a.error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===o[0]?e(o[1]):t(o[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||u++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,m=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||u++;return c.addToast({title:t,...e,id:a}),a},{success:c.success,info:c.info,warning:c.warning,error:c.error,custom:c.custom,message:c.message,promise:c.promise,dismiss:c.dismiss,loading:c.loading},{getHistory:()=>c.toasts,getToasts:()=>c.getActiveToasts()});function p(t){return void 0!==t.label}function h(...t){return t.filter(Boolean).join(" ")}!function(t){if(!t||"u"<typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let g=t=>{var a,o,u,c,f,m,g,b,v,y,w,x,E;let{invert:k,toast:N,unstyled:T,interacting:M,setHeights:S,visibleToasts:B,heights:C,index:j,toasts:z,expanded:R,removeToast:A,defaultRichColors:$,closeButton:Y,style:D,cancelButtonStyle:I,actionButtonStyle:P,className:L="",descriptionClassName:H="",duration:V,position:U,gap:X,expandByDefault:O,classNames:F,icons:K,closeButtonAriaLabel:W="Close toast"}=t,[q,Z]=e.default.useState(null),[G,J]=e.default.useState(null),[Q,_]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,to]=e.default.useState(!1),[tr,tn]=e.default.useState(!1),[ts,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tu,tc]=e.default.useState(0),tf=e.default.useRef(N.duration||V||4e3),tm=e.default.useRef(null),tp=e.default.useRef(null),th=0===j,tg=j+1<=B,tb=N.type,tv=!1!==N.dismissible,ty=N.className||"",tw=N.descriptionClassName||"",tx=e.default.useMemo(()=>C.findIndex(t=>t.toastId===N.id)||0,[C,N.id]),tE=e.default.useMemo(()=>{var t;return null!=(t=N.closeButton)?t:Y},[N.closeButton,Y]),tk=e.default.useMemo(()=>N.duration||V||4e3,[N.duration,V]),tN=e.default.useRef(0),tT=e.default.useRef(0),tM=e.default.useRef(0),tS=e.default.useRef(null),[tB,tC]=U.split("-"),tj=e.default.useMemo(()=>C.reduce((t,e,a)=>a>=tx?t:t+e.height,0),[C,tx]),tz=(()=>{let[t,a]=e.default.useState(document.hidden);return e.default.useEffect(()=>{let t=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t})(),tR=N.invert||k,tA="loading"===tb;tT.current=e.default.useMemo(()=>tx*X+tj,[tx,tj]),e.default.useEffect(()=>{tf.current=tk},[tk]),e.default.useEffect(()=>{_(!0)},[]),e.default.useEffect(()=>{let t=tp.current;if(t){let e=t.getBoundingClientRect().height;return tc(e),S(t=>[{toastId:N.id,height:e,position:N.position},...t]),()=>S(t=>t.filter(t=>t.toastId!==N.id))}},[S,N.id]),e.default.useLayoutEffect(()=>{if(!Q)return;let t=tp.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,tc(a),S(t=>t.find(t=>t.toastId===N.id)?t.map(t=>t.toastId===N.id?{...t,height:a}:t):[{toastId:N.id,height:a,position:N.position},...t])},[Q,N.title,N.description,S,N.id,N.jsx,N.action,N.cancel]);let t$=e.default.useCallback(()=>{te(!0),td(tT.current),S(t=>t.filter(t=>t.toastId!==N.id)),setTimeout(()=>{A(N)},200)},[N,A,S,tT]);e.default.useEffect(()=>{let t;if((!N.promise||"loading"!==tb)&&N.duration!==1/0&&"loading"!==N.type){if(R||M||tz){if(tM.current<tN.current){let t=new Date().getTime()-tN.current;tf.current=tf.current-t}tM.current=new Date().getTime()}else tf.current!==1/0&&(tN.current=new Date().getTime(),t=setTimeout(()=>{null==N.onAutoClose||N.onAutoClose.call(N,N),t$()},tf.current));return()=>clearTimeout(t)}},[R,M,N,tb,tz,t$]),e.default.useEffect(()=>{N.delete&&(t$(),null==N.onDismiss||N.onDismiss.call(N,N))},[t$,N.delete]);let tY=N.icon||(null==K?void 0:K[tb])||(t=>{switch(t){case"success":return n;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(tb);return e.default.createElement("li",{tabIndex:0,ref:tp,className:h(L,ty,null==F?void 0:F.toast,null==N||null==(a=N.classNames)?void 0:a.toast,null==F?void 0:F.default,null==F?void 0:F[tb],null==N||null==(o=N.classNames)?void 0:o[tb]),"data-sonner-toast":"","data-rich-colors":null!=(y=N.richColors)?y:$,"data-styled":!(N.jsx||N.unstyled||T),"data-mounted":Q,"data-promise":!!N.promise,"data-swiped":ts,"data-removed":tt,"data-visible":tg,"data-y-position":tB,"data-x-position":tC,"data-index":j,"data-front":th,"data-swiping":ta,"data-dismissible":tv,"data-type":tb,"data-invert":tR,"data-swipe-out":tr,"data-swipe-direction":G,"data-expanded":!!(R||O&&Q),"data-testid":N.testId,style:{"--index":j,"--toasts-before":j,"--z-index":z.length-j,"--offset":`${tt?tl:tT.current}px`,"--initial-height":O?"auto":`${tu}px`,...D,...N.style},onDragEnd:()=>{to(!1),Z(null),tS.current=null},onPointerDown:t=>{2===t.button||tA||!tv||(tm.current=new Date,td(tT.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(to(!0),tS.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(tr||!tv)return;tS.current=null;let n=Number((null==(t=tp.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tp.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tm.current)?void 0:a.getTime()),l="x"===q?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tT.current),null==N.onDismiss||N.onDismiss.call(N,N),"x"===q?J(n>0?"right":"left"):J(s>0?"down":"up"),t$(),tn(!0);return}null==(o=tp.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tp.current)||r.style.setProperty("--swipe-amount-y","0px"),ti(!1),to(!1),Z(null)},onPointerMove:e=>{var a,o,r,n;if(!tS.current||!tv||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tS.current.y,i=e.clientX-tS.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(U);!q&&(Math.abs(i)>1||Math.abs(s)>1)&&Z(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},u=t=>1/(1.5+Math.abs(t)/20);if("y"===q){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*u(s);d.y=Math.abs(t)<Math.abs(s)?t:s}}else if("x"===q&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*u(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(o=tp.current)||o.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(r=tp.current)||r.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tE&&!N.jsx&&"loading"!==tb?e.default.createElement("button",{"aria-label":W,"data-disabled":tA,"data-close-button":!0,onClick:tA||!tv?()=>{}:()=>{t$(),null==N.onDismiss||N.onDismiss.call(N,N)},className:h(null==F?void 0:F.closeButton,null==N||null==(u=N.classNames)?void 0:u.closeButton)},null!=(w=null==K?void 0:K.close)?w:d):null,(tb||N.icon||N.promise)&&null!==N.icon&&((null==K?void 0:K[tb])!==null||N.icon)?e.default.createElement("div",{"data-icon":"",className:h(null==F?void 0:F.icon,null==N||null==(c=N.classNames)?void 0:c.icon)},N.promise||"loading"===N.type&&!N.icon?N.icon||((null==K?void 0:K.loading)?e.default.createElement("div",{className:h(null==F?void 0:F.loader,null==N||null==(E=N.classNames)?void 0:E.loader,"sonner-loader"),"data-visible":"loading"===tb},K.loading):e.default.createElement(r,{className:h(null==F?void 0:F.loader,null==N||null==(x=N.classNames)?void 0:x.loader),visible:"loading"===tb})):null,"loading"!==N.type?tY:null):null,e.default.createElement("div",{"data-content":"",className:h(null==F?void 0:F.content,null==N||null==(f=N.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:h(null==F?void 0:F.title,null==N||null==(m=N.classNames)?void 0:m.title)},N.jsx?N.jsx:"function"==typeof N.title?N.title():N.title),N.description?e.default.createElement("div",{"data-description":"",className:h(H,tw,null==F?void 0:F.description,null==N||null==(g=N.classNames)?void 0:g.description)},"function"==typeof N.description?N.description():N.description):null),e.default.isValidElement(N.cancel)?N.cancel:N.cancel&&p(N.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:N.cancelButtonStyle||I,onClick:t=>{!p(N.cancel)||tv&&(null==N.cancel.onClick||N.cancel.onClick.call(N.cancel,t),t$())},className:h(null==F?void 0:F.cancelButton,null==N||null==(b=N.classNames)?void 0:b.cancelButton)},N.cancel.label):null,e.default.isValidElement(N.action)?N.action:N.action&&p(N.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:N.actionButtonStyle||P,onClick:t=>{!p(N.action)||(null==N.action.onClick||N.action.onClick.call(N.action,t),t.defaultPrevented||t$())},className:h(null==F?void 0:F.actionButton,null==N||null==(v=N.classNames)?void 0:v.actionButton)},N.action.label):null)};function b(){if("u"<typeof window||"u"<typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let v=e.default.forwardRef(function(t,o){let{id:r,invert:n,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:u,offset:f,mobileOffset:m,theme:p="light",richColors:h,duration:v,style:y,visibleToasts:w=3,toastOptions:x,dir:E=b(),gap:k=14,icons:N,containerAriaLabel:T="Notifications"}=t,[M,S]=e.default.useState([]),B=e.default.useMemo(()=>r?M.filter(t=>t.toasterId===r):M.filter(t=>!t.toasterId),[M,r]),C=e.default.useMemo(()=>Array.from(new Set([s].concat(B.filter(t=>t.position).map(t=>t.position)))),[B,s]),[j,z]=e.default.useState([]),[R,A]=e.default.useState(!1),[$,Y]=e.default.useState(!1),[D,I]=e.default.useState("system"!==p?p:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),P=e.default.useRef(null),L=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=e.default.useRef(null),V=e.default.useRef(!1),U=e.default.useCallback(t=>{S(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||c.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>c.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{S(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{S(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[M]),e.default.useEffect(()=>{if("system"!==p)return void I(p);if("system"===p&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?I("dark"):I("light")),"u"<typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?I("dark"):I("light")})}catch(e){t.addListener(({matches:t})=>{try{t?I("dark"):I("light")}catch(t){console.error(t)}})}},[p]),e.default.useEffect(()=>{M.length<=1&&A(!1)},[M]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(A(!0),null==(a=P.current)||a.focus()),"Escape"===t.code&&(document.activeElement===P.current||(null==(e=P.current)?void 0:e.contains(document.activeElement)))&&A(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if(P.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,V.current=!1)}},[P.current]),e.default.createElement("section",{ref:o,"aria-label":`${T} ${L}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((a,o)=>{var r;let s,[i,c]=a.split("-");return B.length?e.default.createElement("ol",{key:a,dir:"auto"===E?b():E,tabIndex:-1,ref:P,className:u,"data-sonner-toaster":!0,"data-sonner-theme":D,"data-y-position":i,"data-x-position":c,style:{"--front-toast-height":`${(null==(r=j[0])?void 0:r.height)||0}px`,"--width":"356px","--gap":`${k}px`,...y,...(s={},[f,m].forEach((t,e)=>{let a=1===e,o=a?"--mobile-offset":"--offset",r=a?"16px":"24px";function n(t){["top","right","bottom","left"].forEach(e=>{s[`${o}-${e}`]="number"==typeof t?`${t}px`:t})}"number"==typeof t||"string"==typeof t?n(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?s[`${o}-${e}`]=r:s[`${o}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):n(r)}),s)},onBlur:t=>{V.current&&!t.currentTarget.contains(t.relatedTarget)&&(V.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(V.current||(V.current=!0,H.current=t.relatedTarget))},onMouseEnter:()=>A(!0),onMouseMove:()=>A(!0),onMouseLeave:()=>{$||A(!1)},onDragEnd:()=>A(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||Y(!0)},onPointerUp:()=>Y(!1)},B.filter(t=>!t.position&&0===o||t.position===a).map((o,r)=>{var s,i;return e.default.createElement(g,{key:o.id,icons:N,index:r,toast:o,defaultRichColors:h,duration:null!=(s=null==x?void 0:x.duration)?s:v,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:n,visibleToasts:w,closeButton:null!=(i=null==x?void 0:x.closeButton)?i:d,interacting:$,position:a,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:U,toasts:B.filter(t=>t.position==o.position),heights:j.filter(t=>t.position==o.position),setHeights:z,expandByDefault:l,gap:k,expanded:R,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",0,v,"toast",0,m])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,47183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066)._(e.r(63253)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},80179,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(79923);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5770,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(87098),a=e.r(85252);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},92167,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},41271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return _},useLinkStatus:function(){return T}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066),o=e.r(66499),i=s._(e.r(79923)),l=e.r(47183),c=e.r(19521),u=e.r(80179),d=e.r(87098),p=e.r(80722);e.r(58623);let m=e.r(40227),E=e.r(99555),f=e.r(5770),h=e.r(54446);function _(t){var r,n;let a,s,_,[T,I]=(0,i.useOptimistic)(E.IDLE_LINK_STATUS),g=(0,i.useRef)(null),{href:v,as:S,children:A,prefetch:N=null,passHref:O,replace:y,shallow:C,scroll:w,onClick:x,onMouseEnter:b,onTouchStart:P,legacyBehavior:k=!1,onNavigate:U,transitionTypes:j,ref:M,unstable_dynamicOnHover:L,...D}=t;a=A,k&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let F=i.default.useContext(c.AppRouterContext),B=!1!==N,V=!1!==N?null===(n=N)||"auto"===n?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,J="string"==typeof(r=S||v)?r:(0,l.formatUrl)(r);if(k){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=i.default.Children.only(a)}let H=k?s&&"object"==typeof s&&s.ref:M,Q=i.default.useCallback(e=>(null!==F&&(g.current=(0,E.mountLinkInstance)(e,J,F,V,B,I)),()=>{g.current&&((0,E.unmountLinkForCurrentNavigation)(g.current),g.current=null),(0,E.unmountPrefetchableInstance)(e)}),[B,J,F,V,I]),G={ref:(0,u.useMergedRef)(Q,H),onClick(t){k||"function"!=typeof x||x(t),k&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!F||t.defaultPrevented||function(t,r,n,a,s,o,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(11534);i.default.startTransition(()=>{d(r,a?"replace":"push",!1===s?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,n.current,l)})}}(t,J,g,y,w,U,j)},onMouseEnter(e){k||"function"!=typeof b||b(e),k&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),F&&B&&(0,E.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){k||"function"!=typeof P||P(e),k&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),F&&B&&(0,E.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(J)?G.href=J:k&&!O&&("a"!==s.type||"href"in s.props)||(G.href=(0,p.addBasePath)(J)),_=k?i.default.cloneElement(s,G):(0,o.jsx)("a",{...D,...G,children:a}),(0,o.jsx)(R.Provider,{value:T,children:_})}e.r(92167);let R=(0,i.createContext)(E.IDLE_LINK_STATUS),T=()=>(0,i.useContext)(R);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},86059,(e,t,r)=>{t.exports=e.r(3587)},6421,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(79923),s=e.i(60218),o=e.i(35887);e.s(["ErrorNotice",0,function({error:e,retry:r}){let{t:n}=(0,o.useLanguage)();if(!e)return null;let a=e instanceof Error?e.message:String(e),i={ARTIFACT_LINK_STALE:"task.artifactStale",SESSION_SERVER_UPGRADE_REQUIRED:"workspace.runtimeUpgrade",WORKSPACE_COMMIT_CHANGED:"workspace.errorStale",CURRENT_VERIFICATION_REQUIRED:"delivery.currentReceipt",COMMIT_CHANGES_BEFORE_PULL_REQUEST:"workspace.dirty",PULL_REQUEST_BRANCH_MISMATCH:"delivery.headMismatch",REMOTE_HEAD_MISMATCH:"delivery.headMismatch",REMOTE_BASE_MISMATCH:"delivery.baseMismatch",GITHUB_REQUEST_REJECTED:"delivery.prRejected",GITHUB_INVALID_RESPONSE:"delivery.prMismatch",GITHUB_PULL_REQUEST_MISMATCH:"delivery.prMismatch",GITHUB_PULL_REQUEST_AMBIGUOUS:"delivery.prMismatch",SECURE_GITHUB_CREDENTIAL_TRANSPORT_REQUIRED:"delivery.secure",GITHUB_RESPONSE_UNCERTAIN:"delivery.prUncertain",GITHUB_REQUEST_PENDING:"delivery.prUncertain",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_MEMBER_REQUIRED:"teams.denied",VERIFICATION_RUNNER_PLATFORM_UNSUPPORTED:"workspace.errorPlatform",VERIFICATION_RUNTIME_UNRESOLVED:"workspace.errorUnresolved",DELIVERY_OPERATION_IN_PROGRESS:"workspace.errorWait",VERIFICATION_ALREADY_RUNNING:"workspace.errorWait",DELIVERY_RECOVERY_REQUIRED:"workspace.errorRecovery",VERIFICATION_PROCESS_RECOVERY_REQUIRED:"workspace.errorProcessRecovery",EXECUTION_STOP_PENDING:"workspace.errorStopPending",STOP_SOURCE_CLI_BEFORE_DELIVERY:"workspace.stopSourceCli",STOP_CLI_BEFORE_VERIFICATION_OR_DELIVERY:"workspace.stopCliHint",HOST_EXECUTION_NOT_ENABLED:"workspace.noExecution",VERIFICATION_COMMAND_NOT_CONFIGURED:"workspace.noVerification",TASK_ACCEPTANCE_CRITERIA_REQUIRED:"workspace.criteriaRequired",TASK_ASSIGNED_TO_ANOTHER_MEMBER:"workspace.assignedElsewhere",ASSIGNED_REVIEWER_REQUIRED:"workspace.assignedReviewer",INDEPENDENT_REVIEWER_REQUIRED:"workspace.reviewHint",STALE_TASK_REVISION:"workspace.errorStale",STALE_PROJECT_REVISION:"workspace.errorStale",STALE_VERIFICATION_OR_TASK:"workspace.errorStale",STALE_ACCEPTANCE:"workspace.errorStale",COMMIT_CHANGES_BEFORE_VERIFICATION:"workspace.dirty",PROJECT_CAPABILITY_DENIED:"workspace.errorAccess",PRIVATE_EXECUTION_OWNER_REQUIRED:"workspace.errorAccess",EXECUTION_REVOKED:"workspace.errorAccess",REVOKE_ACTIVE_EXECUTION_BEFORE_ROLE_CHANGE:"workspace.errorMemberRole",WORKSPACE_UNAVAILABLE:"workspace.unavailable"};return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm",children:[(0,t.jsx)("p",{children:n("workspace.error")}),(0,t.jsx)("p",{className:"break-words text-muted-foreground",children:i[a]?n(i[a]):a}),r&&(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:r,children:n("workspace.retry")})]})},"Field",0,function({label:e,children:r}){let n=(0,a.useId)(),s=(0,a.isValidElement)(r)?r:null,o=s?.props.id??n;return(0,t.jsxs)("div",{className:"grid gap-1.5 text-sm",children:[(0,t.jsx)("label",{htmlFor:o,className:"text-muted-foreground",children:e}),s?(0,a.cloneElement)(s,{id:o}):r]})},"Panel",0,function({title:e,children:r}){return(0,t.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold",children:e}),r]})},"WorkspaceStatus",0,function({value:e}){let{t:r}=(0,o.useLanguage)(),n={owner:"workspace.owner",admin:"teams.admin",developer:"workspace.developer",reviewer:"workspace.reviewer",viewer:"workspace.viewer",provisioning:"workspace.provisioning",ready:"workspace.ready",failed:"workspace.failed",revoking:"workspace.revoking",closed:"workspace.closed",integrated:"workspace.integrated",running:"workspace.running",passed:"workspace.passed",unknown:"workspace.unknown",accepted:"workspace.accepted",changes_requested:"workspace.changes_requested",todo:"workspace.todo",in_progress:"workspace.in_progress",blocked:"workspace.blocked",ready_for_review:"workspace.ready_for_review",done:"workspace.done",cancelled:"workspace.cancelled",active:"workspace.active",revoked:"workspace.revokedState"};return(0,t.jsx)("span",{className:"inline-flex rounded border border-border/70 px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"inputClass",0,"w-full rounded-md border border-input bg-background px-3 py-2 text-sm disabled:opacity-50","useWorkspaceAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await t.invalidateQueries({queryKey:["project-manager",e]}),await t.invalidateQueries({queryKey:["collaboration",e]}),await t.invalidateQueries({queryKey:["collaboration","projects"]}),await t.invalidateQueries({queryKey:["dashboard-summary"]})}})}])},65532,e=>{"use strict";let t="forgebadger.team-invitation";function r(){try{sessionStorage.removeItem(t)}catch{}}e.s(["captureTeamInvitation",0,function(){let e=new URLSearchParams(window.location.hash.slice(1)).get("token");if(window.location.hash&&history.replaceState(null,"",location.pathname+location.search),null!==e&&(!e||e.length>512))return r(),"";if(e&&e.length<=512){try{sessionStorage.setItem(t,JSON.stringify({token:e,expires:Date.now()+18e5}))}catch{}return e}try{let e=JSON.parse(sessionStorage.getItem(t)??"null");if(e&&"string"==typeof e.token&&e.expires>Date.now())return e.token}catch{}return r(),""},"clearTeamInvitation",0,r,"safeRedirectTarget",0,function(e){if(!e||!e.startsWith("/")||e.startsWith("//")||/[\\\x00-\x20]/.test(e)||/%5c|%0[ad]/i.test(e))return"/";try{let t=new URL(e,"https://forgebadger.invalid");return"https://forgebadger.invalid"===t.origin?t.pathname+t.search+t.hash:"/"}catch{return"/"}}])},84201,e=>{"use strict";var t=e.i(47721);let r="/api/v1/teams",n=e=>`${r}/${encodeURIComponent(e)}`,a=(e,t={})=>({method:e,body:JSON.stringify(t)});e.s(["accountsApi",0,{invitations:()=>(0,t.fetchJson)("/api/v1/admin/users/invites"),invite:()=>(0,t.fetchJson)("/api/v1/admin/users/invites",a("POST")),revoke:e=>(0,t.fetchJson)("/api/v1/admin/users/invites/"+encodeURIComponent(e),{method:"DELETE"}),reset:(e,r)=>(0,t.fetchJson)("/api/v1/admin/users/"+encodeURIComponent(e)+"/reset-password",a("POST",{password:r}))},"teamsApi",0,{list:()=>(0,t.fetchJson)(r),create:e=>(0,t.fetchJson)(r,a("POST",{name:e})),detail:e=>(0,t.fetchJson)(n(e)),rename:(e,r,s)=>(0,t.fetchJson)(n(e),a("PATCH",{name:r,expectedRevision:s})),transfer:(e,r,s)=>(0,t.fetchJson)(n(e)+"/transfer-owner",a("POST",{newOwnerId:r,expectedRevision:s})),close:(e,r)=>(0,t.fetchJson)(n(e)+"/close",a("POST",{expectedRevision:r})),member:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r),a("PATCH",{role:s,expectedRevision:o})),candidates:e=>(0,t.fetchJson)(n(e)+"/enrollment-candidates"),enroll:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects",a("POST",{projectId:r,expectedProjectRevision:s,expectedTeamRevision:o})),transferProject:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects/"+encodeURIComponent(r)+"/transfer-owner",a("POST",{newOwnerId:s,expectedRevision:o})),invitations:e=>(0,t.fetchJson)(n(e)+"/invitations"),invite:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/invitations",a("POST",{email:r,role:s,expiresInHours:o})),revoke:(e,r)=>(0,t.fetchJson)(n(e)+"/invitations/"+encodeURIComponent(r),{method:"DELETE"}),inspect:e=>(0,t.fetchJson)("/api/v1/auth/team-invitations/inspect",a("POST",{token:e})),accept:e=>(0,t.fetchJson)(r+"/invitations/accept",a("POST",{token:e})),register:(e,r,n)=>(0,t.fetchJson)("/api/v1/auth/team-invitations/register",a("POST",{token:e,email:r,password:n})),impact:(e,r)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r)+"/offboarding"),plan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans",a("POST",{memberId:r,expectedMemberRevision:s,handoffs:o,expectedImpactDigest:i})),commit:(e,r,s)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/commit",a("POST",{confirmationToken:s})),plans:e=>(0,t.fetchJson)(n(e)+"/offboarding-plans"),revisePlan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r),a("PATCH",{expectedPlanRevision:s,expectedImpactDigest:o,handoffs:i})),planStatus:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)),resume:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/resume",a("POST"))}])},21454,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(35887),s=e.i(60218);e.i(6421),e.s(["CopyLink",0,function({value:e}){let{t:n}=(0,a.useLanguage)(),o=(0,r.useMutation)({mutationFn:()=>navigator.clipboard.writeText(e)});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("input",{className:"w-full rounded-md border border-input bg-background p-2 text-xs","aria-label":n("teams.copy"),readOnly:!0,value:e,onFocus:e=>e.target.select()}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>o.mutate(),children:n(o.isSuccess?"teams.copied":"teams.copy")}),o.isError&&(0,t.jsx)("p",{role:"alert",className:"text-xs",children:n("teams.copyFailed")})]})},"TeamBadge",0,function({value:e}){let{t:r}=(0,a.useLanguage)(),n={owner:"teams.owner",admin:"teams.admin",member:"teams.member",active:"teams.active",leaving:"teams.leaving",left:"teams.left",pending:"teams.pending",used:"teams.used",revoked:"teams.revoked",expired:"teams.expired",closed:"teams.closed",closing:"teams.closing"};return(0,t.jsx)("span",{className:"inline-block rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"TeamError",0,function({error:e,retry:r}){let{t:n}=(0,a.useLanguage)();if(!e)return null;let o=e instanceof Error?e.message:String(e);return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive",children:[(0,t.jsx)("p",{children:n({TEAM_HANDOFF_TARGET_CHANGED:"teams.targetChanged",STALE_PLAN_REVISION:"teams.stale",TEAM_INVITATION_INVALID:"teams.invalidInvite",TEAM_INVITATION_EMAIL_MISMATCH:"teams.emailMismatch",REGISTRATION_DISABLED:"teams.registrationOff",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_NOT_FOUND:"teams.notFound",TEAM_OWNER_TRANSFER_REQUIRED:"teams.ownerRequired",TEAM_LAST_ADMIN_REQUIRED:"teams.ownerRequired",TEAM_HAS_ACTIVE_PROJECTS:"teams.closeHint",TEAM_PROJECT_HAS_EXTERNAL_MEMBERS:"teams.externalMembers",TEAM_PROJECT_EXECUTION_ACTIVE:"teams.stopPending",TEAM_STOP_PENDING:"teams.stopPending",VERIFICATION_RUNTIME_UNRESOLVED:"teams.locked",DELIVERY_OPERATION_IN_PROGRESS:"teams.locked",STALE_TEAM_REVISION:"teams.stale",STALE_MEMBER_REVISION:"teams.stale",STALE_PROJECT_REVISION:"teams.stale",TEAM_OFFBOARDING_PLAN_STALE:"teams.stale",TEAM_OFFBOARDING_PLAN_EXPIRED:"teams.stale"}[o]??"teams.error")}),r&&(0,t.jsx)(s.Button,{variant:"outline",size:"sm",onClick:r,children:n("teams.retry")})]})},"useTeamAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:["teams"]}),t.invalidateQueries({queryKey:["collaboration"]}),t.invalidateQueries({queryKey:["admin-users"]})])}})}])},24347,e=>{"use strict";var t=e.i(66499),r=e.i(79923),n=e.i(41271),a=e.i(86059),s=e.i(85426),o=e.i(6270),i=e.i(47190),l=e.i(35887),c=e.i(37122),u=e.i(65532),d=e.i(84201),p=e.i(60218),m=e.i(21454),E=e.i(6421);e.s(["JoinTeam",0,function(){let{t:e}=(0,l.useLanguage)(),{user:f,isLoading:h}=(0,i.useAuth)(),_=(0,a.useRouter)(),R=(0,o.useQueryClient)(),[T,I]=(0,r.useState)(null),[g,v]=(0,r.useState)(null),[S,A]=(0,r.useState)(""),[N,O]=(0,r.useState)(""),[y,C]=(0,r.useState)(""),w=(0,s.useMutation)({mutationFn:d.teamsApi.inspect,onSuccess:e=>v(e.invitation)}),x=(0,s.useMutation)({mutationFn:async e=>{let t;if(T){if(e){let e=await d.teamsApi.register(T,S.trim(),N);(0,c.setToken)(e.token),(0,c.setUser)(e.user),R.clear(),R.setQueryData(["auth","me"],e.user),t=e.team.id}else t=(await d.teamsApi.accept(T)).team.id;(0,u.clearTeamInvitation)(),_.replace("/members?team="+encodeURIComponent(t))}},retry:!1}),b=w.mutate;return(0,r.useEffect)(()=>{let e=(0,u.captureTeamInvitation)();I(e),e&&b(e)},[b]),(0,t.jsxs)("main",{className:"mx-auto max-w-xl space-y-5 p-6 pt-12",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold",children:e("teams.join")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("teams.joinIntro")}),null===T||w.isPending||h?(0,t.jsx)("p",{role:"status",children:e("common.loading")}):T?w.isError?(0,t.jsx)(m.TeamError,{error:w.error,retry:()=>w.mutate(T)}):g&&(0,t.jsxs)(E.Panel,{title:g.teamName,children:[(0,t.jsx)("p",{className:"text-sm",children:g.emailHint}),(0,t.jsx)(m.TeamBadge,{value:g.role}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("teams.expires"),":"," ",new Date(g.expiresAt).toLocaleString()]}),f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-sm",children:[e("teams.signedIn"),": ",f.email]}),(0,t.jsx)(p.Button,{disabled:x.isPending,onClick:()=>x.mutate(!1),children:e("teams.join")}),(0,t.jsx)(p.Button,{asChild:!0,variant:"ghost",children:(0,t.jsx)(n.default,{href:"/login?next=%2Fjoin",referrerPolicy:"no-referrer",children:e("teams.switchAccount")})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.Button,{asChild:!0,variant:"outline",children:(0,t.jsx)(n.default,{href:"/login?next=%2Fjoin",referrerPolicy:"no-referrer",children:e("teams.signInJoin")})}),g.registrationAllowed?(0,t.jsxs)("form",{className:"space-y-3 border-t border-border pt-4",onSubmit:e=>{e.preventDefault(),N===y&&x.mutate(!0)},children:[(0,t.jsx)(E.Field,{label:e("auth.email"),children:(0,t.jsx)("input",{type:"email",autoComplete:"email",required:!0,value:S,className:E.inputClass,onChange:e=>A(e.target.value)})}),(0,t.jsx)(E.Field,{label:e("auth.password"),children:(0,t.jsx)("input",{type:"password",autoComplete:"new-password",required:!0,minLength:8,value:N,className:E.inputClass,onChange:e=>O(e.target.value)})}),(0,t.jsx)(E.Field,{label:e("auth.confirmPassword"),children:(0,t.jsx)("input",{type:"password",autoComplete:"new-password",required:!0,value:y,className:E.inputClass,onChange:e=>C(e.target.value)})}),y&&N!==y&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:e("auth.passwordsDoNotMatch")}),(0,t.jsx)(p.Button,{disabled:x.isPending||N!==y,children:e("teams.registerJoin")})]}):(0,t.jsx)("p",{className:"text-sm",children:e("teams.registrationOff")})]}),(0,t.jsx)(m.TeamError,{error:x.error})]}):(0,t.jsx)("p",{children:e("teams.missingInvite")}),T&&(0,t.jsx)(p.Button,{variant:"ghost",size:"sm",onClick:()=>{(0,u.clearTeamInvitation)(),I(""),v(null)},children:e("teams.forgetInvite")})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,47183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066)._(e.r(63253)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},80179,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(79923);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5770,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(87098),a=e.r(85252);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},92167,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},41271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return _},useLinkStatus:function(){return T}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066),o=e.r(66499),i=s._(e.r(79923)),l=e.r(47183),c=e.r(19521),u=e.r(80179),d=e.r(87098),p=e.r(80722);e.r(58623);let m=e.r(40227),E=e.r(99555),f=e.r(5770),h=e.r(54446);function _(t){var r,n;let a,s,_,[T,I]=(0,i.useOptimistic)(E.IDLE_LINK_STATUS),g=(0,i.useRef)(null),{href:v,as:S,children:A,prefetch:N=null,passHref:O,replace:y,shallow:C,scroll:w,onClick:x,onMouseEnter:b,onTouchStart:P,legacyBehavior:k=!1,onNavigate:U,transitionTypes:j,ref:M,unstable_dynamicOnHover:L,...D}=t;a=A,k&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let F=i.default.useContext(c.AppRouterContext),B=!1!==N,V=!1!==N?null===(n=N)||"auto"===n?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,J="string"==typeof(r=S||v)?r:(0,l.formatUrl)(r);if(k){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=i.default.Children.only(a)}let H=k?s&&"object"==typeof s&&s.ref:M,Q=i.default.useCallback(e=>(null!==F&&(g.current=(0,E.mountLinkInstance)(e,J,F,V,B,I)),()=>{g.current&&((0,E.unmountLinkForCurrentNavigation)(g.current),g.current=null),(0,E.unmountPrefetchableInstance)(e)}),[B,J,F,V,I]),G={ref:(0,u.useMergedRef)(Q,H),onClick(t){k||"function"!=typeof x||x(t),k&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!F||t.defaultPrevented||function(t,r,n,a,s,o,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(11534);i.default.startTransition(()=>{d(r,a?"replace":"push",!1===s?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,n.current,l)})}}(t,J,g,y,w,U,j)},onMouseEnter(e){k||"function"!=typeof b||b(e),k&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),F&&B&&(0,E.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){k||"function"!=typeof P||P(e),k&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),F&&B&&(0,E.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(J)?G.href=J:k&&!O&&("a"!==s.type||"href"in s.props)||(G.href=(0,p.addBasePath)(J)),_=k?i.default.cloneElement(s,G):(0,o.jsx)("a",{...D,...G,children:a}),(0,o.jsx)(R.Provider,{value:T,children:_})}e.r(92167);let R=(0,i.createContext)(E.IDLE_LINK_STATUS),T=()=>(0,i.useContext)(R);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},86059,(e,t,r)=>{t.exports=e.r(3587)},6421,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(79923),s=e.i(60218),o=e.i(35887);e.s(["ErrorNotice",0,function({error:e,retry:r}){let{t:n}=(0,o.useLanguage)();if(!e)return null;let a=e instanceof Error?e.message:String(e),i={ARTIFACT_LINK_STALE:"task.artifactStale",SESSION_SERVER_UPGRADE_REQUIRED:"workspace.runtimeUpgrade",WORKSPACE_COMMIT_CHANGED:"workspace.errorStale",CURRENT_VERIFICATION_REQUIRED:"delivery.currentReceipt",COMMIT_CHANGES_BEFORE_PULL_REQUEST:"workspace.dirty",PULL_REQUEST_BRANCH_MISMATCH:"delivery.headMismatch",REMOTE_HEAD_MISMATCH:"delivery.headMismatch",REMOTE_BASE_MISMATCH:"delivery.baseMismatch",GITHUB_REQUEST_REJECTED:"delivery.prRejected",GITHUB_INVALID_RESPONSE:"delivery.prMismatch",GITHUB_PULL_REQUEST_MISMATCH:"delivery.prMismatch",GITHUB_PULL_REQUEST_AMBIGUOUS:"delivery.prMismatch",SECURE_GITHUB_CREDENTIAL_TRANSPORT_REQUIRED:"delivery.secure",GITHUB_RESPONSE_UNCERTAIN:"delivery.prUncertain",GITHUB_REQUEST_PENDING:"delivery.prUncertain",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_MEMBER_REQUIRED:"teams.denied",VERIFICATION_RUNNER_PLATFORM_UNSUPPORTED:"workspace.errorPlatform",VERIFICATION_RUNTIME_UNRESOLVED:"workspace.errorUnresolved",DELIVERY_OPERATION_IN_PROGRESS:"workspace.errorWait",VERIFICATION_ALREADY_RUNNING:"workspace.errorWait",DELIVERY_RECOVERY_REQUIRED:"workspace.errorRecovery",VERIFICATION_PROCESS_RECOVERY_REQUIRED:"workspace.errorProcessRecovery",EXECUTION_STOP_PENDING:"workspace.errorStopPending",STOP_SOURCE_CLI_BEFORE_DELIVERY:"workspace.stopSourceCli",STOP_CLI_BEFORE_VERIFICATION_OR_DELIVERY:"workspace.stopCliHint",HOST_EXECUTION_NOT_ENABLED:"workspace.noExecution",VERIFICATION_COMMAND_NOT_CONFIGURED:"workspace.noVerification",TASK_ACCEPTANCE_CRITERIA_REQUIRED:"workspace.criteriaRequired",TASK_ASSIGNED_TO_ANOTHER_MEMBER:"workspace.assignedElsewhere",ASSIGNED_REVIEWER_REQUIRED:"workspace.assignedReviewer",INDEPENDENT_REVIEWER_REQUIRED:"workspace.reviewHint",STALE_TASK_REVISION:"workspace.errorStale",STALE_PROJECT_REVISION:"workspace.errorStale",STALE_VERIFICATION_OR_TASK:"workspace.errorStale",STALE_ACCEPTANCE:"workspace.errorStale",COMMIT_CHANGES_BEFORE_VERIFICATION:"workspace.dirty",PROJECT_CAPABILITY_DENIED:"workspace.errorAccess",PRIVATE_EXECUTION_OWNER_REQUIRED:"workspace.errorAccess",EXECUTION_REVOKED:"workspace.errorAccess",REVOKE_ACTIVE_EXECUTION_BEFORE_ROLE_CHANGE:"workspace.errorMemberRole",WORKSPACE_UNAVAILABLE:"workspace.unavailable"};return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm",children:[(0,t.jsx)("p",{children:n("workspace.error")}),(0,t.jsx)("p",{className:"break-words text-muted-foreground",children:i[a]?n(i[a]):a}),r&&(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:r,children:n("workspace.retry")})]})},"Field",0,function({label:e,children:r}){let n=(0,a.useId)(),s=(0,a.isValidElement)(r)?r:null,o=s?.props.id??n;return(0,t.jsxs)("div",{className:"grid gap-1.5 text-sm",children:[(0,t.jsx)("label",{htmlFor:o,className:"text-muted-foreground",children:e}),s?(0,a.cloneElement)(s,{id:o}):r]})},"Panel",0,function({title:e,children:r}){return(0,t.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold",children:e}),r]})},"WorkspaceStatus",0,function({value:e}){let{t:r}=(0,o.useLanguage)(),n={owner:"workspace.owner",admin:"teams.admin",developer:"workspace.developer",reviewer:"workspace.reviewer",viewer:"workspace.viewer",provisioning:"workspace.provisioning",ready:"workspace.ready",failed:"workspace.failed",revoking:"workspace.revoking",closed:"workspace.closed",integrated:"workspace.integrated",running:"workspace.running",passed:"workspace.passed",unknown:"workspace.unknown",accepted:"workspace.accepted",changes_requested:"workspace.changes_requested",todo:"workspace.todo",in_progress:"workspace.in_progress",blocked:"workspace.blocked",ready_for_review:"workspace.ready_for_review",done:"workspace.done",cancelled:"workspace.cancelled",active:"workspace.active",revoked:"workspace.revokedState"};return(0,t.jsx)("span",{className:"inline-flex rounded border border-border/70 px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"inputClass",0,"w-full rounded-md border border-input bg-background px-3 py-2 text-sm disabled:opacity-50","useWorkspaceAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await t.invalidateQueries({queryKey:["project-manager",e]}),await t.invalidateQueries({queryKey:["collaboration",e]}),await t.invalidateQueries({queryKey:["collaboration","projects"]}),await t.invalidateQueries({queryKey:["dashboard-summary"]})}})}])},65532,e=>{"use strict";let t="forgebadger.team-invitation";function r(){try{sessionStorage.removeItem(t)}catch{}}e.s(["captureTeamInvitation",0,function(){let e=new URLSearchParams(window.location.hash.slice(1)).get("token");if(window.location.hash&&history.replaceState(null,"",location.pathname+location.search),null!==e&&(!e||e.length>512))return r(),"";if(e&&e.length<=512){try{sessionStorage.setItem(t,JSON.stringify({token:e,expires:Date.now()+18e5}))}catch{}return e}try{let e=JSON.parse(sessionStorage.getItem(t)??"null");if(e&&"string"==typeof e.token&&e.expires>Date.now())return e.token}catch{}return r(),""},"clearTeamInvitation",0,r,"safeRedirectTarget",0,function(e){if(!e||!e.startsWith("/")||e.startsWith("//")||/[\\\x00-\x20]/.test(e)||/%5c|%0[ad]/i.test(e))return"/";try{let t=new URL(e,"https://forgebadger.invalid");return"https://forgebadger.invalid"===t.origin?t.pathname+t.search+t.hash:"/"}catch{return"/"}}])},84201,e=>{"use strict";var t=e.i(47721);let r="/api/v1/teams",n=e=>`${r}/${encodeURIComponent(e)}`,a=(e,t={})=>({method:e,body:JSON.stringify(t)});e.s(["accountsApi",0,{invitations:()=>(0,t.fetchJson)("/api/v1/admin/users/invites"),invite:()=>(0,t.fetchJson)("/api/v1/admin/users/invites",a("POST")),revoke:e=>(0,t.fetchJson)("/api/v1/admin/users/invites/"+encodeURIComponent(e),{method:"DELETE"}),reset:(e,r)=>(0,t.fetchJson)("/api/v1/admin/users/"+encodeURIComponent(e)+"/reset-password",a("POST",{password:r}))},"teamsApi",0,{list:()=>(0,t.fetchJson)(r),create:e=>(0,t.fetchJson)(r,a("POST",{name:e})),detail:e=>(0,t.fetchJson)(n(e)),rename:(e,r,s)=>(0,t.fetchJson)(n(e),a("PATCH",{name:r,expectedRevision:s})),transfer:(e,r,s)=>(0,t.fetchJson)(n(e)+"/transfer-owner",a("POST",{newOwnerId:r,expectedRevision:s})),close:(e,r)=>(0,t.fetchJson)(n(e)+"/close",a("POST",{expectedRevision:r})),member:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r),a("PATCH",{role:s,expectedRevision:o})),candidates:e=>(0,t.fetchJson)(n(e)+"/enrollment-candidates"),enroll:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects",a("POST",{projectId:r,expectedProjectRevision:s,expectedTeamRevision:o})),transferProject:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects/"+encodeURIComponent(r)+"/transfer-owner",a("POST",{newOwnerId:s,expectedRevision:o})),invitations:e=>(0,t.fetchJson)(n(e)+"/invitations"),invite:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/invitations",a("POST",{email:r,role:s,expiresInHours:o})),revoke:(e,r)=>(0,t.fetchJson)(n(e)+"/invitations/"+encodeURIComponent(r),{method:"DELETE"}),inspect:e=>(0,t.fetchJson)("/api/v1/auth/team-invitations/inspect",a("POST",{token:e})),accept:e=>(0,t.fetchJson)(r+"/invitations/accept",a("POST",{token:e})),register:(e,r,n)=>(0,t.fetchJson)("/api/v1/auth/team-invitations/register",a("POST",{token:e,email:r,password:n})),impact:(e,r)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r)+"/offboarding"),plan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans",a("POST",{memberId:r,expectedMemberRevision:s,handoffs:o,expectedImpactDigest:i})),commit:(e,r,s)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/commit",a("POST",{confirmationToken:s})),plans:e=>(0,t.fetchJson)(n(e)+"/offboarding-plans"),revisePlan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r),a("PATCH",{expectedPlanRevision:s,expectedImpactDigest:o,handoffs:i})),planStatus:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)),resume:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/resume",a("POST"))}])},21454,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(35887),s=e.i(60218);e.i(6421),e.s(["CopyLink",0,function({value:e}){let{t:n}=(0,a.useLanguage)(),o=(0,r.useMutation)({mutationFn:()=>navigator.clipboard.writeText(e)});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("input",{className:"w-full rounded-md border border-input bg-background p-2 text-xs","aria-label":n("teams.copy"),readOnly:!0,value:e,onFocus:e=>e.target.select()}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>o.mutate(),children:n(o.isSuccess?"teams.copied":"teams.copy")}),o.isError&&(0,t.jsx)("p",{role:"alert",className:"text-xs",children:n("teams.copyFailed")})]})},"TeamBadge",0,function({value:e}){let{t:r}=(0,a.useLanguage)(),n={owner:"teams.owner",admin:"teams.admin",member:"teams.member",active:"teams.active",leaving:"teams.leaving",left:"teams.left",pending:"teams.pending",used:"teams.used",revoked:"teams.revoked",expired:"teams.expired",closed:"teams.closed",closing:"teams.closing"};return(0,t.jsx)("span",{className:"inline-block rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"TeamError",0,function({error:e,retry:r}){let{t:n}=(0,a.useLanguage)();if(!e)return null;let o=e instanceof Error?e.message:String(e);return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive",children:[(0,t.jsx)("p",{children:n({TEAM_HANDOFF_TARGET_CHANGED:"teams.targetChanged",STALE_PLAN_REVISION:"teams.stale",TEAM_INVITATION_INVALID:"teams.invalidInvite",TEAM_INVITATION_EMAIL_MISMATCH:"teams.emailMismatch",REGISTRATION_DISABLED:"teams.registrationOff",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_NOT_FOUND:"teams.notFound",TEAM_OWNER_TRANSFER_REQUIRED:"teams.ownerRequired",TEAM_LAST_ADMIN_REQUIRED:"teams.ownerRequired",TEAM_HAS_ACTIVE_PROJECTS:"teams.closeHint",TEAM_PROJECT_HAS_EXTERNAL_MEMBERS:"teams.externalMembers",TEAM_PROJECT_EXECUTION_ACTIVE:"teams.stopPending",TEAM_STOP_PENDING:"teams.stopPending",VERIFICATION_RUNTIME_UNRESOLVED:"teams.locked",DELIVERY_OPERATION_IN_PROGRESS:"teams.locked",STALE_TEAM_REVISION:"teams.stale",STALE_MEMBER_REVISION:"teams.stale",STALE_PROJECT_REVISION:"teams.stale",TEAM_OFFBOARDING_PLAN_STALE:"teams.stale",TEAM_OFFBOARDING_PLAN_EXPIRED:"teams.stale"}[o]??"teams.error")}),r&&(0,t.jsx)(s.Button,{variant:"outline",size:"sm",onClick:r,children:n("teams.retry")})]})},"useTeamAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:["teams"]}),t.invalidateQueries({queryKey:["collaboration"]}),t.invalidateQueries({queryKey:["admin-users"]})])}})}])},24347,e=>{"use strict";var t=e.i(66499),r=e.i(79923),n=e.i(41271),a=e.i(86059),s=e.i(85426),o=e.i(6270),i=e.i(47190),l=e.i(35887),c=e.i(37122),u=e.i(65532),d=e.i(84201),p=e.i(60218),m=e.i(21454),E=e.i(6421);e.s(["JoinTeam",0,function(){let{t:e}=(0,l.useLanguage)(),f=(0,l.useUiLocale)(),{user:h,isLoading:_}=(0,i.useAuth)(),R=(0,a.useRouter)(),T=(0,o.useQueryClient)(),[I,g]=(0,r.useState)(null),[v,S]=(0,r.useState)(null),[A,N]=(0,r.useState)(""),[O,y]=(0,r.useState)(""),[C,w]=(0,r.useState)(""),x=(0,s.useMutation)({mutationFn:d.teamsApi.inspect,onSuccess:e=>S(e.invitation)}),b=(0,s.useMutation)({mutationFn:async e=>{let t;if(I){if(e){let e=await d.teamsApi.register(I,A.trim(),O);(0,c.setToken)(e.token),(0,c.setUser)(e.user),T.clear(),T.setQueryData(["auth","me"],e.user),t=e.team.id}else t=(await d.teamsApi.accept(I)).team.id;(0,u.clearTeamInvitation)(),R.replace("/members?team="+encodeURIComponent(t))}},retry:!1}),P=x.mutate;return(0,r.useEffect)(()=>{let e=(0,u.captureTeamInvitation)();g(e),e&&P(e)},[P]),(0,t.jsxs)("main",{className:"mx-auto max-w-xl space-y-5 p-6 pt-12",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold",children:e("teams.join")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("teams.joinIntro")}),null===I||x.isPending||_?(0,t.jsx)("p",{role:"status",children:e("common.loading")}):I?x.isError?(0,t.jsx)(m.TeamError,{error:x.error,retry:()=>x.mutate(I)}):v&&(0,t.jsxs)(E.Panel,{title:v.teamName,children:[(0,t.jsx)("p",{className:"text-sm",children:v.emailHint}),(0,t.jsx)(m.TeamBadge,{value:v.role}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("teams.expires"),":"," ",new Date(v.expiresAt).toLocaleString(f)]}),h?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-sm",children:[e("teams.signedIn"),": ",h.email]}),(0,t.jsx)(p.Button,{disabled:b.isPending,onClick:()=>b.mutate(!1),children:e("teams.join")}),(0,t.jsx)(p.Button,{asChild:!0,variant:"ghost",children:(0,t.jsx)(n.default,{href:"/login?next=%2Fjoin",referrerPolicy:"no-referrer",children:e("teams.switchAccount")})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.Button,{asChild:!0,variant:"outline",children:(0,t.jsx)(n.default,{href:"/login?next=%2Fjoin",referrerPolicy:"no-referrer",children:e("teams.signInJoin")})}),v.registrationAllowed?(0,t.jsxs)("form",{className:"space-y-3 border-t border-border pt-4",onSubmit:e=>{e.preventDefault(),O===C&&b.mutate(!0)},children:[(0,t.jsx)(E.Field,{label:e("auth.email"),children:(0,t.jsx)("input",{type:"email",autoComplete:"email",required:!0,value:A,className:E.inputClass,onChange:e=>N(e.target.value)})}),(0,t.jsx)(E.Field,{label:e("auth.password"),children:(0,t.jsx)("input",{type:"password",autoComplete:"new-password",required:!0,minLength:8,value:O,className:E.inputClass,onChange:e=>y(e.target.value)})}),(0,t.jsx)(E.Field,{label:e("auth.confirmPassword"),children:(0,t.jsx)("input",{type:"password",autoComplete:"new-password",required:!0,value:C,className:E.inputClass,onChange:e=>w(e.target.value)})}),C&&O!==C&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:e("auth.passwordsDoNotMatch")}),(0,t.jsx)(p.Button,{disabled:b.isPending||O!==C,children:e("teams.registerJoin")})]}):(0,t.jsx)("p",{className:"text-sm",children:e("teams.registrationOff")})]}),(0,t.jsx)(m.TeamError,{error:b.error})]}):(0,t.jsx)("p",{children:e("teams.missingInvite")}),I&&(0,t.jsx)(p.Button,{variant:"ghost",size:"sm",onClick:()=>{(0,u.clearTeamInvitation)(),g(""),S(null)},children:e("teams.forgetInvite")})]})}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62918,e=>{"use strict";var t=e.i(66499),r=e.i(94237),n=e.i(82909),a=e.i(65458);let s=(0,r.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:r="default",asChild:o=!1,...i}){let c=o?n.Slot.Root:"span";return(0,t.jsx)(c,{"data-slot":"badge","data-variant":r,className:(0,a.cn)(s({variant:r}),e),...i})}])},12603,e=>{"use strict";var t=e.i(66499),r=e.i(65458);e.s(["Card",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...n})},"CardContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...n})},"CardDescription",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...n})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.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),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...n})}])},47849,e=>{"use strict";var t=e.i(66936);e.s(["AlertTriangle",()=>t.default])},57793,e=>{"use strict";var t=e.i(66499),r=e.i(47849),n=e.i(60218),a=e.i(9988),s=e.i(35887);e.s(["ConfirmDialog",0,function({open:e,title:o,description:i,confirmLabel:c,destructive:d=!1,pending:l=!1,onOpenChange:u,onConfirm:p}){let{t:m}=(0,s.useLanguage)();return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:e=>{e||l||u(!1)},children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsxs)(a.DialogTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(r.AlertTriangle,{className:d?"size-5 shrink-0 text-destructive":"size-5 shrink-0 text-muted-foreground"}),o]}),(0,t.jsx)(a.DialogDescription,{children:i})]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(n.Button,{type:"button",variant:"outline",disabled:l,onClick:()=>u(!1),children:m("common.cancel")}),(0,t.jsx)(n.Button,{type:"button",variant:d?"destructive":"default",disabled:l,onClick:p,children:c??m("common.confirm")})]})]})})}])},6421,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(79923),s=e.i(60218),o=e.i(35887);e.s(["ErrorNotice",0,function({error:e,retry:r}){let{t:n}=(0,o.useLanguage)();if(!e)return null;let a=e instanceof Error?e.message:String(e),i={ARTIFACT_LINK_STALE:"task.artifactStale",SESSION_SERVER_UPGRADE_REQUIRED:"workspace.runtimeUpgrade",WORKSPACE_COMMIT_CHANGED:"workspace.errorStale",CURRENT_VERIFICATION_REQUIRED:"delivery.currentReceipt",COMMIT_CHANGES_BEFORE_PULL_REQUEST:"workspace.dirty",PULL_REQUEST_BRANCH_MISMATCH:"delivery.headMismatch",REMOTE_HEAD_MISMATCH:"delivery.headMismatch",REMOTE_BASE_MISMATCH:"delivery.baseMismatch",GITHUB_REQUEST_REJECTED:"delivery.prRejected",GITHUB_INVALID_RESPONSE:"delivery.prMismatch",GITHUB_PULL_REQUEST_MISMATCH:"delivery.prMismatch",GITHUB_PULL_REQUEST_AMBIGUOUS:"delivery.prMismatch",SECURE_GITHUB_CREDENTIAL_TRANSPORT_REQUIRED:"delivery.secure",GITHUB_RESPONSE_UNCERTAIN:"delivery.prUncertain",GITHUB_REQUEST_PENDING:"delivery.prUncertain",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_MEMBER_REQUIRED:"teams.denied",VERIFICATION_RUNNER_PLATFORM_UNSUPPORTED:"workspace.errorPlatform",VERIFICATION_RUNTIME_UNRESOLVED:"workspace.errorUnresolved",DELIVERY_OPERATION_IN_PROGRESS:"workspace.errorWait",VERIFICATION_ALREADY_RUNNING:"workspace.errorWait",DELIVERY_RECOVERY_REQUIRED:"workspace.errorRecovery",VERIFICATION_PROCESS_RECOVERY_REQUIRED:"workspace.errorProcessRecovery",EXECUTION_STOP_PENDING:"workspace.errorStopPending",STOP_SOURCE_CLI_BEFORE_DELIVERY:"workspace.stopSourceCli",STOP_CLI_BEFORE_VERIFICATION_OR_DELIVERY:"workspace.stopCliHint",HOST_EXECUTION_NOT_ENABLED:"workspace.noExecution",VERIFICATION_COMMAND_NOT_CONFIGURED:"workspace.noVerification",TASK_ACCEPTANCE_CRITERIA_REQUIRED:"workspace.criteriaRequired",TASK_ASSIGNED_TO_ANOTHER_MEMBER:"workspace.assignedElsewhere",ASSIGNED_REVIEWER_REQUIRED:"workspace.assignedReviewer",INDEPENDENT_REVIEWER_REQUIRED:"workspace.reviewHint",STALE_TASK_REVISION:"workspace.errorStale",STALE_PROJECT_REVISION:"workspace.errorStale",STALE_VERIFICATION_OR_TASK:"workspace.errorStale",STALE_ACCEPTANCE:"workspace.errorStale",COMMIT_CHANGES_BEFORE_VERIFICATION:"workspace.dirty",PROJECT_CAPABILITY_DENIED:"workspace.errorAccess",PRIVATE_EXECUTION_OWNER_REQUIRED:"workspace.errorAccess",EXECUTION_REVOKED:"workspace.errorAccess",REVOKE_ACTIVE_EXECUTION_BEFORE_ROLE_CHANGE:"workspace.errorMemberRole",WORKSPACE_UNAVAILABLE:"workspace.unavailable"};return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm",children:[(0,t.jsx)("p",{children:n("workspace.error")}),(0,t.jsx)("p",{className:"break-words text-muted-foreground",children:i[a]?n(i[a]):a}),r&&(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:r,children:n("workspace.retry")})]})},"Field",0,function({label:e,children:r}){let n=(0,a.useId)(),s=(0,a.isValidElement)(r)?r:null,o=s?.props.id??n;return(0,t.jsxs)("div",{className:"grid gap-1.5 text-sm",children:[(0,t.jsx)("label",{htmlFor:o,className:"text-muted-foreground",children:e}),s?(0,a.cloneElement)(s,{id:o}):r]})},"Panel",0,function({title:e,children:r}){return(0,t.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold",children:e}),r]})},"WorkspaceStatus",0,function({value:e}){let{t:r}=(0,o.useLanguage)(),n={owner:"workspace.owner",admin:"teams.admin",developer:"workspace.developer",reviewer:"workspace.reviewer",viewer:"workspace.viewer",provisioning:"workspace.provisioning",ready:"workspace.ready",failed:"workspace.failed",revoking:"workspace.revoking",closed:"workspace.closed",integrated:"workspace.integrated",running:"workspace.running",passed:"workspace.passed",unknown:"workspace.unknown",accepted:"workspace.accepted",changes_requested:"workspace.changes_requested",todo:"workspace.todo",in_progress:"workspace.in_progress",blocked:"workspace.blocked",ready_for_review:"workspace.ready_for_review",done:"workspace.done",cancelled:"workspace.cancelled",active:"workspace.active",revoked:"workspace.revokedState"};return(0,t.jsx)("span",{className:"inline-flex rounded border border-border/70 px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"inputClass",0,"w-full rounded-md border border-input bg-background px-3 py-2 text-sm disabled:opacity-50","useWorkspaceAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await t.invalidateQueries({queryKey:["project-manager",e]}),await t.invalidateQueries({queryKey:["collaboration",e]}),await t.invalidateQueries({queryKey:["collaboration","projects"]}),await t.invalidateQueries({queryKey:["dashboard-summary"]})}})}])},19896,e=>{"use strict";var t=e.i(47721);let r="/api/v1/collaboration/projects",n=e=>`${r}/${encodeURIComponent(e)}`,a=(e,t)=>`${n(e)}/tasks/${encodeURIComponent(t)}`,s=(e,t)=>`${n(e)}/runs/${encodeURIComponent(t)}`,o=(e,t)=>({method:e,body:JSON.stringify(t)});function i(e,t){if("string"!=typeof e&&e.capabilities)return e.capabilities.includes(t);let r="string"==typeof e?e:e.role;return({owner:["read","comment","develop","review","manage","closeOwnRun"],developer:["read","comment","develop","closeOwnRun"],reviewer:["read","comment","review"],viewer:["read"],admin:["read","manage"]})[r]?.includes(t)??!1}e.s(["canDevelop",0,function(e){return i(e,"develop")},"canReview",0,function(e,t,r,n){return!!t&&i(e,"review")&&(!n||t!==r)},"collaborationApi",0,{projects:()=>(0,t.fetchJson)(r),project:e=>(0,t.fetchJson)(n(e)),archive:e=>(0,t.fetchJson)(n(e)+"/archive",o("POST",{})),member:(e,r,a)=>(0,t.fetchJson)(n(e)+"/members",o("PUT",{email:r,role:a})),revoke:(e,r)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r),{method:"DELETE"}),createTask:(e,r)=>(0,t.fetchJson)(n(e)+"/tasks",o("POST",r)),updateTask:(e,r,n)=>(0,t.fetchJson)(a(e,r),o("PATCH",n)),task:(e,r)=>(0,t.fetchJson)(a(e,r)),comment:(e,r,n)=>(0,t.fetchJson)(a(e,r)+"/comments",o("POST",{text:n})),prepare:(e,r,n,s)=>(0,t.fetchJson)(a(e,r)+"/runs",o("POST",{aiTool:n,idempotencyKey:s})),run:(e,r)=>(0,t.fetchJson)(s(e,r)),diff:(e,r,n)=>(0,t.fetchJson)(s(e,r)+"/diff?"+new URLSearchParams({path:n})),links:(e,r,n,a)=>(0,t.fetchJson)(s(e,r)+"/links",o("PATCH",{previewUrl:n,prUrl:a})),review:(e,r,n)=>(0,t.fetchJson)(s(e,r)+"/review",o("POST",n)),integrate:(e,r,n)=>(0,t.fetchJson)(s(e,r)+"/integrate",o("POST",{expectedCommit:n})),recover:(e,r,n)=>(0,t.fetchJson)(s(e,r)+"/recover",o("POST",{idempotencyKey:n})),reconcile:(e,r,n,a)=>(0,t.fetchJson)(s(e,r)+"/reconcile",o("POST",{expectedCommit:n,idempotencyKey:a})),pullRequest:(e,r,n)=>(0,t.fetchJson)(s(e,r)+"/pull-request",o("POST",n)),close:(e,r)=>(0,t.fetchJson)(s(e,r)+"/close",o("POST",{})),handoff:(e,r)=>(0,t.fetchJson)(s(e,r)+"/handoff")},"hasCapability",0,i,"safeWorkspaceUrl",0,function(e){if(e)try{let t=new URL(e);return!["http:","https:"].includes(t.protocol)||t.username||t.password?void 0:t.href}catch{return}},"secureCredentialTransport",0,function(e,t){let r=e=>{try{let t=new URL(e);return!t.username&&!t.password&&("https:"===t.protocol||"http:"===t.protocol&&["localhost","127.0.0.1","[::1]"].includes(t.hostname))}catch{return!1}};return r(e)&&r(t)}])},63039,e=>{"use strict";var t=e.i(97480);e.s(["ShieldAlert",()=>t.default])},30819,e=>{"use strict";var t=e.i(35887);let r={securityBaselineGuaranteed:"设计保证",securityBaselineGuaranteedHint:"JWT 认证与租户隔离为架构层保证,非运行时检测值;密钥加密与终端持久化为实际配置。",auditViewAll:"查看全部",auditActions:{apply_provider:"应用提供商配置",model_sync:"同步模型列表","feishu.account.update":"更新飞书账号","feishu.config.update":"更新飞书配置","feishu.user_mappings.replace":"替换飞书用户映射","feishu.channel.emergency_stop":"飞书渠道紧急停用","telegram.account.update":"更新 Telegram 账号","telegram.config.update":"更新 Telegram 配置","telegram.channel.emergency_stop":"Telegram 渠道紧急停用","runtime_settings.update":"更新实例运行时设置","project.delete":"删除项目记录","template.extract":"从项目提取模板","project.config_sync":"同步项目配置","session_hooks.claude_notification":"更新 Claude 通知钩子","gateway.start":"Gateway 启动","gateway.recover_sessions_failed":"会话恢复失败"},revokeOthersConfirmTitle:"退出其他设备?",revokeOthersConfirmDescription:"将立即吊销除当前设备外的所有登录会话,这些设备上的用户需要重新登录。",revokeInviteConfirmTitle:"撤销邀请?",revokeInviteConfirmDescription:"邀请码「{code}」将立即失效,未完成的注册无法继续使用。",resetPasswordAck:e=>`我确认要为此成员(${e})重置密码`,deviceIdPrefix:"会话",copyInviteCode:"复制邀请码",inviteCodeCopied:"已复制"},n={securityBaselineGuaranteed:"設計保證",securityBaselineGuaranteedHint:"JWT 認證與租戶隔離為架構層保證,非執行時檢測值;金鑰加密與終端機持久化為實際設定。",auditViewAll:"查看全部",auditActions:{apply_provider:"套用供應商設定",model_sync:"同步模型清單","feishu.account.update":"更新飛書帳號","feishu.config.update":"更新飛書設定","feishu.user_mappings.replace":"替換飛書使用者對應","feishu.channel.emergency_stop":"飛書渠道緊急停用","telegram.account.update":"更新 Telegram 帳號","telegram.config.update":"更新 Telegram 設定","telegram.channel.emergency_stop":"Telegram 渠道緊急停用","runtime_settings.update":"更新執行個體執行時設定","project.delete":"刪除專案記錄","template.extract":"從專案提取範本","project.config_sync":"同步專案設定","session_hooks.claude_notification":"更新 Claude 通知鉤子","gateway.start":"Gateway 啟動","gateway.recover_sessions_failed":"工作階段復原失敗"},revokeOthersConfirmTitle:"退出其他裝置?",revokeOthersConfirmDescription:"將立即註銷除目前裝置外的所有登入工作階段,這些裝置上的使用者需要重新登入。",revokeInviteConfirmTitle:"撤銷邀請?",revokeInviteConfirmDescription:"邀請碼「{code}」將立即失效,未完成的註冊無法繼續使用。",resetPasswordAck:e=>`我確認要為此成員(${e})重設密碼`,deviceIdPrefix:"工作階段",copyInviteCode:"複製邀請碼",inviteCodeCopied:"已複製"},a={securityBaselineGuaranteed:"By design",securityBaselineGuaranteedHint:"JWT auth and tenant isolation are architectural guarantees, not runtime detections; key encryption and terminal persistence are actual configured values.",auditViewAll:"View all",auditActions:{apply_provider:"Apply provider config",model_sync:"Sync model list","feishu.account.update":"Update Feishu account","feishu.config.update":"Update Feishu config","feishu.user_mappings.replace":"Replace Feishu user mappings","feishu.channel.emergency_stop":"Feishu channel emergency stop","telegram.account.update":"Update Telegram account","telegram.config.update":"Update Telegram config","telegram.channel.emergency_stop":"Telegram channel emergency stop","runtime_settings.update":"Update instance runtime settings","project.delete":"Delete project record","template.extract":"Extract template from project","project.config_sync":"Sync project config","session_hooks.claude_notification":"Update Claude notification hooks","gateway.start":"Gateway start","gateway.recover_sessions_failed":"Session recovery failed"},revokeOthersConfirmTitle:"Sign out other devices?",revokeOthersConfirmDescription:"All signed-in sessions except this device will be revoked immediately; users on those devices must sign in again.",revokeInviteConfirmTitle:"Revoke invitation?",revokeInviteConfirmDescription:'The invitation code "{code}" will stop working immediately; unfinished registrations cannot use it anymore.',resetPasswordAck:e=>`I confirm that I want to reset the password for this member (${e})`,deviceIdPrefix:"Session",copyInviteCode:"Copy code",inviteCodeCopied:"Copied"};e.s(["auditActionLabel",0,function(e,t){return e.auditActions[t]??t},"useAdminCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?a:"zh-TW"===e?n:r}])},21454,e=>{"use strict";var t=e.i(66499),r=e.i(85426),n=e.i(6270),a=e.i(35887),s=e.i(60218);e.i(6421),e.s(["CopyLink",0,function({value:e}){let{t:n}=(0,a.useLanguage)(),o=(0,r.useMutation)({mutationFn:()=>navigator.clipboard.writeText(e)});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("input",{className:"w-full rounded-md border border-input bg-background p-2 text-xs","aria-label":n("teams.copy"),readOnly:!0,value:e,onFocus:e=>e.target.select()}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>o.mutate(),children:n(o.isSuccess?"teams.copied":"teams.copy")}),o.isError&&(0,t.jsx)("p",{role:"alert",className:"text-xs",children:n("teams.copyFailed")})]})},"TeamBadge",0,function({value:e}){let{t:r}=(0,a.useLanguage)(),n={owner:"teams.owner",admin:"teams.admin",member:"teams.member",active:"teams.active",leaving:"teams.leaving",left:"teams.left",pending:"teams.pending",used:"teams.used",revoked:"teams.revoked",expired:"teams.expired",closed:"teams.closed",closing:"teams.closing"};return(0,t.jsx)("span",{className:"inline-block rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground",children:n[e]?r(n[e]):e})},"TeamError",0,function({error:e,retry:r}){let{t:n}=(0,a.useLanguage)();if(!e)return null;let o=e instanceof Error?e.message:String(e);return(0,t.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive",children:[(0,t.jsx)("p",{children:n({TEAM_HANDOFF_TARGET_CHANGED:"teams.targetChanged",STALE_PLAN_REVISION:"teams.stale",TEAM_INVITATION_INVALID:"teams.invalidInvite",TEAM_INVITATION_EMAIL_MISMATCH:"teams.emailMismatch",REGISTRATION_DISABLED:"teams.registrationOff",TEAM_CAPABILITY_DENIED:"teams.denied",TEAM_NOT_FOUND:"teams.notFound",TEAM_OWNER_TRANSFER_REQUIRED:"teams.ownerRequired",TEAM_LAST_ADMIN_REQUIRED:"teams.ownerRequired",TEAM_HAS_ACTIVE_PROJECTS:"teams.closeHint",TEAM_PROJECT_HAS_EXTERNAL_MEMBERS:"teams.externalMembers",TEAM_PROJECT_EXECUTION_ACTIVE:"teams.stopPending",TEAM_STOP_PENDING:"teams.stopPending",VERIFICATION_RUNTIME_UNRESOLVED:"teams.locked",DELIVERY_OPERATION_IN_PROGRESS:"teams.locked",STALE_TEAM_REVISION:"teams.stale",STALE_MEMBER_REVISION:"teams.stale",STALE_PROJECT_REVISION:"teams.stale",TEAM_OFFBOARDING_PLAN_STALE:"teams.stale",TEAM_OFFBOARDING_PLAN_EXPIRED:"teams.stale"}[o]??"teams.error")}),r&&(0,t.jsx)(s.Button,{variant:"outline",size:"sm",onClick:r,children:n("teams.retry")})]})},"useTeamAction",0,function(e){let t=(0,n.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:["teams"]}),t.invalidateQueries({queryKey:["collaboration"]}),t.invalidateQueries({queryKey:["admin-users"]})])}})}])},84201,e=>{"use strict";var t=e.i(47721);let r="/api/v1/teams",n=e=>`${r}/${encodeURIComponent(e)}`,a=(e,t={})=>({method:e,body:JSON.stringify(t)});e.s(["accountsApi",0,{invitations:()=>(0,t.fetchJson)("/api/v1/admin/users/invites"),invite:()=>(0,t.fetchJson)("/api/v1/admin/users/invites",a("POST")),revoke:e=>(0,t.fetchJson)("/api/v1/admin/users/invites/"+encodeURIComponent(e),{method:"DELETE"}),reset:(e,r)=>(0,t.fetchJson)("/api/v1/admin/users/"+encodeURIComponent(e)+"/reset-password",a("POST",{password:r}))},"teamsApi",0,{list:()=>(0,t.fetchJson)(r),create:e=>(0,t.fetchJson)(r,a("POST",{name:e})),detail:e=>(0,t.fetchJson)(n(e)),rename:(e,r,s)=>(0,t.fetchJson)(n(e),a("PATCH",{name:r,expectedRevision:s})),transfer:(e,r,s)=>(0,t.fetchJson)(n(e)+"/transfer-owner",a("POST",{newOwnerId:r,expectedRevision:s})),close:(e,r)=>(0,t.fetchJson)(n(e)+"/close",a("POST",{expectedRevision:r})),member:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r),a("PATCH",{role:s,expectedRevision:o})),candidates:e=>(0,t.fetchJson)(n(e)+"/enrollment-candidates"),enroll:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects",a("POST",{projectId:r,expectedProjectRevision:s,expectedTeamRevision:o})),transferProject:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/projects/"+encodeURIComponent(r)+"/transfer-owner",a("POST",{newOwnerId:s,expectedRevision:o})),invitations:e=>(0,t.fetchJson)(n(e)+"/invitations"),invite:(e,r,s,o)=>(0,t.fetchJson)(n(e)+"/invitations",a("POST",{email:r,role:s,expiresInHours:o})),revoke:(e,r)=>(0,t.fetchJson)(n(e)+"/invitations/"+encodeURIComponent(r),{method:"DELETE"}),inspect:e=>(0,t.fetchJson)("/api/v1/auth/team-invitations/inspect",a("POST",{token:e})),accept:e=>(0,t.fetchJson)(r+"/invitations/accept",a("POST",{token:e})),register:(e,r,n)=>(0,t.fetchJson)("/api/v1/auth/team-invitations/register",a("POST",{token:e,email:r,password:n})),impact:(e,r)=>(0,t.fetchJson)(n(e)+"/members/"+encodeURIComponent(r)+"/offboarding"),plan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans",a("POST",{memberId:r,expectedMemberRevision:s,handoffs:o,expectedImpactDigest:i})),commit:(e,r,s)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/commit",a("POST",{confirmationToken:s})),plans:e=>(0,t.fetchJson)(n(e)+"/offboarding-plans"),revisePlan:(e,r,s,o,i)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r),a("PATCH",{expectedPlanRevision:s,expectedImpactDigest:o,handoffs:i})),planStatus:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)),resume:(e,r)=>(0,t.fetchJson)(n(e)+"/offboarding-plans/"+encodeURIComponent(r)+"/resume",a("POST"))}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,540,e=>{"use strict";let n=(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,n],540)},76745,e=>{"use strict";var n=e.i(77059);e.s(["Check",()=>n.default])},76806,e=>{"use strict";let n="github-dark-default",t=null,l=new Set,o={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"},a={dockerfile:"dockerfile","dockerfile.dev":"dockerfile",makefile:"makefile",gnumakefile:"makefile",".env":"dotenv",".env.example":"dotenv",".env.sample":"dotenv",".env.template":"dotenv"};async function r(r,i){let s=function(e){let n=e.toLowerCase(),t=n.split("/").pop()??n,l=a[t];if(l)return l;let r=t.lastIndexOf(".");return r<=0?null:o[t.slice(r+1)]??null}(i);if(!s)return null;try{let o=await (!t&&(t=e.A(24612).then(({createHighlighter:e})=>e({themes:[n],langs:[]}))),t);l.has(s)||(await o.loadLanguage(s),l.add(s));let{tokens:a}=o.codeToTokens(r,{lang:s,theme:n});return a}catch{return null}}e.s(["highlightWorkspaceCode",0,r,"tokenFontStyle",0,function(e){let n=e??0;return{italic:(1&n)!=0,bold:(2&n)!=0,underline:(4&n)!=0}}])},31483,e=>{"use strict";var n=e.i(88215);e.s(["ChevronDown",()=>n.default])},63548,e=>{"use strict";var n=e.i(36984);e.s(["X",()=>n.default])},83736,e=>{"use strict";let n=(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,n],83736)},51173,e=>{"use strict";let n=(0,e.i(65174).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,n])},52860,e=>{"use strict";var n=e.i(51173);e.s(["ChevronRight",()=>n.default])},88010,e=>{"use strict";var n=e.i(66499),t=e.i(65458);e.s(["Textarea",0,function({className:e,...l}){return(0,n.jsx)("textarea",{"data-slot":"textarea",className:(0,t.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),...l})}])},26624,e=>{"use strict";var n=e.i(66499),t=e.i(79923),l=e.i(91967),o=e.i(67928),a=e.i(43250),r=e.i(17256),i=e.i(84017),s=e.i(61614),u=e.i(80939),c="Switch",[d,p]=(0,a.createContextScope)(c),[m,h]=d(c),g=t.forwardRef((e,a)=>{let{__scopeSwitch:i,name:s,checked:d,defaultChecked:p,required:h,disabled:g,value:f="on",onCheckedChange:b,form:y,...S}=e,[k,C]=t.useState(null),w=(0,o.useComposedRefs)(a,e=>C(e)),j=t.useRef(!1),P=!k||y||!!k.closest("form"),[R,O]=(0,r.useControllableState)({prop:d,defaultProp:p??!1,onChange:b,caller:c});return(0,n.jsxs)(m,{scope:i,checked:R,disabled:g,children:[(0,n.jsx)(u.Primitive.button,{type:"button",role:"switch","aria-checked":R,"aria-required":h,"data-state":x(R),"data-disabled":g?"":void 0,disabled:g,value:f,...S,ref:w,onClick:(0,l.composeEventHandlers)(e.onClick,e=>{O(e=>!e),P&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),P&&(0,n.jsx)(v,{control:k,bubbles:!j.current,name:s,value:f,checked:R,required:h,disabled:g,form:y,style:{transform:"translateX(-100%)"}})]})});g.displayName=c;var f="SwitchThumb",b=t.forwardRef((e,t)=>{let{__scopeSwitch:l,...o}=e,a=h(f,l);return(0,n.jsx)(u.Primitive.span,{"data-state":x(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t})});b.displayName=f;var v=t.forwardRef(({__scopeSwitch:e,control:l,checked:a,bubbles:r=!0,...u},c)=>{let d=t.useRef(null),p=(0,o.useComposedRefs)(d,c),m=(0,i.usePrevious)(a),h=(0,s.useSize)(l);return t.useEffect(()=>{let e=d.current;if(!e)return;let n=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(m!==a&&n){let t=new Event("click",{bubbles:r});n.call(e,a),e.dispatchEvent(t)}},[m,a,r]),(0,n.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...u,tabIndex:-1,ref:p,style:{...u.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function x(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",0,g,"Switch",0,g,"SwitchThumb",0,b,"Thumb",0,b,"createSwitchScope",0,p],50512);var y=e.i(50512),y=y,S=e.i(65458);e.s(["Switch",0,function({className:e,size:t="default",...l}){return(0,n.jsx)(y.Root,{"data-slot":"switch","data-size":t,className:(0,S.cn)("peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80",e),...l,children:(0,n.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,S.cn)("pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground")})})}],26624)},47849,e=>{"use strict";var n=e.i(66936);e.s(["AlertTriangle",()=>n.default])},62918,e=>{"use strict";var n=e.i(66499),t=e.i(94237),l=e.i(82909),o=e.i(65458);let a=(0,t.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:t="default",asChild:r=!1,...i}){let s=r?l.Slot.Root:"span";return(0,n.jsx)(s,{"data-slot":"badge","data-variant":t,className:(0,o.cn)(a({variant:t}),e),...i})}])},25284,e=>{"use strict";var n=e.i(87014);let t=Object.assign({},n.toast,{error:(e,t)=>n.toast.error(e,{duration:6e3,...t})});e.s(["toast",0,t])},19813,e=>{"use strict";var n=e.i(66499),t=e.i(71800),l=e.i(65458);function o({suggestions:e,onPick:t,compact:a=!1,className:r}){return(0,n.jsx)("div",{className:(0,l.cn)("flex flex-wrap justify-center",a?"gap-1.5":"gap-2",r),children:e.map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>t(e),className:(0,l.cn)("rounded-full border border-border/70 bg-card text-muted-foreground shadow-sm transition-all hover:-translate-y-0.5 hover:border-brand/60 hover:text-foreground hover:shadow-md",a?"px-2.5 py-1 text-xs":"px-3.5 py-1.5 text-sm"),children:e},e))})}var a=e.i(35887);e.s(["CopilotEmptyState",0,function({icon:e,title:t,description:o,className:a}){return(0,n.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-2.5 rounded-md border border-border/70 bg-muted/20 px-4 py-8 text-center",a),children:[(0,n.jsx)("div",{className:"flex size-9 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,n.jsx)(e,{className:"size-4","aria-hidden":"true"})}),(0,n.jsx)("p",{className:"text-sm font-medium",children:t}),o&&(0,n.jsx)("p",{className:"max-w-sm text-xs leading-relaxed text-muted-foreground",children:o})]})},"CopilotWelcomeState",0,function({onSuggestion:e,compact:r=!1,className:i}){let{t:s}=(0,a.useLanguage)(),u=[s("copilot.suggestion1"),s("copilot.suggestion2"),s("copilot.suggestion3")];return r?(0,n.jsxs)("div",{className:(0,l.cn)("flex h-full flex-col items-center justify-center gap-3 text-center",i),children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:s("copilot.welcomeTitle")}),(0,n.jsx)("p",{className:"mt-1 max-w-xs text-xs text-muted-foreground",children:s("copilot.welcomeSubtitle")})]}),(0,n.jsx)(o,{suggestions:u,onPick:e,compact:!0})]}):(0,n.jsxs)("div",{className:(0,l.cn)("flex h-full flex-col items-center justify-center gap-5 py-10 text-center",i),children:[(0,n.jsx)("span",{className:"flex size-12 items-center justify-center rounded-xl border border-border/60 bg-muted/60 shadow-inner",children:(0,n.jsx)(t.Bot,{className:"size-6 text-muted-foreground"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-base font-semibold",children:s("copilot.welcomeTitle")}),(0,n.jsx)("p",{className:"mx-auto mt-1.5 max-w-md text-sm leading-relaxed text-muted-foreground",children:s("copilot.welcomeSubtitle")})]}),(0,n.jsx)(o,{suggestions:u,onPick:e})]})}],19813)},92608,e=>{"use strict";var n=e.i(47721);e.s(["acceptAutomationSuggestion",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/accept`,{method:"POST"})},"cancelFollowup",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/followups/${encodeURIComponent(e)}`,{method:"DELETE"})},"cancelRun",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/cancel`,{method:"POST"})},"createAutomation",0,function(e){return(0,n.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(e)})},"createConversation",0,function(e){return(0,n.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify(e?{title:e}:{})})},"decidePendingAction",0,function(e,t,l){return(0,n.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/pending-actions/${encodeURIComponent(t)}/decide`,{method:"POST",body:JSON.stringify({approved:l})})},"deleteAutomation",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteConversation",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(e)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/dismiss`,{method:"POST"})},"editMessage",0,function(e,t,l,o){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:t,content:l,...o})})},"enableAutomation",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,n.fetchJson)("/api/v1/copilot/capabilities")},"getCopilotPreferences",0,function(){return(0,n.fetchJson)("/api/v1/copilot/preferences")},"getRun",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}`)},"listAutomationSuggestions",0,function(){return(0,n.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,n.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/runs`)},"listConversations",0,function(){return(0,n.fetchJson)("/api/v1/copilot/conversations")},"listFollowups",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/followups`)},"listMemoryEntries",0,function(e={}){let t=new URLSearchParams;return e.scope&&t.set("scope",e.scope),e.projectId&&t.set("projectId",e.projectId),e.limit&&t.set("limit",String(e.limit)),(0,n.fetchJson)(`/api/v1/copilot/memory/entries?${t.toString()}`)},"listMessages",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`)},"pauseAutomation",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/pause`,{method:"POST"})},"queueFollowup",0,function(e,t,l){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/followups`,{method:"POST",body:JSON.stringify({content:t,...l})})},"renameConversation",0,function(e,t){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({title:t})})},"runAutomationNow",0,function(e){return(0,n.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/run`,{method:"POST"})},"sendMessage",0,function(e,t,l,o){return(0,n.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify({content:t,...l?{modelId:l}:{},...o})})},"setCopilotToolEnabled",0,function(e,t){return(0,n.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:t})})},"updateCopilotPreferences",0,function(e){return(0,n.fetchJson)("/api/v1/copilot/preferences",{method:"PUT",body:JSON.stringify(e)})}])},41081,99831,e=>{"use strict";var n=e.i(66499),t=e.i(79923),l=e.i(85426),o=e.i(78717),a=e.i(6270),r=e.i(44269),i=e.i(9939),s=e.i(62918),u=e.i(81622),c=e.i(26624),d=e.i(46131),p=e.i(35887),m=e.i(25284),h=e.i(47721),g=e.i(92608);let f="/api/v1/copilot",b=e=>`${f}/skills/${encodeURIComponent(e)}`,v=e=>`${f}/connections/${encodeURIComponent(e)}`,x=["copilot","skills"];e.s(["adoptBuiltinSkill",0,(e,n,t)=>(0,h.fetchJson)(`${b(e)}/adopt-builtin`,{method:"POST",body:JSON.stringify({expectedRevisionId:n,version:t})}),"copilotConnectionsKey",0,["copilot","connections"],"copilotSkillsKey",0,x,"createCopilotConnection",0,e=>(0,h.fetchJson)(`${f}/connections`,{method:"POST",body:JSON.stringify(e)}),"deleteCopilotConnection",0,(e,n)=>(0,h.fetchJson)(`${v(e)}?revision=${n}`,{method:"DELETE"}),"discoverCopilotConnection",0,(e,n)=>(0,h.fetchJson)(`${v(e)}/discover`,{method:"POST",body:JSON.stringify({revision:n})}),"getCopilotSkill",0,e=>(0,h.fetchJson)(b(e)),"getSkillRevision",0,(e,n)=>(0,h.fetchJson)(`${b(e)}/revisions/${encodeURIComponent(n)}`),"importCopilotSkill",0,e=>(0,h.fetchJson)(`${f}/skills/imports`,{method:"POST",body:JSON.stringify(e)}),"listCopilotConnections",0,()=>(0,h.fetchJson)(`${f}/connections`),"listCopilotSkills",0,()=>(0,h.fetchJson)(`${f}/skills`),"listSkillRevisions",0,e=>(0,h.fetchJson)(`${b(e)}/revisions`),"rollbackCopilotSkill",0,(e,n,t)=>(0,h.fetchJson)(`${b(e)}/rollback`,{method:"POST",body:JSON.stringify({revisionId:n,expectedRevisionId:t})}),"setCopilotSkillEnabled",0,(e,n,t)=>(0,h.fetchJson)(`${b(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:n,expectedRevisionId:t})}),"updateCopilotConnection",0,(e,n)=>(0,h.fetchJson)(v(e),{method:"PUT",body:JSON.stringify(n)}),"updateCopilotSkill",0,(e,n)=>(0,h.fetchJson)(b(e),{method:"PUT",body:JSON.stringify(n)})],99831);let y=["model-providers"],S=["copilot","capabilities"],k=["copilot","preferences"],C=["off","low","medium","high"],w="__default_model__";function j({title:e,tools:t,pending:l,onToggle:o}){return(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("p",{className:"text-[11px] font-semibold tracking-wide text-muted-foreground/70 uppercase",children:e}),t.map(e=>(0,n.jsx)(P,{tool:e,pending:l,onToggle:n=>o(e.name,n)},e.name))]})}function P({tool:e,pending:t,onToggle:l}){let{t:o}=(0,p.useLanguage)(),a=`copilot.toolDesc.${e.name}`,r=o(a),u=r===a?e.description:r;return(0,n.jsxs)("div",{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card px-3 py-2 transition-opacity ${e.enabled&&e.available?"":"opacity-60"}`,"data-testid":`tool-row-${e.name}`,children:[(0,n.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs font-medium",children:[(0,n.jsx)(i.Wrench,{className:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,n.jsx)("span",{className:"font-mono",children:e.name}),"operate"===e.risk?(0,n.jsx)(s.Badge,{variant:"outline",className:"border-amber-500/50 px-1 py-0 text-[10px] text-amber-500",children:"operate"}):null,e.requiresApproval&&e.available?(0,n.jsx)(s.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:o("copilot.toolAuthorization")}):null]}),(0,n.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:u}),e.available?null:(0,n.jsxs)("p",{className:"text-xs text-amber-500",children:[o("copilot.toolUnavailable"),": ",e.unavailableReason??o("copilot.toolUnavailable")]})]}),(0,n.jsx)(c.Switch,{"aria-label":e.name,size:"sm",className:"mt-0.5 shrink-0",disabled:t||!e.available,checked:e.enabled,onCheckedChange:l})]})}e.s(["CapabilitiesSection",0,function({active:e}){let{t:i}=(0,p.useLanguage)(),s=(0,a.useQueryClient)(),[c,d]=(0,t.useState)(""),h=(0,o.useQuery)({queryKey:S,queryFn:g.getCopilotCapabilities,enabled:e,retry:!1}),f=(0,l.useMutation)({mutationFn:({name:e,enabled:n})=>(0,g.setCopilotToolEnabled)(e,n),onSuccess:()=>{s.invalidateQueries({queryKey:S}),s.invalidateQueries({queryKey:x})},onError:()=>m.toast.error(i("copilot.capabilitiesToggleError"))}),b=(0,t.useRef)(!1);(0,t.useEffect)(()=>{h.isError&&!b.current&&(b.current=!0,m.toast.error(i("copilot.capabilitiesLoadError"))),h.isError||(b.current=!1)},[h.isError,i]);let v=h.data?.tools??[],y=c.trim().toLowerCase(),k=y?v.filter(e=>`${e.name} ${e.description}`.toLowerCase().includes(y)):v,C=k.filter(e=>"operate"===e.risk),w=k.filter(e=>"operate"!==e.risk);return(0,n.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:i("copilot.capabilities")}),h.isPending||h.isError||!(v.length>0)?null:(0,n.jsxs)("div",{className:"relative w-48 max-w-full",children:[(0,n.jsx)(r.Search,{className:"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),(0,n.jsx)(u.Input,{value:c,onChange:e=>d(e.target.value),placeholder:i("copilot.toolsSearch"),className:"h-8 pl-8 text-xs"})]})]}),h.isPending?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:i("common.loading")}):h.isError?null:0===v.length?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:i("copilot.capabilitiesEmpty")}):0===k.length?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:i("copilot.toolsSearchEmpty")}):(0,n.jsxs)("div",{className:"space-y-3",children:[C.length>0?(0,n.jsx)(j,{title:i("copilot.toolGroupOperate"),tools:C,pending:f.isPending,onToggle:(e,n)=>f.mutate({name:e,enabled:n})}):null,w.length>0?(0,n.jsx)(j,{title:i("copilot.toolGroupRead"),tools:w,pending:f.isPending,onToggle:(e,n)=>f.mutate({name:e,enabled:n})}):null]})]})},"CopilotStatusBar",0,function({onModelChange:e,controlsDisabled:r,onSavingChange:i}){let{t:u}=(0,p.useLanguage)(),c=(0,a.useQueryClient)(),f=(0,o.useQuery)({queryKey:y,queryFn:h.listModelProviders}),b=(0,o.useQuery)({queryKey:k,queryFn:g.getCopilotPreferences,retry:!1}),v=(f.data?.models??[]).filter(e=>"disabled"!==e.status),x=b.isSuccess,S=v.find(e=>e.isDefault)??v[0],j=b.data?.modelId??null,P=(j?v.find(e=>e.id===j):void 0)??S,R=P?`${P.providerName} / ${P.name}`:u("copilot.followSystemDefault"),O=S?`${S.providerName} / ${S.name}`:null,E=(0,l.useMutation)({mutationFn:g.updateCopilotPreferences,onSuccess:n=>{c.setQueryData(k,n),e?.(n.modelId),c.invalidateQueries({queryKey:k})},onError:()=>m.toast.error(u("copilot.preferencesFailed"))}),N=(0,t.useRef)(!1);(0,t.useEffect)(()=>{b.isError&&!N.current&&(N.current=!0,m.toast.error(u("copilot.loadError"))),b.isError||(N.current=!1)},[b.isError,u]),(0,t.useEffect)(()=>{x&&e?.(j)},[x,j,e]),(0,t.useEffect)(()=>{i?.(E.isPending)},[E.isPending,i]);let T=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(f.data&&j&&e){if(v.some(e=>e.id===j)){T.current=null;return}T.current!==j&&(T.current=j,e(null),E.mutate({modelId:null}))}},[f.data,j,e]),(0,n.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-x-2 gap-y-1 border-b px-3 py-1.5 text-xs text-muted-foreground","data-testid":"copilot-status-bar",children:[(0,n.jsx)("span",{className:"sr-only shrink-0 sm:not-sr-only",children:u("copilot.currentModel")}),e?(0,n.jsxs)(d.Select,{value:j??w,disabled:!x||E.isPending||r,onValueChange:e=>{E.mutate({modelId:e===w?null:e})},children:[(0,n.jsx)(d.SelectTrigger,{"aria-label":u("copilot.currentModel"),size:"sm",className:"min-w-0 max-w-64 flex-1 text-xs sm:flex-none",children:(0,n.jsx)(d.SelectValue,{})}),(0,n.jsxs)(d.SelectContent,{children:[(0,n.jsxs)(d.SelectItem,{value:w,children:[u("copilot.followSystemDefault"),O?`(${O})`:""]}),v.map(e=>(0,n.jsxs)(d.SelectItem,{value:e.id,children:[e.providerName," / ",e.name]},e.id))]})]}):(0,n.jsx)("span",{className:"truncate",children:R}),(0,n.jsx)("span",{className:"sr-only shrink-0 sm:not-sr-only",children:u("copilot.thinkingEffort")}),(0,n.jsxs)(d.Select,{value:b.data?.thinkingEffort??"off",disabled:!x||E.isPending||r,onValueChange:e=>{E.mutate({thinkingEffort:e})},children:[(0,n.jsx)(d.SelectTrigger,{"aria-label":u("copilot.thinkingEffort"),size:"sm",className:"text-xs",children:(0,n.jsx)(d.SelectValue,{})}),(0,n.jsx)(d.SelectContent,{children:C.map(e=>(0,n.jsx)(d.SelectItem,{value:e,children:u(`copilot.thinking${e.charAt(0).toUpperCase()}${e.slice(1)}`)},e))})]}),(0,n.jsxs)(s.Badge,{variant:"secondary",className:"ml-auto hidden gap-1.5 whitespace-nowrap sm:inline-flex",children:[(0,n.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),u("copilot.nativeRuntime")]})]})},"copilotPreferencesQueryKey",0,k,"modelProvidersQueryKey",0,y],41081)},39840,e=>{"use strict";var n=e.i(29256);e.s(["CheckCircle2",()=>n.default])},73977,e=>{"use strict";let n=(0,e.i(65174).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,n],73977)},16220,e=>{"use strict";e.s(["stringify",0,function(e,n){let t=n||{};return(""===e[e.length-1]?[...e,""]:e).join((t.padRight?" ":"")+","+(!1===t.padLeft?"":" ")).trim()}])},58206,e=>{"use strict";let n=/[ \t\n\f\r]/g;function t(e){return""===e.replace(n,"")}e.s(["whitespace",0,function(e){return"object"==typeof e?"text"===e.type&&t(e.value):t(e)}])},77406,41050,35999,e=>{"use strict";class n{constructor(e,n){this.attribute=n,this.property=e}}n.prototype.attribute="",n.prototype.booleanish=!1,n.prototype.boolean=!1,n.prototype.commaOrSpaceSeparated=!1,n.prototype.commaSeparated=!1,n.prototype.defined=!1,n.prototype.mustUseProperty=!1,n.prototype.number=!1,n.prototype.overloadedBoolean=!1,n.prototype.property="",n.prototype.spaceSeparated=!1,n.prototype.space=void 0,e.s(["Info",0,n],41050);let t=0,l=c(),o=c(),a=c(),r=c(),i=c(),s=c(),u=c();function c(){return 2**++t}e.s(["boolean",0,l,"booleanish",0,o,"commaOrSpaceSeparated",0,u,"commaSeparated",0,s,"number",0,r,"overloadedBoolean",0,a,"spaceSeparated",0,i],35999);var d=e.i(35999);let p=Object.keys(d);class m extends n{constructor(e,n,t,l){let o=-1;if(super(e,n),function(e,n,t){t&&(e[n]=t)}(this,"space",l),"number"==typeof t)for(;++o<p.length;){const e=p[o];!function(e,n,t){t&&(e[n]=t)}(this,p[o],(t&d[e])===d[e])}}}m.prototype.defined=!0,e.s(["DefinedInfo",0,m],77406)},16819,e=>{"use strict";e.s(["normalize",0,function(e){return e.toLowerCase()}])},73138,e=>{"use strict";var n=e.i(77406),t=e.i(41050),l=e.i(16819);let o=/[A-Z]/g,a=/-[a-z]/g,r=/^data[-\w.:]+$/i;function i(e){return"-"+e.toLowerCase()}function s(e){return e.charAt(1).toUpperCase()}e.s(["find",0,function(e,u){let c=(0,l.normalize)(u),d=u,p=t.Info;if(c in e.normal)return e.property[e.normal[c]];if(c.length>4&&"data"===c.slice(0,4)&&r.test(u)){if("-"===u.charAt(4)){let e=u.slice(5).replace(a,s);d="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=u.slice(4);if(!a.test(e)){let n=e.replace(o,i);"-"!==n.charAt(0)&&(n="-"+n),u="data"+n}}p=n.DefinedInfo}return new p(d,u)}])},65108,7418,e=>{"use strict";class n{constructor(e,n,t){this.normal=n,this.property=e,t&&(this.space=t)}}n.prototype.normal={},n.prototype.property={},n.prototype.space=void 0,e.s(["Schema",0,n],7418),e.s(["merge",0,function(e,t){let l={},o={};for(let n of e)Object.assign(l,n.property),Object.assign(o,n.normal);return new n(l,o,t)}],65108)},13800,e=>{"use strict";var n=e.i(65108),t=e.i(16819),l=e.i(77406),o=e.i(7418);function a(e){let n={},a={};for(let[o,r]of Object.entries(e.properties)){let i=new l.DefinedInfo(o,e.transform(e.attributes||{},o),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(o)&&(i.mustUseProperty=!0),n[o]=i,a[(0,t.normalize)(o)]=o,a[(0,t.normalize)(i.attribute)]=o}return new o.Schema(n,a,e.space)}var r=e.i(35999);let i=a({properties:{ariaActiveDescendant:null,ariaAtomic:r.booleanish,ariaAutoComplete:null,ariaBusy:r.booleanish,ariaChecked:r.booleanish,ariaColCount:r.number,ariaColIndex:r.number,ariaColSpan:r.number,ariaControls:r.spaceSeparated,ariaCurrent:null,ariaDescribedBy:r.spaceSeparated,ariaDetails:null,ariaDisabled:r.booleanish,ariaDropEffect:r.spaceSeparated,ariaErrorMessage:null,ariaExpanded:r.booleanish,ariaFlowTo:r.spaceSeparated,ariaGrabbed:r.booleanish,ariaHasPopup:null,ariaHidden:r.booleanish,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:r.spaceSeparated,ariaLevel:r.number,ariaLive:null,ariaModal:r.booleanish,ariaMultiLine:r.booleanish,ariaMultiSelectable:r.booleanish,ariaOrientation:null,ariaOwns:r.spaceSeparated,ariaPlaceholder:null,ariaPosInSet:r.number,ariaPressed:r.booleanish,ariaReadOnly:r.booleanish,ariaRelevant:null,ariaRequired:r.booleanish,ariaRoleDescription:r.spaceSeparated,ariaRowCount:r.number,ariaRowIndex:r.number,ariaRowSpan:r.number,ariaSelected:r.booleanish,ariaSetSize:r.number,ariaSort:null,ariaValueMax:r.number,ariaValueMin:r.number,ariaValueNow:r.number,ariaValueText:null,role:null},transform:(e,n)=>"role"===n?n:"aria-"+n.slice(4).toLowerCase()});function s(e,n){return n in e?e[n]:n}function u(e,n){return s(e,n.toLowerCase())}let c=a({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:r.commaSeparated,acceptCharset:r.spaceSeparated,accessKey:r.spaceSeparated,action:null,allow:null,allowFullScreen:r.boolean,allowPaymentRequest:r.boolean,allowUserMedia:r.boolean,alpha:r.boolean,alt:null,as:null,async:r.boolean,autoCapitalize:null,autoComplete:r.spaceSeparated,autoFocus:r.boolean,autoPlay:r.boolean,blocking:r.spaceSeparated,capture:null,charSet:null,checked:r.boolean,cite:null,className:r.spaceSeparated,closedBy:null,colorSpace:null,cols:r.number,colSpan:r.number,command:null,commandFor:null,content:null,contentEditable:r.booleanish,controls:r.boolean,controlsList:r.spaceSeparated,coords:r.number|r.commaSeparated,crossOrigin:null,data:null,dateTime:null,decoding:null,default:r.boolean,defer:r.boolean,dir:null,dirName:null,disabled:r.boolean,download:r.overloadedBoolean,draggable:r.booleanish,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:r.boolean,formTarget:null,headers:r.spaceSeparated,height:r.number,hidden:r.overloadedBoolean,high:r.number,href:null,hrefLang:null,htmlFor:r.spaceSeparated,httpEquiv:r.spaceSeparated,id:null,imageSizes:null,imageSrcSet:null,inert:r.boolean,inputMode:null,integrity:null,is:null,isMap:r.boolean,itemId:null,itemProp:r.spaceSeparated,itemRef:r.spaceSeparated,itemScope:r.boolean,itemType:r.spaceSeparated,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:r.boolean,low:r.number,manifest:null,max:null,maxLength:r.number,media:null,method:null,min:null,minLength:r.number,multiple:r.boolean,muted:r.boolean,name:null,nonce:null,noModule:r.boolean,noValidate:r.boolean,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:r.boolean,optimum:r.number,pattern:null,ping:r.spaceSeparated,placeholder:null,playsInline:r.boolean,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:r.boolean,referrerPolicy:null,rel:r.spaceSeparated,required:r.boolean,reversed:r.boolean,rows:r.number,rowSpan:r.number,sandbox:r.spaceSeparated,scope:null,scoped:r.boolean,seamless:r.boolean,selected:r.boolean,shadowRootClonable:r.boolean,shadowRootCustomElementRegistry:r.boolean,shadowRootDelegatesFocus:r.boolean,shadowRootMode:null,shadowRootSerializable:r.boolean,shape:null,size:r.number,sizes:null,slot:null,span:r.number,spellCheck:r.booleanish,src:null,srcDoc:null,srcLang:null,srcSet:null,start:r.number,step:null,style:null,tabIndex:r.number,target:null,title:null,translate:null,type:null,typeMustMatch:r.boolean,useMap:null,value:r.booleanish,width:r.number,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:r.spaceSeparated,axis:null,background:null,bgColor:null,border:r.number,borderColor:null,bottomMargin:r.number,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:r.boolean,declare:r.boolean,event:null,face:null,frame:null,frameBorder:null,hSpace:r.number,leftMargin:r.number,link:null,longDesc:null,lowSrc:null,marginHeight:r.number,marginWidth:r.number,noResize:r.boolean,noHref:r.boolean,noShade:r.boolean,noWrap:r.boolean,object:null,profile:null,prompt:null,rev:null,rightMargin:r.number,rules:null,scheme:null,scrolling:r.booleanish,standby:null,summary:null,text:null,topMargin:r.number,valueType:null,version:null,vAlign:null,vLink:null,vSpace:r.number,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:r.boolean,disablePictureInPicture:r.boolean,disableRemotePlayback:r.boolean,exportParts:r.commaSeparated,part:r.spaceSeparated,prefix:null,property:null,results:r.number,security:null,unselectable:null},space:"html",transform:u}),d=a({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:r.commaOrSpaceSeparated,accentHeight:r.number,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:r.number,amplitude:r.number,arabicForm:null,ascent:r.number,attributeName:null,attributeType:null,azimuth:r.number,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:r.number,by:null,calcMode:null,capHeight:r.number,className:r.spaceSeparated,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:r.number,diffuseConstant:r.number,direction:null,display:null,dur:null,divisor:r.number,dominantBaseline:null,download:r.boolean,dx:null,dy:null,edgeMode:null,editable:null,elevation:r.number,enableBackground:null,end:null,event:null,exponent:r.number,externalResourcesRequired:null,fill:null,fillOpacity:r.number,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:r.commaSeparated,g2:r.commaSeparated,glyphName:r.commaSeparated,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:r.number,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:r.number,horizOriginX:r.number,horizOriginY:r.number,id:null,ideographic:r.number,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:r.number,k:r.number,k1:r.number,k2:r.number,k3:r.number,k4:r.number,kernelMatrix:r.commaOrSpaceSeparated,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:r.number,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:r.number,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:r.number,overlineThickness:r.number,paintOrder:null,panose1:null,path:null,pathLength:r.number,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:r.spaceSeparated,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:r.number,pointsAtY:r.number,pointsAtZ:r.number,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:r.commaOrSpaceSeparated,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:r.commaOrSpaceSeparated,rev:r.commaOrSpaceSeparated,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:r.commaOrSpaceSeparated,requiredFeatures:r.commaOrSpaceSeparated,requiredFonts:r.commaOrSpaceSeparated,requiredFormats:r.commaOrSpaceSeparated,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:r.number,specularExponent:r.number,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:r.number,strikethroughThickness:r.number,string:null,stroke:null,strokeDashArray:r.commaOrSpaceSeparated,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:r.number,strokeOpacity:r.number,strokeWidth:null,style:null,surfaceScale:r.number,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:r.commaOrSpaceSeparated,tabIndex:r.number,tableValues:null,target:null,targetX:r.number,targetY:r.number,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:r.commaOrSpaceSeparated,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:r.number,underlineThickness:r.number,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:r.number,values:null,vAlphabetic:r.number,vMathematical:r.number,vectorEffect:null,vHanging:r.number,vIdeographic:r.number,version:null,vertAdvY:r.number,vertOriginX:r.number,vertOriginY:r.number,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:r.number,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:s}),p=a({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,n)=>"xlink:"+n.slice(5).toLowerCase()}),m=a({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:u}),h=a({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,n)=>"xml:"+n.slice(3).toLowerCase()}),g=(0,n.merge)([i,c,p,m,h],"html"),f=(0,n.merge)([i,d,p,m,h],"svg");e.s(["html",0,g,"svg",0,f],13800)},22365,e=>{"use strict";e.s(["stringify",0,function(e){return e.join(" ").trim()}])},70284,e=>{"use strict";e.s(["ccount",0,function(e,n){let t=String(e);if("string"!=typeof n)throw TypeError("Expected character");let l=0,o=t.indexOf(n);for(;-1!==o;)l++,o=t.indexOf(n,o+n.length);return l}])},63853,e=>{"use strict";let n=(0,e.i(65174).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,n],63853)},68229,e=>{"use strict";let n=(0,e.i(65174).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",0,n],68229)},26949,e=>{"use strict";let n=(0,e.i(65174).default)("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);e.s(["Maximize2",0,n],26949)},20495,e=>{"use strict";var n=e.i(66499),t=e.i(79923),l=e.i(29096),o=e.i(68229),a=e.i(28774),r=e.i(26949),i=e.i(63853);let s=(0,e.i(65174).default)("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);var u=e.i(20217),c=e.i(60218),d=e.i(88010),p=e.i(46131),m=e.i(742),h=e.i(19813),g=e.i(95644),f=e.i(64540),b=e.i(41081),v=e.i(98264),x=e.i(35887),y=e.i(25842),S=e.i(64544),k=e.i(60574),C=e.i(75349),w=e.i(47721),j=e.i(92608),P=e.i(65458),R=e.i(25284),O=e.i(89241);let E=O.LAST_COPILOT_CONVERSATION_KEY,N="__no_project__",T={"bottom-right":"md:bottom-32 md:right-4 md:top-auto","bottom-left":"md:bottom-32 md:left-4 md:top-auto","top-right":"md:bottom-auto md:right-4 md:top-32","top-left":"md:bottom-auto md:left-4 md:top-32"};e.s(["ROBOT_CONVERSATION_STORAGE_KEY",0,E,"RobotChatPanel",0,function({onClose:e,onExpandFull:E,corner:I="bottom-right"}){let{t:z}=(0,x.useLanguage)(),M=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e=document.activeElement;return M.current?.focus(),()=>{e instanceof HTMLElement&&e.isConnected&&e.focus()}},[]);let[D,L]=(0,t.useState)(null),[A,U]=(0,t.useState)([]),[J,B]=(0,t.useState)([]),[$,q]=(0,t.useState)(""),[F,H]=(0,t.useState)(null),[K,V]=(0,t.useState)(!1),[_,W]=(0,t.useState)(!1),[X,Q]=(0,t.useState)(!1),[Y,G]=(0,t.useState)(!1),[Z,ee]=(0,t.useState)(null),en=(0,t.useRef)(null),et=(0,t.useRef)(null),el=(0,t.useCallback)(async e=>{if(ev.current!==e)return!1;let n=++eb.current,t=ef.current,l=()=>n===eb.current&&t===ef.current&&ev.current===e;try{let{messages:n}=await (0,j.listMessages)(e);if(!l())return!1;return U(n),ee(null),!0}catch(e){if(l())throw e;return!1}},[]),{active:eo,startRun:ea,startEditedRun:er,clearActive:ei,markPending:es,reconcile:eu,syncError:ec}=(0,y.useCopilotRun)({conversationId:D,onSettled:async e=>{await el(e)}}),ed=(0,t.useCallback)(e=>{U(n=>[...n,{id:`local-${Date.now()}-${Math.random().toString(36).slice(2)}`,conversationId:D??"",userId:"",role:"user",kind:"text",content:e,sequence:n.length+1,createdAt:new Date().toISOString()}])},[D]),ep=(0,t.useCallback)(async(e,n)=>{en.current===e&&(en.current=null,await (0,j.renameConversation)(e,n.slice(0,24)).catch(()=>void 0))},[]),em=(0,t.useCallback)(async e=>{await el(e)},[el]),eh=(0,t.useCallback)(async()=>void 0,[]),eg=(0,S.useCopilotChatController)({conversationId:D,projectId:$,modelId:F,reviewTaskResults:K,repairFailedChecks:_,savingPreferences:X,conversations:[],messages:A,active:eo,startRun:ea,startEditedRun:er,clearActive:ei,markPending:es,reconcile:eu,readMessages:el,refreshConversations:eh,reloadActiveConversation:em,autoTitleIfUntitled:ep,appendUserMessage:ed}),ef=eg.selectionEpochRef,eb=eg.messageSerialRef,ev=eg.conversationIdRef;(0,t.useEffect)(()=>{let e=(0,O.readLastCopilotConversation)();if(!e)return;let n=!1,t=ef.current,l=++eb.current;return G(!0),eg.conversationIdRef.current=e,L(e),(0,j.listMessages)(e).then(({messages:o})=>{n||l!==eb.current||t!==ef.current||eg.conversationIdRef.current!==e||(U(o),ee(null))}).catch(l=>{n||t!==ef.current||eg.conversationIdRef.current!==e||(l instanceof w.GatewayApiError&&404===l.status?(eg.conversationIdRef.current=null,(0,O.writeLastCopilotConversation)(null),L(null),U([]),ei()):ee(z("copilot.loadError")))}).finally(()=>{n||t!==ef.current||G(!1)}),()=>{n=!0}},[]),(0,t.useEffect)(()=>{let e=!1;return(0,w.listProjects)().then(n=>{e||B(n.projects)}).catch(()=>{e||B([])}),()=>{e=!0}},[]);let ex=(0,t.useCallback)(()=>{if(eg.conversationIdRef.current)return Promise.resolve(eg.conversationIdRef.current);if(!et.current){let e=ef.current;et.current=(0,j.createConversation)().then(({conversation:n})=>e!==ef.current?null:((0,l.flushSync)(()=>{eg.conversationIdRef.current=n.id,en.current=n.id,L(n.id),(0,O.writeLastCopilotConversation)(n.id)}),n.id)).catch(()=>(e===ef.current&&ee(z("copilot.loadError")),null)).finally(()=>{et.current=null})}return et.current},[eg,z]),ey=(0,t.useCallback)(async(e,n=!1)=>{if(n)return void await eg.send(void 0,!0);if(et.current)return void R.toast.info(z("copilot.creatingConversation"));let t=(e??eg.input).trim();if(t){if(eP.current){if(!D)return void R.toast.info(z("copilot.creatingConversation"));let e=eg.captureDraft(t);return void(await ej.current(t)&&e())}await ex()&&await eg.send(e,!1)}},[eg,ex,D,z]),eS=(0,t.useCallback)(()=>{eg.advanceSelectionEpoch(),eg.messageSerialRef.current++,eg.conversationIdRef.current=null,en.current=null,ei(),L(null),U([]),ee(null),q(""),eg.resetInteractionState(),eg.setInput(""),(0,O.writeLastCopilotConversation)(null)},[ei,eg]),ek=eo&&("running"===eo.status||"pending"===eo.status),eC=!!(ek||eo?.status==="awaiting_approval"),ew=(0,k.useCopilotFollowups)({conversationId:D,...$?{projectId:$}:{},...F?{modelId:F}:{},reviewTaskResults:K,repairFailedChecks:_,active:eC}),ej=(0,t.useRef)(ew.enqueue);ej.current=ew.enqueue;let eP=(0,t.useRef)(!!ek);eP.current=!!ek;let eR=(0,t.useMemo)(()=>(0,m.indexToolResults)(A),[A]),eO=!Z&&!Y&&0===A.length&&!eo;return(0,n.jsxs)("div",{role:"dialog","aria-label":z("nav.copilot"),"data-testid":"robot-chat-panel",onKeyDown:n=>{"Escape"!==n.key||n.defaultPrevented||(n.preventDefault(),e())},className:(0,P.cn)("fixed inset-x-2 bottom-2 top-14 z-40 flex flex-col overflow-hidden rounded-xl border border-border bg-card shadow-2xl shadow-black/40 md:inset-x-auto md:h-[520px] md:max-h-[calc(100dvh-9rem)] md:w-[380px]",T[I]),children:[(0,n.jsxs)("div",{className:"flex h-11 shrink-0 items-center justify-between gap-2 border-b px-3",children:[(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)("span",{className:(0,P.cn)("size-1.5 shrink-0 rounded-full",ek?"animate-pulse bg-brand":"bg-emerald-500"),"aria-hidden":"true"}),(0,n.jsx)("span",{className:"truncate text-sm font-semibold",children:z("nav.copilot")})]}),(0,n.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,n.jsx)(c.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground hover:text-foreground","aria-label":z("copilot.robotExpand"),title:z("copilot.robotExpand"),onClick:()=>E(D),children:(0,n.jsx)(r.Maximize2,{className:"size-4"})}),(0,n.jsx)(c.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground hover:text-foreground","aria-label":z("copilot.newConversation"),title:z("copilot.newConversation"),onClick:eS,children:(0,n.jsx)(s,{className:"size-4"})}),(0,n.jsx)(c.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground hover:text-foreground","aria-label":z("common.close"),title:z("common.close"),onClick:e,children:(0,n.jsx)(u.XIcon,{className:"size-4"})})]})]}),(0,n.jsx)(b.CopilotStatusBar,{onModelChange:H,onSavingChange:Q,controlsDisabled:eC||eg.sending}),(0,n.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col",children:[(0,n.jsxs)("div",{ref:eg.scrollRef,onScroll:eg.onScroll,"data-testid":"robot-chat-scroll",className:"flex-1 space-y-4 overflow-y-auto px-3 py-3",children:[Z&&(0,n.jsx)("p",{className:"text-sm text-destructive",children:Z}),!Z&&Y&&(0,n.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"size-1.5 animate-pulse rounded-full bg-brand"}),z("common.loading")]}),eO&&(0,n.jsx)(h.CopilotWelcomeState,{compact:!0,onSuggestion:e=>void ey(e)}),A.map(e=>{let t=e.toolCallId&&eR.has(e.toolCallId)?eR.get(e.toolCallId).id:null;return(0,n.jsx)(m.MessageRow,{message:e,pairedResult:null===t?null:eR.get(e.toolCallId)??null,suppressRender:t===e.id,isEditing:eg.editingMessageId===e.id,editDraft:eg.editDraft,editSubmitting:eg.editSubmitting||X,canEdit:!eC&&!X&&!eg.sending&&null===eg.editingMessageId,onBeginEdit:eg.beginEditMessage,onChangeDraft:eg.setEditDraft,onSubmitEdit:()=>void eg.submitEditMessage(),onCancelEdit:eg.cancelEditMessage},e.id)}),(ec||eo?.error)&&(0,n.jsxs)("p",{role:"status",className:"text-sm text-muted-foreground",children:[ec||eo?.error,!ec&&eo?.errorCode?(0,n.jsxs)("span",{className:"text-xs opacity-70",children:[" (",eo.errorCode,")"]}):null]}),eo?.status==="awaiting_approval"&&(eo.pendingAction?(0,n.jsx)(v.CopilotApproval,{action:eo.pendingAction,onDecided:eu},eo.pendingAction.id):(0,n.jsx)("p",{role:"status",className:"text-sm text-muted-foreground",children:z("copilot.awaitingApproval")})),ek&&(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"size-1.5 animate-pulse rounded-full bg-brand"}),z((0,C.copilotPhaseLabel)(eo?.phase))]}),eo?.thinking?(0,n.jsx)(m.ThinkingSection,{text:eo.thinking,live:!0===ek}):null,eo?.text?(0,n.jsx)(m.StreamingMessage,{text:eo.text}):ek?(0,n.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"size-1.5 animate-pulse rounded-full bg-brand"}),z("copilot.running")]}):null,eg.sendFailed&&(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)(c.Button,{variant:"outline",size:"sm",onClick:()=>void ey(void 0,!0),children:z("copilot.retry")})})]}),!eg.pinnedToBottom&&(0,n.jsx)(c.Button,{variant:"outline",size:"icon",className:"absolute bottom-3 right-3 z-10 size-7 rounded-full shadow",onClick:eg.scrollToBottom,"aria-label":z("copilot.scrollDown"),children:(0,n.jsx)(o.ArrowDown,{className:"size-3.5"})})]}),(0,n.jsxs)("div",{className:"relative shrink-0 px-2.5 pb-2.5 pt-1",children:[(0,n.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,n.jsxs)(p.Select,{value:$||N,disabled:eC||eg.sending,onValueChange:e=>q(e===N?"":e),children:[(0,n.jsx)(p.SelectTrigger,{"aria-label":z("copilot.projectContext"),size:"sm",className:"h-7 min-w-0 max-w-40 flex-1 px-2 text-xs",children:(0,n.jsx)(p.SelectValue,{placeholder:z("copilot.noProject")})}),(0,n.jsxs)(p.SelectContent,{children:[(0,n.jsx)(p.SelectItem,{value:N,children:z("copilot.noProject")}),J.map(e=>(0,n.jsx)(p.SelectItem,{value:e.id,children:e.name},e.id))]})]}),(0,n.jsx)(g.CopilotRunOptions,{conversationId:D,modelId:F,disabled:eC||eg.sending,reviewTaskResults:K,onReviewChange:V,repairFailedChecks:_,onRepairChange:W})]}),(0,n.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 bottom-full h-10 bg-gradient-to-t from-card via-card/80 to-transparent"}),D&&(0,n.jsx)(f.CopilotFollowupChips,{items:ew.items,onCancel:e=>void ew.cancel(e)}),(0,n.jsxs)("div",{"data-testid":"robot-chat-composer",className:"flex items-end gap-1.5 rounded-xl border border-border/70 bg-card/90 px-2 py-1.5 shadow-lg shadow-black/20 backdrop-blur-md transition-all duration-200 ease-out hover:-translate-y-0.5 hover:border-border hover:shadow-xl hover:shadow-black/30 focus-within:border-brand/60 focus-within:shadow-xl focus-within:shadow-black/30 focus-within:ring-1 focus-within:ring-brand/30",children:[(0,n.jsx)(d.Textarea,{ref:M,value:eg.input,onChange:e=>eg.setInput(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),ey())},placeholder:ek?z("copilot.followups.placeholder"):z("copilot.placeholder"),"aria-label":z("copilot.placeholder"),className:"min-h-[32px] max-h-32 flex-1 resize-none rounded-none border-0 bg-transparent px-1 py-1 shadow-none focus-visible:ring-0",rows:1}),eC?(0,n.jsx)(c.Button,{variant:"outline",size:"icon",className:"size-7 shrink-0 rounded-full",onClick:()=>void eg.stopRun(),disabled:!eo?.runId,"aria-label":z("copilot.stop"),title:z("copilot.stop"),children:(0,n.jsx)(i.Square,{className:"size-3.5"})}):null,(0,n.jsx)(c.Button,{size:"icon",className:"size-7 shrink-0 rounded-full",onClick:()=>void ey(),disabled:eg.sending||X||ew.enqueuing||!eg.input.trim(),"aria-label":ek?z("copilot.followups.enqueue"):z("copilot.send"),title:ek?z("copilot.followups.enqueue"):z("copilot.send"),children:(0,n.jsx)(a.ArrowUp,{className:"size-4"})})]})]})]})}],20495)},95848,e=>{e.n(e.i(20495))},24612,e=>{e.v(n=>Promise.all(["static/chunks/0qtypt.14w.xv.js","static/chunks/0rn5o811f3gsb.js"].map(n=>e.l(n))).then(()=>n(7222)))}]);