@chorus-aidlc/chorus 0.9.3 → 0.10.0

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 (463) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +348 -395
  3. package/.next/standalone/.next/app-path-routes-manifest.json +29 -30
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +42 -42
  6. package/.next/standalone/.next/routes-manifest.json +8 -17
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +3 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
  44. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  48. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  49. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
  53. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies.rsc +3 -3
  56. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin.html +1 -1
  58. package/.next/standalone/.next/server/app/admin.rsc +3 -3
  59. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/check-default/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -0
  90. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -0
  91. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -0
  92. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  96. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/index.html +1 -1
  139. package/.next/standalone/.next/server/app/index.rsc +2 -2
  140. package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
  141. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  143. package/.next/standalone/.next/server/app/login/admin.rsc +3 -3
  144. package/.next/standalone/.next/server/app/login/callback/page.js +1 -1
  145. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  147. package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
  148. package/.next/standalone/.next/server/app/login/page.js +2 -2
  149. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
  151. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  153. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +3 -3
  154. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  156. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  157. package/.next/standalone/.next/server/app/login.html +1 -1
  158. package/.next/standalone/.next/server/app/login.rsc +3 -3
  159. package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
  160. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  163. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  164. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/projects.html +1 -1
  166. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  167. package/.next/standalone/.next/server/app/settings.html +1 -1
  168. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  169. package/.next/standalone/.next/server/app-paths-manifest.json +29 -30
  170. package/.next/standalone/.next/server/chunks/1615.js +31 -0
  171. package/.next/standalone/.next/server/chunks/{3611.js → 179.js} +1 -1
  172. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  173. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  174. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  175. package/.next/standalone/.next/server/chunks/4879.js +1 -0
  176. package/.next/standalone/.next/server/chunks/4913.js +1 -0
  177. package/.next/standalone/.next/server/chunks/4958.js +1 -1
  178. package/.next/standalone/.next/server/chunks/5561.js +7 -0
  179. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  180. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  181. package/.next/standalone/.next/server/chunks/6643.js +1 -1
  182. package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
  183. package/.next/standalone/.next/server/chunks/7228.js +1 -1
  184. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  185. package/.next/standalone/.next/server/chunks/7859.js +1 -0
  186. package/.next/standalone/.next/server/chunks/8277.js +1 -0
  187. package/.next/standalone/.next/server/chunks/8551.js +1 -1
  188. package/.next/standalone/.next/server/chunks/8637.js +1 -1
  189. package/.next/standalone/.next/server/chunks/920.js +1 -1
  190. package/.next/standalone/.next/server/chunks/9269.js +1 -0
  191. package/.next/standalone/.next/server/chunks/937.js +1 -1
  192. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  193. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  194. package/.next/standalone/.next/server/pages/404.html +1 -1
  195. package/.next/standalone/.next/server/pages/500.html +1 -1
  196. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  198. package/.next/standalone/.next/server/src/middleware.js +2 -2
  199. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
  200. package/.next/standalone/.next/static/chunks/20051-c242544dafd3a690.js +1 -0
  201. package/.next/standalone/.next/static/chunks/23095-5bf481236249fdd8.js +1 -0
  202. package/.next/standalone/.next/static/chunks/45436-c5427023f3f386a1.js +1 -0
  203. package/.next/standalone/.next/static/chunks/4860.e071c0b9e32bd75f.js +1 -0
  204. package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +1 -0
  205. package/.next/standalone/.next/static/chunks/52206-7c1b0c695c8035eb.js +1 -0
  206. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
  207. package/.next/standalone/.next/static/chunks/59296-50e66102d44d9677.js +1 -0
  208. package/.next/standalone/.next/static/chunks/60524-9811b38c62fed16e.js +1 -0
  209. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
  210. package/.next/standalone/.next/static/chunks/68855-5c15991e7cf8dc8a.js +1 -0
  211. package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/74030-3a6a6b75e47f5b96.js +1 -0
  213. package/.next/standalone/.next/static/chunks/78917-ff0fda86a96cfa60.js +1 -0
  214. package/.next/standalone/.next/static/chunks/93346-5489d90bc2d57190.js +1 -0
  215. package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
  216. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
  217. package/.next/standalone/.next/static/chunks/99373.4c336ea9ad07311e.js +1 -0
  218. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-5915ccd1a77ebcf8.js +1 -0
  219. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-94d102d945410b55.js +1 -0
  220. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-cd9411c54c8f5b35.js +1 -0
  221. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-56c45b910f914895.js +1 -0
  222. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
  224. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-d7747749ae6192d8.js +1 -0
  225. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-26488809d26e1daa.js +1 -0
  226. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
  227. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-fcc9baa42e6de4d4.js +1 -0
  228. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-5233748464280e9d.js +1 -0
  229. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-c36345b80cc5bf5c.js → page-f198303c176c6e02.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
  231. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-cc2fe0c5b749cd2f.js +1 -0
  232. package/.next/standalone/.next/static/chunks/app/admin/companies/new/{page-55fb2107f955c9ed.js → page-4f3b3c449c61f6d2.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +1 -0
  234. package/.next/standalone/.next/static/chunks/app/admin/page-0cc8cf246db43e5d.js +1 -0
  235. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  236. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-cd9411c54c8f5b35.js +1 -0
  237. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-cd9411c54c8f5b35.js +1 -0
  238. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-cd9411c54c8f5b35.js +1 -0
  239. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/api/agents/route-cd9411c54c8f5b35.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-cd9411c54c8f5b35.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-cd9411c54c8f5b35.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-cd9411c54c8f5b35.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-cd9411c54c8f5b35.js +1 -0
  247. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-cd9411c54c8f5b35.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-cd9411c54c8f5b35.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-cd9411c54c8f5b35.js +1 -0
  250. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-cd9411c54c8f5b35.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-cd9411c54c8f5b35.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-cd9411c54c8f5b35.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-cd9411c54c8f5b35.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/api/comments/route-cd9411c54c8f5b35.js +1 -0
  255. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-cd9411c54c8f5b35.js +1 -0
  257. package/.next/standalone/.next/static/chunks/app/api/events/route-cd9411c54c8f5b35.js +1 -0
  258. package/.next/standalone/.next/static/chunks/app/api/health/route-cd9411c54c8f5b35.js +1 -0
  259. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-cd9411c54c8f5b35.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-cd9411c54c8f5b35.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-cd9411c54c8f5b35.js +1 -0
  263. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
  264. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  265. package/.next/standalone/.next/static/chunks/app/api/mcp/route-cd9411c54c8f5b35.js +1 -0
  266. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-cd9411c54c8f5b35.js +1 -0
  267. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-cd9411c54c8f5b35.js +1 -0
  268. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-cd9411c54c8f5b35.js +1 -0
  269. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-cd9411c54c8f5b35.js +1 -0
  270. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-cd9411c54c8f5b35.js +1 -0
  271. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-cd9411c54c8f5b35.js +1 -0
  272. package/.next/standalone/.next/static/chunks/app/api/notifications/route-cd9411c54c8f5b35.js +1 -0
  273. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-cd9411c54c8f5b35.js +1 -0
  274. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-cd9411c54c8f5b35.js +1 -0
  275. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  276. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-cd9411c54c8f5b35.js +1 -0
  277. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-cd9411c54c8f5b35.js +1 -0
  278. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-cd9411c54c8f5b35.js +1 -0
  279. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-cd9411c54c8f5b35.js +1 -0
  280. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-cd9411c54c8f5b35.js +1 -0
  281. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-cd9411c54c8f5b35.js +1 -0
  282. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-cd9411c54c8f5b35.js +1 -0
  283. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-cd9411c54c8f5b35.js +1 -0
  284. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-cd9411c54c8f5b35.js +1 -0
  285. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-cd9411c54c8f5b35.js +1 -0
  286. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  287. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-cd9411c54c8f5b35.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-cd9411c54c8f5b35.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-cd9411c54c8f5b35.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/api/projects/route-cd9411c54c8f5b35.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-cd9411c54c8f5b35.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-cd9411c54c8f5b35.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-cd9411c54c8f5b35.js +1 -0
  294. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-cd9411c54c8f5b35.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/api/search/route-cd9411c54c8f5b35.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-cd9411c54c8f5b35.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-cd9411c54c8f5b35.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/login/admin/page-d470135f7aab6c5e.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/login/callback/{page-48a34c31a0f8e58c.js → page-0edd93f50cb4f6ea.js} +1 -1
  306. package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-e0444ad8b50121f5.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/onboarding/page-d9dbd817391b462b.js +1 -0
  309. package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-5bb5740df10ed622.js} +1 -1
  310. package/.next/standalone/.next/static/css/4279f38594ac772a.css +1 -0
  311. package/.next/standalone/package.json +1 -1
  312. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  313. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +7 -7
  314. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
  315. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  316. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +48 -34
  317. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  318. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  319. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  320. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  321. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +8 -5
  322. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
  323. package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
  324. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  325. package/.next/standalone/public/skill/idea-chorus/SKILL.md +48 -34
  326. package/.next/standalone/public/skill/package.json +1 -1
  327. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  328. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  329. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  330. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  331. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  332. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +7 -5
  333. package/README.md +2 -0
  334. package/README.zh.md +2 -0
  335. package/package.json +1 -1
  336. package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
  337. package/prisma/migrations/20260611101056_add_idea_lineage/migration.sql +5 -0
  338. package/prisma/schema.prisma +7 -1
  339. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +0 -2
  340. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +0 -1
  341. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +0 -1
  342. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +0 -2
  343. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +0 -1
  344. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +0 -1
  345. package/.next/standalone/.next/server/chunks/1854.js +0 -7
  346. package/.next/standalone/.next/server/chunks/2990.js +0 -1
  347. package/.next/standalone/.next/server/chunks/3139.js +0 -1
  348. package/.next/standalone/.next/server/chunks/3576.js +0 -1
  349. package/.next/standalone/.next/server/chunks/4974.js +0 -1
  350. package/.next/standalone/.next/server/chunks/5491.js +0 -1
  351. package/.next/standalone/.next/server/chunks/6878.js +0 -1
  352. package/.next/standalone/.next/server/chunks/7621.js +0 -1
  353. package/.next/standalone/.next/server/chunks/8144.js +0 -1
  354. package/.next/standalone/.next/server/chunks/9508.js +0 -2
  355. package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +0 -1
  356. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
  357. package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
  358. package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
  359. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
  360. package/.next/standalone/.next/static/chunks/37880-4395be5cee4112fa.js +0 -1
  361. package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +0 -1
  362. package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
  363. package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +0 -1
  364. package/.next/standalone/.next/static/chunks/4860.60152a625f2a714f.js +0 -1
  365. package/.next/standalone/.next/static/chunks/51841-0e4e0e63b437dcfd.js +0 -1
  366. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
  367. package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
  368. package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +0 -1
  369. package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
  370. package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
  371. package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +0 -1
  372. package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +0 -1
  373. package/.next/standalone/.next/static/chunks/99373.4d93aaaf56fe7819.js +0 -1
  374. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-dd7eb66bb4ffd252.js +0 -1
  375. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-63a6a5b6cf9ecf87.js +0 -1
  376. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-99297f77cce24151.js +0 -1
  377. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-6d92b9867caf0fe1.js +0 -1
  378. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
  379. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
  380. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
  381. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
  382. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-414b398806324ad1.js +0 -1
  383. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
  384. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
  385. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
  386. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-81682b4aa6859615.js +0 -1
  387. package/.next/standalone/.next/static/chunks/app/admin/companies/page-bbd92a7b214ddbf5.js +0 -1
  388. package/.next/standalone/.next/static/chunks/app/admin/page-c4167418611b4a6b.js +0 -1
  389. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-99297f77cce24151.js +0 -1
  390. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-99297f77cce24151.js +0 -1
  391. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-99297f77cce24151.js +0 -1
  392. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-99297f77cce24151.js +0 -1
  393. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-99297f77cce24151.js +0 -1
  394. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  395. package/.next/standalone/.next/static/chunks/app/api/agents/route-99297f77cce24151.js +0 -1
  396. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-99297f77cce24151.js +0 -1
  397. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-99297f77cce24151.js +0 -1
  398. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-99297f77cce24151.js +0 -1
  399. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-99297f77cce24151.js +0 -1
  400. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-99297f77cce24151.js +0 -1
  401. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-99297f77cce24151.js +0 -1
  402. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-99297f77cce24151.js +0 -1
  403. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-99297f77cce24151.js +0 -1
  404. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-99297f77cce24151.js +0 -1
  405. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-99297f77cce24151.js +0 -1
  406. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-99297f77cce24151.js +0 -1
  407. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-99297f77cce24151.js +0 -1
  408. package/.next/standalone/.next/static/chunks/app/api/comments/route-99297f77cce24151.js +0 -1
  409. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-99297f77cce24151.js +0 -1
  410. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-99297f77cce24151.js +0 -1
  411. package/.next/standalone/.next/static/chunks/app/api/events/route-99297f77cce24151.js +0 -1
  412. package/.next/standalone/.next/static/chunks/app/api/health/route-99297f77cce24151.js +0 -1
  413. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-99297f77cce24151.js +0 -1
  414. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-99297f77cce24151.js +0 -1
  415. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-99297f77cce24151.js +0 -1
  416. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-99297f77cce24151.js +0 -1
  417. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-99297f77cce24151.js +0 -1
  418. package/.next/standalone/.next/static/chunks/app/api/mcp/route-99297f77cce24151.js +0 -1
  419. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-99297f77cce24151.js +0 -1
  420. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-99297f77cce24151.js +0 -1
  421. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-99297f77cce24151.js +0 -1
  422. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-99297f77cce24151.js +0 -1
  423. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-99297f77cce24151.js +0 -1
  424. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-99297f77cce24151.js +0 -1
  425. package/.next/standalone/.next/static/chunks/app/api/notifications/route-99297f77cce24151.js +0 -1
  426. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-99297f77cce24151.js +0 -1
  427. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-99297f77cce24151.js +0 -1
  428. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-99297f77cce24151.js +0 -1
  429. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-99297f77cce24151.js +0 -1
  430. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-99297f77cce24151.js +0 -1
  431. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-99297f77cce24151.js +0 -1
  432. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-99297f77cce24151.js +0 -1
  433. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-99297f77cce24151.js +0 -1
  434. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-99297f77cce24151.js +0 -1
  435. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-99297f77cce24151.js +0 -1
  436. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-99297f77cce24151.js +0 -1
  437. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-99297f77cce24151.js +0 -1
  438. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-99297f77cce24151.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-99297f77cce24151.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-99297f77cce24151.js +0 -1
  441. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-99297f77cce24151.js +0 -1
  442. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-99297f77cce24151.js +0 -1
  443. package/.next/standalone/.next/static/chunks/app/api/projects/route-99297f77cce24151.js +0 -1
  444. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-99297f77cce24151.js +0 -1
  445. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-99297f77cce24151.js +0 -1
  446. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-99297f77cce24151.js +0 -1
  447. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-99297f77cce24151.js +0 -1
  448. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-99297f77cce24151.js +0 -1
  449. package/.next/standalone/.next/static/chunks/app/api/search/route-99297f77cce24151.js +0 -1
  450. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-99297f77cce24151.js +0 -1
  451. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-99297f77cce24151.js +0 -1
  452. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-99297f77cce24151.js +0 -1
  453. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-99297f77cce24151.js +0 -1
  454. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-99297f77cce24151.js +0 -1
  455. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-99297f77cce24151.js +0 -1
  456. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  457. package/.next/standalone/.next/static/chunks/app/login/admin/page-4e72e6e4327ee7cd.js +0 -1
  458. package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +0 -1
  459. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +0 -1
  460. package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
  461. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
  462. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → AKJHlhCKd44_-khht8nN0}/_buildManifest.js +0 -0
  463. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → AKJHlhCKd44_-khht8nN0}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","completed":"已完成","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","elaborationRequiredHint":"完成或跳过需求澄清后才能创建方案","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节..."},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"}}')}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[49852],{5425:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},10263:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},17730:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},23217:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},25373:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},29767:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},38476:(e,t,a)=>{a.r(t),a.d(t,{Collapsible:()=>x,CollapsibleContent:()=>w,CollapsibleTrigger:()=>b,Content:()=>j,Root:()=>M,Trigger:()=>N,createCollapsibleScope:()=>y});var r=a(1856),n=a(33328),l=a(21032),o=a(66249),i=a(99457),d=a(34124),s=a(93367),u=a(19900),p=a(40577),c=a(90508),f="Collapsible",[h,y]=(0,l.A)(f),[m,v]=h(f),x=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,open:n,defaultOpen:l,disabled:i,onOpenChange:d,...u}=e,[h,y]=(0,o.i)({prop:n,defaultProp:null!=l&&l,onChange:d,caller:f});return(0,c.jsx)(m,{scope:a,disabled:i,contentId:(0,p.B)(),open:h,onOpenToggle:r.useCallback(()=>y(e=>!e),[y]),children:(0,c.jsx)(s.sG.div,{"data-state":C(h),"data-disabled":i?"":void 0,...u,ref:t})})});x.displayName=f;var g="CollapsibleTrigger",b=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,...r}=e,l=v(g,a);return(0,c.jsx)(s.sG.button,{type:"button","aria-controls":l.contentId,"aria-expanded":l.open||!1,"data-state":C(l.open),"data-disabled":l.disabled?"":void 0,disabled:l.disabled,...r,ref:t,onClick:(0,n.mK)(e.onClick,l.onOpenToggle)})});b.displayName=g;var k="CollapsibleContent",w=r.forwardRef((e,t)=>{let{forceMount:a,...r}=e,n=v(k,e.__scopeCollapsible);return(0,c.jsx)(u.C,{present:a||n.open,children:e=>{let{present:a}=e;return(0,c.jsx)(A,{...r,ref:t,present:a})}})});w.displayName=k;var A=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,present:n,children:l,...o}=e,u=v(k,a),[p,f]=r.useState(n),h=r.useRef(null),y=(0,d.s)(t,h),m=r.useRef(0),x=m.current,g=r.useRef(0),b=g.current,w=u.open||p,A=r.useRef(w),M=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>A.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.N)(()=>{let e=h.current;if(e){M.current=M.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();m.current=t.height,g.current=t.width,A.current||(e.style.transitionDuration=M.current.transitionDuration,e.style.animationName=M.current.animationName),f(n)}},[u.open,n]),(0,c.jsx)(s.sG.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...o,ref:y,style:{"--radix-collapsible-content-height":x?"".concat(x,"px"):void 0,"--radix-collapsible-content-width":b?"".concat(b,"px"):void 0,...e.style},children:w&&l})});function C(e){return e?"open":"closed"}var M=x,N=b,j=w},38931:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},51581:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]])},55764:(e,t,a)=>{a.d(t,{C1:()=>b,bL:()=>g});var r=a(1856),n=a(90508),l=a(81597),o="Progress",[i,d]=function(e,t=[]){let a=[],l=()=>{let t=a.map(e=>r.createContext(e));return function(a){let n=a?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...a,[e]:n}}),[a,n])}};return l.scopeName=e,[function(t,l){let o=r.createContext(l);o.displayName=t+"Context";let i=a.length;a=[...a,l];let d=t=>{let{scope:a,children:l,...d}=t,s=a?.[e]?.[i]||o,u=r.useMemo(()=>d,Object.values(d));return(0,n.jsx)(s.Provider,{value:u,children:l})};return d.displayName=t+"Provider",[d,function(a,n){let d=n?.[e]?.[i]||o,s=r.useContext(d);if(s)return s;if(void 0!==l)return l;throw Error(`\`${a}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let a=()=>{let a=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=a.reduce((t,{useScope:a,scopeName:r})=>{let n=a(e)[`__scope${r}`];return{...t,...n}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return a.scopeName=t.scopeName,a}(l,...t)]}(o),[s,u]=i(o),p=r.forwardRef((e,t)=>{var a,r,o,i;let{__scopeProgress:d,value:u=null,max:p,getValueLabel:c=h,...f}=e;(p||0===p)&&!v(p)&&console.error((a="".concat(p),r="Progress","Invalid prop `max` of value `".concat(a,"` supplied to `").concat(r,"`. Only numbers greater than 0 are valid max values. Defaulting to `").concat(100,"`.")));let g=v(p)?p:100;null===u||x(u,g)||console.error((o="".concat(u),i="Progress","Invalid prop `value` of value `".concat(o,"` supplied to `").concat(i,"`. The `value` prop must be:\n - a positive number\n - less than the value passed to `max` (or ").concat(100," if no `max` prop is set)\n - `null` or `undefined` if the progress is indeterminate.\n\nDefaulting to `null`.")));let b=x(u,g)?u:null,k=m(b)?c(b,g):void 0;return(0,n.jsx)(s,{scope:d,value:b,max:g,children:(0,n.jsx)(l.sG.div,{"aria-valuemax":g,"aria-valuemin":0,"aria-valuenow":m(b)?b:void 0,"aria-valuetext":k,role:"progressbar","data-state":y(b,g),"data-value":null!=b?b:void 0,"data-max":g,...f,ref:t})})});p.displayName=o;var c="ProgressIndicator",f=r.forwardRef((e,t)=>{var a;let{__scopeProgress:r,...o}=e,i=u(c,r);return(0,n.jsx)(l.sG.div,{"data-state":y(i.value,i.max),"data-value":null!=(a=i.value)?a:void 0,"data-max":i.max,...o,ref:t})});function h(e,t){return"".concat(Math.round(e/t*100),"%")}function y(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function m(e){return"number"==typeof e}function v(e){return m(e)&&!isNaN(e)&&e>0}function x(e,t){return m(e)&&!isNaN(e)&&e<=t&&e>=0}f.displayName=c;var g=p,b=f},56770:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},62898:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},81597:(e,t,a)=>{a.d(t,{sG:()=>c});var r=a(1856),n=a.t(r,2);a(38129);var l=a(34124),o=a(90508),i=Symbol.for("react.lazy"),d=n[" use ".trim().toString()];function s(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var u=Symbol("radix.slottable");function p(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u}var c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let a=function(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:a,...n}=e;if(s(a)&&"function"==typeof d&&(a=d(a._payload)),r.isValidElement(a)){var o;let e,i,d=(o=a,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let a={...t};for(let r in t){let n=e[r],l=t[r];/^on[A-Z]/.test(r)?n&&l?a[r]=(...e)=>{let t=l(...e);return n(...e),t}:n&&(a[r]=n):"style"===r?a[r]={...n,...l}:"className"===r&&(a[r]=[n,l].filter(Boolean).join(" "))}return{...e,...a}}(n,a.props);return a.type!==r.Fragment&&(s.ref=t?(0,l.t)(t,d):d),r.cloneElement(a,s)}return r.Children.count(a)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),a=r.forwardRef((e,a)=>{let{children:n,...l}=e;s(n)&&"function"==typeof d&&(n=d(n._payload));let i=r.Children.toArray(n),u=i.find(p);if(u){let e=u.props.children,n=i.map(t=>t!==u?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...l,ref:a,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,o.jsx)(t,{...l,ref:a,children:n})});return a.displayName=`${e}.Slot`,a}(`Primitive.${t}`),n=r.forwardRef((e,r)=>{let{asChild:n,...l}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(n?a:t,{...l,ref:r})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{})},88634:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},95900:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52206,59296],{5810:(e,t,n)=>{n.d(t,{$:()=>U});var r=n(90508),a=n(1856),o=n(39268),l=n(94903),s=n(85226),i=n(95886),c=n(36755),d=n(5425),u=n(22922),m=n(73693),f=n(42242),p=n(85783),x=n(99783),h=n(24377),g=n(42305);let v=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})}}}});function y(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;return e?"@[".concat(e.label||e.id,"](").concat(e.mentionType||"user",":").concat(e.id,")"):""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let n=t.content;return n?n.map(e).join(""):""})(e)).join("\n"):""}function b(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],a=0,o=RegExp(t.source,"g");for(;null!==(n=o.exec(e));)n.index>a&&r.push({type:"text",text:e.slice(a,n.index)}),r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2]}}),a=n.index+n[0].length;return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function w(e,t,n,r,a){if(a.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",a.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let l=0,s=e=>{n({id:e.uuid,label:e.name,mentionType:e.type})},i=()=>{o.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===l?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),r.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>';let a=document.createElement("div");a.className="min-w-0 flex-1";let i=document.createElement("div");if(i.className="truncate text-xs font-medium",i.textContent=e.name,a.appendChild(i),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,a.appendChild(t)}if("agent"===e.type&&e.roles&&e.roles.length>0){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.roles.join(", "),a.appendChild(t)}n.appendChild(r),n.appendChild(a),o.appendChild(n)})};i(),a.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,g.P)(n)&&("ArrowUp"===n.key?(l=l<=0?e.length-1:l-1,i(),!0):"ArrowDown"===n.key?(l=l>=e.length-1?0:l+1,i(),!0):"Enter"===n.key?(e[l]&&s(e[l]),!0):"Escape"===n.key)}}}let j=(0,a.forwardRef)((e,t)=>{let{value:n,onChange:o,placeholder:l,className:s,disabled:i,onSubmit:c}=e,d=(0,a.useRef)([]),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),x=(0,a.useRef)(null),j=(0,a.useRef)(null),N=(0,a.useRef)(null),[,E]=(0,a.useState)(0),C=(0,a.useRef)(!1),A=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let o=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}((0,a.useCallback)(async e=>{u.current=!0,E(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10"));if(t.ok){let e=await t.json();e.success&&(d.current=e.data)}}catch(e){d.current=[]}finally{u.current=!1,E(e=>e+1)}},[]),250);(0,a.useEffect)(()=>{j.current&&N.current&&w(d.current,u.current,N.current,m,j.current)});let k=(0,f.hG)({immediatelyRender:!1,extensions:[p.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),v.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return A(t),d.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",j.current=n,N.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=x.current)?t:document.body).appendChild(n),w(d.current,u.current,e.command,m,n)},onUpdate:e=>{if(N.current=e.command,j.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(j.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(j.current.style.top="",j.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(j.current.style.bottom="",j.current.style.top="".concat(t.bottom+4,"px")))}j.current&&w(d.current,u.current,e.command,m,j.current)},onKeyDown:e=>!!m.current&&m.current.onKeyDown(e),onExit:()=>{var e;null==(e=j.current)||e.remove(),j.current=null,N.current=null,d.current=[],u.current=!1}})}})],content:b(n),editable:!i,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":l||""},handleKeyDown:(e,t)=>!(0,g.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!j.current&&!!c&&(t.preventDefault(),c(),!0)},onUpdate:e=>{let{editor:t}=e;C.current=!0,o(y(t))}});return(0,a.useEffect)(()=>{if(!k||C.current){C.current=!1;return}y(k)!==n&&k.commands.setContent(b(n))},[n,k]),(0,a.useEffect)(()=>{k&&k.setEditable(!i)},[i,k]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==k?void 0:k.commands.focus(),clear:()=>{null==k||k.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:x,className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",i&&"cursor-not-allowed opacity-50",s),children:[(0,r.jsx)(f.$Z,{editor:k}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});j.displayName="MentionEditor";var N=n(75024),E=n(52217);let C=(0,E.createServerReference)("7030e5bddb8203c1a4309d65deac0510675de0ade6",E.callServer,void 0,E.findSourceMapURL,"createCommentAction");var A=n(97261);let k=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g,T=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g;function z(e){let{children:t}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(k.source).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{children:t})});let{processed:n,mentions:a}=function(e){let t=[],n=RegExp(k.source,"g");return{processed:e.replace(n,(e,n,r,a)=>{let o=t.length;return t.push({displayName:n,type:r,uuid:a}),"".concat("​​MENTION_").concat(o).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(R,{mentions:a,children:(0,r.jsx)(A.MarkdownContent,{children:n})})}function R(e){let{children:t,mentions:n}=e,o=a.useRef(null);return a.useEffect(()=>{let e;if(!o.current||0===n.length)return;let t=document.createTreeWalker(o.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)T.test(e.textContent||"")&&r.push(e),T.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",o=document.createDocumentFragment(),l=0,s=RegExp(T.source,"g");for(;null!==(t=s.exec(r));){t.index>l&&o.appendChild(document.createTextNode(r.slice(l,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),o.appendChild(t)}else o.appendChild(document.createTextNode(t[0]));l=t.index+t[0].length}l<r.length&&o.appendChild(document.createTextNode(r.slice(l))),null==(a=e.parentNode)||a.replaceChild(o,e)}},[n]),(0,r.jsx)("div",{ref:o,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var S=n(63964),_=n(96213),D=n(30423),M=n(38106),B=n(67587);function U(e){let{targetType:t,targetUuid:n,currentUserUuid:d,onCountChange:f,compact:p=!1}=e,x=(0,o.c)(),[h,g]=(0,a.useState)(""),[v,y]=(0,a.useState)([]),[b,w]=(0,a.useState)(!0),[E,A]=(0,a.useState)(null),[k,T]=(0,a.useState)(!1),z=(0,a.useRef)(null),R=p?"h-6 w-6":"h-[30px] w-[30px]",D=p?"gap-2":"gap-2.5",M=p?"h-3 w-3":"h-[15px] w-[15px]";(0,a.useEffect)(()=>{null==f||f(v.length)},[v.length,f]);let U=(0,a.useCallback)(async()=>{w(!0),A(null);let e=await (0,N.d)(t,n);e.success?y(e.comments):A(e.error),w(!1)},[t,n]);(0,a.useEffect)(()=>{U()},[U]),(0,S.w0)(t,n,e=>{d&&e.actorUuid===d||(0,N.d)(t,n).then(e=>{e.success&&y(e.comments)})});let L=async()=>{if(!h.trim()||k)return;T(!0);let e=await C(t,n,h);if(T(!1),e.success){var r;y(t=>[...t,e.comment]),g(""),null==(r=z.current)||r.clear()}else B.oR.error(e.error)},H=[...v].reverse();return(0,r.jsx)(_.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(D," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(p?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(l.A,{className:"".concat(p?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(j,{ref:z,value:h,onChange:g,onSubmit:L,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:k})}),(0,r.jsx)(u.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:L,children:k?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(s.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):E?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:U,children:x("comments.retry")})]}):0===H.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):H.map(e=>(0,r.jsx)(F,{comment:e,compact:p,avatarSize:R,gap:D,iconSize:M,t:x},e.uuid))})]})})}function F(e){let{comment:t,compact:n,avatarSize:o,gap:l,iconSize:s,t:i}=e,[c,f]=(0,a.useState)(!1),p="agent"===t.author.type,x=p?(0,D.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(l," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(o," shrink-0"),children:(0,r.jsx)(m.q5,{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:p?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:p?(0,r.jsx)(d.A,{className:s}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(p?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(p?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/6e4),o=Math.floor(r/36e5),l=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):o<24?t("time.hoursAgo",{hours:o}):l<7?t("time.daysAgo",{days:l}):(0,M.r)(n)}(t.createdAt,i)})]}),p&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:i("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content.slice(0,200)+"..."}),(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content}),h&&(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},22922:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(90508);n(1856);var a=n(49499),o=n(54154),l=n(24377);let s=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:n="default",size:a="default",asChild:i=!1,...c}=e,d=i?o.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,l.cn)(s({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(o,":").concat(l)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let o=new Map,l=new Map,s=new Map,i=new Set,c=0;function d(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){c++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=d(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,a){let o=d(e,t,r,a);return"".concat(o,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),c=l.get(i);if(c&&Date.now()-c<3e3)return;l.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=o.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),o.set(a,f);let p=s.get(i);p&&clearTimeout(p);let x=setTimeout(()=>{let t=o.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?o.delete(a):o.set(a,n)}l.delete(i),s.delete(i),u()},3e3);s.set(i,x),u()}function f(){return c}function p(e){return i.add(e),()=>{i.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=o.get(d(e,t,n,r)))?a:[]}let l="".concat(e,":").concat(t),s=new Map;for(let[e,t]of o)if(e===l||e.startsWith(l+":"))for(let e of t){let t=s.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&s.set(e.agentUuid,e)}return[...s.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>i,Wu:()=>c,ZB:()=>s,Zp:()=>o,aR:()=>l});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>x,EO:()=>u,Lt:()=>s,Rx:()=>h,Zr:()=>g,ck:()=>f,r7:()=>p,tv:()=>i,wd:()=>m});var r=n(90508);n(1856);var a=n(90299),o=n(24377),l=n(22922);function s(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"alert-dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(a.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(a.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...l}=e;return(0,r.jsxs)(c,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(a.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...l})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,o.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(a.Title,{"data-slot":"alert-dialog-title",className:(0,o.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(a.Description,{"data-slot":"alert-dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}function h(e){let{className:t,variant:n="default",size:s="default",...i}=e;return(0,r.jsx)(l.$,{variant:n,size:s,asChild:!0,children:(0,r.jsx)(a.Action,{"data-slot":"alert-dialog-action",className:(0,o.cn)(t),...i})})}function g(e){let{className:t,variant:n="outline",size:s="default",...i}=e;return(0,r.jsx)(l.$,{variant:n,size:s,asChild:!0,children:(0,r.jsx)(a.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,o.cn)(t),...i})})}},63964:(e,t,n)=>{n.d(t,{S2:()=>c,eV:()=>i,l9:()=>s,tS:()=>l,w0:()=>d});var r=n(90508),a=n(1856);n(23675);let o=(0,a.createContext)(null);function l(e){let{projectUuid:t,children:n}=e,l=(0,a.useRef)(new Set),s=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{l.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{s.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function o(){l(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void i.current.forEach(e=>e(n));let o=n;clearTimeout(e);let l=Date.now(),s=l-r;s>=3e3?(r=l,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-s));let u=o.entityType;clearTimeout(a[u]),a[u]=setTimeout(()=>{d(o)},300)},n.onerror=()=>{}}function l(){n&&(n.close(),n=null)}function s(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(o(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return o(),document.addEventListener("visibilitychange",s),()=>{for(let t in l(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",s)}},[t,c,d]);let u=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:f}),[u,m,f]);return(0,r.jsx)(o.Provider,{value:p,children:n})}function s(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,a.useContext)(o),r=(0,a.useRef)(t);r.current=t;let l=(0,a.useRef)(e);l.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=l.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function c(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function d(e,t,n){let r=(0,a.useContext)(o),l=(0,a.useRef)(n);l.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&l.current(n)})},[r,e,t])}},67712:(e,t,n)=>{n.d(t,{q:()=>s});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},o=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function l(e){return a[e]>=a[o]}let s={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("error")&&console.error("[Chorus] ".concat(e),...n)}}},73693:(e,t,n)=>{n.d(t,{eu:()=>l,q5:()=>s});var r=n(90508);n(1856);var a=n(65514),o=n(24377);function l(e){let{className:t,size:n="default",...l}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,o.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...l})}function s(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,o.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},75024:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>s});var r=n(90508),a=n(47754),o=n(30423),l=n(5425);function s(e){let{entityType:t,entityUuid:n,subEntityType:l,subEntityUuid:s,children:c,badgeInside:d}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,l,s),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,o.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(d?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(i,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),c]})}function i(e){let{entry:t}=e,n=(0,o.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(l.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var r=n(90508),a=n(1856),o=n(65700),l=n(19169),s=n(26190);let i={code:l.a,mermaid:s.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t}=e,n=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),l=(0,a.useMemo)(()=>({config:{theme:n?"dark":"default"}}),[n]);return(0,r.jsx)(o.jH,{plugins:i,controls:c,mermaid:l,children:t},n?"dark":"light")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[55469],{5425:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(66206).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},45477:(e,r,t)=>{t.d(r,{z:()=>n});var a=t(87161);function n(){return(0,a.useSyncExternalStore)(o,()=>!0,()=>!1)}function o(){return()=>{}}},60322:(e,r,t)=>{t.r(r),t.d(r,{Root:()=>R,Switch:()=>m,SwitchThumb:()=>w,Thumb:()=>A,createSwitchScope:()=>v});var a=t(1856),n=t(33328),o=t(34124),i=t(21032),l=t(66249),s=t(72009),d=t(3705),u=t(93367),c=t(90508),p="Switch",[f,v]=(0,i.A)(p),[g,h]=f(p),m=a.forwardRef((e,r)=>{let{__scopeSwitch:t,name:i,checked:s,defaultChecked:d,required:f,disabled:v,value:h="on",onCheckedChange:m,form:y,...w}=e,[R,A]=a.useState(null),k=(0,o.s)(r,e=>A(e)),j=a.useRef(!1),D=!R||y||!!R.closest("form"),[S,E]=(0,l.i)({prop:s,defaultProp:null!=d&&d,onChange:m,caller:p});return(0,c.jsxs)(g,{scope:t,checked:S,disabled:v,children:[(0,c.jsx)(u.sG.button,{type:"button",role:"switch","aria-checked":S,"aria-required":f,"data-state":x(S),"data-disabled":v?"":void 0,disabled:v,value:h,...w,ref:k,onClick:(0,n.mK)(e.onClick,e=>{E(e=>!e),D&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),D&&(0,c.jsx)(b,{control:R,bubbles:!j.current,name:i,value:h,checked:S,required:f,disabled:v,form:y,style:{transform:"translateX(-100%)"}})]})});m.displayName=p;var y="SwitchThumb",w=a.forwardRef((e,r)=>{let{__scopeSwitch:t,...a}=e,n=h(y,t);return(0,c.jsx)(u.sG.span,{"data-state":x(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:r})});w.displayName=y;var b=a.forwardRef((e,r)=>{let{__scopeSwitch:t,control:n,checked:i,bubbles:l=!0,...u}=e,p=a.useRef(null),f=(0,o.s)(p,r),v=(0,s.Z)(i),g=(0,d.X)(n);return a.useEffect(()=>{let e=p.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(v!==i&&r){let t=new Event("click",{bubbles:l});r.call(e,i),e.dispatchEvent(t)}},[v,i,l]),(0,c.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...u,tabIndex:-1,ref:f,style:{...u.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function x(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput";var R=m,A=w},63197:(e,r,t)=>{t.r(r),t.d(r,{Indicator:()=>M,Item:()=>q,RadioGroup:()=>L,RadioGroupIndicator:()=>T,RadioGroupItem:()=>P,Root:()=>F,createRadioGroupScope:()=>E});var a=t(1856),n=t(33328),o=t(34124),i=t(21032),l=t(93367),s=t(94782),d=t(66249),u=t(72599),c=t(3705),p=t(72009),f=t(19900),v=t(90508),g="Radio",[h,m]=(0,i.A)(g),[y,w]=h(g),b=a.forwardRef((e,r)=>{let{__scopeRadio:t,name:i,checked:s=!1,required:d,disabled:u,value:c="on",onCheck:p,form:f,...g}=e,[h,m]=a.useState(null),w=(0,o.s)(r,e=>m(e)),b=a.useRef(!1),x=!h||f||!!h.closest("form");return(0,v.jsxs)(y,{scope:t,checked:s,disabled:u,children:[(0,v.jsx)(l.sG.button,{type:"button",role:"radio","aria-checked":s,"data-state":k(s),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:w,onClick:(0,n.mK)(e.onClick,e=>{s||null==p||p(),x&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())})}),x&&(0,v.jsx)(A,{control:h,bubbles:!b.current,name:i,value:c,checked:s,required:d,disabled:u,form:f,style:{transform:"translateX(-100%)"}})]})});b.displayName=g;var x="RadioIndicator",R=a.forwardRef((e,r)=>{let{__scopeRadio:t,forceMount:a,...n}=e,o=w(x,t);return(0,v.jsx)(f.C,{present:a||o.checked,children:(0,v.jsx)(l.sG.span,{"data-state":k(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:r})})});R.displayName=x;var A=a.forwardRef((e,r)=>{let{__scopeRadio:t,control:n,checked:i,bubbles:s=!0,...d}=e,u=a.useRef(null),f=(0,o.s)(u,r),g=(0,p.Z)(i),h=(0,c.X)(n);return a.useEffect(()=>{let e=u.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==i&&r){let t=new Event("click",{bubbles:s});r.call(e,i),e.dispatchEvent(t)}},[g,i,s]),(0,v.jsx)(l.sG.input,{type:"radio","aria-hidden":!0,defaultChecked:i,...d,tabIndex:-1,ref:f,style:{...d.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function k(e){return e?"checked":"unchecked"}A.displayName="RadioBubbleInput";var j=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],D="RadioGroup",[S,E]=(0,i.A)(D,[s.RG,m]),C=(0,s.RG)(),N=m(),[I,G]=S(D),L=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,name:a,defaultValue:n,value:o,required:i=!1,disabled:c=!1,orientation:p,dir:f,loop:g=!0,onValueChange:h,...m}=e,y=C(t),w=(0,u.jH)(f),[b,x]=(0,d.i)({prop:o,defaultProp:null!=n?n:null,onChange:h,caller:D});return(0,v.jsx)(I,{scope:t,name:a,required:i,disabled:c,value:b,onValueChange:x,children:(0,v.jsx)(s.bL,{asChild:!0,...y,orientation:p,dir:w,loop:g,children:(0,v.jsx)(l.sG.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":c?"":void 0,dir:w,...m,ref:r})})})});L.displayName=D;var O="RadioGroupItem",P=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,disabled:i,...l}=e,d=G(O,t),u=d.disabled||i,c=C(t),p=N(t),f=a.useRef(null),g=(0,o.s)(r,f),h=d.value===l.value,m=a.useRef(!1);return a.useEffect(()=>{let e=e=>{j.includes(e.key)&&(m.current=!0)},r=()=>m.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",r),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",r)}},[]),(0,v.jsx)(s.q7,{asChild:!0,...c,focusable:!u,active:h,children:(0,v.jsx)(b,{disabled:u,required:d.required,checked:h,...p,...l,name:d.name,ref:g,onCheck:()=>d.onValueChange(l.value),onKeyDown:(0,n.mK)(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:(0,n.mK)(l.onFocus,()=>{var e;m.current&&(null==(e=f.current)||e.click())})})})});P.displayName=O;var T=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,...a}=e,n=N(t);return(0,v.jsx)(R,{...n,...a,ref:r})});T.displayName="RadioGroupIndicator";var F=L,q=P,M=T},65514:(e,r,t)=>{t.r(r),t.d(r,{Avatar:()=>g,AvatarFallback:()=>w,AvatarImage:()=>m,Fallback:()=>A,Image:()=>R,Root:()=>x,createAvatarScope:()=>p});var a=t(1856),n=t(21032),o=t(32313),i=t(99457),l=t(93367),s=t(45477),d=t(90508),u="Avatar",[c,p]=(0,n.A)(u),[f,v]=c(u),g=a.forwardRef((e,r)=>{let{__scopeAvatar:t,...n}=e,[o,i]=a.useState("idle");return(0,d.jsx)(f,{scope:t,imageLoadingStatus:o,onImageLoadingStatusChange:i,children:(0,d.jsx)(l.sG.span,{...n,ref:r})})});g.displayName=u;var h="AvatarImage",m=a.forwardRef((e,r)=>{let{__scopeAvatar:t,src:n,onLoadingStatusChange:u=()=>{},...c}=e,p=v(h,t),f=function(e,r){let{referrerPolicy:t,crossOrigin:n}=r,o=(0,s.z)(),l=a.useRef(null),d=o?(l.current||(l.current=new window.Image),l.current):null,[u,c]=a.useState(()=>b(d,e));return(0,i.N)(()=>{c(b(d,e))},[d,e]),(0,i.N)(()=>{let e=e=>()=>{c(e)};if(!d)return;let r=e("loaded"),a=e("error");return d.addEventListener("load",r),d.addEventListener("error",a),t&&(d.referrerPolicy=t),"string"==typeof n&&(d.crossOrigin=n),()=>{d.removeEventListener("load",r),d.removeEventListener("error",a)}},[d,n,t]),u}(n,c),g=(0,o.c)(e=>{u(e),p.onImageLoadingStatusChange(e)});return(0,i.N)(()=>{"idle"!==f&&g(f)},[f,g]),"loaded"===f?(0,d.jsx)(l.sG.img,{...c,ref:r,src:n}):null});m.displayName=h;var y="AvatarFallback",w=a.forwardRef((e,r)=>{let{__scopeAvatar:t,delayMs:n,...o}=e,i=v(y,t),[s,u]=a.useState(void 0===n);return a.useEffect(()=>{if(void 0!==n){let e=window.setTimeout(()=>u(!0),n);return()=>window.clearTimeout(e)}},[n]),s&&"loaded"!==i.imageLoadingStatus?(0,d.jsx)(l.sG.span,{...o,ref:r}):null});function b(e,r){return e?r?(e.src!==r&&(e.src=r),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}w.displayName=y;var x=g,R=m,A=w},86196:(e,r,t)=>{var a=t(1856),n="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},o=a.useState,i=a.useEffect,l=a.useLayoutEffect,s=a.useDebugValue;function d(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!n(e,t)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,r){return r()}:function(e,r){var t=r(),a=o({inst:{value:t,getSnapshot:r}}),n=a[0].inst,u=a[1];return l(function(){n.value=t,n.getSnapshot=r,d(n)&&u({inst:n})},[e,t,r]),i(function(){return d(n)&&u({inst:n}),e(function(){d(n)&&u({inst:n})})},[e]),s(t),t};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},87161:(e,r,t)=>{e.exports=t(86196)},90299:(e,r,t)=>{t.r(r),t.d(r,{Action:()=>T,AlertDialog:()=>v,AlertDialogAction:()=>S,AlertDialogCancel:()=>C,AlertDialogContent:()=>R,AlertDialogDescription:()=>D,AlertDialogOverlay:()=>m,AlertDialogPortal:()=>h,AlertDialogTitle:()=>k,AlertDialogTrigger:()=>g,Cancel:()=>F,Content:()=>P,Description:()=>M,Overlay:()=>O,Portal:()=>L,Root:()=>I,Title:()=>q,Trigger:()=>G,createAlertDialogScope:()=>p});var a=t(1856),n=t(21032),o=t(34124),i=t(71350),l=t(33328),s=t(54154),d=t(90508),u="AlertDialog",[c,p]=(0,n.A)(u,[i.createDialogScope]),f=(0,i.createDialogScope)(),v=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Root,{...a,...t,modal:!0})};v.displayName=u;var g=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Trigger,{...n,...a,ref:r})});g.displayName="AlertDialogTrigger";var h=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Portal,{...a,...t})};h.displayName="AlertDialogPortal";var m=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Overlay,{...n,...a,ref:r})});m.displayName="AlertDialogOverlay";var y="AlertDialogContent",[w,b]=c(y),x=(0,s.Dc)("AlertDialogContent"),R=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,children:n,...s}=e,u=f(t),c=a.useRef(null),p=(0,o.s)(r,c),v=a.useRef(null);return(0,d.jsx)(i.WarningProvider,{contentName:y,titleName:A,docsSlug:"alert-dialog",children:(0,d.jsx)(w,{scope:t,cancelRef:v,children:(0,d.jsxs)(i.Content,{role:"alertdialog",...u,...s,ref:p,onOpenAutoFocus:(0,l.mK)(s.onOpenAutoFocus,e=>{var r;e.preventDefault(),null==(r=v.current)||r.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(x,{children:n}),(0,d.jsx)(N,{contentRef:c})]})})})});R.displayName=y;var A="AlertDialogTitle",k=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Title,{...n,...a,ref:r})});k.displayName=A;var j="AlertDialogDescription",D=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Description,{...n,...a,ref:r})});D.displayName=j;var S=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Close,{...n,...a,ref:r})});S.displayName="AlertDialogAction";var E="AlertDialogCancel",C=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,{cancelRef:n}=b(E,t),l=f(t),s=(0,o.s)(r,n);return(0,d.jsx)(i.Close,{...l,...a,ref:s})});C.displayName=E;var N=e=>{let{contentRef:r}=e,t="`".concat(y,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(y,"` by passing a `").concat(j,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(y,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=r.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(t)},[t,r]),null},I=v,G=g,L=h,O=m,P=R,T=S,F=C,q=k,M=D}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[59296],{24377:(e,t,n)=>{n.d(t,{cn:()=>u});var r=n(49251),a=n(58849);function u(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},47754:(e,t,n)=>{n.d(t,{fv:()=>g,xQ:()=>x});var r=n(1856),a=n(63964);let u=new Map,c=new Map,i=new Map,o=new Set,s=0;function l(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function d(){s++,o.forEach(e=>e())}function f(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=l(e.entityType,e.entityUuid,n,r),o=function(e,t,n,r,a){let u=l(e,t,r,a);return"".concat(u,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=c.get(o);if(s&&Date.now()-s<3e3)return;c.set(o,Date.now());let f={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=u.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(f),u.set(a,p);let m=i.get(o);m&&clearTimeout(m);let g=setTimeout(()=>{let t=u.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?u.delete(a):u.set(a,n)}c.delete(o),i.delete(o),d()},3e3);i.set(o,g),d()}function p(){return s}function m(e){return o.add(e),()=>{o.delete(e)}}function g(e){f({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,r.useSyncExternalStore)(m,p,p),(0,a.S2)(f),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=u.get(l(e,t,n,r)))?a:[]}let c="".concat(e,":").concat(t),i=new Map;for(let[e,t]of u)if(e===c||e.startsWith(c+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>o,Wu:()=>s,ZB:()=>i,Zp:()=>u,aR:()=>c});var r=n(90508);n(1856);var a=n(24377);function u(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},63964:(e,t,n)=>{n.d(t,{S2:()=>s,eV:()=>o,l9:()=>i,tS:()=>c,w0:()=>l});var r=n(90508),a=n(1856);n(23675);let u=(0,a.createContext)(null);function c(e){let{projectUuid:t,children:n}=e,c=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),o=(0,a.useRef)(new Set),s=(0,a.useCallback)(()=>{c.current.forEach(e=>e())},[]),l=(0,a.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function u(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void o.current.forEach(e=>e(n));let u=n;clearTimeout(e);let c=Date.now(),i=c-r;i>=3e3?(r=c,s()):e=setTimeout(()=>{r=Date.now(),s()},Math.max(1e3,3e3-i));let d=u.entityType;clearTimeout(a[d]),a[d]=setTimeout(()=>{l(u)},300)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(u(),s(),["task","idea","proposal","document","project","project_group"]))l({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return u(),document.addEventListener("visibilitychange",i),()=>{for(let t in c(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",i)}},[t,s,l]);let d=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),m=(0,a.useMemo)(()=>({subscribe:d,subscribeEntity:f,subscribePresence:p}),[d,f,p]);return(0,r.jsx)(u.Provider,{value:m,children:n})}function i(e){let t=(0,a.useContext)(u),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function o(e,t){let n=(0,a.useContext)(u),r=(0,a.useRef)(t);r.current=t;let c=(0,a.useRef)(e);c.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=c.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,a.useContext)(u),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function l(e,t,n){let r=(0,a.useContext)(u),c=(0,a.useRef)(n);c.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&c.current(n)})},[r,e,t])}},96213:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(90508),a=n(47754),u=n(30423),c=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:c,subEntityUuid:i,children:s,badgeInside:l}=e,{getPresence:d}=(0,a.xQ)(),f=d(t,n,c,i),p=f.length>0,m=p&&f.some(e=>"mutate"===e.action),g=p?m?f.find(e=>"mutate"===e.action):f[f.length-1]:null,x=g?(0,u.j)(g.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(m?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(l?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[f.slice(0,3).map(e=>(0,r.jsx)(o,{entry:e},e.agentUuid)),f.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",f.length-3]})]}),s]})}function o(e){let{entry:t}=e,n=(0,u.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(c.A,{className:"h-2.5 w-2.5"}),t.agentName]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60524],{9160:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17475:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},17730:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},21104:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},23217:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},23675:(e,t,r)=>{var n=r(84675);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},24705:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]])},25373:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},29767:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},42533:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},52309:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},56770:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},60532:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},62482:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},62898:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},67103:(e,t,r)=>{r.d(t,{N:()=>M});var n=r(90508),a=r(1856),l=r(43827),o=r(66071),h=r(66506),c=r(95535),d=r(63605),u=r(8334);function p(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class s extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,d.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,r=(0,d.s)(e)&&e.offsetWidth||0,n=(0,d.s)(e)&&e.offsetHeight||0,a=getComputedStyle(t),l=this.props.sizeRef.current;l.height=parseFloat(a.height),l.width=parseFloat(a.width),l.top=t.offsetTop,l.left=t.offsetLeft,l.right=r-l.width-l.left,l.bottom=n-l.height-l.top}return null}componentDidUpdate(){}render(){return this.props.children}}function i(e){var t,r;let{children:l,isPresent:o,anchorX:h,anchorY:c,root:d,pop:i}=e,f=(0,a.useId)(),y=(0,a.useRef)(null),m=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:k}=(0,a.useContext)(u.Q),A=function(...e){return a.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=p(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():p(e[t],null)}}}}(...e),e)}(y,null!=(r=null==(t=l.props)?void 0:t.ref)?r:null==l?void 0:l.ref);return(0,a.useInsertionEffect)(()=>{let{width:e,height:t,top:r,left:n,right:a,bottom:l}=m.current;if(o||!1===i||!y.current||!e||!t)return;y.current.dataset.motionPopId=f;let u=document.createElement("style");k&&(u.nonce=k);let p=null!=d?d:document.head;return p.appendChild(u),u.sheet&&u.sheet.insertRule('\n [data-motion-pop-id="'.concat(f,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===h?"left: ".concat(n):"right: ".concat(a),"px !important;\n ").concat("bottom"===c?"bottom: ".concat(l):"top: ".concat(r),"px !important;\n }\n ")),()=>{var e;null==(e=y.current)||e.removeAttribute("data-motion-pop-id"),p.contains(u)&&p.removeChild(u)}},[o]),(0,n.jsx)(s,{isPresent:o,childRef:y,sizeRef:m,pop:i,children:!1===i?l:a.cloneElement(l,{ref:A})})}let f=e=>{let{children:t,initial:r,isPresent:l,onExitComplete:h,custom:d,presenceAffectsLayout:u,mode:p,anchorX:s,anchorY:f,root:m}=e,k=(0,o.M)(y),A=(0,a.useId)(),M=!0,g=(0,a.useMemo)(()=>(M=!1,{id:A,initial:r,isPresent:l,custom:d,onExitComplete:e=>{for(let t of(k.set(e,!0),k.values()))if(!t)return;h&&h()},register:e=>(k.set(e,!1),()=>k.delete(e))}),[l,k,h]);return u&&M&&(g={...g}),(0,a.useMemo)(()=>{k.forEach((e,t)=>k.set(t,!1))},[l]),a.useEffect(()=>{l||k.size||!h||h()},[l]),t=(0,n.jsx)(i,{pop:"popLayout"===p,isPresent:l,anchorX:s,anchorY:f,root:m,children:t}),(0,n.jsx)(c.t.Provider,{value:g,children:t})};function y(){return new Map}var m=r(99672);let k=e=>e.key||"";function A(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}let M=e=>{let{children:t,custom:r,initial:c=!0,onExitComplete:d,presenceAffectsLayout:u=!0,mode:p="sync",propagate:s=!1,anchorX:i="left",anchorY:y="top",root:M}=e,[g,v]=(0,m.xQ)(s),x=(0,a.useMemo)(()=>A(t),[t]),b=s&&!g?[]:x.map(k),w=(0,a.useRef)(!0),z=(0,a.useRef)(x),P=(0,o.M)(()=>new Map),C=(0,a.useRef)(new Set),[E,R]=(0,a.useState)(x),[j,S]=(0,a.useState)(x);(0,h.E)(()=>{w.current=!1,z.current=x;for(let e=0;e<j.length;e++){let t=k(j[e]);b.includes(t)?(P.delete(t),C.current.delete(t)):!0!==P.get(t)&&P.set(t,!1)}},[j,b.length,b.join("-")]);let V=[];if(x!==E){let e=[...x];for(let t=0;t<j.length;t++){let r=j[t],n=k(r);b.includes(n)||(e.splice(t,0,r),V.push(r))}return"wait"===p&&V.length&&(e=V),S(A(e)),R(x),null}let{forceRender:H}=(0,a.useContext)(l.L);return(0,n.jsx)(n.Fragment,{children:j.map(e=>{let t=k(e),a=(!s||!!g)&&(x===j||b.includes(t));return(0,n.jsx)(f,{isPresent:a,initial:(!w.current||!!c)&&void 0,custom:r,presenceAffectsLayout:u,mode:p,root:M,onExitComplete:a?void 0:()=>{if(C.current.has(t)||!P.has(t))return;C.current.add(t),P.set(t,!0);let e=!0;P.forEach(t=>{t||(e=!1)}),e&&(null==H||H(),S(z.current),s&&(null==v||v()),d&&d())},anchorX:i,anchorY:y,children:e},t)})})}},85226:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},89967:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},94152:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[66205],{38476:(e,t,n)=>{n.r(t),n.d(t,{Collapsible:()=>C,CollapsibleContent:()=>k,CollapsibleTrigger:()=>g,Content:()=>N,Root:()=>w,Trigger:()=>T,createCollapsibleScope:()=>h});var a=n(1856),r=n(33328),o=n(21032),i=n(66249),l=n(99457),s=n(34124),d=n(93367),c=n(19900),u=n(40577),p=n(90508),b="Collapsible",[f,h]=(0,o.A)(b),[v,m]=f(b),C=a.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:l,onOpenChange:s,...c}=e,[f,h]=(0,i.i)({prop:r,defaultProp:null!=o&&o,onChange:s,caller:b});return(0,p.jsx)(v,{scope:n,disabled:l,contentId:(0,u.B)(),open:f,onOpenToggle:a.useCallback(()=>h(e=>!e),[h]),children:(0,p.jsx)(d.sG.div,{"data-state":j(f),"data-disabled":l?"":void 0,...c,ref:t})})});C.displayName=b;var x="CollapsibleTrigger",g=a.forwardRef((e,t)=>{let{__scopeCollapsible:n,...a}=e,o=m(x,n);return(0,p.jsx)(d.sG.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":j(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...a,ref:t,onClick:(0,r.mK)(e.onClick,o.onOpenToggle)})});g.displayName=x;var y="CollapsibleContent",k=a.forwardRef((e,t)=>{let{forceMount:n,...a}=e,r=m(y,e.__scopeCollapsible);return(0,p.jsx)(c.C,{present:n||r.open,children:e=>{let{present:n}=e;return(0,p.jsx)(R,{...a,ref:t,present:n})}})});k.displayName=y;var R=a.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:o,...i}=e,c=m(y,n),[u,b]=a.useState(r),f=a.useRef(null),h=(0,s.s)(t,f),v=a.useRef(0),C=v.current,x=a.useRef(0),g=x.current,k=c.open||u,R=a.useRef(k),w=a.useRef(void 0);return a.useEffect(()=>{let e=requestAnimationFrame(()=>R.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,l.N)(()=>{let e=f.current;if(e){w.current=w.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();v.current=t.height,x.current=t.width,R.current||(e.style.transitionDuration=w.current.transitionDuration,e.style.animationName=w.current.animationName),b(r)}},[c.open,r]),(0,p.jsx)(d.sG.div,{"data-state":j(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!k,...i,ref:h,style:{"--radix-collapsible-content-height":C?"".concat(C,"px"):void 0,"--radix-collapsible-content-width":g?"".concat(g,"px"):void 0,...e.style},children:k&&o})});function j(e){return e?"open":"closed"}var w=C,T=g,N=k},79834:(e,t,n)=>{n.r(t),n.d(t,{Content:()=>D,List:()=>_,Root:()=>I,Tabs:()=>x,TabsContent:()=>w,TabsList:()=>y,TabsTrigger:()=>R,Trigger:()=>E,createTabsScope:()=>h});var a=n(1856),r=n(33328),o=n(21032),i=n(94782),l=n(19900),s=n(93367),d=n(72599),c=n(66249),u=n(40577),p=n(90508),b="Tabs",[f,h]=(0,o.A)(b,[i.RG]),v=(0,i.RG)(),[m,C]=f(b),x=a.forwardRef((e,t)=>{let{__scopeTabs:n,value:a,onValueChange:r,defaultValue:o,orientation:i="horizontal",dir:l,activationMode:f="automatic",...h}=e,v=(0,d.jH)(l),[C,x]=(0,c.i)({prop:a,onChange:r,defaultProp:null!=o?o:"",caller:b});return(0,p.jsx)(m,{scope:n,baseId:(0,u.B)(),value:C,onValueChange:x,orientation:i,dir:v,activationMode:f,children:(0,p.jsx)(s.sG.div,{dir:v,"data-orientation":i,...h,ref:t})})});x.displayName=b;var g="TabsList",y=a.forwardRef((e,t)=>{let{__scopeTabs:n,loop:a=!0,...r}=e,o=C(g,n),l=v(n);return(0,p.jsx)(i.bL,{asChild:!0,...l,orientation:o.orientation,dir:o.dir,loop:a,children:(0,p.jsx)(s.sG.div,{role:"tablist","aria-orientation":o.orientation,...r,ref:t})})});y.displayName=g;var k="TabsTrigger",R=a.forwardRef((e,t)=>{let{__scopeTabs:n,value:a,disabled:o=!1,...l}=e,d=C(k,n),c=v(n),u=T(d.baseId,a),b=N(d.baseId,a),f=a===d.value;return(0,p.jsx)(i.q7,{asChild:!0,...c,focusable:!o,active:f,children:(0,p.jsx)(s.sG.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":b,"data-state":f?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...l,ref:t,onMouseDown:(0,r.mK)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(a)}),onKeyDown:(0,r.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(a)}),onFocus:(0,r.mK)(e.onFocus,()=>{let e="manual"!==d.activationMode;f||o||!e||d.onValueChange(a)})})})});R.displayName=k;var j="TabsContent",w=a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:i,...d}=e,c=C(j,n),u=T(c.baseId,r),b=N(c.baseId,r),f=r===c.value,h=a.useRef(f);return a.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,p.jsx)(l.C,{present:o||f,children:n=>{let{present:a}=n;return(0,p.jsx)(s.sG.div,{"data-state":f?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!a,id:b,tabIndex:0,...d,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:a&&i})}})});function T(e,t){return"".concat(e,"-trigger-").concat(t)}function N(e,t){return"".concat(e,"-content-").concat(t)}w.displayName=j;var I=x,_=y,E=R,D=w},98861:(e,t,n)=>{n.r(t),n.d(t,{Checkbox:()=>y,CheckboxIndicator:()=>R,Indicator:()=>R,Root:()=>y,createCheckboxScope:()=>h,unstable_BubbleInput:()=>w,unstable_CheckboxBubbleInput:()=>w,unstable_CheckboxProvider:()=>C,unstable_CheckboxTrigger:()=>g,unstable_Provider:()=>C,unstable_Trigger:()=>g});var a=n(1856),r=n(34124),o=n(21032),i=n(33328),l=n(66249),s=n(72009),d=n(3705),c=n(19900),u=n(93367),p=n(90508),b="Checkbox",[f,h]=(0,o.A)(b),[v,m]=f(b);function C(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:o,disabled:i,form:s,name:d,onCheckedChange:c,required:u,value:f="on",internal_do_not_use_render:h}=e,[m,C]=(0,l.i)({prop:n,defaultProp:null!=o&&o,onChange:c,caller:b}),[x,g]=a.useState(null),[y,k]=a.useState(null),R=a.useRef(!1),j=!x||!!s||!!x.closest("form"),w={checked:m,disabled:i,setChecked:C,control:x,setControl:g,name:d,form:s,value:f,hasConsumerStoppedPropagationRef:R,required:u,defaultChecked:!T(o)&&o,isFormControl:j,bubbleInput:y,setBubbleInput:k};return(0,p.jsx)(v,{scope:t,...w,children:"function"==typeof h?h(w):r})}var x="CheckboxTrigger",g=a.forwardRef((e,t)=>{let{__scopeCheckbox:n,onKeyDown:o,onClick:l,...s}=e,{control:d,value:c,disabled:b,checked:f,required:h,setControl:v,setChecked:C,hasConsumerStoppedPropagationRef:g,isFormControl:y,bubbleInput:k}=m(x,n),R=(0,r.s)(t,v),j=a.useRef(f);return a.useEffect(()=>{let e=null==d?void 0:d.form;if(e){let t=()=>C(j.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,C]),(0,p.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":T(f)?"mixed":f,"aria-required":h,"data-state":N(f),"data-disabled":b?"":void 0,disabled:b,value:c,...s,ref:R,onKeyDown:(0,i.mK)(o,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.mK)(l,e=>{C(e=>!!T(e)||!e),k&&y&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});g.displayName=x;var y=a.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:a,checked:r,defaultChecked:o,required:i,disabled:l,value:s,onCheckedChange:d,form:c,...u}=e;return(0,p.jsx)(C,{__scopeCheckbox:n,checked:r,defaultChecked:o,disabled:l,required:i,onCheckedChange:d,name:a,form:c,value:s,internal_do_not_use_render:e=>{let{isFormControl:a}=e;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(g,{...u,ref:t,__scopeCheckbox:n}),a&&(0,p.jsx)(w,{__scopeCheckbox:n})]})}})});y.displayName=b;var k="CheckboxIndicator",R=a.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:a,...r}=e,o=m(k,n);return(0,p.jsx)(c.C,{present:a||T(o.checked)||!0===o.checked,children:(0,p.jsx)(u.sG.span,{"data-state":N(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})});R.displayName=k;var j="CheckboxBubbleInput",w=a.forwardRef((e,t)=>{let{__scopeCheckbox:n,...o}=e,{control:i,hasConsumerStoppedPropagationRef:l,checked:c,defaultChecked:b,required:f,disabled:h,name:v,value:C,form:x,bubbleInput:g,setBubbleInput:y}=m(j,n),k=(0,r.s)(t,y),R=(0,s.Z)(c),w=(0,d.X)(i);a.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(R!==c&&e){let n=new Event("click",{bubbles:t});g.indeterminate=T(c),e.call(g,!T(c)&&c),g.dispatchEvent(n)}},[g,R,c,l]);let N=a.useRef(!T(c)&&c);return(0,p.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=b?b:N.current,required:f,disabled:h,name:v,value:C,form:x,...o,tabIndex:-1,ref:k,style:{...o.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function T(e){return"indeterminate"===e}function N(e){return T(e)?"indeterminate":e?"checked":"unchecked"}w.displayName=j}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[68855],{4365:(e,t,s)=>{s.d(t,{G7:()=>c,L$:()=>u,h_:()=>x,oI:()=>d,uB:()=>l,xL:()=>o});var a=s(90508);s(1856);var i=s(64731),r=s(30044),n=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(i.uB,{"data-slot":"command",className:(0,n.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...s})}function c(e){let{className:t,...s}=e;return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(r.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(i.uB.Input,{"data-slot":"command-input",className:(0,n.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function d(e){let{className:t,...s}=e;return(0,a.jsx)(i.uB.List,{"data-slot":"command-list",className:(0,n.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function o(e){let{...t}=e;return(0,a.jsx)(i.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(i.uB.Group,{"data-slot":"command-group",className:(0,n.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...s})}function x(e){let{className:t,...s}=e;return(0,a.jsx)(i.uB.Item,{"data-slot":"command-item",className:(0,n.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...s})}},6985:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},12210:(e,t,s)=>{s.d(t,{d:()=>n});var a=s(90508);s(1856);var i=s(60322),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)(i.Root,{"data-slot":"switch",className:(0,r.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(i.Thumb,{"data-slot":"switch-thumb",className:(0,r.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},13108:(e,t,s)=>{s.d(t,{C:()=>o,K:()=>x});var a=s(90508),i=s(39268),r=s(97413),n=s(5616),l=s(22922),c=s(14554),d=s(12210);function o(e){let{items:t,onChange:s,disabled:o}=e,u=(0,i.c)(),x=(e,a)=>{let i=t.slice();i[e]={...i[e],...a},s(i)};return(0,a.jsxs)("div",{className:"space-y-3",children:[t.length>0&&(0,a.jsx)("div",{className:"space-y-2",children:t.map((e,i)=>(0,a.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-[#E5E2DC] bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)(c.p,{value:e.description,onChange:e=>x(i,{description:e.target.value}),placeholder:u("acceptanceCriteria.criterionPlaceholder"),className:"border-[#E5E2DC] text-sm focus-visible:ring-[#C67A52] h-8",disabled:o})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0 pt-1",children:[(0,a.jsx)(d.d,{checked:e.required,onCheckedChange:e=>x(i,{required:e}),className:"data-[state=checked]:bg-[#C67A52]",disabled:o}),(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#6B6B6B] min-w-[52px]",children:e.required?u("acceptanceCriteria.required"):u("acceptanceCriteria.optional")}),(0,a.jsx)(l.$,{variant:"outline",size:"sm",className:"h-7 w-7 p-0 border-[#E5E2DC] text-[#9A9A9A] hover:text-[#D32F2F] hover:border-[#D32F2F] hover:bg-[#FFEBEE]",onClick:()=>{s(t.filter((e,t)=>t!==i))},disabled:o,type:"button",children:(0,a.jsx)(r.A,{className:"h-3 w-3"})})]})]},i))}),(0,a.jsxs)(l.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E2DC] text-xs text-[#6B6B6B] hover:text-[#C67A52] hover:border-[#C67A52]",onClick:()=>{s([...t,{description:"",required:!0}])},disabled:o,type:"button",children:[(0,a.jsx)(n.A,{className:"h-3 w-3"}),u("acceptanceCriteria.addCriterion")]})]})}function u(e){return{description:e.description.trim(),required:!!e.required}}function x(e,t){if(e.length!==t.length)return!0;for(let s=0;s<e.length;s++){let a=u(e[s]),i=u(t[s]);if(a.description!==i.description||a.required!==i.required)return!0}return!1}},14554:(e,t,s)=>{s.d(t,{p:()=>r});var a=s(90508);s(1856);var i=s(24377);function r(e){let{className:t,type:s,...r}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input",className:(0,i.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...r})}},15972:(e,t,s)=>{s.d(t,{T:()=>r});var a=s(90508);s(1856);var i=s(24377);function r(e){let{className:t,...s}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,i.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",t),...s})}},17001:(e,t,s)=>{s.d(t,{AM:()=>n,Wv:()=>l,hl:()=>c});var a=s(90508);s(1856);var i=s(79919),r=s(24377);function n(e){let{...t}=e;return(0,a.jsx)(i.Root,{"data-slot":"popover",...t})}function l(e){let{...t}=e;return(0,a.jsx)(i.Trigger,{"data-slot":"popover-trigger",...t})}function c(e){let{className:t,align:s="center",sideOffset:n=4,...l}=e;return(0,a.jsx)(i.Portal,{children:(0,a.jsx)(i.Content,{"data-slot":"popover-content",align:s,sideOffset:n,className:(0,r.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}},17156:(e,t,s)=>{s.d(t,{v:()=>eg});var a=s(90508),i=s(1856),r=s(23675),n=s(39268),l=s(76111),c=s(9160),d=s(5616),o=s(70633),u=s(57893),x=s(5425),m=s(56770),p=s(85226),h=s(62898),g=s(42533),f=s(1861),v=s(66206);let b=(0,v.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var j=s(17475),N=s(60532),y=s(94903),A=s(62482),C=s(6985);let w=(0,v.A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var k=s(97413),F=s(57731),E=s(48416),S=s(22922),B=s(14554),D=s(15972),_=s(88064),R=s(64993),z=s(91846),T=s(51817),q=s(73693),U=s(52217);let L=(0,U.createServerReference)("60d385edc971b774b29db4a76b6288664e3ff6e3eb",U.callServer,void 0,U.findSourceMapURL,"updateTaskStatusAction"),M=(0,U.createServerReference)("4087985b5a435fc84336fa71bd622ee65068d1a70b",U.callServer,void 0,U.findSourceMapURL,"createTaskAction"),P=(0,U.createServerReference)("407cf64363bc094181b20e71be29f4eaf985ab9701",U.callServer,void 0,U.findSourceMapURL,"updateTaskFieldsAction"),$=(0,U.createServerReference)("60c69091d26aa5c80138990b48d8f4bbd263a11976",U.callServer,void 0,U.findSourceMapURL,"deleteTaskAction"),I=(0,U.createServerReference)("602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb",U.callServer,void 0,U.findSourceMapURL,"markCriteriaAction"),O=(0,U.createServerReference)("60b53a2c77387cac4116e4d73ae3df5ae307ea6923",U.callServer,void 0,U.findSourceMapURL,"resetCriterionAction");var V=s(5810);let W=(0,U.createServerReference)("40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557",U.callServer,void 0,U.findSourceMapURL,"getTaskActivitiesAction"),J=(0,U.createServerReference)("400067c3cf7ed30a442781337da48bbf9fb8a963a1",U.callServer,void 0,U.findSourceMapURL,"getTaskSourceAction");var G=s(97261),K=s(13108),H=s(41033);let X=(0,U.createServerReference)("00cc674162965f046ec2005a0aa1d5339a8b86d16b",U.callServer,void 0,U.findSourceMapURL,"getDeveloperAgentsAction"),Z=(0,U.createServerReference)("402bfb6dbc2330339f67e613036af0ecfa02e7e8db",U.callServer,void 0,U.findSourceMapURL,"claimTaskAction"),Q=(0,U.createServerReference)("60acc6478ae16ce4142685f481af02f600d91733e6",U.callServer,void 0,U.findSourceMapURL,"claimTaskToAgentAction"),Y=(0,U.createServerReference)("602ec983630518488edb633843f13f8936904eba82",U.callServer,void 0,U.findSourceMapURL,"claimTaskToUserAction"),ee=(0,U.createServerReference)("40791ba93d4adb772e44c848aff6980f7da5f5c833",U.callServer,void 0,U.findSourceMapURL,"releaseTaskAction");function et(e){var t;let{task:s,projectUuid:l,currentUserUuid:d,onClose:o}=e,u=(0,n.c)(),m=(0,r.useRouter)(),[h,g]=(0,i.useState)(!1),[f,v]=(0,i.useState)("self"),[b,j]=(0,i.useState)(""),[N,A]=(0,i.useState)(""),[C,w]=(0,i.useState)([]),[k,F]=(0,i.useState)([]),[E,B]=(0,i.useState)(!0),[D,R]=(0,i.useState)(null),T=!!s.assignee;(0,i.useEffect)(()=>{!async function(){B(!0);let e=await X();w(e.agents||[]),F((e.users||[]).filter(e=>e.uuid!==d)),B(!1)}()},[d]);let q=async()=>{let e;if(g(!0),R(null),"self"===f)e=await Z(s.uuid);else if("agent"===f&&b)e=await Q(s.uuid,b);else if("user"===f&&N)e=await Y(s.uuid,N);else{if("release"!==f)return void g(!1);e=await ee(s.uuid)}g(!1),(null==e?void 0:e.success)?(o(),m.refresh()):(null==e?void 0:e.error)&&R(e.error)},U="self"===f||"agent"===f&&b||"user"===f&&N||"release"===f&&T;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:o}),(0,a.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:u("tasks.assignTask")}),(0,a.jsx)("button",{onClick:o,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,a.jsx)(c.A,{className:"h-5 w-5"})})]}),(0,a.jsxs)("div",{className:"p-6 space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:s.title}),s.description&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:s.description})]}),T&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[u("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(t=s.assignee)?void 0:t.name})]})}),D&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,a.jsx)("p",{className:"text-xs text-[#D32F2F]",children:D})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:u("assign.selectAssignee")}),E?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(p.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(H.z,{value:f,onValueChange:e=>v(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===f?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>v("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"self",id:"self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(_.J,{htmlFor:"self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.assignToMyselfDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===f?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>v("agent"),children:[(0,a.jsx)(H.C,{value:"agent",id:"agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(_.J,{htmlFor:"agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("tasks.onlySelectedAgentCanWork")}),"agent"===f&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(z.l6,{value:b,onValueChange:j,children:[(0,a.jsx)(z.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(z.yv,{placeholder:u("tasks.selectAgent")})}),(0,a.jsx)(z.gC,{children:C.length>0?C.map(e=>(0,a.jsx)(z.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(x.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noAgentsAvailable")})})]})})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===f?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>v("user"),children:[(0,a.jsx)(H.C,{value:"user",id:"user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(_.J,{htmlFor:"user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToUser")})]}),"user"===f&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(z.l6,{value:N,onValueChange:A,children:[(0,a.jsx)(z.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(z.yv,{placeholder:u("tasks.selectUser")})}),(0,a.jsx)(z.gC,{children:k.length>0?k.map(e=>(0,a.jsx)(z.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noUsersAvailable")})})]})})]}),T&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===f?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>v("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"release",id:"release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(_.J,{htmlFor:"release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.releaseAssigneeDesc")})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,a.jsx)(S.$,{variant:"outline",onClick:o,disabled:h,className:"border-[#E5E0D8]",children:u("common.cancel")}),(0,a.jsx)(S.$,{onClick:q,disabled:h||!U,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:h?(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin"}):u("release"===f?"common.release":"common.assign")})]})]})]})}let es=(0,U.createServerReference)("40c9676a9993d0f850c6955f9c0589450c7244d18b",U.callServer,void 0,U.findSourceMapURL,"getTaskDependenciesAction"),ea=(0,U.createServerReference)("40abc84636d041cef8f935b0751c9281f791c9e012",U.callServer,void 0,U.findSourceMapURL,"getProjectTasksForDependencyAction");var ei=s(32700);let er=(0,U.createServerReference)("600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d",U.callServer,void 0,U.findSourceMapURL,"removeTaskDependencyAction"),en=(0,U.createServerReference)("40e97ce0b950d948479e35998482b7f2991815cd36",U.callServer,void 0,U.findSourceMapURL,"getTaskSessionsAction");var el=s(38106),ec=s(16544),ed=s(65626),eo=s(90795);let eu={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},ex={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},em={low:"bg-[#F5F5F5] text-[#9A9A9A]",medium:"bg-[#FFF3E0] text-[#E65100]",high:"bg-[#FEE2E2] text-[#D32F2F]",critical:"bg-[#FFCDD2] text-[#B71C1C]"},ep={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function eh(e,t){let s=new Date(e),a=new Date().getTime()-s.getTime(),i=Math.floor(a/6e4),r=Math.floor(a/36e5),n=Math.floor(a/864e5);return i<1?t("time.justNow"):i<60?t("time.minutesAgo",{minutes:i}):r<24?t("time.hoursAgo",{hours:r}):n<7?t("time.daysAgo",{days:n}):(0,el.r)(s)}function eg(e){var t,s;let{task:v,projectUuid:U,currentUserUuid:H,mode:X="overlay",onClose:Z,onCreated:Q,onDependencyChange:Y,onBack:ee}=e,eg=(0,n.c)(),ef=(0,r.useRouter)(),[ev,eb]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=setTimeout(()=>eb(!0),300);return()=>clearTimeout(e)},[]);let[ej,eN]=(0,i.useState)(!1),[ey,eA]=(0,i.useState)([]),[eC,ew]=(0,i.useState)(!0),[ek,eF]=(0,i.useState)(null),[eE,eS]=(0,i.useState)(!1),[eB,eD]=(0,i.useState)([]),[e_,eR]=(0,i.useState)([]),[ez,eT]=(0,i.useState)(!1),[eq,eU]=(0,i.useState)([]),[eL,eM]=(0,i.useState)(null),[eP,e$]=(0,i.useState)([]),[eI,eO]=(0,i.useState)([]),eV=null===v,[eW,eJ]=(0,i.useState)(eV),[eG,eK]=(0,i.useState)((null==v?void 0:v.title)||""),[eH,eX]=(0,i.useState)((null==v?void 0:v.description)||""),[eZ,eQ]=(0,i.useState)((null==v?void 0:v.priority)||"medium"),[eY,e0]=(0,i.useState)((null==v?void 0:v.storyPoints)!=null?String(v.storyPoints):""),[e2,e1]=(0,i.useState)((null!=(s=null==v?void 0:v.acceptanceCriteriaItems)?s:[]).map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}})),[e5,e6]=(0,i.useState)(!1),[e9,e3]=(0,i.useState)(null),[e4,e7]=(0,i.useState)(!1),e8=(null==v||null==(t=v.assignee)?void 0:t.uuid)===H,te=e8&&(null==v?void 0:v.status)==="assigned",tt=e8&&(null==v?void 0:v.status)==="in_progress",ts=(null==v?void 0:v.status)==="to_verify";(0,i.useEffect)(()=>{async function e(){ew(!0),eA((await W(v.uuid)).activities),ew(!1)}async function t(){v.proposalUuid&&eF(await J(v.proposalUuid))}async function s(){eT(!0);let[e,t]=await Promise.all([es(v.uuid),ea(U)]);eD(e.dependsOn),eR(e.dependedBy),eU(t.tasks),eT(!1)}async function a(){let e=await en(v.uuid);e.success&&e.data&&e$(e.data)}v&&(e(),t(),s(),a())},[null==v?void 0:v.uuid,null==v?void 0:v.proposalUuid,U]),(0,i.useEffect)(()=>{eV&&e();async function e(){eU((await ea(U)).tasks)}},[eV,U]),(0,i.useEffect)(()=>{if(v){var e;eJ(!1),eK(v.title),eX(v.description||""),eQ(v.priority),e0(null!=v.storyPoints?String(v.storyPoints):""),e1((null!=(e=v.acceptanceCriteriaItems)?e:[]).map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}})),e3(null)}},[null==v?void 0:v.uuid,null==v?void 0:v.title,null==v?void 0:v.description,null==v?void 0:v.priority,null==v?void 0:v.storyPoints,null==v?void 0:v.acceptanceCriteriaItems]);let ta=async e=>{if(!v)return;eN(!0);let t=await L(v.uuid,e);eN(!1),t.success&&(Z(),ef.refresh())},ti=()=>{if(eV)return void Z();if(eJ(!1),v){var e;eK(v.title),eX(v.description||""),eQ(v.priority),e0(null!=v.storyPoints?String(v.storyPoints):""),e1((null!=(e=v.acceptanceCriteriaItems)?e:[]).map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))}e3(null)},tr=async()=>{if(!eG.trim())return void e3(eg("tasks.titleRequired"));e6(!0),e3(null);let e=eY.trim()?parseFloat(eY):null;if(eV){let t=await M({projectUuid:U,title:eG.trim(),description:eH.trim()||void 0,priority:eZ,storyPoints:e,acceptanceCriteria:null});e6(!1),t.success?(eI.length>0&&t.taskUuid&&(await Promise.all(eI.map(e=>(0,ei.w)(t.taskUuid,e.uuid))),null==Y||Y()),null==Q||Q(),Z(),ef.refresh()):e3(t.error||eg("tasks.createFailed"))}else{var t;let s=(null!=(t=v.acceptanceCriteriaItems)?t:[]).map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}),a=e2.filter(e=>e.description.trim().length>0),i=(0,K.K)(s,a);if(i&&0===a.length){e6(!1),e3(eg("acceptanceCriteria.atLeastOneRequired"));return}let r=await P({taskUuid:v.uuid,projectUuid:U,title:eG.trim(),description:eH.trim()||null,priority:eZ,storyPoints:e,...i?{acceptanceCriteriaItems:a.map(e=>({description:e.description.trim(),required:e.required}))}:{}});e6(!1),r.success?(eJ(!1),ef.refresh()):e3(r.error||eg("tasks.updateFailed"))}},tn=async()=>{if(!v)return;e7(!0);let e=await $(v.uuid,U);e7(!1),e.success&&(Z(),ef.refresh())},tl=async e=>{if(!v)return;eM(null);let t=await (0,ei.w)(v.uuid,e);if(t.success){let t=eq.find(t=>t.uuid===e);t&&eD(e=>[...e,t]),null==Y||Y()}else eM(t.error||eg("tasks.failedToAddDep"))},tc=async e=>{if(!v)return;eM(null);let t=await er(v.uuid,e);t.success?(eD(t=>t.filter(t=>t.uuid!==e)),null==Y||Y()):eM(t.error||eg("tasks.failedToRemoveDep"))},td=async e=>{if(!v)return;eM(null);let t=await er(e,v.uuid);t.success?(eR(t=>t.filter(t=>t.uuid!==e)),null==Y||Y()):eM(t.error||eg("tasks.failedToRemoveDep"))},to=eq.filter(e=>e.uuid!==(null==v?void 0:v.uuid)&&!eB.some(t=>t.uuid===e.uuid)),tu=eq.filter(e=>!eI.some(t=>t.uuid===e.uuid)),tx="sidebyside"===X;return(0,a.jsxs)(a.Fragment,{children:[!tx&&(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:Z}),(0,a.jsxs)("div",{className:"fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(tx?"z-40 ".concat(ev?"":"animate-in slide-in-from-right duration-300"):"z-50 right-0 ".concat(ev?"":"animate-in slide-in-from-right duration-300")),style:{maxWidth:"".concat(eo.L8,"px"),...tx?{right:"".concat(eo.L8,"px")}:{}},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[ee&&(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:ee,children:(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:eW?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:eV?eg("tasks.createTaskTitle"):eg("tasks.editTask")}):v?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:v.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(F.E,{className:eu[v.status]||"",children:eg("status.".concat(ex[v.status]||v.status))}),(0,a.jsx)(F.E,{className:em[v.priority]||"",children:eg("priority.".concat(ep[v.priority]||v.priority))}),v.storyPoints&&(0,a.jsxs)("span",{className:"rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[v.storyPoints,"h"]})]})]}):null}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[v&&!eW&&(0,a.jsxs)(S.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:()=>{var e;v&&(eK(v.title),eX(v.description||""),eQ(v.priority),e0(null!=v.storyPoints?String(v.storyPoints):""),e1((null!=(e=v.acceptanceCriteriaItems)?e:[]).map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}})),e3(null),eJ(!0))},children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs",children:eg("common.edit")})]}),(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:eW&&!eV?ti:Z,children:(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,a.jsx)(R.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:eW?(0,a.jsxs)("div",{className:"space-y-5",children:[e9&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:e9}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("tasks.titleLabel")}),(0,a.jsx)(B.p,{id:"edit-title",value:eG,onChange:e=>eK(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("tasks.descriptionLabel")}),(0,a.jsx)(D.T,{id:"edit-description",value:eH,onChange:e=>eX(e.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("tasks.priorityLabel")}),(0,a.jsxs)(z.l6,{value:eZ,onValueChange:eQ,children:[(0,a.jsx)(z.bq,{className:"border-[#E5E0D8] text-sm focus:ring-[#C67A52]",children:(0,a.jsx)(z.yv,{})}),(0,a.jsxs)(z.gC,{children:[(0,a.jsx)(z.eb,{value:"low",children:eg("priority.low")}),(0,a.jsx)(z.eb,{value:"medium",children:eg("priority.medium")}),(0,a.jsx)(z.eb,{value:"high",children:eg("priority.high")})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("tasks.storyPointsLabel")}),(0,a.jsx)(B.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:eY,onChange:e=>e0(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("acceptanceCriteria.title")}),(0,a.jsx)(K.C,{items:e2,onChange:e1})]}),eV&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(_.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:eg("tasks.dependencies")}),eI.length>0&&(0,a.jsx)("div",{className:"space-y-1.5",children:eI.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eu[e.status]||""),children:eg("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>eO(t=>t.filter(t=>t.uuid!==e.uuid)),children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}),tu.length>0&&(0,a.jsxs)(z.l6,{onValueChange:e=>{let t=eq.find(t=>t.uuid===e);t&&eO(e=>[...e,t])},children:[(0,a.jsx)(z.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(z.yv,{placeholder:eg("tasks.addDependency")})]})}),(0,a.jsx)(z.gC,{children:tu.map(e=>(0,a.jsx)(z.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},eI.length)]})]}):v?(0,a.jsxs)(ec.P.div,{variants:ed.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:v.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(q.eu,{className:"h-7 w-7",children:(0,a.jsx)(q.q5,{className:"agent"===v.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===v.assignee.type?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}):v.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:v.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===v.assignee.type?"".concat(eg("common.agent")," • ").concat(v.assignee.assignedAt?(0,el.r)(v.assignee.assignedAt):""):eg("common.user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:eg("common.unassigned")})})]}),eP.length>0&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("sessions.activeWorkers")}),(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:eP.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full bg-green-500 flex-shrink-0"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-xs font-medium text-[#2C2C2C] truncate",children:e.sessionName}),(0,a.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[e.agentName," \xb7 ",eh(e.checkinAt,eg)]})]})]},e.sessionUuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("common.description")}),(0,a.jsx)("div",{className:"mt-2",children:v.description?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:v.description})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:eg("common.noDescription")})})]}),v.acceptanceCriteria&&!(v.acceptanceCriteriaItems&&v.acceptanceCriteriaItems.length>0)&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("tasks.acceptanceCriteria")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:v.acceptanceCriteria})})})]}),ek&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("common.source")}),(0,a.jsx)("a",{href:"/projects/".concat(U,"/proposals/").concat(ek.uuid),className:"mt-2 flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3 hover:bg-[#F0EDE5] transition-colors",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:ek.title})]})})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("tasks.dependencies")}),eL&&(0,a.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:eL}),ez?(0,a.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(a.Fragment,{children:[eB.length>0&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(h.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("tasks.dependsOn")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:eB.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eu[e.status]||""),children:eg("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>tc(e.uuid),children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),e_.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(h.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("tasks.blockedByThis")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:e_.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eu[e.status]||""),children:eg("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>td(e.uuid),children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),0===eB.length&&0===e_.length&&(0,a.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:eg("tasks.noDependencies")}),to.length>0&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(z.l6,{onValueChange:e=>tl(e),children:[(0,a.jsx)(z.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(z.yv,{placeholder:eg("tasks.addDependency")})]})}),(0,a.jsx)(z.gC,{children:to.map(e=>(0,a.jsx)(z.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},eB.length)})]})]}),v&&v.acceptanceCriteriaItems&&v.acceptanceCriteriaItems.length>0&&(()=>{let e=v.acceptanceCriteriaItems,t=v.acceptanceSummary,s=e=>"passed"===e?(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600"}):"failed"===e?(0,a.jsx)(f.A,{className:"h-4 w-4 text-red-600"}):(0,a.jsx)(b,{className:"h-4 w-4 text-yellow-600"}),i=e=>"passed"===e?"bg-green-50 text-green-700":"failed"===e?"bg-red-50 text-red-700":"bg-yellow-50 text-yellow-700",r=async(e,t)=>{(await I(v.uuid,[{uuid:e,status:t}])).success&&ef.refresh()};return(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("acceptanceCriteria.title")}),t&&(0,a.jsx)(F.E,{className:i(v.acceptanceStatus||"pending"),variant:"secondary",children:eg("acceptanceCriteria.progress",{passed:t.passed,total:t.total})})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[e.map(e=>(0,a.jsx)(E.Zp,{className:"p-3",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("div",{className:"mt-0.5 shrink-0",children:s(e.status)}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:e.description}),(0,a.jsx)(F.E,{variant:"outline",className:"text-[10px] shrink-0",children:e.required?eg("acceptanceCriteria.required"):eg("acceptanceCriteria.optional")})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:eg("acceptanceCriteria.devSelfCheck")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(i(e.devStatus)),variant:"secondary",children:[s(e.devStatus),(0,a.jsx)("span",{className:"ml-1",children:eg("acceptanceCriteria.status.".concat(e.devStatus))})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:eg("acceptanceCriteria.verification")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(i(e.status)),variant:"secondary",children:[s(e.status),(0,a.jsx)("span",{className:"ml-1",children:eg("acceptanceCriteria.status.".concat(e.status))})]})]})]}),e.devEvidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:eg("acceptanceCriteria.devEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.devEvidence})]}),e.evidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:eg("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]}),"pending"===e.status?(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-green-700 border-green-200 hover:bg-green-50",onClick:()=>r(e.uuid,"passed"),children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 mr-1"}),eg("acceptanceCriteria.pass")]}),(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-red-700 border-red-200 hover:bg-red-50",onClick:()=>r(e.uuid,"failed"),children:[(0,a.jsx)(f.A,{className:"h-3.5 w-3.5 mr-1"}),eg("acceptanceCriteria.fail")]})]}):(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(S.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-[#2C2C2C]",onClick:async()=>{(await O(v.uuid,e.uuid)).success&&ef.refresh()},children:eg("acceptanceCriteria.undoVerification")})})]})]})},e.uuid)),t&&(t.requiredPending>0||t.requiredFailed>0)&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 p-3 mt-2",children:[(0,a.jsx)(j.A,{className:"h-4 w-4 text-yellow-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-yellow-700",children:eg("acceptanceCriteria.gateBlocked",{count:t.requiredPending+t.requiredFailed})})]}),t&&0===t.requiredPending&&0===t.requiredFailed&&t.required>0&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 p-3 mt-2",children:[(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-green-700",children:eg("acceptanceCriteria.gateReady")})]})]})]})})(),(0,a.jsxs)("div",{className:"mt-5 flex-1",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:eC?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===ey.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:eg("common.noActivity")}):ey.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,a.jsx)("div",{className:"h-2 w-2 rounded-full ".concat(function(e){switch(e){case"task_created":return"bg-[#C67A52]";case"task_assigned":case"task_claimed":return"bg-[#1976D2]";case"task_started":return"bg-[#5A9E6F]";case"task_submitted":return"bg-[#7B1FA2]";case"task_completed":case"task_verified":return"bg-[#00796B]";case"task_released":return"bg-[#E65100]";default:return"bg-[#6B6B6B]"}}(e.action))})}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"text-xs text-[#2C2C2C]",children:function(e,t){let s=e.sessionName?"".concat(e.actorName," / ").concat(e.sessionName):e.actorName,{action:a}=e;switch(a){case"task_created":return t("activity.taskCreated",{actor:s});case"task_assigned":return t("activity.taskAssigned",{actor:s});case"task_claimed":return t("activity.taskClaimed",{actor:s});case"task_started":return t("activity.taskStarted",{actor:s});case"task_submitted":return t("activity.taskSubmitted",{actor:s});case"task_completed":case"task_verified":return t("activity.taskCompleted",{actor:s});case"task_released":return t("activity.taskReleased",{actor:s});case"task_status_changed":return t("activity.taskStatusChanged",{actor:s});default:return"".concat(s,": ").concat(a)}}(e,eg)}),(0,a.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:eh(e.createdAt,eg)})]})]},e.uuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:eg("comments.title")}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(V.$,{targetType:"task",targetUuid:v.uuid,currentUserUuid:H,compact:!0})})]})]}):null})}),(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:eW?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:ti,disabled:e5,children:eg("common.cancel")}),(0,a.jsx)(S.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:tr,disabled:e5||!eG.trim(),children:e5?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),eg("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{className:"mr-2 h-4 w-4"}),eV?eg("common.create"):eg("tasks.saveChanges")]})})]}):v?(0,a.jsxs)(a.Fragment,{children:["done"!==v.status&&"closed"!==v.status&&(0,a.jsxs)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>eS(!0),disabled:ej,children:[(0,a.jsx)(y.A,{className:"mr-2 h-4 w-4"}),eg("common.assign")]}),te&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>ta("in_progress"),disabled:ej,children:[(0,a.jsx)(A.A,{className:"mr-2 h-4 w-4"}),eg("tasks.startWork")]}),tt&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>ta("to_verify"),disabled:ej,children:[(0,a.jsx)(C.A,{className:"mr-2 h-4 w-4"}),eg("tasks.submitForReview")]}),ts&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>ta("done"),disabled:ej,children:[(0,a.jsx)(w,{className:"mr-2 h-4 w-4"}),eg("tasks.markAsVerified")]}),("done"===v.status||"closed"===v.status)&&(0,a.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:eg("tasks.taskCompleted")}),(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsxs)(T.Lt,{children:[(0,a.jsx)(T.tv,{asChild:!0,children:(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,a.jsx)(k.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(T.EO,{children:[(0,a.jsxs)(T.wd,{children:[(0,a.jsx)(T.r7,{children:eg("tasks.deleteTask")}),(0,a.jsx)(T.$v,{children:eg("tasks.deleteTaskConfirm",{title:v.title})})]}),(0,a.jsxs)(T.ck,{children:[(0,a.jsx)(T.Zr,{children:eg("common.cancel")}),(0,a.jsx)(T.Rx,{variant:"destructive",onClick:tn,disabled:e4,children:e4?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),eg("common.delete")]}):eg("common.delete")})]})]})]})})]}):null})})]}),v&&eE&&(0,a.jsx)(et,{task:v,projectUuid:U,currentUserUuid:H,onClose:()=>eS(!1)})]})}},18789:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},32700:(e,t,s)=>{s.d(t,{w:()=>i});var a=s(52217);let i=(0,a.createServerReference)("60e61948d08a5f90212a42d4cd0efd78a07aae46f2",a.callServer,void 0,a.findSourceMapURL,"addTaskDependencyAction")},41033:(e,t,s)=>{s.d(t,{C:()=>c,z:()=>l});var a=s(90508);s(1856);var i=s(97964),r=s(63197),n=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(r.Root,{"data-slot":"radio-group",className:(0,n.cn)("grid gap-3",t),...s})}function c(e){let{className:t,...s}=e;return(0,a.jsx)(r.Item,{"data-slot":"radio-group-item",className:(0,n.cn)("border-input text-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 dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(r.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,a.jsx)(i.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},41111:(e,t,s)=>{s.d(t,{h:()=>i});var a=s(52217);let i=(0,a.createServerReference)("400a9b126aa8432283d46f71e2fa1da35098566ce7",a.callServer,void 0,a.findSourceMapURL,"getBatchWorkerCountsAction")},57731:(e,t,s)=>{s.d(t,{E:()=>c});var a=s(90508);s(1856);var i=s(49499),r=s(54154),n=s(24377);let l=(0,i.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function c(e){let{className:t,variant:s="default",asChild:i=!1,...c}=e,d=i?r.bL:"span";return(0,a.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,n.cn)(l({variant:s}),t),...c})}},62482:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},64993:(e,t,s)=>{s.d(t,{F:()=>n});var a=s(90508);s(1856);var i=s(65326),r=s(24377);function n(e){let{className:t,children:s,...n}=e;return(0,a.jsxs)(i.Root,{"data-slot":"scroll-area",className:(0,r.cn)("relative",t),...n,children:[(0,a.jsx)(i.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:s}),(0,a.jsx)(l,{}),(0,a.jsx)(i.Corner,{})]})}function l(e){let{className:t,orientation:s="vertical",...n}=e;return(0,a.jsx)(i.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:s,className:(0,r.cn)("flex touch-none p-px transition-colors select-none","vertical"===s&&"h-full w-2.5 border-l border-l-transparent","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent",t),...n,children:(0,a.jsx)(i.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,s)=>{s.d(t,{K5:()=>c,Rf:()=>l,Yv:()=>a,bK:()=>n,qG:()=>r,tE:()=>i});let a={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},i={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,y:-4,transition:{duration:a.fast,ease:a.easeOut}}},r={initial:{opacity:0},animate:{opacity:1,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,transition:{duration:a.fast,ease:a.easeOut}}};a.normal,a.easeOut,a.fast,a.easeOut;let n={initial:{},animate:{transition:{staggerChildren:a.stagger}}},l={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}}},c={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:a.fast,ease:a.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:a.fast,ease:a.easeOut}}}},70633:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},81531:(e,t,s)=>{s.d(t,{T:()=>i});var a=s(1856);function i(e,t){let[s,i]=(0,a.useState)(null!=t?t:null),[r,n]=(0,a.useState)(()=>new URLSearchParams(window.location.search).get("tab")),l=(0,a.useCallback)((t,s)=>{let a=new URLSearchParams(window.location.search);t?a.set("panel",t):a.delete("panel"),s?a.set("tab",s):a.delete("tab");let i=a.toString();return i?"".concat(e,"?").concat(i):e},[e]),c=(0,a.useCallback)((e,t)=>{let s=l(e,t);window.history.replaceState(null,"",s),i(e),n(null!=t?t:null)},[l]),d=(0,a.useCallback)(()=>{let e=l(null);window.history.replaceState(null,"",e),i(null),n(null)},[l]),o=(0,a.useCallback)(e=>{if(!s)return;let t=l(s,e);window.history.replaceState(null,"",t),n(e)},[l,s]);return(0,a.useEffect)(()=>{function e(){let e=new URLSearchParams(window.location.search),t=e.get("panel");t?(i(t),n(e.get("tab"))):(i(null),n(null))}return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),{selectedId:s,selectedTab:r,openPanel:c,closePanel:d,switchTab:o}}},88064:(e,t,s)=>{s.d(t,{J:()=>n});var a=s(90508);s(1856);var i=s(58057),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)(i.Root,{"data-slot":"label",className:(0,r.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",t),...s})}},90795:(e,t,s)=>{s.d(t,{Bj:()=>c,L8:()=>i,Wl:()=>d,_5:()=>l,eT:()=>r,fw:()=>n});var a=s(38106);let i=480;function r(e){switch(e){case"done":return"bg-[#00796B]";case"in_progress":return"bg-[#1976D2]";case"to_verify":return"bg-[#7B1FA2]";case"open":case"assigned":return"bg-[#E65100]";case"closed":return"bg-[#9A9A9A]";default:return"bg-[#D9D9D9]"}}function n(e,t){let s=new Date(e),i=new Date().getTime()-s.getTime(),r=Math.floor(i/6e4),n=Math.floor(i/36e5),l=Math.floor(i/864e5);return r<1?t("time.justNow"):r<60?t("time.minutesAgo",{minutes:r}):n<24?t("time.hoursAgo",{hours:n}):l<7?t("time.daysAgo",{days:l}):(0,a.r)(s)}let l={todo:"bg-[#FFF3E0] text-[#E65100]",in_progress:"bg-[#E3F2FD] text-[#1976D2]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]"},c={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},d={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},91846:(e,t,s)=>{s.d(t,{bq:()=>u,eb:()=>m,gC:()=>x,l6:()=>d,yv:()=>o});var a=s(90508);s(1856);var i=s(17730),r=s(60532),n=s(89967),l=s(48218),c=s(24377);function d(e){let{...t}=e;return(0,a.jsx)(l.Root,{"data-slot":"select",...t})}function o(e){let{...t}=e;return(0,a.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:s="default",children:r,...n}=e;return(0,a.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":s,className:(0,c.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]: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 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n,children:[r,(0,a.jsx)(l.Icon,{asChild:!0,children:(0,a.jsx)(i.A,{className:"size-4 opacity-50"})})]})}function x(e){let{className:t,children:s,position:i="item-aligned",align:r="center",...n}=e;return(0,a.jsx)(l.Portal,{children:(0,a.jsxs)(l.Content,{"data-slot":"select-content",className:(0,c.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:i,align:r,...n,children:[(0,a.jsx)(p,{}),(0,a.jsx)(l.Viewport,{className:(0,c.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,a.jsx)(h,{})]})})}function m(e){let{className:t,children:s,...i}=e;return(0,a.jsxs)(l.Item,{"data-slot":"select-item",className:(0,c.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...i,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(l.ItemIndicator,{children:(0,a.jsx)(r.A,{className:"size-4"})})}),(0,a.jsx)(l.ItemText,{children:s})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,c.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(n.A,{className:"size-4"})})}function h(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,c.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(i.A,{className:"size-4"})})}},92745:(e,t,s)=>{s.d(t,{_u:()=>y,c_:()=>g,nF:()=>N,qK:()=>b});var a=s(90508),i=s(1856),r=s(26145),n=s(75380);s(33805);var l=s(10196),c=s.n(l),d=s(39268),o=s(57731);let u={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},x={open:"#E65100",assigned:"#1976D2",in_progress:"#5A9E6F",to_verify:"#7B1FA2",done:"#00796B",closed:"#9A9A9A"},m={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},p={open:"status.open",assigned:"status.assigned",in_progress:"status.inProgress",to_verify:"status.toVerify",done:"status.done",closed:"status.closed"},h={low:"bg-[#9A9A9A]",medium:"bg-[#E65100]",high:"bg-[#D32F2F]",critical:"bg-[#B71C1C]"},g={taskNode:function(e){let{data:t}=e,s=(0,d.c)();return(0,a.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] bg-white px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-[#C67A52] transition-colors",children:[(0,a.jsx)(r.h7,{type:"target",position:n.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,a.jsx)(o.E,{className:"text-[10px] ".concat(u[t.status]||""),children:s(p[t.status]||t.status)}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:"h-1.5 w-1.5 rounded-full ".concat(h[t.priority]||"")}),(0,a.jsx)("span",{className:"text-[10px] text-[#9A9A9A]",children:s(m[t.priority]||t.priority)})]})]}),(0,a.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:t.title}),(0,a.jsx)(r.h7,{type:"source",position:n.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},f={taskNode:function(e){let{data:t}=e,s=x[t.status]||"#E5E0D8";return(0,a.jsxs)("div",{className:"rounded-md border-[1.5px] bg-white px-2.5 py-1.5 shadow-sm",style:{borderColor:s,width:v},children:[(0,a.jsx)(r.h7,{type:"target",position:n.yX.Top,className:"!bg-[#C67A52] !w-1.5 !h-1.5"}),(0,a.jsx)("p",{className:"text-[10px] font-medium text-[#2C2C2C] leading-tight line-clamp-2",children:t.title}),(0,a.jsx)(r.h7,{type:"source",position:n.yX.Bottom,className:"!bg-[#C67A52] !w-1.5 !h-1.5"})]})}},v=150,b={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},j={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function N(e,t,s){var a,i,r,n;let l=null!=(a=null==s?void 0:s.nodeWidth)?a:240,d=null!=(i=null==s?void 0:s.nodeHeight)?i:80,o=new(c()).graphlib.Graph;return o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:"TB",nodesep:null!=(r=null==s?void 0:s.nodesep)?r:50,ranksep:null!=(n=null==s?void 0:s.ranksep)?n:80}),e.forEach(e=>{o.setNode(e.id,{width:l,height:d})}),t.forEach(e=>{o.setEdge(e.source,e.target)}),c().layout(o),{nodes:e.map(e=>{let t=o.node(e.id);return{...e,position:{x:t.x-l/2,y:t.y-d/2}}}),edges:t}}function y(e){let{tasks:t,edges:s,readonly:n=!1,compact:l=!1,height:c,onNodeClick:o,className:u}=e,x=(0,d.c)(),{layoutedNodes:m,layoutedEdges:p}=(0,i.useMemo)(()=>{let e=t.map(e=>{var t;return{id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:null!=(t=e.proposalUuid)?t:null}}}),a=N(e,s.map((e,t)=>({id:"e-".concat(t),source:e.to,target:e.from,...l?j:b})),l?{nodeWidth:v,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:a.nodes,layoutedEdges:a.edges}},[t,s,l]);return 0===t.length?(0,a.jsx)("div",{className:"flex items-center justify-center text-sm text-[#9A9A9A] ".concat(u||""),style:c?{height:c}:void 0,children:x("tasks.noTasksToDisplay")}):(0,a.jsx)("div",{className:"rounded-[10px] border border-[#E5E0D8] bg-[#F7F6F3] ".concat(u||""),style:c?{height:c}:void 0,children:(0,a.jsxs)(r.Gc,{nodes:m,edges:p,nodeTypes:l?f:g,onNodeClick:o?(e,t)=>o(t.id):void 0,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},nodesDraggable:!n,nodesConnectable:!n,elementsSelectable:!n,panOnDrag:!0,zoomOnScroll:!0,children:[(0,a.jsx)(r.VS,{color:"#E5E0D8",gap:20}),!n&&(0,a.jsx)(r.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})})}},97438:(e,t,s)=>{s.d(t,{Cf:()=>x,Es:()=>p,L3:()=>h,c7:()=>m,lG:()=>c,rr:()=>g,zM:()=>d});var a=s(90508);s(1856);var i=s(9160),r=s(71350),n=s(24377),l=s(22922);function c(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...t})}function o(e){let{...t}=e;return(0,a.jsx)(r.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(r.Overlay,{"data-slot":"dialog-overlay",className:(0,n.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function x(e){let{className:t,children:s,showCloseButton:l=!0,...c}=e;return(0,a.jsxs)(o,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{}),(0,a.jsxs)(r.Content,{"data-slot":"dialog-content",className:(0,n.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...c,children:[s,l&&(0,a.jsxs)(r.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(i.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,n.cn)("flex flex-col gap-2 text-center sm:text-left",t),...s})}function p(e){let{className:t,showCloseButton:s=!1,children:i,...c}=e;return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...c,children:[i,s&&(0,a.jsx)(r.Close,{asChild:!0,children:(0,a.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function h(e){let{className:t,...s}=e;return(0,a.jsx)(r.Title,{"data-slot":"dialog-title",className:(0,n.cn)("text-lg leading-none font-semibold",t),...s})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(r.Description,{"data-slot":"dialog-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...s})}}}]);