@chorus-aidlc/chorus 0.9.3 → 0.9.4

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 (235) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +357 -338
  3. package/.next/standalone/.next/app-path-routes-manifest.json +39 -39
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +42 -42
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
  39. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  43. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  44. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  48. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin.html +1 -1
  53. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  54. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
  84. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/index.html +1 -1
  124. package/.next/standalone/.next/server/app/index.rsc +2 -2
  125. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  127. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  128. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  130. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  131. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  134. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  135. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  137. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  138. package/.next/standalone/.next/server/app/login.html +1 -1
  139. package/.next/standalone/.next/server/app/login.rsc +2 -2
  140. package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
  141. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  144. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  145. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/projects.html +1 -1
  147. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  148. package/.next/standalone/.next/server/app/settings.html +1 -1
  149. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  150. package/.next/standalone/.next/server/app-paths-manifest.json +39 -39
  151. package/.next/standalone/.next/server/chunks/1615.js +31 -0
  152. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  153. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  154. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  155. package/.next/standalone/.next/server/chunks/2990.js +1 -1
  156. package/.next/standalone/.next/server/chunks/5491.js +1 -1
  157. package/.next/standalone/.next/server/chunks/5561.js +7 -0
  158. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  159. package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
  160. package/.next/standalone/.next/server/chunks/7228.js +1 -1
  161. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  162. package/.next/standalone/.next/server/chunks/920.js +1 -1
  163. package/.next/standalone/.next/server/chunks/937.js +1 -1
  164. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  165. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  166. package/.next/standalone/.next/server/pages/404.html +1 -1
  167. package/.next/standalone/.next/server/pages/500.html +1 -1
  168. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  170. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
  171. package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +1 -0
  172. package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +1 -0
  173. package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +1 -0
  174. package/.next/standalone/.next/static/chunks/{4860.60152a625f2a714f.js → 4860.1bebb2a898b170f6.js} +1 -1
  175. package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +1 -0
  176. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
  177. package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +1 -0
  178. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
  179. package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
  180. package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
  181. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
  182. package/.next/standalone/.next/static/chunks/{99373.4d93aaaf56fe7819.js → 99373.13c8ac5da1ddabe9.js} +1 -1
  183. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-dd7eb66bb4ffd252.js → layout-b55a8d6d9bd27276.js} +1 -1
  184. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-6d92b9867caf0fe1.js → page-fd10bca891f0f73a.js} +1 -1
  185. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
  186. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
  187. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +1 -0
  188. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +1 -0
  189. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +1 -0
  190. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
  191. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +1 -0
  192. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +1 -0
  193. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
  194. package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +1 -0
  195. package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-4a8c75a0d40c2106.js} +1 -1
  196. package/.next/standalone/.next/static/css/bfe962487ee66da7.css +1 -0
  197. package/.next/standalone/package.json +1 -1
  198. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  199. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +7 -7
  200. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  201. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  202. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -33
  203. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  204. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  205. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  206. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  207. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +8 -5
  208. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
  209. package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -33
  210. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +7 -5
  211. package/package.json +1 -1
  212. package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
  213. package/prisma/schema.prisma +2 -1
  214. package/.next/standalone/.next/server/chunks/1854.js +0 -7
  215. package/.next/standalone/.next/server/chunks/6878.js +0 -1
  216. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
  217. package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
  218. package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
  219. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
  220. package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
  221. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
  222. package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
  223. package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
  224. package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
  225. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
  226. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
  227. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
  228. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
  229. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
  230. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
  231. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
  232. package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
  233. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
  234. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → YJZurE1onX9K-RDNIplc5}/_buildManifest.js +0 -0
  235. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → YJZurE1onX9K-RDNIplc5}/_ssgManifest.js +0 -0
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.9.3"
7
+ version: "0.9.4"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -44,10 +44,10 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
44
44
 
45
45
  | Tool | Purpose |
46
46
  |------|---------|
47
- | `chorus_pm_start_elaboration` | Start an elaboration round with structured questions |
48
- | `chorus_pm_validate_elaboration` | Validate answers (resolve or create follow-up round) |
47
+ | `chorus_pm_start_elaboration` | Generate an elaboration round (first, follow-up, or appended-after-resolution) |
48
+ | `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) |
49
49
  | `chorus_pm_skip_elaboration` | Skip elaboration for trivially clear Ideas |
50
- | `chorus_answer_elaboration` | Submit answers for an elaboration round |
50
+ | `chorus_answer_elaboration` | Submit answers for an elaboration round (`roundUuid` optional — auto-locates the active round) |
51
51
  | `chorus_get_elaboration` | Get full elaboration state (rounds, questions, answers) |
52
52
 
53
53
  **Shared tools** (checkin, query, comment, search, notifications): see `chorus` skill (`<BASE_URL>/skill/chorus/SKILL.md`)
@@ -123,8 +123,8 @@ If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice quest
123
123
 
124
124
  When the brainstorm skill returns, you own the lifecycle decision (the brainstorm skill deliberately leaves it to you):
125
125
 
126
- - If the synthesized round answers cover everything → call `chorus_pm_validate_elaboration` with `issues: []` to resolve elaboration.
127
- - If gaps remain → call `chorus_pm_validate_elaboration` with `issues + followUpQuestions` to start a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
126
+ - If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` see Step 5.6 if your key is `pm_agent`-preset.)
127
+ - If gaps remain → call `chorus_pm_start_elaboration` again to open a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
128
128
 
129
129
  Either outcome ends Step 4.5; skip Step 5.
130
130
 
