forgebadger 0.1.0 → 0.1.1

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 (418) hide show
  1. package/README.md +26 -23
  2. package/dist/commands/doctor.d.ts +2 -1
  3. package/dist/commands/doctor.js +1 -1
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/start.d.ts +3 -2
  6. package/dist/commands/start.js +5 -4
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/gateway/src/config/env.d.ts +5 -0
  9. package/dist/gateway/src/config/env.js +6 -0
  10. package/dist/gateway/src/config/env.js.map +1 -1
  11. package/dist/gateway/src/routes/copilot.js +0 -6
  12. package/dist/gateway/src/routes/copilot.js.map +1 -1
  13. package/dist/gateway/src/routes/sessions.js +5 -2
  14. package/dist/gateway/src/routes/sessions.js.map +1 -1
  15. package/dist/gateway/src/runtime/start-gateway.js +4 -1
  16. package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
  17. package/dist/gateway/src/server.d.ts +2 -0
  18. package/dist/gateway/src/server.js +8 -0
  19. package/dist/gateway/src/server.js.map +1 -1
  20. package/dist/gateway/src/services/adapter-autonomy.d.ts +5 -2
  21. package/dist/gateway/src/services/adapter-autonomy.js +19 -1
  22. package/dist/gateway/src/services/adapter-autonomy.js.map +1 -1
  23. package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +23 -0
  24. package/dist/gateway/src/services/agent/dispatch-supervisor.js +56 -0
  25. package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -0
  26. package/dist/gateway/src/services/agent/skills/copilot-skills.js +17 -16
  27. package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
  28. package/dist/gateway/src/services/agent/tool-availability.js +0 -2
  29. package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
  30. package/dist/gateway/src/services/agent/tools/platform-coverage.js +5 -2
  31. package/dist/gateway/src/services/agent/tools/platform-coverage.js.map +1 -1
  32. package/dist/gateway/src/services/agent/tools/platform-management.js +2 -1
  33. package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
  34. package/dist/gateway/src/services/agent/tools/project-manager.js +10 -0
  35. package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
  36. package/dist/gateway/src/services/mcp/mcp-server.js +5 -2
  37. package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
  38. package/dist/gateway/src/services/platform-commands/catalog.d.ts +10 -0
  39. package/dist/gateway/src/services/platform-commands/catalog.js +82 -12
  40. package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
  41. package/dist/gateway/src/services/platform-commands/session-commands.d.ts +18 -1
  42. package/dist/gateway/src/services/platform-commands/session-commands.js +4 -0
  43. package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
  44. package/dist/gateway/src/services/platform-commands/tool-commands.js +1 -1
  45. package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
  46. package/dist/gateway/src/services/project-manager/management.d.ts +1 -1
  47. package/dist/gateway/src/services/project-manager/management.js +2 -1
  48. package/dist/gateway/src/services/project-manager/management.js.map +1 -1
  49. package/dist/gateway/src/services/project-manager/task-packets.d.ts +4 -0
  50. package/dist/gateway/src/services/project-manager/task-packets.js +14 -0
  51. package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
  52. package/dist/runtime/dependency-check.d.ts +3 -1
  53. package/dist/runtime/dependency-check.js +31 -5
  54. package/dist/runtime/dependency-check.js.map +1 -1
  55. package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
  56. package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
  57. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +1 -1
  58. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
  59. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +1 -1
  60. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
  61. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +1 -1
  62. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
  63. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +1 -1
  64. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
  65. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +1 -1
  66. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
  67. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +1 -1
  68. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +1 -1
  69. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +1 -1
  70. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
  71. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +1 -1
  72. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
  73. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +1 -1
  74. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
  75. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +1 -1
  76. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
  77. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +1 -1
  78. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
  79. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +1 -1
  80. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  81. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -1
  82. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  83. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +1 -1
  84. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
  85. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +1 -1
  86. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
  87. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +1 -1
  88. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
  89. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +1 -1
  90. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  91. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +1 -1
  92. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
  93. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +1 -1
  94. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  95. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +1 -1
  96. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  97. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +1 -1
  98. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
  99. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +1 -1
  100. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  101. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +1 -1
  102. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
  103. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +1 -1
  104. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
  105. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +1 -1
  106. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
  107. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +1 -1
  108. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  109. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +1 -1
  110. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
  111. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +1 -1
  112. package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
  113. package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  114. package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  115. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  116. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  117. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  118. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  119. package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  120. package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  121. package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
  122. package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
  123. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  124. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  125. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  126. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  127. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  128. package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  129. package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
  130. package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +13 -13
  131. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
  132. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
  133. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  134. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +13 -13
  135. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
  136. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
  137. package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
  138. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
  139. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +15 -15
  140. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
  141. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
  142. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  143. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  144. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +15 -15
  145. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
  146. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
  147. package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
  148. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
  149. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +15 -15
  150. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
  151. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
  152. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  153. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  154. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +15 -15
  155. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
  156. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
  157. package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
  158. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
  159. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +15 -15
  160. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
  161. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
  162. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  163. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  164. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +15 -15
  165. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
  166. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
  167. package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
  168. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +1 -1
  169. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +16 -16
  170. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +3 -3
  171. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +3 -3
  172. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  173. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  174. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  175. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +16 -16
  176. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_head.segment.rsc +4 -4
  177. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +6 -6
  178. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +2 -2
  179. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
  180. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +15 -15
  181. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
  182. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
  183. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  184. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  185. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +15 -15
  186. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
  187. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
  188. package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
  189. package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
  190. package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +16 -16
  191. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
  192. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
  193. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  194. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +16 -16
  195. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
  196. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
  197. package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
  198. package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  199. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
  200. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
  201. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
  202. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
  203. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
  204. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  205. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
  206. package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
  207. package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
  208. package/dist/web/standalone/packages/web/.next/server/app/history.rsc +16 -16
  209. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
  210. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
  211. package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  212. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +16 -16
  213. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
  214. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
  215. package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  216. package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
  217. package/dist/web/standalone/packages/web/.next/server/app/index.rsc +16 -16
  218. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
  219. package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  220. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +16 -16
  221. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  222. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
  223. package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  224. package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
  225. package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
  226. package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
  227. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
  228. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
  229. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
  230. package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
  231. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
  232. package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
  233. package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  234. package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
  235. package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
  236. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
  237. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
  238. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
  239. package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  240. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  241. package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
  242. package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
  243. package/dist/web/standalone/packages/web/.next/server/app/members.rsc +16 -16
  244. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
  245. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
  246. package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  247. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +16 -16
  248. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
  249. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
  250. package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
  251. package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
  252. package/dist/web/standalone/packages/web/.next/server/app/models.rsc +16 -16
  253. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
  254. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
  255. package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  256. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +16 -16
  257. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
  258. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
  259. package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
  260. package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
  261. package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +16 -16
  262. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
  263. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
  264. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  265. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +16 -16
  266. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
  267. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
  268. package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
  269. package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
  270. package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +16 -16
  271. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
  272. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
  273. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  274. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  275. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +16 -16
  276. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
  277. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
  278. package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
  279. package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
  280. package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +16 -16
  281. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
  282. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
  283. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  284. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  285. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +16 -16
  286. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
  287. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
  288. package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
  289. package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
  290. package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +16 -16
  291. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
  292. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
  293. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  294. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +16 -16
  295. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
  296. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
  297. package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  298. package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
  299. package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
  300. package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
  301. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
  302. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
  303. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
  304. package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
  305. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
  306. package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
  307. package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
  308. package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +16 -16
  309. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
  310. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
  311. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  312. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +16 -16
  313. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
  314. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
  315. package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  316. package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
  317. package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +16 -16
  318. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
  319. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
  320. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  321. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  322. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  323. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
  324. package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  325. package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
  326. package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +16 -16
  327. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
  328. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
  329. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  330. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  331. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +16 -16
  332. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
  333. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
  334. package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
  335. package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
  336. package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +16 -16
  337. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
  338. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
  339. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  340. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +16 -16
  341. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
  342. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
  343. package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  344. package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
  345. package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +13 -13
  346. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
  347. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
  348. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  349. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +13 -13
  350. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
  351. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
  352. package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
  353. package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
  354. package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +16 -16
  355. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
  356. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
  357. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  358. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +16 -16
  359. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
  360. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
  361. package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  362. package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
  363. package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +16 -16
  364. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
  365. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
  366. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  367. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +16 -16
  368. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
  369. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
  370. package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
  371. package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
  372. package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +13 -13
  373. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
  374. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
  375. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
  376. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +13 -13
  377. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
  378. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
  379. package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  380. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
  381. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +1 -1
  382. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +1 -1
  383. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +1 -1
  384. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +1 -1
  385. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
  386. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
  387. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +1 -1
  388. package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
  389. package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
  390. package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
  391. package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
  392. package/dist/web/standalone/packages/web/.next/static/chunks/01qswe5yw6zti.js +1 -0
  393. package/dist/web/standalone/packages/web/.next/static/chunks/{0om1z.zeag-a7.js → 05mebsn5x~f7z.js} +1 -1
  394. package/dist/web/standalone/packages/web/.next/static/chunks/05pjsamrc9hw8.css +1 -0
  395. package/dist/web/standalone/packages/web/.next/static/chunks/08i6pyfaut9bg.js +1 -0
  396. package/dist/web/standalone/packages/web/.next/static/chunks/0a812oghcxixr.js +1 -0
  397. package/dist/web/standalone/packages/web/.next/static/chunks/{0c11igjuiagib.js → 0bihh5ze2~z1f.js} +1 -1
  398. package/dist/web/standalone/packages/web/.next/static/chunks/0cnz9fv.au4.r.js +1 -0
  399. package/dist/web/standalone/packages/web/.next/static/chunks/0h73tv8xwqxqw.js +1 -0
  400. package/dist/web/standalone/packages/web/.next/static/chunks/{17hy0ddp_si9n.js → 0mx93hpu5af8p.js} +1 -1
  401. package/dist/web/standalone/packages/web/.next/static/chunks/0vxu682behxa7.js +1 -0
  402. package/dist/web/standalone/packages/web/.next/static/chunks/0wel25michro~.js +1 -0
  403. package/dist/web/standalone/packages/web/.next/static/chunks/13ehygx5durlz.js +1 -0
  404. package/docs/README.zh-CN.md +15 -15
  405. package/docs/README.zh-TW.md +15 -15
  406. package/package.json +2 -2
  407. package/dist/web/standalone/packages/web/.next/static/chunks/0-xefkkbz5sms.js +0 -1
  408. package/dist/web/standalone/packages/web/.next/static/chunks/0-~0vw7n16dl5.js +0 -1
  409. package/dist/web/standalone/packages/web/.next/static/chunks/0.dinxntqfai9.js +0 -1
  410. package/dist/web/standalone/packages/web/.next/static/chunks/09wc9dfimci6a.js +0 -1
  411. package/dist/web/standalone/packages/web/.next/static/chunks/0d7lv09enxqxk.js +0 -1
  412. package/dist/web/standalone/packages/web/.next/static/chunks/0ek9hith8j-xs.js +0 -1
  413. package/dist/web/standalone/packages/web/.next/static/chunks/0g477-voyum5d.css +0 -1
  414. package/dist/web/standalone/packages/web/.next/static/chunks/0ub4kcycb_b...js +0 -1
  415. package/dist/web/standalone/packages/web/.next/static/chunks/0v8tskw4xza79.js +0 -1
  416. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → lcO9z98BJ26kFzrqXH-ot}/_buildManifest.js +0 -0
  417. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → lcO9z98BJ26kFzrqXH-ot}/_clientMiddlewareManifest.js +0 -0
  418. /package/dist/web/standalone/packages/web/.next/static/{UoUlLp6otXSsVrQmrFF4Z → lcO9z98BJ26kFzrqXH-ot}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[83164,a=>{"use strict";var b=a.i(39042);a.s(["createGrant",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(a)})},"deleteGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}`,{method:"DELETE"})},"getPlatformAction",0,function(a){return(0,b.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(a)}`)},"getProjectOverview",0,function(a){return(0,b.fetchJson)(`/api/v1/project-manager/overview${a?`?grantId=${encodeURIComponent(a)}`:""}`)},"getSessionWriter",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/writer`)},"listGrants",0,function(){return(0,b.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}/revoke`,{method:"POST"})},"takeoverSession",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(a,c){return(0,b.fetchJson)(`/api/v1/projects/${encodeURIComponent(a)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(c)})}])},12599,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Textarea",0,function({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.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",a),...d})}])},14015,a=>{"use strict";var b=a.i(85924);a.s(["ChevronRight",()=>b.default])},67123,a=>{"use strict";var b=a.i(47561);a.s(["CheckCircle2",()=>b.default])},75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},6377,84142,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(4837),e=a.i(39747),f=a.i(26248),g=a.i(48459),h=a.i(71700),i=a.i(4730),j=a.i(55068),k=a.i(10917),l=a.i(79914),m=a.i(39042),n=a.i(75906);let o="/api/v1/copilot",p=a=>`${o}/skills/${encodeURIComponent(a)}`,q=a=>`${o}/connections/${encodeURIComponent(a)}`,r=["copilot","skills"];a.s(["copilotConnectionsKey",0,["copilot","connections"],"copilotSkillsKey",0,r,"createCopilotConnection",0,a=>(0,m.fetchJson)(`${o}/connections`,{method:"POST",body:JSON.stringify(a)}),"deleteCopilotConnection",0,(a,b)=>(0,m.fetchJson)(`${q(a)}?revision=${b}`,{method:"DELETE"}),"discoverCopilotConnection",0,(a,b)=>(0,m.fetchJson)(`${q(a)}/discover`,{method:"POST",body:JSON.stringify({revision:b})}),"getCopilotSkill",0,a=>(0,m.fetchJson)(p(a)),"getSkillRevision",0,(a,b)=>(0,m.fetchJson)(`${p(a)}/revisions/${encodeURIComponent(b)}`),"importCopilotSkill",0,a=>(0,m.fetchJson)(`${o}/skills/imports`,{method:"POST",body:JSON.stringify(a)}),"listCopilotConnections",0,()=>(0,m.fetchJson)(`${o}/connections`),"listCopilotSkills",0,()=>(0,m.fetchJson)(`${o}/skills`),"listSkillRevisions",0,a=>(0,m.fetchJson)(`${p(a)}/revisions`),"rollbackCopilotSkill",0,(a,b,c)=>(0,m.fetchJson)(`${p(a)}/rollback`,{method:"POST",body:JSON.stringify({revisionId:b,expectedRevisionId:c})}),"setCopilotSkillEnabled",0,(a,b,c)=>(0,m.fetchJson)(`${p(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:b,expectedRevisionId:c})}),"updateCopilotConnection",0,(a,b)=>(0,m.fetchJson)(q(a),{method:"PUT",body:JSON.stringify(b)}),"updateCopilotSkill",0,(a,b)=>(0,m.fetchJson)(p(a),{method:"PUT",body:JSON.stringify(b)})],84142);let s=["model-providers"],t=["copilot","capabilities"];function u({title:a,tools:c,pending:d,onToggle:e}){return(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold tracking-wide text-muted-foreground/70 uppercase",children:a}),c.map(a=>(0,b.jsx)(v,{tool:a,pending:d,onToggle:b=>e(a.name,b)},a.name))]})}function v({tool:a,pending:c,onToggle:d}){let{t:e}=(0,l.useLanguage)(),f=`copilot.toolDesc.${a.name}`,g=e(f),j=g===f?a.description:g;return(0,b.jsxs)("div",{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card px-3 py-2 transition-opacity ${a.enabled&&a.available?"":"opacity-60"}`,"data-testid":`tool-row-${a.name}`,children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,b.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs font-medium",children:[(0,b.jsx)(h.Wrench,{className:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)("span",{className:"font-mono",children:a.name}),"operate"===a.risk?(0,b.jsx)(i.Badge,{variant:"outline",className:"border-amber-500/50 px-1 py-0 text-[10px] text-amber-500",children:"operate"}):null,a.requiresApproval&&a.available?(0,b.jsx)(i.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:e("copilot.toolAuthorization")}):null]}),(0,b.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:j}),a.available?null:(0,b.jsxs)("p",{className:"text-xs text-amber-500",children:[e("copilot.toolUnavailable"),": ",a.unavailableReason??e("copilot.toolUnavailable")]})]}),(0,b.jsx)(k.Switch,{"aria-label":a.name,size:"sm",className:"mt-0.5 shrink-0",disabled:c||!a.available,checked:a.enabled,onCheckedChange:d})]})}a.s(["CapabilitiesSection",0,function({active:a}){let{t:h}=(0,l.useLanguage)(),i=(0,f.useQueryClient)(),[k,m]=(0,c.useState)(null),[o,p]=(0,c.useState)(""),q=(0,e.useQuery)({queryKey:t,queryFn:n.getCopilotCapabilities,enabled:a,retry:!1}),s=(0,d.useMutation)({mutationFn:({name:a,enabled:b})=>(0,n.setCopilotToolEnabled)(a,b),onSuccess:()=>{m(null),i.invalidateQueries({queryKey:t}),i.invalidateQueries({queryKey:r})},onError:()=>m(h("copilot.capabilitiesToggleError"))}),v=q.data?.tools??[],w=o.trim().toLowerCase(),x=w?v.filter(a=>`${a.name} ${a.description}`.toLowerCase().includes(w)):v,y=x.filter(a=>"operate"===a.risk),z=x.filter(a=>"operate"!==a.risk);return(0,b.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:h("copilot.capabilities")}),q.isPending||q.isError||!(v.length>0)?null:(0,b.jsxs)("div",{className:"relative w-48 max-w-full",children:[(0,b.jsx)(g.Search,{className:"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)(j.Input,{value:o,onChange:a=>p(a.target.value),placeholder:h("copilot.toolsSearch"),className:"h-8 pl-8 text-xs"})]})]}),q.isPending?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("common.loading")}):q.isError?(0,b.jsx)("p",{className:"text-xs text-destructive",children:h("copilot.capabilitiesLoadError")}):0===v.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("copilot.capabilitiesEmpty")}):0===x.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("copilot.toolsSearchEmpty")}):(0,b.jsxs)("div",{className:"space-y-3",children:[y.length>0?(0,b.jsx)(u,{title:h("copilot.toolGroupOperate"),tools:y,pending:s.isPending,onToggle:(a,b)=>s.mutate({name:a,enabled:b})}):null,z.length>0?(0,b.jsx)(u,{title:h("copilot.toolGroupRead"),tools:z,pending:s.isPending,onToggle:(a,b)=>s.mutate({name:a,enabled:b})}):null]}),k&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:k})]})},"CopilotStatusBar",0,function(){let{t:a}=(0,l.useLanguage)(),c=(0,e.useQuery)({queryKey:s,queryFn:m.listModelProviders}),d=(c.data?.models??[]).filter(a=>"disabled"!==a.status),f=d.find(a=>a.isDefault)??d[0],g=f?`${f.providerName} / ${f.name}`:a("copilot.followSystemDefault");return(0,b.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,b.jsx)("span",{className:"shrink-0",children:a("copilot.currentModel")}),(0,b.jsx)("span",{className:"truncate",children:g}),(0,b.jsxs)(i.Badge,{variant:"secondary",className:"ml-auto gap-1.5 whitespace-nowrap",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),a("copilot.nativeRuntime")]})]})},"modelProvidersQueryKey",0,s],6377)},20251,a=>{"use strict";var b=a.i(85198);a.s(["usePrevious",0,function(a){let c=b.useRef({value:a,previous:a});return b.useMemo(()=>(c.current.value!==a&&(c.current.previous=c.current.value,c.current.value=a),c.current.previous),[a])}])},4323,a=>{"use strict";let b=(0,a.i(35485).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["default",0,b])},38016,a=>{"use strict";let b=(0,a.i(35485).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},85924,a=>{"use strict";let b=(0,a.i(35485).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},91638,a=>{"use strict";var b=a.i(22347);a.s(["X",()=>b.default])},60870,a=>{"use strict";let b=(0,a.i(35485).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],60870)},21592,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,b],21592)},90259,a=>{"use strict";let b=(0,a.i(35485).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],90259)},4730,a=>{"use strict";var b=a.i(20486),c=a.i(42261),d=a.i(3366),e=a.i(39465);let f=(0,c.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"}});a.s(["Badge",0,function({className:a,variant:c="default",asChild:g=!1,...h}){let i=g?d.Slot.Root:"span";return(0,b.jsx)(i,{"data-slot":"badge","data-variant":c,className:(0,e.cn)(f({variant:c}),a),...h})}])},70458,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}])},37134,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["Trash2",0,b],37134)},37060,a=>{"use strict";var b=a.i(4323);a.s(["ChevronDown",()=>b.default])},38094,a=>{"use strict";let b=(0,a.i(35485).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],38094)},802,a=>{"use strict";let b="github-dark-default",c=null,d=new Set,e={ts:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",json:"json",jsonc:"jsonc",json5:"json5",md:"markdown",mdx:"mdx",py:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cc:"cpp",cpp:"cpp",cxx:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",swift:"swift",scala:"scala",lua:"lua",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",sql:"sql",css:"css",scss:"scss",less:"less",html:"html",htm:"html",vue:"vue",svelte:"svelte",xml:"xml",svg:"xml",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",conf:"ini",cfg:"ini",tf:"hcl",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"proto",r:"r",jl:"julia",dart:"dart",ex:"elixir",exs:"elixir",erl:"erlang",hs:"haskell",clj:"clojure",vim:"vim",diff:"diff",patch:"diff",tex:"latex",dockerfile:"dockerfile",env:"dotenv"},f={dockerfile:"dockerfile","dockerfile.dev":"dockerfile",makefile:"makefile",gnumakefile:"makefile",".env":"dotenv",".env.example":"dotenv",".env.sample":"dotenv",".env.template":"dotenv"};async function g(g,h){let i=function(a){let b=a.toLowerCase(),c=b.split("/").pop()??b,d=f[c];if(d)return d;let g=c.lastIndexOf(".");return g<=0?null:e[c.slice(g+1)]??null}(h);if(!i)return null;try{let e=await (!c&&(c=a.A(26874).then(({createHighlighter:a})=>a({themes:[b],langs:[]}))),c);d.has(i)||(await e.loadLanguage(i),d.add(i));let{tokens:f}=e.codeToTokens(g,{lang:i,theme:b});return f}catch{return null}}a.s(["highlightWorkspaceCode",0,g,"tokenFontStyle",0,function(a){let b=a??0;return{italic:(1&b)!=0,bold:(2&b)!=0,underline:(4&b)!=0}}])},14027,a=>{"use strict";let b=(0,a.i(35485).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],14027)},10917,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(59653),e=a.i(68189),f=a.i(84694),g=a.i(83370),h=a.i(20251),i=a.i(66394),j=a.i(58036),k="Switch",[l,m]=(0,f.createContextScope)(k),[n,o]=l(k),p=c.forwardRef((a,f)=>{let{__scopeSwitch:h,name:i,checked:l,defaultChecked:m,required:o,disabled:p,value:q="on",onCheckedChange:r,form:u,...v}=a,[w,x]=c.useState(null),y=(0,e.useComposedRefs)(f,a=>x(a)),z=c.useRef(!1),A=!w||u||!!w.closest("form"),[B,C]=(0,g.useControllableState)({prop:l,defaultProp:m??!1,onChange:r,caller:k});return(0,b.jsxs)(n,{scope:h,checked:B,disabled:p,children:[(0,b.jsx)(j.Primitive.button,{type:"button",role:"switch","aria-checked":B,"aria-required":o,"data-state":t(B),"data-disabled":p?"":void 0,disabled:p,value:q,...v,ref:y,onClick:(0,d.composeEventHandlers)(a.onClick,a=>{C(a=>!a),A&&(z.current=a.isPropagationStopped(),z.current||a.stopPropagation())})}),A&&(0,b.jsx)(s,{control:w,bubbles:!z.current,name:i,value:q,checked:B,required:o,disabled:p,form:u,style:{transform:"translateX(-100%)"}})]})});p.displayName=k;var q="SwitchThumb",r=c.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=o(q,d);return(0,b.jsx)(j.Primitive.span,{"data-state":t(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});r.displayName=q;var s=c.forwardRef(({__scopeSwitch:a,control:d,checked:f,bubbles:g=!0,...j},k)=>{let l=c.useRef(null),m=(0,e.useComposedRefs)(l,k),n=(0,h.usePrevious)(f),o=(0,i.useSize)(d);return c.useEffect(()=>{let a=l.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==f&&b){let c=new Event("click",{bubbles:g});b.call(a,f),a.dispatchEvent(c)}},[n,f,g]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:f,...j,tabIndex:-1,ref:m,style:{...j.style,...o,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function t(a){return a?"checked":"unchecked"}s.displayName="SwitchBubbleInput",a.s(["Root",0,p,"Switch",0,p,"SwitchThumb",0,r,"Thumb",0,r,"createSwitchScope",0,m],34559);var u=a.i(34559),u=u,v=a.i(39465);a.s(["Switch",0,function({className:a,size:c="default",...d}){return(0,b.jsx)(u.Root,{"data-slot":"switch","data-size":c,className:(0,v.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",a),...d,children:(0,b.jsx)(u.Thumb,{"data-slot":"switch-thumb",className:(0,v.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")})})}],10917)},44935,a=>{"use strict";var b=a.i(53650);a.s(["AlertTriangle",()=>b.default])},22510,a=>{"use strict";var b=a.i(38016);a.s(["Check",()=>b.default])},92019,a=>{"use strict";var b=a.i(71356);a.s(["Loader2",()=>b.default])},26874,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_shiki_0c65clg._.js"].map(b=>a.l(b))).then(()=>b(79175)))}];
1
+ module.exports=[83164,a=>{"use strict";var b=a.i(39042);a.s(["createGrant",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(a)})},"deleteGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}`,{method:"DELETE"})},"getPlatformAction",0,function(a){return(0,b.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(a)}`)},"getProjectOverview",0,function(a){return(0,b.fetchJson)(`/api/v1/project-manager/overview${a?`?grantId=${encodeURIComponent(a)}`:""}`)},"getSessionWriter",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/writer`)},"listGrants",0,function(){return(0,b.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}/revoke`,{method:"POST"})},"takeoverSession",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(a,c){return(0,b.fetchJson)(`/api/v1/projects/${encodeURIComponent(a)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(c)})}])},12599,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Textarea",0,function({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.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",a),...d})}])},14015,a=>{"use strict";var b=a.i(85924);a.s(["ChevronRight",()=>b.default])},67123,a=>{"use strict";var b=a.i(47561);a.s(["CheckCircle2",()=>b.default])},75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},6377,84142,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(4837),e=a.i(39747),f=a.i(26248),g=a.i(48459),h=a.i(71700),i=a.i(4730),j=a.i(55068),k=a.i(10917),l=a.i(79914),m=a.i(39042),n=a.i(75906);let o="/api/v1/copilot",p=a=>`${o}/skills/${encodeURIComponent(a)}`,q=a=>`${o}/connections/${encodeURIComponent(a)}`,r=["copilot","skills"];a.s(["copilotConnectionsKey",0,["copilot","connections"],"copilotSkillsKey",0,r,"createCopilotConnection",0,a=>(0,m.fetchJson)(`${o}/connections`,{method:"POST",body:JSON.stringify(a)}),"deleteCopilotConnection",0,(a,b)=>(0,m.fetchJson)(`${q(a)}?revision=${b}`,{method:"DELETE"}),"discoverCopilotConnection",0,(a,b)=>(0,m.fetchJson)(`${q(a)}/discover`,{method:"POST",body:JSON.stringify({revision:b})}),"getCopilotSkill",0,a=>(0,m.fetchJson)(p(a)),"getSkillRevision",0,(a,b)=>(0,m.fetchJson)(`${p(a)}/revisions/${encodeURIComponent(b)}`),"importCopilotSkill",0,a=>(0,m.fetchJson)(`${o}/skills/imports`,{method:"POST",body:JSON.stringify(a)}),"listCopilotConnections",0,()=>(0,m.fetchJson)(`${o}/connections`),"listCopilotSkills",0,()=>(0,m.fetchJson)(`${o}/skills`),"listSkillRevisions",0,a=>(0,m.fetchJson)(`${p(a)}/revisions`),"rollbackCopilotSkill",0,(a,b,c)=>(0,m.fetchJson)(`${p(a)}/rollback`,{method:"POST",body:JSON.stringify({revisionId:b,expectedRevisionId:c})}),"setCopilotSkillEnabled",0,(a,b,c)=>(0,m.fetchJson)(`${p(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:b,expectedRevisionId:c})}),"updateCopilotConnection",0,(a,b)=>(0,m.fetchJson)(q(a),{method:"PUT",body:JSON.stringify(b)}),"updateCopilotSkill",0,(a,b)=>(0,m.fetchJson)(p(a),{method:"PUT",body:JSON.stringify(b)})],84142);let s=["model-providers"],t=["copilot","capabilities"];function u({title:a,tools:c,pending:d,onToggle:e}){return(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold tracking-wide text-muted-foreground/70 uppercase",children:a}),c.map(a=>(0,b.jsx)(v,{tool:a,pending:d,onToggle:b=>e(a.name,b)},a.name))]})}function v({tool:a,pending:c,onToggle:d}){let{t:e}=(0,l.useLanguage)(),f=`copilot.toolDesc.${a.name}`,g=e(f),j=g===f?a.description:g;return(0,b.jsxs)("div",{className:`flex items-start justify-between gap-3 rounded-md border border-border/70 bg-card px-3 py-2 transition-opacity ${a.enabled&&a.available?"":"opacity-60"}`,"data-testid":`tool-row-${a.name}`,children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,b.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-xs font-medium",children:[(0,b.jsx)(h.Wrench,{className:"size-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)("span",{className:"font-mono",children:a.name}),"operate"===a.risk?(0,b.jsx)(i.Badge,{variant:"outline",className:"border-amber-500/50 px-1 py-0 text-[10px] text-amber-500",children:"operate"}):null,a.requiresApproval&&a.available?(0,b.jsx)(i.Badge,{variant:"outline",className:"px-1 py-0 text-[10px] text-muted-foreground",children:e("copilot.toolAuthorization")}):null]}),(0,b.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:j}),a.available?null:(0,b.jsxs)("p",{className:"text-xs text-amber-500",children:[e("copilot.toolUnavailable"),": ",a.unavailableReason??e("copilot.toolUnavailable")]})]}),(0,b.jsx)(k.Switch,{"aria-label":a.name,size:"sm",className:"mt-0.5 shrink-0",disabled:c||!a.available,checked:a.enabled,onCheckedChange:d})]})}a.s(["CapabilitiesSection",0,function({active:a}){let{t:h}=(0,l.useLanguage)(),i=(0,f.useQueryClient)(),[k,m]=(0,c.useState)(null),[o,p]=(0,c.useState)(""),q=(0,e.useQuery)({queryKey:t,queryFn:n.getCopilotCapabilities,enabled:a,retry:!1}),s=(0,d.useMutation)({mutationFn:({name:a,enabled:b})=>(0,n.setCopilotToolEnabled)(a,b),onSuccess:()=>{m(null),i.invalidateQueries({queryKey:t}),i.invalidateQueries({queryKey:r})},onError:()=>m(h("copilot.capabilitiesToggleError"))}),v=q.data?.tools??[],w=o.trim().toLowerCase(),x=w?v.filter(a=>`${a.name} ${a.description}`.toLowerCase().includes(w)):v,y=x.filter(a=>"operate"===a.risk),z=x.filter(a=>"operate"!==a.risk);return(0,b.jsxs)("section",{className:"space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:h("copilot.capabilities")}),q.isPending||q.isError||!(v.length>0)?null:(0,b.jsxs)("div",{className:"relative w-48 max-w-full",children:[(0,b.jsx)(g.Search,{className:"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)(j.Input,{value:o,onChange:a=>p(a.target.value),placeholder:h("copilot.toolsSearch"),className:"h-8 pl-8 text-xs"})]})]}),q.isPending?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("common.loading")}):q.isError?(0,b.jsx)("p",{className:"text-xs text-destructive",children:h("copilot.capabilitiesLoadError")}):0===v.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("copilot.capabilitiesEmpty")}):0===x.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("copilot.toolsSearchEmpty")}):(0,b.jsxs)("div",{className:"space-y-3",children:[y.length>0?(0,b.jsx)(u,{title:h("copilot.toolGroupOperate"),tools:y,pending:s.isPending,onToggle:(a,b)=>s.mutate({name:a,enabled:b})}):null,z.length>0?(0,b.jsx)(u,{title:h("copilot.toolGroupRead"),tools:z,pending:s.isPending,onToggle:(a,b)=>s.mutate({name:a,enabled:b})}):null]}),k&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:k})]})},"CopilotStatusBar",0,function({modelId:a,onModelChange:d}){let{t:f}=(0,l.useLanguage)(),g=(0,e.useQuery)({queryKey:s,queryFn:m.listModelProviders}),h=(g.data?.models??[]).filter(a=>"disabled"!==a.status),j=h.find(a=>a.isDefault)??h[0],k=j?`${j.providerName} / ${j.name}`:f("copilot.followSystemDefault");return(0,c.useEffect)(()=>{g.data&&a&&d&&(h.some(b=>b.id===a)||d(null))},[g.data,a,d]),(0,b.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,b.jsx)("span",{className:"shrink-0",children:f("copilot.currentModel")}),d?(0,b.jsxs)("select",{"aria-label":f("copilot.currentModel"),className:"max-w-64 truncate rounded border border-border bg-background px-1 py-0.5 text-xs text-foreground",value:a??"",onChange:a=>d(a.target.value||null),children:[(0,b.jsxs)("option",{value:"",children:[f("copilot.followSystemDefault"),j?`(${k})`:""]}),h.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.providerName," / ",a.name]},a.id))]}):(0,b.jsx)("span",{className:"truncate",children:k}),(0,b.jsxs)(i.Badge,{variant:"secondary",className:"ml-auto gap-1.5 whitespace-nowrap",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500"}),f("copilot.nativeRuntime")]})]})},"modelProvidersQueryKey",0,s],6377)},20251,a=>{"use strict";var b=a.i(85198);a.s(["usePrevious",0,function(a){let c=b.useRef({value:a,previous:a});return b.useMemo(()=>(c.current.value!==a&&(c.current.previous=c.current.value,c.current.value=a),c.current.previous),[a])}])},4323,a=>{"use strict";let b=(0,a.i(35485).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["default",0,b])},38016,a=>{"use strict";let b=(0,a.i(35485).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},85924,a=>{"use strict";let b=(0,a.i(35485).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},91638,a=>{"use strict";var b=a.i(22347);a.s(["X",()=>b.default])},60870,a=>{"use strict";let b=(0,a.i(35485).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],60870)},21592,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,b],21592)},90259,a=>{"use strict";let b=(0,a.i(35485).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],90259)},4730,a=>{"use strict";var b=a.i(20486),c=a.i(42261),d=a.i(3366),e=a.i(39465);let f=(0,c.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"}});a.s(["Badge",0,function({className:a,variant:c="default",asChild:g=!1,...h}){let i=g?d.Slot.Root:"span";return(0,b.jsx)(i,{"data-slot":"badge","data-variant":c,className:(0,e.cn)(f({variant:c}),a),...h})}])},70458,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}])},37134,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["Trash2",0,b],37134)},37060,a=>{"use strict";var b=a.i(4323);a.s(["ChevronDown",()=>b.default])},38094,a=>{"use strict";let b=(0,a.i(35485).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],38094)},802,a=>{"use strict";let b="github-dark-default",c=null,d=new Set,e={ts:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",json:"json",jsonc:"jsonc",json5:"json5",md:"markdown",mdx:"mdx",py:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cc:"cpp",cpp:"cpp",cxx:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",swift:"swift",scala:"scala",lua:"lua",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",sql:"sql",css:"css",scss:"scss",less:"less",html:"html",htm:"html",vue:"vue",svelte:"svelte",xml:"xml",svg:"xml",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",conf:"ini",cfg:"ini",tf:"hcl",graphql:"graphql",gql:"graphql",prisma:"prisma",proto:"proto",r:"r",jl:"julia",dart:"dart",ex:"elixir",exs:"elixir",erl:"erlang",hs:"haskell",clj:"clojure",vim:"vim",diff:"diff",patch:"diff",tex:"latex",dockerfile:"dockerfile",env:"dotenv"},f={dockerfile:"dockerfile","dockerfile.dev":"dockerfile",makefile:"makefile",gnumakefile:"makefile",".env":"dotenv",".env.example":"dotenv",".env.sample":"dotenv",".env.template":"dotenv"};async function g(g,h){let i=function(a){let b=a.toLowerCase(),c=b.split("/").pop()??b,d=f[c];if(d)return d;let g=c.lastIndexOf(".");return g<=0?null:e[c.slice(g+1)]??null}(h);if(!i)return null;try{let e=await (!c&&(c=a.A(26874).then(({createHighlighter:a})=>a({themes:[b],langs:[]}))),c);d.has(i)||(await e.loadLanguage(i),d.add(i));let{tokens:f}=e.codeToTokens(g,{lang:i,theme:b});return f}catch{return null}}a.s(["highlightWorkspaceCode",0,g,"tokenFontStyle",0,function(a){let b=a??0;return{italic:(1&b)!=0,bold:(2&b)!=0,underline:(4&b)!=0}}])},14027,a=>{"use strict";let b=(0,a.i(35485).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],14027)},10917,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(59653),e=a.i(68189),f=a.i(84694),g=a.i(83370),h=a.i(20251),i=a.i(66394),j=a.i(58036),k="Switch",[l,m]=(0,f.createContextScope)(k),[n,o]=l(k),p=c.forwardRef((a,f)=>{let{__scopeSwitch:h,name:i,checked:l,defaultChecked:m,required:o,disabled:p,value:q="on",onCheckedChange:r,form:u,...v}=a,[w,x]=c.useState(null),y=(0,e.useComposedRefs)(f,a=>x(a)),z=c.useRef(!1),A=!w||u||!!w.closest("form"),[B,C]=(0,g.useControllableState)({prop:l,defaultProp:m??!1,onChange:r,caller:k});return(0,b.jsxs)(n,{scope:h,checked:B,disabled:p,children:[(0,b.jsx)(j.Primitive.button,{type:"button",role:"switch","aria-checked":B,"aria-required":o,"data-state":t(B),"data-disabled":p?"":void 0,disabled:p,value:q,...v,ref:y,onClick:(0,d.composeEventHandlers)(a.onClick,a=>{C(a=>!a),A&&(z.current=a.isPropagationStopped(),z.current||a.stopPropagation())})}),A&&(0,b.jsx)(s,{control:w,bubbles:!z.current,name:i,value:q,checked:B,required:o,disabled:p,form:u,style:{transform:"translateX(-100%)"}})]})});p.displayName=k;var q="SwitchThumb",r=c.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=o(q,d);return(0,b.jsx)(j.Primitive.span,{"data-state":t(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});r.displayName=q;var s=c.forwardRef(({__scopeSwitch:a,control:d,checked:f,bubbles:g=!0,...j},k)=>{let l=c.useRef(null),m=(0,e.useComposedRefs)(l,k),n=(0,h.usePrevious)(f),o=(0,i.useSize)(d);return c.useEffect(()=>{let a=l.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==f&&b){let c=new Event("click",{bubbles:g});b.call(a,f),a.dispatchEvent(c)}},[n,f,g]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:f,...j,tabIndex:-1,ref:m,style:{...j.style,...o,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function t(a){return a?"checked":"unchecked"}s.displayName="SwitchBubbleInput",a.s(["Root",0,p,"Switch",0,p,"SwitchThumb",0,r,"Thumb",0,r,"createSwitchScope",0,m],34559);var u=a.i(34559),u=u,v=a.i(39465);a.s(["Switch",0,function({className:a,size:c="default",...d}){return(0,b.jsx)(u.Root,{"data-slot":"switch","data-size":c,className:(0,v.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",a),...d,children:(0,b.jsx)(u.Thumb,{"data-slot":"switch-thumb",className:(0,v.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")})})}],10917)},44935,a=>{"use strict";var b=a.i(53650);a.s(["AlertTriangle",()=>b.default])},22510,a=>{"use strict";var b=a.i(38016);a.s(["Check",()=>b.default])},92019,a=>{"use strict";var b=a.i(71356);a.s(["Loader2",()=>b.default])},26874,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_shiki_0c65clg._.js"].map(b=>a.l(b))).then(()=>b(79175)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0e0am7z._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[90259,a=>{"use strict";let b=(0,a.i(35485).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],90259)},4730,a=>{"use strict";var b=a.i(20486),c=a.i(42261),d=a.i(3366),e=a.i(39465);let f=(0,c.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"}});a.s(["Badge",0,function({className:a,variant:c="default",asChild:g=!1,...h}){let i=g?d.Slot.Root:"span";return(0,b.jsx)(i,{"data-slot":"badge","data-variant":c,className:(0,e.cn)(f({variant:c}),a),...h})}])},70458,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}])},83164,a=>{"use strict";var b=a.i(39042);a.s(["createGrant",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(a)})},"deleteGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}`,{method:"DELETE"})},"getPlatformAction",0,function(a){return(0,b.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(a)}`)},"getProjectOverview",0,function(a){return(0,b.fetchJson)(`/api/v1/project-manager/overview${a?`?grantId=${encodeURIComponent(a)}`:""}`)},"getSessionWriter",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/writer`)},"listGrants",0,function(){return(0,b.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}/revoke`,{method:"POST"})},"takeoverSession",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(a,c){return(0,b.fetchJson)(`/api/v1/projects/${encodeURIComponent(a)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(c)})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},37926,a=>{"use strict";var b=a.i(79914);let c={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","session.start":"启动会话","session.stop":"停止会话","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:"创建失败,请重试。"},d={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","session.start":"Start sessions","session.stop":"Stop 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."},e={...c,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","session.start":"啟動工作階段","session.stop":"停止工作階段","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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])},83124,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["KeyRound",0,b],83124)},13877,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(39747),e=a.i(26248),f=a.i(83124),g=a.i(90259),h=a.i(2337),i=a.i(4730),j=a.i(97494),k=a.i(62384),l=a.i(55068),m=a.i(83164),n=a.i(37926);function o({grant:a,projects:c,busy:d,startLabel:e,onStart:f,onRevoke:g,onDelete:h}){let k=(0,n.useSettingsCopy)(),l=null!==a.expiresAt&&a.expiresAt<=Date.now(),m="active"===a.status&&!l&&(null===a.maxActions||a.usedActions<a.maxActions),p="revoked"===a.status?"revoked":l?"expired":"active",q="revoked"===p?k.statusRevoked:"expired"===p?k.statusExpired:k.statusActive,r=null===a.maxActions?null:Math.min(1,a.usedActions/a.maxActions),s=a.scope.projectIds.map(a=>c.find(b=>b.id===a)?.name??a).join("、")||k.projectsEmpty,t=a.scope.capabilities.map(a=>k.capabilities[a]??a).join("、");return(0,b.jsxs)("div",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsx)("p",{className:"font-medium break-all",children:a.name}),(0,b.jsxs)("p",{className:"text-xs break-all text-muted-foreground",children:[s," · ",t]})]}),(0,b.jsx)(i.Badge,{variant:"outline",className:`shrink-0 ${"active"===p?"border-emerald-500/50 text-emerald-500":"expired"===p?"border-amber-500/50 text-amber-500":"text-muted-foreground"}`,children:q})]}),null!==r&&(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",role:"presentation",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-brand transition-[width]",style:{width:`${100*r}%`}})}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[k.usageActions," ",a.usedActions,"/",a.maxActions??k.unlimited," ·"," ",k.concurrency," ",a.maxConcurrency," · ",k.expiry," ",null===a.expiresAt?k.permanent:new Date(a.expiresAt).toLocaleString()]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(j.Button,{size:"sm",disabled:d||!m,onClick:f,children:e}),(0,b.jsx)(j.Button,{size:"sm",variant:"outline",disabled:d||"active"!==a.status,onClick:g,children:k.revoke}),"revoked"===a.status&&(0,b.jsx)(j.Button,{size:"sm",variant:"ghost",className:"text-destructive",disabled:d,onClick:h,children:k.deleteGrant})]})]})}function p({projects:a,capabilities:d,busy:e,onCreate:f}){let g=(0,n.useSettingsCopy)(),[h,i]=(0,c.useState)([]),[k,m]=(0,c.useState)(""),[o,q]=(0,c.useState)(!0),[r,s]=(0,c.useState)([]),[t,u]=(0,c.useState)(!0),[v,w]=(0,c.useState)(!0),[x,y]=(0,c.useState)(24),[z,A]=(0,c.useState)(20),[B,C]=(0,c.useState)(1),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(null),J=(0,c.useRef)(!1),K=(a,b,c)=>c(b.includes(a)?b.filter(b=>b!==a):[...b,a]);async function L(b){if(b.preventDefault(),J.current||e)return;I(null);let c=D.split("\n").map(a=>a.trim()).filter(Boolean),d=a=>I({error:!0,text:a});if(!h.length)return d(g.errNoProject);if(!o&&!r.length)return d(g.errNoOperation);if(!o&&r.includes("project.create")&&!c.length)return d(g.errNoRoots);if(!Number.isInteger(B)||B<1||B>20)return d(g.errConcurrency);if(!t&&(!Number.isInteger(x)||x<1||x>8760))return d(g.errHours);if(!v&&(!Number.isInteger(z)||z<1||z>1e4))return d(g.errLimit);J.current=!0,G(!0);try{await f({name:k.trim()||`${a.filter(a=>h.includes(a.id)).map(a=>a.name).join("、")}授权`.slice(0,200),projectIds:h,...o?{allOperations:!0}:{capabilities:r,allowedRoots:c},expiresAt:t?null:Date.now()+36e5*x,maxActions:v?null:z,maxConcurrency:B}),I({error:!1,text:g.created})}catch(a){d(a instanceof Error?a.message:g.errCreate)}finally{J.current=!1,G(!1)}}return(0,b.jsxs)("form",{noValidate:!0,className:"space-y-5",onSubmit:L,children:[(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-2",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepProjects]}),(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.map(a=>(0,b.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,b.jsx)("input",{type:"checkbox",checked:h.includes(a.id),onChange:()=>K(a.id,h,i)}),a.name]},a.id))}),(0,b.jsxs)("label",{className:"block space-y-1 pt-1 text-sm",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:g.nameLabel}),(0,b.jsx)(l.Input,{maxLength:200,value:k,placeholder:g.namePlaceholder,onChange:a=>m(a.target.value)})]})]}),(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-2",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepPermissions]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:o,onChange:a=>q(a.target.checked)}),g.allOperations]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o?g.allOperationsHelp:g.customOperationsHelp}),!o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:[...new Set(d.map(a=>a.capability))].map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:r.includes(a),onChange:()=>K(a,r,s)}),(0,b.jsx)("span",{children:g.capabilities[a]??a})]},a))}),r.includes("project.create")&&(0,b.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:g.allowedRootsLabel}),(0,b.jsx)("textarea",{className:"w-full rounded-md border border-border bg-background p-2",value:D,onChange:a=>E(a.target.value)})]})]})]}),(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-3",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepLimits]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:t,onChange:a=>u(a.target.checked)}),g.permanentLabel]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:v,onChange:a=>w(a.target.checked)}),g.unlimitedLabel]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-2 text-xs",children:[(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.hoursLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:8760,disabled:t,value:x,onChange:a=>y(Number(a.target.value))})]}),(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.limitLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:1e4,disabled:v,value:z,onChange:a=>A(Number(a.target.value))})]}),(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.concurrencyLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:20,value:B,onChange:a=>C(Number(a.target.value))})]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(j.Button,{type:"submit",size:"sm",disabled:e||F,children:F?g.creating:g.create}),H&&(0,b.jsx)("p",{role:H.error?"alert":"status",className:`text-xs ${H.error?"text-destructive":"text-muted-foreground"}`,children:H.text})]})]})}a.s(["CopilotGrantsPanel",0,function({onStartConversation:a,boundGrantId:i,startConversationLabel:l,onGrantCreated:q}){let r=(0,n.useSettingsCopy)(),s=(0,e.useQueryClient)(),t=(0,d.useQuery)({queryKey:["copilot-grants"],queryFn:m.listGrants,refetchInterval:15e3}),u=(0,d.useQuery)({queryKey:["project-management-overview"],queryFn:()=>(0,m.getProjectOverview)(),refetchInterval:3e4}),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),D=t.data?.grants.filter(a=>"revoked"===a.status).length??0;async function E(a){y(!0),w("");try{await a(),await s.invalidateQueries({queryKey:["copilot-grants"]})}catch(a){w(a instanceof Error?a.message:r.errorGeneric)}finally{y(!1)}}let F=t.data?.grants.filter(a=>z||"revoked"!==a.status);return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,b.jsx)(h.ShieldCheck,{className:"size-4 text-brand"}),r.grantsTitle]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:r.grantsDescription})]}),(0,b.jsxs)(j.Button,{size:"sm",onClick:()=>C(!0),children:[(0,b.jsx)(g.Plus,{className:"size-4"}),r.newGrant]})]}),i&&(0,b.jsxs)("p",{className:"break-all rounded-md border border-brand/30 bg-brand/5 px-3 py-2 text-xs",children:[r.boundPrefix,t.data?.grants.find(a=>a.id===i)?.name??i]}),t.isPending&&(0,b.jsx)("p",{role:"status",className:"text-sm",children:r.loading}),t.isError&&(0,b.jsxs)("p",{role:"alert",className:"text-sm",children:[r.loadError," ",(0,b.jsx)(j.Button,{variant:"outline",size:"sm",onClick:()=>void t.refetch(),children:r.retry})]}),v&&(0,b.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:v}),t.data&&F&&(0,b.jsxs)("div",{className:"space-y-3",children:[!t.data.grants.length&&(0,b.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,b.jsx)(f.KeyRound,{className:"size-5 text-muted-foreground"}),(0,b.jsx)("p",{className:"max-w-md text-xs text-muted-foreground",children:r.empty})]}),F.map(c=>(0,b.jsx)(o,{grant:c,projects:u.data?.projects??[],busy:x,startLabel:l??r.startConversation,onStart:()=>void E(()=>a(c.id)),onRevoke:()=>void E(()=>(0,m.revokeGrant)(c.id)),onDelete:()=>void E(()=>(0,m.deleteGrant)(c.id))},c.id)),D>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>A(a=>!a),children:[z?r.hideRevoked:r.showRevoked,"(",D,")"]}),z&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:r.revokedHelp})]})]}),(0,b.jsx)(k.Dialog,{open:B,onOpenChange:C,children:(0,b.jsxs)(k.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-xl",children:[(0,b.jsxs)(k.DialogHeader,{children:[(0,b.jsx)(k.DialogTitle,{children:r.createTitle}),(0,b.jsx)(k.DialogDescription,{children:r.createDescription})]}),B&&u.data&&t.data&&(0,b.jsx)(p,{projects:u.data.projects,capabilities:t.data.capabilities,busy:x,onCreate:async a=>{let b=await (0,m.createGrant)(a);await s.invalidateQueries({queryKey:["copilot-grants"]}),q?.(b.grant.id)}}),B&&(!u.data||!t.data)&&(0,b.jsx)("p",{role:"status",className:"text-sm",children:r.loading})]})})]})}])}];
1
+ module.exports=[90259,a=>{"use strict";let b=(0,a.i(35485).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],90259)},4730,a=>{"use strict";var b=a.i(20486),c=a.i(42261),d=a.i(3366),e=a.i(39465);let f=(0,c.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"}});a.s(["Badge",0,function({className:a,variant:c="default",asChild:g=!1,...h}){let i=g?d.Slot.Root:"span";return(0,b.jsx)(i,{"data-slot":"badge","data-variant":c,className:(0,e.cn)(f({variant:c}),a),...h})}])},70458,a=>{"use strict";var b=a.i(20486),c=a.i(39465);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("flex flex-col gap-6 rounded-lg border bg-card py-6 text-card-foreground shadow-sm",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}])},83164,a=>{"use strict";var b=a.i(39042);a.s(["createGrant",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/grants",{method:"POST",body:JSON.stringify(a)})},"deleteGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}`,{method:"DELETE"})},"getPlatformAction",0,function(a){return(0,b.fetchJson)(`/api/v1/platform-actions/${encodeURIComponent(a)}`)},"getProjectOverview",0,function(a){return(0,b.fetchJson)(`/api/v1/project-manager/overview${a?`?grantId=${encodeURIComponent(a)}`:""}`)},"getSessionWriter",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/writer`)},"listGrants",0,function(){return(0,b.fetchJson)("/api/v1/copilot/grants")},"revokeGrant",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/grants/${encodeURIComponent(a)}/revoke`,{method:"POST"})},"takeoverSession",0,function(a){return(0,b.fetchJson)(`/api/v1/sessions/${encodeURIComponent(a)}/takeover`,{method:"POST",body:"{}"})},"updateProjectManagement",0,function(a,c){return(0,b.fetchJson)(`/api/v1/projects/${encodeURIComponent(a)}/project-manager/management`,{method:"PATCH",body:JSON.stringify(c)})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},37926,a=>{"use strict";var b=a.i(79914);let c={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:"创建失败,请重试。"},d={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."},e={...c,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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])},83124,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["KeyRound",0,b],83124)},13877,a=>{"use strict";var b=a.i(20486),c=a.i(85198),d=a.i(39747),e=a.i(26248),f=a.i(83124),g=a.i(90259),h=a.i(2337),i=a.i(4730),j=a.i(97494),k=a.i(62384),l=a.i(55068),m=a.i(83164),n=a.i(37926);function o({grant:a,projects:c,busy:d,startLabel:e,onStart:f,onRevoke:g,onDelete:h}){let k=(0,n.useSettingsCopy)(),l=null!==a.expiresAt&&a.expiresAt<=Date.now(),m="active"===a.status&&!l&&(null===a.maxActions||a.usedActions<a.maxActions),p="revoked"===a.status?"revoked":l?"expired":"active",q="revoked"===p?k.statusRevoked:"expired"===p?k.statusExpired:k.statusActive,r=null===a.maxActions?null:Math.min(1,a.usedActions/a.maxActions),s=a.scope.projectIds.map(a=>c.find(b=>b.id===a)?.name??a).join("、")||k.projectsEmpty,t=a.scope.capabilities.map(a=>k.capabilities[a]??a).join("、");return(0,b.jsxs)("div",{className:"forgebadger-animate-in space-y-3 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsx)("p",{className:"font-medium break-all",children:a.name}),(0,b.jsxs)("p",{className:"text-xs break-all text-muted-foreground",children:[s," · ",t]})]}),(0,b.jsx)(i.Badge,{variant:"outline",className:`shrink-0 ${"active"===p?"border-emerald-500/50 text-emerald-500":"expired"===p?"border-amber-500/50 text-amber-500":"text-muted-foreground"}`,children:q})]}),null!==r&&(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",role:"presentation",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-brand transition-[width]",style:{width:`${100*r}%`}})}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[k.usageActions," ",a.usedActions,"/",a.maxActions??k.unlimited," ·"," ",k.concurrency," ",a.maxConcurrency," · ",k.expiry," ",null===a.expiresAt?k.permanent:new Date(a.expiresAt).toLocaleString()]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(j.Button,{size:"sm",disabled:d||!m,onClick:f,children:e}),(0,b.jsx)(j.Button,{size:"sm",variant:"outline",disabled:d||"active"!==a.status,onClick:g,children:k.revoke}),"revoked"===a.status&&(0,b.jsx)(j.Button,{size:"sm",variant:"ghost",className:"text-destructive",disabled:d,onClick:h,children:k.deleteGrant})]})]})}function p({projects:a,capabilities:d,busy:e,onCreate:f}){let g=(0,n.useSettingsCopy)(),[h,i]=(0,c.useState)([]),[k,m]=(0,c.useState)(""),[o,q]=(0,c.useState)(!0),[r,s]=(0,c.useState)([]),[t,u]=(0,c.useState)(!0),[v,w]=(0,c.useState)(!0),[x,y]=(0,c.useState)(24),[z,A]=(0,c.useState)(20),[B,C]=(0,c.useState)(1),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(null),J=(0,c.useRef)(!1),K=(a,b,c)=>c(b.includes(a)?b.filter(b=>b!==a):[...b,a]);async function L(b){if(b.preventDefault(),J.current||e)return;I(null);let c=D.split("\n").map(a=>a.trim()).filter(Boolean),d=a=>I({error:!0,text:a});if(!h.length)return d(g.errNoProject);if(!o&&!r.length)return d(g.errNoOperation);if(!o&&r.includes("project.create")&&!c.length)return d(g.errNoRoots);if(!Number.isInteger(B)||B<1||B>20)return d(g.errConcurrency);if(!t&&(!Number.isInteger(x)||x<1||x>8760))return d(g.errHours);if(!v&&(!Number.isInteger(z)||z<1||z>1e4))return d(g.errLimit);J.current=!0,G(!0);try{await f({name:k.trim()||`${a.filter(a=>h.includes(a.id)).map(a=>a.name).join("、")}授权`.slice(0,200),projectIds:h,...o?{allOperations:!0}:{capabilities:r,allowedRoots:c},expiresAt:t?null:Date.now()+36e5*x,maxActions:v?null:z,maxConcurrency:B}),I({error:!1,text:g.created})}catch(a){d(a instanceof Error?a.message:g.errCreate)}finally{J.current=!1,G(!1)}}return(0,b.jsxs)("form",{noValidate:!0,className:"space-y-5",onSubmit:L,children:[(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-2",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepProjects]}),(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.map(a=>(0,b.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,b.jsx)("input",{type:"checkbox",checked:h.includes(a.id),onChange:()=>K(a.id,h,i)}),a.name]},a.id))}),(0,b.jsxs)("label",{className:"block space-y-1 pt-1 text-sm",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:g.nameLabel}),(0,b.jsx)(l.Input,{maxLength:200,value:k,placeholder:g.namePlaceholder,onChange:a=>m(a.target.value)})]})]}),(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-2",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepPermissions]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:o,onChange:a=>q(a.target.checked)}),g.allOperations]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o?g.allOperationsHelp:g.customOperationsHelp}),!o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:[...new Set(d.map(a=>a.capability))].map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:r.includes(a),onChange:()=>K(a,r,s)}),(0,b.jsx)("span",{children:g.capabilities[a]??a})]},a))}),r.includes("project.create")&&(0,b.jsxs)("label",{className:"block space-y-1 text-sm",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:g.allowedRootsLabel}),(0,b.jsx)("textarea",{className:"w-full rounded-md border border-border bg-background p-2",value:D,onChange:a=>E(a.target.value)})]})]})]}),(0,b.jsxs)("fieldset",{disabled:F||e,className:"space-y-3",children:[(0,b.jsxs)("legend",{className:"text-sm font-medium",children:[(0,b.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"}),g.stepLimits]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:t,onChange:a=>u(a.target.checked)}),g.permanentLabel]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:v,onChange:a=>w(a.target.checked)}),g.unlimitedLabel]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-2 text-xs",children:[(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.hoursLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:8760,disabled:t,value:x,onChange:a=>y(Number(a.target.value))})]}),(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.limitLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:1e4,disabled:v,value:z,onChange:a=>A(Number(a.target.value))})]}),(0,b.jsxs)("label",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g.concurrencyLabel}),(0,b.jsx)(l.Input,{type:"number",min:1,max:20,value:B,onChange:a=>C(Number(a.target.value))})]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(j.Button,{type:"submit",size:"sm",disabled:e||F,children:F?g.creating:g.create}),H&&(0,b.jsx)("p",{role:H.error?"alert":"status",className:`text-xs ${H.error?"text-destructive":"text-muted-foreground"}`,children:H.text})]})]})}a.s(["CopilotGrantsPanel",0,function({onStartConversation:a,boundGrantId:i,startConversationLabel:l,onGrantCreated:q}){let r=(0,n.useSettingsCopy)(),s=(0,e.useQueryClient)(),t=(0,d.useQuery)({queryKey:["copilot-grants"],queryFn:m.listGrants,refetchInterval:15e3}),u=(0,d.useQuery)({queryKey:["project-management-overview"],queryFn:()=>(0,m.getProjectOverview)(),refetchInterval:3e4}),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),D=t.data?.grants.filter(a=>"revoked"===a.status).length??0;async function E(a){y(!0),w("");try{await a(),await s.invalidateQueries({queryKey:["copilot-grants"]})}catch(a){w(a instanceof Error?a.message:r.errorGeneric)}finally{y(!1)}}let F=t.data?.grants.filter(a=>z||"revoked"!==a.status);return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,b.jsx)(h.ShieldCheck,{className:"size-4 text-brand"}),r.grantsTitle]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:r.grantsDescription})]}),(0,b.jsxs)(j.Button,{size:"sm",onClick:()=>C(!0),children:[(0,b.jsx)(g.Plus,{className:"size-4"}),r.newGrant]})]}),i&&(0,b.jsxs)("p",{className:"break-all rounded-md border border-brand/30 bg-brand/5 px-3 py-2 text-xs",children:[r.boundPrefix,t.data?.grants.find(a=>a.id===i)?.name??i]}),t.isPending&&(0,b.jsx)("p",{role:"status",className:"text-sm",children:r.loading}),t.isError&&(0,b.jsxs)("p",{role:"alert",className:"text-sm",children:[r.loadError," ",(0,b.jsx)(j.Button,{variant:"outline",size:"sm",onClick:()=>void t.refetch(),children:r.retry})]}),v&&(0,b.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:v}),t.data&&F&&(0,b.jsxs)("div",{className:"space-y-3",children:[!t.data.grants.length&&(0,b.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,b.jsx)(f.KeyRound,{className:"size-5 text-muted-foreground"}),(0,b.jsx)("p",{className:"max-w-md text-xs text-muted-foreground",children:r.empty})]}),F.map(c=>(0,b.jsx)(o,{grant:c,projects:u.data?.projects??[],busy:x,startLabel:l??r.startConversation,onStart:()=>void E(()=>a(c.id)),onRevoke:()=>void E(()=>(0,m.revokeGrant)(c.id)),onDelete:()=>void E(()=>(0,m.deleteGrant)(c.id))},c.id)),D>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>A(a=>!a),children:[z?r.hideRevoked:r.showRevoked,"(",D,")"]}),z&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:r.revokedHelp})]})]}),(0,b.jsx)(k.Dialog,{open:B,onOpenChange:C,children:(0,b.jsxs)(k.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-xl",children:[(0,b.jsxs)(k.DialogHeader,{children:[(0,b.jsx)(k.DialogTitle,{children:r.createTitle}),(0,b.jsx)(k.DialogDescription,{children:r.createDescription})]}),B&&u.data&&t.data&&(0,b.jsx)(p,{projects:u.data.projects,capabilities:t.data.capabilities,busy:x,onCreate:async a=>{let b=await (0,m.createGrant)(a);await s.invalidateQueries({queryKey:["copilot-grants"]}),q?.(b.grant.id)}}),B&&(!u.data||!t.data)&&(0,b.jsx)("p",{role:"status",className:"text-sm",children:r.loading})]})})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_0f6qxtj._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},37926,a=>{"use strict";var b=a.i(79914);let c={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","session.start":"启动会话","session.stop":"停止会话","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:"创建失败,请重试。"},d={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","session.start":"Start sessions","session.stop":"Stop 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."},e={...c,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","session.start":"啟動工作階段","session.stop":"停止工作階段","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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])}];
1
+ module.exports=[75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},37926,a=>{"use strict";var b=a.i(79914);let c={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:"创建失败,请重试。"},d={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."},e={...c,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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_0h3beoe._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},37926,a=>{"use strict";var b=a.i(79914);let c={capabilities:{"project.create":"创建项目","project.metadata.update":"更新项目资料","pm.work_item.create":"创建工作项","pm.work_item.metadata":"更新工作项资料","pm.management.update":"更新负责人及下一步","pm.task.prepare":"准备任务","session.start":"启动会话","session.stop":"停止会话","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:"创建失败,请重试。"},d={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","session.start":"Start sessions","session.stop":"Stop 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."},e={...c,capabilities:{"project.create":"建立專案","project.metadata.update":"更新專案資料","pm.work_item.create":"建立工作項目","pm.work_item.metadata":"更新工作項目資料","pm.management.update":"更新負責人及下一步","pm.task.prepare":"準備任務","session.start":"啟動工作階段","session.stop":"停止工作階段","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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])}];
1
+ module.exports=[75906,a=>{"use strict";var b=a.i(39042);a.s(["acceptAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/accept`,{method:"POST"})},"cancelRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/cancel`,{method:"POST"})},"createAutomation",0,function(a){return(0,b.fetchJson)("/api/v1/copilot/automations",{method:"POST",body:JSON.stringify(a)})},"createConversation",0,function(a,c){return(0,b.fetchJson)("/api/v1/copilot/conversations",{method:"POST",body:JSON.stringify({...a?{title:a}:{},...c?{grantId:c}:{}})})},"decidePendingAction",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}/pending-actions/${encodeURIComponent(c)}/decide`,{method:"POST",body:JSON.stringify({approved:d})})},"deleteAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteConversation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"DELETE"})},"deleteMemoryEntry",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/memory/entries/${encodeURIComponent(a)}`,{method:"DELETE"})},"dismissAutomationSuggestion",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/suggestions/${encodeURIComponent(a)}/dismiss`,{method:"POST"})},"editMessage",0,function(a,c,d){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/edit-message`,{method:"POST",body:JSON.stringify({messageId:c,content:d})})},"enableAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/enable`,{method:"POST"})},"getCopilotCapabilities",0,function(){return(0,b.fetchJson)("/api/v1/copilot/capabilities")},"getRun",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/runs/${encodeURIComponent(a)}`)},"listAutomationSuggestions",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations/suggestions")},"listAutomations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/automations")},"listConversationRuns",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/runs`)},"listConversations",0,function(){return(0,b.fetchJson)("/api/v1/copilot/conversations")},"listMemoryEntries",0,function(a={}){let c=new URLSearchParams;return a.scope&&c.set("scope",a.scope),a.projectId&&c.set("projectId",a.projectId),a.limit&&c.set("limit",String(a.limit)),(0,b.fetchJson)(`/api/v1/copilot/memory/entries?${c.toString()}`)},"listMessages",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`)},"pauseAutomation",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/pause`,{method:"POST"})},"renameConversation",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}`,{method:"PATCH",body:JSON.stringify({title:c})})},"runAutomationNow",0,function(a){return(0,b.fetchJson)(`/api/v1/copilot/automations/${encodeURIComponent(a)}/run`,{method:"POST"})},"sendMessage",0,function(a,c,d,e){return(0,b.fetchJson)(`/api/v1/copilot/conversations/${encodeURIComponent(a)}/messages`,{method:"POST",body:JSON.stringify({content:c,...d?{modelId:d}:{},...e})})},"setCopilotToolEnabled",0,function(a,c){return(0,b.fetchJson)(`/api/v1/copilot/capabilities/${encodeURIComponent(a)}/enabled`,{method:"PUT",body:JSON.stringify({enabled:c})})}])},76770,a=>{"use strict";let b=(0,a.i(35485).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],76770)},2337,a=>{"use strict";let b=(0,a.i(35485).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"}]]);a.s(["ShieldCheck",0,b],2337)},37926,a=>{"use strict";var b=a.i(79914);let c={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:"创建失败,请重试。"},d={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."},e={...c,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.s(["useSettingsCopy",0,function(){let{language:a}=(0,b.useLanguage)();return"en"===a?d:"zh-TW"===a?e:c}])},71885,41040,94971,16222,a=>{"use strict";var b=a.i(35485);let c=(0,b.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"}]]);a.s(["CalendarClock",0,c],71885);let d=(0,b.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"}]]);a.s(["Puzzle",0,d],41040);let e=(0,b.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"}]]);a.s(["Radio",0,e],94971);let f=(0,b.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"}]]);a.s(["SlidersHorizontal",0,f],16222)},81421,a=>{"use strict";var b=a.i(20486),c=a.i(72637),d=a.i(13376),e=a.i(76770),f=a.i(71885),g=a.i(41040),h=a.i(94971),i=a.i(2337),j=a.i(16222),k=a.i(97494),l=a.i(37926);a.s(["CopilotSettingsShell",0,function({active:a,title:m,description:n,children:o}){let p,q=(0,l.useSettingsCopy)(),r=(0,d.useRouter)(),s=(p=(0,l.useSettingsCopy)(),[{key:"general",href:"/copilot/settings",icon:j.SlidersHorizontal,label:p.navGeneral},{key:"access",href:"/copilot/settings/access",icon:i.ShieldCheck,label:p.navAccess},{key:"extensions",href:"/copilot/extensions",icon:g.Puzzle,label:p.navExtensions},{key:"channels",href:"/copilot/channels",icon:h.Radio,label:p.navChannels},{key:"automations",href:"/copilot/automations",icon:f.CalendarClock,label:p.navAutomations}]);return(0,b.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,b.jsxs)("header",{className:"forgebadger-animate-in flex items-start gap-2 pl-12 md:pl-0",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":q.backToChat,title:q.backToChat,onClick:()=>r.push("/copilot"),children:(0,b.jsx)(e.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold",children:m}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:n})]})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 md:flex-row md:gap-8",children:[(0,b.jsx)("nav",{"aria-label":q.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:s.map(d=>{let e=d.icon,f=d.key===a;return(0,b.jsxs)(c.default,{href:d.href,"aria-current":f?"page":void 0,className:`flex items-center gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-colors ${f?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:`size-4 shrink-0 ${f?"text-brand":""}`}),d.label]},d.key)})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:o})]})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_0x1-w0e._.js.map