forgebadger 0.1.1 → 0.1.3

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 (1476) hide show
  1. package/README.md +10 -0
  2. package/dist/commands/uninstall.d.ts +24 -0
  3. package/dist/commands/uninstall.js +123 -0
  4. package/dist/commands/uninstall.js.map +1 -0
  5. package/dist/gateway/src/adapters/index.js +24 -1
  6. package/dist/gateway/src/adapters/index.js.map +1 -1
  7. package/dist/gateway/src/config/env.d.ts +19 -5
  8. package/dist/gateway/src/config/env.js +27 -8
  9. package/dist/gateway/src/config/env.js.map +1 -1
  10. package/dist/gateway/src/config-generation/writer.d.ts +2 -0
  11. package/dist/gateway/src/config-generation/writer.js +29 -3
  12. package/dist/gateway/src/config-generation/writer.js.map +1 -1
  13. package/dist/gateway/src/db/migrations/0097_telegram_channel_accounts.sql +7 -0
  14. package/dist/gateway/src/db/migrations/0098_skill_remote_provenance.sql +1 -0
  15. package/dist/gateway/src/db/migrations/0099_runtime_settings.sql +1 -0
  16. package/dist/gateway/src/db/migrations/0100_runtime_confirmation_revocation.sql +27 -0
  17. package/dist/gateway/src/db/migrations/0101_provider_private_networks.sql +7 -0
  18. package/dist/gateway/src/db/migrations/0102_copilot_preferences.sql +4 -0
  19. package/dist/gateway/src/db/migrations/0103_model_thinking_efforts.sql +8 -0
  20. package/dist/gateway/src/db/migrations/0104_copilot_project_autonomy.sql +1 -0
  21. package/dist/gateway/src/db/migrations/0105_remove_copilot_grants.sql +91 -0
  22. package/dist/gateway/src/db/migrations/0106_mcp_cli_dispatch_scope.sql +3 -0
  23. package/dist/gateway/src/db/migrations/0107_cli_skill_revisions.sql +12 -0
  24. package/dist/gateway/src/db/migrations/0108_copilot_run_governance.sql +43 -0
  25. package/dist/gateway/src/db/migrations/0109_copilot_research_jobs.sql +19 -0
  26. package/dist/gateway/src/db/migrations/0110_copilot_tool_artifacts.sql +19 -0
  27. package/dist/gateway/src/db/migrations/0111_copilot_model_metering.sql +13 -0
  28. package/dist/gateway/src/db/migrations/0112_copilot_repair_jobs.sql +27 -0
  29. package/dist/gateway/src/db/migrations/0113_copilot_memory_search_index.sql +19 -0
  30. package/dist/gateway/src/db/migrations/0114_channel_reliability.sql +32 -0
  31. package/dist/gateway/src/db/migrations/0115_feishu_typing_reactions.sql +12 -0
  32. package/dist/gateway/src/db/migrations/0116_channel_control_commands.sql +6 -0
  33. package/dist/gateway/src/db/migrations/0117_channel_session_model.sql +2 -0
  34. package/dist/gateway/src/db/migrations/0118_mcp_project_grants.sql +2 -0
  35. package/dist/gateway/src/db/migrations/0119_feishu_notifications.sql +23 -0
  36. package/dist/gateway/src/db/migrations/0120_feishu_notification_targets.sql +25 -0
  37. package/dist/gateway/src/db/migrations/0121_session_notification_prompts.sql +10 -0
  38. package/dist/gateway/src/db/migrations/0122_mcode_adapter.sql +97 -0
  39. package/dist/gateway/src/db/migrations/0123_mcode_supported_adapters_backfill.sql +16 -0
  40. package/dist/gateway/src/db/migrations/0124_user_adapter_order.sql +4 -0
  41. package/dist/gateway/src/db/migrations/0125_copilot_approval_clock.sql +15 -0
  42. package/dist/gateway/src/db/migrations/0126_development_execution_identity.sql +3 -0
  43. package/dist/gateway/src/db/migrations/0127_cli_observation_summaries.sql +17 -0
  44. package/dist/gateway/src/db/migrations/0128_feishu_builtin_summaries.sql +11 -0
  45. package/dist/gateway/src/db/migrations/meta/_journal.json +224 -0
  46. package/dist/gateway/src/db/migrations/meta/migration-checksums.json +33 -1
  47. package/dist/gateway/src/db/repositories/adapter-order-repository.d.ts +18 -0
  48. package/dist/gateway/src/db/repositories/adapter-order-repository.js +61 -0
  49. package/dist/gateway/src/db/repositories/adapter-order-repository.js.map +1 -0
  50. package/dist/gateway/src/db/repositories/catalog-repository.d.ts +4 -1
  51. package/dist/gateway/src/db/repositories/catalog-repository.js +16 -2
  52. package/dist/gateway/src/db/repositories/catalog-repository.js.map +1 -1
  53. package/dist/gateway/src/db/repositories/channel-command-repository.d.ts +14 -0
  54. package/dist/gateway/src/db/repositories/channel-command-repository.js +34 -0
  55. package/dist/gateway/src/db/repositories/channel-command-repository.js.map +1 -0
  56. package/dist/gateway/src/db/repositories/channel-delivery-repository.d.ts +11 -0
  57. package/dist/gateway/src/db/repositories/channel-delivery-repository.js +25 -5
  58. package/dist/gateway/src/db/repositories/channel-delivery-repository.js.map +1 -1
  59. package/dist/gateway/src/db/repositories/channel-identity-repository.d.ts +29 -5
  60. package/dist/gateway/src/db/repositories/channel-identity-repository.js +46 -8
  61. package/dist/gateway/src/db/repositories/channel-identity-repository.js.map +1 -1
  62. package/dist/gateway/src/db/repositories/channel-message-repository.d.ts +11 -1
  63. package/dist/gateway/src/db/repositories/channel-message-repository.js +21 -6
  64. package/dist/gateway/src/db/repositories/channel-message-repository.js.map +1 -1
  65. package/dist/gateway/src/db/repositories/cli-observation-repository.d.ts +20 -0
  66. package/dist/gateway/src/db/repositories/cli-observation-repository.js +91 -0
  67. package/dist/gateway/src/db/repositories/cli-observation-repository.js.map +1 -0
  68. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.d.ts +11 -0
  69. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js +57 -0
  70. package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js.map +1 -0
  71. package/dist/gateway/src/db/repositories/copilot-model-response-repository.d.ts +20 -0
  72. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js +151 -0
  73. package/dist/gateway/src/db/repositories/copilot-model-response-repository.js.map +1 -0
  74. package/dist/gateway/src/db/repositories/copilot-preferences-repository.d.ts +43 -0
  75. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js +74 -0
  76. package/dist/gateway/src/db/repositories/copilot-preferences-repository.js.map +1 -0
  77. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.d.ts +1 -0
  78. package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.js.map +1 -1
  79. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.d.ts +30 -0
  80. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +103 -0
  81. package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -0
  82. package/dist/gateway/src/db/repositories/development-task-repository.d.ts +5 -1
  83. package/dist/gateway/src/db/repositories/development-task-repository.js +25 -0
  84. package/dist/gateway/src/db/repositories/development-task-repository.js.map +1 -1
  85. package/dist/gateway/src/db/repositories/feishu-channel-repository.js +4 -0
  86. package/dist/gateway/src/db/repositories/feishu-channel-repository.js.map +1 -1
  87. package/dist/gateway/src/db/repositories/feishu-notification-repository.d.ts +54 -0
  88. package/dist/gateway/src/db/repositories/feishu-notification-repository.js +72 -0
  89. package/dist/gateway/src/db/repositories/feishu-notification-repository.js.map +1 -0
  90. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.d.ts +28 -0
  91. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js +51 -0
  92. package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js.map +1 -0
  93. package/dist/gateway/src/db/repositories/feishu-typing-repository.d.ts +26 -0
  94. package/dist/gateway/src/db/repositories/feishu-typing-repository.js +77 -0
  95. package/dist/gateway/src/db/repositories/feishu-typing-repository.js.map +1 -0
  96. package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +14 -1
  97. package/dist/gateway/src/db/repositories/mcp-token-repository.js +19 -4
  98. package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
  99. package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +10 -1
  100. package/dist/gateway/src/db/repositories/model-provider-repository.js +22 -12
  101. package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
  102. package/dist/gateway/src/db/repositories/notification-repository.d.ts +4 -0
  103. package/dist/gateway/src/db/repositories/notification-repository.js +24 -2
  104. package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
  105. package/dist/gateway/src/db/repositories/platform-action-repository.d.ts +30 -4
  106. package/dist/gateway/src/db/repositories/platform-action-repository.js +41 -5
  107. package/dist/gateway/src/db/repositories/platform-action-repository.js.map +1 -1
  108. package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
  109. package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
  110. package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
  111. package/dist/gateway/src/db/repositories/project-repository.d.ts +3 -0
  112. package/dist/gateway/src/db/repositories/project-repository.js +16 -0
  113. package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
  114. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.d.ts +17 -0
  115. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js +47 -0
  116. package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js.map +1 -0
  117. package/dist/gateway/src/db/repositories/session-repository.js +16 -4
  118. package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
  119. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.d.ts +11 -1
  120. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js +14 -1
  121. package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js.map +1 -1
  122. package/dist/gateway/src/db/repositories/session-writer-lease-repository.d.ts +8 -1
  123. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js +13 -3
  124. package/dist/gateway/src/db/repositories/session-writer-lease-repository.js.map +1 -1
  125. package/dist/gateway/src/db/repositories/skill-repository.d.ts +3 -0
  126. package/dist/gateway/src/db/repositories/skill-repository.js +3 -0
  127. package/dist/gateway/src/db/repositories/skill-repository.js.map +1 -1
  128. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.d.ts +22 -0
  129. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +58 -0
  130. package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js.map +1 -0
  131. package/dist/gateway/src/db/repositories/task-report-repository.d.ts +19 -0
  132. package/dist/gateway/src/db/repositories/task-report-repository.js +35 -0
  133. package/dist/gateway/src/db/repositories/task-report-repository.js.map +1 -0
  134. package/dist/gateway/src/db/repositories/telegram-channel-repository.d.ts +36 -0
  135. package/dist/gateway/src/db/repositories/telegram-channel-repository.js +93 -0
  136. package/dist/gateway/src/db/repositories/telegram-channel-repository.js.map +1 -0
  137. package/dist/gateway/src/db/repositories/telegram-cursor-repository.d.ts +11 -0
  138. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js +31 -0
  139. package/dist/gateway/src/db/repositories/telegram-cursor-repository.js.map +1 -0
  140. package/dist/gateway/src/db/repositories/telegram-integration-repository.d.ts +19 -0
  141. package/dist/gateway/src/db/repositories/telegram-integration-repository.js +84 -0
  142. package/dist/gateway/src/db/repositories/telegram-integration-repository.js.map +1 -0
  143. package/dist/gateway/src/db/repositories/template-repository.d.ts +15 -0
  144. package/dist/gateway/src/db/repositories/template-repository.js +22 -0
  145. package/dist/gateway/src/db/repositories/template-repository.js.map +1 -1
  146. package/dist/gateway/src/db/schema.d.ts +11355 -8305
  147. package/dist/gateway/src/db/schema.js +226 -29
  148. package/dist/gateway/src/db/schema.js.map +1 -1
  149. package/dist/gateway/src/lib/adapter-ids.d.ts +15 -0
  150. package/dist/gateway/src/lib/adapter-ids.js +24 -0
  151. package/dist/gateway/src/lib/adapter-ids.js.map +1 -0
  152. package/dist/gateway/src/lib/dependency-check.d.ts +5 -1
  153. package/dist/gateway/src/lib/dependency-check.js +65 -6
  154. package/dist/gateway/src/lib/dependency-check.js.map +1 -1
  155. package/dist/gateway/src/lib/redaction.js +8 -2
  156. package/dist/gateway/src/lib/redaction.js.map +1 -1
  157. package/dist/gateway/src/routes/adapters.d.ts +2 -1
  158. package/dist/gateway/src/routes/adapters.js +122 -2
  159. package/dist/gateway/src/routes/adapters.js.map +1 -1
  160. package/dist/gateway/src/routes/auth.d.ts +5 -1
  161. package/dist/gateway/src/routes/auth.js +10 -5
  162. package/dist/gateway/src/routes/auth.js.map +1 -1
  163. package/dist/gateway/src/routes/catalog.d.ts +2 -1
  164. package/dist/gateway/src/routes/catalog.js +41 -24
  165. package/dist/gateway/src/routes/catalog.js.map +1 -1
  166. package/dist/gateway/src/routes/channel-diagnostics.d.ts +7 -0
  167. package/dist/gateway/src/routes/channel-diagnostics.js +21 -0
  168. package/dist/gateway/src/routes/channel-diagnostics.js.map +1 -0
  169. package/dist/gateway/src/routes/cli-accounts.d.ts +13 -0
  170. package/dist/gateway/src/routes/cli-accounts.js +89 -0
  171. package/dist/gateway/src/routes/cli-accounts.js.map +1 -0
  172. package/dist/gateway/src/routes/cli-config.js +7 -4
  173. package/dist/gateway/src/routes/cli-config.js.map +1 -1
  174. package/dist/gateway/src/routes/copilot-channels.js +1 -1
  175. package/dist/gateway/src/routes/copilot-channels.js.map +1 -1
  176. package/dist/gateway/src/routes/copilot-development.js +18 -0
  177. package/dist/gateway/src/routes/copilot-development.js.map +1 -1
  178. package/dist/gateway/src/routes/copilot-metering.d.ts +4 -0
  179. package/dist/gateway/src/routes/copilot-metering.js +46 -0
  180. package/dist/gateway/src/routes/copilot-metering.js.map +1 -0
  181. package/dist/gateway/src/routes/copilot-skills.js +13 -0
  182. package/dist/gateway/src/routes/copilot-skills.js.map +1 -1
  183. package/dist/gateway/src/routes/copilot.js +97 -25
  184. package/dist/gateway/src/routes/copilot.js.map +1 -1
  185. package/dist/gateway/src/routes/feishu-notifications.d.ts +9 -0
  186. package/dist/gateway/src/routes/feishu-notifications.js +63 -0
  187. package/dist/gateway/src/routes/feishu-notifications.js.map +1 -0
  188. package/dist/gateway/src/routes/index.js +13 -1
  189. package/dist/gateway/src/routes/index.js.map +1 -1
  190. package/dist/gateway/src/routes/integrations-telegram.d.ts +11 -0
  191. package/dist/gateway/src/routes/integrations-telegram.js +117 -0
  192. package/dist/gateway/src/routes/integrations-telegram.js.map +1 -0
  193. package/dist/gateway/src/routes/mcp-tokens.js +36 -5
  194. package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
  195. package/dist/gateway/src/routes/mcp.d.ts +2 -1
  196. package/dist/gateway/src/routes/mcp.js +4 -2
  197. package/dist/gateway/src/routes/mcp.js.map +1 -1
  198. package/dist/gateway/src/routes/model-providers.js +47 -7
  199. package/dist/gateway/src/routes/model-providers.js.map +1 -1
  200. package/dist/gateway/src/routes/notifications.d.ts +1 -1
  201. package/dist/gateway/src/routes/notifications.js +3 -1
  202. package/dist/gateway/src/routes/notifications.js.map +1 -1
  203. package/dist/gateway/src/routes/platform-actions.js +2 -28
  204. package/dist/gateway/src/routes/platform-actions.js.map +1 -1
  205. package/dist/gateway/src/routes/project-management.js +22 -9
  206. package/dist/gateway/src/routes/project-management.js.map +1 -1
  207. package/dist/gateway/src/routes/project-manager.js +2 -1
  208. package/dist/gateway/src/routes/project-manager.js.map +1 -1
  209. package/dist/gateway/src/routes/projects.js +3 -2
  210. package/dist/gateway/src/routes/projects.js.map +1 -1
  211. package/dist/gateway/src/routes/runtime-settings.d.ts +4 -0
  212. package/dist/gateway/src/routes/runtime-settings.js +51 -0
  213. package/dist/gateway/src/routes/runtime-settings.js.map +1 -0
  214. package/dist/gateway/src/routes/session-hooks.d.ts +2 -1
  215. package/dist/gateway/src/routes/session-hooks.js +81 -15
  216. package/dist/gateway/src/routes/session-hooks.js.map +1 -1
  217. package/dist/gateway/src/routes/sessions.js +129 -36
  218. package/dist/gateway/src/routes/sessions.js.map +1 -1
  219. package/dist/gateway/src/routes/skill-registry.d.ts +4 -0
  220. package/dist/gateway/src/routes/skill-registry.js +77 -0
  221. package/dist/gateway/src/routes/skill-registry.js.map +1 -0
  222. package/dist/gateway/src/routes/skills.d.ts +2 -1
  223. package/dist/gateway/src/routes/skills.js +112 -49
  224. package/dist/gateway/src/routes/skills.js.map +1 -1
  225. package/dist/gateway/src/routes/templates.js +3 -2
  226. package/dist/gateway/src/routes/templates.js.map +1 -1
  227. package/dist/gateway/src/runtime/start-gateway.js +25 -1
  228. package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
  229. package/dist/gateway/src/server.d.ts +18 -2
  230. package/dist/gateway/src/server.js +47 -8
  231. package/dist/gateway/src/server.js.map +1 -1
  232. package/dist/gateway/src/services/adapter-discovery.d.ts +2 -1
  233. package/dist/gateway/src/services/adapter-discovery.js +16 -2
  234. package/dist/gateway/src/services/adapter-discovery.js.map +1 -1
  235. package/dist/gateway/src/services/adapter-updates.d.ts +44 -0
  236. package/dist/gateway/src/services/adapter-updates.js +344 -0
  237. package/dist/gateway/src/services/adapter-updates.js.map +1 -0
  238. package/dist/gateway/src/services/agent/agent-stack.js +2 -0
  239. package/dist/gateway/src/services/agent/agent-stack.js.map +1 -1
  240. package/dist/gateway/src/services/agent/approval-clock.d.ts +9 -0
  241. package/dist/gateway/src/services/agent/approval-clock.js +36 -0
  242. package/dist/gateway/src/services/agent/approval-clock.js.map +1 -0
  243. package/dist/gateway/src/services/agent/catalog-search.d.ts +4 -0
  244. package/dist/gateway/src/services/agent/catalog-search.js +29 -0
  245. package/dist/gateway/src/services/agent/catalog-search.js.map +1 -0
  246. package/dist/gateway/src/services/agent/context-recovery.d.ts +15 -0
  247. package/dist/gateway/src/services/agent/context-recovery.js +34 -0
  248. package/dist/gateway/src/services/agent/context-recovery.js.map +1 -0
  249. package/dist/gateway/src/services/agent/context.d.ts +9 -3
  250. package/dist/gateway/src/services/agent/context.js +129 -42
  251. package/dist/gateway/src/services/agent/context.js.map +1 -1
  252. package/dist/gateway/src/services/agent/conversation-log.js +16 -3
  253. package/dist/gateway/src/services/agent/conversation-log.js.map +1 -1
  254. package/dist/gateway/src/services/agent/development-repair.d.ts +15 -0
  255. package/dist/gateway/src/services/agent/development-repair.js +115 -0
  256. package/dist/gateway/src/services/agent/development-repair.js.map +1 -0
  257. package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +3 -16
  258. package/dist/gateway/src/services/agent/dispatch-supervisor.js +31 -51
  259. package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -1
  260. package/dist/gateway/src/services/agent/followups.d.ts +22 -0
  261. package/dist/gateway/src/services/agent/followups.js +80 -0
  262. package/dist/gateway/src/services/agent/followups.js.map +1 -0
  263. package/dist/gateway/src/services/agent/llm-anthropic.js +17 -8
  264. package/dist/gateway/src/services/agent/llm-anthropic.js.map +1 -1
  265. package/dist/gateway/src/services/agent/llm-client.d.ts +25 -0
  266. package/dist/gateway/src/services/agent/llm-client.js +195 -63
  267. package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
  268. package/dist/gateway/src/services/agent/llm-connection-error.d.ts +22 -0
  269. package/dist/gateway/src/services/agent/llm-connection-error.js +64 -0
  270. package/dist/gateway/src/services/agent/llm-connection-error.js.map +1 -0
  271. package/dist/gateway/src/services/agent/llm-openai.d.ts +4 -0
  272. package/dist/gateway/src/services/agent/llm-openai.js +69 -9
  273. package/dist/gateway/src/services/agent/llm-openai.js.map +1 -1
  274. package/dist/gateway/src/services/agent/llm-public-fetch.d.ts +10 -1
  275. package/dist/gateway/src/services/agent/llm-public-fetch.js +182 -51
  276. package/dist/gateway/src/services/agent/llm-public-fetch.js.map +1 -1
  277. package/dist/gateway/src/services/agent/llm-replay.d.ts +30 -0
  278. package/dist/gateway/src/services/agent/llm-replay.js +21 -0
  279. package/dist/gateway/src/services/agent/llm-replay.js.map +1 -0
  280. package/dist/gateway/src/services/agent/llm-response.d.ts +6 -0
  281. package/dist/gateway/src/services/agent/llm-response.js +40 -3
  282. package/dist/gateway/src/services/agent/llm-response.js.map +1 -1
  283. package/dist/gateway/src/services/agent/memory-search-index.d.ts +30 -0
  284. package/dist/gateway/src/services/agent/memory-search-index.js +63 -0
  285. package/dist/gateway/src/services/agent/memory-search-index.js.map +1 -0
  286. package/dist/gateway/src/services/agent/memory.d.ts +1 -0
  287. package/dist/gateway/src/services/agent/memory.js +43 -57
  288. package/dist/gateway/src/services/agent/memory.js.map +1 -1
  289. package/dist/gateway/src/services/agent/model-metering.d.ts +32 -0
  290. package/dist/gateway/src/services/agent/model-metering.js +62 -0
  291. package/dist/gateway/src/services/agent/model-metering.js.map +1 -0
  292. package/dist/gateway/src/services/agent/model-transport.d.ts +2 -0
  293. package/dist/gateway/src/services/agent/model-transport.js +22 -0
  294. package/dist/gateway/src/services/agent/model-transport.js.map +1 -0
  295. package/dist/gateway/src/services/agent/no-progress.d.ts +4 -0
  296. package/dist/gateway/src/services/agent/no-progress.js +57 -0
  297. package/dist/gateway/src/services/agent/no-progress.js.map +1 -0
  298. package/dist/gateway/src/services/agent/notification-context.d.ts +5 -0
  299. package/dist/gateway/src/services/agent/notification-context.js +72 -0
  300. package/dist/gateway/src/services/agent/notification-context.js.map +1 -0
  301. package/dist/gateway/src/services/agent/orchestrator-types.d.ts +12 -3
  302. package/dist/gateway/src/services/agent/orchestrator.d.ts +9 -0
  303. package/dist/gateway/src/services/agent/orchestrator.js +305 -64
  304. package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
  305. package/dist/gateway/src/services/agent/platform-access.d.ts +5 -1
  306. package/dist/gateway/src/services/agent/platform-access.js +7 -4
  307. package/dist/gateway/src/services/agent/platform-access.js.map +1 -1
  308. package/dist/gateway/src/services/agent/provider-error.d.ts +17 -0
  309. package/dist/gateway/src/services/agent/provider-error.js +66 -0
  310. package/dist/gateway/src/services/agent/provider-error.js.map +1 -0
  311. package/dist/gateway/src/services/agent/provisional-text.d.ts +13 -0
  312. package/dist/gateway/src/services/agent/provisional-text.js +46 -0
  313. package/dist/gateway/src/services/agent/provisional-text.js.map +1 -0
  314. package/dist/gateway/src/services/agent/public-text-stream.d.ts +12 -0
  315. package/dist/gateway/src/services/agent/public-text-stream.js +36 -0
  316. package/dist/gateway/src/services/agent/public-text-stream.js.map +1 -0
  317. package/dist/gateway/src/services/agent/reactive-loop.js +44 -5
  318. package/dist/gateway/src/services/agent/reactive-loop.js.map +1 -1
  319. package/dist/gateway/src/services/agent/read-batch.d.ts +3 -0
  320. package/dist/gateway/src/services/agent/read-batch.js +19 -0
  321. package/dist/gateway/src/services/agent/read-batch.js.map +1 -0
  322. package/dist/gateway/src/services/agent/recall-query.d.ts +6 -0
  323. package/dist/gateway/src/services/agent/recall-query.js +29 -0
  324. package/dist/gateway/src/services/agent/recall-query.js.map +1 -0
  325. package/dist/gateway/src/services/agent/redaction.d.ts +10 -0
  326. package/dist/gateway/src/services/agent/redaction.js +75 -6
  327. package/dist/gateway/src/services/agent/redaction.js.map +1 -1
  328. package/dist/gateway/src/services/agent/restricted-runs.d.ts +5 -0
  329. package/dist/gateway/src/services/agent/restricted-runs.js +22 -0
  330. package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -0
  331. package/dist/gateway/src/services/agent/run-governance.d.ts +44 -0
  332. package/dist/gateway/src/services/agent/run-governance.js +92 -0
  333. package/dist/gateway/src/services/agent/run-governance.js.map +1 -0
  334. package/dist/gateway/src/services/agent/run-ledger.d.ts +21 -4
  335. package/dist/gateway/src/services/agent/run-ledger.js +113 -46
  336. package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
  337. package/dist/gateway/src/services/agent/runtime.js +53 -7
  338. package/dist/gateway/src/services/agent/runtime.js.map +1 -1
  339. package/dist/gateway/src/services/agent/security-policy.js +25 -1
  340. package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
  341. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.d.ts +2 -0
  342. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +41 -0
  343. package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -0
  344. package/dist/gateway/src/services/agent/skills/copilot-skill-service.d.ts +7 -1
  345. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js +37 -20
  346. package/dist/gateway/src/services/agent/skills/copilot-skill-service.js.map +1 -1
  347. package/dist/gateway/src/services/agent/skills/copilot-skills.js +17 -17
  348. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  349. package/dist/gateway/src/services/agent/task-reports.d.ts +3 -0
  350. package/dist/gateway/src/services/agent/task-reports.js +78 -0
  351. package/dist/gateway/src/services/agent/task-reports.js.map +1 -0
  352. package/dist/gateway/src/services/agent/task-review.d.ts +12 -0
  353. package/dist/gateway/src/services/agent/task-review.js +67 -0
  354. package/dist/gateway/src/services/agent/task-review.js.map +1 -0
  355. package/dist/gateway/src/services/agent/tool-artifact-policy.d.ts +7 -0
  356. package/dist/gateway/src/services/agent/tool-artifact-policy.js +9 -0
  357. package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -0
  358. package/dist/gateway/src/services/agent/tool-availability.d.ts +0 -1
  359. package/dist/gateway/src/services/agent/tool-availability.js +3 -6
  360. package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
  361. package/dist/gateway/src/services/agent/tool-discovery.d.ts +1 -1
  362. package/dist/gateway/src/services/agent/tool-discovery.js +5 -10
  363. package/dist/gateway/src/services/agent/tool-discovery.js.map +1 -1
  364. package/dist/gateway/src/services/agent/tool-registry.d.ts +1 -0
  365. package/dist/gateway/src/services/agent/tool-registry.js +26 -10
  366. package/dist/gateway/src/services/agent/tool-registry.js.map +1 -1
  367. package/dist/gateway/src/services/agent/tools/development.js +2 -2
  368. package/dist/gateway/src/services/agent/tools/development.js.map +1 -1
  369. package/dist/gateway/src/services/agent/tools/discovery.js +1 -1
  370. package/dist/gateway/src/services/agent/tools/discovery.js.map +1 -1
  371. package/dist/gateway/src/services/agent/tools/index.js +8 -0
  372. package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
  373. package/dist/gateway/src/services/agent/tools/memory.js +3 -3
  374. package/dist/gateway/src/services/agent/tools/memory.js.map +1 -1
  375. package/dist/gateway/src/services/agent/tools/platform-management.js +3 -4
  376. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  377. package/dist/gateway/src/services/agent/tools/project-diff.d.ts +2 -0
  378. package/dist/gateway/src/services/agent/tools/project-diff.js +17 -0
  379. package/dist/gateway/src/services/agent/tools/project-diff.js.map +1 -0
  380. package/dist/gateway/src/services/agent/tools/project-manager.js +40 -1
  381. package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
  382. package/dist/gateway/src/services/agent/tools/projects.d.ts +2 -0
  383. package/dist/gateway/src/services/agent/tools/projects.js +44 -3
  384. package/dist/gateway/src/services/agent/tools/projects.js.map +1 -1
  385. package/dist/gateway/src/services/agent/tools/research.d.ts +2 -0
  386. package/dist/gateway/src/services/agent/tools/research.js +15 -0
  387. package/dist/gateway/src/services/agent/tools/research.js.map +1 -0
  388. package/dist/gateway/src/services/agent/tools/sessions.js +38 -10
  389. package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
  390. package/dist/gateway/src/services/agent/tools/skills.js +2 -2
  391. package/dist/gateway/src/services/agent/tools/skills.js.map +1 -1
  392. package/dist/gateway/src/services/agent/tools/source-search.d.ts +2 -0
  393. package/dist/gateway/src/services/agent/tools/source-search.js +44 -0
  394. package/dist/gateway/src/services/agent/tools/source-search.js.map +1 -0
  395. package/dist/gateway/src/services/agent/tools/terminal.d.ts +2 -0
  396. package/dist/gateway/src/services/agent/tools/terminal.js +83 -0
  397. package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -0
  398. package/dist/gateway/src/services/agent/tools/tool-results.js +24 -11
  399. package/dist/gateway/src/services/agent/tools/tool-results.js.map +1 -1
  400. package/dist/gateway/src/services/agent/types.d.ts +5 -0
  401. package/dist/gateway/src/services/agent/types.js.map +1 -1
  402. package/dist/gateway/src/services/automation/delivery.js +2 -2
  403. package/dist/gateway/src/services/automation/delivery.js.map +1 -1
  404. package/dist/gateway/src/services/builtin-skills.d.ts +1 -1
  405. package/dist/gateway/src/services/builtin-skills.js +1 -7
  406. package/dist/gateway/src/services/builtin-skills.js.map +1 -1
  407. package/dist/gateway/src/services/catalog-sync.js +1 -1
  408. package/dist/gateway/src/services/catalog-sync.js.map +1 -1
  409. package/dist/gateway/src/services/channels/channel-commands.d.ts +19 -0
  410. package/dist/gateway/src/services/channels/channel-commands.js +106 -0
  411. package/dist/gateway/src/services/channels/channel-commands.js.map +1 -0
  412. package/dist/gateway/src/services/channels/channel-diagnostics.d.ts +17 -0
  413. package/dist/gateway/src/services/channels/channel-diagnostics.js +204 -0
  414. package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -0
  415. package/dist/gateway/src/services/channels/channel-identity-service.d.ts +81 -21
  416. package/dist/gateway/src/services/channels/channel-identity-service.js +84 -32
  417. package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
  418. package/dist/gateway/src/services/channels/channel-model-command.d.ts +13 -0
  419. package/dist/gateway/src/services/channels/channel-model-command.js +108 -0
  420. package/dist/gateway/src/services/channels/channel-model-command.js.map +1 -0
  421. package/dist/gateway/src/services/channels/channel-run-authority.d.ts +3 -0
  422. package/dist/gateway/src/services/channels/channel-run-authority.js +26 -7
  423. package/dist/gateway/src/services/channels/channel-run-authority.js.map +1 -1
  424. package/dist/gateway/src/services/channels/channel-run-scope.d.ts +64 -0
  425. package/dist/gateway/src/services/channels/channel-run-scope.js +208 -0
  426. package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -0
  427. package/dist/gateway/src/services/channels/feishu-approval.d.ts +28 -0
  428. package/dist/gateway/src/services/channels/feishu-approval.js +152 -0
  429. package/dist/gateway/src/services/channels/feishu-approval.js.map +1 -0
  430. package/dist/gateway/src/services/channels/feishu-typing-worker.d.ts +16 -0
  431. package/dist/gateway/src/services/channels/feishu-typing-worker.js +100 -0
  432. package/dist/gateway/src/services/channels/feishu-typing-worker.js.map +1 -0
  433. package/dist/gateway/src/services/channels/native-channel-delivery.d.ts +6 -1
  434. package/dist/gateway/src/services/channels/native-channel-delivery.js +58 -7
  435. package/dist/gateway/src/services/channels/native-channel-delivery.js.map +1 -1
  436. package/dist/gateway/src/services/channels/native-channel-inbox.d.ts +35 -0
  437. package/dist/gateway/src/services/channels/native-channel-inbox.js +123 -15
  438. package/dist/gateway/src/services/channels/native-channel-inbox.js.map +1 -1
  439. package/dist/gateway/src/services/channels/native-feishu-runtime.d.ts +5 -1
  440. package/dist/gateway/src/services/channels/native-feishu-runtime.js +73 -20
  441. package/dist/gateway/src/services/channels/native-feishu-runtime.js.map +1 -1
  442. package/dist/gateway/src/services/channels/native-telegram-runtime.d.ts +34 -0
  443. package/dist/gateway/src/services/channels/native-telegram-runtime.js +139 -0
  444. package/dist/gateway/src/services/channels/native-telegram-runtime.js.map +1 -0
  445. package/dist/gateway/src/services/claude-notification-settings.d.ts +2 -0
  446. package/dist/gateway/src/services/claude-notification-settings.js +8 -0
  447. package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
  448. package/dist/gateway/src/services/claude-route/forwarder.js +4 -2
  449. package/dist/gateway/src/services/claude-route/forwarder.js.map +1 -1
  450. package/dist/gateway/src/services/cli-account/claude-account.d.ts +14 -0
  451. package/dist/gateway/src/services/cli-account/claude-account.js +197 -0
  452. package/dist/gateway/src/services/cli-account/claude-account.js.map +1 -0
  453. package/dist/gateway/src/services/cli-account/codex-account.d.ts +11 -0
  454. package/dist/gateway/src/services/cli-account/codex-account.js +140 -0
  455. package/dist/gateway/src/services/cli-account/codex-account.js.map +1 -0
  456. package/dist/gateway/src/services/cli-account/index.d.ts +9 -0
  457. package/dist/gateway/src/services/cli-account/index.js +27 -0
  458. package/dist/gateway/src/services/cli-account/index.js.map +1 -0
  459. package/dist/gateway/src/services/cli-account/kimi-account.d.ts +12 -0
  460. package/dist/gateway/src/services/cli-account/kimi-account.js +217 -0
  461. package/dist/gateway/src/services/cli-account/kimi-account.js.map +1 -0
  462. package/dist/gateway/src/services/cli-account/mcode-account.d.ts +47 -0
  463. package/dist/gateway/src/services/cli-account/mcode-account.js +249 -0
  464. package/dist/gateway/src/services/cli-account/mcode-account.js.map +1 -0
  465. package/dist/gateway/src/services/cli-account/probe-runner.d.ts +81 -0
  466. package/dist/gateway/src/services/cli-account/probe-runner.js +181 -0
  467. package/dist/gateway/src/services/cli-account/probe-runner.js.map +1 -0
  468. package/dist/gateway/src/services/cli-account/types.d.ts +49 -0
  469. package/dist/gateway/src/services/cli-account/types.js +2 -0
  470. package/dist/gateway/src/services/cli-account/types.js.map +1 -0
  471. package/dist/gateway/src/services/cli-config-apply.d.ts +10 -2
  472. package/dist/gateway/src/services/cli-config-apply.js +184 -15
  473. package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
  474. package/dist/gateway/src/services/cli-config-fields.js +30 -1
  475. package/dist/gateway/src/services/cli-config-fields.js.map +1 -1
  476. package/dist/gateway/src/services/cli-config-target.js +20 -1
  477. package/dist/gateway/src/services/cli-config-target.js.map +1 -1
  478. package/dist/gateway/src/services/cli-config-yaml.d.ts +37 -0
  479. package/dist/gateway/src/services/cli-config-yaml.js +77 -0
  480. package/dist/gateway/src/services/cli-config-yaml.js.map +1 -0
  481. package/dist/gateway/src/services/cli-config.js +124 -2
  482. package/dist/gateway/src/services/cli-config.js.map +1 -1
  483. package/dist/gateway/src/services/cli-notification-policy.d.ts +2 -0
  484. package/dist/gateway/src/services/cli-notification-policy.js +19 -0
  485. package/dist/gateway/src/services/cli-notification-policy.js.map +1 -0
  486. package/dist/gateway/src/services/cli-notification-settings.js +98 -14
  487. package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
  488. package/dist/gateway/src/services/codex-config-probe.d.ts +18 -0
  489. package/dist/gateway/src/services/codex-config-probe.js +149 -0
  490. package/dist/gateway/src/services/codex-config-probe.js.map +1 -0
  491. package/dist/gateway/src/services/collaboration/github-pull-requests.d.ts +4 -4
  492. package/dist/gateway/src/services/dashboard-summary.d.ts +6 -0
  493. package/dist/gateway/src/services/dashboard-summary.js +7 -2
  494. package/dist/gateway/src/services/dashboard-summary.js.map +1 -1
  495. package/dist/gateway/src/services/development/authority.d.ts +4 -0
  496. package/dist/gateway/src/services/development/authority.js +56 -6
  497. package/dist/gateway/src/services/development/authority.js.map +1 -1
  498. package/dist/gateway/src/services/development/commands.d.ts +2 -0
  499. package/dist/gateway/src/services/development/commands.js +27 -5
  500. package/dist/gateway/src/services/development/commands.js.map +1 -1
  501. package/dist/gateway/src/services/development/contracts.d.ts +10 -0
  502. package/dist/gateway/src/services/development/contracts.js +1 -1
  503. package/dist/gateway/src/services/development/contracts.js.map +1 -1
  504. package/dist/gateway/src/services/development/execution-identity.d.ts +78 -0
  505. package/dist/gateway/src/services/development/execution-identity.js +33 -0
  506. package/dist/gateway/src/services/development/execution-identity.js.map +1 -0
  507. package/dist/gateway/src/services/development/project-diff.d.ts +26 -0
  508. package/dist/gateway/src/services/development/project-diff.js +194 -0
  509. package/dist/gateway/src/services/development/project-diff.js.map +1 -0
  510. package/dist/gateway/src/services/development/project-git-status.d.ts +33 -0
  511. package/dist/gateway/src/services/development/project-git-status.js +232 -0
  512. package/dist/gateway/src/services/development/project-git-status.js.map +1 -0
  513. package/dist/gateway/src/services/development/reconciliation.d.ts +11 -0
  514. package/dist/gateway/src/services/development/reconciliation.js +93 -0
  515. package/dist/gateway/src/services/development/reconciliation.js.map +1 -0
  516. package/dist/gateway/src/services/development/repair-scope.d.ts +43 -0
  517. package/dist/gateway/src/services/development/repair-scope.js +81 -0
  518. package/dist/gateway/src/services/development/repair-scope.js.map +1 -0
  519. package/dist/gateway/src/services/development/runtime.js +16 -18
  520. package/dist/gateway/src/services/development/runtime.js.map +1 -1
  521. package/dist/gateway/src/services/development/sandbox-supervisor.js +39 -14
  522. package/dist/gateway/src/services/development/sandbox-supervisor.js.map +1 -1
  523. package/dist/gateway/src/services/development/sandbox.d.ts +6 -0
  524. package/dist/gateway/src/services/development/sandbox.js +43 -6
  525. package/dist/gateway/src/services/development/sandbox.js.map +1 -1
  526. package/dist/gateway/src/services/development/state-directory.d.ts +5 -0
  527. package/dist/gateway/src/services/development/state-directory.js +23 -0
  528. package/dist/gateway/src/services/development/state-directory.js.map +1 -0
  529. package/dist/gateway/src/services/development/workspace.d.ts +4 -2
  530. package/dist/gateway/src/services/development/workspace.js +9 -8
  531. package/dist/gateway/src/services/development/workspace.js.map +1 -1
  532. package/dist/gateway/src/services/event-bus.d.ts +46 -1
  533. package/dist/gateway/src/services/event-bus.js +38 -0
  534. package/dist/gateway/src/services/event-bus.js.map +1 -1
  535. package/dist/gateway/src/services/extensions/connection-tools.js +1 -1
  536. package/dist/gateway/src/services/extensions/connection-tools.js.map +1 -1
  537. package/dist/gateway/src/services/extensions/public-fetch.d.ts +1 -0
  538. package/dist/gateway/src/services/extensions/public-fetch.js +1 -1
  539. package/dist/gateway/src/services/extensions/public-fetch.js.map +1 -1
  540. package/dist/gateway/src/services/github-skill-source.d.ts +102 -0
  541. package/dist/gateway/src/services/github-skill-source.js +519 -0
  542. package/dist/gateway/src/services/github-skill-source.js.map +1 -0
  543. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js +1 -1
  544. package/dist/gateway/src/services/integrations/feishu-event-normalizer.js.map +1 -1
  545. package/dist/gateway/src/services/integrations/feishu-markdown.d.ts +9 -0
  546. package/dist/gateway/src/services/integrations/feishu-markdown.js +169 -0
  547. package/dist/gateway/src/services/integrations/feishu-markdown.js.map +1 -0
  548. package/dist/gateway/src/services/integrations/feishu-native-sender.d.ts +1 -1
  549. package/dist/gateway/src/services/integrations/feishu-native-sender.js +53 -8
  550. package/dist/gateway/src/services/integrations/feishu-native-sender.js.map +1 -1
  551. package/dist/gateway/src/services/integrations/feishu-reactions.d.ts +35 -0
  552. package/dist/gateway/src/services/integrations/feishu-reactions.js +100 -0
  553. package/dist/gateway/src/services/integrations/feishu-reactions.js.map +1 -0
  554. package/dist/gateway/src/services/integrations/telegram-bot-api.d.ts +33 -0
  555. package/dist/gateway/src/services/integrations/telegram-bot-api.js +103 -0
  556. package/dist/gateway/src/services/integrations/telegram-bot-api.js.map +1 -0
  557. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.d.ts +66 -0
  558. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js +250 -0
  559. package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js.map +1 -0
  560. package/dist/gateway/src/services/integrations/telegram-error-redaction.d.ts +1 -0
  561. package/dist/gateway/src/services/integrations/telegram-error-redaction.js +19 -0
  562. package/dist/gateway/src/services/integrations/telegram-error-redaction.js.map +1 -0
  563. package/dist/gateway/src/services/integrations/telegram-event-normalizer.d.ts +7 -0
  564. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js +84 -0
  565. package/dist/gateway/src/services/integrations/telegram-event-normalizer.js.map +1 -0
  566. package/dist/gateway/src/services/integrations/telegram-native-sender.d.ts +8 -0
  567. package/dist/gateway/src/services/integrations/telegram-native-sender.js +55 -0
  568. package/dist/gateway/src/services/integrations/telegram-native-sender.js.map +1 -0
  569. package/dist/gateway/src/services/integrations/telegram-polling-client.d.ts +35 -0
  570. package/dist/gateway/src/services/integrations/telegram-polling-client.js +112 -0
  571. package/dist/gateway/src/services/integrations/telegram-polling-client.js.map +1 -0
  572. package/dist/gateway/src/services/local-skills.d.ts +1 -0
  573. package/dist/gateway/src/services/local-skills.js +5 -2
  574. package/dist/gateway/src/services/local-skills.js.map +1 -1
  575. package/dist/gateway/src/services/mcode-notification-preference.d.ts +49 -0
  576. package/dist/gateway/src/services/mcode-notification-preference.js +91 -0
  577. package/dist/gateway/src/services/mcode-notification-preference.js.map +1 -0
  578. package/dist/gateway/src/services/mcp/mcp-server.d.ts +2 -1
  579. package/dist/gateway/src/services/mcp/mcp-server.js +197 -22
  580. package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
  581. package/dist/gateway/src/services/mcp/project-workflow.d.ts +25 -0
  582. package/dist/gateway/src/services/mcp/project-workflow.js +81 -0
  583. package/dist/gateway/src/services/mcp/project-workflow.js.map +1 -0
  584. package/dist/gateway/src/services/mcp/token-authority.d.ts +6 -0
  585. package/dist/gateway/src/services/mcp/token-authority.js +143 -0
  586. package/dist/gateway/src/services/mcp/token-authority.js.map +1 -0
  587. package/dist/gateway/src/services/model-capability-projection.d.ts +22 -0
  588. package/dist/gateway/src/services/model-capability-projection.js +46 -0
  589. package/dist/gateway/src/services/model-capability-projection.js.map +1 -0
  590. package/dist/gateway/src/services/model-endpoint-health.d.ts +1 -0
  591. package/dist/gateway/src/services/model-endpoint-health.js +2 -1
  592. package/dist/gateway/src/services/model-endpoint-health.js.map +1 -1
  593. package/dist/gateway/src/services/native-directory-picker.js +42 -12
  594. package/dist/gateway/src/services/native-directory-picker.js.map +1 -1
  595. package/dist/gateway/src/services/network-policy.d.ts +12 -4
  596. package/dist/gateway/src/services/network-policy.js +40 -9
  597. package/dist/gateway/src/services/network-policy.js.map +1 -1
  598. package/dist/gateway/src/services/notification-dedupe.d.ts +41 -0
  599. package/dist/gateway/src/services/notification-dedupe.js +86 -0
  600. package/dist/gateway/src/services/notification-dedupe.js.map +1 -0
  601. package/dist/gateway/src/services/notification-events.js +50 -32
  602. package/dist/gateway/src/services/notification-events.js.map +1 -1
  603. package/dist/gateway/src/services/notification-service.d.ts +9 -0
  604. package/dist/gateway/src/services/notification-service.js +19 -0
  605. package/dist/gateway/src/services/notification-service.js.map +1 -0
  606. package/dist/gateway/src/services/notifications/cli-observation.d.ts +138 -0
  607. package/dist/gateway/src/services/notifications/cli-observation.js +62 -0
  608. package/dist/gateway/src/services/notifications/cli-observation.js.map +1 -0
  609. package/dist/gateway/src/services/notifications/feishu-notification-card.d.ts +18 -0
  610. package/dist/gateway/src/services/notifications/feishu-notification-card.js +133 -0
  611. package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -0
  612. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.d.ts +14 -0
  613. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js +50 -0
  614. package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js.map +1 -0
  615. package/dist/gateway/src/services/notifications/feishu-notification-error.d.ts +4 -0
  616. package/dist/gateway/src/services/notifications/feishu-notification-error.js +8 -0
  617. package/dist/gateway/src/services/notifications/feishu-notification-error.js.map +1 -0
  618. package/dist/gateway/src/services/notifications/feishu-notification-targets.d.ts +27 -0
  619. package/dist/gateway/src/services/notifications/feishu-notification-targets.js +101 -0
  620. package/dist/gateway/src/services/notifications/feishu-notification-targets.js.map +1 -0
  621. package/dist/gateway/src/services/notifications/feishu-notification-worker.d.ts +14 -0
  622. package/dist/gateway/src/services/notifications/feishu-notification-worker.js +117 -0
  623. package/dist/gateway/src/services/notifications/feishu-notification-worker.js.map +1 -0
  624. package/dist/gateway/src/services/notifications/feishu-notifications.d.ts +32 -0
  625. package/dist/gateway/src/services/notifications/feishu-notifications.js +139 -0
  626. package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -0
  627. package/dist/gateway/src/services/notifications/observe-cli-hook.d.ts +6 -0
  628. package/dist/gateway/src/services/notifications/observe-cli-hook.js +55 -0
  629. package/dist/gateway/src/services/notifications/observe-cli-hook.js.map +1 -0
  630. package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
  631. package/dist/gateway/src/services/opencode-notification-settings.js +143 -13
  632. package/dist/gateway/src/services/opencode-notification-settings.js.map +1 -1
  633. package/dist/gateway/src/services/platform-commands/actions.d.ts +14 -55
  634. package/dist/gateway/src/services/platform-commands/actions.js +192 -131
  635. package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
  636. package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
  637. package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
  638. package/dist/gateway/src/services/platform-commands/agent-scope.d.ts +0 -2
  639. package/dist/gateway/src/services/platform-commands/agent-scope.js +10 -38
  640. package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
  641. package/dist/gateway/src/services/platform-commands/catalog.d.ts +51 -8
  642. package/dist/gateway/src/services/platform-commands/catalog.js +184 -65
  643. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  644. package/dist/gateway/src/services/platform-commands/receipt-projection.js +4 -0
  645. package/dist/gateway/src/services/platform-commands/receipt-projection.js.map +1 -1
  646. package/dist/gateway/src/services/platform-commands/session-commands.js +89 -38
  647. package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
  648. package/dist/gateway/src/services/platform-commands/tool-commands.js +2 -1
  649. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  650. package/dist/gateway/src/services/platform-commands/types.d.ts +22 -1
  651. package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +7 -0
  652. package/dist/gateway/src/services/programmatic-terminal-submit.js +68 -9
  653. package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
  654. package/dist/gateway/src/services/project-ai-config.js +6 -0
  655. package/dist/gateway/src/services/project-ai-config.js.map +1 -1
  656. package/dist/gateway/src/services/project-config-files.d.ts +1 -1
  657. package/dist/gateway/src/services/project-config-files.js +10 -1
  658. package/dist/gateway/src/services/project-config-files.js.map +1 -1
  659. package/dist/gateway/src/services/project-config-render.d.ts +2 -1
  660. package/dist/gateway/src/services/project-config-render.js +3 -2
  661. package/dist/gateway/src/services/project-config-render.js.map +1 -1
  662. package/dist/gateway/src/services/project-git.js +3 -7
  663. package/dist/gateway/src/services/project-git.js.map +1 -1
  664. package/dist/gateway/src/services/project-manager/access.js +1 -1
  665. package/dist/gateway/src/services/project-manager/access.js.map +1 -1
  666. package/dist/gateway/src/services/project-manager/management.d.ts +4 -3
  667. package/dist/gateway/src/services/project-manager/management.js +2 -2
  668. package/dist/gateway/src/services/project-manager/management.js.map +1 -1
  669. package/dist/gateway/src/services/project-manager/task-execution.d.ts +92 -0
  670. package/dist/gateway/src/services/project-manager/task-execution.js +142 -0
  671. package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -0
  672. package/dist/gateway/src/services/project-manager/task-packets.js +1 -2
  673. package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
  674. package/dist/gateway/src/services/project-manager/task-progress.d.ts +124 -0
  675. package/dist/gateway/src/services/project-manager/task-progress.js +154 -0
  676. package/dist/gateway/src/services/project-manager/task-progress.js.map +1 -0
  677. package/dist/gateway/src/services/provider-balance.d.ts +1 -0
  678. package/dist/gateway/src/services/provider-balance.js +2 -1
  679. package/dist/gateway/src/services/provider-balance.js.map +1 -1
  680. package/dist/gateway/src/services/provider-capabilities.js +11 -0
  681. package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
  682. package/dist/gateway/src/services/provider-model-fetch.d.ts +1 -0
  683. package/dist/gateway/src/services/provider-model-fetch.js +2 -1
  684. package/dist/gateway/src/services/provider-model-fetch.js.map +1 -1
  685. package/dist/gateway/src/services/redaction.d.ts +2 -0
  686. package/dist/gateway/src/services/redaction.js +6 -3
  687. package/dist/gateway/src/services/redaction.js.map +1 -1
  688. package/dist/gateway/src/services/runtime-settings.d.ts +50 -0
  689. package/dist/gateway/src/services/runtime-settings.js +206 -0
  690. package/dist/gateway/src/services/runtime-settings.js.map +1 -0
  691. package/dist/gateway/src/services/session-launch-plan.d.ts +53 -0
  692. package/dist/gateway/src/services/session-launch-plan.js +143 -3
  693. package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
  694. package/dist/gateway/src/services/session-manager.d.ts +64 -2
  695. package/dist/gateway/src/services/session-manager.js +270 -41
  696. package/dist/gateway/src/services/session-manager.js.map +1 -1
  697. package/dist/gateway/src/services/session-server/hello-handshake.d.ts +1 -1
  698. package/dist/gateway/src/services/session-server/hello-handshake.js +2 -2
  699. package/dist/gateway/src/services/session-server/hello-handshake.js.map +1 -1
  700. package/dist/gateway/src/services/session-server/index.d.ts +1 -1
  701. package/dist/gateway/src/services/session-server/index.js.map +1 -1
  702. package/dist/gateway/src/services/session-server/ipc-protocol.d.ts +14 -1
  703. package/dist/gateway/src/services/session-server/ipc-protocol.js.map +1 -1
  704. package/dist/gateway/src/services/session-server/ipc-server.d.ts +5 -0
  705. package/dist/gateway/src/services/session-server/ipc-server.js +28 -0
  706. package/dist/gateway/src/services/session-server/ipc-server.js.map +1 -1
  707. package/dist/gateway/src/services/session-server/platform-adapter.d.ts +10 -0
  708. package/dist/gateway/src/services/session-server/platform-adapter.js +159 -15
  709. package/dist/gateway/src/services/session-server/platform-adapter.js.map +1 -1
  710. package/dist/gateway/src/services/session-server/session-handle.d.ts +8 -1
  711. package/dist/gateway/src/services/session-server/session-handle.js +9 -1
  712. package/dist/gateway/src/services/session-server/session-handle.js.map +1 -1
  713. package/dist/gateway/src/services/session-server/session-server.d.ts +14 -0
  714. package/dist/gateway/src/services/session-server/session-server.js +39 -2
  715. package/dist/gateway/src/services/session-server/session-server.js.map +1 -1
  716. package/dist/gateway/src/services/session-server/terminal-notification-scanner.d.ts +80 -0
  717. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js +253 -0
  718. package/dist/gateway/src/services/session-server/terminal-notification-scanner.js.map +1 -0
  719. package/dist/gateway/src/services/session-server/terminal-screen.d.ts +9 -3
  720. package/dist/gateway/src/services/session-server/terminal-screen.js +10 -4
  721. package/dist/gateway/src/services/session-server/terminal-screen.js.map +1 -1
  722. package/dist/gateway/src/services/session-server-client.d.ts +8 -0
  723. package/dist/gateway/src/services/session-server-client.js +22 -1
  724. package/dist/gateway/src/services/session-server-client.js.map +1 -1
  725. package/dist/gateway/src/services/session-stop-target.d.ts +79 -0
  726. package/dist/gateway/src/services/session-stop-target.js +115 -0
  727. package/dist/gateway/src/services/session-stop-target.js.map +1 -0
  728. package/dist/gateway/src/services/session-writer-leases.d.ts +12 -0
  729. package/dist/gateway/src/services/session-writer-leases.js +25 -2
  730. package/dist/gateway/src/services/session-writer-leases.js.map +1 -1
  731. package/dist/gateway/src/services/shell-command-execution.d.ts +72 -0
  732. package/dist/gateway/src/services/shell-command-execution.js +448 -0
  733. package/dist/gateway/src/services/shell-command-execution.js.map +1 -0
  734. package/dist/gateway/src/services/skill-discovery.d.ts +46 -0
  735. package/dist/gateway/src/services/skill-discovery.js +363 -0
  736. package/dist/gateway/src/services/skill-discovery.js.map +1 -0
  737. package/dist/gateway/src/services/skill-fs-install.d.ts +24 -0
  738. package/dist/gateway/src/services/skill-fs-install.js +150 -0
  739. package/dist/gateway/src/services/skill-fs-install.js.map +1 -0
  740. package/dist/gateway/src/services/skill-install-service.d.ts +72 -0
  741. package/dist/gateway/src/services/skill-install-service.js +346 -0
  742. package/dist/gateway/src/services/skill-install-service.js.map +1 -0
  743. package/dist/gateway/src/services/skill-marketplaces.d.ts +59 -0
  744. package/dist/gateway/src/services/skill-marketplaces.js +420 -0
  745. package/dist/gateway/src/services/skill-marketplaces.js.map +1 -0
  746. package/dist/gateway/src/services/skill-package.d.ts +27 -0
  747. package/dist/gateway/src/services/skill-package.js +135 -0
  748. package/dist/gateway/src/services/skill-package.js.map +1 -0
  749. package/dist/gateway/src/services/skill-registry-http.d.ts +8 -0
  750. package/dist/gateway/src/services/skill-registry-http.js +57 -0
  751. package/dist/gateway/src/services/skill-registry-http.js.map +1 -0
  752. package/dist/gateway/src/services/skill-registry-package.d.ts +55 -0
  753. package/dist/gateway/src/services/skill-registry-package.js +208 -0
  754. package/dist/gateway/src/services/skill-registry-package.js.map +1 -0
  755. package/dist/gateway/src/services/skill-resources.d.ts +1 -0
  756. package/dist/gateway/src/services/skill-resources.js +1 -1
  757. package/dist/gateway/src/services/skill-resources.js.map +1 -1
  758. package/dist/gateway/src/services/teams/service.d.ts +7 -7
  759. package/dist/gateway/src/services/terminal-backend.d.ts +3 -0
  760. package/dist/gateway/src/services/terminal-notification-ingestion.d.ts +19 -0
  761. package/dist/gateway/src/services/terminal-notification-ingestion.js +135 -0
  762. package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -0
  763. package/dist/gateway/src/services/terminal-notification-settings.d.ts +42 -0
  764. package/dist/gateway/src/services/terminal-notification-settings.js +133 -0
  765. package/dist/gateway/src/services/terminal-notification-settings.js.map +1 -0
  766. package/dist/gateway/src/services/usage/kimi-source.d.ts +11 -3
  767. package/dist/gateway/src/services/usage/kimi-source.js +40 -9
  768. package/dist/gateway/src/services/usage/kimi-source.js.map +1 -1
  769. package/dist/gateway/src/services/usage/mcode-source.d.ts +39 -0
  770. package/dist/gateway/src/services/usage/mcode-source.js +137 -0
  771. package/dist/gateway/src/services/usage/mcode-source.js.map +1 -0
  772. package/dist/gateway/src/services/usage/usage-source.d.ts +6 -1
  773. package/dist/gateway/src/services/usage/usage-source.js.map +1 -1
  774. package/dist/gateway/src/services/usage/usage-token-syncer.d.ts +1 -1
  775. package/dist/gateway/src/services/usage/usage-token-syncer.js +3 -1
  776. package/dist/gateway/src/services/usage/usage-token-syncer.js.map +1 -1
  777. package/dist/gateway/src/websocket/events.js +17 -0
  778. package/dist/gateway/src/websocket/events.js.map +1 -1
  779. package/dist/gateway/src/websocket/terminal-output-flow.d.ts +1 -1
  780. package/dist/gateway/src/websocket/terminal.js +12 -4
  781. package/dist/gateway/src/websocket/terminal.js.map +1 -1
  782. package/dist/index.d.ts +11 -0
  783. package/dist/index.js +63 -1
  784. package/dist/index.js.map +1 -1
  785. package/dist/runtime/version.d.ts +10 -0
  786. package/dist/runtime/version.js +25 -0
  787. package/dist/runtime/version.js.map +1 -0
  788. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  789. package/dist/web/standalone/packages/web/.next/app-path-routes-manifest.json +2 -1
  790. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  791. package/dist/web/standalone/packages/web/.next/prerender-manifest.json +51 -27
  792. package/dist/web/standalone/packages/web/.next/routes-manifest.json +12 -6
  793. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +5 -2
  794. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
  795. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  796. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +5 -2
  797. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
  798. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  799. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +5 -2
  800. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
  801. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  802. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +5 -2
  803. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
  804. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  805. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +5 -2
  806. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
  807. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  808. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +5 -2
  809. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
  810. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  811. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +5 -2
  812. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
  813. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  814. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +5 -2
  815. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
  816. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  817. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +5 -2
  818. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
  819. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  820. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +5 -2
  821. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
  822. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  823. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +5 -2
  824. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
  825. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  826. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +5 -2
  827. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  828. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  829. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +6 -3
  830. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
  831. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  832. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +5 -2
  833. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
  834. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  835. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +5 -2
  836. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
  837. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  838. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +5 -2
  839. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  840. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  841. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +5 -2
  842. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
  843. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  844. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +5 -2
  845. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
  846. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  847. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +5 -2
  848. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  849. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  850. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/app-paths-manifest.json +3 -0
  851. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +12 -0
  852. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js +6 -6
  853. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -0
  854. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +3 -0
  855. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +5 -2
  856. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js +1 -1
  857. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
  858. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  859. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +5 -2
  860. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  861. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  862. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/app-paths-manifest.json +3 -0
  863. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/build-manifest.json +18 -0
  864. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/next-font-manifest.json +6 -0
  865. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +12 -0
  866. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/server-reference-manifest.json +4 -0
  867. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js +14 -0
  868. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.map +5 -0
  869. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -0
  870. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +3 -0
  871. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +5 -2
  872. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
  873. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  874. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +5 -2
  875. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
  876. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  877. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +5 -2
  878. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
  879. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  880. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +5 -2
  881. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
  882. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  883. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +5 -2
  884. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
  885. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  886. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +5 -2
  887. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
  888. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  889. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  890. package/dist/web/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  891. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  892. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  893. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  894. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  895. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  896. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  897. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  898. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  899. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  900. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  901. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  902. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  903. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  904. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  905. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  906. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  907. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  908. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  909. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +25 -20
  910. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  911. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  912. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  913. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +25 -20
  914. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  915. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  916. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  917. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  918. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +25 -23
  919. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  920. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  921. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  922. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  923. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +25 -23
  924. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  925. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  926. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  927. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  928. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +26 -23
  929. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  930. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  931. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  932. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  933. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +26 -23
  934. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  935. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  936. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  937. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  938. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +25 -23
  939. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  940. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  941. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  942. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  943. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +25 -23
  944. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  945. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  946. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  947. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  948. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +26 -23
  949. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  950. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  951. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  952. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  953. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +26 -23
  954. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  955. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  956. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  957. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  958. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +25 -25
  959. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  960. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  961. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  962. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +25 -25
  963. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  964. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  965. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  966. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
  967. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  968. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  969. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
  970. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
  971. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  972. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  973. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  974. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  975. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  976. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  977. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +28 -25
  978. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  979. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  980. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  981. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +28 -25
  982. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  983. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  984. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  985. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  986. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +25 -22
  987. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  988. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  989. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +25 -22
  990. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  991. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  992. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  993. package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
  994. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  995. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  996. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  997. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  998. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  999. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  1000. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  1001. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  1002. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  1003. package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
  1004. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  1005. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  1006. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
  1007. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
  1008. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  1009. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  1010. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  1011. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  1012. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  1013. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  1014. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +25 -25
  1015. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  1016. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  1017. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1018. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +25 -25
  1019. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  1020. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  1021. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  1022. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  1023. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +28 -27
  1024. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  1025. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  1026. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1027. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +28 -27
  1028. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  1029. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  1030. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  1031. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  1032. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +28 -25
  1033. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  1034. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  1035. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1036. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +28 -25
  1037. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  1038. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  1039. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  1040. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  1041. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +24 -24
  1042. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  1043. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  1044. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1045. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1046. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +24 -24
  1047. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  1048. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  1049. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  1050. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  1051. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +24 -24
  1052. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  1053. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  1054. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1055. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1056. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +24 -24
  1057. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  1058. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  1059. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  1060. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  1061. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +28 -25
  1062. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  1063. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  1064. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1065. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +28 -25
  1066. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  1067. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  1068. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  1069. package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
  1070. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  1071. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  1072. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
  1073. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
  1074. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  1075. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  1076. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  1077. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  1078. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  1079. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  1080. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +28 -29
  1081. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  1082. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  1083. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1084. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +28 -29
  1085. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  1086. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  1087. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  1088. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  1089. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +28 -27
  1090. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  1091. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  1092. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1093. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +28 -27
  1094. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  1095. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  1096. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  1097. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -0
  1098. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.meta +17 -0
  1099. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +32 -0
  1100. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +9 -0
  1101. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +5 -0
  1102. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1103. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1104. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +32 -0
  1105. package/dist/web/standalone/packages/web/.next/server/app/{copilot/settings/access.segments → skills/discover.segments}/_head.segment.rsc +4 -4
  1106. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +8 -0
  1107. package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +3 -0
  1108. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  1109. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +29 -27
  1110. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  1111. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  1112. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1113. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1114. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +29 -27
  1115. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  1116. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  1117. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  1118. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -0
  1119. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.meta +17 -0
  1120. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +32 -0
  1121. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +9 -0
  1122. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +5 -0
  1123. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
  1124. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
  1125. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +32 -0
  1126. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +6 -0
  1127. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +8 -0
  1128. package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +3 -0
  1129. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  1130. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +28 -25
  1131. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  1132. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  1133. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1134. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +28 -25
  1135. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  1136. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  1137. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  1138. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  1139. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +25 -20
  1140. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  1141. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  1142. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1143. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +25 -20
  1144. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  1145. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  1146. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  1147. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  1148. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +28 -25
  1149. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  1150. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  1151. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1152. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +28 -25
  1153. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  1154. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  1155. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  1156. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  1157. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +28 -25
  1158. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  1159. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  1160. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1161. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +28 -25
  1162. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  1163. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  1164. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  1165. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  1166. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +25 -20
  1167. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  1168. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  1169. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  1170. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +25 -20
  1171. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  1172. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  1173. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  1174. package/dist/web/standalone/packages/web/.next/server/app-paths-manifest.json +2 -1
  1175. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0942_@dnd-kit_core_dist_core_esm_06quy3m.js +3 -0
  1176. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0e0j_zod_v3_external_0q93s3v.js +3 -0
  1177. 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
  1178. 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
  1179. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0vyr_@hookform_resolvers_zod_dist_zod_mjs_13jikrg._.js +1 -1
  1180. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0zxb_lucide-react_dist_esm_icons_external-link_0buejti.js +3 -0
  1181. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/12g__next_dist_esm_build_templates_app-page_0mp8266.js +4 -0
  1182. 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
  1183. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-ytd88._.js +1 -1
  1184. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-yv-w0._.js +3 -0
  1185. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-~3_py._.js +1 -1
  1186. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0.xbx1g._.js +3 -0
  1187. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000_z4-._.js +1 -1
  1188. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__00pu_nf._.js +1 -1
  1189. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__01gw6cp._.js +3 -0
  1190. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04y4h09._.js +1 -1
  1191. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04zzicc._.js +1 -1
  1192. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__059ub-x._.js +1 -1
  1193. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  1194. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__099xvsj._.js +1 -1
  1195. 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
  1196. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0bwa4-1._.js +1 -1
  1197. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dm9ht7._.js +1 -1
  1198. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +3 -0
  1199. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dypek8._.js +1 -1
  1200. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e4wlbg._.js +1 -1
  1201. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hdcf1b._.js +1 -1
  1202. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hyeafb._.js +1 -1
  1203. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i9m599._.js +1 -1
  1204. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ixm_tt._.js +1 -1
  1205. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0joovln._.js +1 -1
  1206. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0nayrgw._.js +1 -1
  1207. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oi0duh._.js +1 -1
  1208. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0p0asvc._.js +1 -1
  1209. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0rnn~dl._.js +1 -1
  1210. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +3 -0
  1211. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +3 -0
  1212. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6yt~4._.js +1 -1
  1213. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ue.dgb._.js +1 -1
  1214. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vdrg8-._.js +1 -1
  1215. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vhr68-._.js +1 -1
  1216. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0w9fpxt._.js +1 -1
  1217. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0xjgo0p._.js +1 -1
  1218. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ym8445._.js +1 -1
  1219. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0yni1ey._.js +1 -1
  1220. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~uajh5._.js +1 -1
  1221. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~x9f4h._.js +1 -1
  1222. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__10ulbpl._.js +1 -1
  1223. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +3 -0
  1224. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12t8cyh._.js +1 -1
  1225. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-46bd0._.js +3 -0
  1226. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-c~1pz._.js +1 -1
  1227. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +3 -0
  1228. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +3 -0
  1229. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02b77w9._.js +3 -0
  1230. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +3 -0
  1231. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03lvgsp._.js +1 -1
  1232. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +3 -0
  1233. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +3 -0
  1234. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +3 -0
  1235. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08sy38p._.js +3 -0
  1236. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08w4krs._.js +1 -1
  1237. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +3 -0
  1238. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_y0lld._.js +1 -1
  1239. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +3 -0
  1240. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +3 -0
  1241. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eg167x._.js +1 -1
  1242. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0k0ia-e._.js +7 -0
  1243. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +3 -0
  1244. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +3 -0
  1245. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +3 -0
  1246. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +3 -0
  1247. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
  1248. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +3 -0
  1249. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +3 -0
  1250. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +3 -0
  1251. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +3 -0
  1252. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0uhabr0._.js +1 -1
  1253. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0upw.g1._.js +1 -1
  1254. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +3 -0
  1255. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +3 -0
  1256. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +3 -0
  1257. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0z-ne1w._.js +1 -1
  1258. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +3 -0
  1259. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11yi7~7._.js +3 -0
  1260. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12w9fro._.js +3 -0
  1261. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_130nfm2._.js +3 -0
  1262. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +3 -0
  1263. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +3 -0
  1264. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +3 -0
  1265. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_04syrba._.js +3 -0
  1266. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0dcra4_._.js +3 -0
  1267. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  1268. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0p9lxjb._.js +3 -0
  1269. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
  1270. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +3 -0
  1271. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_members_page_tsx_036.9by._.js +1 -1
  1272. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
  1273. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
  1274. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_projects_[id]_page_tsx_0pmq-e9._.js +1 -1
  1275. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
  1276. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
  1277. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
  1278. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_skills_page_tsx_096j6mw._.js +1 -1
  1279. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
  1280. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
  1281. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
  1282. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
  1283. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_DevelopmentTasks_tsx_0fr61i5._.js +1 -1
  1284. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +3 -0
  1285. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +1 -1
  1286. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  1287. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  1288. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  1289. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  1290. package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  1291. package/dist/web/standalone/packages/web/.next/static/chunks/0-8d_w3npya8o.js +1 -0
  1292. package/dist/web/standalone/packages/web/.next/static/chunks/0.1mxnjmxr~su.js +5 -0
  1293. package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +3 -0
  1294. package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +1 -0
  1295. package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +1 -0
  1296. package/dist/web/standalone/packages/web/.next/static/chunks/02tbf1dbhnqcj.js +1 -0
  1297. package/dist/web/standalone/packages/web/.next/static/chunks/{01_gytnzf~ik-.js → 02tn25zg7z463.js} +1 -1
  1298. package/dist/web/standalone/packages/web/.next/static/chunks/04z6sbk30kk_r.js +1 -0
  1299. package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +1 -0
  1300. package/dist/web/standalone/packages/web/.next/static/chunks/053cmh-o17957.js +1 -0
  1301. package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +2 -0
  1302. package/dist/web/standalone/packages/web/.next/static/chunks/06u~yrka~n0q1.js +1 -0
  1303. package/dist/web/standalone/packages/web/.next/static/chunks/07_bj2hhs1b~b.js +1 -0
  1304. package/dist/web/standalone/packages/web/.next/static/chunks/07ikcry4s28l9.js +1 -0
  1305. package/dist/web/standalone/packages/web/.next/static/chunks/0b5zptp8.z.nn.js +1 -0
  1306. package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +1 -0
  1307. package/dist/web/standalone/packages/web/.next/static/chunks/0ecg~muitl4rl.js +1 -0
  1308. package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +1 -0
  1309. package/dist/web/standalone/packages/web/.next/static/chunks/0equ6w7v0pt2c.js +1 -0
  1310. package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +1 -0
  1311. package/dist/web/standalone/packages/web/.next/static/chunks/0fjt5fv~.5gyl.js +1 -0
  1312. package/dist/web/standalone/packages/web/.next/static/chunks/{04r2nmtpcfrz..js → 0g.bgavgt6uke.js} +1 -1
  1313. package/dist/web/standalone/packages/web/.next/static/chunks/0g.jepdilt76o.js +1 -0
  1314. package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +1 -0
  1315. package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +1 -0
  1316. package/dist/web/standalone/packages/web/.next/static/chunks/0l2ojgpvlde~a.js +1 -0
  1317. package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +1 -0
  1318. package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +1 -0
  1319. package/dist/web/standalone/packages/web/.next/static/chunks/0ouh2tpsjqi5m.js +1 -0
  1320. package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +1 -0
  1321. package/dist/web/standalone/packages/web/.next/static/chunks/0rvmfvjpdwe.w.js +1 -0
  1322. package/dist/web/standalone/packages/web/.next/static/chunks/0spmlj~6fltww.js +1 -0
  1323. package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +1 -0
  1324. package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +1 -0
  1325. package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +1 -0
  1326. package/dist/web/standalone/packages/web/.next/static/chunks/0txrk44pdmdsw.js +1 -0
  1327. package/dist/web/standalone/packages/web/.next/static/chunks/0ujyee4n5.vxl.js +1 -0
  1328. package/dist/web/standalone/packages/web/.next/static/chunks/0v-8fk68e-ugm.js +1 -0
  1329. package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +1 -0
  1330. package/dist/web/standalone/packages/web/.next/static/chunks/0vu012c_~rsq2.js +1 -0
  1331. package/dist/web/standalone/packages/web/.next/static/chunks/0y2ze6bljklix.js +1 -0
  1332. package/dist/web/standalone/packages/web/.next/static/chunks/0y8vr-14-90yt.js +1 -0
  1333. package/dist/web/standalone/packages/web/.next/static/chunks/0yy-wz1k_sil_.js +1 -0
  1334. package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +1 -0
  1335. package/dist/web/standalone/packages/web/.next/static/chunks/{0wys15fa7nhtt.js → 0~cm.ike75hqk.js} +1 -1
  1336. package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +1 -0
  1337. package/dist/web/standalone/packages/web/.next/static/chunks/{0y._brrinmy-y.js → 1052k.mfsf9ib.js} +1 -1
  1338. package/dist/web/standalone/packages/web/.next/static/chunks/112uoiiyc.o-i.js +1 -0
  1339. package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +1 -0
  1340. package/dist/web/standalone/packages/web/.next/static/chunks/12kzd4cqtbqk~.js +1 -0
  1341. package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +1 -0
  1342. package/dist/web/standalone/packages/web/.next/static/chunks/13wgo~3bv23zr.js +1 -0
  1343. package/dist/web/standalone/packages/web/.next/static/chunks/{02cfennlupsr5.js → 140zf2tofmr6d.js} +1 -1
  1344. package/dist/web/standalone/packages/web/.next/static/chunks/17jci4t~zq7c9.js +1 -0
  1345. package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +1 -0
  1346. package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +1 -0
  1347. package/dist/web/standalone/packages/web/public/brand/cli/codex.svg +5 -1
  1348. package/dist/web/standalone/packages/web/public/brand/cli/kimi.svg +1 -1
  1349. package/dist/web/standalone/packages/web/public/brand/cli/mcode.svg +1 -0
  1350. package/dist/web/standalone/packages/web/public/brand/fonts/OFL.txt +93 -0
  1351. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-bold.ttf +0 -0
  1352. package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-regular.ttf +0 -0
  1353. package/dist/web/standalone/packages/web/public/favicon.ico +0 -0
  1354. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/sit.webp +0 -0
  1355. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/stand.webp +0 -0
  1356. package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/walk.webp +0 -0
  1357. package/docs/README.zh-CN.md +10 -0
  1358. package/docs/README.zh-TW.md +10 -0
  1359. package/package.json +9 -9
  1360. package/dist/gateway/src/db/repositories/copilot-grant-repository.d.ts +0 -40
  1361. package/dist/gateway/src/db/repositories/copilot-grant-repository.js +0 -53
  1362. package/dist/gateway/src/db/repositories/copilot-grant-repository.js.map +0 -1
  1363. package/dist/gateway/src/services/codex-native-auth-status.d.ts +0 -22
  1364. package/dist/gateway/src/services/codex-native-auth-status.js +0 -84
  1365. package/dist/gateway/src/services/codex-native-auth-status.js.map +0 -1
  1366. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/app-paths-manifest.json +0 -3
  1367. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +0 -9
  1368. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page.js.nft.json +0 -1
  1369. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +0 -3
  1370. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +0 -1
  1371. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.meta +0 -18
  1372. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +0 -27
  1373. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +0 -6
  1374. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +0 -5
  1375. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +0 -5
  1376. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +0 -5
  1377. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
  1378. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +0 -27
  1379. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +0 -8
  1380. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +0 -3
  1381. 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
  1382. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03qqlsf._.js +0 -3
  1383. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05_yw9~._.js +0 -3
  1384. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +0 -3
  1385. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oun.k-._.js +0 -3
  1386. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0y-e.fw._.js +0 -3
  1387. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__135gcxh._.js +0 -3
  1388. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.2ld7q._.js +0 -3
  1389. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00.0g-5._.js +0 -3
  1390. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01h5sc6._.js +0 -3
  1391. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03t4dqx._.js +0 -3
  1392. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04ioa9k._.js +0 -3
  1393. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05rbfok._.js +0 -3
  1394. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07sqde5._.js +0 -3
  1395. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0941x7t._.js +0 -3
  1396. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09~uay9._.js +0 -3
  1397. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0anvf8m._.js +0 -3
  1398. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0atn-ml._.js +0 -3
  1399. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0c3twpg._.js +0 -3
  1400. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +0 -3
  1401. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f1dcy2._.js +0 -3
  1402. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +0 -3
  1403. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0fbdold._.js +0 -3
  1404. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +0 -3
  1405. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0inc1dm._.js +0 -3
  1406. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0i~~g8h._.js +0 -3
  1407. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p3urqy._.js +0 -3
  1408. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qi9cog._.js +0 -3
  1409. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rc9ewt._.js +0 -3
  1410. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vf07~e._.js +0 -3
  1411. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +0 -3
  1412. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~t_uoo._.js +0 -3
  1413. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~wir~e._.js +0 -3
  1414. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10h.hnm._.js +0 -3
  1415. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11586ck._.js +0 -3
  1416. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11dpryf._.js +0 -3
  1417. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0eo3d7_._.js +0 -3
  1418. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0hfdzjb._.js +0 -3
  1419. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0mls2za._.js +0 -7
  1420. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_08mhbmm._.js +0 -3
  1421. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_12cpu6n._.js +0 -3
  1422. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +0 -3
  1423. package/dist/web/standalone/packages/web/.next/static/chunks/0..mi~ip7knx..js +0 -1
  1424. package/dist/web/standalone/packages/web/.next/static/chunks/0.4~~7f7.7nat.js +0 -1
  1425. package/dist/web/standalone/packages/web/.next/static/chunks/0.iplf~527jxz.js +0 -1
  1426. package/dist/web/standalone/packages/web/.next/static/chunks/0.uku9w_tku_y.js +0 -1
  1427. package/dist/web/standalone/packages/web/.next/static/chunks/00a29f0n_owqb.js +0 -1
  1428. package/dist/web/standalone/packages/web/.next/static/chunks/00nyo39rsq7i8.js +0 -1
  1429. package/dist/web/standalone/packages/web/.next/static/chunks/00pacdmo8d9v~.js +0 -1
  1430. package/dist/web/standalone/packages/web/.next/static/chunks/00~iuhivx6vaz.js +0 -1
  1431. package/dist/web/standalone/packages/web/.next/static/chunks/012n34zp1cx_n.js +0 -1
  1432. package/dist/web/standalone/packages/web/.next/static/chunks/01qswe5yw6zti.js +0 -1
  1433. package/dist/web/standalone/packages/web/.next/static/chunks/0269he.njfzan.js +0 -1
  1434. package/dist/web/standalone/packages/web/.next/static/chunks/05mebsn5x~f7z.js +0 -1
  1435. package/dist/web/standalone/packages/web/.next/static/chunks/05pjsamrc9hw8.css +0 -1
  1436. package/dist/web/standalone/packages/web/.next/static/chunks/06k2e3bpaue8l.js +0 -1
  1437. package/dist/web/standalone/packages/web/.next/static/chunks/08i6pyfaut9bg.js +0 -1
  1438. package/dist/web/standalone/packages/web/.next/static/chunks/09ue~77p.85v3.js +0 -1
  1439. package/dist/web/standalone/packages/web/.next/static/chunks/0a812oghcxixr.js +0 -1
  1440. package/dist/web/standalone/packages/web/.next/static/chunks/0abzy49yu-md1.js +0 -2
  1441. package/dist/web/standalone/packages/web/.next/static/chunks/0av6gt_66dv~q.js +0 -1
  1442. package/dist/web/standalone/packages/web/.next/static/chunks/0belg47nkwgq6.js +0 -1
  1443. package/dist/web/standalone/packages/web/.next/static/chunks/0bihh5ze2~z1f.js +0 -5
  1444. package/dist/web/standalone/packages/web/.next/static/chunks/0bwb7o-xmqgh9.js +0 -3
  1445. package/dist/web/standalone/packages/web/.next/static/chunks/0c2pxjg6tacjx.js +0 -1
  1446. package/dist/web/standalone/packages/web/.next/static/chunks/0cnz9fv.au4.r.js +0 -1
  1447. package/dist/web/standalone/packages/web/.next/static/chunks/0h73tv8xwqxqw.js +0 -1
  1448. package/dist/web/standalone/packages/web/.next/static/chunks/0jm.qk52w_wlq.js +0 -1
  1449. package/dist/web/standalone/packages/web/.next/static/chunks/0kl7osb_ugtrb.js +0 -1
  1450. package/dist/web/standalone/packages/web/.next/static/chunks/0kuv_jfsd~d34.js +0 -1
  1451. package/dist/web/standalone/packages/web/.next/static/chunks/0l2c60o_7mt7g.js +0 -1
  1452. package/dist/web/standalone/packages/web/.next/static/chunks/0lgu8uprqf5l5.js +0 -1
  1453. package/dist/web/standalone/packages/web/.next/static/chunks/0ljywx8uhruo~.js +0 -1
  1454. package/dist/web/standalone/packages/web/.next/static/chunks/0mx93hpu5af8p.js +0 -1
  1455. package/dist/web/standalone/packages/web/.next/static/chunks/0omo_v~lr8w_w.js +0 -1
  1456. package/dist/web/standalone/packages/web/.next/static/chunks/0owwl5ly1~5em.js +0 -1
  1457. package/dist/web/standalone/packages/web/.next/static/chunks/0pav25z50nsff.js +0 -1
  1458. package/dist/web/standalone/packages/web/.next/static/chunks/0q~8nf7do6jft.js +0 -1
  1459. package/dist/web/standalone/packages/web/.next/static/chunks/0rcf89hmdwpcw.js +0 -1
  1460. package/dist/web/standalone/packages/web/.next/static/chunks/0ro2__iu505.1.js +0 -1
  1461. package/dist/web/standalone/packages/web/.next/static/chunks/0rxi1_itf74bl.js +0 -1
  1462. package/dist/web/standalone/packages/web/.next/static/chunks/0v0jdpyx4p.1c.js +0 -1
  1463. package/dist/web/standalone/packages/web/.next/static/chunks/0v_2~m-2hqn2..js +0 -1
  1464. package/dist/web/standalone/packages/web/.next/static/chunks/0vxu682behxa7.js +0 -1
  1465. package/dist/web/standalone/packages/web/.next/static/chunks/0wel25michro~.js +0 -1
  1466. package/dist/web/standalone/packages/web/.next/static/chunks/10eii2rij6zzf.js +0 -1
  1467. package/dist/web/standalone/packages/web/.next/static/chunks/13ehygx5durlz.js +0 -1
  1468. package/dist/web/standalone/packages/web/.next/static/chunks/17b.cxsg0c75d.js +0 -1
  1469. package/dist/web/standalone/packages/web/.next/static/chunks/180yq_t-g35fr.js +0 -1
  1470. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/build-manifest.json +0 -0
  1471. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/next-font-manifest.json +0 -0
  1472. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/server-reference-manifest.json +0 -0
  1473. /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js.map +0 -0
  1474. /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_buildManifest.js +0 -0
  1475. /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_clientMiddlewareManifest.js +0 -0
  1476. /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
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),a=e.i(82909),i=e.i(65458);let n=(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:s=!1,...o}){let l=s?a.Slot.Root:"span";return(0,t.jsx)(l,{"data-slot":"badge","data-variant":r,className:(0,i.cn)(n({variant:r}),e),...o})}])},12603,e=>{"use strict";var t=e.i(66499),r=e.i(65458);e.s(["Card",0,function({className:e,...a}){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),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,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),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...a})}])},34487,e=>{"use strict";let t=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],34487)},87307,2527,e=>{"use strict";var t=e.i(66499);let r={claude:{id:"claude",label:"Claude Code",shortLabel:"Claude",color:"#d97757"},codex:{id:"codex",label:"Codex",shortLabel:"Codex",color:"#e4e4e7"},kimi:{id:"kimi",label:"Kimi Code",shortLabel:"Kimi",color:"#1783ff"},opencode:{id:"opencode",label:"OpenCode",shortLabel:"OpenCode",color:"#b7b1b1"},pi:{id:"pi",label:"PI",shortLabel:"PI",color:"#4d9abf"}},a={id:"unknown",label:"CLI",shortLabel:"CLI",color:"#71717a"};function i(e){return e?r[e.trim().toLowerCase()]??a:a}e.s(["getCliBrand",0,i,"runtimeAdapterLabel",0,function(e,t){return e.available?e.launchEnabled?e.label:`${e.label} (${t("projects.runtimeLaunchDisabled")})`:`${e.label} (${t("projects.runtimeUnavailable")})`}],2527);var n=e.i(65458);let s={claude:(0,t.jsx)("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"}),codex:(0,t.jsx)("path",{clipRule:"evenodd",d:"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z",fillRule:"evenodd"}),kimi:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z",fill:"#1783FF"}),(0,t.jsx)("path",{d:"M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z",fill:"#FFFFFF"})]}),opencode:(0,t.jsx)("path",{d:"M16 6H8v12h8V6zm4 16H4V2h16v20z",fillRule:"evenodd"}),pi:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M4.959 4.959H15.521V12H12V8.48H4.959z",fill:"#F09082"}),(0,t.jsx)("path",{d:"M4.959 8.48H8.48V12H12V15.521H8.48V19.042H4.959z",fill:"#4D9ABF"}),(0,t.jsx)("path",{d:"M15.521 12H19.042V19.042H15.521z",fill:"#F1BE58"})]})},o=new Set(["codex","opencode"]);e.s(["CliBrandIcon",0,function({aiTool:e,className:r}){let a=i(e),l="unknown"===a.id?null:s[a.id];return l?(0,t.jsx)("svg",{"aria-hidden":"true",className:(0,n.cn)("size-3.5 shrink-0",o.has(a.id)?"text-current":void 0,r),fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:l}):null}],87307)},93657,e=>{"use strict";var t=e.i(66499),r=e.i(87307),a=e.i(2527),i=e.i(65458);e.s(["CliBrandChip",0,function({aiTool:e,className:n}){let s=(0,a.getCliBrand)(e);return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex shrink-0 items-center gap-1.5 rounded-full border border-border/60 bg-muted/30 px-2 py-0.5 text-[11px] font-medium text-muted-foreground",n),title:s.label,children:["unknown"===s.id?(0,t.jsx)("span",{className:"size-1.5 rounded-full",style:{backgroundColor:s.color}}):(0,t.jsx)(r.CliBrandIcon,{aiTool:e,className:"size-3"}),s.label]})}])},41986,25486,e=>{"use strict";var t=e.i(79923),r=e.i(43250),a=e.i(67928),i=e.i(52053),n=e.i(66499),s=new WeakMap;function o(e,t){var r,a;let i,n,s;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,a=t,i=r.length,(s=(n=l(a))>=0?n:i+n)<0||s>=i?-1:s);return -1===o?void 0:e[o]}function l(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],s.set(this,!0)}set(e,t){return s.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,i=this.has(t),n=this.#e.length,s=l(e),o=s>=0?s:n+s,d=o<0||o>=n?-1:o;if(d===this.size||i&&d===this.size-1||-1===d)return this.set(t,r),this;let c=this.size+ +!i;s<0&&o++;let u=[...this.#e],f=!1;for(let e=o;e<c;e++)if(o===e){let n=u[e];u[e]===t&&(n=u[e+1]),i&&this.delete(t),a=this.get(n),this.set(t,r)}else{f||u[e-1]!==t||(f=!0);let r=u[f?e:e-1],i=a;a=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,a){let i=new e(this);return i.insert(t,r,a),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&a.push(e),i++;return new e(a)}map(t,r){let a=[],i=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(a)}reduce(...e){let[t,r]=e,a=0,i=r??this.at(0);for(let r of this)i=0===a&&1===e.length?r:Reflect.apply(t,this,[i,r,a,this]),a++;return i}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);a=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[a,i,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,i=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let s=e+"CollectionProvider",[o,l]=(0,r.createContextScope)(s),[d,c]=o(s,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:a}=e,i=t.default.useRef(null),s=t.default.useRef(new Map).current;return(0,n.jsx)(d,{scope:r,itemMap:s,collectionRef:i,children:a})};u.displayName=s;let f=e+"CollectionSlot",h=(0,i.createSlot)(f),p=t.default.forwardRef((e,t)=>{let{scope:r,children:i}=e,s=c(f,r),o=(0,a.useComposedRefs)(t,s.collectionRef);return(0,n.jsx)(h,{ref:o,children:i})});p.displayName=f;let v=e+"CollectionItemSlot",x="data-radix-collection-item",m=(0,i.createSlot)(v),g=t.default.forwardRef((e,r)=>{let{scope:i,children:s,...o}=e,l=t.default.useRef(null),d=(0,a.useComposedRefs)(r,l),u=c(v,i);return t.default.useEffect(()=>(u.itemMap.set(l,{ref:l,...o}),()=>void u.itemMap.delete(l))),(0,n.jsx)(m,{...{[x]:""},ref:d,children:s})});return g.displayName=v,[{Provider:u,Slot:p,ItemSlot:g},function(r){let a=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},l]}],41986);var d=t.createContext(void 0);e.s(["useDirection",0,function(e){let r=t.useContext(d);return e||r||"ltr"}],25486)},77275,e=>{"use strict";var t=e.i(79923),r=e.i(91967),a=e.i(41986),i=e.i(67928),n=e.i(43250),s=e.i(33616),o=e.i(80939),l=e.i(36131),d=e.i(17256),c=e.i(25486),u=e.i(66499),f="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[v,x,m]=(0,a.createCollection)(p),[g,b]=(0,n.createContextScope)(p,[m]),[y,j]=g(p),w=t.forwardRef((e,t)=>(0,u.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(C,{...e,ref:t})})}));w.displayName=p;var C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,orientation:s,loop:v=!1,dir:m,currentTabStopId:g,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:j,onEntryFocus:w,preventScrollOnEntryFocus:C=!1,...k}=e,R=t.useRef(null),N=(0,i.useComposedRefs)(a,R),T=(0,c.useDirection)(m),[A,F]=(0,d.useControllableState)({prop:g,defaultProp:b??null,onChange:j,caller:p}),[S,I]=t.useState(!1),L=(0,l.useCallbackRef)(w),M=x(n),D=t.useRef(!1),[H,E]=t.useState(0);return t.useEffect(()=>{let e=R.current;if(e)return e.addEventListener(f,L),()=>e.removeEventListener(f,L)},[L]),(0,u.jsx)(y,{scope:n,orientation:s,dir:T,loop:v,currentTabStopId:A,onItemFocus:t.useCallback(e=>F(e),[F]),onItemShiftTab:t.useCallback(()=>I(!0),[]),onFocusableItemAdd:t.useCallback(()=>E(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>E(e=>e-1),[]),children:(0,u.jsx)(o.Primitive.div,{tabIndex:S||0===H?-1:0,"data-orientation":s,...k,ref:N,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{D.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!S){let t=new CustomEvent(f,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);z([e.find(e=>e.active),e.find(e=>e.id===A),...e].filter(Boolean).map(e=>e.ref.current),C)}}D.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>I(!1))})})}),k="RovingFocusGroupItem",R=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,focusable:n=!0,active:l=!1,tabStopId:d,children:c,...f}=e,h=(0,s.useId)(),p=d||h,m=j(k,i),g=m.currentTabStopId===p,b=x(i),{onFocusableItemAdd:y,onFocusableItemRemove:w,currentTabStopId:C}=m;return t.useEffect(()=>{if(n)return y(),()=>w()},[n,y,w]),(0,u.jsx)(v.ItemSlot,{scope:i,id:p,focusable:n,active:l,children:(0,u.jsx)(o.Primitive.span,{tabIndex:g?0:-1,"data-orientation":m.orientation,...f,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{n?m.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>m.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let i=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return N[i]}(e,m.orientation,m.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&i.reverse();let n=i.indexOf(e.currentTarget);i=m.loop?(r=i,a=n+1,r.map((e,t)=>r[(a+t)%r.length])):i.slice(n+1)}setTimeout(()=>z(i))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=C}):c})})});R.displayName=k;var N={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function z(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,R,"Root",0,w,"createRovingFocusGroupScope",0,b])},12057,e=>{"use strict";var t=e.i(66499),r=e.i(94237),a=e.i(79923),i=e.i(91967),n=e.i(43250),s=e.i(77275),o=e.i(90088),l=e.i(80939),d=e.i(25486),c=e.i(17256),u=e.i(33616),f="Tabs",[h,p]=(0,n.createContextScope)(f,[s.createRovingFocusGroupScope]),v=(0,s.createRovingFocusGroupScope)(),[x,m]=h(f),g=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,onValueChange:n,defaultValue:s,orientation:o="horizontal",dir:h,activationMode:p="automatic",...v}=e,m=(0,d.useDirection)(h),[g,b]=(0,c.useControllableState)({prop:i,onChange:n,defaultProp:s??"",caller:f});return(0,t.jsx)(x,{scope:a,baseId:(0,u.useId)(),value:g,onValueChange:b,orientation:o,dir:m,activationMode:p,children:(0,t.jsx)(l.Primitive.div,{dir:m,"data-orientation":o,...v,ref:r})})});g.displayName=f;var b="TabsList",y=a.forwardRef((e,r)=>{let{__scopeTabs:a,loop:i=!0,...n}=e,o=m(b,a),d=v(a);return(0,t.jsx)(s.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:i,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:r})})});y.displayName=b;var j="TabsTrigger",w=a.forwardRef((e,r)=>{let{__scopeTabs:a,value:n,disabled:o=!1,...d}=e,c=m(j,a),u=v(a),f=R(c.baseId,n),h=N(c.baseId,n),p=n===c.value;return(0,t.jsx)(s.Item,{asChild:!0,...u,focusable:!o,active:p,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":h,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...d,ref:r,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;p||o||!e||c.onValueChange(n)})})})});w.displayName=j;var C="TabsContent",k=a.forwardRef((e,r)=>{let{__scopeTabs:i,value:n,forceMount:s,children:d,...c}=e,u=m(C,i),f=R(u.baseId,n),h=N(u.baseId,n),p=n===u.value,v=a.useRef(p);return a.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(o.Presence,{present:s||p,children:({present:a})=>(0,t.jsx)(l.Primitive.div,{"data-state":p?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!a,id:h,tabIndex:0,...c,ref:r,style:{...e.style,animationDuration:v.current?"0s":void 0},children:a&&d})})});function R(e,t){return`${e}-trigger-${t}`}function N(e,t){return`${e}-content-${t}`}k.displayName=C,e.s(["Content",0,k,"List",0,y,"Root",0,g,"Tabs",0,g,"TabsContent",0,k,"TabsList",0,y,"TabsTrigger",0,w,"Trigger",0,w,"createTabsScope",0,p],73558);var z=e.i(73558),z=z,T=e.i(65458);let A=(0,r.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:r="horizontal",...a}){return(0,t.jsx)(z.Root,{"data-slot":"tabs","data-orientation":r,orientation:r,className:(0,T.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...a})},"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(z.Content,{"data-slot":"tabs-content",className:(0,T.cn)("flex-1 outline-none",e),...r})},"TabsList",0,function({className:e,variant:r="default",...a}){return(0,t.jsx)(z.List,{"data-slot":"tabs-list","data-variant":r,className:(0,T.cn)(A({variant:r}),e),...a})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(z.Trigger,{"data-slot":"tabs-trigger",className:(0,T.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[background-color,border-color,color,box-shadow,opacity] group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...r})}],12057)},68307,e=>{"use strict";var t=e.i(66499),r=e.i(41271),a=e.i(79923),i=e.i(39867);let n=(0,e.i(65174).default)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);var s=e.i(34487),o=e.i(62918),l=e.i(60218),d=e.i(12603),c=e.i(12057),u=e.i(93657),f=e.i(35887),h=e.i(84208),p=e.i(30811),v=e.i(65458);function x({notification:e,index:a,title:i,openLabel:s,contextLabels:d,onMarkRead:c}){var f;let h,m=(0,p.notificationContextParts)(e,d).filter(e=>!e.startsWith(`${d.cli}:`));return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3 transition-colors forgebadger-animate-in hover:bg-muted/40",style:{animationDelay:`${40*a}ms`},children:[(0,t.jsx)("span",{className:(0,v.cn)("mt-2 size-1.5 shrink-0 rounded-full",e.read?"bg-transparent":"bg-brand")}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:["app_action"===e.category&&e.status&&(0,t.jsx)("span",{className:(0,v.cn)("size-2 shrink-0 rounded-full","success"===e.status?"bg-emerald-400":"bg-red-400"),"aria-label":e.status,title:e.status}),(0,t.jsx)("span",{className:"text-sm font-medium",children:i}),e.adapter&&(0,t.jsx)(u.CliBrandChip,{aiTool:e.adapter}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:Number.isNaN((h=new Date(f=e.createdAt)).getTime())?f:h.toLocaleString()})]}),(0,t.jsx)("p",{className:"mt-1 break-words text-xs leading-relaxed text-muted-foreground",children:e.message}),m.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:m.map(e=>(0,t.jsx)(o.Badge,{variant:"outline",className:"rounded font-normal",children:e},e))})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[!e.read&&(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:c,children:(0,t.jsx)(n,{className:"size-4"})}),(0,t.jsx)(r.default,{href:e.href,onClick:c,children:(0,t.jsx)(l.Button,{variant:"outline",size:"sm",children:s})})]})]})}e.s(["default",0,function(){let{t:e}=(0,f.useLanguage)(),{notifications:r,unreadCount:u,markRead:p,markAllRead:v,clearNotifications:m}=(0,h.useNotifications)(),[g,b]=(0,a.useState)("all"),y="all"===g?r:r.filter(e=>e.category===g);return(0,t.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:e("notifications.title")}),r.length>0&&(0,t.jsxs)(o.Badge,{variant:u>0?"destructive":"secondary",className:"rounded-full",children:[u," ",e("notifications.unread")]})]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("notifications.subtitle")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(l.Button,{size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",onClick:v,disabled:0===u,children:[(0,t.jsx)(n,{className:"size-4"}),e("notifications.markAllRead")]}),(0,t.jsxs)(l.Button,{size:"sm",variant:"outline",className:"text-destructive hover:text-destructive",onClick:m,disabled:0===r.length,children:[(0,t.jsx)(s.Trash2,{className:"size-4"}),e("notifications.clearAll")]})]})]}),(0,t.jsx)(c.Tabs,{value:g,onValueChange:e=>b(e),children:(0,t.jsxs)(c.TabsList,{children:[(0,t.jsx)(c.TabsTrigger,{value:"all",children:e("notifications.tabAll")}),(0,t.jsx)(c.TabsTrigger,{value:"session_event",children:e("notifications.tabSessionEvents")}),(0,t.jsx)(c.TabsTrigger,{value:"app_action",children:e("notifications.tabAppActions")})]})}),0===y.length?(0,t.jsx)(d.Card,{className:"forgebadger-animate-in",children:(0,t.jsxs)(d.CardContent,{className:"flex flex-col items-center gap-3 py-16 text-center",children:[(0,t.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,t.jsx)(i.Bell,{className:"size-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e("notifications.emptyTitle")}),(0,t.jsx)("p",{className:"mt-1 max-w-md text-xs text-muted-foreground",children:e("notifications.emptyDescription")})]})]})}):(0,t.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:y.map((r,a)=>(0,t.jsx)(x,{notification:r,index:a,title:e(r.titleKey),openLabel:"app_action"===r.category?e("notifications.viewDetails"):e("notifications.openSession"),contextLabels:{project:e("notifications.projectContext"),session:e("notifications.sessionContext"),cli:e("notifications.cliContext")},onMarkRead:()=>p(r.id)},r.id))})]})}],68307)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7329,e=>{"use strict";let r=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,r],7329)},12603,e=>{"use strict";var r=e.i(66499),t=e.i(65458);e.s(["Card",0,function({className:e,...s}){return(0,r.jsx)("div",{"data-slot":"card",className:(0,t.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,t.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,t.cn)("text-sm text-muted-foreground",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,t.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),...s})},"CardTitle",0,function({className:e,...s}){return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,t.cn)("leading-none font-semibold",e),...s})}])},34487,e=>{"use strict";let r=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,r],34487)},58394,e=>{"use strict";let r=(0,e.i(65174).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,r],58394)},26201,e=>{"use strict";let r=(0,e.i(65174).default)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);e.s(["ArrowUpRight",0,r],26201)},29685,e=>{"use strict";let r=(0,e.i(65174).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,r],29685)},57536,e=>{"use strict";let r=(0,e.i(65174).default)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",0,r],57536)},6421,e=>{"use strict";var r=e.i(66499),t=e.i(85426),s=e.i(6270),i=e.i(79923),a=e.i(60218),o=e.i(35887);e.s(["ErrorNotice",0,function({error:e,retry:t}){let{t:s}=(0,o.useLanguage)();if(!e)return null;let i=e instanceof Error?e.message:String(e),n={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,r.jsxs)("div",{role:"alert",className:"space-y-2 rounded-md border border-destructive/40 p-3 text-sm",children:[(0,r.jsx)("p",{children:s("workspace.error")}),(0,r.jsx)("p",{className:"break-words text-muted-foreground",children:n[i]?s(n[i]):i}),t&&(0,r.jsx)(a.Button,{size:"sm",variant:"outline",onClick:t,children:s("workspace.retry")})]})},"Field",0,function({label:e,children:t}){let s=(0,i.useId)(),a=(0,i.isValidElement)(t)?t:null,o=a?.props.id??s;return(0,r.jsxs)("div",{className:"grid gap-1.5 text-sm",children:[(0,r.jsx)("label",{htmlFor:o,className:"text-muted-foreground",children:e}),a?(0,i.cloneElement)(a,{id:o}):t]})},"Panel",0,function({title:e,children:t}){return(0,r.jsxs)("section",{className:"min-w-0 space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,r.jsx)("h2",{className:"text-sm font-semibold",children:e}),t]})},"WorkspaceStatus",0,function({value:e}){let{t}=(0,o.useLanguage)(),s={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,r.jsx)("span",{className:"inline-flex rounded border border-border/70 px-1.5 py-0.5 text-xs text-muted-foreground",children:s[e]?t(s[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 r=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:e=>e(),retry:!1,onSuccess:async()=>{await r.invalidateQueries({queryKey:["project-manager",e]}),await r.invalidateQueries({queryKey:["collaboration",e]}),await r.invalidateQueries({queryKey:["collaboration","projects"]}),await r.invalidateQueries({queryKey:["dashboard-summary"]})}})}])},19896,e=>{"use strict";var r=e.i(47721);let t="/api/v1/collaboration/projects",s=e=>`${t}/${encodeURIComponent(e)}`,i=(e,r)=>`${s(e)}/tasks/${encodeURIComponent(r)}`,a=(e,r)=>`${s(e)}/runs/${encodeURIComponent(r)}`,o=(e,r)=>({method:e,body:JSON.stringify(r)});function n(e,r){if("string"!=typeof e&&e.capabilities)return e.capabilities.includes(r);let t="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"]})[t]?.includes(r)??!1}e.s(["canDevelop",0,function(e){return n(e,"develop")},"canReview",0,function(e,r,t,s){return!!r&&n(e,"review")&&(!s||r!==t)},"collaborationApi",0,{projects:()=>(0,r.fetchJson)(t),project:e=>(0,r.fetchJson)(s(e)),archive:e=>(0,r.fetchJson)(s(e)+"/archive",o("POST",{})),member:(e,t,i)=>(0,r.fetchJson)(s(e)+"/members",o("PUT",{email:t,role:i})),revoke:(e,t)=>(0,r.fetchJson)(s(e)+"/members/"+encodeURIComponent(t),{method:"DELETE"}),createTask:(e,t)=>(0,r.fetchJson)(s(e)+"/tasks",o("POST",t)),updateTask:(e,t,s)=>(0,r.fetchJson)(i(e,t),o("PATCH",s)),task:(e,t)=>(0,r.fetchJson)(i(e,t)),comment:(e,t,s)=>(0,r.fetchJson)(i(e,t)+"/comments",o("POST",{text:s})),prepare:(e,t,s,a)=>(0,r.fetchJson)(i(e,t)+"/runs",o("POST",{aiTool:s,idempotencyKey:a})),run:(e,t)=>(0,r.fetchJson)(a(e,t)),diff:(e,t,s)=>(0,r.fetchJson)(a(e,t)+"/diff?"+new URLSearchParams({path:s})),links:(e,t,s,i)=>(0,r.fetchJson)(a(e,t)+"/links",o("PATCH",{previewUrl:s,prUrl:i})),review:(e,t,s)=>(0,r.fetchJson)(a(e,t)+"/review",o("POST",s)),integrate:(e,t,s)=>(0,r.fetchJson)(a(e,t)+"/integrate",o("POST",{expectedCommit:s})),recover:(e,t,s)=>(0,r.fetchJson)(a(e,t)+"/recover",o("POST",{idempotencyKey:s})),reconcile:(e,t,s,i)=>(0,r.fetchJson)(a(e,t)+"/reconcile",o("POST",{expectedCommit:s,idempotencyKey:i})),pullRequest:(e,t,s)=>(0,r.fetchJson)(a(e,t)+"/pull-request",o("POST",s)),close:(e,t)=>(0,r.fetchJson)(a(e,t)+"/close",o("POST",{})),handoff:(e,t)=>(0,r.fetchJson)(a(e,t)+"/handoff")},"hasCapability",0,n,"safeWorkspaceUrl",0,function(e){if(e)try{let r=new URL(e);return!["http:","https:"].includes(r.protocol)||r.username||r.password?void 0:r.href}catch{return}},"secureCredentialTransport",0,function(e,r){let t=e=>{try{let r=new URL(e);return!r.username&&!r.password&&("https:"===r.protocol||"http:"===r.protocol&&["localhost","127.0.0.1","[::1]"].includes(r.hostname))}catch{return!1}};return t(e)&&t(r)}])},74880,e=>{"use strict";var r=e.i(47721);let t=(e,r)=>`/api/v1/collaboration/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(r)}/copilot-artifacts`;e.s(["getProjectTaskContext",0,function(e){return(0,r.fetchJson)(`/api/v1/projects/${encodeURIComponent(e)}/project-manager/context`)},"taskArtifactsApi",0,{list:(e,s)=>(0,r.fetchJson)(t(e,s)),link:(e,s,i)=>(0,r.fetchJson)(t(e,s),{method:"POST",body:JSON.stringify(i)})}])},60961,e=>{"use strict";var r=e.i(66499),t=e.i(41271),s=e.i(85426),i=e.i(79923);e.i(92251);var a=e.i(64300),o=e.i(82204),n=e.i(4780),c=e.i(57158);function l(e,r){let t=new Set(r);return e.filter(e=>!t.has(e))}var d=class extends n.Subscribable{#e;#r;#t;#s;#i;#a;#o;#n;#c;#l=[];constructor(e,r,t){super(),this.#e=e,this.#s=t,this.#t=[],this.#i=[],this.#r=[],this.setQueries(r)}onSubscribe(){1===this.listeners.size&&this.#i.forEach(e=>{e.subscribe(r=>{this.#d(e,r)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,r){this.#t=e,this.#s=r,a.notifyManager.batch(()=>{let e=this.#i,r=this.#u(this.#t);r.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let t=r.map(e=>e.observer),s=t.map(e=>e.getCurrentResult()),i=e.length!==t.length,a=t.some((r,t)=>r!==e[t]),o=i||a,n=!!o||s.some((e,r)=>{let t=this.#r[r];return!t||!(0,c.shallowEqualObjects)(e,t)});(o||n)&&(o&&(this.#l=r,this.#i=t),this.#r=s,this.hasListeners()&&(o&&(l(e,t).forEach(e=>{e.destroy()}),l(t,e).forEach(e=>{e.subscribe(r=>{this.#d(e,r)})})),this.#p()))})}getCurrentResult(){return this.#r}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,r){let t=this.#u(e),s=t.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=t.map(e=>e.defaultedQueryOptions.queryHash);return[s,e=>this.#h(e??s,r,i),()=>this.#m(s,t)]}#m(e,r){return r.map((t,s)=>{let i=e[s];return t.defaultedQueryOptions.notifyOnChangeProps?i:t.observer.trackResult(i,e=>{r.forEach(r=>{r.observer.trackProp(e)})})})}#h(e,r,t){if(r){let s=this.#c,i=void 0!==t&&void 0!==s&&(s.length!==t.length||t.some((e,r)=>e!==s[r]));return(!this.#a||this.#r!==this.#n||i||r!==this.#o)&&(this.#o=r,this.#n=this.#r,void 0!==t&&(this.#c=t),this.#a=(0,c.replaceEqualDeep)(this.#a,r(e))),this.#a}return e}#E(){return this.#s?.combine!==void 0&&this.#i.some((e,r)=>e.options.suspense&&this.#r[r]?.data===void 0)}#u(e){let r=new Map;this.#i.forEach(e=>{let t=e.options.queryHash;if(!t)return;let s=r.get(t);s?s.push(e):r.set(t,[e])});let t=[];return e.forEach(e=>{let s=this.#e.defaultQueryOptions(e),i=r.get(s.queryHash)?.shift()??new o.QueryObserver(this.#e,s);t.push({defaultedQueryOptions:s,observer:i})}),t}#d(e,r){let t=this.#i.indexOf(e);if(-1!==t){var s;let e;this.#r=(s=this.#r,(e=s.slice(0))[t]=r,e),this.#p()}}#p(){if(this.hasListeners()){let e=this.#m(this.#r,this.#l),r=this.#E(),t=this.#a,s=r?t:this.#h(e,this.#s?.combine);(r||t!==s)&&a.notifyManager.batch(()=>{this.listeners.forEach(e=>{e(this.#r)})})}}},u=e.i(6270),p=e.i(60026),h=e.i(28433),m=e.i(95961),E=e.i(69299);function f({queries:e,...r},t){let s=(0,u.useQueryClient)(t),n=(0,p.useIsRestoring)(),l=(0,h.useQueryErrorResetBoundary)(),R=i.useMemo(()=>e.map(e=>{let r=s.defaultQueryOptions(e);return r._optimisticResults=n?"isRestoring":"optimistic",r}),[e,s,n]);R.forEach(e=>{(0,E.ensureSuspenseTimers)(e);let r=s.getQueryCache().get(e.queryHash);(0,m.ensurePreventErrorBoundaryRetry)(e,l,r)}),(0,m.useClearResetErrorBoundary)(l);let[y]=i.useState(()=>new d(s,R,r)),[v,b,x]=y.getOptimisticResult(R,r.combine),g=!n&&!1!==r.subscribed;i.useSyncExternalStore(i.useCallback(e=>g?y.subscribe(a.notifyManager.batchCalls(e)):c.noop,[y,g]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),i.useEffect(()=>{y.setQueries(R,r)},[R,r,y]);let w=v.some((e,r)=>(0,E.shouldSuspend)(R[r],e))?v.flatMap((e,r)=>{let t=R[r];if(t&&(0,E.shouldSuspend)(t,e)){let e=new o.QueryObserver(s,t);return(0,E.fetchOptimistic)(t,e,l)}return[]}):[];if(w.length>0)throw Promise.all(w);let _=v.find((e,r)=>{let t=R[r];return t&&(0,m.getHasError)({result:e,errorResetBoundary:l,throwOnError:t.throwOnError,query:s.getQueryCache().get(t.queryHash),suspense:t.suspense})});if(_?.error)throw _.error;return b(x())}var R=e.i(78717),y=e.i(26201),v=e.i(29685),b=e.i(58394),x=e.i(7329),g=e.i(57536),w=e.i(34487),_=e.i(60218),k=e.i(12603),C=e.i(47721),T=e.i(74880),N=e.i(19896),I=e.i(6421),O=e.i(47190),j=e.i(35887);e.s(["default",0,function(){let{t:e}=(0,j.useLanguage)(),{user:i}=(0,O.useAuth)(),a=(0,u.useQueryClient)(),o=(0,s.useMutation)({mutationFn:C.deleteProject,onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),await a.invalidateQueries({queryKey:["collaboration","projects"]})}}),{data:n,isLoading:c,error:l,refetch:d}=(0,R.useQuery)({queryKey:["projects",i?.id],enabled:!!i,queryFn:C.listProjects}),p=(0,R.useQuery)({queryKey:["collaboration","projects",i?.id],enabled:!!i,queryFn:N.collaborationApi.projects}),h=n?.projects??[],m=[...h.map(e=>({id:e.id,name:e.name,status:e.status,path:e.path??e.rootPath})),...(p.data?.projects??[]).filter(e=>!h.some(r=>r.id===e.id)).map(e=>({id:e.id,name:e.name,status:e.role,path:void 0}))],E=f({queries:m.map(e=>({queryKey:["project-task-context",e.id,i?.id],enabled:!!i,queryFn:()=>(0,T.getProjectTaskContext)(e.id),retry:!1}))}),S=f({queries:m.map((e,r)=>({queryKey:["project",e.id,"git-branch"],queryFn:()=>(0,C.getProjectGitChanges)(e.id),enabled:E[r]?.data?.privateDetailAllowed===!0,staleTime:6e4}))}),A=l??p.error;return(0,r.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:e("projects.title")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("projects.subtitle")})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(_.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,r.jsxs)(t.default,{href:"/projects/new",children:[(0,r.jsx)(x.Plus,{className:"size-4"}),e("projects.new")]})}),(0,r.jsx)(_.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,r.jsxs)(t.default,{href:"/projects/import",children:[(0,r.jsx)(v.Download,{className:"size-4"}),e("common.import")]})})]})]}),(0,r.jsx)(I.ErrorNotice,{error:o.error}),A?(0,r.jsx)(I.ErrorNotice,{error:A,retry:()=>{d(),p.refetch()}}):c||p.isLoading?(0,r.jsx)(k.Card,{children:(0,r.jsx)(k.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:e("projects.loading")})}):0===m.length?(0,r.jsx)(k.Card,{children:(0,r.jsxs)(k.CardContent,{className:"flex flex-col items-center gap-3 py-12 text-center",children:[(0,r.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,r.jsx)(b.FolderOpen,{className:"size-5"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:e("projects.emptyTitle")}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("projects.emptyDescription")})]}),(0,r.jsx)(_.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,r.jsxs)(t.default,{href:"/projects/new",children:[(0,r.jsx)(x.Plus,{className:"size-4"}),e("projects.create")]})})]})}):(0,r.jsx)("div",{className:"divide-y divide-border/70 overflow-hidden rounded-lg border border-border bg-card",children:m.map((s,i)=>(0,r.jsxs)("div",{className:"forgebadger-animate-in flex items-center gap-3 px-4 py-3 transition-colors hover:bg-muted/40",style:{animationDelay:`${40*i}ms`},children:[(0,r.jsxs)(t.default,{href:`/projects/${s.id}`,className:"group flex min-w-0 flex-1 items-center gap-3",children:[(0,r.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,r.jsx)(b.FolderOpen,{className:"size-4"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate text-sm font-medium",children:s.name}),(0,r.jsx)("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:E[i]?.data?.privateDetailAllowed?s.path:e("projects.devTasks")})]}),S[i]?.data?.branch&&(0,r.jsxs)("span",{className:"hidden items-center gap-1 text-xs text-muted-foreground sm:inline-flex",children:[(0,r.jsx)(g.GitBranch,{className:"size-3"}),S[i]?.data?.branch]}),(0,r.jsx)("span",{className:"hidden w-20 shrink-0 truncate text-right text-xs text-muted-foreground sm:inline",children:s.status??"—"}),(0,r.jsx)(y.ArrowUpRight,{className:"size-4 shrink-0 text-muted-foreground/30 transition-colors group-hover:text-brand"})]}),E[i]?.data?.privateDetailAllowed&&(0,r.jsx)(_.Button,{variant:"ghost",size:"icon-sm",disabled:o.isPending,"aria-label":`${e("projects.deleteRecord")} ${s.name}`,onClick:()=>{window.confirm(e("projects.deleteConfirm"))&&o.mutate(s.id)},children:(0,r.jsx)(w.Trash2,{className:"size-4"})})]},s.id))})]})}],60961)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38355,e=>{"use strict";var t=e.i(47721);e.s(["createGrant",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(e)})},"deleteGrant",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(e)}`,{method:"DELETE"})},"getPlatformAction",0,function(e){return(0,t.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(e)}`)},"getProjectOverview",0,function(e){return(0,t.fetchJson)(`/api/v1/project-manager/overview${e?`?grantId=${encodeURIComponent(e)}`:""}`)},"getSessionWriter",0,function(e){return(0,t.fetchJson)(`/api/v1/sessions/${encodeURIComponent(e)}/writer`)},"listGrants",0,function(){return(0,t.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(e)}/revoke`,{method:"POST"})},"takeoverSession",0,function(e){return(0,t.fetchJson)(`/api/v1/sessions/${encodeURIComponent(e)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(e,o){return(0,t.fetchJson)(`/api/v1/projects/${encodeURIComponent(e)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(o)})}])},62918,e=>{"use strict";var t=e.i(66499),o=e.i(94237),i=e.i(82909),n=e.i(65458);let a=(0,o.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:o="default",asChild:s=!1,...r}){let l=s?i.Slot.Root:"span";return(0,t.jsx)(l,{"data-slot":"badge","data-variant":o,className:(0,n.cn)(a({variant:o}),e),...r})}])},34487,e=>{"use strict";let t=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],34487)},26624,e=>{"use strict";var t=e.i(66499),o=e.i(79923),i=e.i(91967),n=e.i(67928),a=e.i(43250),s=e.i(17256),r=e.i(84017),l=e.i(61614),c=e.i(80939),d="Switch",[p,u]=(0,a.createContextScope)(d),[m,h]=p(d),g=o.forwardRef((e,a)=>{let{__scopeSwitch:r,name:l,checked:p,defaultChecked:u,required:h,disabled:g,value:v="on",onCheckedChange:f,form:b,...k}=e,[C,S]=o.useState(null),w=(0,n.useComposedRefs)(a,e=>S(e)),j=o.useRef(!1),N=!C||b||!!C.closest("form"),[T,P]=(0,s.useControllableState)({prop:p,defaultProp:u??!1,onChange:f,caller:d});return(0,t.jsxs)(m,{scope:r,checked:T,disabled:g,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":h,"data-state":x(T),"data-disabled":g?"":void 0,disabled:g,value:v,...k,ref:w,onClick:(0,i.composeEventHandlers)(e.onClick,e=>{P(e=>!e),N&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),N&&(0,t.jsx)(y,{control:C,bubbles:!j.current,name:l,value:v,checked:T,required:h,disabled:g,form:b,style:{transform:"translateX(-100%)"}})]})});g.displayName=d;var v="SwitchThumb",f=o.forwardRef((e,o)=>{let{__scopeSwitch:i,...n}=e,a=h(v,i);return(0,t.jsx)(c.Primitive.span,{"data-state":x(a.checked),"data-disabled":a.disabled?"":void 0,...n,ref:o})});f.displayName=v;var y=o.forwardRef(({__scopeSwitch:e,control:i,checked:a,bubbles:s=!0,...c},d)=>{let p=o.useRef(null),u=(0,n.useComposedRefs)(p,d),m=(0,r.usePrevious)(a),h=(0,l.useSize)(i);return o.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(m!==a&&t){let o=new Event("click",{bubbles:s});t.call(e,a),e.dispatchEvent(o)}},[m,a,s]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...c,tabIndex:-1,ref:u,style:{...c.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function x(e){return e?"checked":"unchecked"}y.displayName="SwitchBubbleInput",e.s(["Root",0,g,"Switch",0,g,"SwitchThumb",0,f,"Thumb",0,f,"createSwitchScope",0,u],50512);var b=e.i(50512),b=b,k=e.i(65458);e.s(["Switch",0,function({className:e,size:o="default",...i}){return(0,t.jsx)(b.Root,{"data-slot":"switch","data-size":o,className:(0,k.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),...i,children:(0,t.jsx)(b.Thumb,{"data-slot":"switch-thumb",className:(0,k.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)},84017,e=>{"use strict";var t=e.i(79923);e.s(["usePrevious",0,function(e){let o=t.useRef({value:e,previous:e});return t.useMemo(()=>(o.current.value!==e&&(o.current.previous=o.current.value,o.current.value=e),o.current.previous),[e])}])},51173,e=>{"use strict";let t=(0,e.i(65174).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t])},52860,e=>{"use strict";var t=e.i(51173);e.s(["ChevronRight",()=>t.default])},92608,e=>{"use strict";var t=e.i(47721);e.s(["acceptAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/accept`,{method:"POST"})},"cancelRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/cancel`,{method:"POST"})},"createAutomation",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(e)})},"createConversation",0,function(e,o){return(0,t.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...e?{title:e}:{},...o?{grantId:o}:{}})})},"decidePendingAction",0,function(e,o,i){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/pending-actions/${encodeURIComponent(o)}/decide`,{method:"POST",body:JSON.stringify({approved:i})})},"deleteAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteConversation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(e)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/dismiss`,{method:"POST"})},"editMessage",0,function(e,o,i){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:o,content:i})})},"enableAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,t.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}`)},"listAutomationSuggestions",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/runs`)},"listConversations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(e={}){let o=new URLSearchParams;return e.scope&&o.set("scope",e.scope),e.projectId&&o.set("projectId",e.projectId),e.limit&&o.set("limit",String(e.limit)),(0,t.fetchJson)(`/api/v1/copilot/memory/entries?${o.toString()}`)},"listMessages",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`)},"pauseAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/pause`,{method:"POST"})},"renameConversation",0,function(e,o){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({title:o})})},"runAutomationNow",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/run`,{method:"POST"})},"sendMessage",0,function(e,o,i,n){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify({content:o,...i?{modelId:i}:{},...n})})},"setCopilotToolEnabled",0,function(e,o){return(0,t.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:o})})}])},34558,e=>{"use strict";let t=(0,e.i(65174).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],34558)},71326,e=>{"use strict";let t=(0,e.i(65174).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],71326)},83540,96588,84959,4484,e=>{"use strict";var t=e.i(65174);let o=(0,t.default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,o],83540);let i=(0,t.default)("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",0,i],96588);let n=(0,t.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,n],84959);let a=(0,t.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,a],4484)},42831,e=>{"use strict";var t=e.i(35887);let o={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","pm.task.execute":"下发并执行任务","session.start":"启动会话","session.stop":"停止会话","session.dispatch":"向会话下发指令","memory.write":"写入记忆"},navAriaLabel:"Copilot 设置导航",navGeneral:"常规",navAccess:"授权",navExtensions:"扩展",navChannels:"远程渠道",navAutomations:"自动化",backToChat:"返回对话",accessCardTitle:"授权",accessCardDescription:"决定 Copilot 可以在哪些项目里执行哪些操作,以及次数与有效期。",channelsCardTitle:"远程渠道",channelsCardDescription:"配置飞书远程操作:应用接入、身份确认与授权绑定。",manageModels:"管理模型",accessTitle:"授权与项目权限",accessDescription:"授权决定 Copilot 可以在哪些项目内执行哪些操作。所有写操作都受授权约束,可随时撤销。",howTitle:"授权如何工作",howStep1:"选择项目与允许的操作",howStep2:"设置有效期、次数与并发上限",howStep3:"绑定到新会话,Copilot 在范围内工作",howNote:"撤销授权立即停止后续操作,已发生的操作保留记录。授权绑定会话后不可切换。",grantsTitle:"项目授权",grantsDescription:"每个授权限定一组项目和允许的操作,用于绑定新会话。",newGrant:"新建授权",loading:"正在加载授权…",loadError:"授权加载失败",retry:"重试",empty:"尚未创建授权。新建一个授权,让 Copilot 在指定项目内为你工作。",boundPrefix:"当前会话绑定:",statusActive:"有效",statusExpired:"已过期",statusRevoked:"已撤销",usageActions:"操作次数",concurrency:"最大并发",expiry:"到期",permanent:"长期有效,直至撤销",unlimited:"不限",startConversation:"以此授权新建会话",revoke:"撤销授权",deleteGrant:"删除授权",showRevoked:"查看已撤销授权",hideRevoked:"收起已撤销授权",revokedHelp:"删除后不再出现在列表中,历史会话和操作记录仍保留。",projectsEmpty:"无现有项目",createTitle:"新建授权",createDescription:"选择项目即可创建:默认允许所选项目的全部可授权操作,长期有效,直至撤销。",stepProjects:"项目范围",stepPermissions:"权限范围",stepLimits:"有效期与限额",nameLabel:"授权名称(可选)",namePlaceholder:"按所选项目自动命名",allOperations:"允许所有当前可授权操作",allOperationsHelp:"目录权限仅限所选项目目录内。未来新增操作和新建项目不会自动加入授权。",customOperationsHelp:"自定义模式按填写的根目录授权。未来新增操作和新建项目不会自动加入授权。",allowedRootsLabel:"允许创建项目的根目录(每行一个绝对路径)",permanentLabel:"长期有效,直到撤销",unlimitedLabel:"不限制累计操作次数",hoursLabel:"有效小时",limitLabel:"操作次数上限",concurrencyLabel:"最大并发",advanced:"高级设置(可选)",create:"创建授权",creating:"正在创建…",created:"授权已创建,可在授权列表中使用。",cancel:"取消",errorGeneric:"操作失败,请重试",errNoProject:"请至少选择一个项目。",errNoOperation:"请至少选择一项允许操作,或开启所有操作。",errNoRoots:"请填写允许创建项目的目录,或切换为默认的所有操作。",errConcurrency:"最大并发须为 1–20。",errHours:"有效小时须为 1–8760。",errLimit:"操作次数上限须为 1–10000。",errCreate:"创建失败,请重试。"},i={capabilities:{"project.create":"Create projects","project.metadata.update":"Update project metadata","pm.work_item.create":"Create work items","pm.work_item.metadata":"Update work item metadata","pm.management.update":"Update owner and next step","pm.task.prepare":"Prepare tasks","pm.task.execute":"Dispatch and execute tasks","session.start":"Start sessions","session.stop":"Stop sessions","session.dispatch":"Dispatch instructions to sessions","memory.write":"Write memory"},navAriaLabel:"Copilot settings navigation",navGeneral:"General",navAccess:"Access",navExtensions:"Extensions",navChannels:"Channels",navAutomations:"Automations",backToChat:"Back to chat",accessCardTitle:"Access",accessCardDescription:"Decide which projects Copilot may act on, which operations are allowed, and the usage limits.",channelsCardTitle:"Channels",channelsCardDescription:"Set up Feishu remote operation: app connection, identity confirmation, and grant binding.",manageModels:"Manage models",accessTitle:"Access and project permissions",accessDescription:"Grants decide which projects Copilot may act on and which operations are allowed. Every write operation is constrained by a grant and can be revoked at any time.",howTitle:"How grants work",howStep1:"Pick projects and allowed operations",howStep2:"Set expiry, action, and concurrency limits",howStep3:"Bind to a new conversation and let Copilot work in scope",howNote:"Revoking a grant stops further actions immediately; completed actions stay on record. A grant-bound conversation cannot switch grants.",grantsTitle:"Project grants",grantsDescription:"Each grant scopes a set of projects and allowed operations, and binds to a new conversation.",newGrant:"New grant",loading:"Loading grants…",loadError:"Failed to load grants",retry:"Retry",empty:"No grants yet. Create one to let Copilot work inside the projects you choose.",boundPrefix:"Current conversation bound to: ",statusActive:"Active",statusExpired:"Expired",statusRevoked:"Revoked",usageActions:"Actions",concurrency:"Max concurrency",expiry:"Expires",permanent:"Valid until revoked",unlimited:"Unlimited",startConversation:"Start a conversation with this grant",revoke:"Revoke grant",deleteGrant:"Delete grant",showRevoked:"Show revoked grants",hideRevoked:"Hide revoked grants",revokedHelp:"Deleted grants disappear from this list; historical conversations and action records are kept.",projectsEmpty:"No existing projects",createTitle:"New grant",createDescription:"Pick projects to create a grant: all currently grantable operations on the selected projects are allowed by default, valid until revoked.",stepProjects:"Project scope",stepPermissions:"Permissions",stepLimits:"Expiry and limits",nameLabel:"Grant name (optional)",namePlaceholder:"Named after the selected projects",allOperations:"Allow all currently grantable operations",allOperationsHelp:"Directory access stays within the selected projects. New operations and new projects are not added automatically.",customOperationsHelp:"Custom mode grants the root directories you enter. New operations and new projects are not added automatically.",allowedRootsLabel:"Root directories allowed for project creation (one absolute path per line)",permanentLabel:"Valid until revoked",unlimitedLabel:"Unlimited total actions",hoursLabel:"Valid hours",limitLabel:"Action limit",concurrencyLabel:"Max concurrency",advanced:"Advanced (optional)",create:"Create grant",creating:"Creating…",created:"Grant created. It is now available in the grant list.",cancel:"Cancel",errorGeneric:"Action failed. Please retry.",errNoProject:"Select at least one project.",errNoOperation:"Select at least one allowed operation, or enable all operations.",errNoRoots:"Enter the directories allowed for project creation, or switch back to all operations.",errConcurrency:"Max concurrency must be 1–20.",errHours:"Valid hours must be 1–8760.",errLimit:"Action limit must be 1–10000.",errCreate:"Creation failed. Please retry."},n={...o,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","pm.task.execute":"下發並執行任務","session.start":"啟動工作階段","session.stop":"停止工作階段","session.dispatch":"向工作階段下發指令","memory.write":"寫入記憶"},navAriaLabel:"Copilot 設定導覽",navGeneral:"一般",navAccess:"授權",navExtensions:"擴充",navChannels:"遠端渠道",navAutomations:"自動化",backToChat:"返回對話",accessCardTitle:"授權",accessCardDescription:"決定 Copilot 可以在哪些專案裡執行哪些操作,以及次數與有效期。",channelsCardTitle:"遠端渠道",channelsCardDescription:"設定飛書遠端操作:應用接入、身份確認與授權綁定。",manageModels:"管理模型",accessTitle:"授權與專案權限",accessDescription:"授權決定 Copilot 可以在哪些專案內執行哪些操作。所有寫入操作都受授權約束,可隨時撤銷。",howTitle:"授權如何運作",howStep1:"選擇專案與允許的操作",howStep2:"設定有效期、次數與並發上限",howStep3:"綁定到新對話,Copilot 在範圍內工作",howNote:"撤銷授權立即停止後續操作,已發生的操作保留記錄。授權綁定對話後不可切換。",grantsTitle:"專案授權",grantsDescription:"每個授權限定一組專案和允許的操作,用於綁定新對話。",newGrant:"新增授權",loading:"正在載入授權…",loadError:"授權載入失敗",retry:"重試",empty:"尚未建立授權。新增一個授權,讓 Copilot 在指定專案內為你工作。",boundPrefix:"目前對話綁定:",statusActive:"有效",statusExpired:"已過期",statusRevoked:"已撤銷",usageActions:"操作次數",concurrency:"最大並發",expiry:"到期",permanent:"長期有效,直至撤銷",unlimited:"不限",startConversation:"以此授權新增對話",revoke:"撤銷授權",deleteGrant:"刪除授權",showRevoked:"查看已撤銷授權",hideRevoked:"收起已撤銷授權",revokedHelp:"刪除後不再出現在列表中,歷史對話和操作記錄仍保留。",projectsEmpty:"無現有專案",createTitle:"新增授權",createDescription:"選擇專案即可建立:預設允許所選專案的全部可授權操作,長期有效,直至撤銷。",stepProjects:"專案範圍",stepPermissions:"權限範圍",stepLimits:"有效期與限額",nameLabel:"授權名稱(可選)",namePlaceholder:"按所選專案自動命名",allOperations:"允許所有目前可授權操作",allOperationsHelp:"目錄權限僅限所選專案目錄內。未來新增操作和新建專案不會自動加入授權。",customOperationsHelp:"自訂模式按填寫的根目錄授權。未來新增操作和新建專案不會自動加入授權。",allowedRootsLabel:"允許建立專案的根目錄(每行一個絕對路徑)",permanentLabel:"長期有效,直到撤銷",unlimitedLabel:"不限制累計操作次數",hoursLabel:"有效小時",limitLabel:"操作次數上限",concurrencyLabel:"最大並發",advanced:"進階設定(可選)",create:"建立授權",creating:"正在建立…",created:"授權已建立,可在授權列表中使用。",cancel:"取消",errorGeneric:"操作失敗,請重試",errNoProject:"請至少選擇一個專案。",errNoOperation:"請至少選擇一項允許操作,或開啟所有操作。",errNoRoots:"請填寫允許建立專案的目錄,或切換為預設的所有操作。",errConcurrency:"最大並發須為 1–20。",errHours:"有效小時須為 1–8760。",errLimit:"操作次數上限須為 1–10000。",errCreate:"建立失敗,請重試。"};e.s(["useSettingsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?i:"zh-TW"===e?n:o}])},63134,e=>{"use strict";var t=e.i(66499),o=e.i(41271),i=e.i(86059),n=e.i(34558),a=e.i(83540),s=e.i(96588),r=e.i(84959),l=e.i(71326),c=e.i(4484),d=e.i(60218),p=e.i(42831);e.s(["CopilotSettingsShell",0,function({active:e,title:u,description:m,children:h}){let g,v=(0,p.useSettingsCopy)(),f=(0,i.useRouter)(),y=(g=(0,p.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:c.SlidersHorizontal,label:g.navGeneral},{key:"access",href:"/copilot/settings/access",icon:l.ShieldCheck,label:g.navAccess},{key:"extensions",href:"/copilot/extensions",icon:s.Puzzle,label:g.navExtensions},{key:"channels",href:"/copilot/channels",icon:r.Radio,label:g.navChannels},{key:"automations",href:"/copilot/automations",icon:a.CalendarClock,label:g.navAutomations}]);return(0,t.jsxs)("div",{className:"mx-auto flex h-full w-full max-w-6xl flex-col gap-5 overflow-y-auto p-4 md:p-6",children:[(0,t.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":v.backToChat,title:v.backToChat,onClick:()=>f.push("/copilot"),children:(0,t.jsx)(n.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold",children:u}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m})]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,t.jsx)("nav",{"aria-label":v.navAriaLabel,className:"forgebadger-animate-in flex shrink-0 gap-1 overflow-x-auto pb-1 md:w-44 md:flex-col md:overflow-visible md:pb-0",style:{animationDelay:"60ms"},children:y.map(i=>{let n=i.icon,a=i.key===e;return(0,t.jsxs)(o.default,{href:i.href,"aria-current":a?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${a?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,t.jsx)(n,{className:`size-4 shrink-0 ${a?"text-brand":""}`}),i.label]},i.key)})}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:h})]})]})}])},58171,e=>{"use strict";let t=(0,e.i(65174).default)("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);e.s(["Cpu",0,t],58171)},41081,99831,e=>{"use strict";var t=e.i(66499),o=e.i(79923),i=e.i(85426),n=e.i(78717),a=e.i(6270),s=e.i(44269),r=e.i(9939),l=e.i(62918),c=e.i(81622),d=e.i(26624),p=e.i(35887),u=e.i(47721),m=e.i(92608);let h="/api/v1/copilot",g=e=>`${h}/skills/${encodeURIComponent(e)}`,v=e=>`${h}/connections/${encodeURIComponent(e)}`,f=["copilot","skills"];e.s(["copilotConnectionsKey",0,["copilot","connections"],"copilotSkillsKey",0,f,"createCopilotConnection",0,e=>(0,u.fetchJson)(`${h}/connections`,{method:"POST",body:JSON.stringify(e)}),"deleteCopilotConnection",0,(e,t)=>(0,u.fetchJson)(`${v(e)}?revision=${t}`,{method:"DELETE"}),"discoverCopilotConnection",0,(e,t)=>(0,u.fetchJson)(`${v(e)}/discover`,{method:"POST",body:JSON.stringify({revision:t})}),"getCopilotSkill",0,e=>(0,u.fetchJson)(g(e)),"getSkillRevision",0,(e,t)=>(0,u.fetchJson)(`${g(e)}/revisions/${encodeURIComponent(t)}`),"importCopilotSkill",0,e=>(0,u.fetchJson)(`${h}/skills/imports`,{method:"POST",body:JSON.stringify(e)}),"listCopilotConnections",0,()=>(0,u.fetchJson)(`${h}/connections`),"listCopilotSkills",0,()=>(0,u.fetchJson)(`${h}/skills`),"listSkillRevisions",0,e=>(0,u.fetchJson)(`${g(e)}/revisions`),"rollbackCopilotSkill",0,(e,t,o)=>(0,u.fetchJson)(`${g(e)}/rollback`,{method:"POST",body:JSON.stringify({revisionId:t,expectedRevisionId:o})}),"setCopilotSkillEnabled",0,(e,t,o)=>(0,u.fetchJson)(`${g(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:t,expectedRevisionId:o})}),"updateCopilotConnection",0,(e,t)=>(0,u.fetchJson)(v(e),{method:"PUT",body:JSON.stringify(t)}),"updateCopilotSkill",0,(e,t)=>(0,u.fetchJson)(g(e),{method:"PUT",body:JSON.stringify(t)})],99831);let y=["model-providers"],x=["copilot","capabilities"];function b({title:e,tools:o,pending:i,onToggle:n}){return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold tracking-wide text-muted-foreground/70 uppercase",children:e}),o.map(e=>(0,t.jsx)(k,{tool:e,pending:i,onToggle:t=>n(e.name,t)},e.name))]})}function k({tool:e,pending:o,onToggle:i}){let{t:n}=(0,p.useLanguage)(),a=`copilot.toolDesc.${e.name}`,s=n(a),c=s===a?e.description:s;return(0,t.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,t.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,t.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(r.Wrench,{className:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,t.jsx)("span",{className:"font-mono",children:e.name}),"operate"===e.risk?(0,t.jsx)(l.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,t.jsx)(l.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:n("copilot.toolAuthorization")}):null]}),(0,t.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:c}),e.available?null:(0,t.jsxs)("p",{className:"text-xs text-amber-500",children:[n("copilot.toolUnavailable"),": ",e.unavailableReason??n("copilot.toolUnavailable")]})]}),(0,t.jsx)(d.Switch,{"aria-label":e.name,size:"sm",className:"mt-0.5 shrink-0",disabled:o||!e.available,checked:e.enabled,onCheckedChange:i})]})}e.s(["CapabilitiesSection",0,function({active:e}){let{t:r}=(0,p.useLanguage)(),l=(0,a.useQueryClient)(),[d,u]=(0,o.useState)(null),[h,g]=(0,o.useState)(""),v=(0,n.useQuery)({queryKey:x,queryFn:m.getCopilotCapabilities,enabled:e,retry:!1}),y=(0,i.useMutation)({mutationFn:({name:e,enabled:t})=>(0,m.setCopilotToolEnabled)(e,t),onSuccess:()=>{u(null),l.invalidateQueries({queryKey:x}),l.invalidateQueries({queryKey:f})},onError:()=>u(r("copilot.capabilitiesToggleError"))}),k=v.data?.tools??[],C=h.trim().toLowerCase(),S=C?k.filter(e=>`${e.name} ${e.description}`.toLowerCase().includes(C)):k,w=S.filter(e=>"operate"===e.risk),j=S.filter(e=>"operate"!==e.risk);return(0,t.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:r("copilot.capabilities")}),v.isPending||v.isError||!(k.length>0)?null:(0,t.jsxs)("div",{className:"relative w-48 max-w-full",children:[(0,t.jsx)(s.Search,{className:"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),(0,t.jsx)(c.Input,{value:h,onChange:e=>g(e.target.value),placeholder:r("copilot.toolsSearch"),className:"h-8 pl-8 text-xs"})]})]}),v.isPending?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("common.loading")}):v.isError?(0,t.jsx)("p",{className:"text-xs text-destructive",children:r("copilot.capabilitiesLoadError")}):0===k.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("copilot.capabilitiesEmpty")}):0===S.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r("copilot.toolsSearchEmpty")}):(0,t.jsxs)("div",{className:"space-y-3",children:[w.length>0?(0,t.jsx)(b,{title:r("copilot.toolGroupOperate"),tools:w,pending:y.isPending,onToggle:(e,t)=>y.mutate({name:e,enabled:t})}):null,j.length>0?(0,t.jsx)(b,{title:r("copilot.toolGroupRead"),tools:j,pending:y.isPending,onToggle:(e,t)=>y.mutate({name:e,enabled:t})}):null]}),d&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:d})]})},"CopilotStatusBar",0,function({modelId:e,onModelChange:i}){let{t:a}=(0,p.useLanguage)(),s=(0,n.useQuery)({queryKey:y,queryFn:u.listModelProviders}),r=(s.data?.models??[]).filter(e=>"disabled"!==e.status),c=r.find(e=>e.isDefault)??r[0],d=c?`${c.providerName} / ${c.name}`:a("copilot.followSystemDefault");return(0,o.useEffect)(()=>{s.data&&e&&i&&(r.some(t=>t.id===e)||i(null))},[s.data,e,i]),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-b px-4 py-1.5 text-xs text-muted-foreground","data-testid":"copilot-status-bar",children:[(0,t.jsx)("span",{className:"shrink-0",children:a("copilot.currentModel")}),i?(0,t.jsxs)("select",{"aria-label":a("copilot.currentModel"),className:"max-w-64 truncate rounded border border-border bg-background px-1 py-0.5 text-xs text-foreground",value:e??"",onChange:e=>i(e.target.value||null),children:[(0,t.jsxs)("option",{value:"",children:[a("copilot.followSystemDefault"),c?`(${d})`:""]}),r.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.providerName," / ",e.name]},e.id))]}):(0,t.jsx)("span",{className:"truncate",children:d}),(0,t.jsxs)(l.Badge,{variant:"secondary",className:"ml-auto gap-1.5 whitespace-nowrap",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),a("copilot.nativeRuntime")]})]})},"modelProvidersQueryKey",0,y],41081)},15044,e=>{"use strict";var t=e.i(35887);let o={clearCredential:"移除已保存凭证",title:"Copilot 扩展",description:"安装 Skills,连接工具服务,扩展 Copilot 的工作能力。",back:"返回设置",skills:"Skills",connections:"Connections",loading:"加载中...",retry:"重试",cancel:"取消",save:"保存",close:"关闭",error:"操作失败。请重试;如配置或版本已变化,请刷新后重新核对。",loadError:"加载失败,请重试。",skillsHelp:"Skills 提供操作指引和参考文件。这里的启用状态独立于 CLI Skills。",emptySkills:"尚未安装 Skill。",importSkill:"导入 Skill",builtin:"内置",imported:"已导入",playbook:"内置 Playbook",enabled:"已启用",disabled:"已停用",unavailable:"当前不可用",incompatible:"不兼容",review:"需要核对版本",dependencies:"依赖工具",detail:"详情与版本",source:"来源",files:"文件",version:"版本",history:"版本记录",saveSkill:"保存完整文件包",rollback:"回滚到此版本",rollbackConfirm:"确认回滚",rollbackHelp:"回滚将创建新的完整文件包版本,并保留现有历史。",noHistory:"暂无版本记录。",builtinReview:"保存表示已核对当前内置版本。编辑后的内容仅用于所有者对话,项目授权对话继续使用可信内置内容。",paste:"粘贴 SKILL.md",upload:"选择文件包",url:"公开 raw URL",importMethod:"导入方式",chooseFiles:"选择文件",chooseFolder:"选择文件夹",importHelp:"文件包需包含根目录 SKILL.md。支持最多 65 个 UTF-8 文本文件、每文件 128 KiB、总计 1 MiB。脚本及执行型扩展会标为不兼容。",fileError:"文件包无效:请检查根目录 SKILL.md、UTF-8 编码、路径及大小限制。",urlHelp:"公开 HTTPS raw URL 导入单个 SKILL.md;配套文件请通过文件包一并导入。",install:"导入并保留为停用",edit:"编辑",importContent:"SKILL.md 正文",selectedFiles:"已选择文件",connectionsHelp:"Connection 提供 Copilot 可调用的工具。工具启用状态在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台内置工具,沿用现有项目授权和逐项审批。",manageTools:"管理工具",addConnection:"添加 MCP Connection",emptyConnections:"尚未添加外部 Connection。",name:"名称",endpoint:"HTTPS 端点",bearer:"Bearer Token(可选,仅写入)",credentialSet:"凭证已配置",credentialKeep:"留空保留已有凭证",connectHelp:"支持公开 HTTPS 的 MCP Streamable HTTP 服务。创建后先发现工具,再明确选择允许 Copilot 使用的工具。",remoteApproval:"外部工具调用需逐项审批;项目授权和定时任务不会自动获得调用权限。",discover:"发现工具",notDiscovered:"尚未发现工具",noTools:"服务未返回工具。",selectTools:"选择工具",saveTools:"保存工具选择",delete:"删除",deleteConfirm:"确认删除此 Connection?",editConnection:"编辑连接",create:"创建连接",tools:"工具",configurationHelp:"更换端点或凭证会清空已发现工具,需要重新发现并选择。",schema:"输入参数",revision:"修订",refreshing:"处理中..."},i={clearCredential:"Remove saved credential",title:"Copilot extensions",description:"Install Skills and connect tool services to extend Copilot.",back:"Back to settings",skills:"Skills",connections:"Connections",loading:"Loading...",retry:"Retry",cancel:"Cancel",save:"Save",close:"Close",error:"Action failed. Retry, or refresh and review if the configuration or revision changed.",loadError:"Failed to load. Please retry.",skillsHelp:"Skills provide instructions and reference files. Their switches are independent from CLI Skills.",emptySkills:"No Skills installed.",importSkill:"Import Skill",builtin:"Built-in",imported:"Imported",playbook:"Built-in Playbook",enabled:"Enabled",disabled:"Disabled",unavailable:"Unavailable",incompatible:"Incompatible",review:"Version review required",dependencies:"Required tools",detail:"Details and versions",source:"Source",files:"Files",version:"Version",history:"Version history",saveSkill:"Save complete package",rollback:"Roll back to this version",rollbackConfirm:"Confirm rollback",rollbackHelp:"Rollback creates a new complete package revision and preserves existing history.",noHistory:"No revisions yet.",builtinReview:"Saving confirms review against the current bundled version. Edited content is for owner conversations; grant-bound conversations use trusted bundled content.",paste:"Paste SKILL.md",upload:"Select file bundle",url:"Public raw URL",importMethod:"Import method",chooseFiles:"Choose files",chooseFolder:"Choose folder",importHelp:"Include SKILL.md at the package root. Up to 65 UTF-8 text files, 128 KiB per file, 1 MiB total. Scripts and executable extensions are marked incompatible.",fileError:"Invalid package: check root SKILL.md, UTF-8 encoding, paths, and size limits.",urlHelp:"A public HTTPS raw URL imports one SKILL.md. Include supporting files through a file bundle.",install:"Import as disabled",edit:"Edit",importContent:"SKILL.md content",selectedFiles:"Selected files",connectionsHelp:"Connections provide callable tools. Manage tool switches within each Connection.",builtinHelp:"Built-in ForgeBadger platform tools retain project grants and exact approvals.",manageTools:"Manage tools",addConnection:"Add MCP Connection",emptyConnections:"No external Connections added.",name:"Name",endpoint:"HTTPS endpoint",bearer:"Bearer Token (optional, write-only)",credentialSet:"Credential configured",credentialKeep:"Leave blank to keep the saved credential",connectHelp:"Supports public HTTPS MCP Streamable HTTP services. Discover tools after creation, then explicitly select tools for Copilot.",remoteApproval:"External tool calls require exact approval. Project grants and scheduled tasks do not grant access.",discover:"Discover tools",notDiscovered:"Tools not discovered",noTools:"The service returned no tools.",selectTools:"Select tools",saveTools:"Save tool selection",delete:"Delete",deleteConfirm:"Delete this Connection?",editConnection:"Edit connection",create:"Create connection",tools:"Tools",configurationHelp:"Changing the endpoint or credential clears discovered tools. Discover and select them again.",schema:"Input schema",revision:"Revision",refreshing:"Working..."},n={...o,clearCredential:"移除已儲存憑證",title:"Copilot 擴充",description:"安裝 Skills,連接工具服務,擴充 Copilot 的工作能力。",back:"返回設定",loading:"載入中...",retry:"重試",save:"儲存",close:"關閉",error:"操作失敗。請重試;如設定或版本已變更,請重新整理後核對。",loadError:"載入失敗,請重試。",skillsHelp:"Skills 提供操作指引和參考檔案。這裡的啟用狀態獨立於 CLI Skills。",emptySkills:"尚未安裝 Skill。",importSkill:"匯入 Skill",builtin:"內建",imported:"已匯入",playbook:"內建 Playbook",enabled:"已啟用",review:"需要核對版本",dependencies:"依賴工具",detail:"詳情與版本",files:"檔案",history:"版本紀錄",saveSkill:"儲存完整檔案包",rollback:"還原到此版本",rollbackConfirm:"確認還原",rollbackHelp:"還原將建立新的完整檔案包版本,並保留現有歷史。",noHistory:"暫無版本紀錄。",builtinReview:"儲存表示已核對目前內建版本。編輯後的內容僅用於擁有者對話,專案授權對話繼續使用可信內建內容。",paste:"貼上 SKILL.md",upload:"選擇檔案包",importMethod:"匯入方式",chooseFiles:"選擇檔案",chooseFolder:"選擇資料夾",importHelp:"檔案包需包含根目錄 SKILL.md。支援最多 65 個 UTF-8 文字檔案、每檔案 128 KiB、總計 1 MiB。指令碼及執行型擴充會標為不相容。",fileError:"檔案包無效:請檢查根目錄 SKILL.md、UTF-8 編碼、路徑及大小限制。",urlHelp:"公開 HTTPS raw URL 匯入單個 SKILL.md;配套檔案請透過檔案包一併匯入。",install:"匯入並保留為停用",edit:"編輯",selectedFiles:"已選擇檔案",incompatible:"不相容",connectionsHelp:"Connection 提供 Copilot 可呼叫的工具。工具啟用狀態在各 Connection 中管理。",builtinHelp:"ForgeBadger 平台內建工具,沿用現有專案授權和逐項審核。",addConnection:"新增 MCP Connection",emptyConnections:"尚未新增外部 Connection。",name:"名稱",endpoint:"HTTPS 端點",bearer:"Bearer Token(可選,僅寫入)",credentialSet:"憑證已設定",credentialKeep:"留空保留已有憑證",connectHelp:"支援公開 HTTPS 的 MCP Streamable HTTP 服務。建立後先探索工具,再明確選擇允許 Copilot 使用的工具。",remoteApproval:"外部工具呼叫需逐項審核;專案授權和排程任務不會自動獲得呼叫權限。",discover:"探索工具",notDiscovered:"尚未探索工具",noTools:"服務未傳回工具。",selectTools:"選擇工具",saveTools:"儲存工具選擇",delete:"刪除",deleteConfirm:"確認刪除此 Connection?",editConnection:"編輯連線",create:"建立連線",configurationHelp:"更換端點或憑證會清空已探索工具,需要重新探索並選擇。",schema:"輸入參數",revision:"修訂",refreshing:"處理中..."};e.s(["useExtensionsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?i:"zh-TW"===e?n:o}])},19821,e=>{"use strict";var t=e.i(66499),o=e.i(41271),i=e.i(78717),n=e.i(83540),a=e.i(52860),s=e.i(58171),r=e.i(96588),l=e.i(84959),c=e.i(71326),d=e.i(62918),p=e.i(60218),u=e.i(85426),m=e.i(6270),h=e.i(34487),g=e.i(35887),v=e.i(92608);let f=["copilot","memory"],y={global:"global",project:"project",session:"session"},x={fact:"fact",preference:"preference",decision:"decision",project_note:"project_note"};function b(){let{t:e}=(0,g.useLanguage)(),o=(0,m.useQueryClient)(),n=(0,i.useQuery)({queryKey:f,queryFn:()=>(0,v.listMemoryEntries)({scope:"global"})}),a=(0,u.useMutation)({mutationFn:e=>(0,v.deleteMemoryEntry)(e),onSuccess:()=>{o.invalidateQueries({queryKey:f})}}),s=n.data?.entries??[];return(0,t.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e("copilot.memoryTitle")}),(0,t.jsx)(d.Badge,{variant:"secondary",className:"shrink-0",children:String(s.length)})]}),(0,t.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:e("copilot.memoryDescription")}),n.isPending?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("common.loading")}):0===s.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("copilot.memoryEmpty")}):(0,t.jsx)("div",{className:"max-h-64 space-y-1.5 overflow-y-auto pr-1",children:s.map(o=>(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card px-3 py-2",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,t.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[(0,t.jsx)(d.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:y[o.scope]??o.scope}),(0,t.jsx)(d.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:x[o.kind]??o.kind})]}),(0,t.jsx)("p",{className:"break-words text-xs leading-relaxed text-muted-foreground",children:o.text})]}),(0,t.jsx)(p.Button,{variant:"ghost",size:"icon",className:"size-7 shrink-0 text-destructive","aria-label":e("common.delete"),title:e("common.delete"),disabled:a.isPending,onClick:()=>a.mutate(o.id),children:(0,t.jsx)(h.Trash2,{className:"size-3.5"})})]},o.id))})]})}var k=e.i(41081),C=e.i(63134),S=e.i(15044),w=e.i(42831),j=e.i(47721),N=e.i(99831),T=e.i(38355);e.s(["CopilotSettingsPage",0,function(){let{t:e}=(0,g.useLanguage)(),u=(0,w.useSettingsCopy)(),m=(0,S.useExtensionsCopy)(),h=(0,i.useQuery)({queryKey:k.modelProvidersQueryKey,queryFn:j.listModelProviders,retry:!1}),v=(0,i.useQuery)({queryKey:["copilot-grants"],queryFn:T.listGrants,retry:!1}),f=(0,i.useQuery)({queryKey:N.copilotSkillsKey,queryFn:N.listCopilotSkills,retry:!1}),y=(0,i.useQuery)({queryKey:N.copilotConnectionsKey,queryFn:N.listCopilotConnections,retry:!1}),x=(h.data?.models??[]).filter(e=>"disabled"!==e.status),P=x.find(e=>e.isDefault)??x[0],R=h.isPending?m.loading:h.isError?m.loadError:P?`${P.providerName} / ${P.name}`:e("copilot.followSystemDefault"),L=v.data?.grants.filter(e=>"active"===e.status).length,E=f.data?.skills.length,I=y.data?.connections.filter(e=>"mcp"===e.kind).length,H=[{href:"/copilot/settings/access",icon:c.ShieldCheck,title:u.accessCardTitle,description:u.accessCardDescription,summary:void 0!==L?`${L} \xb7 ${u.statusActive}`:void 0,delay:180},{href:"/copilot/extensions",icon:r.Puzzle,title:m.title,description:m.description,summary:void 0!==E&&void 0!==I?`${E} ${m.skills} \xb7 ${I} ${m.connections}`:void 0,delay:240},{href:"/copilot/channels",icon:l.Radio,title:u.channelsCardTitle,description:u.channelsCardDescription,delay:300},{href:"/copilot/automations",icon:n.CalendarClock,title:e("copilot.automationsTitle"),description:e("copilot.automationsDescription"),delay:360}];return(0,t.jsx)(C.CopilotSettingsShell,{active:"general",title:e("copilot.settings"),description:e("copilot.settingsDescription"),children:(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("section",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",style:{animationDelay:"120ms"},children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(s.Cpu,{className:"size-4 text-brand"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:e("copilot.runtimeTitle")}),(0,t.jsxs)(d.Badge,{variant:"secondary",className:"ml-auto gap-1.5",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),e("copilot.nativeRuntime")]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("copilot.runtimeDescription")}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2.5",children:[(0,t.jsxs)("p",{className:"min-w-0 truncate text-xs",children:[(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e("copilot.currentModel"),": "]}),R]}),(0,t.jsx)(p.Button,{asChild:!0,variant:"outline",size:"sm",className:"shrink-0",children:(0,t.jsx)(o.default,{href:"/models",children:u.manageModels})})]})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:H.map(e=>{let i=e.icon;return(0,t.jsxs)(o.default,{href:e.href,className:"forgebadger-animate-in group flex items-start gap-3 rounded-lg border border-border bg-card p-4 transition-colors hover:border-brand/40 hover:bg-muted/40",style:{animationDelay:`${e.delay}ms`},children:[(0,t.jsx)(i,{className:"mt-0.5 size-5 shrink-0 text-brand"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 text-sm font-medium",children:[e.title,e.summary&&(0,t.jsx)(d.Badge,{variant:"secondary",className:"font-normal",children:e.summary})]}),(0,t.jsx)("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:e.description})]}),(0,t.jsx)(a.ChevronRight,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-foreground"})]},e.href)})}),(0,t.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:"420ms"},children:(0,t.jsx)(b,{})})]})})}],19821)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62918,e=>{"use strict";var t=e.i(66499),a=e.i(94237),s=e.i(82909),r=e.i(65458);let n=(0,a.cva)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:a="default",asChild:i=!1,...o}){let l=i?s.Slot.Root:"span";return(0,t.jsx)(l,{"data-slot":"badge","data-variant":a,className:(0,r.cn)(n({variant:a}),e),...o})}])},12603,e=>{"use strict";var t=e.i(66499),a=e.i(65458);e.s(["Card",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...s})}])},7329,e=>{"use strict";let t=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7329)},38355,e=>{"use strict";var t=e.i(47721);e.s(["createGrant",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(e)})},"deleteGrant",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(e)}`,{method:"DELETE"})},"getPlatformAction",0,function(e){return(0,t.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(e)}`)},"getProjectOverview",0,function(e){return(0,t.fetchJson)(`/api/v1/project-manager/overview${e?`?grantId=${encodeURIComponent(e)}`:""}`)},"getSessionWriter",0,function(e){return(0,t.fetchJson)(`/api/v1/sessions/${encodeURIComponent(e)}/writer`)},"listGrants",0,function(){return(0,t.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(e)}/revoke`,{method:"POST"})},"takeoverSession",0,function(e){return(0,t.fetchJson)(`/api/v1/sessions/${encodeURIComponent(e)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(e,a){return(0,t.fetchJson)(`/api/v1/projects/${encodeURIComponent(e)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(a)})}])},34558,e=>{"use strict";let t=(0,e.i(65174).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],34558)},71326,e=>{"use strict";let t=(0,e.i(65174).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],71326)},42831,e=>{"use strict";var t=e.i(35887);let a={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","pm.task.execute":"下发并执行任务","session.start":"启动会话","session.stop":"停止会话","session.dispatch":"向会话下发指令","memory.write":"写入记忆"},navAriaLabel:"Copilot 设置导航",navGeneral:"常规",navAccess:"授权",navExtensions:"扩展",navChannels:"远程渠道",navAutomations:"自动化",backToChat:"返回对话",accessCardTitle:"授权",accessCardDescription:"决定 Copilot 可以在哪些项目里执行哪些操作,以及次数与有效期。",channelsCardTitle:"远程渠道",channelsCardDescription:"配置飞书远程操作:应用接入、身份确认与授权绑定。",manageModels:"管理模型",accessTitle:"授权与项目权限",accessDescription:"授权决定 Copilot 可以在哪些项目内执行哪些操作。所有写操作都受授权约束,可随时撤销。",howTitle:"授权如何工作",howStep1:"选择项目与允许的操作",howStep2:"设置有效期、次数与并发上限",howStep3:"绑定到新会话,Copilot 在范围内工作",howNote:"撤销授权立即停止后续操作,已发生的操作保留记录。授权绑定会话后不可切换。",grantsTitle:"项目授权",grantsDescription:"每个授权限定一组项目和允许的操作,用于绑定新会话。",newGrant:"新建授权",loading:"正在加载授权…",loadError:"授权加载失败",retry:"重试",empty:"尚未创建授权。新建一个授权,让 Copilot 在指定项目内为你工作。",boundPrefix:"当前会话绑定:",statusActive:"有效",statusExpired:"已过期",statusRevoked:"已撤销",usageActions:"操作次数",concurrency:"最大并发",expiry:"到期",permanent:"长期有效,直至撤销",unlimited:"不限",startConversation:"以此授权新建会话",revoke:"撤销授权",deleteGrant:"删除授权",showRevoked:"查看已撤销授权",hideRevoked:"收起已撤销授权",revokedHelp:"删除后不再出现在列表中,历史会话和操作记录仍保留。",projectsEmpty:"无现有项目",createTitle:"新建授权",createDescription:"选择项目即可创建:默认允许所选项目的全部可授权操作,长期有效,直至撤销。",stepProjects:"项目范围",stepPermissions:"权限范围",stepLimits:"有效期与限额",nameLabel:"授权名称(可选)",namePlaceholder:"按所选项目自动命名",allOperations:"允许所有当前可授权操作",allOperationsHelp:"目录权限仅限所选项目目录内。未来新增操作和新建项目不会自动加入授权。",customOperationsHelp:"自定义模式按填写的根目录授权。未来新增操作和新建项目不会自动加入授权。",allowedRootsLabel:"允许创建项目的根目录(每行一个绝对路径)",permanentLabel:"长期有效,直到撤销",unlimitedLabel:"不限制累计操作次数",hoursLabel:"有效小时",limitLabel:"操作次数上限",concurrencyLabel:"最大并发",advanced:"高级设置(可选)",create:"创建授权",creating:"正在创建…",created:"授权已创建,可在授权列表中使用。",cancel:"取消",errorGeneric:"操作失败,请重试",errNoProject:"请至少选择一个项目。",errNoOperation:"请至少选择一项允许操作,或开启所有操作。",errNoRoots:"请填写允许创建项目的目录,或切换为默认的所有操作。",errConcurrency:"最大并发须为 1–20。",errHours:"有效小时须为 1–8760。",errLimit:"操作次数上限须为 1–10000。",errCreate:"创建失败,请重试。"},s={capabilities:{"project.create":"Create projects","project.metadata.update":"Update project metadata","pm.work_item.create":"Create work items","pm.work_item.metadata":"Update work item metadata","pm.management.update":"Update owner and next step","pm.task.prepare":"Prepare tasks","pm.task.execute":"Dispatch and execute tasks","session.start":"Start sessions","session.stop":"Stop sessions","session.dispatch":"Dispatch instructions to sessions","memory.write":"Write memory"},navAriaLabel:"Copilot settings navigation",navGeneral:"General",navAccess:"Access",navExtensions:"Extensions",navChannels:"Channels",navAutomations:"Automations",backToChat:"Back to chat",accessCardTitle:"Access",accessCardDescription:"Decide which projects Copilot may act on, which operations are allowed, and the usage limits.",channelsCardTitle:"Channels",channelsCardDescription:"Set up Feishu remote operation: app connection, identity confirmation, and grant binding.",manageModels:"Manage models",accessTitle:"Access and project permissions",accessDescription:"Grants decide which projects Copilot may act on and which operations are allowed. Every write operation is constrained by a grant and can be revoked at any time.",howTitle:"How grants work",howStep1:"Pick projects and allowed operations",howStep2:"Set expiry, action, and concurrency limits",howStep3:"Bind to a new conversation and let Copilot work in scope",howNote:"Revoking a grant stops further actions immediately; completed actions stay on record. A grant-bound conversation cannot switch grants.",grantsTitle:"Project grants",grantsDescription:"Each grant scopes a set of projects and allowed operations, and binds to a new conversation.",newGrant:"New grant",loading:"Loading grants…",loadError:"Failed to load grants",retry:"Retry",empty:"No grants yet. Create one to let Copilot work inside the projects you choose.",boundPrefix:"Current conversation bound to: ",statusActive:"Active",statusExpired:"Expired",statusRevoked:"Revoked",usageActions:"Actions",concurrency:"Max concurrency",expiry:"Expires",permanent:"Valid until revoked",unlimited:"Unlimited",startConversation:"Start a conversation with this grant",revoke:"Revoke grant",deleteGrant:"Delete grant",showRevoked:"Show revoked grants",hideRevoked:"Hide revoked grants",revokedHelp:"Deleted grants disappear from this list; historical conversations and action records are kept.",projectsEmpty:"No existing projects",createTitle:"New grant",createDescription:"Pick projects to create a grant: all currently grantable operations on the selected projects are allowed by default, valid until revoked.",stepProjects:"Project scope",stepPermissions:"Permissions",stepLimits:"Expiry and limits",nameLabel:"Grant name (optional)",namePlaceholder:"Named after the selected projects",allOperations:"Allow all currently grantable operations",allOperationsHelp:"Directory access stays within the selected projects. New operations and new projects are not added automatically.",customOperationsHelp:"Custom mode grants the root directories you enter. New operations and new projects are not added automatically.",allowedRootsLabel:"Root directories allowed for project creation (one absolute path per line)",permanentLabel:"Valid until revoked",unlimitedLabel:"Unlimited total actions",hoursLabel:"Valid hours",limitLabel:"Action limit",concurrencyLabel:"Max concurrency",advanced:"Advanced (optional)",create:"Create grant",creating:"Creating…",created:"Grant created. It is now available in the grant list.",cancel:"Cancel",errorGeneric:"Action failed. Please retry.",errNoProject:"Select at least one project.",errNoOperation:"Select at least one allowed operation, or enable all operations.",errNoRoots:"Enter the directories allowed for project creation, or switch back to all operations.",errConcurrency:"Max concurrency must be 1–20.",errHours:"Valid hours must be 1–8760.",errLimit:"Action limit must be 1–10000.",errCreate:"Creation failed. Please retry."},r={...a,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","pm.task.execute":"下發並執行任務","session.start":"啟動工作階段","session.stop":"停止工作階段","session.dispatch":"向工作階段下發指令","memory.write":"寫入記憶"},navAriaLabel:"Copilot 設定導覽",navGeneral:"一般",navAccess:"授權",navExtensions:"擴充",navChannels:"遠端渠道",navAutomations:"自動化",backToChat:"返回對話",accessCardTitle:"授權",accessCardDescription:"決定 Copilot 可以在哪些專案裡執行哪些操作,以及次數與有效期。",channelsCardTitle:"遠端渠道",channelsCardDescription:"設定飛書遠端操作:應用接入、身份確認與授權綁定。",manageModels:"管理模型",accessTitle:"授權與專案權限",accessDescription:"授權決定 Copilot 可以在哪些專案內執行哪些操作。所有寫入操作都受授權約束,可隨時撤銷。",howTitle:"授權如何運作",howStep1:"選擇專案與允許的操作",howStep2:"設定有效期、次數與並發上限",howStep3:"綁定到新對話,Copilot 在範圍內工作",howNote:"撤銷授權立即停止後續操作,已發生的操作保留記錄。授權綁定對話後不可切換。",grantsTitle:"專案授權",grantsDescription:"每個授權限定一組專案和允許的操作,用於綁定新對話。",newGrant:"新增授權",loading:"正在載入授權…",loadError:"授權載入失敗",retry:"重試",empty:"尚未建立授權。新增一個授權,讓 Copilot 在指定專案內為你工作。",boundPrefix:"目前對話綁定:",statusActive:"有效",statusExpired:"已過期",statusRevoked:"已撤銷",usageActions:"操作次數",concurrency:"最大並發",expiry:"到期",permanent:"長期有效,直至撤銷",unlimited:"不限",startConversation:"以此授權新增對話",revoke:"撤銷授權",deleteGrant:"刪除授權",showRevoked:"查看已撤銷授權",hideRevoked:"收起已撤銷授權",revokedHelp:"刪除後不再出現在列表中,歷史對話和操作記錄仍保留。",projectsEmpty:"無現有專案",createTitle:"新增授權",createDescription:"選擇專案即可建立:預設允許所選專案的全部可授權操作,長期有效,直至撤銷。",stepProjects:"專案範圍",stepPermissions:"權限範圍",stepLimits:"有效期與限額",nameLabel:"授權名稱(可選)",namePlaceholder:"按所選專案自動命名",allOperations:"允許所有目前可授權操作",allOperationsHelp:"目錄權限僅限所選專案目錄內。未來新增操作和新建專案不會自動加入授權。",customOperationsHelp:"自訂模式按填寫的根目錄授權。未來新增操作和新建專案不會自動加入授權。",allowedRootsLabel:"允許建立專案的根目錄(每行一個絕對路徑)",permanentLabel:"長期有效,直到撤銷",unlimitedLabel:"不限制累計操作次數",hoursLabel:"有效小時",limitLabel:"操作次數上限",concurrencyLabel:"最大並發",advanced:"進階設定(可選)",create:"建立授權",creating:"正在建立…",created:"授權已建立,可在授權列表中使用。",cancel:"取消",errorGeneric:"操作失敗,請重試",errNoProject:"請至少選擇一個專案。",errNoOperation:"請至少選擇一項允許操作,或開啟所有操作。",errNoRoots:"請填寫允許建立專案的目錄,或切換為預設的所有操作。",errConcurrency:"最大並發須為 1–20。",errHours:"有效小時須為 1–8760。",errLimit:"操作次數上限須為 1–10000。",errCreate:"建立失敗,請重試。"};e.s(["useSettingsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?s:"zh-TW"===e?r:a}])},83540,96588,84959,4484,e=>{"use strict";var t=e.i(65174);let a=(0,t.default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,a],83540);let s=(0,t.default)("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",0,s],96588);let r=(0,t.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,r],84959);let n=(0,t.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,n],4484)},63134,e=>{"use strict";var t=e.i(66499),a=e.i(41271),s=e.i(86059),r=e.i(34558),n=e.i(83540),i=e.i(96588),o=e.i(84959),l=e.i(71326),c=e.i(4484),d=e.i(60218),u=e.i(42831);e.s(["CopilotSettingsShell",0,function({active:e,title:p,description:m,children:x}){let h,g=(0,u.useSettingsCopy)(),v=(0,s.useRouter)(),b=(h=(0,u.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:c.SlidersHorizontal,label:h.navGeneral},{key:"access",href:"/copilot/settings/access",icon:l.ShieldCheck,label:h.navAccess},{key:"extensions",href:"/copilot/extensions",icon:i.Puzzle,label:h.navExtensions},{key:"channels",href:"/copilot/channels",icon:o.Radio,label:h.navChannels},{key:"automations",href:"/copilot/automations",icon:n.CalendarClock,label:h.navAutomations}]);return(0,t.jsxs)("div",{className:"mx-auto flex h-full w-full max-w-6xl flex-col gap-5 overflow-y-auto p-4 md:p-6",children:[(0,t.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":g.backToChat,title:g.backToChat,onClick:()=>v.push("/copilot"),children:(0,t.jsx)(r.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold",children:p}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m})]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,t.jsx)("nav",{"aria-label":g.navAriaLabel,className:"forgebadger-animate-in flex shrink-0 gap-1 overflow-x-auto pb-1 md:w-44 md:flex-col md:overflow-visible md:pb-0",style:{animationDelay:"60ms"},children:b.map(s=>{let r=s.icon,n=s.key===e;return(0,t.jsxs)(a.default,{href:s.href,"aria-current":n?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${n?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,t.jsx)(r,{className:`size-4 shrink-0 ${n?"text-brand":""}`}),s.label]},s.key)})}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:x})]})]})}])},92351,e=>{"use strict";let t=(0,e.i(65174).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",0,t],92351)},69435,e=>{"use strict";var t=e.i(66499),a=e.i(79923),s=e.i(78717),r=e.i(6270),n=e.i(92351),i=e.i(7329),o=e.i(71326),l=e.i(62918),c=e.i(60218),d=e.i(9988),u=e.i(81622),p=e.i(38355),m=e.i(42831);function x({grant:e,projects:a,busy:s,startLabel:r,onStart:n,onRevoke:i,onDelete:o}){let d=(0,m.useSettingsCopy)(),u=null!==e.expiresAt&&e.expiresAt<=Date.now(),p="active"===e.status&&!u&&(null===e.maxActions||e.usedActions<e.maxActions),h="revoked"===e.status?"revoked":u?"expired":"active",g="revoked"===h?d.statusRevoked:"expired"===h?d.statusExpired:d.statusActive,v=null===e.maxActions?null:Math.min(1,e.usedActions/e.maxActions),b=e.scope.projectIds.map(e=>a.find(t=>t.id===e)?.name??e).join("、")||d.projectsEmpty,j=e.scope.capabilities.map(e=>d.capabilities[e]??e).join("、");return(0,t.jsxs)("div",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,t.jsx)("p",{className:"font-medium break-all",children:e.name}),(0,t.jsxs)("p",{className:"text-xs break-all text-muted-foreground",children:[b," · ",j]})]}),(0,t.jsx)(l.Badge,{variant:"outline",className:`shrink-0 ${"active"===h?"border-emerald-500/50 text-emerald-500":"expired"===h?"border-amber-500/50 text-amber-500":"text-muted-foreground"}`,children:g})]}),null!==v&&(0,t.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",role:"presentation",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-brand transition-[width]",style:{width:`${100*v}%`}})}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[d.usageActions," ",e.usedActions,"/",e.maxActions??d.unlimited," ·"," ",d.concurrency," ",e.maxConcurrency," · ",d.expiry," ",null===e.expiresAt?d.permanent:new Date(e.expiresAt).toLocaleString()]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(c.Button,{size:"sm",disabled:s||!p,onClick:n,children:r}),(0,t.jsx)(c.Button,{size:"sm",variant:"outline",disabled:s||"active"!==e.status,onClick:i,children:d.revoke}),"revoked"===e.status&&(0,t.jsx)(c.Button,{size:"sm",variant:"ghost",className:"text-destructive",disabled:s,onClick:o,children:d.deleteGrant})]})]})}function h({projects:e,capabilities:s,busy:r,onCreate:n}){let i=(0,m.useSettingsCopy)(),[o,l]=(0,a.useState)([]),[d,p]=(0,a.useState)(""),[x,g]=(0,a.useState)(!0),[v,b]=(0,a.useState)([]),[j,f]=(0,a.useState)(!0),[y,C]=(0,a.useState)(!0),[k,N]=(0,a.useState)(24),[w,A]=(0,a.useState)(20),[S,I]=(0,a.useState)(1),[L,R]=(0,a.useState)(""),[P,D]=(0,a.useState)(!1),[T,E]=(0,a.useState)(null),z=(0,a.useRef)(!1),G=(e,t,a)=>a(t.includes(e)?t.filter(t=>t!==e):[...t,e]);async function H(t){if(t.preventDefault(),z.current||r)return;E(null);let a=L.split("\n").map(e=>e.trim()).filter(Boolean),s=e=>E({error:!0,text:e});if(!o.length)return s(i.errNoProject);if(!x&&!v.length)return s(i.errNoOperation);if(!x&&v.includes("project.create")&&!a.length)return s(i.errNoRoots);if(!Number.isInteger(S)||S<1||S>20)return s(i.errConcurrency);if(!j&&(!Number.isInteger(k)||k<1||k>8760))return s(i.errHours);if(!y&&(!Number.isInteger(w)||w<1||w>1e4))return s(i.errLimit);z.current=!0,D(!0);try{await n({name:d.trim()||`${e.filter(e=>o.includes(e.id)).map(e=>e.name).join("、")}授权`.slice(0,200),projectIds:o,...x?{allOperations:!0}:{capabilities:v,allowedRoots:a},expiresAt:j?null:Date.now()+36e5*k,maxActions:y?null:w,maxConcurrency:S}),E({error:!1,text:i.created})}catch(e){s(e instanceof Error?e.message:i.errCreate)}finally{z.current=!1,D(!1)}}return(0,t.jsxs)("form",{noValidate:!0,className:"space-y-5",onSubmit:H,children:[(0,t.jsxs)("fieldset",{disabled:P||r,className:"space-y-2",children:[(0,t.jsxs)("legend",{className:"text-sm font-medium",children:[(0,t.jsx)("span",{className:"mr-2 inline-flex size-5 items-center justify-center rounded-full bg-brand/15 text-[11px] font-semibold text-brand",children:"1"}),i.stepProjects]}),(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:e.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-md border border-border/70 px-3 py-2 text-sm transition-colors hover:border-border hover:bg-muted/50",children:[(0,t.jsx)("input",{type:"checkbox",checked:o.includes(e.id),onChange:()=>G(e.id,o,l)}),e.name]},e.id))}),(0,t.jsxs)("label",{className:"block space-y-1 pt-1 text-sm",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:i.nameLabel}),(0,t.jsx)(u.Input,{maxLength:200,value:d,placeholder:i.namePlaceholder,onChange:e=>p(e.target.value)})]})]}),(0,t.jsxs)("fieldset",{disabled:P||r,className:"space-y-2",children:[(0,t.jsxs)("legend",{className:"text-sm font-medium",children:[(0,t.jsx)("span",{className:"mr-2 inline-flex size-5 items-center justify-center rounded-full bg-brand/15 text-[11px] font-semibold text-brand",children:"2"}),i.stepPermissions]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:x,onChange:e=>g(e.target.checked)}),i.allOperations]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:x?i.allOperationsHelp:i.customOperationsHelp}),!x&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:[...new Set(s.map(e=>e.capability))].map(e=>(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:v.includes(e),onChange:()=>G(e,v,b)}),(0,t.jsx)("span",{children:i.capabilities[e]??e})]},e))}),v.includes("project.create")&&(0,t.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:i.allowedRootsLabel}),(0,t.jsx)("textarea",{className:"w-full rounded-md border border-border bg-background p-2",value:L,onChange:e=>R(e.target.value)})]})]})]}),(0,t.jsxs)("fieldset",{disabled:P||r,className:"space-y-3",children:[(0,t.jsxs)("legend",{className:"text-sm font-medium",children:[(0,t.jsx)("span",{className:"mr-2 inline-flex size-5 items-center justify-center rounded-full bg-brand/15 text-[11px] font-semibold text-brand",children:"3"}),i.stepLimits]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:j,onChange:e=>f(e.target.checked)}),i.permanentLabel]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:y,onChange:e=>C(e.target.checked)}),i.unlimitedLabel]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-2 text-xs",children:[(0,t.jsxs)("label",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:i.hoursLabel}),(0,t.jsx)(u.Input,{type:"number",min:1,max:8760,disabled:j,value:k,onChange:e=>N(Number(e.target.value))})]}),(0,t.jsxs)("label",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:i.limitLabel}),(0,t.jsx)(u.Input,{type:"number",min:1,max:1e4,disabled:y,value:w,onChange:e=>A(Number(e.target.value))})]}),(0,t.jsxs)("label",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:i.concurrencyLabel}),(0,t.jsx)(u.Input,{type:"number",min:1,max:20,value:S,onChange:e=>I(Number(e.target.value))})]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(c.Button,{type:"submit",size:"sm",disabled:r||P,children:P?i.creating:i.create}),T&&(0,t.jsx)("p",{role:T.error?"alert":"status",className:`text-xs ${T.error?"text-destructive":"text-muted-foreground"}`,children:T.text})]})]})}e.s(["CopilotGrantsPanel",0,function({onStartConversation:e,boundGrantId:l,startConversationLabel:u,onGrantCreated:g}){let v=(0,m.useSettingsCopy)(),b=(0,r.useQueryClient)(),j=(0,s.useQuery)({queryKey:["copilot-grants"],queryFn:p.listGrants,refetchInterval:15e3}),f=(0,s.useQuery)({queryKey:["project-management-overview"],queryFn:()=>(0,p.getProjectOverview)(),refetchInterval:3e4}),[y,C]=(0,a.useState)(""),[k,N]=(0,a.useState)(!1),[w,A]=(0,a.useState)(!1),[S,I]=(0,a.useState)(!1),L=j.data?.grants.filter(e=>"revoked"===e.status).length??0;async function R(e){N(!0),C("");try{await e(),await b.invalidateQueries({queryKey:["copilot-grants"]})}catch(e){C(e instanceof Error?e.message:v.errorGeneric)}finally{N(!1)}}let P=j.data?.grants.filter(e=>w||"revoked"!==e.status);return(0,t.jsxs)("section",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(o.ShieldCheck,{className:"size-4 text-brand"}),v.grantsTitle]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:v.grantsDescription})]}),(0,t.jsxs)(c.Button,{size:"sm",onClick:()=>I(!0),children:[(0,t.jsx)(i.Plus,{className:"size-4"}),v.newGrant]})]}),l&&(0,t.jsxs)("p",{className:"break-all rounded-md border border-brand/30 bg-brand/5 px-3 py-2 text-xs",children:[v.boundPrefix,j.data?.grants.find(e=>e.id===l)?.name??l]}),j.isPending&&(0,t.jsx)("p",{role:"status",className:"text-sm",children:v.loading}),j.isError&&(0,t.jsxs)("p",{role:"alert",className:"text-sm",children:[v.loadError," ",(0,t.jsx)(c.Button,{variant:"outline",size:"sm",onClick:()=>void j.refetch(),children:v.retry})]}),y&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:y}),j.data&&P&&(0,t.jsxs)("div",{className:"space-y-3",children:[!j.data.grants.length&&(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 rounded-lg border border-dashed border-border/70 px-4 py-8 text-center",children:[(0,t.jsx)(n.KeyRound,{className:"size-5 text-muted-foreground"}),(0,t.jsx)("p",{className:"max-w-md text-xs text-muted-foreground",children:v.empty})]}),P.map(a=>(0,t.jsx)(x,{grant:a,projects:f.data?.projects??[],busy:k,startLabel:u??v.startConversation,onStart:()=>void R(()=>e(a.id)),onRevoke:()=>void R(()=>(0,p.revokeGrant)(a.id)),onDelete:()=>void R(()=>(0,p.deleteGrant)(a.id))},a.id)),L>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>!e),children:[w?v.hideRevoked:v.showRevoked,"(",L,")"]}),w&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:v.revokedHelp})]})]}),(0,t.jsx)(d.Dialog,{open:S,onOpenChange:I,children:(0,t.jsxs)(d.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-xl",children:[(0,t.jsxs)(d.DialogHeader,{children:[(0,t.jsx)(d.DialogTitle,{children:v.createTitle}),(0,t.jsx)(d.DialogDescription,{children:v.createDescription})]}),S&&f.data&&j.data&&(0,t.jsx)(h,{projects:f.data.projects,capabilities:j.data.capabilities,busy:k,onCreate:async e=>{let t=await (0,p.createGrant)(e);await b.invalidateQueries({queryKey:["copilot-grants"]}),g?.(t.grant.id)}}),S&&(!f.data||!j.data)&&(0,t.jsx)("p",{role:"status",className:"text-sm",children:v.loading})]})})]})}])},24125,e=>{"use strict";var t=e.i(66499),a=e.i(41271),s=e.i(79923),r=e.i(78717),n=e.i(6270),i=e.i(60218),o=e.i(81622),l=e.i(12603),c=e.i(47721),d=e.i(38355);let u="/api/v1/copilot/channels",p=(e,t={})=>(0,c.fetchJson)(u+e,{method:"POST",body:JSON.stringify(t)});async function m(){let[e,t,a,s]=await Promise.all([(0,c.fetchJson)(u+"/pairings"),(0,c.fetchJson)(u+"/identities"),(0,c.fetchJson)(u+"/routes"),(0,c.fetchJson)(u+"/deliveries")]);return{...e,...t,...a,...s}}var x=e.i(85426),h=e.i(69435);function g(e){return(0,t.jsxs)("div",{className:"space-y-6 p-4 text-sm",children:[(0,t.jsx)(h.CopilotGrantsPanel,{...e}),(0,t.jsx)(v,{})]})}function v(){let e=(0,r.useQuery)({queryKey:["project-management-overview"],queryFn:()=>(0,d.getProjectOverview)(),refetchInterval:3e4});return(0,t.jsxs)("section",{className:"space-y-3",children:[(0,t.jsx)("h2",{className:"font-semibold",children:"多项目进度"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"此处是账号下的项目管理视图,不会扩大会话授权范围。CLI 自动下发需在 Gateway 环境变量 FORGEBADGER_CLI_AUTONOMY_ADAPTERS 中为对应适配器开启;未开启的适配器仍需人工在终端操作。"}),e.isPending&&(0,t.jsx)("p",{role:"status",children:"正在加载项目…"}),e.isError&&(0,t.jsxs)("p",{role:"alert",children:["项目加载失败"," ",(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>void e.refetch(),children:"重试"})]}),e.data?.projects.length===0&&(0,t.jsx)("p",{className:"text-muted-foreground",children:"暂无项目,请先在项目页创建或导入。"}),e.data?.projects.map(e=>(0,t.jsx)(b,{project:e},`${e.id}-${e.management.revision}`))]})}function b({project:e}){let a=(0,n.useQueryClient)(),[r,l]=(0,s.useState)(e.management),c=(0,x.useMutation)({mutationFn:()=>(0,d.updateProjectManagement)(e.id,{mode:r.mode,ownerLabel:r.ownerLabel,nextAction:r.nextAction,freshnessHours:r.freshnessHours,expectedRevision:e.management.revision}),onSuccess:()=>a.invalidateQueries({queryKey:["project-management-overview"]})});return(0,t.jsxs)("div",{className:"rounded-md border border-border/70 p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,t.jsx)("a",{className:"font-medium hover:underline",href:`/projects/${e.id}`,children:e.name}),(0,t.jsxs)("span",{className:"text-xs",children:["manual"===e.management.mode?"人工项目":"CLI 规划"," · ","supervised"===e.autonomy?"自动执行已开启":"人工执行"]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.goal?.summary||"尚未设置目标"}),(0,t.jsxs)("p",{className:"text-xs",children:["完成 ",e.counts.done,"/",e.counts.total," · 进行中"," ",e.counts.in_progress," · 阻塞 ",e.counts.blocked," · 证据",{unknown:"时间未知",stale:"已过期",fresh:"新鲜"}[e.evidenceFreshness.status]]}),(0,t.jsxs)("details",{children:[(0,t.jsxs)("summary",{className:"cursor-pointer text-xs",children:["负责人及下一步:",e.management.ownerLabel||"未指定"," ·"," ",e.management.nextAction||"待安排"]}),(0,t.jsxs)("form",{className:"mt-2 space-y-2",onSubmit:e=>{e.preventDefault(),c.mutate()},children:[(0,t.jsxs)("label",{className:"block",children:["管理模式",(0,t.jsxs)("select",{className:"ml-2 rounded border border-border bg-background p-1",value:r.mode,onChange:e=>l({...r,mode:e.target.value}),children:[(0,t.jsx)("option",{value:"manual",children:"人工"}),(0,t.jsx)("option",{value:"cli",children:"CLI 规划(仍需人工执行)"})]})]}),(0,t.jsxs)("label",{className:"block",children:["负责人",(0,t.jsx)(o.Input,{value:r.ownerLabel,onChange:e=>l({...r,ownerLabel:e.target.value})})]}),(0,t.jsxs)("label",{className:"block",children:["下一步",(0,t.jsx)(o.Input,{value:r.nextAction,onChange:e=>l({...r,nextAction:e.target.value})})]}),(0,t.jsxs)("label",{className:"block",children:["证据有效小时",(0,t.jsx)(o.Input,{type:"number",min:"1",max:"8760",value:r.freshnessHours,onChange:e=>l({...r,freshnessHours:Number(e.target.value)})})]}),c.isError&&(0,t.jsxs)("p",{role:"alert",className:"text-destructive",children:["保存失败:",c.error.message,(0,t.jsx)(i.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void a.invalidateQueries({queryKey:["project-management-overview"]}),children:"重新加载"})]}),(0,t.jsx)(i.Button,{size:"sm",disabled:c.isPending,children:"保存管理信息"})]})]})]})}var j=e.i(63134),f=e.i(42831);let y=["copilot-channels"],C={pending:"待处理",claimed:"等待确认",confirmed:"已确认",cancelled:"已取消",active:"有效",revoked:"已撤销",sending:"发送中",delivered:"飞书已接收",failed:"发送失败",unknown:"结果不确定",connected:"已连接",connecting:"连接中",reconnecting:"重新连接中",unhealthy:"连接异常",stopped:"已停止",disabled:"未启用"},k=e=>C[e]??e;e.s(["CopilotChannelsPage",0,function(){let e=(0,f.useSettingsCopy)(),u=(0,n.useQueryClient)(),x=(0,r.useQuery)({queryKey:y,queryFn:async()=>{let[e,t,a]=await Promise.all([(0,c.getFeishuChannelAccount)(),(0,c.getFeishuConnectionHealth)(),m()]);return{account:e,health:t,...a}},refetchInterval:3e3}),h=(0,r.useQuery)({queryKey:["copilot-grants"],queryFn:d.listGrants,refetchInterval:15e3}),v=(0,r.useQuery)({queryKey:["project-management-overview"],queryFn:()=>(0,d.getProjectOverview)()}),[b,C]=(0,s.useState)(""),[N,w]=(0,s.useState)(""),[A,S]=(0,s.useState)(!1),[I,L]=(0,s.useState)(""),[R,P]=(0,s.useState)(""),[D,T]=(0,s.useState)(null),[E,z]=(0,s.useState)(""),[G,H]=(0,s.useState)(""),[O,B]=(0,s.useState)(""),[M,U]=(0,s.useState)(Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>U(Date.now()),1e3);return()=>clearInterval(e)},[]);let $=x.data,q=$?.pairings.find(e=>e.accountId===$.account?.id&&e.accountRevision===$.account?.configRevision&&["pending","claimed"].includes(e.status)&&e.expiresAt>M),F=q?`${q.id}:${q.revision}:${q.externalUserId}:${q.chatId}`:"";(0,s.useEffect)(()=>z(""),[F]),(0,s.useEffect)(()=>{D&&(D.expiresAt<=M||$&&!$.pairings.some(e=>e.id===D.id&&"pending"===e.status&&e.accountRevision===$.account?.configRevision))&&T(null)},[$,M,D]);let J=$?.identities.filter(e=>"active"===e.status&&e.accountId===$.account?.id&&e.accountRevision===$.account?.configRevision)??[],K=h.data?.grants.filter(e=>"active"===e.status&&(null===e.expiresAt||e.expiresAt>M)&&(null===e.maxActions||e.usedActions<e.maxActions))??[],Q=K.find(e=>e.id===O),_=J.find(e=>e.id===G)??(1===J.length?J[0]:void 0);function V(e){if("active"!==e.status)return k(e.status);let t=$?.identities.find(t=>t.id===e.identityId);if(!t||"active"!==t.status)return"身份已失效";if(t.accountId!==$?.account?.id||t.accountRevision!==$?.account?.configRevision)return"配置已更新,需要重新绑定";if(!$.account.enabled)return"渠道已停用";if(h.isPending||h.isError)return"授权状态待核查";let a=h.data?.grants.find(t=>t.id===e.grantId);return!a||"active"!==a.status||a.revision!==e.grantRevision||null!==a.expiresAt&&a.expiresAt<=M||null!==a.maxActions&&a.usedActions>=a.maxActions?"授权已失效":"权限有效"}async function W(){await Promise.all([u.invalidateQueries({queryKey:y}),u.invalidateQueries({queryKey:["copilot-grants"]})])}async function Y(e){S(!0),L(""),P("");try{await e(),await W()}catch{L("操作未完成。请刷新状态后重试;身份、授权或连接状态可能已变化。"),T(null),z("")}finally{S(!1),w("")}}return(0,t.jsx)(j.CopilotSettingsShell,{active:"channels",title:e.channelsCardTitle,description:e.channelsCardDescription,children:(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[x.isPending&&(0,t.jsx)("p",{role:"status",children:"正在加载渠道…"}),(x.isError||h.isError)&&(0,t.jsxs)("div",{role:"alert",children:["加载失败。",(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{x.refetch(),h.refetch()},children:"重新加载"})]}),I&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:I}),R&&(0,t.jsx)("p",{role:"status",className:"text-sm",children:R}),$&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{role:"status",className:"rounded-md border border-border p-3 text-sm",children:h.isPending||h.isError?"远程操作状态待核查。":$.routes.some(e=>"权限有效"===V(e))?"飞书远程操作已授权;实际收发还需连接正常。":"飞书远程操作尚未启用:请在第 3 步选择有效项目授权,并点击“启用飞书远程操作”。仅创建项目授权不会启用飞书。"}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{children:"1. 飞书应用"})}),(0,t.jsxs)(l.CardContent,{className:"space-y-3",children:[(0,t.jsxs)("p",{role:"status",children:["连接:",k($.health.state)," · ",$.account?.secretConfigured?"凭证已保存":"尚未配置凭证"]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"保存应用会更新配置版本,已有身份和渠道授权将失效,需要重新配对和绑定。"}),(0,t.jsxs)("form",{className:"grid gap-3 sm:grid-cols-2",onSubmit:e=>{e.preventDefault(),w(""),T(null),Y(()=>(0,c.saveFeishuChannelAccount)({appId:b||$.account?.appId||"",enabled:!0,...N?{appSecret:N}:{}}))},children:[(0,t.jsxs)("label",{className:"space-y-1 text-sm",children:["App ID",(0,t.jsx)(o.Input,{"aria-label":"App ID",autoComplete:"off",value:b,placeholder:$.account?.appId??"cli_…",onChange:e=>C(e.target.value)})]}),(0,t.jsxs)("label",{className:"space-y-1 text-sm",children:["App Secret",(0,t.jsx)(o.Input,{"aria-label":"App Secret",type:"password",autoComplete:"new-password",value:N,placeholder:$.account?.secretConfigured?"留空保留已保存密钥":"输入应用密钥",onChange:e=>w(e.target.value)})]}),(0,t.jsx)(i.Button,{type:"submit",disabled:A||!(b||$.account?.appId)||!$.account?.secretConfigured&&!N,children:"保存并启用"}),(0,t.jsx)(i.Button,{type:"button",variant:"destructive",disabled:A||!$.account,onClick:()=>{T(null),Y(c.emergencyStopFeishu)},children:"紧急停止飞书"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"紧急停止阻止后续入站和操作;已经发生的操作无法撤回。飞书开放平台需要开启机器人和消息接收事件。"})]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{children:"2. 确认私聊身份"})}),(0,t.jsxs)(l.CardContent,{className:"space-y-3",children:[(0,t.jsx)(i.Button,{disabled:A||!$.account?.enabled,onClick:()=>void Y(async()=>{T(null);let e=await p("/pairings",{channel:"feishu",accountId:$.account.id});await W(),T({id:e.pairing.id,value:e.token,expiresAt:e.pairing.expiresAt})}),children:"生成新的配对码"}),D&&D.expiresAt>M&&(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border p-3",children:[(0,t.jsxs)("p",{className:"text-sm",children:["向本应用机器人私聊发送以下命令,请勿转发。到期:",new Date(D.expiresAt).toLocaleTimeString()]}),(0,t.jsxs)("code",{className:"block break-all select-all",children:["/pair ",D.value]})]}),!q&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"没有待确认配对。新配对码会使旧码失效。"}),q?.status==="pending"&&(0,t.jsx)("p",{role:"status",children:"等待飞书私聊认领… 配对码仅在生成时显示,刷新页面后可重新生成。"}),q?.status==="claimed"&&(0,t.jsxs)("div",{className:"space-y-3 rounded-md border border-border p-3",children:[(0,t.jsx)("p",{className:"text-sm",children:"请核对认领者,勾选后确认;系统不会自动绑定身份。"}),(0,t.jsxs)("dl",{className:"break-all text-sm",children:[(0,t.jsx)("dt",{children:"飞书用户 ID"}),(0,t.jsx)("dd",{children:q.externalUserId}),(0,t.jsx)("dt",{className:"mt-2",children:"私聊 ID"}),(0,t.jsx)("dd",{children:q.chatId})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:E===F,onChange:e=>z(e.target.checked?F:"")}),"我确认这是自己的飞书私聊"]}),(0,t.jsx)(i.Button,{disabled:A||E!==F,onClick:()=>void Y(async()=>{z(""),T(null),await p(`/pairings/${encodeURIComponent(q.id)}/confirm`,{revision:q.revision,externalUserId:q.externalUserId,chatId:q.chatId})}),children:"确认身份"})]}),q&&(0,t.jsx)(i.Button,{variant:"outline",disabled:A,onClick:()=>{T(null),z(""),Y(()=>{let e;return e=q.id,p(`/pairings/${encodeURIComponent(e)}/cancel`)})},children:"取消本次配对"}),$.identities.map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/70 p-3 text-sm",children:[(0,t.jsxs)("span",{className:"break-all",children:[e.externalUserId," · ",k(e.status),e.accountRevision!==$.account?.configRevision?" · 配置已更新,请重新配对":""]}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",disabled:A||"active"!==e.status,onClick:()=>void Y(()=>{let t;return t=e.id,p(`/identities/${encodeURIComponent(t)}/revoke`)}),children:"撤销身份"})]},e.id))]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{children:"3. 绑定项目与操作授权"})}),(0,t.jsxs)(l.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"绑定会创建独立会话。权限范围不可在该会话中切换;更换授权需要撤销旧绑定。"}),(0,t.jsxs)("details",{open:!0,className:"rounded-md border border-border p-3",children:[(0,t.jsx)("summary",{className:"cursor-pointer text-sm",children:"创建或管理项目授权"}),(0,t.jsx)(g,{onGrantCreated:B,startConversationLabel:"选择此授权",onStartConversation:async e=>B(e)})]}),h.isPending&&(0,t.jsx)("p",{role:"status",children:"正在加载授权…"}),!h.isPending&&!K.length&&(0,t.jsx)("p",{className:"text-sm",children:"尚无可用授权,请先创建。"}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("label",{className:"space-y-1 text-sm",children:["私聊身份",(0,t.jsxs)("select",{"aria-label":"私聊身份",className:"w-full rounded-md border border-border bg-background p-2",value:_?.id??"",onChange:e=>H(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"选择已确认身份"}),J.map(e=>(0,t.jsx)("option",{value:e.id,children:e.externalUserId},e.id))]})]}),(0,t.jsxs)("label",{className:"space-y-1 text-sm",children:["授权",(0,t.jsxs)("select",{"aria-label":"授权",className:"w-full rounded-md border border-border bg-background p-2",value:Q?.id??"",onChange:e=>B(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"选择有效授权"}),K.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})]})]}),Q&&(0,t.jsxs)("div",{className:"space-y-1 rounded-md border border-border/70 p-3 text-sm",children:[(0,t.jsxs)("p",{children:["项目:",Q.scope.projectIds.map(e=>v.data?.projects.find(t=>t.id===e)?.name??e).join("、")||"无现有项目"]}),(0,t.jsxs)("p",{className:"break-all",children:["允许操作:",Q.scope.capabilities.join("、")||"无写操作"]}),(0,t.jsxs)("p",{className:"break-all",children:["允许目录:",Q.scope.allowedRoots.join("、")||"无额外目录"]}),(0,t.jsxs)("p",{children:["已用次数:",Q.usedActions,"/",Q.maxActions??"不限"," · 最大并发:",Q.maxConcurrency]}),(0,t.jsxs)("p",{children:["到期:",null===Q.expiresAt?"长期有效,直至撤销":new Date(Q.expiresAt).toLocaleString()]})]}),(0,t.jsx)(i.Button,{disabled:A||!Q||!_||$.routes.some(e=>e.identityId===_.id&&"active"===e.status),onClick:()=>void Y(async()=>{await p("/routes",{identityId:_.id,grantId:Q.id}),P("渠道绑定已创建;请以上方实时状态为准,状态正常后发送一条新消息。")}),children:"启用飞书远程操作"}),$.routes.map(e=>(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 p-3 text-sm",children:[(0,t.jsxs)("p",{children:[h.data?.grants.find(t=>t.id===e.grantId)?.name??e.grantId," · ",V(e)]}),(0,t.jsxs)("p",{className:"break-all text-xs text-muted-foreground",children:["独立会话:",e.conversationId]}),(0,t.jsx)(a.default,{className:"inline-block underline underline-offset-4",href:`/copilot?c=${encodeURIComponent(e.conversationId)}`,children:"打开会话与审批"}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",disabled:A||"active"!==e.status,onClick:()=>void Y(()=>{let t;return t=e.id,p(`/routes/${encodeURIComponent(t)}/revoke`)}),children:"撤销渠道授权"})]},e.id))]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{children:"最近结果回传"})}),(0,t.jsxs)(l.CardContent,{className:"space-y-3 text-sm",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:"“飞书已接收”不代表已读。“结果不确定”可能已经送达,请先核对飞书;系统不会自动重发。"}),!$.deliveries.length&&(0,t.jsx)("p",{children:"暂无回传记录。"}),$.deliveries.map(e=>(0,t.jsxs)("div",{className:"flex flex-wrap justify-between gap-2 rounded-md border border-border/70 p-3",children:[(0,t.jsxs)("span",{children:["terminal"===e.phase?"任务结果":"审批提示"," · ",k(e.status)]}),(0,t.jsx)("time",{children:new Date(e.createdAt).toLocaleString()})]},e.id))]})]})]})]})})}],24125)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62918,e=>{"use strict";var s=e.i(66499),a=e.i(94237),t=e.i(82909),r=e.i(65458);let i=(0,a.cva)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:a="default",asChild:n=!1,...o}){let l=n?t.Slot.Root:"span";return(0,s.jsx)(l,{"data-slot":"badge","data-variant":a,className:(0,r.cn)(i({variant:a}),e),...o})}])},12603,e=>{"use strict";var s=e.i(66499),a=e.i(65458);e.s(["Card",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...t})},"CardContent",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...t})},"CardDescription",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...t})},"CardHeader",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...t})}])},87307,2527,e=>{"use strict";var s=e.i(66499);let a={claude:{id:"claude",label:"Claude Code",shortLabel:"Claude",color:"#d97757"},codex:{id:"codex",label:"Codex",shortLabel:"Codex",color:"#e4e4e7"},kimi:{id:"kimi",label:"Kimi Code",shortLabel:"Kimi",color:"#1783ff"},opencode:{id:"opencode",label:"OpenCode",shortLabel:"OpenCode",color:"#b7b1b1"},pi:{id:"pi",label:"PI",shortLabel:"PI",color:"#4d9abf"}},t={id:"unknown",label:"CLI",shortLabel:"CLI",color:"#71717a"};function r(e){return e?a[e.trim().toLowerCase()]??t:t}e.s(["getCliBrand",0,r,"runtimeAdapterLabel",0,function(e,s){return e.available?e.launchEnabled?e.label:`${e.label} (${s("projects.runtimeLaunchDisabled")})`:`${e.label} (${s("projects.runtimeUnavailable")})`}],2527);var i=e.i(65458);let n={claude:(0,s.jsx)("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"}),codex:(0,s.jsx)("path",{clipRule:"evenodd",d:"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z",fillRule:"evenodd"}),kimi:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("path",{d:"M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z",fill:"#1783FF"}),(0,s.jsx)("path",{d:"M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z",fill:"#FFFFFF"})]}),opencode:(0,s.jsx)("path",{d:"M16 6H8v12h8V6zm4 16H4V2h16v20z",fillRule:"evenodd"}),pi:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("path",{d:"M4.959 4.959H15.521V12H12V8.48H4.959z",fill:"#F09082"}),(0,s.jsx)("path",{d:"M4.959 8.48H8.48V12H12V15.521H8.48V19.042H4.959z",fill:"#4D9ABF"}),(0,s.jsx)("path",{d:"M15.521 12H19.042V19.042H15.521z",fill:"#F1BE58"})]})},o=new Set(["codex","opencode"]);e.s(["CliBrandIcon",0,function({aiTool:e,className:a}){let t=r(e),l="unknown"===t.id?null:n[t.id];return l?(0,s.jsx)("svg",{"aria-hidden":"true",className:(0,i.cn)("size-3.5 shrink-0",o.has(t.id)?"text-current":void 0,a),fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:l}):null}],87307)},93657,e=>{"use strict";var s=e.i(66499),a=e.i(87307),t=e.i(2527),r=e.i(65458);e.s(["CliBrandChip",0,function({aiTool:e,className:i}){let n=(0,t.getCliBrand)(e);return(0,s.jsxs)("span",{className:(0,r.cn)("inline-flex shrink-0 items-center gap-1.5 rounded-full border border-border/60 bg-muted/30 px-2 py-0.5 text-[11px] font-medium text-muted-foreground",i),title:n.label,children:["unknown"===n.id?(0,s.jsx)("span",{className:"size-1.5 rounded-full",style:{backgroundColor:n.color}}):(0,s.jsx)(a.CliBrandIcon,{aiTool:e,className:"size-3"}),n.label]})}])},58394,e=>{"use strict";let s=(0,e.i(65174).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,s],58394)},55314,e=>{"use strict";let s=(0,e.i(65174).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,s],55314)},98265,e=>{"use strict";var s=e.i(66499),a=e.i(41271),t=e.i(86059),r=e.i(79923),i=e.i(85426),n=e.i(78717),o=e.i(6270);let l=(0,e.i(65174).default)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);var d=e.i(58394),c=e.i(55314),u=e.i(1061),m=e.i(62918),h=e.i(60218),x=e.i(12603),p=e.i(93657),g=e.i(47721);function f(e,s){let a=e.get(s)?.trim();return a?{[s]:a}:{}}var v=e.i(35887);function b({snapshot:e,session:t,projectName:r,canRestore:i,restoring:n,onRestore:o}){var l;let g,{t:f}=(0,v.useLanguage)();return(0,s.jsx)(x.Card,{className:"transition-colors duration-200 hover:border-brand/30",children:(0,s.jsxs)(x.CardContent,{className:"grid gap-4 p-4 lg:grid-cols-[1fr_auto] lg:items-center",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsxs)(m.Badge,{variant:"secondary",className:"gap-1",children:[(0,s.jsx)(u.TerminalSquare,{className:"size-3"}),t?.name||e.sessionId||f("snapshots.session")]}),t?.aiTool&&(0,s.jsx)(p.CliBrandChip,{aiTool:t.aiTool}),r&&(0,s.jsxs)(m.Badge,{variant:"outline",className:"gap-1",children:[(0,s.jsx)(d.FolderOpen,{className:"size-3"}),r]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:Number.isNaN((g=new Date(l=e.createdAt)).getTime())?l:g.toLocaleString()})]}),(0,s.jsxs)("dl",{className:"grid gap-2 text-sm md:grid-cols-2 xl:grid-cols-4",children:[(0,s.jsx)(j,{label:f("snapshots.runtimeSessionName"),value:e.runtimeSessionName}),(0,s.jsx)(j,{label:f("snapshots.model"),value:e.modelId}),(0,s.jsx)(j,{label:f("snapshots.configVersion"),value:e.configVersion})]})]}),(0,s.jsxs)("div",{className:"flex flex-wrap justify-start gap-2 lg:justify-end",children:[e.projectId&&(0,s.jsx)(h.Button,{asChild:!0,variant:"ghost",size:"sm",className:"text-muted-foreground",children:(0,s.jsx)(a.default,{href:`/projects/${e.projectId}`,children:f("snapshots.viewProject")})}),e.sessionId&&(0,s.jsx)(h.Button,{asChild:!0,size:"sm",className:"bg-brand text-brand-foreground hover:bg-brand/90",children:(0,s.jsx)(a.default,{href:`/sessions/${e.sessionId}`,children:f("snapshots.viewSession")})}),(0,s.jsxs)(h.Button,{type:"button",size:"sm",variant:"outline",disabled:!i||n,onClick:o,children:[(0,s.jsx)(c.RotateCcw,{className:"size-3.5"}),f(n?"snapshots.restoring":"snapshots.restore")]})]})]})})}function j({label:e,value:a}){return(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("dt",{className:"text-xs text-muted-foreground",children:e}),(0,s.jsx)("dd",{className:"truncate font-mono text-xs",children:a||"-"})]})}e.s(["default",0,function(){let{t:e}=(0,v.useLanguage)(),d=(0,t.useRouter)(),c=(0,o.useQueryClient)(),u=(0,t.useSearchParams)(),m={...f(u,"projectId"),...f(u,"sessionId")},{data:p}=(0,n.useQuery)({queryKey:["projects"],queryFn:g.listProjects}),{data:j}=(0,n.useQuery)({queryKey:["sessions"],queryFn:g.listSessions}),{data:y,isLoading:C}=(0,n.useQuery)({queryKey:["snapshots",m],queryFn:()=>(0,g.listSnapshots)(m)}),N=p?.projects??[],w=j?.sessions??[],I=(0,r.useMemo)(()=>w.filter(e=>!m.projectId||e.projectId===m.projectId),[m.projectId,w]),k=(0,r.useMemo)(()=>new Map(N.map(e=>[e.id,e])),[N]),z=(0,r.useMemo)(()=>new Map(w.map(e=>[e.id,e])),[w]),H=y?.snapshots??[],F=(0,i.useMutation)({mutationFn:g.restoreSnapshot,onSuccess:async({session:e})=>{await c.invalidateQueries({queryKey:["sessions"]}),await c.invalidateQueries({queryKey:["snapshots"]}),d.push(`/sessions/${e.id}`)}}),L=(e,s)=>{let a=new URLSearchParams(u.toString());s?a.set(e,s):a.delete(e),"projectId"===e&&a.delete("sessionId");let t=a.toString();d.push(t?`/history?${t}`:"/history")};return(0,s.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 p-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:e("snapshots.title")}),(0,s.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("snapshots.subtitle")})]}),(0,s.jsxs)(x.Card,{className:"forgebadger-animate-in",children:[(0,s.jsxs)(x.CardHeader,{className:"pb-3",children:[(0,s.jsx)(x.CardTitle,{className:"text-sm font-semibold",children:e("snapshots.filters")}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:e("snapshots.noTerminalHistory")})]}),(0,s.jsxs)(x.CardContent,{className:"grid gap-3 md:grid-cols-2",children:[(0,s.jsxs)("select",{className:"h-9 rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:m.projectId??"",onChange:e=>L("projectId",e.target.value),"aria-label":e("common.project"),children:[(0,s.jsx)("option",{value:"",children:e("snapshots.allProjects")}),N.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))]}),(0,s.jsxs)("select",{className:"h-9 rounded-md border border-input bg-background px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:m.sessionId??"",onChange:e=>L("sessionId",e.target.value),"aria-label":e("snapshots.session"),children:[(0,s.jsx)("option",{value:"",children:e("snapshots.allSessions")}),I.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name||e.runtimeSessionName||e.id},e.id))]})]})]}),F.error instanceof Error&&(0,s.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg border border-destructive/30 bg-destructive/10 px-4 py-3 text-sm text-destructive forgebadger-animate-in",children:[(0,s.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-red-400"}),F.error.message]}),C?(0,s.jsx)(x.Card,{className:"forgebadger-animate-in",children:(0,s.jsx)(x.CardContent,{className:"py-10 text-center text-sm text-muted-foreground",children:e("snapshots.loading")})}):0===H.length?(0,s.jsx)(x.Card,{className:"forgebadger-animate-in",children:(0,s.jsxs)(x.CardContent,{className:"flex flex-col items-center gap-3 py-12 text-center",children:[(0,s.jsx)("div",{className:"flex size-10 items-center justify-center rounded-md bg-brand/10 text-brand",children:(0,s.jsx)(l,{className:"size-5"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium",children:e("snapshots.emptyTitle")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("snapshots.emptyDescription")})]}),(0,s.jsx)(h.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,s.jsx)(a.default,{href:"/sessions",children:e("snapshots.viewSession")})})]})}):(0,s.jsx)("div",{className:"space-y-3",children:H.map((a,t)=>(0,s.jsx)("div",{className:"forgebadger-animate-in",style:{animationDelay:`${40*t}ms`},children:(0,s.jsx)(b,{snapshot:a,session:a.sessionId?z.get(a.sessionId):void 0,projectName:a.projectId?k.get(a.projectId)?.name:void 0,canRestore:!!a.projectId,restoring:F.isPending,onRestore:()=>{window.confirm(e("snapshots.restoreConfirm"))&&F.mutate(a.id)}})},a.id))})]})}],98265)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,88010,e=>{"use strict";var t=e.i(66499),o=e.i(65458);e.s(["Textarea",0,function({className:e,...a}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,o.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),...a})}])},17854,e=>{"use strict";var t=e.i(66499),o=e.i(79923),a=e.i(80939),n=o.forwardRef((e,o)=>(0,t.jsx)(a.Primitive.label,{...e,ref:o,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));n.displayName="Label",e.s(["Label",0,n,"Root",0,n],37587);var i=e.i(37587),i=i,s=e.i(65458);e.s(["Label",0,function({className:e,...o}){return(0,t.jsx)(i.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...o})}],17854)},80078,e=>{"use strict";let t=(0,e.i(65174).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],80078)},7329,e=>{"use strict";let t=(0,e.i(65174).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7329)},62918,e=>{"use strict";var t=e.i(66499),o=e.i(94237),a=e.i(82909),n=e.i(65458);let i=(0,o.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:o="default",asChild:s=!1,...r}){let c=s?a.Slot.Root:"span";return(0,t.jsx)(c,{"data-slot":"badge","data-variant":o,className:(0,n.cn)(i({variant:o}),e),...r})}])},12603,e=>{"use strict";var t=e.i(66499),o=e.i(65458);e.s(["Card",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,o.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,o.cn)("px-6",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,o.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,o.cn)("leading-none font-semibold",e),...a})}])},34487,e=>{"use strict";let t=(0,e.i(65174).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],34487)},81314,e=>{"use strict";let t=(0,e.i(65174).default)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);e.s(["Play",0,t],81314)},92608,e=>{"use strict";var t=e.i(47721);e.s(["acceptAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/accept`,{method:"POST"})},"cancelRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/cancel`,{method:"POST"})},"createAutomation",0,function(e){return(0,t.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(e)})},"createConversation",0,function(e,o){return(0,t.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...e?{title:e}:{},...o?{grantId:o}:{}})})},"decidePendingAction",0,function(e,o,a){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}/pending-actions/${encodeURIComponent(o)}/decide`,{method:"POST",body:JSON.stringify({approved:a})})},"deleteAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteConversation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(e)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(e)}/dismiss`,{method:"POST"})},"editMessage",0,function(e,o,a){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:o,content:a})})},"enableAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,t.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(e)}`)},"listAutomationSuggestions",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/runs`)},"listConversations",0,function(){return(0,t.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(e={}){let o=new URLSearchParams;return e.scope&&o.set("scope",e.scope),e.projectId&&o.set("projectId",e.projectId),e.limit&&o.set("limit",String(e.limit)),(0,t.fetchJson)(`/api/v1/copilot/memory/entries?${o.toString()}`)},"listMessages",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`)},"pauseAutomation",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/pause`,{method:"POST"})},"renameConversation",0,function(e,o){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({title:o})})},"runAutomationNow",0,function(e){return(0,t.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(e)}/run`,{method:"POST"})},"sendMessage",0,function(e,o,a,n){return(0,t.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify({content:o,...a?{modelId:a}:{},...n})})},"setCopilotToolEnabled",0,function(e,o){return(0,t.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(e)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:o})})}])},34558,e=>{"use strict";let t=(0,e.i(65174).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],34558)},71326,e=>{"use strict";let t=(0,e.i(65174).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],71326)},83540,96588,84959,4484,e=>{"use strict";var t=e.i(65174);let o=(0,t.default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,o],83540);let a=(0,t.default)("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",0,a],96588);let n=(0,t.default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,n],84959);let i=(0,t.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,i],4484)},42831,e=>{"use strict";var t=e.i(35887);let o={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","pm.task.execute":"下发并执行任务","session.start":"启动会话","session.stop":"停止会话","session.dispatch":"向会话下发指令","memory.write":"写入记忆"},navAriaLabel:"Copilot 设置导航",navGeneral:"常规",navAccess:"授权",navExtensions:"扩展",navChannels:"远程渠道",navAutomations:"自动化",backToChat:"返回对话",accessCardTitle:"授权",accessCardDescription:"决定 Copilot 可以在哪些项目里执行哪些操作,以及次数与有效期。",channelsCardTitle:"远程渠道",channelsCardDescription:"配置飞书远程操作:应用接入、身份确认与授权绑定。",manageModels:"管理模型",accessTitle:"授权与项目权限",accessDescription:"授权决定 Copilot 可以在哪些项目内执行哪些操作。所有写操作都受授权约束,可随时撤销。",howTitle:"授权如何工作",howStep1:"选择项目与允许的操作",howStep2:"设置有效期、次数与并发上限",howStep3:"绑定到新会话,Copilot 在范围内工作",howNote:"撤销授权立即停止后续操作,已发生的操作保留记录。授权绑定会话后不可切换。",grantsTitle:"项目授权",grantsDescription:"每个授权限定一组项目和允许的操作,用于绑定新会话。",newGrant:"新建授权",loading:"正在加载授权…",loadError:"授权加载失败",retry:"重试",empty:"尚未创建授权。新建一个授权,让 Copilot 在指定项目内为你工作。",boundPrefix:"当前会话绑定:",statusActive:"有效",statusExpired:"已过期",statusRevoked:"已撤销",usageActions:"操作次数",concurrency:"最大并发",expiry:"到期",permanent:"长期有效,直至撤销",unlimited:"不限",startConversation:"以此授权新建会话",revoke:"撤销授权",deleteGrant:"删除授权",showRevoked:"查看已撤销授权",hideRevoked:"收起已撤销授权",revokedHelp:"删除后不再出现在列表中,历史会话和操作记录仍保留。",projectsEmpty:"无现有项目",createTitle:"新建授权",createDescription:"选择项目即可创建:默认允许所选项目的全部可授权操作,长期有效,直至撤销。",stepProjects:"项目范围",stepPermissions:"权限范围",stepLimits:"有效期与限额",nameLabel:"授权名称(可选)",namePlaceholder:"按所选项目自动命名",allOperations:"允许所有当前可授权操作",allOperationsHelp:"目录权限仅限所选项目目录内。未来新增操作和新建项目不会自动加入授权。",customOperationsHelp:"自定义模式按填写的根目录授权。未来新增操作和新建项目不会自动加入授权。",allowedRootsLabel:"允许创建项目的根目录(每行一个绝对路径)",permanentLabel:"长期有效,直到撤销",unlimitedLabel:"不限制累计操作次数",hoursLabel:"有效小时",limitLabel:"操作次数上限",concurrencyLabel:"最大并发",advanced:"高级设置(可选)",create:"创建授权",creating:"正在创建…",created:"授权已创建,可在授权列表中使用。",cancel:"取消",errorGeneric:"操作失败,请重试",errNoProject:"请至少选择一个项目。",errNoOperation:"请至少选择一项允许操作,或开启所有操作。",errNoRoots:"请填写允许创建项目的目录,或切换为默认的所有操作。",errConcurrency:"最大并发须为 1–20。",errHours:"有效小时须为 1–8760。",errLimit:"操作次数上限须为 1–10000。",errCreate:"创建失败,请重试。"},a={capabilities:{"project.create":"Create projects","project.metadata.update":"Update project metadata","pm.work_item.create":"Create work items","pm.work_item.metadata":"Update work item metadata","pm.management.update":"Update owner and next step","pm.task.prepare":"Prepare tasks","pm.task.execute":"Dispatch and execute tasks","session.start":"Start sessions","session.stop":"Stop sessions","session.dispatch":"Dispatch instructions to sessions","memory.write":"Write memory"},navAriaLabel:"Copilot settings navigation",navGeneral:"General",navAccess:"Access",navExtensions:"Extensions",navChannels:"Channels",navAutomations:"Automations",backToChat:"Back to chat",accessCardTitle:"Access",accessCardDescription:"Decide which projects Copilot may act on, which operations are allowed, and the usage limits.",channelsCardTitle:"Channels",channelsCardDescription:"Set up Feishu remote operation: app connection, identity confirmation, and grant binding.",manageModels:"Manage models",accessTitle:"Access and project permissions",accessDescription:"Grants decide which projects Copilot may act on and which operations are allowed. Every write operation is constrained by a grant and can be revoked at any time.",howTitle:"How grants work",howStep1:"Pick projects and allowed operations",howStep2:"Set expiry, action, and concurrency limits",howStep3:"Bind to a new conversation and let Copilot work in scope",howNote:"Revoking a grant stops further actions immediately; completed actions stay on record. A grant-bound conversation cannot switch grants.",grantsTitle:"Project grants",grantsDescription:"Each grant scopes a set of projects and allowed operations, and binds to a new conversation.",newGrant:"New grant",loading:"Loading grants…",loadError:"Failed to load grants",retry:"Retry",empty:"No grants yet. Create one to let Copilot work inside the projects you choose.",boundPrefix:"Current conversation bound to: ",statusActive:"Active",statusExpired:"Expired",statusRevoked:"Revoked",usageActions:"Actions",concurrency:"Max concurrency",expiry:"Expires",permanent:"Valid until revoked",unlimited:"Unlimited",startConversation:"Start a conversation with this grant",revoke:"Revoke grant",deleteGrant:"Delete grant",showRevoked:"Show revoked grants",hideRevoked:"Hide revoked grants",revokedHelp:"Deleted grants disappear from this list; historical conversations and action records are kept.",projectsEmpty:"No existing projects",createTitle:"New grant",createDescription:"Pick projects to create a grant: all currently grantable operations on the selected projects are allowed by default, valid until revoked.",stepProjects:"Project scope",stepPermissions:"Permissions",stepLimits:"Expiry and limits",nameLabel:"Grant name (optional)",namePlaceholder:"Named after the selected projects",allOperations:"Allow all currently grantable operations",allOperationsHelp:"Directory access stays within the selected projects. New operations and new projects are not added automatically.",customOperationsHelp:"Custom mode grants the root directories you enter. New operations and new projects are not added automatically.",allowedRootsLabel:"Root directories allowed for project creation (one absolute path per line)",permanentLabel:"Valid until revoked",unlimitedLabel:"Unlimited total actions",hoursLabel:"Valid hours",limitLabel:"Action limit",concurrencyLabel:"Max concurrency",advanced:"Advanced (optional)",create:"Create grant",creating:"Creating…",created:"Grant created. It is now available in the grant list.",cancel:"Cancel",errorGeneric:"Action failed. Please retry.",errNoProject:"Select at least one project.",errNoOperation:"Select at least one allowed operation, or enable all operations.",errNoRoots:"Enter the directories allowed for project creation, or switch back to all operations.",errConcurrency:"Max concurrency must be 1–20.",errHours:"Valid hours must be 1–8760.",errLimit:"Action limit must be 1–10000.",errCreate:"Creation failed. Please retry."},n={...o,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","pm.task.execute":"下發並執行任務","session.start":"啟動工作階段","session.stop":"停止工作階段","session.dispatch":"向工作階段下發指令","memory.write":"寫入記憶"},navAriaLabel:"Copilot 設定導覽",navGeneral:"一般",navAccess:"授權",navExtensions:"擴充",navChannels:"遠端渠道",navAutomations:"自動化",backToChat:"返回對話",accessCardTitle:"授權",accessCardDescription:"決定 Copilot 可以在哪些專案裡執行哪些操作,以及次數與有效期。",channelsCardTitle:"遠端渠道",channelsCardDescription:"設定飛書遠端操作:應用接入、身份確認與授權綁定。",manageModels:"管理模型",accessTitle:"授權與專案權限",accessDescription:"授權決定 Copilot 可以在哪些專案內執行哪些操作。所有寫入操作都受授權約束,可隨時撤銷。",howTitle:"授權如何運作",howStep1:"選擇專案與允許的操作",howStep2:"設定有效期、次數與並發上限",howStep3:"綁定到新對話,Copilot 在範圍內工作",howNote:"撤銷授權立即停止後續操作,已發生的操作保留記錄。授權綁定對話後不可切換。",grantsTitle:"專案授權",grantsDescription:"每個授權限定一組專案和允許的操作,用於綁定新對話。",newGrant:"新增授權",loading:"正在載入授權…",loadError:"授權載入失敗",retry:"重試",empty:"尚未建立授權。新增一個授權,讓 Copilot 在指定專案內為你工作。",boundPrefix:"目前對話綁定:",statusActive:"有效",statusExpired:"已過期",statusRevoked:"已撤銷",usageActions:"操作次數",concurrency:"最大並發",expiry:"到期",permanent:"長期有效,直至撤銷",unlimited:"不限",startConversation:"以此授權新增對話",revoke:"撤銷授權",deleteGrant:"刪除授權",showRevoked:"查看已撤銷授權",hideRevoked:"收起已撤銷授權",revokedHelp:"刪除後不再出現在列表中,歷史對話和操作記錄仍保留。",projectsEmpty:"無現有專案",createTitle:"新增授權",createDescription:"選擇專案即可建立:預設允許所選專案的全部可授權操作,長期有效,直至撤銷。",stepProjects:"專案範圍",stepPermissions:"權限範圍",stepLimits:"有效期與限額",nameLabel:"授權名稱(可選)",namePlaceholder:"按所選專案自動命名",allOperations:"允許所有目前可授權操作",allOperationsHelp:"目錄權限僅限所選專案目錄內。未來新增操作和新建專案不會自動加入授權。",customOperationsHelp:"自訂模式按填寫的根目錄授權。未來新增操作和新建專案不會自動加入授權。",allowedRootsLabel:"允許建立專案的根目錄(每行一個絕對路徑)",permanentLabel:"長期有效,直到撤銷",unlimitedLabel:"不限制累計操作次數",hoursLabel:"有效小時",limitLabel:"操作次數上限",concurrencyLabel:"最大並發",advanced:"進階設定(可選)",create:"建立授權",creating:"正在建立…",created:"授權已建立,可在授權列表中使用。",cancel:"取消",errorGeneric:"操作失敗,請重試",errNoProject:"請至少選擇一個專案。",errNoOperation:"請至少選擇一項允許操作,或開啟所有操作。",errNoRoots:"請填寫允許建立專案的目錄,或切換為預設的所有操作。",errConcurrency:"最大並發須為 1–20。",errHours:"有效小時須為 1–8760。",errLimit:"操作次數上限須為 1–10000。",errCreate:"建立失敗,請重試。"};e.s(["useSettingsCopy",0,function(){let{language:e}=(0,t.useLanguage)();return"en"===e?a:"zh-TW"===e?n:o}])},63134,e=>{"use strict";var t=e.i(66499),o=e.i(41271),a=e.i(86059),n=e.i(34558),i=e.i(83540),s=e.i(96588),r=e.i(84959),c=e.i(71326),l=e.i(4484),d=e.i(60218),u=e.i(42831);e.s(["CopilotSettingsShell",0,function({active:e,title:p,description:m,children:h}){let g,x=(0,u.useSettingsCopy)(),v=(0,a.useRouter)(),f=(g=(0,u.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:l.SlidersHorizontal,label:g.navGeneral},{key:"access",href:"/copilot/settings/access",icon:c.ShieldCheck,label:g.navAccess},{key:"extensions",href:"/copilot/extensions",icon:s.Puzzle,label:g.navExtensions},{key:"channels",href:"/copilot/channels",icon:r.Radio,label:g.navChannels},{key:"automations",href:"/copilot/automations",icon:i.CalendarClock,label:g.navAutomations}]);return(0,t.jsxs)("div",{className:"mx-auto flex h-full w-full max-w-6xl flex-col gap-5 overflow-y-auto p-4 md:p-6",children:[(0,t.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":x.backToChat,title:x.backToChat,onClick:()=>v.push("/copilot"),children:(0,t.jsx)(n.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold",children:p}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m})]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,t.jsx)("nav",{"aria-label":x.navAriaLabel,className:"forgebadger-animate-in flex shrink-0 gap-1 overflow-x-auto pb-1 md:w-44 md:flex-col md:overflow-visible md:pb-0",style:{animationDelay:"60ms"},children:f.map(a=>{let n=a.icon,i=a.key===e;return(0,t.jsxs)(o.default,{href:a.href,"aria-current":i?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${i?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,t.jsx)(n,{className:`size-4 shrink-0 ${i?"text-brand":""}`}),a.label]},a.key)})}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:h})]})]})}])},35851,e=>{"use strict";var t=e.i(66499),o=e.i(79923),a=e.i(85426),n=e.i(78717),i=e.i(6270),s=e.i(83540),r=e.i(81314),c=e.i(7329),l=e.i(80078),d=e.i(34487),u=e.i(62918),p=e.i(60218),m=e.i(12603),h=e.i(17854),g=e.i(88010),x=e.i(63134),v=e.i(35887),f=e.i(92608);let y=["copilot","automations"],b=["copilot","automation-suggestions"];function C({automation:e,pending:o,onToggle:a,onRun:n,onDelete:i}){let{t:c}=(0,v.useLanguage)();return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/70 bg-card px-3 py-2",children:[(0,t.jsx)(s.CalendarClock,{className:"size-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"flex items-center gap-2 text-sm font-medium",children:[e.name,(0,t.jsx)(k,{status:e.status})]}),(0,t.jsxs)("p",{className:"truncate text-xs text-muted-foreground",children:[e.scheduleKind," ",e.scheduleExpression]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(p.Button,{variant:"ghost",size:"icon","aria-label":c("copilot.automationsRunNow"),title:c("copilot.automationsRunNow"),disabled:o,onClick:n,children:(0,t.jsx)(r.Play,{className:"size-4"})}),(0,t.jsx)(p.Button,{variant:"ghost",size:"icon","aria-label":c("enabled"===e.status?"copilot.automationsPause":"copilot.automationsEnable"),disabled:o,onClick:a,children:(0,t.jsx)(l.RefreshCw,{className:"size-4"})}),(0,t.jsx)(p.Button,{variant:"ghost",size:"icon",className:"text-destructive","aria-label":c("common.delete"),disabled:o,onClick:i,children:(0,t.jsx)(d.Trash2,{className:"size-4"})})]})]})}function k({status:e}){return(0,t.jsxs)(u.Badge,{variant:"outline",className:"gap-1 text-[10px]",children:[(0,t.jsx)("span",{className:`size-1.5 rounded-full ${"enabled"===e?"bg-emerald-400":"paused"===e?"bg-amber-400":"bg-muted-foreground/40"}`}),e]})}function j({suggestion:e,pending:o,onAccept:a,onDismiss:n}){let{t:i}=(0,v.useLanguage)(),s=function(e){try{let t=JSON.parse(e);return{name:t.name??"",prompt:t.prompt??""}}catch{return{name:e,prompt:""}}}(e.jobSpec);return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/70 bg-card px-3 py-2",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:s.name}),(0,t.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:s.prompt})]}),(0,t.jsx)(p.Button,{size:"sm",variant:"outline",disabled:o,onClick:a,children:i("copilot.automationsAccept")}),(0,t.jsx)(p.Button,{size:"sm",variant:"ghost",disabled:o,onClick:n,children:i("copilot.automationsDismiss")})]})}e.s(["CopilotAutomationsPage",0,function(){let{t:e}=(0,v.useLanguage)(),s=(0,i.useQueryClient)(),[r,l]=(0,o.useState)(!1),[d,u]=(0,o.useState)({name:"",prompt:"",scheduleKind:"cron",scheduleExpression:"0 9 * * *"}),[k,w]=(0,o.useState)(null),N=(0,n.useQuery)({queryKey:y,queryFn:f.listAutomations}),S=(0,n.useQuery)({queryKey:b,queryFn:f.listAutomationSuggestions}),P=(0,o.useCallback)(()=>{s.invalidateQueries({queryKey:y}),s.invalidateQueries({queryKey:b})},[s]),A=(0,a.useMutation)({mutationFn:()=>(0,f.createAutomation)({name:d.name.trim(),prompt:d.prompt.trim(),scopeType:"global",scheduleKind:d.scheduleKind,scheduleExpression:d.scheduleExpression.trim()}),onSuccess:()=>{l(!1),u({name:"",prompt:"",scheduleKind:"cron",scheduleExpression:"0 9 * * *"}),w(null),P()},onError:t=>w(t instanceof Error?t.message:e("copilot.automationsCreateFailed"))}),R=(0,a.useMutation)({mutationFn:f.deleteAutomation,onSuccess:P}),L=(0,a.useMutation)({mutationFn:f.pauseAutomation,onSuccess:P}),T=(0,a.useMutation)({mutationFn:f.enableAutomation,onSuccess:P}),E=(0,a.useMutation)({mutationFn:f.runAutomationNow,onSuccess:P}),M=(0,a.useMutation)({mutationFn:f.acceptAutomationSuggestion,onSuccess:P}),D=(0,a.useMutation)({mutationFn:f.dismissAutomationSuggestion,onSuccess:P}),O=N.data?.automations??[],z=S.data?.suggestions??[];return(0,t.jsx)(x.CopilotSettingsShell,{active:"automations",title:e("copilot.automationsTitle"),description:e("copilot.automationsDescription"),children:(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[z.length>0&&(0,t.jsxs)(m.Card,{children:[(0,t.jsx)(m.CardHeader,{className:"pb-2",children:(0,t.jsx)(m.CardTitle,{className:"text-sm",children:e("copilot.automationsSuggestions")})}),(0,t.jsx)(m.CardContent,{className:"space-y-2",children:z.map(e=>(0,t.jsx)(j,{suggestion:e,pending:M.isPending||D.isPending,onAccept:()=>M.mutate(e.id),onDismiss:()=>D.mutate(e.id)},e.id))})]}),(0,t.jsxs)(m.Card,{children:[(0,t.jsxs)(m.CardHeader,{className:"flex flex-row items-center justify-between pb-2",children:[(0,t.jsx)(m.CardTitle,{className:"text-sm",children:e("copilot.automationsList")}),(0,t.jsx)(p.Button,{size:"sm",variant:"outline",onClick:()=>l(e=>!e),children:r?e("common.cancel"):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Plus,{className:"size-4"}),e("copilot.automationsCreate")]})})]}),r&&(0,t.jsxs)(m.CardContent,{className:"space-y-3 border-t border-border/70 pt-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Label,{htmlFor:"automation-name",children:e("common.name")}),(0,t.jsx)("input",{id:"automation-name",value:d.name,onChange:e=>u(t=>({...t,name:e.target.value})),className:"w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Label,{htmlFor:"automation-prompt",children:e("copilot.automationsPrompt")}),(0,t.jsx)(g.Textarea,{id:"automation-prompt",value:d.prompt,onChange:e=>u(t=>({...t,prompt:e.target.value})),rows:3})]}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Label,{htmlFor:"automation-kind",children:e("copilot.automationsSchedule")}),(0,t.jsxs)("select",{id:"automation-kind",value:d.scheduleKind,onChange:e=>u(t=>({...t,scheduleKind:e.target.value})),className:"w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,t.jsx)("option",{value:"cron",children:"cron"}),(0,t.jsx)("option",{value:"interval",children:"interval"}),(0,t.jsx)("option",{value:"once",children:"once"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Label,{htmlFor:"automation-expression",children:e("copilot.automationsExpression")}),(0,t.jsx)("input",{id:"automation-expression",value:d.scheduleExpression,onChange:e=>u(t=>({...t,scheduleExpression:e.target.value})),className:"w-full rounded-md border border-input bg-transparent px-3 py-2 font-mono text-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"})]})]}),k&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:k}),(0,t.jsx)(p.Button,{size:"sm",onClick:()=>A.mutate(),disabled:A.isPending||!d.name.trim()||!d.prompt.trim(),children:A.isPending?e("common.loading"):e("copilot.automationsSave")})]}),(0,t.jsx)(m.CardContent,{className:"space-y-2",children:0===O.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e("copilot.automationsEmpty")}):O.map(o=>(0,t.jsx)(C,{automation:o,pending:L.isPending||T.isPending||E.isPending,onToggle:()=>"enabled"===o.status?L.mutate(o.id):T.mutate(o.id),onRun:()=>E.mutate(o.id),onDelete:()=>{window.confirm(e("copilot.automationsDeleteConfirm"))&&R.mutate(o.id)}},o.id))})]})]})})}])}]);