@chorus-aidlc/chorus 0.9.2 → 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 (299) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +321 -302
  3. package/.next/standalone/.next/app-path-routes-manifest.json +31 -31
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +24 -24
  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 +2 -2
  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.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
  41. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  46. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin.html +1 -1
  55. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  56. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  62. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
  98. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/index.html +1 -1
  173. package/.next/standalone/.next/server/app/index.rsc +2 -2
  174. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  176. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  177. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  179. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  180. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  183. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  184. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  186. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  187. package/.next/standalone/.next/server/app/login.html +1 -1
  188. package/.next/standalone/.next/server/app/login.rsc +2 -2
  189. package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
  190. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  193. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  194. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/projects.html +1 -1
  196. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  197. package/.next/standalone/.next/server/app/settings.html +1 -1
  198. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  199. package/.next/standalone/.next/server/app-paths-manifest.json +31 -31
  200. package/.next/standalone/.next/server/chunks/1165.js +1 -1
  201. package/.next/standalone/.next/server/chunks/1615.js +31 -0
  202. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  203. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  204. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  205. package/.next/standalone/.next/server/chunks/2990.js +1 -1
  206. package/.next/standalone/.next/server/chunks/5491.js +1 -1
  207. package/.next/standalone/.next/server/chunks/5561.js +7 -0
  208. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  209. package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
  210. package/.next/standalone/.next/server/chunks/7228.js +2 -2
  211. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  212. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  213. package/.next/standalone/.next/server/chunks/896.js +1 -0
  214. package/.next/standalone/.next/server/chunks/920.js +1 -1
  215. package/.next/standalone/.next/server/chunks/937.js +1 -1
  216. package/.next/standalone/.next/server/chunks/9508.js +2 -2
  217. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  218. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  219. package/.next/standalone/.next/server/pages/404.html +1 -1
  220. package/.next/standalone/.next/server/pages/500.html +1 -1
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
  224. package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +1 -0
  225. package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +1 -0
  226. package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +1 -0
  227. package/.next/standalone/.next/static/chunks/{4860.60152a625f2a714f.js → 4860.1bebb2a898b170f6.js} +1 -1
  228. package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +1 -0
  229. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
  230. package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +1 -0
  231. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
  232. package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
  234. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
  235. package/.next/standalone/.next/static/chunks/{99373.4d93aaaf56fe7819.js → 99373.13c8ac5da1ddabe9.js} +1 -1
  236. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-dd7eb66bb4ffd252.js → layout-b55a8d6d9bd27276.js} +1 -1
  237. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-6d92b9867caf0fe1.js → page-fd10bca891f0f73a.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
  239. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
  247. package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +1 -0
  248. package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-4a8c75a0d40c2106.js} +1 -1
  249. package/.next/standalone/.next/static/css/bfe962487ee66da7.css +1 -0
  250. package/.next/standalone/package.json +1 -1
  251. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  252. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +7 -7
  253. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  254. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  255. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -33
  256. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  257. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +13 -4
  258. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +9 -4
  259. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  260. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +9 -6
  261. package/.next/standalone/public/install-codex.sh +200 -90
  262. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
  263. package/.next/standalone/public/skill/chorus/SKILL.md +55 -3
  264. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -2
  265. package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -33
  266. package/.next/standalone/public/skill/package.json +21 -5
  267. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +13 -4
  268. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +198 -0
  269. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +9 -4
  270. package/.next/standalone/public/skill/review-chorus/SKILL.md +13 -3
  271. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +219 -0
  272. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +531 -0
  273. package/.next/standalone/public/test-install-codex.sh +4 -0
  274. package/package.json +1 -1
  275. package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
  276. package/prisma/schema.prisma +2 -1
  277. package/.next/standalone/.next/server/chunks/1002.js +0 -1
  278. package/.next/standalone/.next/server/chunks/1854.js +0 -7
  279. package/.next/standalone/.next/server/chunks/6878.js +0 -1
  280. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
  281. package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
  282. package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
  283. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
  284. package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
  285. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
  286. package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
  287. package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
  288. package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
  289. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
  290. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
  291. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
  292. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
  293. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
  294. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
  295. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
  296. package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
  297. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
  298. /package/.next/standalone/.next/static/{-kClYg0a7zvFcgkw_LnG7 → YJZurE1onX9K-RDNIplc5}/_buildManifest.js +0 -0
  299. /package/.next/standalone/.next/static/{-kClYg0a7zvFcgkw_LnG7 → YJZurE1onX9K-RDNIplc5}/_ssgManifest.js +0 -0
@@ -2,97 +2,97 @@
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/api/auth/callback/route": "app/api/auth/callback/route.js",
4
4
  "/api/auth/logout/route": "app/api/auth/logout/route.js",
5
+ "/api/auth/me/route": "app/api/auth/me/route.js",
5
6
  "/api/auth/session/route": "app/api/auth/session/route.js",
6
7
  "/api/auth/refresh/route": "app/api/auth/refresh/route.js",
7
8
  "/api/auth/sync-token/route": "app/api/auth/sync-token/route.js",
8
9
  "/api/health/route": "app/api/health/route.js",
9
10
  "/api/mcp/route": "app/api/mcp/route.js",
10
11
  "/favicon.ico/route": "app/favicon.ico/route.js",
11
- "/api/auth/me/route": "app/api/auth/me/route.js",
12
12
  "/api/admin/login/route": "app/api/admin/login/route.js",
13
- "/api/admin/session/route": "app/api/admin/session/route.js",
14
13
  "/api/admin/companies/route": "app/api/admin/companies/route.js",
15
- "/api/admin/companies/[uuid]/route": "app/api/admin/companies/[uuid]/route.js",
14
+ "/api/admin/session/route": "app/api/admin/session/route.js",
16
15
  "/api/agents/[uuid]/sessions/route": "app/api/agents/[uuid]/sessions/route.js",
17
16
  "/api/api-keys/[uuid]/route": "app/api/api-keys/[uuid]/route.js",
17
+ "/api/admin/companies/[uuid]/route": "app/api/admin/companies/[uuid]/route.js",
18
18
  "/api/auth/check-default/route": "app/api/auth/check-default/route.js",
19
19
  "/api/auth/company-oidc/route": "app/api/auth/company-oidc/route.js",
20
- "/api/api-keys/route": "app/api/api-keys/route.js",
21
20
  "/api/agents/[uuid]/route": "app/api/agents/[uuid]/route.js",
21
+ "/api/api-keys/route": "app/api/api-keys/route.js",
22
22
  "/api/auth/default-login/route": "app/api/auth/default-login/route.js",
23
+ "/api/auth/identify/route": "app/api/auth/identify/route.js",
23
24
  "/api/agents/route": "app/api/agents/route.js",
24
- "/api/events/notifications/route": "app/api/events/notifications/route.js",
25
+ "/api/comments/route": "app/api/comments/route.js",
25
26
  "/api/documents/[uuid]/route": "app/api/documents/[uuid]/route.js",
27
+ "/api/events/notifications/route": "app/api/events/notifications/route.js",
28
+ "/api/ideas/[uuid]/move/preview/route": "app/api/ideas/[uuid]/move/preview/route.js",
29
+ "/api/me/assignments/route": "app/api/me/assignments/route.js",
26
30
  "/api/events/route": "app/api/events/route.js",
27
31
  "/api/ideas/[uuid]/claim/route": "app/api/ideas/[uuid]/claim/route.js",
28
- "/api/comments/route": "app/api/comments/route.js",
29
- "/api/ideas/[uuid]/move/preview/route": "app/api/ideas/[uuid]/move/preview/route.js",
30
32
  "/api/ideas/[uuid]/move/route": "app/api/ideas/[uuid]/move/route.js",