@@ -145,6 +145,12 @@ chorus_pm_skip_elaboration({
145
145
 
146
146
  #### Standard/Complex Ideas (run elaboration)
147
147
 
148
+ > **Elaboration is a loop, not a straight line.** Steps 2–5 below are **one round**. Keep looping back to `chorus_pm_start_elaboration` (a new round) until every open question is settled, then resolve **once** in Step 6. You re-enter the loop whenever:
149
+ > - the answers to a round **derive new questions** or surface a contradiction/gap, **or**
150
+ > - at the resolve gate (Step 5d / Step 6) the **human raises a new concern or correction**.
151
+ >
152
+ > Each new round is just another `chorus_pm_start_elaboration` call — there is no separate "follow-up" flag, and you do not resolve until the loop is genuinely done. Round cap is 10.
153
+
148
154
  1. **Determine depth** based on idea complexity:
149
155
  - `"minimal"` — 2-4 questions (small features, minor enhancements)
150
156
  - `"standard"` — 5-10 questions (typical new features)
@@ -205,9 +211,11 @@ chorus_pm_skip_elaboration({
205
211
  - **Select an option + add a note**: `selectedOptionId: "a", customText: "additional context"`
206
212
  - **Choose "Other" (free text)**: `selectedOptionId: null, customText: "your answer"` — customText is required when no option is selected
207
213
 
214
+ > `roundUuid` is **optional** on `chorus_answer_elaboration`. Omit it and the service auto-locates the Idea's single active (`pending_answers`) round. Pass it explicitly only when you need to target a specific round.
215
+
208
216
  5. **Review answers and confirm with the owner (@mention flow):**
209
217
 
210
- After answers are submitted, **@mention the answerer** (typically the agent's owner) with a summary of your understanding. This prevents misinterpretation before you validate.
218
+ After answers are submitted, **@mention the answerer** (typically the agent's owner) with a summary of your understanding. This prevents misinterpretation before you resolve.
211
219
 
212
220
  a. **Get owner info** from checkin response (`agent.owner`) or search:
213
221
  ```
@@ -225,39 +233,32 @@ chorus_pm_skip_elaboration({
225
233
 
226
234
  c. **Wait for confirmation** via comments.
227
235
 
228
- d. **Based on the response:**
229
- - **Confirmed** — Proceed to validate with empty issues
230
- - **Additions/corrections** — Incorporate feedback, optionally start a follow-up round
231
- - **Unclear** — Ask clarifying questions via another comment
236
+ d. **Based on the response — this is the loop decision point:**
237
+ - **Confirmed, nothing left to discuss** — Treat this as the human confirmation required to resolve; proceed to Step 6 and call `chorus_pm_validate_elaboration`.
238
+ - **Human raises a new concern / correction / question** — Do **NOT** resolve. Loop back: open a **new round** with `chorus_pm_start_elaboration` capturing the new questions, collect answers (Steps 2–5 again), and re-confirm. Repeat until the human has no remaining concerns.
239
+ - **The answers themselves derived new questions or a contradiction** — Same as above: loop back to `chorus_pm_start_elaboration` for another round before resolving.
240
+ - **Unclear** — Ask clarifying questions via another comment, then continue the loop.
232
241
 
233
- 6. **Validate the elaboration:**
242
+ 6. **Resolve the elaboration (the single commit gate — only when the loop is done):**
234
243
 
235
- `chorus_pm_validate_elaboration` is the **single commit gate for the entire elaboration phase**, NOT a per-round close. Calling it with `issues: []` resolves the whole elaboration (sets `idea.elaborationStatus = "resolved"`); calling it with `issues + followUpQuestions` opens a new round while keeping elaboration in progress. Do not call validate after every round call it once when you believe elaboration is done, or when you want to start a follow-up round.
244
+ Resolving marks the **whole elaboration phase** complete it sets `idea.elaborationStatus = "resolved"` (Idea `elaborated`), which is the gating signal that lets a downstream Proposal be submitted. It is an **Idea-level** action (takes only `ideaUuid`, does not target a round). Resolve **once**, only after the Step 5d loop has fully settled — every derived question answered and the human has no remaining concerns. If anything is still open, go back to `chorus_pm_start_elaboration` instead of resolving.
236
245
 
237
- ```
238
- chorus_pm_validate_elaboration({
239
- ideaUuid: "<idea-uuid>",
240
- roundUuid: "<round-uuid>",
241
- issues: [],
242
- followUpQuestions: []
243
- })
244
- ```
246
+ > **Precondition:** resolve requires the Idea to have at least one round and **every** round to be fully answered (none left in `pending_answers`). If a round still has open questions, answer it (or it'll be rejected).
245
247
 
246
- If issues are found (contradictions, ambiguities, incomplete answers), include them in `issues` and provide `followUpQuestions` for a new round:
248
+ > **⚠️ Human confirmation required.** Outside YOLO automation you MUST obtain explicit human confirmation before resolving. The "Confirmed" reply in step 5d above counts as that confirmation. Never resolve on your own judgment alone.
249
+
250
+ > **Permission (N1): `chorus_pm_validate_elaboration` requires `idea:admin`.** The `pm_agent` preset only grants `idea:write`, so a PM-preset agent **cannot** resolve — it must hand off to an `admin_agent`-preset agent (or an admin-preset API key) to perform the resolve. If your key lacks `idea:admin`, surface this to the human and request the handoff instead of failing silently.
251
+
252
+ > **Assignee precondition (N2):** the resolving actor must be the Idea's **assignee**. A separate human reviewer resolving a PM-owned Idea therefore needs **both** `idea:admin` **and** to be assigned the Idea (claim/reassign it first). Admin permission alone is not enough.
247
253
 
248
254
  ```
249
255
  chorus_pm_validate_elaboration({
250
- ideaUuid: "<idea-uuid>",
251
- roundUuid: "<round-uuid>",
252
- issues: [
253
- { questionId: "q1", type: "ambiguity", description: "Role-based access selected but no roles defined" }
254
- ],
255
- followUpQuestions: [
256
- { id: "fq1", text: "Which specific roles should have access?", category: "functional", options: [...] }
257
- ]
256
+ ideaUuid: "<idea-uuid>"
258
257
  })
259
258
  ```
260
259
 
260
+ **Want a follow-up round instead of resolving?** Just call `chorus_pm_start_elaboration` again — there is no separate "open a round" flag. It works while still `elaborating` (a normal follow-up round) and, after you've already resolved, as an **appended round** (`isAppended: true`) that keeps the Idea `elaborated` and never blocks an in-flight Proposal. Per-question issue tagging no longer exists.
261
+
261
262
  7. **Check elaboration status** at any time:
262
263
  ```
263
264
  chorus_get_elaboration({ ideaUuid: "<idea-uuid>" })
@@ -267,8 +268,6 @@ chorus_pm_skip_elaboration({
267
268
 
268
269
  **Question categories:** `functional`, `non_functional`, `business_context`, `technical_context`, `user_scenario`, `scope`
269
270
 
270
- **Validation issue types:** `contradiction`, `ambiguity`, `incomplete`
271
-
272
271
  ---
273
272
 
274
273
  ## Tips
@@ -277,7 +276,7 @@ chorus_pm_skip_elaboration({
277
276
  - Elaboration improves Proposal quality — prefer not to skip it unless the requirements are trivially clear
278
277
  - Use your IDE's interactive prompt mechanism if available for user-facing questions; otherwise present options as text
279
278
  - Record decisions made in conversation as elaboration rounds for auditability
280
- - Consider @mentioning the owner to confirm understanding before validating
279
+ - Consider @mentioning the owner to confirm understanding before resolving
281
280
 
282
281
  ---
283
282
 
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — drive a single prompt from Idea throu
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.9.3"
7
+ version: "0.9.4"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -158,6 +158,8 @@ chorus_claim_idea({ ideaUuid: "<idea-uuid>" })
158
158
 
159
159
  In yolo mode you generate the elaboration questions AND answer them yourself — there are NO interactive user prompts. This preserves a decision audit trail without interrupting anyone.
160
160
 
161
+ > **Self-elaboration is still a loop.** If answering your own questions surfaces a **new question, contradiction, or gap**, loop back to `chorus_pm_start_elaboration` for another self-answered round before resolving — don't force a resolve over unresolved ambiguity. There is no human gate in yolo mode, so the loop exits on **your** judgment that nothing material is left open (round cap 10). Steps 1–2 are one round; repeat them as needed, then resolve once in Step 3.
162
+
161
163
  1. **Generate and submit questions:**
162
164
 
163
165
  ```
@@ -192,16 +194,16 @@ In yolo mode you generate the elaboration questions AND answer them yourself —
192
194
  })
193
195
  ```
194
196
 
195
- 3. **Validate** — in self-mode there are no outstanding human issues, so close the round clean:
197
+ 3. **Resolve** — in YOLO mode the agent resolves elaboration **autonomously, with no human-confirmation gate** (the human-confirmation requirement that applies to the interactive idea flow is explicitly waived under `/yolo` automation):
196
198
 
197
199
  ```
198
200
  chorus_pm_validate_elaboration({
199
- ideaUuid: "<idea-uuid>",
200
- roundUuid: "<round-uuid>",
201
- issues: []
201
+ ideaUuid: "<idea-uuid>"
202
202
  })
203
203
  ```
204
204
 
205
+ > `chorus_pm_validate_elaboration` requires `idea:admin`. `/yolo` already mandates an Admin-preset key in Prerequisites, so this is satisfied. To open another self-elaboration round instead of resolving, just call `chorus_pm_start_elaboration` again.
206
+
205
207
  #### Step 1.4: Create the Proposal
206
208
 
207
209
  1. **Create the empty proposal container:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chorus-aidlc/chorus",
3
- "version": "0.9.3",
3
+ "version": "0.9.4",
4
4
  "description": "The Agent Harness for AI-Human Collaboration — session lifecycle, task state, sub-agent orchestration, observability, and failure recovery",
5
5
  "homepage": "https://github.com/Chorus-AIDLC/Chorus",
6
6
  "repository": {
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "ElaborationRound" ADD COLUMN "isAppended" BOOLEAN NOT NULL DEFAULT false;
@@ -468,7 +468,8 @@ model ElaborationRound {
468
468
  companyUuid String
469
469
  ideaUuid String
470
470
  roundNumber Int
471
- status String @default("pending_answers") // pending_answers | answered | validated | needs_followup
471
+ status String @default("pending_answers") // pending_answers | answered | validated (needs_followup retained for legacy rows only — no longer written)
472
+ isAppended Boolean @default(false) // true when created after the Idea was first resolved
472
473
  createdByType String // agent | user
473
474
  createdByUuid String
474
475
  validatedAt DateTime?
@@ -1,7 +0,0 @@
1
- "use strict";exports.id=1854,exports.ids=[1854],exports.modules={14672:(a,b,c)=>{c.r(b),c.d(b,{Avatar:()=>p,AvatarFallback:()=>t,AvatarImage:()=>r,Fallback:()=>x,Image:()=>w,Root:()=>v,createAvatarScope:()=>m});var d=c(21968),e=c(42990),f=c(87979),g=c(35439),h=c(16551),i=c(23771),j=c(10837),k="Avatar",[l,m]=(0,e.A)(k),[n,o]=l(k),p=d.forwardRef((a,b)=>{let{__scopeAvatar:c,...e}=a,[f,g]=d.useState("idle");return(0,j.jsx)(n,{scope:c,imageLoadingStatus:f,onImageLoadingStatusChange:g,children:(0,j.jsx)(h.sG.span,{...e,ref:b})})});p.displayName=k;var q="AvatarImage",r=d.forwardRef((a,b)=>{let{__scopeAvatar:c,src:e,onLoadingStatusChange:k=()=>{},...l}=a,m=o(q,c),n=function(a,{referrerPolicy:b,crossOrigin:c}){let e=(0,i.z)(),f=d.useRef(null),h=e?(f.current||(f.current=new window.Image),f.current):null,[j,k]=d.useState(()=>u(h,a));return(0,g.N)(()=>{k(u(h,a))},[h,a]),(0,g.N)(()=>{let a=a=>()=>{k(a)};if(!h)return;let d=a("loaded"),e=a("error");return h.addEventListener("load",d),h.addEventListener("error",e),b&&(h.referrerPolicy=b),"string"==typeof c&&(h.crossOrigin=c),()=>{h.removeEventListener("load",d),h.removeEventListener("error",e)}},[h,c,b]),j}(e,l),p=(0,f.c)(a=>{k(a),m.onImageLoadingStatusChange(a)});return(0,g.N)(()=>{"idle"!==n&&p(n)},[n,p]),"loaded"===n?(0,j.jsx)(h.sG.img,{...l,ref:b,src:e}):null});r.displayName=q;var s="AvatarFallback",t=d.forwardRef((a,b)=>{let{__scopeAvatar:c,delayMs:e,...f}=a,g=o(s,c),[i,k]=d.useState(void 0===e);return d.useEffect(()=>{if(void 0!==e){let a=window.setTimeout(()=>k(!0),e);return()=>window.clearTimeout(a)}},[e]),i&&"loaded"!==g.imageLoadingStatus?(0,j.jsx)(h.sG.span,{...f,ref:b}):null});function u(a,b){return a?b?(a.src!==b&&(a.src=b),a.complete&&a.naturalWidth>0?"loaded":"loading"):"error":"idle"}t.displayName=s;var v=p,w=r,x=t},15703:(a,b,c)=>{a.exports=c(51928)},16235:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},23771:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(15703);function e(){return(0,d.useSyncExternalStore)(f,()=>!0,()=>!1)}function f(){return()=>{}}},28121:(a,b,c)=>{c.r(b),c.d(b,{Indicator:()=>N,Item:()=>M,RadioGroup:()=>H,RadioGroupIndicator:()=>K,RadioGroupItem:()=>J,Root:()=>L,createRadioGroupScope:()=>C});var d=c(21968),e=c(22546),f=c(96090),g=c(42990),h=c(16551),i=c(13700),j=c(15035),k=c(16305),l=c(7579),m=c(29851),n=c(5030),o=c(10837),p="Radio",[q,r]=(0,g.A)(p),[s,t]=q(p),u=d.forwardRef((a,b)=>{let{__scopeRadio:c,name:g,checked:i=!1,required:j,disabled:k,value:l="on",onCheck:m,form:n,...p}=a,[q,r]=d.useState(null),t=(0,f.s)(b,a=>r(a)),u=d.useRef(!1),v=!q||n||!!q.closest("form");return(0,o.jsxs)(s,{scope:c,checked:i,disabled:k,children:[(0,o.jsx)(h.sG.button,{type:"button",role:"radio","aria-checked":i,"data-state":y(i),"data-disabled":k?"":void 0,disabled:k,value:l,...p,ref:t,onClick:(0,e.mK)(a.onClick,a=>{i||m?.(),v&&(u.current=a.isPropagationStopped(),u.current||a.stopPropagation())})}),v&&(0,o.jsx)(x,{control:q,bubbles:!u.current,name:g,value:l,checked:i,required:j,disabled:k,form:n,style:{transform:"translateX(-100%)"}})]})});u.displayName=p;var v="RadioIndicator",w=d.forwardRef((a,b)=>{let{__scopeRadio:c,forceMount:d,...e}=a,f=t(v,c);return(0,o.jsx)(n.C,{present:d||f.checked,children:(0,o.jsx)(h.sG.span,{"data-state":y(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b})})});w.displayName=v;var x=d.forwardRef(({__scopeRadio:a,control:b,checked:c,bubbles:e=!0,...g},i)=>{let j=d.useRef(null),k=(0,f.s)(j,i),n=(0,m.Z)(c),p=(0,l.X)(b);return d.useEffect(()=>{let a=j.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==c&&b){let d=new Event("click",{bubbles:e});b.call(a,c),a.dispatchEvent(d)}},[n,c,e]),(0,o.jsx)(h.sG.input,{type:"radio","aria-hidden":!0,defaultChecked:c,...g,tabIndex:-1,ref:k,style:{...g.style,...p,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function y(a){return a?"checked":"unchecked"}x.displayName="RadioBubbleInput";var z=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],A="RadioGroup",[B,C]=(0,g.A)(A,[i.RG,r]),D=(0,i.RG)(),E=r(),[F,G]=B(A),H=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,name:d,defaultValue:e,value:f,required:g=!1,disabled:l=!1,orientation:m,dir:n,loop:p=!0,onValueChange:q,...r}=a,s=D(c),t=(0,k.jH)(n),[u,v]=(0,j.i)({prop:f,defaultProp:e??null,onChange:q,caller:A});return(0,o.jsx)(F,{scope:c,name:d,required:g,disabled:l,value:u,onValueChange:v,children:(0,o.jsx)(i.bL,{asChild:!0,...s,orientation:m,dir:t,loop:p,children:(0,o.jsx)(h.sG.div,{role:"radiogroup","aria-required":g,"aria-orientation":m,"data-disabled":l?"":void 0,dir:t,...r,ref:b})})})});H.displayName=A;var I="RadioGroupItem",J=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,disabled:g,...h}=a,j=G(I,c),k=j.disabled||g,l=D(c),m=E(c),n=d.useRef(null),p=(0,f.s)(b,n),q=j.value===h.value,r=d.useRef(!1);return d.useEffect(()=>{let a=a=>{z.includes(a.key)&&(r.current=!0)},b=()=>r.current=!1;return document.addEventListener("keydown",a),document.addEventListener("keyup",b),()=>{document.removeEventListener("keydown",a),document.removeEventListener("keyup",b)}},[]),(0,o.jsx)(i.q7,{asChild:!0,...l,focusable:!k,active:q,children:(0,o.jsx)(u,{disabled:k,required:j.required,checked:q,...m,...h,name:j.name,ref:p,onCheck:()=>j.onValueChange(h.value),onKeyDown:(0,e.mK)(a=>{"Enter"===a.key&&a.preventDefault()}),onFocus:(0,e.mK)(h.onFocus,()=>{r.current&&n.current?.click()})})})});J.displayName=I;var K=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,...d}=a,e=E(c);return(0,o.jsx)(w,{...e,...d,ref:b})});K.displayName="RadioGroupIndicator";var L=H,M=J,N=K},51928:(a,b,c)=>{var d=c(21968),e="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},f=d.useState,g=d.useEffect,h=d.useLayoutEffect,i=d.useDebugValue;function j(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!e(a,c)}catch(a){return!0}}var k="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(a,b){return b()}:function(a,b){var c=b(),d=f({inst:{value:c,getSnapshot:b}}),e=d[0].inst,k=d[1];return h(function(){e.value=c,e.getSnapshot=b,j(e)&&k({inst:e})},[a,c,b]),g(function(){return j(e)&&k({inst:e}),a(function(){j(e)&&k({inst:e})})},[a]),i(c),c};b.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:k},81093:(a,b,c)=>{c.r(b),c.d(b,{Action:()=>K,AlertDialog:()=>o,AlertDialogAction:()=>B,AlertDialogCancel:()=>D,AlertDialogContent:()=>w,AlertDialogDescription:()=>A,AlertDialogOverlay:()=>r,AlertDialogPortal:()=>q,AlertDialogTitle:()=>y,AlertDialogTrigger:()=>p,Cancel:()=>L,Content:()=>J,Description:()=>N,Overlay:()=>I,Portal:()=>H,Root:()=>F,Title:()=>M,Trigger:()=>G,createAlertDialogScope:()=>m});var d=c(21968),e=c(42990),f=c(96090),g=c(14220),h=c(22546),i=c(11156),j=c(10837),k="AlertDialog",[l,m]=(0,e.A)(k,[g.createDialogScope]),n=(0,g.createDialogScope)(),o=a=>{let{__scopeAlertDialog:b,...c}=a,d=n(b);return(0,j.jsx)(g.Root,{...d,...c,modal:!0})};o.displayName=k;var p=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Trigger,{...e,...d,ref:b})});p.displayName="AlertDialogTrigger";var q=a=>{let{__scopeAlertDialog:b,...c}=a,d=n(b);return(0,j.jsx)(g.Portal,{...d,...c})};q.displayName="AlertDialogPortal";var r=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Overlay,{...e,...d,ref:b})});r.displayName="AlertDialogOverlay";var s="AlertDialogContent",[t,u]=l(s),v=(0,i.Dc)("AlertDialogContent"),w=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,children:e,...i}=a,k=n(c),l=d.useRef(null),m=(0,f.s)(b,l),o=d.useRef(null);return(0,j.jsx)(g.WarningProvider,{contentName:s,titleName:x,docsSlug:"alert-dialog",children:(0,j.jsx)(t,{scope:c,cancelRef:o,children:(0,j.jsxs)(g.Content,{role:"alertdialog",...k,...i,ref:m,onOpenAutoFocus:(0,h.mK)(i.onOpenAutoFocus,a=>{a.preventDefault(),o.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:[(0,j.jsx)(v,{children:e}),(0,j.jsx)(E,{contentRef:l})]})})})});w.displayName=s;var x="AlertDialogTitle",y=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Title,{...e,...d,ref:b})});y.displayName=x;var z="AlertDialogDescription",A=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Description,{...e,...d,ref:b})});A.displayName=z;var B=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Close,{...e,...d,ref:b})});B.displayName="AlertDialogAction";var C="AlertDialogCancel",D=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,{cancelRef:e}=u(C,c),h=n(c),i=(0,f.s)(b,e);return(0,j.jsx)(g.Close,{...h,...d,ref:i})});D.displayName=C;var E=({contentRef:a})=>{let b=`\`${s}\` requires a description for the component to be accessible for screen reader users.
2
-
3
- You can add a description to the \`${s}\` by passing a \`${z}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
-
5
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${s}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
-
7
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return d.useEffect(()=>{document.getElementById(a.current?.getAttribute("aria-describedby"))||console.warn(b)},[b,a]),null},F=o,G=p,H=q,I=r,J=w,K=B,L=D,M=y,N=A}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6878,exports.ids=[6878],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},6008:(a,b,c)=>{c.d(b,{eZ:()=>d,kl:()=>e,lp:()=>f});let d=["idea","proposal","document","task","project"],e=["read","write","admin"],f=d.flatMap(a=>e.map(b=>`${a}:${b}`))},20170:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),...b})}},25711:(a,b,c)=>{c.r(b),c.d(b,{Checkbox:()=>v,CheckboxIndicator:()=>x,Indicator:()=>x,Root:()=>v,createCheckboxScope:()=>p,unstable_BubbleInput:()=>z,unstable_CheckboxBubbleInput:()=>z,unstable_CheckboxProvider:()=>s,unstable_CheckboxTrigger:()=>u,unstable_Provider:()=>s,unstable_Trigger:()=>u});var d=c(21968),e=c(96090),f=c(42990),g=c(22546),h=c(15035),i=c(29851),j=c(7579),k=c(5030),l=c(16551),m=c(10837),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},26078:(a,b,c)=>{c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},30356:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$y:()=>r,Fv:()=>p,IF:()=>o,KT:()=>s,Zh:()=>n,fG:()=>t,p3:()=>q});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(28774),i=c(30457),j=c(97307),k=c(26078),l=c(12217),m=a([g,h,i]);async function n(){let a=await (0,g.d)();a||(0,f.redirect)("/login");try{let{apiKeys:b}=await (0,h.d5)(a.companyUuid,0,100,a.actorUuid),c=b.map(a=>{let b=a.agent?.roles||[],c=a.agent?.permissions||[];return{uuid:a.uuid,keyPrefix:a.keyPrefix,name:a.agent?.name||a.name,lastUsed:null,expiresAt:a.expiresAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),roles:b,permissions:c,effectivePermissions:Array.from((0,k.RU)(b,c)),agentUuid:a.agent?.uuid||"",persona:a.agent?.persona||null}});return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch API keys"),{success:!1,error:"Failed to fetch API keys"}}}async function o(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c=await (0,h.Sn)({companyUuid:b.companyUuid,name:a.name,roles:a.roles,ownerUuid:b.actorUuid,persona:a.persona,permissions:a.permissions}),d=await (0,h.Iq)({companyUuid:b.companyUuid,agentUuid:c.uuid,name:a.name});return{success:!0,key:d.key,agentUuid:c.uuid}}catch(a){return j.A.error({err:a},"Failed to create agent and API key"),{success:!1,error:"Failed to create API key"}}}async function p(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.CG)(b.companyUuid,a,b.actorUuid);if(!c)return{success:!1,error:"API key not found"};return await (0,h.RB)(c.agentUuid),{success:!0}}catch(a){return j.A.error({err:a},"Failed to delete API key"),{success:!1,error:"Failed to delete API key"}}}async function q(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,i.u0)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch agent sessions"),{success:!1,error:"Failed to fetch agent sessions"}}}async function r(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.Vu)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to close session"),{success:!1,error:"Failed to close session"}}}async function s(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.aQ)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to reopen session"),{success:!1,error:"Failed to reopen session"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c={};return void 0!==a.name&&(c.name=a.name),void 0!==a.roles&&(c.roles=a.roles),void 0!==a.persona&&(c.persona=a.persona),void 0!==a.permissions&&(c.permissions=a.permissions),await (0,h.x4)(a.agentUuid,c,b.companyUuid),void 0!==a.name&&await (0,h.tN)(a.agentUuid,a.name),{success:!0}}catch(a){return j.A.error({err:a},"Failed to update agent"),{success:!1,error:"Failed to update agent"}}}[g,h,i]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t]),(0,e.A)(n,"001b0d4acd36d6cad24821a53d54293568ba817450",null),(0,e.A)(o,"409416a9a40d3f468437edaa5351370e8ab6f95386",null),(0,e.A)(p,"40cc75366400242962e3cf2ccceb993ad60bf7bad5",null),(0,e.A)(q,"40a17978afe1353322df6202e1581f4195449aac5a",null),(0,e.A)(r,"402c633b32604239e58b034dc511965e0a002d61a9",null),(0,e.A)(s,"404a268661730bbfc3bcb9a3ab6473f63ec919ce50",null),(0,e.A)(t,"40873e52e423389db1f70791f6d7eec3314f341a6e",null),d()}catch(a){d(a)}})},35198:(a,b,c)=>{c.d(b,{BT:()=>i,Wu:()=>k,X9:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>l});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.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),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-action",className:(0,e.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function l({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},54005:(a,b,c)=>{c.d(b,{o:()=>d});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]}},67328:(a,b,c)=>{c.d(b,{Y:()=>l});var d=c(10837),e=c(21968),f=c(9222),g=c(42424),h=c(9810),i=c(10694),j=c(54722),k=c(91484);function l({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:l=!1,submitLabel:m,submittingLabel:n}){let o=(0,f.c)(),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)("admin_agent"),[t,u]=(0,e.useState)(["admin_agent"]),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),F=async c=>{if((c.preventDefault(),p)&&("custom"!==r||0!==v.length)){A(!0);try{let c=await b({name:p,roles:t,permissions:"custom"===r?v:[],persona:x||null});c.success&&c.key?(l||C(c.key),a({uuid:c.agentUuid||"",name:p,roles:t,permissions:"custom"===r?v:[]},c.key)):j.q.error("Failed to create API key:",c.error)}catch(a){j.q.error("Failed to create API key:",a)}finally{A(!1)}}},G=async a=>{try{await navigator.clipboard.writeText(a),E(!0),setTimeout(()=>E(!1),2e3)}catch(a){j.q.error("Failed to copy to clipboard:",a)}},H=()=>{q(""),s("admin_agent"),u(["admin_agent"]),w([]),y(""),C(null),c?.()};return B&&!l?(0,d.jsxs)("div",{className:"p-6",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,d.jsx)(h.A,{className:"h-5 w-5"}),(0,d.jsx)("span",{className:"font-medium",children:o("settings.apiKeyCreated")})]}),(0,d.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:o("settings.apiKeyCreatedDesc")}),(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,d.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:B}),(0,d.jsx)(g.$,{variant:"outline",size:"sm",onClick:()=>G(B),children:o(D?"common.copied":"common.copy")})]}),(0,d.jsx)(g.$,{onClick:H,className:"w-full",children:o("common.done")})]}):(0,d.jsxs)("form",{onSubmit:F,children:[!l&&(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:o("settings.createApiKey")}),c&&(0,d.jsx)(g.$,{type:"button",variant:"ghost",size:"icon",onClick:H,className:"h-8 w-8",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,d.jsx)("div",{className:l?void 0:"p-6",children:(0,d.jsx)(k.L,{name:p,onNameChange:q,preset:r,permissions:v,onPermissionsChange:function(a){s(a.preset),u(a.roles),w(a.permissions)},persona:x,onPersonaChange:y,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,d.jsxs)("div",{className:l?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!l&&c&&(0,d.jsx)(g.$,{type:"button",variant:"outline",onClick:H,children:o("common.cancel")}),(0,d.jsx)(g.$,{type:"submit",disabled:!p||"custom"===r&&0===v.length||z,className:l?"w-full":void 0,size:l?"lg":"default",children:z?n??o("settings.creating"):m??o("settings.createApiKey")})]})]})}},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},79707:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("409416a9a40d3f468437edaa5351370e8ab6f95386",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},91484:(a,b,c)=>{c.d(b,{L:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(9994),h=c(2852),i=c(20170),j=c(9810),k=c(25711),l=c(96307);function m({className:a,...b}){return(0,d.jsx)(k.Root,{"data-slot":"checkbox",className:(0,l.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(k.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(j.A,{className:"size-3.5"})})})}var n=c(55732),o=c(54005),p=c(6008);let q={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},r={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},s=["admin_agent","pm_agent","developer_agent","custom"];function t({preset:a,permissions:b,onChange:c,readOnly:e=!1}){let g=(0,f.c)(),i=a??"custom",j=new Set("custom"===i?b:o.o[i]);return(0,d.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(h.J,{className:"text-[13px] font-medium",children:g("agent.permissions.title")}),(0,d.jsx)("p",{className:"text-muted-foreground text-xs",children:g("agent.permissions.description")})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:"agent-permission-preset",children:g("agent.permissions.presetLabel")}),(0,d.jsxs)(n.l6,{value:i,onValueChange:function(a){if("custom"===a)return void c({preset:"custom",roles:[],permissions:Array.from(j)});a in o.o&&c({preset:a,roles:[a],permissions:[]})},disabled:e,children:[(0,d.jsx)(n.bq,{id:"agent-permission-preset",className:"w-full","aria-label":g("agent.permissions.presetLabel"),children:(0,d.jsx)(n.yv,{placeholder:g(q[i]),children:g(q[i])})}),(0,d.jsx)(n.gC,{children:s.map(a=>(0,d.jsx)(n.eb,{value:a,textValue:g(q[a]),children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold",children:g(q[a])}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:g(r[a])})]})},a))})]})]}),(0,d.jsxs)("div",{role:"grid","aria-label":g("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,d.jsxs)("div",{role:"row",className:"bg-muted/50 text-muted-foreground grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-xs font-medium",children:[(0,d.jsx)("div",{role:"columnheader",children:g("agent.permissions.resourceHeader")}),p.kl.map(a=>(0,d.jsx)("div",{role:"columnheader",className:"text-center",children:g(`agent.permissions.actions.${a}`)},a))]}),p.eZ.map(a=>(0,d.jsxs)("div",{role:"row",className:"border-t grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-sm",children:[(0,d.jsx)("div",{role:"rowheader",className:"font-medium",children:g(`agent.permissions.resources.${a}`)}),p.kl.map(b=>{let f=`${a}:${b}`,h=`perm-${a}-${b}`;return(0,d.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,d.jsx)(m,{id:h,checked:j.has(f),disabled:e,"aria-label":`${g(`agent.permissions.resources.${a}`)} ${g(`agent.permissions.actions.${b}`)}`,onCheckedChange:a=>{if(!e){let b=new Set(j);!0===a?b.add(f):b.delete(f),c({preset:"custom",roles:[],permissions:Array.from(b)})}}})},b)})]},a))]})]})]})}function u({name:a,onNameChange:b,preset:c,permissions:j,onPermissionsChange:k,persona:l,onPersonaChange:m,nameInputId:n="agent-form-name",personaInputId:p="agent-form-persona",readOnly:q=!1}){let r=(0,f.c)(),s=(0,e.useMemo)(()=>"custom"===c?j:[...o.o[c]],[c,j]);return(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:n,className:"text-[13px]",children:r("settings.name")}),(0,d.jsx)(g.p,{id:n,value:a,onChange:a=>b(a.target.value),placeholder:r("settings.namePlaceholder"),className:"border-[#E5E0D8]",required:!0,disabled:q})]}),(0,d.jsx)(t,{preset:c,permissions:s,onChange:k,readOnly:q}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:p,className:"text-[13px]",children:r("settings.agentPersona")}),(0,d.jsx)(i.T,{id:p,value:l,onChange:a=>m(a.target.value),placeholder:r("settings.personaPlaceholder"),rows:4,disabled:q}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:r("settings.personaHint")})]})]})}}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19898],{6985:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},17156:(e,s,t)=>{t.d(s,{v:()=>ep});var a=t(90508),i=t(1856),r=t(23675),c=t(39268),n=t(76111),l=t(9160),d=t(5616),o=t(70633),x=t(57893),m=t(5425),u=t(56770),h=t(85226),p=t(62898),g=t(42533),v=t(1861),f=t(66206);let j=(0,f.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var b=t(17475),A=t(60532),N=t(94903),C=t(62482),y=t(6985);let w=(0,f.A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var k=t(97413),F=t(57731),E=t(48416),S=t(22922),D=t(14554),B=t(15972),R=t(88064),_=t(64993),T=t(91846),U=t(51817),L=t(73693),M=t(52217);let P=(0,M.createServerReference)("60d385edc971b774b29db4a76b6288664e3ff6e3eb",M.callServer,void 0,M.findSourceMapURL,"updateTaskStatusAction"),q=(0,M.createServerReference)("4087985b5a435fc84336fa71bd622ee65068d1a70b",M.callServer,void 0,M.findSourceMapURL,"createTaskAction"),z=(0,M.createServerReference)("407cf64363bc094181b20e71be29f4eaf985ab9701",M.callServer,void 0,M.findSourceMapURL,"updateTaskFieldsAction"),$=(0,M.createServerReference)("60c69091d26aa5c80138990b48d8f4bbd263a11976",M.callServer,void 0,M.findSourceMapURL,"deleteTaskAction"),V=(0,M.createServerReference)("602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb",M.callServer,void 0,M.findSourceMapURL,"markCriteriaAction"),W=(0,M.createServerReference)("60b53a2c77387cac4116e4d73ae3df5ae307ea6923",M.callServer,void 0,M.findSourceMapURL,"resetCriterionAction");var J=t(5810);let O=(0,M.createServerReference)("40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557",M.callServer,void 0,M.findSourceMapURL,"getTaskActivitiesAction"),I=(0,M.createServerReference)("400067c3cf7ed30a442781337da48bbf9fb8a963a1",M.callServer,void 0,M.findSourceMapURL,"getTaskSourceAction");var G=t(97261),H=t(41033);let X=(0,M.createServerReference)("00cc674162965f046ec2005a0aa1d5339a8b86d16b",M.callServer,void 0,M.findSourceMapURL,"getDeveloperAgentsAction"),Z=(0,M.createServerReference)("402bfb6dbc2330339f67e613036af0ecfa02e7e8db",M.callServer,void 0,M.findSourceMapURL,"claimTaskAction"),K=(0,M.createServerReference)("60acc6478ae16ce4142685f481af02f600d91733e6",M.callServer,void 0,M.findSourceMapURL,"claimTaskToAgentAction"),Q=(0,M.createServerReference)("602ec983630518488edb633843f13f8936904eba82",M.callServer,void 0,M.findSourceMapURL,"claimTaskToUserAction"),Y=(0,M.createServerReference)("40791ba93d4adb772e44c848aff6980f7da5f5c833",M.callServer,void 0,M.findSourceMapURL,"releaseTaskAction");function ee(e){var s;let{task:t,projectUuid:n,currentUserUuid:d,onClose:o}=e,x=(0,c.c)(),u=(0,r.useRouter)(),[p,g]=(0,i.useState)(!1),[v,f]=(0,i.useState)("self"),[j,b]=(0,i.useState)(""),[A,C]=(0,i.useState)(""),[y,w]=(0,i.useState)([]),[k,F]=(0,i.useState)([]),[E,D]=(0,i.useState)(!0),[B,_]=(0,i.useState)(null),U=!!t.assignee;(0,i.useEffect)(()=>{!async function(){D(!0);let e=await X();w(e.agents||[]),F((e.users||[]).filter(e=>e.uuid!==d)),D(!1)}()},[d]);let L=async()=>{let e;if(g(!0),_(null),"self"===v)e=await Z(t.uuid);else if("agent"===v&&j)e=await K(t.uuid,j);else if("user"===v&&A)e=await Q(t.uuid,A);else{if("release"!==v)return void g(!1);e=await Y(t.uuid)}g(!1),(null==e?void 0:e.success)?(o(),u.refresh()):(null==e?void 0:e.error)&&_(e.error)},M="self"===v||"agent"===v&&j||"user"===v&&A||"release"===v&&U;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:o}),(0,a.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:x("tasks.assignTask")}),(0,a.jsx)("button",{onClick:o,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,a.jsx)(l.A,{className:"h-5 w-5"})})]}),(0,a.jsxs)("div",{className:"p-6 space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:t.title}),t.description&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:t.description})]}),U&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[x("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(s=t.assignee)?void 0:s.name})]})}),B&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,a.jsx)("p",{className:"text-xs text-[#D32F2F]",children:B})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:x("assign.selectAssignee")}),E?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(h.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(H.z,{value:v,onValueChange:e=>f(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>f("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"self",id:"self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("assign.assignToMyselfDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>f("agent"),children:[(0,a.jsx)(H.C,{value:"agent",id:"agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.orAssignToAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("tasks.onlySelectedAgentCanWork")}),"agent"===v&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(T.l6,{value:j,onValueChange:b,children:[(0,a.jsx)(T.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(T.yv,{placeholder:x("tasks.selectAgent")})}),(0,a.jsx)(T.gC,{children:y.length>0?y.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(m.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:x("tasks.noAgentsAvailable")})})]})})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>f("user"),children:[(0,a.jsx)(H.C,{value:"user",id:"user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.orAssignToUser")})]}),"user"===v&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(T.l6,{value:A,onValueChange:C,children:[(0,a.jsx)(T.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(T.yv,{placeholder:x("tasks.selectUser")})}),(0,a.jsx)(T.gC,{children:k.length>0?k.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(N.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:x("tasks.noUsersAvailable")})})]})})]}),U&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>f("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"release",id:"release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("assign.releaseAssigneeDesc")})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,a.jsx)(S.$,{variant:"outline",onClick:o,disabled:p,className:"border-[#E5E0D8]",children:x("common.cancel")}),(0,a.jsx)(S.$,{onClick:L,disabled:p||!M,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:p?(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):x("release"===v?"common.release":"common.assign")})]})]})]})}let es=(0,M.createServerReference)("40c9676a9993d0f850c6955f9c0589450c7244d18b",M.callServer,void 0,M.findSourceMapURL,"getTaskDependenciesAction"),et=(0,M.createServerReference)("40abc84636d041cef8f935b0751c9281f791c9e012",M.callServer,void 0,M.findSourceMapURL,"getProjectTasksForDependencyAction");var ea=t(32700);let ei=(0,M.createServerReference)("600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d",M.callServer,void 0,M.findSourceMapURL,"removeTaskDependencyAction"),er=(0,M.createServerReference)("40e97ce0b950d948479e35998482b7f2991815cd36",M.callServer,void 0,M.findSourceMapURL,"getTaskSessionsAction");var ec=t(38106),en=t(16544),el=t(65626),ed=t(90795);let eo={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},ex={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},em={low:"bg-[#F5F5F5] text-[#9A9A9A]",medium:"bg-[#FFF3E0] text-[#E65100]",high:"bg-[#FEE2E2] text-[#D32F2F]",critical:"bg-[#FFCDD2] text-[#B71C1C]"},eu={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function eh(e,s){let t=new Date(e),a=new Date().getTime()-t.getTime(),i=Math.floor(a/6e4),r=Math.floor(a/36e5),c=Math.floor(a/864e5);return i<1?s("time.justNow"):i<60?s("time.minutesAgo",{minutes:i}):r<24?s("time.hoursAgo",{hours:r}):c<7?s("time.daysAgo",{days:c}):(0,ec.r)(t)}function ep(e){var s;let{task:t,projectUuid:f,currentUserUuid:M,mode:H="overlay",onClose:X,onCreated:Z,onDependencyChange:K,onBack:Q}=e,Y=(0,c.c)(),ep=(0,r.useRouter)(),[eg,ev]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=setTimeout(()=>ev(!0),300);return()=>clearTimeout(e)},[]);let[ef,ej]=(0,i.useState)(!1),[eb,eA]=(0,i.useState)([]),[eN,eC]=(0,i.useState)(!0),[ey,ew]=(0,i.useState)(null),[ek,eF]=(0,i.useState)(!1),[eE,eS]=(0,i.useState)([]),[eD,eB]=(0,i.useState)([]),[eR,e_]=(0,i.useState)(!1),[eT,eU]=(0,i.useState)([]),[eL,eM]=(0,i.useState)(null),[eP,eq]=(0,i.useState)([]),[ez,e$]=(0,i.useState)([]),eV=null===t,[eW,eJ]=(0,i.useState)(eV),[eO,eI]=(0,i.useState)((null==t?void 0:t.title)||""),[eG,eH]=(0,i.useState)((null==t?void 0:t.description)||""),[eX,eZ]=(0,i.useState)((null==t?void 0:t.priority)||"medium"),[eK,eQ]=(0,i.useState)((null==t?void 0:t.storyPoints)!=null?String(t.storyPoints):""),[eY,e0]=(0,i.useState)((null==t?void 0:t.acceptanceCriteria)||""),[e2,e1]=(0,i.useState)(!1),[e5,e6]=(0,i.useState)(null),[e9,e3]=(0,i.useState)(!1),e7=(null==t||null==(s=t.assignee)?void 0:s.uuid)===M,e4=e7&&(null==t?void 0:t.status)==="assigned",e8=e7&&(null==t?void 0:t.status)==="in_progress",se=(null==t?void 0:t.status)==="to_verify";(0,i.useEffect)(()=>{async function e(){eC(!0),eA((await O(t.uuid)).activities),eC(!1)}async function s(){t.proposalUuid&&ew(await I(t.proposalUuid))}async function a(){e_(!0);let[e,s]=await Promise.all([es(t.uuid),et(f)]);eS(e.dependsOn),eB(e.dependedBy),eU(s.tasks),e_(!1)}async function i(){let e=await er(t.uuid);e.success&&e.data&&eq(e.data)}t&&(e(),s(),a(),i())},[null==t?void 0:t.uuid,null==t?void 0:t.proposalUuid,f]),(0,i.useEffect)(()=>{eV&&e();async function e(){eU((await et(f)).tasks)}},[eV,f]),(0,i.useEffect)(()=>{t&&(eJ(!1),eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||""),e6(null))},[null==t?void 0:t.uuid,null==t?void 0:t.title,null==t?void 0:t.description,null==t?void 0:t.priority,null==t?void 0:t.storyPoints,null==t?void 0:t.acceptanceCriteria]);let ss=async e=>{if(!t)return;ej(!0);let s=await P(t.uuid,e);ej(!1),s.success&&(X(),ep.refresh())},st=()=>{if(eV)return void X();eJ(!1),t&&(eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||"")),e6(null)},sa=async()=>{if(!eO.trim())return void e6(Y("tasks.titleRequired"));e1(!0),e6(null);let e=eK.trim()?parseFloat(eK):null;if(eV){let s=await q({projectUuid:f,title:eO.trim(),description:eG.trim()||void 0,priority:eX,storyPoints:e,acceptanceCriteria:eY.trim()||null});e1(!1),s.success?(ez.length>0&&s.taskUuid&&(await Promise.all(ez.map(e=>(0,ea.w)(s.taskUuid,e.uuid))),null==K||K()),null==Z||Z(),X(),ep.refresh()):e6(s.error||Y("tasks.createFailed"))}else{let s=await z({taskUuid:t.uuid,projectUuid:f,title:eO.trim(),description:eG.trim()||null,priority:eX,storyPoints:e,acceptanceCriteria:eY.trim()||null});e1(!1),s.success?(eJ(!1),ep.refresh()):e6(s.error||Y("tasks.updateFailed"))}},si=async()=>{if(!t)return;e3(!0);let e=await $(t.uuid,f);e3(!1),e.success&&(X(),ep.refresh())},sr=async e=>{if(!t)return;eM(null);let s=await (0,ea.w)(t.uuid,e);if(s.success){let s=eT.find(s=>s.uuid===e);s&&eS(e=>[...e,s]),null==K||K()}else eM(s.error||Y("tasks.failedToAddDep"))},sc=async e=>{if(!t)return;eM(null);let s=await ei(t.uuid,e);s.success?(eS(s=>s.filter(s=>s.uuid!==e)),null==K||K()):eM(s.error||Y("tasks.failedToRemoveDep"))},sn=async e=>{if(!t)return;eM(null);let s=await ei(e,t.uuid);s.success?(eB(s=>s.filter(s=>s.uuid!==e)),null==K||K()):eM(s.error||Y("tasks.failedToRemoveDep"))},sl=eT.filter(e=>e.uuid!==(null==t?void 0:t.uuid)&&!eE.some(s=>s.uuid===e.uuid)),sd=eT.filter(e=>!ez.some(s=>s.uuid===e.uuid)),so="sidebyside"===H;return(0,a.jsxs)(a.Fragment,{children:[!so&&(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:X}),(0,a.jsxs)("div",{className:"fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(so?"z-40 ".concat(eg?"":"animate-in slide-in-from-right duration-300"):"z-50 right-0 ".concat(eg?"":"animate-in slide-in-from-right duration-300")),style:{maxWidth:"".concat(ed.L8,"px"),...so?{right:"".concat(ed.L8,"px")}:{}},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[Q&&(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:Q,children:(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:eW?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:eV?Y("tasks.createTaskTitle"):Y("tasks.editTask")}):t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:t.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(F.E,{className:eo[t.status]||"",children:Y("status.".concat(ex[t.status]||t.status))}),(0,a.jsx)(F.E,{className:em[t.priority]||"",children:Y("priority.".concat(eu[t.priority]||t.priority))}),t.storyPoints&&(0,a.jsxs)("span",{className:"rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[t.storyPoints,"h"]})]})]}):null}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[t&&!eW&&(0,a.jsxs)(S.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:()=>{t&&(eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||""),e6(null),eJ(!0))},children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs",children:Y("common.edit")})]}),(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:eW&&!eV?st:X,children:(0,a.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,a.jsx)(_.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:eW?(0,a.jsxs)("div",{className:"space-y-5",children:[e5&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:e5}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.titleLabel")}),(0,a.jsx)(D.p,{id:"edit-title",value:eO,onChange:e=>eI(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.descriptionLabel")}),(0,a.jsx)(B.T,{id:"edit-description",value:eG,onChange:e=>eH(e.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.priorityLabel")}),(0,a.jsxs)(T.l6,{value:eX,onValueChange:eZ,children:[(0,a.jsx)(T.bq,{className:"border-[#E5E0D8] text-sm focus:ring-[#C67A52]",children:(0,a.jsx)(T.yv,{})}),(0,a.jsxs)(T.gC,{children:[(0,a.jsx)(T.eb,{value:"low",children:Y("priority.low")}),(0,a.jsx)(T.eb,{value:"medium",children:Y("priority.medium")}),(0,a.jsx)(T.eb,{value:"high",children:Y("priority.high")})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.storyPointsLabel")}),(0,a.jsx)(D.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:eK,onChange:e=>eQ(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-acceptance-criteria",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.acceptanceCriteriaLabel")}),(0,a.jsx)(B.T,{id:"edit-acceptance-criteria",value:eY,onChange:e=>e0(e.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),eV&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.dependencies")}),ez.length>0&&(0,a.jsx)("div",{className:"space-y-1.5",children:ez.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>e$(s=>s.filter(s=>s.uuid!==e.uuid)),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}),sd.length>0&&(0,a.jsxs)(T.l6,{onValueChange:e=>{let s=eT.find(s=>s.uuid===e);s&&e$(e=>[...e,s])},children:[(0,a.jsx)(T.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(T.yv,{placeholder:Y("tasks.addDependency")})]})}),(0,a.jsx)(T.gC,{children:sd.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},ez.length)]})]}):t?(0,a.jsxs)(en.P.div,{variants:el.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:t.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L.eu,{className:"h-7 w-7",children:(0,a.jsx)(L.q5,{className:"agent"===t.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===t.assignee.type?(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}):t.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:t.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===t.assignee.type?"".concat(Y("common.agent")," • ").concat(t.assignee.assignedAt?(0,ec.r)(t.assignee.assignedAt):""):Y("common.user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:Y("common.unassigned")})})]}),eP.length>0&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("sessions.activeWorkers")}),(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:eP.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full bg-green-500 flex-shrink-0"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-xs font-medium text-[#2C2C2C] truncate",children:e.sessionName}),(0,a.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[e.agentName," \xb7 ",eh(e.checkinAt,Y)]})]})]},e.sessionUuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.description")}),(0,a.jsx)("div",{className:"mt-2",children:t.description?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:t.description})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:Y("common.noDescription")})})]}),t.acceptanceCriteria&&!(t.acceptanceCriteriaItems&&t.acceptanceCriteriaItems.length>0)&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.acceptanceCriteria")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:t.acceptanceCriteria})})})]}),ey&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.source")}),(0,a.jsx)("a",{href:"/projects/".concat(f,"/proposals/").concat(ey.uuid),className:"mt-2 flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3 hover:bg-[#F0EDE5] transition-colors",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:ey.title})]})})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.dependencies")}),eL&&(0,a.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:eL}),eR?(0,a.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(a.Fragment,{children:[eE.length>0&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(p.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.dependsOn")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:eE.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>sc(e.uuid),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),eD.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(p.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.blockedByThis")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:eD.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>sn(e.uuid),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),0===eE.length&&0===eD.length&&(0,a.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:Y("tasks.noDependencies")}),sl.length>0&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(T.l6,{onValueChange:e=>sr(e),children:[(0,a.jsx)(T.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(T.yv,{placeholder:Y("tasks.addDependency")})]})}),(0,a.jsx)(T.gC,{children:sl.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},eE.length)})]})]}),t&&t.acceptanceCriteriaItems&&t.acceptanceCriteriaItems.length>0&&(()=>{let e=t.acceptanceCriteriaItems,s=t.acceptanceSummary,i=e=>"passed"===e?(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600"}):"failed"===e?(0,a.jsx)(v.A,{className:"h-4 w-4 text-red-600"}):(0,a.jsx)(j,{className:"h-4 w-4 text-yellow-600"}),r=e=>"passed"===e?"bg-green-50 text-green-700":"failed"===e?"bg-red-50 text-red-700":"bg-yellow-50 text-yellow-700",c=async(e,s)=>{(await V(t.uuid,[{uuid:e,status:s}])).success&&ep.refresh()};return(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("acceptanceCriteria.title")}),s&&(0,a.jsx)(F.E,{className:r(t.acceptanceStatus||"pending"),variant:"secondary",children:Y("acceptanceCriteria.progress",{passed:s.passed,total:s.total})})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[e.map(e=>(0,a.jsx)(E.Zp,{className:"p-3",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("div",{className:"mt-0.5 shrink-0",children:i(e.status)}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:e.description}),(0,a.jsx)(F.E,{variant:"outline",className:"text-[10px] shrink-0",children:e.required?Y("acceptanceCriteria.required"):Y("acceptanceCriteria.optional")})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:Y("acceptanceCriteria.devSelfCheck")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(r(e.devStatus)),variant:"secondary",children:[i(e.devStatus),(0,a.jsx)("span",{className:"ml-1",children:Y("acceptanceCriteria.status.".concat(e.devStatus))})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:Y("acceptanceCriteria.verification")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(r(e.status)),variant:"secondary",children:[i(e.status),(0,a.jsx)("span",{className:"ml-1",children:Y("acceptanceCriteria.status.".concat(e.status))})]})]})]}),e.devEvidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:Y("acceptanceCriteria.devEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.devEvidence})]}),e.evidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:Y("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]}),"pending"===e.status?(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-green-700 border-green-200 hover:bg-green-50",onClick:()=>c(e.uuid,"passed"),children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 mr-1"}),Y("acceptanceCriteria.pass")]}),(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-red-700 border-red-200 hover:bg-red-50",onClick:()=>c(e.uuid,"failed"),children:[(0,a.jsx)(v.A,{className:"h-3.5 w-3.5 mr-1"}),Y("acceptanceCriteria.fail")]})]}):(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(S.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-[#2C2C2C]",onClick:async()=>{(await W(t.uuid,e.uuid)).success&&ep.refresh()},children:Y("acceptanceCriteria.undoVerification")})})]})]})},e.uuid)),s&&(s.requiredPending>0||s.requiredFailed>0)&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 p-3 mt-2",children:[(0,a.jsx)(b.A,{className:"h-4 w-4 text-yellow-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-yellow-700",children:Y("acceptanceCriteria.gateBlocked",{count:s.requiredPending+s.requiredFailed})})]}),s&&0===s.requiredPending&&0===s.requiredFailed&&s.required>0&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 p-3 mt-2",children:[(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-green-700",children:Y("acceptanceCriteria.gateReady")})]})]})]})})(),(0,a.jsxs)("div",{className:"mt-5 flex-1",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:eN?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===eb.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:Y("common.noActivity")}):eb.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,a.jsx)("div",{className:"h-2 w-2 rounded-full ".concat(function(e){switch(e){case"task_created":return"bg-[#C67A52]";case"task_assigned":case"task_claimed":return"bg-[#1976D2]";case"task_started":return"bg-[#5A9E6F]";case"task_submitted":return"bg-[#7B1FA2]";case"task_completed":case"task_verified":return"bg-[#00796B]";case"task_released":return"bg-[#E65100]";default:return"bg-[#6B6B6B]"}}(e.action))})}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"text-xs text-[#2C2C2C]",children:function(e,s){let t=e.sessionName?"".concat(e.actorName," / ").concat(e.sessionName):e.actorName,{action:a}=e;switch(a){case"task_created":return s("activity.taskCreated",{actor:t});case"task_assigned":return s("activity.taskAssigned",{actor:t});case"task_claimed":return s("activity.taskClaimed",{actor:t});case"task_started":return s("activity.taskStarted",{actor:t});case"task_submitted":return s("activity.taskSubmitted",{actor:t});case"task_completed":case"task_verified":return s("activity.taskCompleted",{actor:t});case"task_released":return s("activity.taskReleased",{actor:t});case"task_status_changed":return s("activity.taskStatusChanged",{actor:t});default:return"".concat(t,": ").concat(a)}}(e,Y)}),(0,a.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:eh(e.createdAt,Y)})]})]},e.uuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("comments.title")}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(J.$,{targetType:"task",targetUuid:t.uuid,currentUserUuid:M,compact:!0})})]})]}):null})}),(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:eW?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:st,disabled:e2,children:Y("common.cancel")}),(0,a.jsx)(S.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:sa,disabled:e2||!eO.trim(),children:e2?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),Y("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.A,{className:"mr-2 h-4 w-4"}),eV?Y("common.create"):Y("tasks.saveChanges")]})})]}):t?(0,a.jsxs)(a.Fragment,{children:["done"!==t.status&&"closed"!==t.status&&(0,a.jsxs)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>eF(!0),disabled:ef,children:[(0,a.jsx)(N.A,{className:"mr-2 h-4 w-4"}),Y("common.assign")]}),e4&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>ss("in_progress"),disabled:ef,children:[(0,a.jsx)(C.A,{className:"mr-2 h-4 w-4"}),Y("tasks.startWork")]}),e8&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>ss("to_verify"),disabled:ef,children:[(0,a.jsx)(y.A,{className:"mr-2 h-4 w-4"}),Y("tasks.submitForReview")]}),se&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>ss("done"),disabled:ef,children:[(0,a.jsx)(w,{className:"mr-2 h-4 w-4"}),Y("tasks.markAsVerified")]}),("done"===t.status||"closed"===t.status)&&(0,a.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:Y("tasks.taskCompleted")}),(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsxs)(U.Lt,{children:[(0,a.jsx)(U.tv,{asChild:!0,children:(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,a.jsx)(k.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(U.EO,{children:[(0,a.jsxs)(U.wd,{children:[(0,a.jsx)(U.r7,{children:Y("tasks.deleteTask")}),(0,a.jsx)(U.$v,{children:Y("tasks.deleteTaskConfirm",{title:t.title})})]}),(0,a.jsxs)(U.ck,{children:[(0,a.jsx)(U.Zr,{children:Y("common.cancel")}),(0,a.jsx)(U.Rx,{variant:"destructive",onClick:si,disabled:e9,children:e9?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),Y("common.delete")]}):Y("common.delete")})]})]})]})})]}):null})})]}),t&&ek&&(0,a.jsx)(ee,{task:t,projectUuid:f,currentUserUuid:M,onClose:()=>eF(!1)})]})}},18789:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},32700:(e,s,t)=>{t.d(s,{w:()=>i});var a=t(52217);let i=(0,a.createServerReference)("60e61948d08a5f90212a42d4cd0efd78a07aae46f2",a.callServer,void 0,a.findSourceMapURL,"addTaskDependencyAction")},41111:(e,s,t)=>{t.d(s,{h:()=>i});var a=t(52217);let i=(0,a.createServerReference)("400a9b126aa8432283d46f71e2fa1da35098566ce7",a.callServer,void 0,a.findSourceMapURL,"getBatchWorkerCountsAction")},62482:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},70633:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},81531:(e,s,t)=>{t.d(s,{T:()=>i});var a=t(1856);function i(e,s){let[t,i]=(0,a.useState)(null!=s?s:null),[r,c]=(0,a.useState)(()=>new URLSearchParams(window.location.search).get("tab")),n=(0,a.useCallback)((s,t)=>{let a=new URLSearchParams(window.location.search);s?a.set("panel",s):a.delete("panel"),t?a.set("tab",t):a.delete("tab");let i=a.toString();return i?"".concat(e,"?").concat(i):e},[e]),l=(0,a.useCallback)((e,s)=>{let t=n(e,s);window.history.replaceState(null,"",t),i(e),c(null!=s?s:null)},[n]),d=(0,a.useCallback)(()=>{let e=n(null);window.history.replaceState(null,"",e),i(null),c(null)},[n]),o=(0,a.useCallback)(e=>{if(!t)return;let s=n(t,e);window.history.replaceState(null,"",s),c(e)},[n,t]);return(0,a.useEffect)(()=>{function e(){let e=new URLSearchParams(window.location.search),s=e.get("panel");s?(i(s),c(e.get("tab"))):(i(null),c(null))}return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),{selectedId:t,selectedTab:r,openPanel:l,closePanel:d,switchTab:o}}},90795:(e,s,t)=>{t.d(s,{Bj:()=>l,L8:()=>i,Wl:()=>d,_5:()=>n,eT:()=>r,fw:()=>c});var a=t(38106);let i=480;function r(e){switch(e){case"done":return"bg-[#00796B]";case"in_progress":return"bg-[#1976D2]";case"to_verify":return"bg-[#7B1FA2]";case"open":case"assigned":return"bg-[#E65100]";case"closed":return"bg-[#9A9A9A]";default:return"bg-[#D9D9D9]"}}function c(e,s){let t=new Date(e),i=new Date().getTime()-t.getTime(),r=Math.floor(i/6e4),c=Math.floor(i/36e5),n=Math.floor(i/864e5);return r<1?s("time.justNow"):r<60?s("time.minutesAgo",{minutes:r}):c<24?s("time.hoursAgo",{hours:c}):n<7?s("time.daysAgo",{days:n}):(0,a.r)(t)}let n={todo:"bg-[#FFF3E0] text-[#E65100]",in_progress:"bg-[#E3F2FD] text-[#1976D2]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]"},l={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},d={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},92745:(e,s,t)=>{t.d(s,{_u:()=>N,c_:()=>g,nF:()=>A,qK:()=>j});var a=t(90508),i=t(1856),r=t(26145),c=t(75380);t(33805);var n=t(10196),l=t.n(n),d=t(39268),o=t(57731);let x={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},m={open:"#E65100",assigned:"#1976D2",in_progress:"#5A9E6F",to_verify:"#7B1FA2",done:"#00796B",closed:"#9A9A9A"},u={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},h={open:"status.open",assigned:"status.assigned",in_progress:"status.inProgress",to_verify:"status.toVerify",done:"status.done",closed:"status.closed"},p={low:"bg-[#9A9A9A]",medium:"bg-[#E65100]",high:"bg-[#D32F2F]",critical:"bg-[#B71C1C]"},g={taskNode:function(e){let{data:s}=e,t=(0,d.c)();return(0,a.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] bg-white px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-[#C67A52] transition-colors",children:[(0,a.jsx)(r.h7,{type:"target",position:c.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,a.jsx)(o.E,{className:"text-[10px] ".concat(x[s.status]||""),children:t(h[s.status]||s.status)}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:"h-1.5 w-1.5 rounded-full ".concat(p[s.priority]||"")}),(0,a.jsx)("span",{className:"text-[10px] text-[#9A9A9A]",children:t(u[s.priority]||s.priority)})]})]}),(0,a.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:s.title}),(0,a.jsx)(r.h7,{type:"source",position:c.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},v={taskNode:function(e){let{data:s}=e,t=m[s.status]||"#E5E0D8";return(0,a.jsxs)("div",{className:"rounded-md border-[1.5px] bg-white px-2.5 py-1.5 shadow-sm",style:{borderColor:t,width:f},children:[(0,a.jsx)(r.h7,{type:"target",position:c.yX.Top,className:"!bg-[#C67A52] !w-1.5 !h-1.5"}),(0,a.jsx)("p",{className:"text-[10px] font-medium text-[#2C2C2C] leading-tight line-clamp-2",children:s.title}),(0,a.jsx)(r.h7,{type:"source",position:c.yX.Bottom,className:"!bg-[#C67A52] !w-1.5 !h-1.5"})]})}},f=150,j={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},b={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function A(e,s,t){var a,i,r,c;let n=null!=(a=null==t?void 0:t.nodeWidth)?a:240,d=null!=(i=null==t?void 0:t.nodeHeight)?i:80,o=new(l()).graphlib.Graph;return o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:"TB",nodesep:null!=(r=null==t?void 0:t.nodesep)?r:50,ranksep:null!=(c=null==t?void 0:t.ranksep)?c:80}),e.forEach(e=>{o.setNode(e.id,{width:n,height:d})}),s.forEach(e=>{o.setEdge(e.source,e.target)}),l().layout(o),{nodes:e.map(e=>{let s=o.node(e.id);return{...e,position:{x:s.x-n/2,y:s.y-d/2}}}),edges:s}}function N(e){let{tasks:s,edges:t,readonly:c=!1,compact:n=!1,height:l,onNodeClick:o,className:x}=e,m=(0,d.c)(),{layoutedNodes:u,layoutedEdges:h}=(0,i.useMemo)(()=>{let e=s.map(e=>{var s;return{id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:null!=(s=e.proposalUuid)?s:null}}}),a=A(e,t.map((e,s)=>({id:"e-".concat(s),source:e.to,target:e.from,...n?b:j})),n?{nodeWidth:f,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:a.nodes,layoutedEdges:a.edges}},[s,t,n]);return 0===s.length?(0,a.jsx)("div",{className:"flex items-center justify-center text-sm text-[#9A9A9A] ".concat(x||""),style:l?{height:l}:void 0,children:m("tasks.noTasksToDisplay")}):(0,a.jsx)("div",{className:"rounded-[10px] border border-[#E5E0D8] bg-[#F7F6F3] ".concat(x||""),style:l?{height:l}:void 0,children:(0,a.jsxs)(r.Gc,{nodes:u,edges:h,nodeTypes:n?v:g,onNodeClick:o?(e,s)=>o(s.id):void 0,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},nodesDraggable:!c,nodesConnectable:!c,elementsSelectable:!c,panOnDrag:!0,zoomOnScroll:!0,children:[(0,a.jsx)(r.VS,{color:"#E5E0D8",gap:20}),!c&&(0,a.jsx)(r.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29660],{5425:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(66206).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},45477:(e,r,t)=>{t.d(r,{z:()=>n});var a=t(87161);function n(){return(0,a.useSyncExternalStore)(o,()=>!0,()=>!1)}function o(){return()=>{}}},63197:(e,r,t)=>{t.r(r),t.d(r,{Indicator:()=>M,Item:()=>q,RadioGroup:()=>L,RadioGroupIndicator:()=>T,RadioGroupItem:()=>P,Root:()=>F,createRadioGroupScope:()=>S});var a=t(1856),n=t(33328),o=t(34124),i=t(21032),l=t(93367),s=t(94782),d=t(66249),u=t(72599),c=t(3705),p=t(72009),f=t(19900),v=t(90508),g="Radio",[m,y]=(0,i.A)(g),[h,w]=m(g),A=a.forwardRef((e,r)=>{let{__scopeRadio:t,name:i,checked:s=!1,required:d,disabled:u,value:c="on",onCheck:p,form:f,...g}=e,[m,y]=a.useState(null),w=(0,o.s)(r,e=>y(e)),A=a.useRef(!1),x=!m||f||!!m.closest("form");return(0,v.jsxs)(h,{scope:t,checked:s,disabled:u,children:[(0,v.jsx)(l.sG.button,{type:"button",role:"radio","aria-checked":s,"data-state":D(s),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:w,onClick:(0,n.mK)(e.onClick,e=>{s||null==p||p(),x&&(A.current=e.isPropagationStopped(),A.current||e.stopPropagation())})}),x&&(0,v.jsx)(R,{control:m,bubbles:!A.current,name:i,value:c,checked:s,required:d,disabled:u,form:f,style:{transform:"translateX(-100%)"}})]})});A.displayName=g;var x="RadioIndicator",b=a.forwardRef((e,r)=>{let{__scopeRadio:t,forceMount:a,...n}=e,o=w(x,t);return(0,v.jsx)(f.C,{present:a||o.checked,children:(0,v.jsx)(l.sG.span,{"data-state":D(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:r})})});b.displayName=x;var R=a.forwardRef((e,r)=>{let{__scopeRadio:t,control:n,checked:i,bubbles:s=!0,...d}=e,u=a.useRef(null),f=(0,o.s)(u,r),g=(0,p.Z)(i),m=(0,c.X)(n);return a.useEffect(()=>{let e=u.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==i&&r){let t=new Event("click",{bubbles:s});r.call(e,i),e.dispatchEvent(t)}},[g,i,s]),(0,v.jsx)(l.sG.input,{type:"radio","aria-hidden":!0,defaultChecked:i,...d,tabIndex:-1,ref:f,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function D(e){return e?"checked":"unchecked"}R.displayName="RadioBubbleInput";var j=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],k="RadioGroup",[E,S]=(0,i.A)(k,[s.RG,y]),N=(0,s.RG)(),C=y(),[I,G]=E(k),L=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,name:a,defaultValue:n,value:o,required:i=!1,disabled:c=!1,orientation:p,dir:f,loop:g=!0,onValueChange:m,...y}=e,h=N(t),w=(0,u.jH)(f),[A,x]=(0,d.i)({prop:o,defaultProp:null!=n?n:null,onChange:m,caller:k});return(0,v.jsx)(I,{scope:t,name:a,required:i,disabled:c,value:A,onValueChange:x,children:(0,v.jsx)(s.bL,{asChild:!0,...h,orientation:p,dir:w,loop:g,children:(0,v.jsx)(l.sG.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":c?"":void 0,dir:w,...y,ref:r})})})});L.displayName=k;var O="RadioGroupItem",P=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,disabled:i,...l}=e,d=G(O,t),u=d.disabled||i,c=N(t),p=C(t),f=a.useRef(null),g=(0,o.s)(r,f),m=d.value===l.value,y=a.useRef(!1);return a.useEffect(()=>{let e=e=>{j.includes(e.key)&&(y.current=!0)},r=()=>y.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",r),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",r)}},[]),(0,v.jsx)(s.q7,{asChild:!0,...c,focusable:!u,active:m,children:(0,v.jsx)(A,{disabled:u,required:d.required,checked:m,...p,...l,name:d.name,ref:g,onCheck:()=>d.onValueChange(l.value),onKeyDown:(0,n.mK)(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:(0,n.mK)(l.onFocus,()=>{var e;y.current&&(null==(e=f.current)||e.click())})})})});P.displayName=O;var T=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,...a}=e,n=C(t);return(0,v.jsx)(b,{...n,...a,ref:r})});T.displayName="RadioGroupIndicator";var F=L,q=P,M=T},65514:(e,r,t)=>{t.r(r),t.d(r,{Avatar:()=>g,AvatarFallback:()=>w,AvatarImage:()=>y,Fallback:()=>R,Image:()=>b,Root:()=>x,createAvatarScope:()=>p});var a=t(1856),n=t(21032),o=t(32313),i=t(99457),l=t(93367),s=t(45477),d=t(90508),u="Avatar",[c,p]=(0,n.A)(u),[f,v]=c(u),g=a.forwardRef((e,r)=>{let{__scopeAvatar:t,...n}=e,[o,i]=a.useState("idle");return(0,d.jsx)(f,{scope:t,imageLoadingStatus:o,onImageLoadingStatusChange:i,children:(0,d.jsx)(l.sG.span,{...n,ref:r})})});g.displayName=u;var m="AvatarImage",y=a.forwardRef((e,r)=>{let{__scopeAvatar:t,src:n,onLoadingStatusChange:u=()=>{},...c}=e,p=v(m,t),f=function(e,r){let{referrerPolicy:t,crossOrigin:n}=r,o=(0,s.z)(),l=a.useRef(null),d=o?(l.current||(l.current=new window.Image),l.current):null,[u,c]=a.useState(()=>A(d,e));return(0,i.N)(()=>{c(A(d,e))},[d,e]),(0,i.N)(()=>{let e=e=>()=>{c(e)};if(!d)return;let r=e("loaded"),a=e("error");return d.addEventListener("load",r),d.addEventListener("error",a),t&&(d.referrerPolicy=t),"string"==typeof n&&(d.crossOrigin=n),()=>{d.removeEventListener("load",r),d.removeEventListener("error",a)}},[d,n,t]),u}(n,c),g=(0,o.c)(e=>{u(e),p.onImageLoadingStatusChange(e)});return(0,i.N)(()=>{"idle"!==f&&g(f)},[f,g]),"loaded"===f?(0,d.jsx)(l.sG.img,{...c,ref:r,src:n}):null});y.displayName=m;var h="AvatarFallback",w=a.forwardRef((e,r)=>{let{__scopeAvatar:t,delayMs:n,...o}=e,i=v(h,t),[s,u]=a.useState(void 0===n);return a.useEffect(()=>{if(void 0!==n){let e=window.setTimeout(()=>u(!0),n);return()=>window.clearTimeout(e)}},[n]),s&&"loaded"!==i.imageLoadingStatus?(0,d.jsx)(l.sG.span,{...o,ref:r}):null});function A(e,r){return e?r?(e.src!==r&&(e.src=r),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}w.displayName=h;var x=g,b=y,R=w},86196:(e,r,t)=>{var a=t(1856),n="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},o=a.useState,i=a.useEffect,l=a.useLayoutEffect,s=a.useDebugValue;function d(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!n(e,t)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,r){return r()}:function(e,r){var t=r(),a=o({inst:{value:t,getSnapshot:r}}),n=a[0].inst,u=a[1];return l(function(){n.value=t,n.getSnapshot=r,d(n)&&u({inst:n})},[e,t,r]),i(function(){return d(n)&&u({inst:n}),e(function(){d(n)&&u({inst:n})})},[e]),s(t),t};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},87161:(e,r,t)=>{e.exports=t(86196)},90299:(e,r,t)=>{t.r(r),t.d(r,{Action:()=>T,AlertDialog:()=>v,AlertDialogAction:()=>E,AlertDialogCancel:()=>N,AlertDialogContent:()=>b,AlertDialogDescription:()=>k,AlertDialogOverlay:()=>y,AlertDialogPortal:()=>m,AlertDialogTitle:()=>D,AlertDialogTrigger:()=>g,Cancel:()=>F,Content:()=>P,Description:()=>M,Overlay:()=>O,Portal:()=>L,Root:()=>I,Title:()=>q,Trigger:()=>G,createAlertDialogScope:()=>p});var a=t(1856),n=t(21032),o=t(34124),i=t(71350),l=t(33328),s=t(54154),d=t(90508),u="AlertDialog",[c,p]=(0,n.A)(u,[i.createDialogScope]),f=(0,i.createDialogScope)(),v=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Root,{...a,...t,modal:!0})};v.displayName=u;var g=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Trigger,{...n,...a,ref:r})});g.displayName="AlertDialogTrigger";var m=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Portal,{...a,...t})};m.displayName="AlertDialogPortal";var y=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Overlay,{...n,...a,ref:r})});y.displayName="AlertDialogOverlay";var h="AlertDialogContent",[w,A]=c(h),x=(0,s.Dc)("AlertDialogContent"),b=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,children:n,...s}=e,u=f(t),c=a.useRef(null),p=(0,o.s)(r,c),v=a.useRef(null);return(0,d.jsx)(i.WarningProvider,{contentName:h,titleName:R,docsSlug:"alert-dialog",children:(0,d.jsx)(w,{scope:t,cancelRef:v,children:(0,d.jsxs)(i.Content,{role:"alertdialog",...u,...s,ref:p,onOpenAutoFocus:(0,l.mK)(s.onOpenAutoFocus,e=>{var r;e.preventDefault(),null==(r=v.current)||r.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(x,{children:n}),(0,d.jsx)(C,{contentRef:c})]})})})});b.displayName=h;var R="AlertDialogTitle",D=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Title,{...n,...a,ref:r})});D.displayName=R;var j="AlertDialogDescription",k=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Description,{...n,...a,ref:r})});k.displayName=j;var E=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Close,{...n,...a,ref:r})});E.displayName="AlertDialogAction";var S="AlertDialogCancel",N=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,{cancelRef:n}=A(S,t),l=f(t),s=(0,o.s)(r,n);return(0,d.jsx)(i.Close,{...l,...a,ref:s})});N.displayName=S;var C=e=>{let{contentRef:r}=e,t="`".concat(h,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(h,"` by passing a `").concat(j,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(h,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=r.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(t)},[t,r]),null},I=v,G=g,L=m,O=y,P=b,T=E,F=N,q=D,M=k}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[34775],{5616:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17730:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},36557:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},57472:(e,t,r)=>{r.d(t,{A:()=>o});var a=r(12079),n=r(90508);function o(e){let{locale:t,...r}=e;if(!t)throw Error(void 0);return(0,n.jsx)(a.Dk,{locale:t,...r})}},57893:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("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"}]])},58057:(e,t,r)=>{r.r(t),r.d(t,{Label:()=>l,Root:()=>i});var a=r(1856),n=r(93367),o=r(90508),l=a.forwardRef((e,t)=>(0,o.jsx)(n.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var i=l},60322:(e,t,r)=>{r.r(t),r.d(t,{Root:()=>x,Switch:()=>y,SwitchThumb:()=>b,Thumb:()=>A,createSwitchScope:()=>g});var a=r(1856),n=r(33328),o=r(34124),l=r(21032),i=r(66249),s=r(72009),c=r(3705),d=r(93367),u=r(90508),p="Switch",[f,g]=(0,l.A)(p),[h,v]=f(p),y=a.forwardRef((e,t)=>{let{__scopeSwitch:r,name:l,checked:s,defaultChecked:c,required:f,disabled:g,value:v="on",onCheckedChange:y,form:m,...b}=e,[x,A]=a.useState(null),w=(0,o.s)(t,e=>A(e)),C=a.useRef(!1),j=!x||m||!!x.closest("form"),[R,N]=(0,i.i)({prop:s,defaultProp:null!=c&&c,onChange:y,caller:p});return(0,u.jsxs)(h,{scope:r,checked:R,disabled:g,children:[(0,u.jsx)(d.sG.button,{type:"button",role:"switch","aria-checked":R,"aria-required":f,"data-state":k(R),"data-disabled":g?"":void 0,disabled:g,value:v,...b,ref:w,onClick:(0,n.mK)(e.onClick,e=>{N(e=>!e),j&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),j&&(0,u.jsx)(D,{control:x,bubbles:!C.current,name:l,value:v,checked:R,required:f,disabled:g,form:m,style:{transform:"translateX(-100%)"}})]})});y.displayName=p;var m="SwitchThumb",b=a.forwardRef((e,t)=>{let{__scopeSwitch:r,...a}=e,n=v(m,r);return(0,u.jsx)(d.sG.span,{"data-state":k(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:t})});b.displayName=m;var D=a.forwardRef((e,t)=>{let{__scopeSwitch:r,control:n,checked:l,bubbles:i=!0,...d}=e,p=a.useRef(null),f=(0,o.s)(p,t),g=(0,s.Z)(l),h=(0,c.X)(n);return a.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==l&&t){let r=new Event("click",{bubbles:i});t.call(e,l),e.dispatchEvent(r)}},[g,l,i]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:l,...d,tabIndex:-1,ref:f,style:{...d.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function k(e){return e?"checked":"unchecked"}D.displayName="SwitchBubbleInput";var x=y,A=b},60532:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},71350:(e,t,r)=>{r.r(t),r.d(t,{Close:()=>eo,Content:()=>er,Description:()=>en,Dialog:()=>w,DialogClose:()=>H,DialogContent:()=>S,DialogDescription:()=>z,DialogOverlay:()=>P,DialogPortal:()=>I,DialogTitle:()=>B,DialogTrigger:()=>j,Overlay:()=>et,Portal:()=>ee,Root:()=>Q,Title:()=>ea,Trigger:()=>$,WarningProvider:()=>U,createDialogScope:()=>k});var a=r(1856),n=r(33328),o=r(34124),l=r(21032),i=r(40577),s=r(66249),c=r(63569),d=r(80491),u=r(17533),p=r(19900),f=r(93367),g=r(12139),h=r(46523),v=r(2188),y=r(54154),m=r(90508),b="Dialog",[D,k]=(0,l.A)(b),[x,A]=D(b),w=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:l,modal:c=!0}=e,d=a.useRef(null),u=a.useRef(null),[p,f]=(0,s.i)({prop:n,defaultProp:null!=o&&o,onChange:l,caller:b});return(0,m.jsx)(x,{scope:t,triggerRef:d,contentRef:u,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:p,onOpenChange:f,onOpenToggle:a.useCallback(()=>f(e=>!e),[f]),modal:c,children:r})};w.displayName=b;var C="DialogTrigger",j=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,l=A(C,r),i=(0,o.s)(t,l.triggerRef);return(0,m.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":X(l.open),...a,ref:i,onClick:(0,n.mK)(e.onClick,l.onOpenToggle)})});j.displayName=C;var R="DialogPortal",[N,E]=D(R,{forceMount:void 0}),I=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:o}=e,l=A(R,t);return(0,m.jsx)(N,{scope:t,forceMount:r,children:a.Children.map(n,e=>(0,m.jsx)(p.C,{present:r||l.open,children:(0,m.jsx)(u.Portal,{asChild:!0,container:o,children:e})}))})};I.displayName=R;var O="DialogOverlay",P=a.forwardRef((e,t)=>{let r=E(O,e.__scopeDialog),{forceMount:a=r.forceMount,...n}=e,o=A(O,e.__scopeDialog);return o.modal?(0,m.jsx)(p.C,{present:a||o.open,children:(0,m.jsx)(_,{...n,ref:t})}):null});P.displayName=O;var T=(0,y.TL)("DialogOverlay.RemoveScroll"),_=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(O,r);return(0,m.jsx)(h.A,{as:T,allowPinchZoom:!0,shards:[n.contentRef],children:(0,m.jsx)(f.sG.div,{"data-state":X(n.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),M="DialogContent",S=a.forwardRef((e,t)=>{let r=E(M,e.__scopeDialog),{forceMount:a=r.forceMount,...n}=e,o=A(M,e.__scopeDialog);return(0,m.jsx)(p.C,{present:a||o.open,children:o.modal?(0,m.jsx)(F,{...n,ref:t}):(0,m.jsx)(q,{...n,ref:t})})});S.displayName=M;var F=a.forwardRef((e,t)=>{let r=A(M,e.__scopeDialog),l=a.useRef(null),i=(0,o.s)(t,r.contentRef,l);return a.useEffect(()=>{let e=l.current;if(e)return(0,v.Eq)(e)},[]),(0,m.jsx)(G,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=r.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,n.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,n.mK)(e.onFocusOutside,e=>e.preventDefault())})}),q=a.forwardRef((e,t)=>{let r=A(M,e.__scopeDialog),n=a.useRef(!1),o=a.useRef(!1);return(0,m.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,l;null==(a=e.onCloseAutoFocus)||a.call(e,t),t.defaultPrevented||(n.current||null==(l=r.triggerRef.current)||l.focus(),t.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:t=>{var a,l;null==(a=e.onInteractOutside)||a.call(e,t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let i=t.target;(null==(l=r.triggerRef.current)?void 0:l.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),G=a.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:l,onCloseAutoFocus:i,...s}=e,u=A(M,r),p=a.useRef(null),f=(0,o.s)(t,p);return(0,g.Oh)(),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(d.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:l,onUnmountAutoFocus:i,children:(0,m.jsx)(c.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":X(u.open),...s,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Y,{titleId:u.titleId}),(0,m.jsx)(J,{contentRef:p,descriptionId:u.descriptionId})]})]})}),K="DialogTitle",B=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(K,r);return(0,m.jsx)(f.sG.h2,{id:n.titleId,...a,ref:t})});B.displayName=K;var L="DialogDescription",z=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(L,r);return(0,m.jsx)(f.sG.p,{id:n.descriptionId,...a,ref:t})});z.displayName=L;var W="DialogClose",H=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,o=A(W,r);return(0,m.jsx)(f.sG.button,{type:"button",...a,ref:t,onClick:(0,n.mK)(e.onClick,()=>o.onOpenChange(!1))})});function X(e){return e?"open":"closed"}H.displayName=W;var Z="DialogTitleWarning",[U,V]=(0,l.q)(Z,{contentName:M,titleName:K,docsSlug:"dialog"}),Y=e=>{let{titleId:t}=e,r=V(Z),n="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return a.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},J=e=>{let{contentRef:t,descriptionId:r}=e,n=V("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(n.contentName,"}.");return a.useEffect(()=>{var e;let a=null==(e=t.current)?void 0:e.getAttribute("aria-describedby");r&&a&&(document.getElementById(r)||console.warn(o))},[o,t,r]),null},Q=w,$=j,ee=I,et=P,er=S,ea=B,en=z,eo=H},78948:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81149:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},84052:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},85619:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},89967:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},90299:(e,t,r)=>{r.r(t),r.d(t,{Action:()=>S,AlertDialog:()=>g,AlertDialogAction:()=>R,AlertDialogCancel:()=>E,AlertDialogContent:()=>x,AlertDialogDescription:()=>j,AlertDialogOverlay:()=>y,AlertDialogPortal:()=>v,AlertDialogTitle:()=>w,AlertDialogTrigger:()=>h,Cancel:()=>F,Content:()=>M,Description:()=>G,Overlay:()=>_,Portal:()=>T,Root:()=>O,Title:()=>q,Trigger:()=>P,createAlertDialogScope:()=>p});var a=r(1856),n=r(21032),o=r(34124),l=r(71350),i=r(33328),s=r(54154),c=r(90508),d="AlertDialog",[u,p]=(0,n.A)(d,[l.createDialogScope]),f=(0,l.createDialogScope)(),g=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(l.Root,{...a,...r,modal:!0})};g.displayName=d;var h=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Trigger,{...n,...a,ref:t})});h.displayName="AlertDialogTrigger";var v=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(l.Portal,{...a,...r})};v.displayName="AlertDialogPortal";var y=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Overlay,{...n,...a,ref:t})});y.displayName="AlertDialogOverlay";var m="AlertDialogContent",[b,D]=u(m),k=(0,s.Dc)("AlertDialogContent"),x=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:n,...s}=e,d=f(r),u=a.useRef(null),p=(0,o.s)(t,u),g=a.useRef(null);return(0,c.jsx)(l.WarningProvider,{contentName:m,titleName:A,docsSlug:"alert-dialog",children:(0,c.jsx)(b,{scope:r,cancelRef:g,children:(0,c.jsxs)(l.Content,{role:"alertdialog",...d,...s,ref:p,onOpenAutoFocus:(0,i.mK)(s.onOpenAutoFocus,e=>{var t;e.preventDefault(),null==(t=g.current)||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,c.jsx)(k,{children:n}),(0,c.jsx)(I,{contentRef:u})]})})})});x.displayName=m;var A="AlertDialogTitle",w=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Title,{...n,...a,ref:t})});w.displayName=A;var C="AlertDialogDescription",j=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Description,{...n,...a,ref:t})});j.displayName=C;var R=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Close,{...n,...a,ref:t})});R.displayName="AlertDialogAction";var N="AlertDialogCancel",E=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,{cancelRef:n}=D(N,r),i=f(r),s=(0,o.s)(t,n);return(0,c.jsx)(l.Close,{...i,...a,ref:s})});E.displayName=N;var I=e=>{let{contentRef:t}=e,r="`".concat(m,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(m,"` by passing a `").concat(C,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(m,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=t.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},O=g,P=h,T=v,_=y,M=x,S=R,F=E,q=w,G=j},97645:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},98861:(e,t,r)=>{r.r(t),r.d(t,{Checkbox:()=>k,CheckboxIndicator:()=>A,Indicator:()=>A,Root:()=>k,createCheckboxScope:()=>h,unstable_BubbleInput:()=>C,unstable_CheckboxBubbleInput:()=>C,unstable_CheckboxProvider:()=>m,unstable_CheckboxTrigger:()=>D,unstable_Provider:()=>m,unstable_Trigger:()=>D});var a=r(1856),n=r(34124),o=r(21032),l=r(33328),i=r(66249),s=r(72009),c=r(3705),d=r(19900),u=r(93367),p=r(90508),f="Checkbox",[g,h]=(0,o.A)(f),[v,y]=g(f);function m(e){let{__scopeCheckbox:t,checked:r,children:n,defaultChecked:o,disabled:l,form:s,name:c,onCheckedChange:d,required:u,value:g="on",internal_do_not_use_render:h}=e,[y,m]=(0,i.i)({prop:r,defaultProp:null!=o&&o,onChange:d,caller:f}),[b,D]=a.useState(null),[k,x]=a.useState(null),A=a.useRef(!1),w=!b||!!s||!!b.closest("form"),C={checked:y,disabled:l,setChecked:m,control:b,setControl:D,name:c,form:s,value:g,hasConsumerStoppedPropagationRef:A,required:u,defaultChecked:!j(o)&&o,isFormControl:w,bubbleInput:k,setBubbleInput:x};return(0,p.jsx)(v,{scope:t,...C,children:"function"==typeof h?h(C):n})}var b="CheckboxTrigger",D=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,onKeyDown:o,onClick:i,...s}=e,{control:c,value:d,disabled:f,checked:g,required:h,setControl:v,setChecked:m,hasConsumerStoppedPropagationRef:D,isFormControl:k,bubbleInput:x}=y(b,r),A=(0,n.s)(t,v),w=a.useRef(g);return a.useEffect(()=>{let e=null==c?void 0:c.form;if(e){let t=()=>m(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,m]),(0,p.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":j(g)?"mixed":g,"aria-required":h,"data-state":R(g),"data-disabled":f?"":void 0,disabled:f,value:d,...s,ref:A,onKeyDown:(0,l.mK)(o,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,l.mK)(i,e=>{m(e=>!!j(e)||!e),x&&k&&(D.current=e.isPropagationStopped(),D.current||e.stopPropagation())})})});D.displayName=b;var k=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:a,checked:n,defaultChecked:o,required:l,disabled:i,value:s,onCheckedChange:c,form:d,...u}=e;return(0,p.jsx)(m,{__scopeCheckbox:r,checked:n,defaultChecked:o,disabled:i,required:l,onCheckedChange:c,name:a,form:d,value:s,internal_do_not_use_render:e=>{let{isFormControl:a}=e;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(D,{...u,ref:t,__scopeCheckbox:r}),a&&(0,p.jsx)(C,{__scopeCheckbox:r})]})}})});k.displayName=f;var x="CheckboxIndicator",A=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:a,...n}=e,o=y(x,r);return(0,p.jsx)(d.C,{present:a||j(o.checked)||!0===o.checked,children:(0,p.jsx)(u.sG.span,{"data-state":R(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t,style:{pointerEvents:"none",...e.style}})})});A.displayName=x;var w="CheckboxBubbleInput",C=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,...o}=e,{control:l,hasConsumerStoppedPropagationRef:i,checked:d,defaultChecked:f,required:g,disabled:h,name:v,value:m,form:b,bubbleInput:D,setBubbleInput:k}=y(w,r),x=(0,n.s)(t,k),A=(0,s.Z)(d),C=(0,c.X)(l);a.useEffect(()=>{if(!D)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(A!==d&&e){let r=new Event("click",{bubbles:t});D.indeterminate=j(d),e.call(D,!j(d)&&d),D.dispatchEvent(r)}},[D,A,d,i]);let R=a.useRef(!j(d)&&d);return(0,p.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=f?f:R.current,required:g,disabled:h,name:v,value:m,form:b,...o,tabIndex:-1,ref:x,style:{...o.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function j(e){return"indeterminate"===e}function R(e){return j(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=w}}]);