31
33
  "/api/ideas/[uuid]/release/route": "app/api/ideas/[uuid]/release/route.js",
32
- "/api/me/assignments/route": "app/api/me/assignments/route.js",
33
34
  "/api/mentionables/route": "app/api/mentionables/route.js",
34
- "/api/notifications/[uuid]/archive/route": "app/api/notifications/[uuid]/archive/route.js",
35
- "/api/notifications/[uuid]/read/route": "app/api/notifications/[uuid]/read/route.js",
36
- "/api/notifications/preferences/route": "app/api/notifications/preferences/route.js",
37
35
  "/api/notifications/read-all/route": "app/api/notifications/read-all/route.js",
36
+ "/api/notifications/[uuid]/archive/route": "app/api/notifications/[uuid]/archive/route.js",
38
37
  "/api/notifications/unread-count/route": "app/api/notifications/unread-count/route.js",
38
+ "/api/notifications/[uuid]/read/route": "app/api/notifications/[uuid]/read/route.js",
39
+ "/api/ideas/[uuid]/route": "app/api/ideas/[uuid]/route.js",
39
40
  "/api/project-groups/[uuid]/dashboard/route": "app/api/project-groups/[uuid]/dashboard/route.js",
40
41
  "/api/notifications/route": "app/api/notifications/route.js",
41
- "/api/ideas/[uuid]/route": "app/api/ideas/[uuid]/route.js",
42
- "/api/projects/[uuid]/available/route": "app/api/projects/[uuid]/available/route.js",
43
42
  "/api/project-groups/route": "app/api/project-groups/route.js",
43
+ "/api/notifications/preferences/route": "app/api/notifications/preferences/route.js",
44
44
  "/api/project-groups/[uuid]/route": "app/api/project-groups/[uuid]/route.js",
45
- "/api/projects/[uuid]/group/route": "app/api/projects/[uuid]/group/route.js",
46
- "/api/projects/[uuid]/ideas/tracker/route": "app/api/projects/[uuid]/ideas/tracker/route.js",
45
+ "/api/projects/[uuid]/available/route": "app/api/projects/[uuid]/available/route.js",
47
46
  "/api/projects/[uuid]/activity/route": "app/api/projects/[uuid]/activity/route.js",
47
+ "/api/projects/[uuid]/group/route": "app/api/projects/[uuid]/group/route.js",
48
48
  "/api/projects/[uuid]/documents/route": "app/api/projects/[uuid]/documents/route.js",
49
+ "/api/projects/[uuid]/proposals/[proposalUuid]/validate/route": "app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js",
49
50
  "/api/projects/[uuid]/ideas/route": "app/api/projects/[uuid]/ideas/route.js",
51
+ "/api/projects/[uuid]/ideas/tracker/route": "app/api/projects/[uuid]/ideas/tracker/route.js",
50
52
  "/api/projects/[uuid]/proposals/summary/route": "app/api/projects/[uuid]/proposals/summary/route.js",
51
- "/api/projects/[uuid]/proposals/[proposalUuid]/validate/route": "app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js",
52
53
  "/api/projects/[uuid]/stats/route": "app/api/projects/[uuid]/stats/route.js",
53
- "/api/projects/[uuid]/proposals/route": "app/api/projects/[uuid]/proposals/route.js",
54
54
  "/api/projects/[uuid]/tasks/dependencies/route": "app/api/projects/[uuid]/tasks/dependencies/route.js",
55
+ "/api/projects/[uuid]/proposals/route": "app/api/projects/[uuid]/proposals/route.js",
55
56
  "/api/proposals/[uuid]/approve/route": "app/api/proposals/[uuid]/approve/route.js",
56
- "/api/projects/[uuid]/route": "app/api/projects/[uuid]/route.js",
57
- "/api/projects/route": "app/api/projects/route.js",
58
57
  "/api/proposals/[uuid]/close/route": "app/api/proposals/[uuid]/close/route.js",
59
- "/api/projects/[uuid]/tasks/route": "app/api/projects/[uuid]/tasks/route.js",
60
- "/api/proposals/[uuid]/route": "app/api/proposals/[uuid]/route.js",
61
- "/api/proposals/[uuid]/reject/route": "app/api/proposals/[uuid]/reject/route.js",
58
+ "/api/projects/route": "app/api/projects/route.js",
59
+ "/api/projects/[uuid]/route": "app/api/projects/[uuid]/route.js",
62
60
  "/api/proposals/[uuid]/revoke/route": "app/api/proposals/[uuid]/revoke/route.js",
61
+ "/api/proposals/[uuid]/reject/route": "app/api/proposals/[uuid]/reject/route.js",
62
+ "/api/proposals/[uuid]/route": "app/api/proposals/[uuid]/route.js",
63
+ "/api/projects/[uuid]/tasks/route": "app/api/projects/[uuid]/tasks/route.js",
63
64
  "/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route": "app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js",
64
- "/api/tasks/[uuid]/claim/route": "app/api/tasks/[uuid]/claim/route.js",
65
65
  "/api/sessions/[uuid]/route": "app/api/sessions/[uuid]/route.js",
66
- "/api/tasks/[uuid]/release/route": "app/api/tasks/[uuid]/release/route.js",
67
66
  "/api/search/route": "app/api/search/route.js",
67
+ "/api/tasks/[uuid]/release/route": "app/api/tasks/[uuid]/release/route.js",
68
+ "/api/tasks/[uuid]/claim/route": "app/api/tasks/[uuid]/claim/route.js",
68
69
  "/api/tasks/[uuid]/dependencies/route": "app/api/tasks/[uuid]/dependencies/route.js",
69
70
  "/api/tasks/[uuid]/sessions/route": "app/api/tasks/[uuid]/sessions/route.js",
70
71
  "/api/tasks/[uuid]/route": "app/api/tasks/[uuid]/route.js",
71
- "/api/auth/identify/route": "app/api/auth/identify/route.js",
72
72
  "/login/admin/page": "app/login/admin/page.js",
73
+ "/login/callback/page": "app/login/callback/page.js",
73
74
  "/login/page": "app/login/page.js",
74
75
  "/login/pick-workspace/page": "app/login/pick-workspace/page.js",
75
76
  "/login/silent-refresh/page": "app/login/silent-refresh/page.js",
76
- "/login/callback/page": "app/login/callback/page.js",
77
77
  "/onboarding/page": "app/onboarding/page.js",
78
78
  "/page": "app/page.js",
79
- "/(dashboard)/project-groups/[uuid]/page": "app/(dashboard)/project-groups/[uuid]/page.js",
80
79
  "/(dashboard)/projects/[uuid]/activity/page": "app/(dashboard)/projects/[uuid]/activity/page.js",
80
+ "/(dashboard)/project-groups/[uuid]/page": "app/(dashboard)/project-groups/[uuid]/page.js",
81
81
  "/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page": "app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js",
82
82
  "/(dashboard)/projects/[uuid]/dashboard/page": "app/(dashboard)/projects/[uuid]/dashboard/page.js",
83
83
  "/(dashboard)/projects/[uuid]/documents/page": "app/(dashboard)/projects/[uuid]/documents/page.js",
84
- "/(dashboard)/projects/[uuid]/documents/[documentUuid]/page": "app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js",
85
84
  "/(dashboard)/projects/[uuid]/ideas/page": "app/(dashboard)/projects/[uuid]/ideas/page.js",
85
+ "/(dashboard)/projects/[uuid]/documents/[documentUuid]/page": "app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js",
86
86
  "/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page": "app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js",
87
87
  "/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page": "app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js",
88
88
  "/(dashboard)/projects/[uuid]/proposals/new/page": "app/(dashboard)/projects/[uuid]/proposals/new/page.js",
89
89
  "/(dashboard)/projects/[uuid]/proposals/page": "app/(dashboard)/projects/[uuid]/proposals/page.js",
90
+ "/(dashboard)/projects/page": "app/(dashboard)/projects/page.js",
90
91
  "/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page": "app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js",
91
92
  "/(dashboard)/projects/[uuid]/tasks/page": "app/(dashboard)/projects/[uuid]/tasks/page.js",
92
- "/(dashboard)/projects/page": "app/(dashboard)/projects/page.js",
93
93
  "/(dashboard)/settings/page": "app/(dashboard)/settings/page.js",
94
- "/admin/companies/new/page": "app/admin/companies/new/page.js",
95
94
  "/admin/companies/[uuid]/page": "app/admin/companies/[uuid]/page.js",
96
95
  "/admin/companies/page": "app/admin/companies/page.js",
97
- "/admin/page": "app/admin/page.js"
96
+ "/admin/page": "app/admin/page.js",
97
+ "/admin/companies/new/page": "app/admin/companies/new/page.js"
98
98
  }
@@ -1 +1 @@
1
- "use strict";exports.id=1165,exports.ids=[1165],exports.modules={54349:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hu:()=>n,eT:()=>m,fg:()=>l,uA:()=>q});var e=c(52618),f=c(76872),g=c(90494),h=c(88437),i=c(42558),j=c(65582),k=a([e,f,g,h]);async function l({companyUuid:a,targetType:b,targetUuid:c,skip:d,take:g}){if(!await (0,f._9)(b,c,a))return{comments:[],total:0};let h={companyUuid:a,targetType:b,targetUuid:c},[i,j]=await Promise.all([e.z.comment.findMany({where:h,skip:d,take:g,orderBy:{createdAt:"asc"},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.comment.count({where:h})]);return{comments:await Promise.all(i.map(async a=>{let b=await (0,f.lR)(a.authorType,a.authorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,content:a.content,author:{type:a.authorType,uuid:a.authorUuid,name:b??"Unknown"},createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})),total:j}}async function m({companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h}){if(!await (0,f._9)(b,c,a))throw Error(`Target ${b} with UUID ${c} not found`);let k=await e.z.comment.create({data:{companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),l=await (0,f.lR)(k.authorType,k.authorUuid);return n(b,c).then(d=>{d&&i.B.emitChange({companyUuid:a,projectUuid:d,entityType:b,entityUuid:c,action:"updated",actorUuid:h})}).catch(()=>{}),p(a,b,c,k.uuid,d,g,h).catch(a=>j.A.error({err:a},"Failed to process comment mentions")),{uuid:k.uuid,targetType:k.targetType,targetUuid:k.targetUuid,content:k.content,author:{type:k.authorType,uuid:k.authorUuid,name:l??"Unknown"},createdAt:k.createdAt.toISOString(),updatedAt:k.updatedAt.toISOString()}}async function n(a,b,c){let d=c?{companyUuid:c}:{};switch(a){case"task":{let a=await e.z.task.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"idea":{let a=await e.z.idea.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"proposal":{let a=await e.z.proposal.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"document":{let a=await e.z.document.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}default:return null}}async function o(a,b){switch(a){case"task":{let a=await e.z.task.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Task"}case"idea":{let a=await e.z.idea.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Idea"}case"proposal":{let a=await e.z.proposal.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Proposal"}case"document":{let a=await e.z.document.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Document"}default:return"Unknown"}}async function p(a,b,c,d,e,f,i){let j=g.Xs(e);if(0===j.length)return;let k=await n(b,c);if(!k)return;let l=await o(b,c);for(let m of(await g.AM({companyUuid:a,sourceType:"comment",sourceUuid:d,content:e,actorType:f,actorUuid:i,projectUuid:k,entityTitle:l}),j))(m.type!==f||m.uuid!==i)&&await h.createActivity({companyUuid:a,projectUuid:k,targetType:b,targetUuid:c,actorType:f,actorUuid:i,action:"mentioned",value:{mentionedType:m.type,mentionedUuid:m.uuid,mentionedName:m.displayName,sourceType:"comment",sourceUuid:d}})}async function q(a,b,c){if(0===c.length)return{};let d=await e.z.comment.groupBy({by:["targetUuid"],where:{companyUuid:a,targetType:b,targetUuid:{in:c}},_count:{targetUuid:!0}}),f={};for(let a of c)f[a]=0;for(let a of d)f[a.targetUuid]=a._count.targetUuid;return f}[e,f,g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},71165:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AY:()=>J,Cm:()=>L,Ew:()=>D,Fp:()=>y,IM:()=>K,K4:()=>u,QK:()=>x,QL:()=>G,UT:()=>v,Vk:()=>s,_T:()=>A,cn:()=>B,gg:()=>t,j9:()=>H,lC:()=>w,vQ:()=>I,vq:()=>z,xI:()=>n});var e=c(52618),f=c(76872),g=c(42558),h=c(48873),i=c(54349),j=c(90494),k=c(88437),l=c(65582),m=a([e,f,i,j,k]);[e,f,i,j,k]=m.then?(await m)():m;let M={open:["assigned","closed"],assigned:["open","in_progress","closed"],in_progress:["to_verify","closed"],to_verify:["done","in_progress","closed"],done:["closed"],closed:[]};function n(a,b){return(M[a]||[]).includes(b)}let N={total:0,required:0,passed:0,failed:0,pending:0,requiredPassed:0,requiredFailed:0,requiredPending:0};function o(a){if(0===a.length)return{status:"not_started",summary:{...N}};let b={...N,total:a.length};for(let c of a)c.required&&b.required++,"passed"===c.status?(b.passed++,c.required&&b.requiredPassed++):"failed"===c.status?(b.failed++,c.required&&b.requiredFailed++):(b.pending++,c.required&&b.requiredPending++);return b.requiredFailed>0?{status:"failed",summary:b}:b.requiredPassed===b.required&&b.required>0?{status:"passed",summary:b}:b.passed>0||b.failed>0?{status:"in_progress",summary:b}:{status:"not_started",summary:b}}function p(a){return{uuid:a.uuid,description:a.description,required:a.required,devStatus:a.devStatus,devEvidence:a.devEvidence,devMarkedByType:a.devMarkedByType,devMarkedBy:a.devMarkedBy,devMarkedAt:a.devMarkedAt?.toISOString()??null,status:a.status,evidence:a.evidence,markedByType:a.markedByType,markedBy:a.markedBy,markedAt:a.markedAt?.toISOString()??null,sortOrder:a.sortOrder}}async function q(a,b=0){let[c,d]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid),(0,f.LS)(a.createdByUuid)]),e=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),g=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),h=(a.acceptanceCriteriaItems||[]).map(p),{status:i,summary:j}=o(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:h,acceptanceStatus:i,acceptanceSummary:j,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:e,dependedBy:g,commentCount:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function r(a,b){if(0===a.length)return[];let c=[],d=[];for(let b of a)b.assigneeType&&b.assigneeUuid&&c.push({type:b.assigneeType,uuid:b.assigneeUuid}),b.assignedByUuid&&c.push({type:"user",uuid:b.assignedByUuid}),d.push(b.createdByUuid);let[e,g]=await Promise.all([(0,f.Uo)(c),(0,f.Xx)(d)]);return a.map(a=>{let c=null;if(a.assigneeType&&a.assigneeUuid){let b=e.get(a.assigneeUuid);if(b){let d=null;if(a.assignedByUuid){let b=e.get(a.assignedByUuid);b&&(d={type:"user",uuid:a.assignedByUuid,name:b})}c={type:a.assigneeType,uuid:a.assigneeUuid,name:b,assignedAt:a.assignedAt?.toISOString()??null,assignedBy:d}}}let d=g.get(a.createdByUuid)??null,f=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),h=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),i=(a.acceptanceCriteriaItems||[]).map(p),{status:j,summary:k}=o(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:i,acceptanceStatus:j,acceptanceSummary:k,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:f,dependedBy:h,commentCount:b[a.uuid]??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})}let O={dependsOn:{select:{dependsOn:{select:{uuid:!0,title:!0,status:!0}}}},dependedBy:{select:{task:{select:{uuid:!0,title:!0,status:!0}}}},acceptanceCriteriaItems:{orderBy:{sortOrder:"asc"}}};async function s({companyUuid:a,projectUuid:b,skip:c,take:d,status:f,priority:g,proposalUuids:h}){let j={projectUuid:b,companyUuid:a,...f&&{status:f},...g&&{priority:g},...h&&h.length>0&&{proposalUuid:{in:h}}},[k,l]=await Promise.all([e.z.task.findMany({where:j,skip:c,take:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...O}}),e.z.task.count({where:j})]),m=await (0,i.uA)(a,"task",k.map(a=>a.uuid));return{tasks:await r(k,m),total:l}}async function t(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}},...O}});if(!c)return null;let d=await e.z.comment.count({where:{companyUuid:a,targetType:"task",targetUuid:b}});return q(c,d)}async function u(a,b){return e.z.task.findFirst({where:{uuid:b,companyUuid:a}})}async function v(a){let b=await e.z.task.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description,status:"open",priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"task",entityUuid:b.uuid,action:"created"}),q(b)}async function w(a,b,c){let d=null;if(void 0!==b.description&&c){let b=await e.z.task.findUnique({where:{uuid:a},select:{description:!0}});d=b?.description??null}let f=await e.z.$transaction(async c=>{if(b.status&&"done"!==b.status){let b=await c.task.findUnique({where:{uuid:a},select:{status:!0}});b?.status==="to_verify"&&await c.acceptanceCriterion.updateMany({where:{taskUuid:a},data:{status:"pending",evidence:null,markedByType:null,markedBy:null,markedAt:null,devStatus:"pending",devEvidence:null,devMarkedByType:null,devMarkedBy:null,devMarkedAt:null}})}return c.task.update({where:{uuid:a},data:b,include:{project:{select:{uuid:!0,name:!0}}}})});return g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.project.uuid,entityType:"task",entityUuid:f.uuid,action:"updated"}),void 0!==b.description&&c&&b.description&&E(f.companyUuid,f.project.uuid,"task",f.uuid,f.title,d,b.description,c.actorType,c.actorUuid).catch(a=>l.A.error({err:a},"Failed to process task mentions")),q(f)}async function x({taskUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f}){try{let b=await e.z.task.update({where:{uuid:a,status:{in:["open","assigned"]}},data:{status:"assigned",assigneeType:c,assigneeUuid:d,assignedAt:new Date,assignedByUuid:f},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),q(b)}catch(a){if((0,h.Ik)(a))throw new h.Yy("Task");throw a}}async function y(a){try{let b=await e.z.task.update({where:{uuid:a,status:"assigned"},data:{status:"open",assigneeType:null,assigneeUuid:null,assignedAt:null,assignedByUuid:null},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),q(b)}catch(a){if((0,h.Ik)(a))throw new h.nm("Task");throw a}}async function z(a){let b=await e.z.task.delete({where:{uuid:a}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.projectUuid,entityType:"task",entityUuid:b.uuid,action:"deleted"}),b}async function A(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{status:a.status,evidence:a.evidence??null,markedByType:d.type,markedBy:d.actorUuid,markedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),C(a,b)}async function B(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{devStatus:a.devStatus,devEvidence:a.devEvidence??null,devMarkedByType:d.type,devMarkedBy:d.actorUuid,devMarkedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),C(a,b)}async function C(a,b){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");let c=await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}}),d=c.map(p),{status:f,summary:g}=o(c);return{items:d,status:f,summary:g}}async function D(a){let b=await e.z.acceptanceCriterion.findMany({where:{taskUuid:a},orderBy:{sortOrder:"asc"}});if(0===b.length||b.filter(a=>a.required).every(a=>"passed"===a.status))return{allowed:!0};let{summary:c}=o(b),d=b.filter(a=>a.required&&"passed"!==a.status).map(p);return{allowed:!1,reason:`Not all required acceptance criteria are passed. Required: ${c.required}, Passed: ${c.requiredPassed}, Failed: ${c.requiredFailed}, Pending: ${c.requiredPending}`,summary:c,unresolvedCriteria:d}}async function E(a,b,c,d,e,f,g,h,i){let l=f?j.Xs(f):[],m=j.Xs(g),n=new Set(l.map(a=>`${a.type}:${a.uuid}`)),o=m.filter(a=>!n.has(`${a.type}:${a.uuid}`));if(0!==o.length)for(let f of(await j.AM({companyUuid:a,sourceType:c,sourceUuid:d,content:g,actorType:h,actorUuid:i,projectUuid:b,entityTitle:e}),o))(f.type!==h||f.uuid!==i)&&await k.createActivity({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:h,actorUuid:i,action:"mentioned",value:{mentionedType:f.type,mentionedUuid:f.uuid,mentionedName:f.displayName,sourceType:c,sourceUuid:d}})}async function F(a,b){let c=await e.z.taskDependency.findMany({select:{taskUuid:!0,dependsOnUuid:!0}}),d=new Map;for(let a of c)d.has(a.taskUuid)||d.set(a.taskUuid,[]),d.get(a.taskUuid).push(a.dependsOnUuid);let f=new Set,g=[a];for(;g.length>0;){let a=g.pop();if(a===b)return!0;if(!f.has(a))for(let b of(f.add(a),d.get(a)||[]))f.has(b)||g.push(b)}return!1}async function G(a,b,c){if(b===c)throw Error("A task cannot depend on itself");let[d,f]=await Promise.all([e.z.task.findFirst({where:{uuid:b,companyUuid:a}}),e.z.task.findFirst({where:{uuid:c,companyUuid:a}})]);if(!d)throw Error("Task not found");if(!f)throw Error("Dependency task not found");if(d.projectUuid!==f.projectUuid)throw Error("Tasks must belong to the same project");if(await F(c,b))throw Error("Adding this dependency would create a cycle");let g=await e.z.taskDependency.create({data:{taskUuid:b,dependsOnUuid:c}});return{taskUuid:g.taskUuid,dependsOnUuid:g.dependsOnUuid,createdAt:g.createdAt}}async function H(a,b,c){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");await e.z.taskDependency.deleteMany({where:{taskUuid:b,dependsOnUuid:c}})}async function I(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:O});if(!c)throw Error("Task not found");return{dependsOn:c.dependsOn.map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),dependedBy:c.dependedBy.map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status}))}}async function J({companyUuid:a,projectUuid:b,proposalUuids:c}){let d={projectUuid:b,companyUuid:a,status:{in:["open","assigned"]},...c&&c.length>0&&{proposalUuid:{in:c}},NOT:{dependsOn:{some:{dependsOn:{status:{notIn:["done","closed"]}}}}}},[f,g]=await Promise.all([e.z.task.findMany({where:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...O}}),e.z.task.count({where:d})]),h=await (0,i.uA)(a,"task",f.map(a=>a.uuid));return{tasks:await r(f,h),total:g}}async function K(a){let b=await e.z.taskDependency.findMany({where:{taskUuid:a},select:{dependsOn:{select:{uuid:!0,title:!0,status:!0,assigneeType:!0,assigneeUuid:!0}}}});if(0===b.length)return{resolved:!0,blockers:[]};let c=b.filter(a=>"done"!==a.dependsOn.status&&"closed"!==a.dependsOn.status);if(0===c.length)return{resolved:!0,blockers:[]};let d=c.map(a=>a.dependsOn.uuid),[g,h]=await Promise.all([e.z.sessionTaskCheckin.findMany({where:{taskUuid:{in:d},checkoutAt:null},select:{taskUuid:!0,sessionUuid:!0,session:{select:{name:!0}}}}),(0,f.Uo)(c.filter(a=>a.dependsOn.assigneeType&&a.dependsOn.assigneeUuid).map(a=>({type:a.dependsOn.assigneeType,uuid:a.dependsOn.assigneeUuid})))]),i=new Map;for(let a of g)i.set(a.taskUuid,{sessionUuid:a.sessionUuid,sessionName:a.session.name});let j=c.map(a=>{let b=a.dependsOn,c=null;if(b.assigneeType&&b.assigneeUuid){let a=h.get(b.assigneeUuid);a&&(c={type:b.assigneeType,uuid:b.assigneeUuid,name:a})}return{uuid:b.uuid,title:b.title,status:b.status,assignee:c,sessionCheckin:i.get(b.uuid)??null}});return{resolved:!1,blockers:j}}async function L(a,b){let[c,d]=await Promise.all([e.z.task.findMany({where:{companyUuid:a,projectUuid:b},select:{uuid:!0,title:!0,status:!0,priority:!0,proposalUuid:!0}}),e.z.taskDependency.findMany({where:{task:{companyUuid:a,projectUuid:b}},select:{taskUuid:!0,dependsOnUuid:!0}})]);return{nodes:c.map(a=>({uuid:a.uuid,title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null})),edges:d.map(a=>({from:a.taskUuid,to:a.dependsOnUuid}))}}d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=1165,exports.ids=[1165],exports.modules={54349:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hu:()=>n,eT:()=>m,fg:()=>l,uA:()=>q});var e=c(52618),f=c(76872),g=c(90494),h=c(88437),i=c(42558),j=c(65582),k=a([e,f,g,h]);async function l({companyUuid:a,targetType:b,targetUuid:c,skip:d,take:g}){if(!await (0,f._9)(b,c,a))return{comments:[],total:0};let h={companyUuid:a,targetType:b,targetUuid:c},[i,j]=await Promise.all([e.z.comment.findMany({where:h,skip:d,take:g,orderBy:{createdAt:"asc"},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.comment.count({where:h})]);return{comments:await Promise.all(i.map(async a=>{let b=await (0,f.lR)(a.authorType,a.authorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,content:a.content,author:{type:a.authorType,uuid:a.authorUuid,name:b??"Unknown"},createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})),total:j}}async function m({companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h}){if(!await (0,f._9)(b,c,a))throw Error(`Target ${b} with UUID ${c} not found`);let k=await e.z.comment.create({data:{companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),l=await (0,f.lR)(k.authorType,k.authorUuid);return n(b,c).then(d=>{d&&i.B.emitChange({companyUuid:a,projectUuid:d,entityType:b,entityUuid:c,action:"updated",actorUuid:h})}).catch(()=>{}),p(a,b,c,k.uuid,d,g,h).catch(a=>j.A.error({err:a},"Failed to process comment mentions")),{uuid:k.uuid,targetType:k.targetType,targetUuid:k.targetUuid,content:k.content,author:{type:k.authorType,uuid:k.authorUuid,name:l??"Unknown"},createdAt:k.createdAt.toISOString(),updatedAt:k.updatedAt.toISOString()}}async function n(a,b,c){let d=c?{companyUuid:c}:{};switch(a){case"task":{let a=await e.z.task.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"idea":{let a=await e.z.idea.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"proposal":{let a=await e.z.proposal.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"document":{let a=await e.z.document.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}default:return null}}async function o(a,b){switch(a){case"task":{let a=await e.z.task.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Task"}case"idea":{let a=await e.z.idea.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Idea"}case"proposal":{let a=await e.z.proposal.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Proposal"}case"document":{let a=await e.z.document.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Document"}default:return"Unknown"}}async function p(a,b,c,d,e,f,i){let j=g.Xs(e);if(0===j.length)return;let k=await n(b,c);if(!k)return;let l=await o(b,c);for(let m of(await g.AM({companyUuid:a,sourceType:"comment",sourceUuid:d,content:e,actorType:f,actorUuid:i,projectUuid:k,entityTitle:l}),j))(m.type!==f||m.uuid!==i)&&await h.createActivity({companyUuid:a,projectUuid:k,targetType:b,targetUuid:c,actorType:f,actorUuid:i,action:"mentioned",value:{mentionedType:m.type,mentionedUuid:m.uuid,mentionedName:m.displayName,sourceType:"comment",sourceUuid:d}})}async function q(a,b,c){if(0===c.length)return{};let d=await e.z.comment.groupBy({by:["targetUuid"],where:{companyUuid:a,targetType:b,targetUuid:{in:c}},_count:{targetUuid:!0}}),f={};for(let a of c)f[a]=0;for(let a of d)f[a.targetUuid]=a._count.targetUuid;return f}[e,f,g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},71165:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AY:()=>M,Cm:()=>O,Ew:()=>G,Fp:()=>z,IM:()=>N,K4:()=>v,LQ:()=>B,Pf:()=>C,QK:()=>y,QL:()=>J,UT:()=>w,Vk:()=>t,_T:()=>D,cn:()=>E,gg:()=>u,j9:()=>K,lC:()=>x,vQ:()=>L,vq:()=>A,xI:()=>o});var e=c(52618),f=c(76872),g=c(42558),h=c(48873),i=c(54349),j=c(90494),k=c(88437),l=c(65582),m=c(68775),n=a([e,f,i,j,k]);[e,f,i,j,k]=n.then?(await n)():n;let P={open:["assigned","closed"],assigned:["open","in_progress","closed"],in_progress:["to_verify","closed"],to_verify:["done","in_progress","closed"],done:["closed"],closed:[]};function o(a,b){return(P[a]||[]).includes(b)}let Q={total:0,required:0,passed:0,failed:0,pending:0,requiredPassed:0,requiredFailed:0,requiredPending:0};function p(a){if(0===a.length)return{status:"not_started",summary:{...Q}};let b={...Q,total:a.length};for(let c of a)c.required&&b.required++,"passed"===c.status?(b.passed++,c.required&&b.requiredPassed++):"failed"===c.status?(b.failed++,c.required&&b.requiredFailed++):(b.pending++,c.required&&b.requiredPending++);return b.requiredFailed>0?{status:"failed",summary:b}:b.requiredPassed===b.required&&b.required>0?{status:"passed",summary:b}:b.passed>0||b.failed>0?{status:"in_progress",summary:b}:{status:"not_started",summary:b}}function q(a){return{uuid:a.uuid,description:a.description,required:a.required,devStatus:a.devStatus,devEvidence:a.devEvidence,devMarkedByType:a.devMarkedByType,devMarkedBy:a.devMarkedBy,devMarkedAt:a.devMarkedAt?.toISOString()??null,status:a.status,evidence:a.evidence,markedByType:a.markedByType,markedBy:a.markedBy,markedAt:a.markedAt?.toISOString()??null,sortOrder:a.sortOrder}}async function r(a,b=0){let[c,d]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid),(0,f.LS)(a.createdByUuid)]),e=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),g=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),h=(a.acceptanceCriteriaItems||[]).map(q),{status:i,summary:j}=p(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:h,acceptanceStatus:i,acceptanceSummary:j,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:e,dependedBy:g,commentCount:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function s(a,b){if(0===a.length)return[];let c=[],d=[];for(let b of a)b.assigneeType&&b.assigneeUuid&&c.push({type:b.assigneeType,uuid:b.assigneeUuid}),b.assignedByUuid&&c.push({type:"user",uuid:b.assignedByUuid}),d.push(b.createdByUuid);let[e,g]=await Promise.all([(0,f.Uo)(c),(0,f.Xx)(d)]);return a.map(a=>{let c=null;if(a.assigneeType&&a.assigneeUuid){let b=e.get(a.assigneeUuid);if(b){let d=null;if(a.assignedByUuid){let b=e.get(a.assignedByUuid);b&&(d={type:"user",uuid:a.assignedByUuid,name:b})}c={type:a.assigneeType,uuid:a.assigneeUuid,name:b,assignedAt:a.assignedAt?.toISOString()??null,assignedBy:d}}}let d=g.get(a.createdByUuid)??null,f=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),h=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),i=(a.acceptanceCriteriaItems||[]).map(q),{status:j,summary:k}=p(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:i,acceptanceStatus:j,acceptanceSummary:k,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:f,dependedBy:h,commentCount:b[a.uuid]??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})}let R={dependsOn:{select:{dependsOn:{select:{uuid:!0,title:!0,status:!0}}}},dependedBy:{select:{task:{select:{uuid:!0,title:!0,status:!0}}}},acceptanceCriteriaItems:{orderBy:{sortOrder:"asc"}}};async function t({companyUuid:a,projectUuid:b,skip:c,take:d,status:f,priority:g,proposalUuids:h}){let j={projectUuid:b,companyUuid:a,...f&&{status:f},...g&&{priority:g},...h&&h.length>0&&{proposalUuid:{in:h}}},[k,l]=await Promise.all([e.z.task.findMany({where:j,skip:c,take:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...R}}),e.z.task.count({where:j})]),m=await (0,i.uA)(a,"task",k.map(a=>a.uuid));return{tasks:await s(k,m),total:l}}async function u(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}},...R}});if(!c)return null;let d=await e.z.comment.count({where:{companyUuid:a,targetType:"task",targetUuid:b}});return r(c,d)}async function v(a,b){return e.z.task.findFirst({where:{uuid:b,companyUuid:a}})}async function w(a){let b=await e.z.task.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description,status:"open",priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"task",entityUuid:b.uuid,action:"created"}),r(b)}async function x(a,b,c){let d=null;if(void 0!==b.description&&c){let b=await e.z.task.findUnique({where:{uuid:a},select:{description:!0}});d=b?.description??null}let f=await e.z.$transaction(async c=>{if(b.status&&"done"!==b.status){let b=await c.task.findUnique({where:{uuid:a},select:{status:!0}});b?.status==="to_verify"&&await c.acceptanceCriterion.updateMany({where:{taskUuid:a},data:{status:"pending",evidence:null,markedByType:null,markedBy:null,markedAt:null,devStatus:"pending",devEvidence:null,devMarkedByType:null,devMarkedBy:null,devMarkedAt:null}})}return c.task.update({where:{uuid:a},data:b,include:{project:{select:{uuid:!0,name:!0}}}})});return g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.project.uuid,entityType:"task",entityUuid:f.uuid,action:"updated"}),void 0!==b.description&&c&&b.description&&H(f.companyUuid,f.project.uuid,"task",f.uuid,f.title,d,b.description,c.actorType,c.actorUuid).catch(a=>l.A.error({err:a},"Failed to process task mentions")),r(f)}async function y({taskUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f}){try{let b=await e.z.task.update({where:{uuid:a,status:{in:["open","assigned"]}},data:{status:"assigned",assigneeType:c,assigneeUuid:d,assignedAt:new Date,assignedByUuid:f},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),r(b)}catch(a){if((0,h.Ik)(a))throw new h.Yy("Task");throw a}}async function z(a){try{let b=await e.z.task.update({where:{uuid:a,status:"assigned"},data:{status:"open",assigneeType:null,assigneeUuid:null,assignedAt:null,assignedByUuid:null},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),r(b)}catch(a){if((0,h.Ik)(a))throw new h.nm("Task");throw a}}async function A(a){let b=await e.z.task.delete({where:{uuid:a}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.projectUuid,entityType:"task",entityUuid:b.uuid,action:"deleted"}),b}async function B(a,b){if(0===b.length)return[];let c=b.map((b,c)=>e.z.acceptanceCriterion.create({data:{taskUuid:a,description:b.description,required:b.required??!0,sortOrder:b.sortOrder??c}}));return(await Promise.all(c)).map(q)}async function C(a,b,c){let d=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!d)throw Error("Task not found");if(!(0,m.hY)(c))throw Error(m.se);let f=(0,m.Ch)(c),h=await e.z.$transaction(async a=>(await a.acceptanceCriterion.deleteMany({where:{taskUuid:b}}),f.length>0&&await a.acceptanceCriterion.createMany({data:f.map((a,c)=>({taskUuid:b,description:a.description,required:a.required,sortOrder:c}))}),a.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}})));return g.B.emitChange({companyUuid:a,projectUuid:d.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),h.map(q)}async function D(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{status:a.status,evidence:a.evidence??null,markedByType:d.type,markedBy:d.actorUuid,markedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),F(a,b)}async function E(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{devStatus:a.devStatus,devEvidence:a.devEvidence??null,devMarkedByType:d.type,devMarkedBy:d.actorUuid,devMarkedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),F(a,b)}async function F(a,b){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");let c=await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}}),d=c.map(q),{status:f,summary:g}=p(c);return{items:d,status:f,summary:g}}async function G(a){let b=await e.z.acceptanceCriterion.findMany({where:{taskUuid:a},orderBy:{sortOrder:"asc"}});if(0===b.length||b.filter(a=>a.required).every(a=>"passed"===a.status))return{allowed:!0};let{summary:c}=p(b),d=b.filter(a=>a.required&&"passed"!==a.status).map(q);return{allowed:!1,reason:`Not all required acceptance criteria are passed. Required: ${c.required}, Passed: ${c.requiredPassed}, Failed: ${c.requiredFailed}, Pending: ${c.requiredPending}`,summary:c,unresolvedCriteria:d}}async function H(a,b,c,d,e,f,g,h,i){let l=f?j.Xs(f):[],m=j.Xs(g),n=new Set(l.map(a=>`${a.type}:${a.uuid}`)),o=m.filter(a=>!n.has(`${a.type}:${a.uuid}`));if(0!==o.length)for(let f of(await j.AM({companyUuid:a,sourceType:c,sourceUuid:d,content:g,actorType:h,actorUuid:i,projectUuid:b,entityTitle:e}),o))(f.type!==h||f.uuid!==i)&&await k.createActivity({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:h,actorUuid:i,action:"mentioned",value:{mentionedType:f.type,mentionedUuid:f.uuid,mentionedName:f.displayName,sourceType:c,sourceUuid:d}})}async function I(a,b){let c=await e.z.taskDependency.findMany({select:{taskUuid:!0,dependsOnUuid:!0}}),d=new Map;for(let a of c)d.has(a.taskUuid)||d.set(a.taskUuid,[]),d.get(a.taskUuid).push(a.dependsOnUuid);let f=new Set,g=[a];for(;g.length>0;){let a=g.pop();if(a===b)return!0;if(!f.has(a))for(let b of(f.add(a),d.get(a)||[]))f.has(b)||g.push(b)}return!1}async function J(a,b,c){if(b===c)throw Error("A task cannot depend on itself");let[d,f]=await Promise.all([e.z.task.findFirst({where:{uuid:b,companyUuid:a}}),e.z.task.findFirst({where:{uuid:c,companyUuid:a}})]);if(!d)throw Error("Task not found");if(!f)throw Error("Dependency task not found");if(d.projectUuid!==f.projectUuid)throw Error("Tasks must belong to the same project");if(await I(c,b))throw Error("Adding this dependency would create a cycle");let g=await e.z.taskDependency.create({data:{taskUuid:b,dependsOnUuid:c}});return{taskUuid:g.taskUuid,dependsOnUuid:g.dependsOnUuid,createdAt:g.createdAt}}async function K(a,b,c){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");await e.z.taskDependency.deleteMany({where:{taskUuid:b,dependsOnUuid:c}})}async function L(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:R});if(!c)throw Error("Task not found");return{dependsOn:c.dependsOn.map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),dependedBy:c.dependedBy.map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status}))}}async function M({companyUuid:a,projectUuid:b,proposalUuids:c}){let d={projectUuid:b,companyUuid:a,status:{in:["open","assigned"]},...c&&c.length>0&&{proposalUuid:{in:c}},NOT:{dependsOn:{some:{dependsOn:{status:{notIn:["done","closed"]}}}}}},[f,g]=await Promise.all([e.z.task.findMany({where:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...R}}),e.z.task.count({where:d})]),h=await (0,i.uA)(a,"task",f.map(a=>a.uuid));return{tasks:await s(f,h),total:g}}async function N(a){let b=await e.z.taskDependency.findMany({where:{taskUuid:a},select:{dependsOn:{select:{uuid:!0,title:!0,status:!0,assigneeType:!0,assigneeUuid:!0}}}});if(0===b.length)return{resolved:!0,blockers:[]};let c=b.filter(a=>"done"!==a.dependsOn.status&&"closed"!==a.dependsOn.status);if(0===c.length)return{resolved:!0,blockers:[]};let d=c.map(a=>a.dependsOn.uuid),[g,h]=await Promise.all([e.z.sessionTaskCheckin.findMany({where:{taskUuid:{in:d},checkoutAt:null},select:{taskUuid:!0,sessionUuid:!0,session:{select:{name:!0}}}}),(0,f.Uo)(c.filter(a=>a.dependsOn.assigneeType&&a.dependsOn.assigneeUuid).map(a=>({type:a.dependsOn.assigneeType,uuid:a.dependsOn.assigneeUuid})))]),i=new Map;for(let a of g)i.set(a.taskUuid,{sessionUuid:a.sessionUuid,sessionName:a.session.name});let j=c.map(a=>{let b=a.dependsOn,c=null;if(b.assigneeType&&b.assigneeUuid){let a=h.get(b.assigneeUuid);a&&(c={type:b.assigneeType,uuid:b.assigneeUuid,name:a})}return{uuid:b.uuid,title:b.title,status:b.status,assignee:c,sessionCheckin:i.get(b.uuid)??null}});return{resolved:!1,blockers:j}}async function O(a,b){let[c,d]=await Promise.all([e.z.task.findMany({where:{companyUuid:a,projectUuid:b},select:{uuid:!0,title:!0,status:!0,priority:!0,proposalUuid:!0}}),e.z.taskDependency.findMany({where:{task:{companyUuid:a,projectUuid:b}},select:{taskUuid:!0,dependsOnUuid:!0}})]);return{nodes:c.map(a=>({uuid:a.uuid,title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null})),edges:d.map(a=>({from:a.taskUuid,to:a.dependsOnUuid}))}}d()}catch(a){d(a)}})}};
@@ -0,0 +1,31 @@
1
+ "use strict";exports.id=1615,exports.ids=[1615],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}},27882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>m});var e=c(10837),f=c(9222),g=c(35198),h=c(94372),i=c(82658),j=c(21790),k=c(86700),l=a([k]);function m({apiKey:a}){let b=(0,f.c)("onboarding"),c=a||"<YOUR_API_KEY>";return(0,e.jsx)(g.Zp,{className:"w-full",children:(0,e.jsx)(g.Wu,{className:"p-6",children:(0,e.jsxs)(h.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,e.jsxs)(h.j7,{className:"w-full",children:[(0,e.jsx)(h.Xi,{value:"claude-code",className:"flex-1",children:b("install.tabs.claudeCode")}),(0,e.jsx)(h.Xi,{value:"codex",className:"flex-1",children:b("install.tabs.codex")}),(0,e.jsx)(h.Xi,{value:"opencode",className:"flex-1",children:b("install.tabs.opencode")}),(0,e.jsx)(h.Xi,{value:"openclaw",className:"flex-1",children:b("install.tabs.openClaw")}),(0,e.jsx)(h.Xi,{value:"other",className:"flex-1",children:b("install.tabs.other")})]}),(0,e.jsxs)(h.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
2
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.claudeCode.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`/plugin marketplace add Chorus-AIDLC/chorus
3
+ /plugin install chorus@chorus-plugins`})]})]}),(0,e.jsxs)(h.av,{value:"codex",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
4
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.codex.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:"curl -fsSL /install-codex.sh | bash"}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.codex.step2Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step3Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.codex.step3Desc")})]})]}),(0,e.jsxs)(h.av,{value:"opencode",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.opencode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
5
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.opencode.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.opencode.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:"curl -fsSL /install-opencode.sh | bash"}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.opencode.step2Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.opencode.step3Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.opencode.step3Desc")})]}),(0,e.jsxs)(i.Nt,{children:[(0,e.jsxs)(i.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,e.jsx)(j.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),b("install.opencode.troubleshootingTitle")]}),(0,e.jsx)(i.Ke,{children:(0,e.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueCache.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueCache.fix")})]}),(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueEnv.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueEnv.fix")})]}),(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueCheckin.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueCheckin.fix")})]})]})})]})]}),(0,e.jsxs)(h.av,{value:"openclaw",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:"openclaw plugins install @chorus-aidlc/chorus-openclaw-plugin"})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step2Title")}),(0,e.jsx)(k.N,{language:"json",code:`{
6
+ "hooks": { "enabled": true, "token": "<your-token>" },
7
+ "plugins": {
8
+ "enabled": true,
9
+ "entries": {
10
+ "chorus-openclaw-plugin": {
11
+ "enabled": true,
12
+ "config": {
13
+ "chorusUrl": "",
14
+ "apiKey": "${c}",
15
+ "autoStart": true
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }`})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step3Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.openClaw.step3Desc")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step4Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.openClaw.step4Desc")}),(0,e.jsx)(k.N,{code:"/chorus status"})]}),(0,e.jsxs)(i.Nt,{children:[(0,e.jsxs)(i.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,e.jsx)(j.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),b("install.openClaw.troubleshootingTitle")]}),(0,e.jsx)(i.Ke,{children:(0,e.jsxs)("div",{className:"mt-2 rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.openClaw.troubleshootingError")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.openClaw.troubleshootingFix")})]})})]})]}),(0,e.jsxs)(h.av,{value:"other",className:"mt-4 space-y-4",children:[(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.other.description")}),(0,e.jsx)(k.N,{code:`Please install and configure the Chorus AI-DLC collaboration platform.
21
+
22
+ Chorus URL:
23
+ API Key: ${c}
24
+
25
+ Read the setup instructions from:
26
+ /skill/chorus/SKILL.md
27
+
28
+ Follow the "Setup" section to configure the MCP server,
29
+ then call chorus_checkin() to verify the connection.`})]})]})})})}k=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})},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"]}},55601:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f:()=>i,t:()=>h});var e=c(83457),f=c(90064),g=a([e]);let h={code:(e=(g.then?(await g)():g)[0]).a,mermaid:f.a},i={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};d()}catch(a){d(a)}})},67328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(10837),f=c(21968),g=c(9222),h=c(42424),i=c(9810),j=c(10694),k=c(54722),l=c(91484),m=c(27882),n=a([m]);function o({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:d=!1,submitLabel:n,submittingLabel:o}){let p=(0,g.c)(),[q,r]=(0,f.useState)(""),[s,t]=(0,f.useState)("admin_agent"),[u,v]=(0,f.useState)(["admin_agent"]),[w,x]=(0,f.useState)([]),[y,z]=(0,f.useState)(""),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(!1),G=async c=>{if((c.preventDefault(),q)&&("custom"!==s||0!==w.length)){B(!0);try{let c=await b({name:q,roles:u,permissions:"custom"===s?w:[],persona:y||null});c.success&&c.key?(d||D(c.key),a({uuid:c.agentUuid||"",name:q,roles:u,permissions:"custom"===s?w:[]},c.key)):k.q.error("Failed to create API key:",c.error)}catch(a){k.q.error("Failed to create API key:",a)}finally{B(!1)}}},H=async a=>{try{await navigator.clipboard.writeText(a),F(!0),setTimeout(()=>F(!1),2e3)}catch(a){k.q.error("Failed to copy to clipboard:",a)}},I=()=>{r(""),t("admin_agent"),v(["admin_agent"]),x([]),z(""),D(null),c?.()};return C&&!d?(0,e.jsxs)("div",{className:"p-6",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,e.jsx)(i.A,{className:"h-5 w-5"}),(0,e.jsx)("span",{className:"font-medium",children:p("settings.apiKeyCreated")})]}),(0,e.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:p("settings.apiKeyCreatedDesc")}),(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,e.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:C}),(0,e.jsx)(h.$,{variant:"outline",size:"sm",onClick:()=>H(C),children:p(E?"common.copied":"common.copy")})]}),(0,e.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:p("settings.installGuideIntro")}),(0,e.jsx)("div",{className:"mb-4",children:(0,e.jsx)(m.Z,{apiKey:C})}),(0,e.jsx)(h.$,{onClick:I,className:"w-full",children:p("common.done")})]}):(0,e.jsxs)("form",{onSubmit:G,children:[!d&&(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,e.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:p("settings.createApiKey")}),c&&(0,e.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:I,className:"h-8 w-8",children:(0,e.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,e.jsx)("div",{className:d?void 0:"p-6",children:(0,e.jsx)(l.L,{name:q,onNameChange:r,preset:s,permissions:w,onPermissionsChange:function(a){t(a.preset),v(a.roles),x(a.permissions)},persona:y,onPersonaChange:z,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,e.jsxs)("div",{className:d?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!d&&c&&(0,e.jsx)(h.$,{type:"button",variant:"outline",onClick:I,children:p("common.cancel")}),(0,e.jsx)(h.$,{type:"submit",disabled:!q||"custom"===s&&0===w.length||A,className:d?"w-full":void 0,size:d?"lg":"default",children:A?o??p("settings.creating"):n??p("settings.createApiKey")})]})]})}m=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},70952:(a,b,c)=>{c.r(b),c.d(b,{Collapsible:()=>s,CollapsibleContent:()=>w,CollapsibleTrigger:()=>u,Content:()=>B,Root:()=>z,Trigger:()=>A,createCollapsibleScope:()=>p});var d=c(21968),e=c(22546),f=c(42990),g=c(15035),h=c(35439),i=c(96090),j=c(16551),k=c(5030),l=c(22243),m=c(10837),n="Collapsible",[o,p]=(0,f.A)(n),[q,r]=o(n),s=d.forwardRef((a,b)=>{let{__scopeCollapsible:c,open:e,defaultOpen:f,disabled:h,onOpenChange:i,...k}=a,[o,p]=(0,g.i)({prop:e,defaultProp:f??!1,onChange:i,caller:n});return(0,m.jsx)(q,{scope:c,disabled:h,contentId:(0,l.B)(),open:o,onOpenToggle:d.useCallback(()=>p(a=>!a),[p]),children:(0,m.jsx)(j.sG.div,{"data-state":y(o),"data-disabled":h?"":void 0,...k,ref:b})})});s.displayName=n;var t="CollapsibleTrigger",u=d.forwardRef((a,b)=>{let{__scopeCollapsible:c,...d}=a,f=r(t,c);return(0,m.jsx)(j.sG.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":y(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...d,ref:b,onClick:(0,e.mK)(a.onClick,f.onOpenToggle)})});u.displayName=t;var v="CollapsibleContent",w=d.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=r(v,a.__scopeCollapsible);return(0,m.jsx)(k.C,{present:c||e.open,children:({present:a})=>(0,m.jsx)(x,{...d,ref:b,present:a})})});w.displayName=v;var x=d.forwardRef((a,b)=>{let{__scopeCollapsible:c,present:e,children:f,...g}=a,k=r(v,c),[l,n]=d.useState(e),o=d.useRef(null),p=(0,i.s)(b,o),q=d.useRef(0),s=q.current,t=d.useRef(0),u=t.current,w=k.open||l,x=d.useRef(w),z=d.useRef(void 0);return d.useEffect(()=>{let a=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,h.N)(()=>{let a=o.current;if(a){z.current=z.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();q.current=b.height,t.current=b.width,x.current||(a.style.transitionDuration=z.current.transitionDuration,a.style.animationName=z.current.animationName),n(e)}},[k.open,e]),(0,m.jsx)(j.sG.div,{"data-state":y(k.open),"data-disabled":k.disabled?"":void 0,id:k.contentId,hidden:!w,...g,ref:p,style:{"--radix-collapsible-content-height":s?`${s}px`:void 0,"--radix-collapsible-content-width":u?`${u}px`:void 0,...a.style},children:w&&f})});function y(a){return a?"open":"closed"}var z=s,A=u,B=w},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")},82658:(a,b,c)=>{c.d(b,{Ke:()=>i,Nt:()=>g,R6:()=>h});var d=c(10837),e=c(70952),f=c(96307);function g({...a}){return(0,d.jsx)(e.Root,{"data-slot":"collapsible",...a})}function h({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"collapsible-trigger",...a})}function i({className:a,...b}){return(0,d.jsx)(e.Content,{"data-slot":"collapsible-content",className:(0,f.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",a),...b})}},86700:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>h});var e=c(10837),f=c(97450),g=a([f]);function h({code:a,language:b}){let c=`\`\`\`${b||""}
30
+ ${a}
31
+ \`\`\``;return(0,e.jsx)(f.MarkdownContent,{children:c})}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},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")})]})]})}},97450:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{MarkdownContent:()=>j});var e=c(10837),f=c(21968),g=c(91420),h=c(55601),i=a([h]);function j({children:a}){let b=function(){let[a,b]=(0,f.useState)(!1);return a}(),c=(0,f.useMemo)(()=>({config:{theme:b?"dark":"default"}}),[b]);return(0,e.jsx)(g.jH,{plugins:h.t,controls:h.f,mermaid:c,children:a},b?"dark":"light")}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})}};