@chorus-aidlc/chorus 0.9.4 → 0.11.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 (695) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +481 -430
  3. package/.next/standalone/.next/app-path-routes-manifest.json +57 -44
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +33 -33
  6. package/.next/standalone/.next/routes-manifest.json +33 -17
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -8
  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 +5 -5
  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 +6 -6
  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 +6 -6
  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 +6 -6
  59. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
  60. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/session/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -0
  68. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -0
  69. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -0
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
  80. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/auth/check-default/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/auth/me/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/auth/refresh/route.js +1 -1
  96. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/auth/session/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -0
  105. package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -0
  106. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -0
  107. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -0
  108. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -0
  109. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -0
  110. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -0
  111. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -0
  112. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -0
  113. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -0
  114. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -0
  115. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -0
  116. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -0
  117. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -0
  118. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -0
  119. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -0
  120. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -0
  121. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -0
  122. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -0
  123. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -0
  124. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -0
  125. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -0
  126. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -0
  127. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -0
  128. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -0
  129. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -0
  130. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -0
  131. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -0
  132. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -0
  133. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -0
  134. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -0
  135. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -0
  136. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -0
  137. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -0
  138. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -0
  139. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -0
  140. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -0
  143. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -0
  144. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -0
  145. package/.next/standalone/.next/server/app/api/events/notifications/route.js +6 -2
  146. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/events/route.js +7 -3
  149. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/health/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -0
  163. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -0
  164. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -0
  165. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  169. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/mcp/route.js +6 -42
  172. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  190. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  193. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  196. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
  199. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  230. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  233. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  236. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  238. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  240. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  242. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  244. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  246. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/api/search/route.js +1 -1
  248. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  250. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  255. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  256. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  257. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  258. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  259. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  260. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  261. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  262. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  263. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  265. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  267. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  268. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/index.html +1 -1
  271. package/.next/standalone/.next/server/app/index.rsc +5 -5
  272. package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
  273. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  274. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  275. package/.next/standalone/.next/server/app/login/admin.rsc +6 -6
  276. package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
  277. package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  280. package/.next/standalone/.next/server/app/login/callback.rsc +6 -6
  281. package/.next/standalone/.next/server/app/login/page.js +2 -2
  282. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
  284. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  285. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  286. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +6 -6
  287. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  289. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +5 -5
  290. package/.next/standalone/.next/server/app/login.html +1 -1
  291. package/.next/standalone/.next/server/app/login.rsc +6 -6
  292. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  293. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  294. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  295. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  296. package/.next/standalone/.next/server/app/onboarding.rsc +6 -6
  297. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/projects.html +1 -1
  299. package/.next/standalone/.next/server/app/projects.rsc +7 -7
  300. package/.next/standalone/.next/server/app/settings.html +1 -1
  301. package/.next/standalone/.next/server/app/settings.rsc +7 -7
  302. package/.next/standalone/.next/server/app-paths-manifest.json +57 -44
  303. package/.next/standalone/.next/server/chunks/1064.js +1 -0
  304. package/.next/standalone/.next/server/chunks/1596.js +13 -0
  305. package/.next/standalone/.next/server/chunks/2213.js +1 -0
  306. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  307. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  308. package/.next/standalone/.next/server/chunks/3219.js +2 -0
  309. package/.next/standalone/.next/server/chunks/3371.js +1 -0
  310. package/.next/standalone/.next/server/chunks/3419.js +1 -0
  311. package/.next/standalone/.next/server/chunks/369.js +1 -0
  312. package/.next/standalone/.next/server/chunks/4638.js +1 -0
  313. package/.next/standalone/.next/server/chunks/4711.js +530 -0
  314. package/.next/standalone/.next/server/chunks/4958.js +1 -1
  315. package/.next/standalone/.next/server/chunks/5039.js +1 -0
  316. package/.next/standalone/.next/server/chunks/5300.js +1 -1
  317. package/.next/standalone/.next/server/chunks/5631.js +1 -0
  318. package/.next/standalone/.next/server/chunks/6044.js +1 -1
  319. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  320. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  321. package/.next/standalone/.next/server/chunks/6461.js +1 -0
  322. package/.next/standalone/.next/server/chunks/6712.js +1 -0
  323. package/.next/standalone/.next/server/chunks/7002.js +1 -1
  324. package/.next/standalone/.next/server/chunks/7063.js +2 -2
  325. package/.next/standalone/.next/server/chunks/7258.js +37 -0
  326. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  327. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  328. package/.next/standalone/.next/server/chunks/7867.js +1 -0
  329. package/.next/standalone/.next/server/chunks/7897.js +1 -0
  330. package/.next/standalone/.next/server/chunks/8012.js +1 -0
  331. package/.next/standalone/.next/server/chunks/8245.js +31 -0
  332. package/.next/standalone/.next/server/chunks/8322.js +1 -1
  333. package/.next/standalone/.next/server/chunks/8551.js +1 -1
  334. package/.next/standalone/.next/server/chunks/9015.js +1 -1
  335. package/.next/standalone/.next/server/chunks/920.js +1 -1
  336. package/.next/standalone/.next/server/chunks/937.js +16 -2
  337. package/.next/standalone/.next/server/chunks/9629.js +1 -0
  338. package/.next/standalone/.next/server/chunks/9725.js +1 -0
  339. package/.next/standalone/.next/server/instrumentation.js +1 -1
  340. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  341. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  342. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  343. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  344. package/.next/standalone/.next/server/pages/404.html +1 -1
  345. package/.next/standalone/.next/server/pages/500.html +1 -1
  346. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  347. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  348. package/.next/standalone/.next/server/src/middleware.js +2 -2
  349. package/.next/standalone/.next/static/519aK55QLHaVN7b1TVDkB/_buildManifest.js +1 -0
  350. package/.next/standalone/.next/static/chunks/1217-323cc20b73ebfde9.js +1 -0
  351. package/.next/standalone/.next/static/chunks/{11207-8f4b154804f5a66f.js → 15183-5734d279b26e9414.js} +2 -2
  352. package/.next/standalone/.next/static/chunks/1879-7a8b283283218df2.js +1 -0
  353. package/.next/standalone/.next/static/chunks/19276-50b367d7b93d5f34.js +1 -0
  354. package/.next/standalone/.next/static/chunks/23466-e1176a6d814f4897.js +1 -0
  355. package/.next/standalone/.next/static/chunks/38040-a8687f86dd8e9d67.js +1 -0
  356. package/.next/standalone/.next/static/chunks/4860.43f5ad8a3aaed0e8.js +1 -0
  357. package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +1 -0
  358. package/.next/standalone/.next/static/chunks/59296-783831c43aa0162e.js +1 -0
  359. package/.next/standalone/.next/static/chunks/60648-36ccbee4ce232d52.js +1 -0
  360. package/.next/standalone/.next/static/chunks/60694-68232120903209df.js +1 -0
  361. package/.next/standalone/.next/static/chunks/64648-81f03be6f9793ab9.js +1 -0
  362. package/.next/standalone/.next/static/chunks/{94655-1c75e0590a66215e.js → 66969-12f0b22c51f5a410.js} +1 -1
  363. package/.next/standalone/.next/static/chunks/70536-b8bf71098ae11f07.js +1 -0
  364. package/.next/standalone/.next/static/chunks/71350-88c2649fc693c1e8.js +1 -0
  365. package/.next/standalone/.next/static/chunks/78389-b32edc6bd5c570a9.js +1 -0
  366. package/.next/standalone/.next/static/chunks/78584-eb2fa8cf2f266329.js +1 -0
  367. package/.next/standalone/.next/static/chunks/78917-150ed14a99844aab.js +1 -0
  368. package/.next/standalone/.next/static/chunks/8574-b9739eb8d054c793.js +1 -0
  369. package/.next/standalone/.next/static/chunks/93346-5489d90bc2d57190.js +1 -0
  370. package/.next/standalone/.next/static/chunks/99373.0768feb3a08c7da3.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-0a28456fea4ce95a.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/{page-63a6a5b6cf9ecf87.js → page-a79969c5c9aadacd.js} +1 -1
  373. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-4bc556c2fc8f3d24.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-e00752a72c31663f.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ef82b871895245ea.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-2c9bcbd11ddb8661.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-630b168598513ce8.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-99639479cc98965f.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-335f2450e44a0fba.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-4a191d69b2b6e880.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0faebb478be4c85d.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-c36345b80cc5bf5c.js → page-583e58d4d689d38b.js} +1 -1
  383. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2e8fcb72687100df.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-cc2fe0c5b749cd2f.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/admin/companies/new/{page-55fb2107f955c9ed.js → page-4f3b3c449c61f6d2.js} +1 -1
  386. package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/admin/page-0cc8cf246db43e5d.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-4bc556c2fc8f3d24.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-4bc556c2fc8f3d24.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-4bc556c2fc8f3d24.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-4bc556c2fc8f3d24.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/api/agents/route-4bc556c2fc8f3d24.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  397. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-4bc556c2fc8f3d24.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-4bc556c2fc8f3d24.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-4bc556c2fc8f3d24.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-4bc556c2fc8f3d24.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-4bc556c2fc8f3d24.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-4bc556c2fc8f3d24.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-4bc556c2fc8f3d24.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-4bc556c2fc8f3d24.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-4bc556c2fc8f3d24.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-4bc556c2fc8f3d24.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-4bc556c2fc8f3d24.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/comments/route-4bc556c2fc8f3d24.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-4bc556c2fc8f3d24.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-4bc556c2fc8f3d24.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-4bc556c2fc8f3d24.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-4bc556c2fc8f3d24.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-4bc556c2fc8f3d24.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-4bc556c2fc8f3d24.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-4bc556c2fc8f3d24.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-4bc556c2fc8f3d24.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-4bc556c2fc8f3d24.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-4bc556c2fc8f3d24.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-4bc556c2fc8f3d24.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-4bc556c2fc8f3d24.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-4bc556c2fc8f3d24.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-4bc556c2fc8f3d24.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/events/route-4bc556c2fc8f3d24.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/health/route-4bc556c2fc8f3d24.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-4bc556c2fc8f3d24.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-4bc556c2fc8f3d24.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-4bc556c2fc8f3d24.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/mcp/route-4bc556c2fc8f3d24.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-4bc556c2fc8f3d24.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-4bc556c2fc8f3d24.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-4bc556c2fc8f3d24.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-4bc556c2fc8f3d24.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-4bc556c2fc8f3d24.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-4bc556c2fc8f3d24.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/notifications/route-4bc556c2fc8f3d24.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-4bc556c2fc8f3d24.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-4bc556c2fc8f3d24.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-4bc556c2fc8f3d24.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-4bc556c2fc8f3d24.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-4bc556c2fc8f3d24.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-4bc556c2fc8f3d24.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-4bc556c2fc8f3d24.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-4bc556c2fc8f3d24.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-4bc556c2fc8f3d24.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-4bc556c2fc8f3d24.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-4bc556c2fc8f3d24.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-4bc556c2fc8f3d24.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-4bc556c2fc8f3d24.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-4bc556c2fc8f3d24.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-4bc556c2fc8f3d24.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/projects/route-4bc556c2fc8f3d24.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-4bc556c2fc8f3d24.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-4bc556c2fc8f3d24.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-4bc556c2fc8f3d24.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-4bc556c2fc8f3d24.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/search/route-4bc556c2fc8f3d24.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-4bc556c2fc8f3d24.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-4bc556c2fc8f3d24.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/layout-9963339572e2e64e.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/login/admin/page-d470135f7aab6c5e.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/login/callback/{page-48a34c31a0f8e58c.js → page-0edd93f50cb4f6ea.js} +1 -1
  474. package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-e0444ad8b50121f5.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/onboarding/page-e9a69a0c537c704f.js +1 -0
  477. package/.next/standalone/.next/static/chunks/{webpack-4a8c75a0d40c2106.js → webpack-87284a4533d77eaf.js} +1 -1
  478. package/.next/standalone/.next/static/css/{84edd78de243cde6.css → b496025c9cd768cc.css} +1 -1
  479. package/.next/standalone/.next/static/css/e78b3c856420a09f.css +1 -0
  480. package/.next/standalone/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
  481. package/.next/standalone/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
  482. package/.next/standalone/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
  483. package/.next/standalone/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
  484. package/.next/standalone/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
  485. package/.next/standalone/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
  486. package/.next/standalone/package.json +3 -1
  487. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  488. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  489. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
  490. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  491. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +19 -3
  492. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  493. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  494. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  495. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  496. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  497. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  498. package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
  499. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  500. package/.next/standalone/public/skill/idea-chorus/SKILL.md +19 -3
  501. package/.next/standalone/public/skill/package.json +1 -1
  502. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  503. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  504. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  505. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  506. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  507. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  508. package/README.md +29 -0
  509. package/README.zh.md +29 -0
  510. package/chorus.mjs +120 -16
  511. package/cli/backfill.mjs +190 -0
  512. package/cli/chorus-client.mjs +154 -0
  513. package/cli/claude-spawner.mjs +415 -0
  514. package/cli/client-args.mjs +146 -0
  515. package/cli/control-handler.mjs +180 -0
  516. package/cli/credentials.mjs +155 -0
  517. package/cli/daemon-agent.mjs +38 -0
  518. package/cli/daemon-banner.mjs +80 -0
  519. package/cli/daemon-config.mjs +84 -0
  520. package/cli/daemon-lifecycle.mjs +191 -0
  521. package/cli/daemon-permission-mode.mjs +68 -0
  522. package/cli/daemon-rest-client.mjs +272 -0
  523. package/cli/daemon.mjs +572 -0
  524. package/cli/event-router.mjs +248 -0
  525. package/cli/interrupt-reporter.mjs +87 -0
  526. package/cli/lineage.mjs +155 -0
  527. package/cli/login.mjs +151 -0
  528. package/cli/mcp-config.mjs +58 -0
  529. package/cli/process-killer.mjs +205 -0
  530. package/cli/prompts.mjs +273 -0
  531. package/cli/sse-listener.mjs +258 -0
  532. package/cli/turn-reporter.mjs +75 -0
  533. package/cli/upload-hooks.mjs +400 -0
  534. package/cli/wake-queue.mjs +121 -0
  535. package/cli/waker.mjs +475 -0
  536. package/package.json +3 -1
  537. package/prisma/migrations/20260611101056_add_idea_lineage/migration.sql +5 -0
  538. package/prisma/migrations/20260615082309_add_daemon_connection/migration.sql +37 -0
  539. package/prisma/migrations/20260616152622_add_daemon_task_execution/migration.sql +28 -0
  540. package/prisma/migrations/20260617013334_generalize_daemon_execution_to_any_resource/migration.sql +38 -0
  541. package/prisma/migrations/20260618022828_add_daemon_execution_interrupted/migration.sql +2 -0
  542. package/prisma/migrations/20260619055322_daemon_session_conversation/migration.sql +77 -0
  543. package/prisma/schema.prisma +368 -185
  544. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +0 -2
  545. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +0 -1
  546. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +0 -1
  547. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +0 -2
  548. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +0 -1
  549. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +0 -1
  550. package/.next/standalone/.next/server/chunks/1059.js +0 -1
  551. package/.next/standalone/.next/server/chunks/1165.js +0 -1
  552. package/.next/standalone/.next/server/chunks/1615.js +0 -31
  553. package/.next/standalone/.next/server/chunks/162.js +0 -16
  554. package/.next/standalone/.next/server/chunks/1871.js +0 -1
  555. package/.next/standalone/.next/server/chunks/2909.js +0 -98
  556. package/.next/standalone/.next/server/chunks/2990.js +0 -1
  557. package/.next/standalone/.next/server/chunks/3139.js +0 -1
  558. package/.next/standalone/.next/server/chunks/324.js +0 -1
  559. package/.next/standalone/.next/server/chunks/3555.js +0 -1
  560. package/.next/standalone/.next/server/chunks/3576.js +0 -1
  561. package/.next/standalone/.next/server/chunks/3611.js +0 -158
  562. package/.next/standalone/.next/server/chunks/4090.js +0 -13
  563. package/.next/standalone/.next/server/chunks/4343.js +0 -1
  564. package/.next/standalone/.next/server/chunks/4974.js +0 -1
  565. package/.next/standalone/.next/server/chunks/5491.js +0 -1
  566. package/.next/standalone/.next/server/chunks/5541.js +0 -1
  567. package/.next/standalone/.next/server/chunks/5561.js +0 -7
  568. package/.next/standalone/.next/server/chunks/6643.js +0 -1
  569. package/.next/standalone/.next/server/chunks/6767.js +0 -1
  570. package/.next/standalone/.next/server/chunks/7228.js +0 -2
  571. package/.next/standalone/.next/server/chunks/7462.js +0 -255
  572. package/.next/standalone/.next/server/chunks/7621.js +0 -1
  573. package/.next/standalone/.next/server/chunks/8144.js +0 -1
  574. package/.next/standalone/.next/server/chunks/8637.js +0 -1
  575. package/.next/standalone/.next/server/chunks/896.js +0 -1
  576. package/.next/standalone/.next/server/chunks/9508.js +0 -2
  577. package/.next/standalone/.next/server/chunks/9615.js +0 -1
  578. package/.next/standalone/.next/static/YJZurE1onX9K-RDNIplc5/_buildManifest.js +0 -1
  579. package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +0 -1
  580. package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +0 -1
  581. package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +0 -1
  582. package/.next/standalone/.next/static/chunks/21932-bce5ba937d1603e1.js +0 -1
  583. package/.next/standalone/.next/static/chunks/23466-842c126491b753bc.js +0 -1
  584. package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +0 -1
  585. package/.next/standalone/.next/static/chunks/37880-4395be5cee4112fa.js +0 -1
  586. package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +0 -1
  587. package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +0 -1
  588. package/.next/standalone/.next/static/chunks/4860.1bebb2a898b170f6.js +0 -1
  589. package/.next/standalone/.next/static/chunks/51841-0e4e0e63b437dcfd.js +0 -1
  590. package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +0 -1
  591. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +0 -1
  592. package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +0 -1
  593. package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +0 -1
  594. package/.next/standalone/.next/static/chunks/70093-0ff6fd59445b5cb9.js +0 -1
  595. package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +0 -1
  596. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +0 -1
  597. package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +0 -1
  598. package/.next/standalone/.next/static/chunks/99373.13c8ac5da1ddabe9.js +0 -1
  599. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b55a8d6d9bd27276.js +0 -1
  600. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-99297f77cce24151.js +0 -1
  601. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-fd10bca891f0f73a.js +0 -1
  602. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-2e000a7010d1e9ea.js +0 -1
  603. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +0 -1
  604. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +0 -1
  605. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +0 -1
  606. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +0 -1
  607. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-414b398806324ad1.js +0 -1
  608. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +0 -1
  609. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +0 -1
  610. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +0 -1
  611. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-ab87cbb18d0ee538.js +0 -1
  612. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-81682b4aa6859615.js +0 -1
  613. package/.next/standalone/.next/static/chunks/app/admin/companies/page-bbd92a7b214ddbf5.js +0 -1
  614. package/.next/standalone/.next/static/chunks/app/admin/page-c4167418611b4a6b.js +0 -1
  615. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-99297f77cce24151.js +0 -1
  616. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-99297f77cce24151.js +0 -1
  617. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-99297f77cce24151.js +0 -1
  618. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-99297f77cce24151.js +0 -1
  619. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-99297f77cce24151.js +0 -1
  620. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  621. package/.next/standalone/.next/static/chunks/app/api/agents/route-99297f77cce24151.js +0 -1
  622. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-99297f77cce24151.js +0 -1
  623. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-99297f77cce24151.js +0 -1
  624. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-99297f77cce24151.js +0 -1
  625. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-99297f77cce24151.js +0 -1
  626. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-99297f77cce24151.js +0 -1
  627. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-99297f77cce24151.js +0 -1
  628. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-99297f77cce24151.js +0 -1
  629. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-99297f77cce24151.js +0 -1
  630. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-99297f77cce24151.js +0 -1
  631. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-99297f77cce24151.js +0 -1
  632. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-99297f77cce24151.js +0 -1
  633. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-99297f77cce24151.js +0 -1
  634. package/.next/standalone/.next/static/chunks/app/api/comments/route-99297f77cce24151.js +0 -1
  635. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-99297f77cce24151.js +0 -1
  636. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-99297f77cce24151.js +0 -1
  637. package/.next/standalone/.next/static/chunks/app/api/events/route-99297f77cce24151.js +0 -1
  638. package/.next/standalone/.next/static/chunks/app/api/health/route-99297f77cce24151.js +0 -1
  639. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-99297f77cce24151.js +0 -1
  640. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-99297f77cce24151.js +0 -1
  641. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-99297f77cce24151.js +0 -1
  642. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-99297f77cce24151.js +0 -1
  643. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-99297f77cce24151.js +0 -1
  644. package/.next/standalone/.next/static/chunks/app/api/mcp/route-99297f77cce24151.js +0 -1
  645. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-99297f77cce24151.js +0 -1
  646. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-99297f77cce24151.js +0 -1
  647. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-99297f77cce24151.js +0 -1
  648. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-99297f77cce24151.js +0 -1
  649. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-99297f77cce24151.js +0 -1
  650. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-99297f77cce24151.js +0 -1
  651. package/.next/standalone/.next/static/chunks/app/api/notifications/route-99297f77cce24151.js +0 -1
  652. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-99297f77cce24151.js +0 -1
  653. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-99297f77cce24151.js +0 -1
  654. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-99297f77cce24151.js +0 -1
  655. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-99297f77cce24151.js +0 -1
  656. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-99297f77cce24151.js +0 -1
  657. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-99297f77cce24151.js +0 -1
  658. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-99297f77cce24151.js +0 -1
  659. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-99297f77cce24151.js +0 -1
  660. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-99297f77cce24151.js +0 -1
  661. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-99297f77cce24151.js +0 -1
  662. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-99297f77cce24151.js +0 -1
  663. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-99297f77cce24151.js +0 -1
  664. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-99297f77cce24151.js +0 -1
  665. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-99297f77cce24151.js +0 -1
  666. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-99297f77cce24151.js +0 -1
  667. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-99297f77cce24151.js +0 -1
  668. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-99297f77cce24151.js +0 -1
  669. package/.next/standalone/.next/static/chunks/app/api/projects/route-99297f77cce24151.js +0 -1
  670. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-99297f77cce24151.js +0 -1
  671. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-99297f77cce24151.js +0 -1
  672. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-99297f77cce24151.js +0 -1
  673. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-99297f77cce24151.js +0 -1
  674. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-99297f77cce24151.js +0 -1
  675. package/.next/standalone/.next/static/chunks/app/api/search/route-99297f77cce24151.js +0 -1
  676. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-99297f77cce24151.js +0 -1
  677. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-99297f77cce24151.js +0 -1
  678. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-99297f77cce24151.js +0 -1
  679. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-99297f77cce24151.js +0 -1
  680. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-99297f77cce24151.js +0 -1
  681. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-99297f77cce24151.js +0 -1
  682. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  683. package/.next/standalone/.next/static/chunks/app/layout-482dee7dace72c88.js +0 -1
  684. package/.next/standalone/.next/static/chunks/app/login/admin/page-4e72e6e4327ee7cd.js +0 -1
  685. package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +0 -1
  686. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +0 -1
  687. package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +0 -1
  688. package/.next/standalone/.next/static/css/bfe962487ee66da7.css +0 -1
  689. package/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
  690. package/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
  691. package/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
  692. package/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
  693. package/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
  694. package/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
  695. /package/.next/standalone/.next/static/{YJZurE1onX9K-RDNIplc5 → 519aK55QLHaVN7b1TVDkB}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- exports.id=7621,exports.ids=[7621],exports.modules={237:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeaCreateForm() from the server but IdeaCreateForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/ideas/idea-create-form.tsx","IdeaCreateForm")},8234:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>f});var d=c(10837),e=c(31009);function f({children:a}){return(0,d.jsx)(e.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:a})}},34799:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IdeasList:()=>z});var e=c(10837),f=c(21968),g=c(81512),h=c.n(g),i=c(9222),j=c(16235),k=c(97443),l=c(59129),m=c(65956),n=c(35198),o=c(49599),p=c(80251),q=c(97450),r=c(27380),s=c(76172),t=c(98625),u=c(22727),v=c(39099),w=c(92936),x=c(76664),y=a([q,r]);[q,r]=y.then?(await y)():y;let A={open:{dot:"bg-[#2563EB]",className:"bg-[#DBEAFE] text-[#1D4ED8] border-transparent"},elaborating:{dot:"bg-[#1976D2]",className:"bg-[#E3F2FD] text-[#1976D2] border-transparent"},proposal_created:{dot:"bg-[#FF9800]",className:"bg-[#FFF3E0] text-[#E65100] border-transparent"},completed:{dot:"bg-[#4CAF50]",className:"bg-[#E8F5E9] text-[#2E7D32] border-transparent"},closed:{dot:"bg-[#9A9A9A]",className:"bg-[#F5F5F5] text-[#6B6B6B] border-transparent"}},B={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};function z({ideas:a,projectUuid:b,currentUserUuid:c,usedIdeaUuids:d,ideaProposalMap:g,initialSelectedIdeaUuid:y}){let z=(0,i.c)(),[C,D]=(0,f.useState)(a),[E,F]=(0,f.useState)(d),[G,H]=(0,f.useState)(g),I=(0,f.useCallback)(async()=>{let a=await (0,w.z)(b);a.success&&(D(a.data.ideas),F(a.data.usedIdeaUuids),H(a.data.ideaProposalMap))},[b]);(0,s.eV)("idea",I);let J=`/projects/${b}/ideas`,{selectedId:K,openPanel:L,closePanel:M}=(0,t.T)(J,y),N=new Set(E),O=(0,f.useMemo)(()=>K?C.find(a=>a.uuid===K)??null:null,[K,C]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.I,{className:"space-y-4",children:C.map(a=>{let c=A[a.status]||A.open,d=N.has(a.uuid);return(0,e.jsx)(v.T,{children:(0,e.jsx)(u.D,{entityType:"idea",entityUuid:a.uuid,children:(0,e.jsxs)(n.Zp,{className:"cursor-pointer border-[#E5E0D8] py-4 transition-all hover:border-[#C67A52]/50 hover:shadow-sm",onClick:()=>L(a.uuid),children:[(0,e.jsxs)(n.aR,{className:"gap-0 py-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(p.eu,{size:"sm",children:(0,e.jsx)(p.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:a.createdBy?.type==="agent"?(0,e.jsx)(j.A,{className:"h-3 w-3"}):(0,e.jsx)(k.A,{className:"h-3 w-3"})})}),(0,e.jsx)("span",{className:"text-[11px] text-[#6B6B6B]",children:a.createdBy?.name||z("common.unknown")}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:"•"}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,x.r)(c)}(a.createdAt,z)})]}),(0,e.jsx)(n.X9,{children:(0,e.jsxs)(o.E,{className:`gap-1.5 text-[10px] ${c.className}`,children:[(0,e.jsx)("span",{className:`h-1.5 w-1.5 rounded-full ${c.dot}`}),d?z("ideas.proposalGenerated"):z(`status.${B[a.status]||a.status}`)]})})]}),(0,e.jsxs)(n.Wu,{className:"space-y-2 py-0",children:[a.assignee&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[11px] text-[#9A9A9A]",children:[z("ideas.assignedTo"),":"]}),(0,e.jsxs)(o.E,{className:"gap-1.5 bg-[#F0F9FF] text-[#0284C7] border-transparent text-[10px]",children:[(0,e.jsx)(j.A,{className:"h-3 w-3"}),a.assignee.name]})]}),(0,e.jsx)("h3",{className:"text-sm font-medium text-[#2C2C2C]",children:a.title}),a.content&&(0,e.jsx)("div",{className:"prose prose-sm max-w-none line-clamp-3 text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(q.MarkdownContent,{children:a.content})})]}),(0,e.jsxs)(n.wL,{className:"gap-4 py-0 text-[#6B6B6B]",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,e.jsxs)("span",{className:"text-xs",children:[a.commentCount," ",z("comments.title").toLowerCase()]})]}),d&&G[a.uuid]&&(0,e.jsxs)(h(),{href:`/projects/${b}/proposals/${G[a.uuid]}`,onClick:a=>a.stopPropagation(),className:"flex items-center gap-1.5 text-[#C67A52] hover:text-[#B56A42] transition-colors",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{className:"text-xs font-medium",children:z("ideas.viewProposal")})]})]})]})})},a.uuid)})}),O&&(0,e.jsx)(r.D,{idea:O,projectUuid:b,currentUserUuid:c,isUsedInProposal:N.has(O.uuid),onClose:M,onDeleted:M})]})}d()}catch(a){d(a)}})},36928:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>v});var e=c(10023),f=c(18198),g=c.n(f),h=c(66530),i=c(26555),j=c(85394),k=c(74236),l=c(61007),m=c(97448),n=c(29662),o=c(66643),p=c(61413),q=c(57578),r=c(54349),s=c(237),t=c(84805),u=a([n,o,p,q,r]);[n,o,p,q,r]=u.then?(await u)():u;let w=["open","elaborating","proposal_created"],x={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};async function v({projectUuid:a,filter:b,isAssignedToMeFilter:c,initialSelectedIdeaUuid:d}){let f=await (0,n.d)();f||(0,h.redirect)("/login");let u=await (0,i.A)();await (0,p.Yi)(f.companyUuid,a)||(0,h.redirect)("/projects");let{ideas:v}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3}),{ideas:y}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3,assignedToMe:!0,actorUuid:f.actorUuid,actorType:f.type}),z=v.reduce((a,b)=>(a[b.status]=(a[b.status]||0)+1,a),{}),A=v.map(a=>a.uuid),B=A.length>0?await (0,q.e1)(f.companyUuid,A):{usedIdeas:[]},C=B.usedIdeas.map(a=>a.uuid),D={};for(let a of B.usedIdeas)D[a.uuid]=a.proposalUuid;let E=A.length>0?await (0,r.uA)(f.companyUuid,"idea",A):{},F=v;return c&&(F=y),"all"!==b&&(F=F.filter(a=>a.status===b)),(0,e.jsxs)("div",{className:"p-4 md:p-8",children:[(0,e.jsxs)("div",{className:"mb-6",children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:u("ideas.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:u("ideas.subtitle")})]}),(0,e.jsx)("div",{className:"mb-6",children:(0,e.jsx)(s.IdeaCreateForm,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-6 flex gap-2 overflow-x-auto border-b border-border pb-4",children:[(0,e.jsx)(g(),{href:`/projects/${a}/ideas`,children:(0,e.jsxs)(j.$,{variant:"all"!==b||c?"ghost":"default",size:"sm",children:[u("ideas.all")," (",v.length,")"]})}),(0,e.jsx)(g(),{href:`/projects/${a}/ideas?assignedToMe=true`,children:(0,e.jsxs)(j.$,{variant:c&&"all"===b?"default":"ghost",size:"sm",children:[u("ideas.assignedToMe")," (",y.length,")"]})}),w.map(d=>{let f=z[d]||0;return(0,e.jsx)(g(),{href:`/projects/${a}/ideas?status=${d}${c?"&assignedToMe=true":""}`,children:(0,e.jsxs)(j.$,{variant:b===d?"default":"ghost",size:"sm",children:[u(`status.${x[d]}`)," (",f,")"]})},d)})]}),0===F.length?(0,e.jsx)(m.AnimatedEmptyState,{children:(0,e.jsxs)(k.Zp,{className:"flex flex-col items-center justify-center p-12 text-center",children:[(0,e.jsx)("div",{className:"mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-primary/10",children:(0,e.jsx)(l.A,{className:"h-8 w-8 text-primary"})}),(0,e.jsx)("h3",{className:"mb-2 text-lg font-medium text-foreground",children:"all"===b?u("ideas.noIdeas"):u("ideas.noIdeasWithStatus",{status:u(`status.${x[b]||b}`)})}),(0,e.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:"all"===b?u("ideas.startByAdding"):u("ideas.ideasWithStatus")})]})}):(0,e.jsx)(t.IdeasList,{ideas:F.map(a=>({...a,commentCount:E[a.uuid]||0})),projectUuid:a,currentUserUuid:f.actorUuid,usedIdeaUuids:C,ideaProposalMap:D,initialSelectedIdeaUuid:d})]})}d()}catch(a){d(a)}})},39099:(a,b,c)=>{"use strict";c.d(b,{I:()=>g,T:()=>h});var d=c(10837),e=c(31009),f=c(45148);function g({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.bK,initial:"initial",animate:"animate",className:b,children:a})}function h({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.Rf,className:b,children:a})}},40426:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"00007d98eddea70ac03aa46cc211972042863bdbcf":()=>j.s$,"008127e61d1a2b93414427d9254894b652bf634a1c":()=>i.UD,"4006dd9f7d3437ab1478c6be32917a71073ed4fab0":()=>e.Dv,"402d48989a661e892a10a3113d5f7056dcad295723":()=>j.Qd,"40440fd56621943c2b61cbeeddb9aca4680f9d2aaa":()=>f.w$,"406eb0f0b6777bc42ec6ab36dbaa540c4c06033330":()=>f.zK,"4082a8b6b8c78a86ea5c6b630e56b4b12d17d684f0":()=>j.zS,"40a7b8275d5a0c936ee891fcb08d82c1c035c4e85f":()=>i.ZL,"40acf33fcac9689fd03b4b47f5b3613edd2d7c0eac":()=>i.qN,"40c24e6feb30798e01c084892d389e502bdb0aa268":()=>e.v5,"40dd39ef3975ba7aaeedf05316839e53aa3ca3048c":()=>h.x,"40eba34de2272666c8403c4c673feb198e9f0be2e2":()=>k.zS,"40f255f3f891818c05b96831d0a86f6089de5d8a43":()=>f.JQ,"40f5f73a95848d5d294c8b99d3d03d1f8681dc85ba":()=>j.cq,"6031b83c7e48a3a21624e15c0e003377117809671a":()=>j.d1,"60617c2383c242812e8771091926b3985cdc54198d":()=>f.Z$,"6095a6a65bb1f4cccd4da68147eff8347a828c133a":()=>j.U$,"60b2f7aadf5df20e5f9dc208c4ff5fb7a05a18afbe":()=>j.co,"60b39359b1beae82e742bfcfb453b7c6735582bcf3":()=>j.UN,"60bc14a8d39f0f24588050cac093c9f3dd936825ee":()=>k.yu,"60bfd14cca7aaa2de736b5b6da202109f13fe3c61a":()=>j.nR,"60cc0ca7e086e5de740232d9ba14b99f5f787e61ed":()=>i.Ax,"60e7e554b32e453f3c930e14410f5077ad183f596f":()=>e.Tg,"60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71":()=>g.d,"60fce9c195a035f568667c03dc3c3707f77f06673f":()=>i.M$,"7030e5bddb8203c1a4309d65deac0510675de0ade6":()=>g.s,"7064838059846ed59cbec509f45f72c827ff4bde6d":()=>k.em});var e=c(22299),f=c(31138),g=c(98581),h=c(80041),i=c(23157),j=c(57644),k=c(22110),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},52770:(a,b,c)=>{Promise.resolve().then(c.bind(c,43775)),Promise.resolve().then(c.bind(c,92851)),Promise.resolve().then(c.bind(c,11226)),Promise.resolve().then(c.bind(c,13065)),Promise.resolve().then(c.bind(c,64098)),Promise.resolve().then(c.bind(c,49442)),Promise.resolve().then(c.bind(c,66542)),Promise.resolve().then(c.bind(c,87827)),Promise.resolve().then(c.bind(c,81448)),Promise.resolve().then(c.bind(c,53392)),Promise.resolve().then(c.bind(c,97271)),Promise.resolve().then(c.bind(c,73814)),Promise.resolve().then(c.bind(c,62329)),Promise.resolve().then(c.bind(c,2768)),Promise.resolve().then(c.bind(c,1159)),Promise.resolve().then(c.bind(c,69757)),Promise.resolve().then(c.bind(c,92521)),Promise.resolve().then(c.bind(c,6873)),Promise.resolve().then(c.bind(c,10375)),Promise.resolve().then(c.bind(c,4176)),Promise.resolve().then(c.bind(c,33914)),Promise.resolve().then(c.bind(c,19868)),Promise.resolve().then(c.bind(c,32886)),Promise.resolve().then(c.bind(c,20294)),Promise.resolve().then(c.bind(c,94733)),Promise.resolve().then(c.bind(c,61298)),Promise.resolve().then(c.bind(c,8013)),Promise.resolve().then(c.bind(c,44236)),Promise.resolve().then(c.bind(c,5699)),Promise.resolve().then(c.t.bind(c,18198,23)),Promise.resolve().then(c.bind(c,237)),Promise.resolve().then(c.bind(c,84805)),Promise.resolve().then(c.bind(c,97448))},55410:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>s});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(42424),i=c(9994),j=c(20170),k=c(2852),l=c(35198),m=c(78323),n=c(31009),o=c(9810),p=c(86460),q=c(42377);let r=(0,q.createServerReference)("40440fd56621943c2b61cbeeddb9aca4680f9d2aaa",q.callServer,void 0,q.findSourceMapURL,"createIdeaAction");function s({projectUuid:a}){let b=(0,g.c)(),c=(0,f.useRouter)(),[q,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),B=async d=>{if(d.preventDefault(),y(null),!t.trim())return void y(b("ideas.titleRequired"));s(async()=>{try{let d=await r({projectUuid:a,title:t.trim(),content:v.trim()||void 0});d.success?(A(!0),setTimeout(()=>{u(""),w(""),c.refresh(),A(!1)},600)):y(d.error||b("ideas.createFailed"))}catch{y(b("common.genericError"))}})};return(0,d.jsx)(l.Zp,{className:"border-[#E5E0D8] rounded-2xl py-5",children:(0,d.jsx)(l.Wu,{children:(0,d.jsxs)("form",{onSubmit:B,className:"space-y-4",children:[x&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:x}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("ideas.titleLabel")}),(0,d.jsx)(i.p,{id:"idea-title",value:t,onChange:a=>u(a.target.value),placeholder:b("ideas.whatIsYourIdea"),className:"border-[#E5E0D8] text-sm",required:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("common.content")}),(0,d.jsx)(j.T,{id:"idea-content",value:v,onChange:a=>w(a.target.value),placeholder:b("ideas.addMoreDetails"),rows:2,className:"border-[#E5E0D8] text-sm resize-none"})]})]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(h.$,{type:"submit",disabled:q||z||!t.trim(),size:"sm",className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:(0,d.jsx)(m.N,{mode:"wait",children:z?(0,d.jsx)(n.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"})},"success"):q?(0,d.jsxs)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(p.A,{className:"h-4 w-4 animate-spin"}),b("common.creating")]},"loading"):(0,d.jsx)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:b("ideas.submit")},"idle")})})})]})})})}},70922:(a,b,c)=>{Promise.resolve().then(c.bind(c,13753)),Promise.resolve().then(c.bind(c,81093)),Promise.resolve().then(c.bind(c,14672)),Promise.resolve().then(c.bind(c,25711)),Promise.resolve().then(c.bind(c,70952)),Promise.resolve().then(c.bind(c,98556)),Promise.resolve().then(c.bind(c,14220)),Promise.resolve().then(c.bind(c,5989)),Promise.resolve().then(c.bind(c,15906)),Promise.resolve().then(c.bind(c,45106)),Promise.resolve().then(c.bind(c,13277)),Promise.resolve().then(c.bind(c,55212)),Promise.resolve().then(c.bind(c,73935)),Promise.resolve().then(c.bind(c,50382)),Promise.resolve().then(c.bind(c,66529)),Promise.resolve().then(c.bind(c,41335)),Promise.resolve().then(c.bind(c,66619)),Promise.resolve().then(c.bind(c,53187)),Promise.resolve().then(c.bind(c,28121)),Promise.resolve().then(c.bind(c,63658)),Promise.resolve().then(c.bind(c,95556)),Promise.resolve().then(c.bind(c,28386)),Promise.resolve().then(c.bind(c,15644)),Promise.resolve().then(c.bind(c,25400)),Promise.resolve().then(c.bind(c,15700)),Promise.resolve().then(c.bind(c,31284)),Promise.resolve().then(c.bind(c,2807)),Promise.resolve().then(c.bind(c,59782)),Promise.resolve().then(c.bind(c,80501)),Promise.resolve().then(c.t.bind(c,81512,23)),Promise.resolve().then(c.bind(c,55410)),Promise.resolve().then(c.bind(c,34799)),Promise.resolve().then(c.bind(c,8234))},84805:(a,b,c)=>{"use strict";c.d(b,{IdeasList:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeasList() from the server but IdeasList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/ideas/ideas-list.tsx","IdeasList")},85394:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(10023);c(73426);var e=c(89571),f=c(15362),g=c(63413);let h=(0,e.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({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},92936:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("406eb0f0b6777bc42ec6ab36dbaa540c4c06033330",d.callServer,void 0,d.findSourceMapURL,"fetchIdeasAction")},97448:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call AnimatedEmptyState() from the server but AnimatedEmptyState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/components/animated-empty-state.tsx","AnimatedEmptyState")},98625:(a,b,c)=>{"use strict";c.d(b,{T:()=>e});var d=c(21968);function e(a,b){let[c,e]=(0,d.useState)(b??null),[f,g]=(0,d.useState)(()=>null),h=(0,d.useCallback)((b,c)=>{let d=new URLSearchParams(window.location.search);b?d.set("panel",b):d.delete("panel"),c?d.set("tab",c):d.delete("tab");let e=d.toString();return e?`${a}?${e}`:a},[a]),i=(0,d.useCallback)((a,b)=>{let c=h(a,b);window.history.replaceState(null,"",c),e(a),g(b??null)},[h]),j=(0,d.useCallback)(()=>{let a=h(null);window.history.replaceState(null,"",a),e(null),g(null)},[h]),k=(0,d.useCallback)(a=>{if(!c)return;let b=h(c,a);window.history.replaceState(null,"",b),g(a)},[h,c]);return{selectedId:c,selectedTab:f,openPanel:i,closePanel:j,switchTab:k}}}};
@@ -1 +0,0 @@
1
- exports.id=8144,exports.ids=[8144],exports.modules={2852:(a,b,c)=>{"use strict";c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},5487:(a,b,c)=>{"use strict";c.d(b,{p:()=>e});var d=c(42377);let e=(0,d.createServerReference)("404c827587d084b705d5e681300d5efc7c4a15884c",d.callServer,void 0,d.findSourceMapURL,"fetchTasksAction")},5514:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>B});var e=c(10837),f=c(21968),g=c(9222),h=c(44787),i=c(22727),j=c(24383),k=c(55775),l=c(27936),m=c(24879),n=c(31009),o=c(45148),p=c(35198),q=c(49599),r=c(42424),s=c(11568),t=c(5487),u=c(24733),v=c(31029),w=c(54722),x=c(86104),y=c(14078),z=c(76172),A=a([x]);x=(A.then?(await A)():A)[0];let C={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]"},D={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},E={in_progress:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E8F5E9] text-[#2E7D32]",open:"bg-[#F5F5F5] text-[#6B6B6B]",to_verify:"bg-[#E3F2FD] text-[#1565C0]"},F=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function B({projectUuid:a,initialTasks:b,currentUserUuid:c,selectedTaskUuid:d,onTaskSelect:A,onPanelClose:B,proposalUuidFilter:G}){let H=(0,g.c)(),[I,J]=(0,f.useState)(b),[K,L]=(0,f.useState)({}),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(null),[Q,R]=(0,f.useState)([]),[S,T]=(0,f.useState)(!1),[U,V]=(0,f.useState)([]),[W,X]=(0,f.useState)(!1),[Y,Z]=(0,f.useState)(!1),$=(0,f.useCallback)(async()=>{let b=await (0,t.p)(a);if(b.success){let a=G?b.data.filter(a=>a.proposalUuid&&G.has(a.proposalUuid)):b.data;J(a);let c=await (0,y.h)(a.map(a=>a.uuid));c.success&&c.data&&L(c.data)}},[a,G]);(0,z.eV)("task",$),(0,f.useRef)(G);let _=(0,f.useMemo)(()=>d?I.find(a=>a.uuid===d)??null:null,[d,I]),aa=a=>I.filter(b=>a.includes(b.status)),ab=a=>aa(a).reduce((a,b)=>a+(b.storyPoints||0),0),ac=async b=>{let c;Z(!1);let{destination:d,source:e,draggableId:f}=b;if(!d||d.droppableId===e.droppableId&&d.index===e.index)return;let g=d.droppableId;e.droppableId;let h=I.find(a=>a.uuid===f);if(!h)return;if(F.find(a=>a.id===g),"todo"===g)c="assigned"===h.status?"assigned":"open";else if("in_progress"===g)c="in_progress";else if("to_verify"===g)c="to_verify";else{if("done"!==g)return;c="to_verify"===h.status?"done":"to_verify"}J(a=>a.map(a=>a.uuid===f?{...a,status:c}:a));let i=await (0,u.y)(f,g,a);if(i.success)$();else{if("blocked"in i&&i.blocked&&"blockers"in i){J(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),P(h),R(i.blockers),N(!0);return}if(J(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),"gateBlocked"in i&&i.gateBlocked){let a="unresolvedCriteria"in i&&Array.isArray(i.unresolvedCriteria)?i.unresolvedCriteria:[];V(a),T(!0)}}},ad=async()=>{if(O){X(!0);try{let a=await (0,v.H)(O.uuid,"in_progress");a.success?(N(!1),P(null),R([]),$()):w.q.error("Failed to force move task:",a.error)}finally{X(!1)}}},ae=()=>{N(!1),P(null),R([])};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(h.JY,{onDragStart:()=>{Z(!0)},onDragEnd:ac,children:(0,e.jsx)(m.o,{children:(0,e.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:F.map(a=>{let b=aa(a.statuses);return(0,e.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:H(`status.${a.labelKey}`)}),(0,e.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:b.length})]}),ab(a.statuses)>0&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ab(a.statuses),"h"]})]}),(0,e.jsx)(h.gL,{droppableId:a.id,children:(a,c)=>(0,e.jsxs)("div",{ref:a.innerRef,...a.droppableProps,className:`flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ${c.isDraggingOver?"bg-[#E5E0D8]":""}`,children:[0!==b.length||c.isDraggingOver?b.map((a,b)=>{let c=!!a.dependsOn&&0!==a.dependsOn.length&&a.dependsOn.some(a=>"done"!==a.status&&"closed"!==a.status),d=(c?!a.dependsOn?[]:a.dependsOn.filter(a=>"done"!==a.status&&"closed"!==a.status):[]).map(a=>a.title).join(", ");return(0,e.jsx)(h.sx,{draggableId:a.uuid,index:b,children:(b,f)=>(0,e.jsx)("div",{ref:b.innerRef,...b.draggableProps,...b.dragHandleProps,onClick:()=>{f.isDragging||A(a.uuid)},style:b.draggableProps.style,children:(0,e.jsxs)(n.P.div,{className:"relative",layoutId:Y?void 0:`task-card-${a.uuid}`,transition:o.Yv.spring,children:[K[a.uuid]>0&&(0,e.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-white shadow-sm",children:(0,e.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,e.jsx)(i.D,{entityType:"task",entityUuid:a.uuid,children:(0,e.jsxs)(p.Zp,{className:`cursor-pointer p-4 transition-all ${c?"border-dashed border-[#D1D1D1] opacity-60":"border-[#E5E0D8] hover:border-[#C67A52]"} bg-white hover:shadow-sm ${f.isDragging?"shadow-lg rotate-2":""}`,children:[(0,e.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,e.jsx)(q.E,{className:C[a.status]||"",children:H(`status.${D[a.status]||a.status}`)}),(0,e.jsx)("div",{className:"flex items-center gap-1.5",children:a.storyPoints&&(0,e.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),a.storyPoints,"h"]})})]}),(0,e.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:a.description}),c&&(0,e.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] px-2 py-1",children:[(0,e.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-[#E65100]"}),(0,e.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] line-clamp-1",children:H("tasks.blockedBy",{tasks:d})})]}),(0,e.jsxs)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:[a.assignee?(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("path",{d:"M12 8V4H8"}),(0,e.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),a.assignee.name]}):"open"===a.status?(0,e.jsx)("span",{className:"text-[#C67A52]",children:H("common.assign")}):(0,e.jsx)("span",{children:H("common.unassigned")}),(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[K[a.uuid]>0&&(0,e.jsxs)(q.E,{variant:"outline",className:"h-4 gap-1 border-green-300 px-1.5 text-[10px] text-green-700",children:[(0,e.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),H("sessions.workerCount",{count:K[a.uuid]})]}),a.acceptanceSummary&&a.acceptanceSummary.total>0&&(()=>{let b=a.acceptanceSummary,c="to_verify"===a.status,d=b.requiredPassed===b.required&&b.required>0,f=b.requiredFailed>0,g="bg-[#F5F2EC] text-[#9A9A9A]";return c&&(g=d?"bg-green-50 text-green-700":f?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),(0,e.jsxs)(q.E,{className:`h-4 gap-1 border-0 px-1.5 text-[9px] ${g}`,children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,e.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,e.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),b.passed,"/",b.total]})})()]})]})]})})]})})},a.uuid)}):(0,e.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:H("tasks.noTasks")}),a.placeholder]})})]},a.id)})})})}),_&&(0,e.jsx)(x.v,{task:_,projectUuid:a,currentUserUuid:c,onClose:B}),(0,e.jsx)(s.lG,{open:M,onOpenChange:a=>{a||ae()},children:(0,e.jsxs)(s.Cf,{className:"max-w-md rounded-2xl",children:[(0,e.jsxs)(s.c7,{children:[(0,e.jsxs)(s.L3,{className:"flex items-center gap-2",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#E65100]"}),H("tasks.dependencyBlocked")]}),(0,e.jsx)(s.rr,{children:H("tasks.dependencyBlockedDescription")})]}),(0,e.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsx)("p",{className:"mb-2 text-xs font-medium text-[#6B6B6B]",children:H("tasks.blockerList")}),(0,e.jsx)("div",{className:"space-y-2",children:Q.map(a=>(0,e.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-[#E5E0D8] bg-white p-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-[#2C2C2C]",children:a.title}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[a.assignee&&(0,e.jsx)("span",{className:"text-xs text-[#6B6B6B]",children:a.assignee.name}),a.sessionCheckin&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#6B6B6B]",children:[(0,e.jsx)(l.A,{className:"h-3 w-3"}),a.sessionCheckin.sessionName]})]})]}),(0,e.jsx)(q.E,{className:`shrink-0 ${E[a.status]||"bg-[#F5F5F5] text-[#6B6B6B]"}`,children:H(`status.${D[a.status]||a.status}`)})]},a.uuid))})]}),(0,e.jsxs)(s.Es,{className:"gap-2 sm:gap-0",children:[(0,e.jsx)(r.$,{variant:"outline",onClick:ae,children:H("common.cancel")}),(0,e.jsx)(r.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:ad,disabled:W,children:W?H("common.processing"):H("tasks.forceMove")})]})]})}),(0,e.jsx)(s.lG,{open:S,onOpenChange:T,children:(0,e.jsxs)(s.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,e.jsxs)(s.c7,{className:"px-6 pt-6 pb-4",children:[(0,e.jsxs)(s.L3,{className:"flex items-center gap-2.5",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#C4574C]"}),H("acceptanceCriteria.title")]}),(0,e.jsx)(s.rr,{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:H("acceptanceCriteria.gateBlocked",{count:U.filter(a=>a.required&&"passed"!==a.status).length})})]}),(0,e.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,e.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:H("acceptanceCriteria.title")}),U.map(a=>(0,e.jsxs)("div",{className:`rounded-lg border p-3 space-y-2 ${"failed"===a.status?"border-red-200 bg-white":"border-[#E5E0D8] bg-white"}`,children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("div",{className:`h-2 w-2 rounded-full shrink-0 ${"failed"===a.status?"bg-[#C4574C]":"bg-[#F59E0B]"}`}),(0,e.jsx)("span",{className:"text-xs font-semibold text-[#2C2C2C]",children:a.description})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,e.jsx)(q.E,{className:`text-[10px] border-0 ${"failed"===a.status?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"}`,children:H(`acceptanceCriteria.status.${a.status}`)}),(0,e.jsx)(q.E,{className:"text-[10px] border-0 bg-[#FAF8F4] text-[#9A9A9A]",children:a.required?H("acceptanceCriteria.required"):H("acceptanceCriteria.optional")}),!a.evidence&&(0,e.jsx)("span",{className:"text-[10px] italic text-[#9A9A9A]",children:H("acceptanceCriteria.noEvidence")})]}),a.evidence&&(0,e.jsxs)("div",{className:"rounded-md bg-red-50 p-2 ml-4",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:H("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:a.evidence})]})]},a.uuid))]}),(0,e.jsx)(s.Es,{className:"border-t border-[#E5E2DC] px-6 py-4",children:(0,e.jsx)(r.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>T(!1),children:H("acceptanceCriteria.dismiss")})})]})})]})}d()}catch(a){d(a)}})},10297:(a,b,c)=>{"use strict";c.d(b,{G7:()=>i,L$:()=>l,h_:()=>m,oI:()=>j,uB:()=>h,xL:()=>k});var d=c(10837);c(21968);var e=c(28918),f=c(75888),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(e.uB,{"data-slot":"command",className:(0,g.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...b})}function i({className:a,...b}){return(0,d.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,d.jsx)(f.A,{className:"size-4 shrink-0 opacity-50"}),(0,d.jsx)(e.uB.Input,{"data-slot":"command-input",className:(0,g.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",a),...b})]})}function j({className:a,...b}){return(0,d.jsx)(e.uB.List,{"data-slot":"command-list",className:(0,g.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",a),...b})}function k({...a}){return(0,d.jsx)(e.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...a})}function l({className:a,...b}){return(0,d.jsx)(e.uB.Group,{"data-slot":"command-group",className:(0,g.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",a),...b})}function m({className:a,...b}){return(0,d.jsx)(e.uB.Item,{"data-slot":"command-item",className:(0,g.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",a),...b})}},11225:(a,b,c)=>{"use strict";c.d(b,{C:()=>i,z:()=>h});var d=c(10837);c(21968);var e=c(90856),f=c(28121),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"radio-group",className:(0,g.cn)("grid gap-3",a),...b})}function i({className:a,...b}){return(0,d.jsx)(f.Item,{"data-slot":"radio-group-item",className:(0,g.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",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,d.jsx)(e.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},11932:(a,b,c)=>{"use strict";c.d(b,{i:()=>p});var d=c(10837),e=c(21968),f=c(47797);c(63410);var g=c(9222),h=c(1007),i=c(86460),j=c(10694),k=c(42424),l=c(60265),m=c(42377);let n=(0,m.createServerReference)("409104618de392f8717da94eecea67506658f87b2f",m.callServer,void 0,m.findSourceMapURL,"getProjectDependenciesAction");var o=c(46081);function p({projectUuid:a,onTaskSelect:b,refreshKey:c}){let m=(0,g.c)(),p=(0,h.useSearchParams)(),[q,r,s]=(0,f.ck)([]),[t,u,v]=(0,f.fM)([]),[w,x]=(0,e.useState)(!0),[y,z]=(0,e.useState)(null),A=(0,e.useMemo)(()=>{let a=p.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[p]),B=(0,e.useCallback)(async()=>{x(!0);let b=await n(a),c=b.nodes,d=b.edges;if(A){let a=new Set((c=b.nodes.filter(a=>null!==a.proposalUuid&&A.has(a.proposalUuid))).map(a=>a.uuid));d=b.edges.filter(b=>a.has(b.from)&&a.has(b.to))}let e=c.map(a=>({id:a.uuid,type:"taskNode",position:{x:0,y:0},data:{title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid}})),f=d.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...l.qK})),{nodes:g,edges:h}=(0,l.nF)(e,f);r(g),u(h),x(!1)},[a,A,r,u]),C=(0,e.useCallback)(async a=>{if(!a.source||!a.target)return;z(null);let b=a.target,c=a.source,d=await (0,o.w)(b,c);if(!d.success)return void z(d.error||m("tasks.failedToAddDep"));await B()},[B]),D=(0,e.useCallback)((a,c)=>{b(c.id)},[b]);return w?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):0===q.length?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[#9A9A9A]",children:m("tasks.noTasksToDisplay")}):(0,d.jsxs)("div",{className:"flex-1 rounded-xl border border-[#E5E0D8] bg-[#FAFAF8] relative",children:[y&&(0,d.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 border border-red-200 px-4 py-2 text-xs text-red-700 shadow-sm",children:[y,(0,d.jsx)(k.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900",onClick:()=>z(null),children:(0,d.jsx)(j.A,{className:"h-3 w-3"})})]}),(0,d.jsxs)(f.Gc,{nodes:q,edges:t,onNodesChange:s,onEdgesChange:v,onConnect:C,onNodeClick:D,nodeTypes:l.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,d.jsx)(f.VS,{color:"#E5E0D8",gap:20}),(0,d.jsx)(f.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]})}},15107:(a,b,c)=>{Promise.resolve().then(c.bind(c,29334))},19520:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hd:()=>n,nk:()=>p,pw:()=>o,yq:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(67738),j=c(97307),k=c(12217),l=a([g,h,i]);[g,h,i]=l.then?(await l)():l;let q={todo:"open",in_progress:"in_progress",to_verify:"to_verify",done:"done"};async function m(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.K4)(d.companyUuid,a);if(!e)return{success:!1,error:"Task not found"};let g=q[b];if(!g)return{success:!1,error:"Invalid column"};if("in_progress"===g){let b=await (0,h.IM)(a);if(!b.resolved)return{success:!1,error:"Dependencies not resolved",blocked:!0,blockers:b.blockers}}if("done"===g&&"to_verify"!==e.status)await (0,h.lC)(a,{status:"to_verify"});else if("done"===g&&"to_verify"===e.status){let b=await (0,h.Ew)(a);if(!b.allowed)return{success:!1,error:b.reason||"Not all required acceptance criteria are passed",gateBlocked:!0,unresolvedCriteria:b.unresolvedCriteria||[]};await (0,h.lC)(a,{status:"done"})}else await (0,h.lC)(a,{status:g});return(0,f.revalidatePath)(`/projects/${c}/tasks`),{success:!0}}catch(a){return j.A.error({err:a},"Failed to move task"),{success:!1,error:"Failed to move task"}}}async function n(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.lC)(a,{status:b}),await (0,i.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:d.uuid,actorType:c.type,actorUuid:c.actorUuid,action:"force_status_change",value:JSON.stringify({from:d.status,to:b})}),{success:!0}}catch(a){return j.A.error({err:a},"Failed to force move task"),{success:!1,error:"Failed to force move task"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{tasks:c}=await (0,h.Vk)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3});return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch tasks"),{success:!1,error:"Failed to fetch tasks"}}}async function p(a){let b=await (0,g.d)();if(!b)return{nodes:[],edges:[]};try{return await (0,h.Cm)(b.companyUuid,a)}catch(a){return j.A.error({err:a},"Failed to get project dependencies"),{nodes:[],edges:[]}}}(0,k.D)([m,n,o,p]),(0,e.A)(m,"70e6a324a0ad35e72e953ad68512d76a27ccf22d2d",null),(0,e.A)(n,"603b5cf9e54f8696551b0046467e7d00f4ed79dbe0",null),(0,e.A)(o,"404c827587d084b705d5e681300d5efc7c4a15884c",null),(0,e.A)(p,"409104618de392f8717da94eecea67506658f87b2f",null),d()}catch(a){d(a)}})},20170:(a,b,c)=>{"use strict";c.d(b,{T:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),...b})}},24383:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},24733:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("70e6a324a0ad35e72e953ad68512d76a27ccf22d2d",d.callServer,void 0,d.findSourceMapURL,"moveTaskToColumnAction")},24879:(a,b,c)=>{"use strict";c.d(b,{o:()=>k});var d=c(10837),e=c(21968),f=c(46005);let g=(0,e.createContext)(null);var h=c(46801),i=c(72443);let j=a=>!a.isLayoutDirty&&a.willUpdate(!1),k=({children:a,id:b,inherit:c=!0})=>{let k=(0,e.useContext)(f.L),l=(0,e.useContext)(g),[m,n]=function(){let a=function(){let a=(0,e.useRef)(!1);return(0,i.E)(()=>(a.current=!0,()=>{a.current=!1}),[]),a}(),[b,c]=(0,e.useState)(0),d=(0,e.useCallback)(()=>{a.current&&c(b+1)},[b]);return[(0,e.useCallback)(()=>h.Gt.postRender(d),[d]),b]}(),o=(0,e.useRef)(null),p=k.id||l;null===o.current&&((a=>!0==(!0===a)||"id"===a)(c)&&p&&(b=b?p+"-"+b:p),o.current={id:b,group:!0===c&&k.group||function(){let a=new Set,b=new WeakMap,c=()=>a.forEach(j);return{add:d=>{a.add(d),b.set(d,d.addEventListener("willUpdate",c))},remove:d=>{a.delete(d);let e=b.get(d);e&&(e(),b.delete(d)),c()},dirty:c}}()});let q=(0,e.useMemo)(()=>({...o.current,forceRender:m}),[n]);return(0,d.jsx)(f.L.Provider,{value:q,children:a})}},26078:(a,b,c)=>{"use strict";c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},27936:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},28774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},29179:(a,b,c)=>{Promise.resolve().then(c.bind(c,90436))},29334:(a,b,c)=>{"use strict";c.d(b,{TaskViewToggle:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call TaskViewToggle() from the server but TaskViewToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/tasks/task-view-toggle.tsx","TaskViewToggle")},31029:(a,b,c)=>{"use strict";c.d(b,{H:()=>e});var d=c(42377);let e=(0,d.createServerReference)("603b5cf9e54f8696551b0046467e7d00f4ed79dbe0",d.callServer,void 0,d.findSourceMapURL,"forceMoveTaskToColumnAction")},39268:(a,b,c)=>{"use strict";c.d(b,{T:()=>q});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(65956),i=c(56149),j=c(9810),k=c(10694),l=c(96307),m=c(42424),n=c(49599),o=c(74113),p=c(10297);function q({projectUuid:a}){let b=(0,g.c)("tasks"),c=(0,f.useRouter)(),q=(0,f.usePathname)(),r=(0,f.useSearchParams)(),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)([]),[w,x]=(0,e.useState)(new Set),y=(0,e.useCallback)(a=>{let b=new URLSearchParams(r.toString());a.size>0?b.set("proposalUuids",Array.from(a).join(",")):b.delete("proposalUuids");let d=b.toString();c.replace(`${q}${d?`?${d}`:""}`,{scroll:!1})},[c,q,r]),z=(0,e.useCallback)(a=>{x(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),y(c),c})},[y]),A=(0,e.useCallback)(()=>{x(new Set),y(new Set)},[y]),B=w.size>0;return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,d.jsx)(h.A,{className:"size-4"}),(0,d.jsxs)("span",{children:[b("proposalFilter.label"),":"]})]}),(0,d.jsxs)(o.AM,{open:s,onOpenChange:t,children:[(0,d.jsx)(o.Wv,{asChild:!0,children:(0,d.jsxs)(m.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":s,className:(0,l.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",B&&"border-[#C67A52] bg-[#FFF8F4]"),children:[(0,d.jsx)("span",{className:"truncate",children:B?b("proposalFilter.filtered",{filtered:w.size,total:u.length}):b("proposalFilter.allProposals")}),(0,d.jsx)(i.A,{className:"size-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(o.hl,{className:"w-[300px] p-0",align:"start",children:(0,d.jsxs)(p.uB,{children:[(0,d.jsx)(p.G7,{placeholder:b("proposalFilter.search")}),(0,d.jsxs)(p.oI,{children:[(0,d.jsx)(p.xL,{children:b("proposalFilter.noResults")}),(0,d.jsx)(p.L$,{children:u.map(a=>{let c=w.has(a.uuid);return(0,d.jsxs)(p.h_,{value:a.title,onSelect:()=>z(a.uuid),className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("div",{className:(0,l.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",c?"border-[#C67A52] bg-[#C67A52] text-white":"border-muted-foreground/30"),children:c&&(0,d.jsx)(j.A,{className:"size-3"})}),(0,d.jsx)("span",{className:"truncate",children:a.title})]}),(0,d.jsx)(n.E,{variant:"secondary",className:"ml-2 shrink-0",children:b("proposalFilter.taskCount",{count:a.taskCount})})]},a.uuid)})})]})]})})]}),B&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:u.filter(a=>w.has(a.uuid)).map(a=>(0,d.jsxs)(n.E,{variant:"outline",className:"gap-1 border-[#C67A52] bg-[#FFF8F4] text-[#C67A52]",children:[a.title,(0,d.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-[#C67A52]/20",onClick:()=>z(a.uuid),children:(0,d.jsx)(k.A,{className:"size-3"})})]},a.uuid))}),(0,d.jsx)(m.$,{variant:"ghost",size:"xs",onClick:A,className:"text-muted-foreground",children:b("proposalFilter.clear")})]})]})}},41106:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"00cc674162965f046ec2005a0aa1d5339a8b86d16b":()=>g.vq,"400067c3cf7ed30a442781337da48bbf9fb8a963a1":()=>k.F,"4006dd9f7d3437ab1478c6be32917a71073ed4fab0":()=>e.Dv,"400a9b126aa8432283d46f71e2fa1da35098566ce7":()=>m.h,"402bfb6dbc2330339f67e613036af0ecfa02e7e8db":()=>g.iY,"404c827587d084b705d5e681300d5efc7c4a15884c":()=>f.pw,"40791ba93d4adb772e44c848aff6980f7da5f5c833":()=>g.p2,"407cf64363bc094181b20e71be29f4eaf985ab9701":()=>g.Yw,"4087985b5a435fc84336fa71bd622ee65068d1a70b":()=>g.A0,"409104618de392f8717da94eecea67506658f87b2f":()=>f.nk,"40abc84636d041cef8f935b0751c9281f791c9e012":()=>l.kq,"40c24e6feb30798e01c084892d389e502bdb0aa268":()=>e.v5,"40c9676a9993d0f850c6955f9c0589450c7244d18b":()=>l.xo,"40ce3a32ab468b6ef94714edad404f1acccfe469e6":()=>g.hR,"40e97ce0b950d948479e35998482b7f2991815cd36":()=>m.J,"40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557":()=>j.f,"600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d":()=>l.TK,"6023a4a5cab1daa400673e7106cf022f707986a7d6":()=>h.IY,"602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb":()=>h.hD,"602ec983630518488edb633843f13f8936904eba82":()=>g.y9,"603b5cf9e54f8696551b0046467e7d00f4ed79dbe0":()=>f.Hd,"60acc6478ae16ce4142685f481af02f600d91733e6":()=>g.qb,"60b53a2c77387cac4116e4d73ae3df5ae307ea6923":()=>h.Nq,"60c69091d26aa5c80138990b48d8f4bbd263a11976":()=>g.TV,"60d385edc971b774b29db4a76b6288664e3ff6e3eb":()=>g.bd,"60e61948d08a5f90212a42d4cd0efd78a07aae46f2":()=>l.wG,"60e7e554b32e453f3c930e14410f5077ad183f596f":()=>e.Tg,"60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71":()=>i.d,"7030e5bddb8203c1a4309d65deac0510675de0ade6":()=>i.s,"70e6a324a0ad35e72e953ad68512d76a27ccf22d2d":()=>f.yq});var e=c(22299),f=c(19520),g=c(73393),h=c(71353),i=c(98581),j=c(64029),k=c(72189),l=c(22293),m=c(81751),n=a([e,f,g,h,i,j,k,l,m]);[e,f,g,h,i,j,k,l,m]=n.then?(await n)():n,d()}catch(a){d(a)}})},63748:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{X:()=>n});var e=c(10023),f=c(66530),g=c(26555),h=c(82858),i=c(29662),j=c(71165),k=c(61413),l=c(29334),m=a([i,j,k]);async function n({projectUuid:a,initialSelectedTaskUuid:b}){let c=await (0,i.d)();c||(0,f.redirect)("/login");let d=await (0,g.A)();await (0,k.Yi)(c.companyUuid,a)||(0,f.redirect)("/projects");let{tasks:m}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,skip:0,take:1e3}),n=m.reduce((a,b)=>a+(b.storyPoints||0),0);return(0,e.jsxs)("div",{className:"flex h-full flex-col p-4 md:p-8",children:[(0,e.jsx)("div",{className:"mb-6 flex items-center justify-between",children:(0,e.jsxs)("div",{children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:d("tasks.title")}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-4",children:[(0,e.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:d("tasks.subtitle")}),n>0&&(0,e.jsxs)("div",{className:"flex items-center gap-1.5 rounded-full bg-[#F5F2EC] px-3 py-1",children:[(0,e.jsx)(h.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,e.jsxs)("span",{className:"text-xs font-medium text-[#6B6B6B]",children:[(0,e.jsx)("span",{className:"text-[#2C2C2C]",children:n.toFixed(1)})," ",d("tasks.agentHours")]})]})]})]})}),(0,e.jsx)(l.TaskViewToggle,{projectUuid:a,initialTasks:m,currentUserUuid:c.actorUuid,initialSelectedTaskUuid:b})]})}[i,j,k]=m.then?(await m)():m,d()}catch(a){d(a)}})},77219:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},82858:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},90436:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TaskViewToggle:()=>x});var e=c(10837),f=c(21968),g=c(1007),h=c(9222),i=c(32552),j=c(45519),k=c(33407),l=c(92900),m=c(42424),n=c(49599),o=c(35198),p=c(96013),q=c(98625),r=c(39268),s=c(5514),t=c(11932),u=c(86104),v=c(31009),w=a([s,u]);[s,u]=w.then?(await w)():w;let y={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]"},z={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},A=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],B={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function x({projectUuid:a,initialTasks:b,currentUserUuid:c,initialSelectedTaskUuid:d}){let w=(0,h.c)(),x=(0,p.a)(),C=(0,g.useSearchParams)(),[D,E]=(0,f.useState)("kanban"),F=`/projects/${a}/tasks`,{selectedId:G,openPanel:H,closePanel:I}=(0,q.T)(F,d),J=(0,f.useMemo)(()=>{let a=C.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[C]),[K,L]=(0,f.useState)(!1),[M,N]=(0,f.useState)(0),[O,P]=(0,f.useState)("all"),Q=(0,f.useMemo)(()=>G?b.find(a=>a.uuid===G)??null:null,[G,b]),R=(0,f.useCallback)(()=>{N(a=>a+1)},[]),S=(0,f.useMemo)(()=>J?b.filter(a=>a.proposalUuid&&J.has(a.proposalUuid)):b,[b,J]),T=(0,f.useMemo)(()=>{let a=A.find(a=>a.id===O);return a&&0!==a.statuses.length?S.filter(b=>a.statuses.includes(b.status)):S},[S,O]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,e.jsx)(r.T,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-[#F5F2EC] p-1 w-fit",children:[x&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"list"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("list"),children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5"}),w("tasks.listView")]}),!x&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"kanban"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("kanban"),children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"}),w("tasks.kanbanView")]}),(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"dag"===D?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>E("dag"),children:[(0,e.jsx)(k.A,{className:"h-3.5 w-3.5"}),w("tasks.dagView")]})]}),(0,e.jsxs)(m.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{I(),L(!0)},children:[(0,e.jsx)(l.A,{className:"mr-2 h-4 w-4"}),w("tasks.newTask")]})]}),"list"===D?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-[#E5E0D8] pb-2",children:A.map(a=>{let b=0===a.statuses.length?S.length:S.filter(b=>a.statuses.includes(b.status)).length;return(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 shrink-0 rounded-md px-3 text-xs ${O===a.id?"bg-[#F5F2EC] text-[#2C2C2C] font-medium":"text-[#6B6B6B] hover:text-[#2C2C2C]"}`,onClick:()=>P(a.id),children:["all"===a.id?w(`tasks.${a.labelKey}`):w(`status.${a.labelKey}`),(0,e.jsx)("span",{className:"ml-1.5 rounded-full bg-white px-1.5 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:b})]},a.id)})}),(0,e.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===T.length?(0,e.jsx)(v.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:w("tasks.noTasks")}):T.map(a=>(0,e.jsxs)(o.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",onClick:()=>H(a.uuid),children:[(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("h4",{className:"font-medium text-[#2C2C2C] truncate",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-[#6B6B6B]",children:a.description})]}),(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=a.storyPoints&&a.storyPoints>0&&(0,e.jsxs)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[a.storyPoints,"h"]}),(0,e.jsx)(n.E,{className:B[a.priority]||"",children:w(`priority.${a.priority}`)}),(0,e.jsx)(n.E,{className:y[a.status]||"",children:w(`status.${z[a.status]||a.status}`)})]})]}),a.assignee&&(0,e.jsx)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:(0,e.jsx)("span",{className:"truncate",children:a.assignee.name})})]},a.uuid))}),Q&&(0,e.jsx)(u.v,{task:Q,projectUuid:a,currentUserUuid:c,onClose:I,onDependencyChange:R})]}):"kanban"===D?(0,e.jsx)(s.y,{projectUuid:a,initialTasks:S,currentUserUuid:c,selectedTaskUuid:G,onTaskSelect:H,onPanelClose:I,proposalUuidFilter:J}):(0,e.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,e.jsx)(t.i,{projectUuid:a,onTaskSelect:a=>H(a),refreshKey:M}),Q&&(0,e.jsx)(u.v,{task:Q,projectUuid:a,currentUserUuid:c,onClose:I,onDependencyChange:R})]}),K&&!Q&&(0,e.jsx)(u.v,{task:null,projectUuid:a,currentUserUuid:c,onClose:()=>L(!1),onCreated:()=>L(!1)})]})}d()}catch(a){d(a)}})},91533:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(73426);let e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),f=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let h=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:f,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...g,width:b,height:b,stroke:a,strokeWidth:f?24*Number(c)/Number(b):c,className:e("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),i=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},i)=>(0,d.createElement)(h,{ref:i,iconNode:b,className:e(`lucide-${f(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=f(a),c}},96013:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(21968);function e(){let[a,b]=(0,d.useState)(!1);return a}}};
@@ -1 +0,0 @@
1
- exports.id=8637,exports.ids=[8637],exports.modules={8777:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cs:()=>o,Nn:()=>s,YE:()=>n,lC:()=>l,lU:()=>r,ui:()=>p,yZ:()=>m});var e=c(52618),f=c(76872),g=c(42558),h=c(88437),i=c(65582),j=a([e,f,h]);[e,f,h]=j.then?(await j)():j;let t=i.A.child({module:"document.service"});async function k(a,b=!1){let c=await (0,f.LS)(a.createdByUuid),d={uuid:a.uuid,type:a.type,title:a.title,version:a.version,proposalUuid:a.proposalUuid,createdBy:c,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return b&&void 0!==a.content&&(d.content=a.content),a.project&&(d.project=a.project),d}async function l({companyUuid:a,projectUuid:b,skip:c,take:d,type:f}){let g={projectUuid:b,companyUuid:a,...f&&{type:f}},[h,i]=await Promise.all([e.z.document.findMany({where:g,skip:c,take:d,orderBy:{updatedAt:"desc"},select:{uuid:!0,type:!0,title:!0,version:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.document.count({where:g})]);return{documents:await Promise.all(h.map(a=>k(a))),total:i}}async function m(a,b,c){if(0===b.length)return[];let d={companyUuid:a,proposalUuid:{in:b},...c&&{type:c}},f=await e.z.document.findMany({where:d,orderBy:{createdAt:"desc"},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return Promise.all(f.map(a=>k(a,!0)))}async function n(a,b){let c=await e.z.document.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}}}});return c?k(c,!0):null}async function o(a,b){return e.z.document.findFirst({where:{uuid:b,companyUuid:a}})}async function p(a){let b=await e.z.document.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,type:a.type,title:a.title,content:a.content,version:1,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return"report"===a.type&&await q(a,b.uuid),k(b,!0)}async function q(a,b){try{g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"document",entityUuid:b,action:"created",actorUuid:a.createdByUuid})}catch(c){t.warn({err:c,reportUuid:b,proposalUuid:a.proposalUuid},"Failed to emit document/created event for report")}if(!a.proposalUuid)return;let c=null;try{let b=await e.z.proposal.findFirst({where:{uuid:a.proposalUuid,companyUuid:a.companyUuid},select:{inputType:!0,inputUuids:!0}});if(b&&"idea"===b.inputType&&Array.isArray(b.inputUuids)){let a=b.inputUuids[0];"string"==typeof a&&a.length>0&&(c=a)}}catch(c){t.warn({err:c,reportUuid:b,proposalUuid:a.proposalUuid},"Failed to resolve parent Idea for report side effects");return}if(c){try{g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"idea",entityUuid:c,action:"updated",actorUuid:a.createdByUuid})}catch(d){t.warn({err:d,reportUuid:b,ideaUuid:c,proposalUuid:a.proposalUuid},"Failed to emit idea/updated event for report")}try{let d=await (0,f.LS)(a.createdByUuid),e=d?.type??"agent";await h.createActivity({companyUuid:a.companyUuid,projectUuid:a.projectUuid,targetType:"idea",targetUuid:c,actorType:e,actorUuid:a.createdByUuid,action:"report_created",value:{reportUuid:b,proposalUuid:a.proposalUuid,reportTitle:a.title}})}catch(d){t.warn({err:d,reportUuid:b,ideaUuid:c,proposalUuid:a.proposalUuid},"Failed to record report_created Activity")}}}async function r(a,{title:b,content:c,incrementVersion:d}){let f={};void 0!==b&&(f.title=b),void 0!==c&&(f.content=c),d&&(f.version={increment:1});let g=await e.z.document.update({where:{uuid:a},data:f,include:{project:{select:{uuid:!0,name:!0}}}});return k(g,!0)}async function s(a){return e.z.document.delete({where:{uuid:a}})}d()}catch(a){d(a)}})},11716:(a,b,c)=>{"use strict";function d(a,b=3600){try{let c=a.split(".");if(3!==c.length)return b;let d=JSON.parse(Buffer.from(c[1],"base64url").toString("utf-8"));if("number"==typeof d.exp){let a=d.exp-Math.floor(Date.now()/1e3);return Math.max(a+60,0)}return b}catch{return b}}function e(a){return{httpOnly:!0,secure:"false"!==process.env.COOKIE_SECURE,sameSite:"lax",path:"/",maxAge:a}}c.d(b,{H:()=>d,f:()=>e})},12102:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).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"}]])},15264:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>l,Bz:()=>o,En:()=>m,Iu:()=>p,NE:()=>j,VM:()=>n,ev:()=>k,wL:()=>q});var d=c(73365),e=c(3548),f=c(11716);let g="user_session",h="user_refresh";function i(){let a=process.env.NEXTAUTH_SECRET;if(!a)throw Error("NEXTAUTH_SECRET is not set");return new TextEncoder().encode(a)}async function j(a,b="1h"){return new d.P({...a,tokenType:"access"}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime(b).sign(i())}async function k(a){return new d.P({userUuid:a.userUuid,companyUuid:a.companyUuid,tokenType:"refresh"}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("7d").sign(i())}async function l(a){try{let{payload:b}=await (0,e.V)(a,i());if("user"===b.type&&"access"===b.tokenType)return{type:"user",userUuid:b.userUuid,companyUuid:b.companyUuid,email:b.email,name:b.name,oidcSub:b.oidcSub,oidcAccessToken:b.oidcAccessToken,oidcRefreshToken:b.oidcRefreshToken,oidcExpiresAt:b.oidcExpiresAt};return null}catch{return null}}async function m(a){try{let{payload:b}=await (0,e.V)(a,i());if("refresh"===b.tokenType)return{userUuid:b.userUuid,companyUuid:b.companyUuid};return null}catch{return null}}async function n(a){let b=function(a){if(!a)return null;let b=a.match(/^Bearer\s+(.+)$/i);return b?b[1]:null}(a.headers.get("authorization"));if(b){let a=await l(b);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}let c=a.cookies.get(g)?.value;if(!c)return null;let d=await l(c);return d?{type:"user",companyUuid:d.companyUuid,actorUuid:d.userUuid,email:d.email,name:d.name}:null}function o(a,b,c,d=3600){a.cookies.set(g,b,(0,f.f)(d)),a.cookies.set(h,c,(0,f.f)(604800))}function p(a){a.cookies.set(g,"",(0,f.f)(0)),a.cookies.set(h,"",(0,f.f)(0))}function q(a){return a.cookies.get(h)?.value||null}},19720:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},29662:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(50117),f=c(74438),g=c(15264),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.Q)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},33863:(a,b,c)=>{"use strict";c.d(b,{SQ:()=>i,_2:()=>j,mB:()=>k,rI:()=>g,ty:()=>h});var d=c(10837);c(21968);var e=c(5989),f=c(96307);function g({...a}){return(0,d.jsx)(e.Root,{"data-slot":"dropdown-menu",...a})}function h({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"dropdown-menu-trigger",...a})}function i({className:a,sideOffset:b=4,...c}){return(0,d.jsx)(e.Portal,{children:(0,d.jsx)(e.Content,{"data-slot":"dropdown-menu-content",sideOffset:b,className:(0,f.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",a),...c})})}function j({className:a,inset:b,variant:c="default",...g}){return(0,d.jsx)(e.Item,{"data-slot":"dropdown-menu-item","data-inset":b,"data-variant":c,className:(0,f.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",a),...g})}function k({className:a,...b}){return(0,d.jsx)(e.Separator,{"data-slot":"dropdown-menu-separator",className:(0,f.cn)("bg-border -mx-1 my-1 h-px",a),...b})}},35198:(a,b,c)=>{"use strict";c.d(b,{BT:()=>i,Wu:()=>k,X9:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>l});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-action",className:(0,e.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function l({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},37066:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(77592),e=c(50117);let f=["en","zh"],g=(0,d.A)(async()=>{let a=await (0,e.UL)(),b=a.get("chorus-locale")?.value,d=b&&f.includes(b)?b:"en";return{locale:d,messages:(await c(76565)(`./${d}.json`)).default}})},42558:(a,b,c)=>{"use strict";c.d(b,{B:()=>s});var d=c(94735),e=c(55511),f=c(18481),g=c.n(f),h=c(65582);let i=h.A.child({module:"redis"}),j=function(){if(process.env.REDIS_URL)return process.env.REDIS_URL;let a=process.env.REDIS_HOST;if(!a)return;let b=process.env.REDIS_PORT||"6379",c=process.env.REDIS_USERNAME||"default",d=process.env.REDIS_PASSWORD,e="rediss";return d?`${e}://${c}:${encodeURIComponent(d)}@${a}:${b}`:`${e}://${a}:${b}`}(),k=globalThis;function l(a){let b=new(g())(j,{lazyConnect:!0,maxRetriesPerRequest:null,retryStrategy(b){let c=Math.min(200*b,5e3);return i.warn({name:a,delay:c,attempt:b},"Reconnecting"),c}});return b.on("error",b=>{i.error({name:a,err:b},"Redis error")}),b.on("connect",()=>{i.info({name:a},"Connected")}),b}function m(){return j?(k.redisPub||(k.redisPub=l("pub")),k.redisPub):null}function n(){return j?(k.redisSub||(k.redisSub=l("sub")),k.redisSub):null}let o=h.A.child({module:"event-bus"}),p="chorus:events";class q extends d.EventEmitter{static{this.THROTTLE_WINDOW_MS=2e3}static{this.EVICTION_INTERVAL_MS=3e4}static{this.EVICTION_TTL_MS=3e4}async connect(){if(this._connected||!j)return;this._connected=!0;let a=n(),b=m();a&&(await a.connect(),b&&await b.connect(),await a.subscribe(p),a.on("message",(a,b)=>{try{let a=JSON.parse(b);if(a._origin===this._instanceId)return;let c=null!==a.data&&"object"==typeof a.data?{...a.data,_remote:!0}:a.data;super.emit(a.channel,c)}catch{}}))}emit(a,...b){if("string"==typeof a&&j){let c=m();if(c&&"ready"===c.status){let d={_origin:this._instanceId,channel:a,data:b[0]};c.publish(p,JSON.stringify(d)).catch(()=>{})}}return super.emit(a,...b)}emitPresence(a){let b=`${a.agentUuid}:${a.entityType}:${a.entityUuid}${a.subEntityType?`:${a.subEntityType}`:""}${a.subEntityUuid?`:${a.subEntityUuid}`:""}`,c=Date.now(),d=this._presenceThrottle.get(b);d&&c-d<q.THROTTLE_WINDOW_MS||(this._presenceThrottle.set(b,c),this._ensureEvictionTimer(),this.emit("presence",a))}_ensureEvictionTimer(){!this._evictionTimer&&(this._evictionTimer=setInterval(()=>{let a=Date.now();for(let[b,c]of this._presenceThrottle)a-c>=q.EVICTION_TTL_MS&&this._presenceThrottle.delete(b);0===this._presenceThrottle.size&&(clearInterval(this._evictionTimer),this._evictionTimer=null)},q.EVICTION_INTERVAL_MS),this._evictionTimer&&"object"==typeof this._evictionTimer&&"unref"in this._evictionTimer&&this._evictionTimer.unref())}get _throttleMapSize(){return this._presenceThrottle.size}_resetPresenceState(){this._presenceThrottle.clear(),this._evictionTimer&&(clearInterval(this._evictionTimer),this._evictionTimer=null)}emitChange(a){this.emit("change",a)}async disconnect(){let a=m(),b=n();b&&await b.quit().catch(()=>{}),a&&await a.quit().catch(()=>{}),this._connected=!1}constructor(...a){super(...a),this._connected=!1,this._instanceId=(0,e.randomUUID)(),this._presenceThrottle=new Map,this._evictionTimer=null}}let r=globalThis,s=r.chorusEventBus??=new q;j&&s.connect().catch(a=>{o.error({err:a},"Redis connect failed, falling back to memory")})},43538:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]])},51899:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},53870:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cs:()=>m,NH:()=>n,Nn:()=>r,lU:()=>q,ui:()=>o,yZ:()=>l});var e=c(71255),f=c(92633),g=c(62729),h=c(67738),i=c(97307),j=a([e,f,h]);[e,f,h]=j.then?(await j)():j;let s=i.A.child({module:"document.service"});async function k(a,b=!1){let c=await (0,f.LS)(a.createdByUuid),d={uuid:a.uuid,type:a.type,title:a.title,version:a.version,proposalUuid:a.proposalUuid,createdBy:c,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return b&&void 0!==a.content&&(d.content=a.content),a.project&&(d.project=a.project),d}async function l(a,b,c){if(0===b.length)return[];let d={companyUuid:a,proposalUuid:{in:b},...c&&{type:c}},f=await e.z.document.findMany({where:d,orderBy:{createdAt:"desc"},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return Promise.all(f.map(a=>k(a,!0)))}async function m(a,b){return e.z.document.findFirst({where:{uuid:b,companyUuid:a}})}async function n(a){return e.z.document.findFirst({where:{uuid:a}})}async function o(a){let b=await e.z.document.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,type:a.type,title:a.title,content:a.content,version:1,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return"report"===a.type&&await p(a,b.uuid),k(b,!0)}async function p(a,b){try{g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"document",entityUuid:b,action:"created",actorUuid:a.createdByUuid})}catch(c){s.warn({err:c,reportUuid:b,proposalUuid:a.proposalUuid},"Failed to emit document/created event for report")}if(!a.proposalUuid)return;let c=null;try{let b=await e.z.proposal.findFirst({where:{uuid:a.proposalUuid,companyUuid:a.companyUuid},select:{inputType:!0,inputUuids:!0}});if(b&&"idea"===b.inputType&&Array.isArray(b.inputUuids)){let a=b.inputUuids[0];"string"==typeof a&&a.length>0&&(c=a)}}catch(c){s.warn({err:c,reportUuid:b,proposalUuid:a.proposalUuid},"Failed to resolve parent Idea for report side effects");return}if(c){try{g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"idea",entityUuid:c,action:"updated",actorUuid:a.createdByUuid})}catch(d){s.warn({err:d,reportUuid:b,ideaUuid:c,proposalUuid:a.proposalUuid},"Failed to emit idea/updated event for report")}try{let d=await (0,f.LS)(a.createdByUuid),e=d?.type??"agent";await h.createActivity({companyUuid:a.companyUuid,projectUuid:a.projectUuid,targetType:"idea",targetUuid:c,actorType:e,actorUuid:a.createdByUuid,action:"report_created",value:{reportUuid:b,proposalUuid:a.proposalUuid,reportTitle:a.title}})}catch(d){s.warn({err:d,reportUuid:b,ideaUuid:c,proposalUuid:a.proposalUuid},"Failed to record report_created Activity")}}}async function q(a,{title:b,content:c,incrementVersion:d}){let f={};void 0!==b&&(f.title=b),void 0!==c&&(f.content=c),d&&(f.version={increment:1});let g=await e.z.document.update({where:{uuid:a},data:f,include:{project:{select:{uuid:!0,name:!0}}}});return k(g,!0)}async function r(a){return e.z.document.delete({where:{uuid:a}})}d()}catch(a){d(a)}})},61159:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},61413:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>p,U$:()=>l,U1:()=>i,Yi:()=>j,gA:()=>m,hF:()=>h,vr:()=>n,xx:()=>o,yx:()=>k});var e=c(52618),f=c(42558),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0,activities:!0}}}})}async function j(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function k(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0}})}async function l(a,b){return(await e.z.project.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function m({companyUuid:a,name:b,description:c,groupUuid:d}){let g=await e.z.project.create({data:{companyUuid:a,name:b,description:c,groupUuid:d??null},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0}});return f.B.emitChange({companyUuid:a,projectUuid:g.uuid,entityType:"project",entityUuid:g.uuid,action:"created"}),g}async function n(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function o(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}async function p(a,b){let[c,d,f,g]=await Promise.all([e.z.idea.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.task.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.proposal.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.document.count({where:{projectUuid:b,companyUuid:a}})]),h=new Map(c.map(a=>[a.status,a._count])),i=c.reduce((a,b)=>a+b._count,0),j=h.get("open")||0,k=new Map(d.map(a=>[a.status,a._count])),l=d.reduce((a,b)=>a+b._count,0),m=k.get("in_progress")||0,n=(k.get("open")||0)+(k.get("assigned")||0),o=k.get("to_verify")||0,p=(k.get("done")||0)+(k.get("closed")||0),q=new Map(f.map(a=>[a.status,a._count])),r=f.reduce((a,b)=>a+b._count,0),s=q.get("pending")||0;return{ideas:{total:i,open:j},tasks:{total:l,inProgress:m,todo:n,toVerify:o,done:p},proposals:{total:r,pending:s},documents:{total:g}}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},63413:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(34269),e=c(42711);function f(...a){return(0,e.QP)((0,d.$)(a))}},69540:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{h:()=>o,q:()=>n});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(53870),i=c(67738),j=c(33994),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,j.Yi)(b.companyUuid,a.projectUuid))return{success:!1,error:"Project not found"};let c=await (0,h.ui)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,type:a.type,title:a.title,content:a.content,createdByUuid:b.actorUuid});return await (0,i.createActivity)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,targetType:"document",targetUuid:c.uuid,actorType:b.type,actorUuid:b.actorUuid,action:"document_created"}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/documents`),{success:!0,documentUuid:c.uuid}}catch(a){return k.A.error({err:a},"Failed to create document"),{success:!1,error:"Failed to create document"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"unauthorized"};try{let c=await (0,h.NH)(a);if(!c)return{success:!1,error:"not_found"};if(c.companyUuid!==b.companyUuid)return{success:!1,error:"forbidden"};return await (0,h.Nn)(c.uuid),(0,f.revalidatePath)(`/projects/${c.projectUuid}/documents`),{success:!0,projectUuid:c.projectUuid}}catch(c){k.A.error({err:c,documentUuid:a},"Failed to delete document");let b=c instanceof Error?c.message:"Failed to delete document";return{success:!1,error:b}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o]),(0,e.A)(n,"40115db7706f4df64e38faf186a2ca10ab78ecaea1",null),(0,e.A)(o,"40d8906f634dbcbc3c0b2ae23b135cae2100990f40",null),d()}catch(a){d(a)}})},74236:(a,b,c)=>{"use strict";c.d(b,{Wu:()=>i,ZB:()=>h,Zp:()=>f,aR:()=>g});var d=c(10023);c(73426);var e=c(63413);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}},74438:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>j,t:()=>k});var e=c(41195),f=c(3548),g=c(52618),h=c(65582),i=a([g]);g=(i.then?(await i)():i)[0];let l=new Map;async function j(a){try{let b=a.split(".");if(3!==b.length)return null;let c=JSON.parse(Buffer.from(b[1],"base64url").toString("utf-8")).iss;if(!c)return null;let d=function(a){if(!l.has(a)){let b=new URL(`${a.replace(/\/$/,"")}/.well-known/jwks.json`);l.set(a,(0,e.RD)(b))}return l.get(a)}(c),{payload:h}=await (0,f.V)(a,d,{issuer:c});if(h.token_use&&"access"!==h.token_use)return null;let i=await g.z.company.findFirst({where:{oidcEnabled:!0,oidcIssuer:c}});if(!i)return null;let j=await g.z.user.findFirst({where:{companyUuid:i.uuid,oidcSub:h.sub}});if(!j)return null;return{type:"user",companyUuid:i.uuid,actorUuid:j.uuid,email:j.email||h.email,name:j.name||h.name}}catch(a){return h.A.error({err:a},"OIDC token verification failed"),null}}function k(a){if(a.startsWith("cho_"))return!1;let b=a.split(".");if(3!==b.length)return!1;try{let a=JSON.parse(Buffer.from(b[0],"base64url").toString("utf-8"));return a.alg&&(a.alg.startsWith("RS")||a.alg.startsWith("ES"))}catch{return!1}}d()}catch(a){d(a)}})},76565:(a,b,c)=>{var d={"./en.json":[87368,7368],"./zh.json":[72961,2961]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=76565,a.exports=e},76872:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>h,SJ:()=>j,Uo:()=>k,Xx:()=>l,_9:()=>m,ir:()=>i,lR:()=>g});var e=c(52618),f=a([e]);async function g(a,b){if("user"===a){let a=await e.z.user.findUnique({where:{uuid:b},select:{name:!0,email:!0}});return a&&(a.name||a.email)||"Unknown"}if("agent"===a){let a=await e.z.agent.findUnique({where:{uuid:b},select:{name:!0}});return a?.name??null}return null}async function h(a,b){if(b){let c=await g(b,a);return c?{type:b,uuid:a,name:c}:null}let c=await e.z.user.findUnique({where:{uuid:a},select:{name:!0,email:!0}});if(c)return{type:"user",uuid:a,name:c.name||c.email||"Unknown"};let d=await e.z.agent.findUnique({where:{uuid:a},select:{name:!0}});return d?{type:"agent",uuid:a,name:d.name}:null}async function i(a,b,c,d){if(!a||!b)return null;let e=await g(a,b);if(!e)return null;let f=null;if(d){let a=await g("user",d);a&&(f={type:"user",uuid:d,name:a})}return{type:a,uuid:b,name:e,assignedAt:c?.toISOString()??null,assignedBy:f}}async function j(a,b,c){if(!a)return null;let d=await g("user",a);if(d&&"Unknown"!==d)return{reviewedBy:{type:"user",uuid:a,name:d},reviewNote:b,reviewedAt:c?.toISOString()??null};let e=await g("agent",a);return e?{reviewedBy:{type:"agent",uuid:a,name:e},reviewNote:b,reviewedAt:c?.toISOString()??null}:null}async function k(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a.filter(a=>"user"===a.type).map(a=>a.uuid))],d=[...new Set(a.filter(a=>"agent"===a.type).map(a=>a.uuid))],[f,g]=await Promise.all([c.length>0?e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}):[],d.length>0?e.z.agent.findMany({where:{uuid:{in:d}},select:{uuid:!0,name:!0}}):[]]);for(let a of f)b.set(a.uuid,a.name||a.email||"Unknown");for(let a of g)b.set(a.uuid,a.name);return b}async function l(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a)],d=await e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}),f=new Set;for(let a of d)f.add(a.uuid),b.set(a.uuid,{type:"user",uuid:a.uuid,name:a.name||a.email||"Unknown"});let g=c.filter(a=>!f.has(a));if(g.length>0)for(let a of(await e.z.agent.findMany({where:{uuid:{in:g}},select:{uuid:!0,name:!0}})))b.set(a.uuid,{type:"agent",uuid:a.uuid,name:a.name});return b}async function m(a,b,c){let d={uuid:b,companyUuid:c};switch(a){case"idea":return!!await e.z.idea.findFirst({where:d,select:{uuid:!0}});case"proposal":return!!await e.z.proposal.findFirst({where:d,select:{uuid:!0}});case"task":return!!await e.z.task.findFirst({where:d,select:{uuid:!0}});case"document":return!!await e.z.document.findFirst({where:d,select:{uuid:!0}});default:return!1}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},88437:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{createActivity:()=>k,listActivities:()=>i,listActivitiesWithActorNames:()=>j});var e=c(52618),f=c(42558),g=c(76872),h=a([e,g]);async function i({companyUuid:a,projectUuid:b,skip:c,take:d,targetType:f,targetUuid:g}){let h={projectUuid:b,companyUuid:a,...f&&{targetType:f},...g&&{targetUuid:g}},[i,j]=await Promise.all([e.z.activity.findMany({where:h,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,targetType:!0,targetUuid:!0,actorType:!0,actorUuid:!0,action:!0,value:!0,sessionUuid:!0,sessionName:!0,createdAt:!0}}),e.z.activity.count({where:h})]);return{activities:i,total:j}}async function j(a){let{activities:b,total:c}=await i(a);return{activities:await Promise.all(b.map(async a=>{let b=await (0,g.lR)(a.actorType,a.actorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,action:a.action,actorType:a.actorType,actorName:b||"Unknown",value:a.value,sessionUuid:a.sessionUuid,sessionName:a.sessionName,createdAt:a.createdAt.toISOString()}})),total:c}}async function k({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l}){let m=await e.z.activity.create({data:{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j||void 0,sessionUuid:k||void 0,sessionName:l||void 0}});return f.B.emit("activity",{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l,uuid:m.uuid}),m}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},92523:(a,b,c)=>{"use strict";c.d(b,{E:()=>q});var d=c(10837),e=c(21968),f=c(76549),g=c(65956),h=c(56556);let i=(0,h.A)("file-type",[["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:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]]),j=(0,h.A)("file-spreadsheet",[["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:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);var k=c(86460);let l=(0,h.A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var m=c(9222),n=c(33863),o=c(42424),p=c(54722);function q({document:a,documentUuid:b,variant:h="default"}){let q=(0,m.c)(),{exportDocument:r,isExporting:s,exportError:t}=function(){let[a,b]=(0,e.useState)(!1),[d,f]=(0,e.useState)(null);return{exportDocument:(0,e.useCallback)(async(a,d)=>{b(!0),f(null);try{let b,f,h=function(a){let b=a.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return b.length>0?b:"document"}(a.title);if("md"===d){let{exportAsMarkdownBlob:d}=await c.e(1997).then(c.bind(c,31997));b=d(a),f="md"}else if("pdf"===d){let{exportAsPdf:d}=await c.e(6044).then(c.bind(c,46044));b=await d(a),f="pdf"}else if("docx"===d){let{exportAsDocx:d}=await c.e(7002).then(c.bind(c,57002));b=await d(a),f="docx"}else throw Error(`Unsupported export format: ${String(d)}`);var e=b,g=`${h}.${f}`;let i=URL.createObjectURL(e),j=document.createElement("a");j.href=i,j.download=g,j.rel="noopener",j.style.display="none",document.body.appendChild(j),j.click(),document.body.removeChild(j),setTimeout(()=>URL.revokeObjectURL(i),1e3)}catch(a){f(a instanceof Error?a.message:String(a)),p.q.error("useDocumentExport export failed",a)}finally{b(!1)}},[]),isExporting:a,exportError:d}}(),[u,v]=(0,e.useState)(null);async function w(c){v(c);try{let d=a;if(!d&&b){let a=await fetch(`/api/documents/${b}`),c=await a.json();if(!c.success||!c.data)return void f.oR.error(q("export.exportError"));let e=c.data;d={title:e.title,content:e.content??"",type:e.type,version:e.version,createdAt:e.createdAt,updatedAt:e.updatedAt,createdByName:e.createdBy?.name??"",projectName:e.project?.name??""}}d&&await r(d,c)}finally{v(null),t&&f.oR.error(t)}}let x=[{format:"md",labelKey:"export.formatMd",icon:g.A},{format:"pdf",labelKey:"export.formatPdf",icon:i},{format:"docx",labelKey:"export.formatDocx",icon:j}],y="compact"===h;return(0,d.jsxs)(n.rI,{children:[(0,d.jsx)(n.ty,{asChild:!0,children:(0,d.jsxs)(o.$,{variant:"ghost"===h?"ghost":"outline",size:y?"sm":"default",className:y?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:s,children:[s?(0,d.jsx)(k.A,{className:`${y?"h-3 w-3":"h-4 w-4"} animate-spin`}):(0,d.jsx)(l,{className:y?"h-3 w-3":"h-4 w-4"}),!y&&q("export.exportDocument")]})}),(0,d.jsx)(n.SQ,{align:"end",className:"w-48",children:x.map(({format:a,labelKey:b,icon:c})=>(0,d.jsxs)(n._2,{onClick:b=>{b.stopPropagation(),b.preventDefault(),w(a)},disabled:s,children:[u===a?(0,d.jsx)(k.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(c,{className:"h-4 w-4"}),q(b)]},a))})]})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=896,exports.ids=[896],exports.modules={48873:(a,b,c)=>{c.d(b,{Ik:()=>f,Yy:()=>d,nm:()=>e});class d extends Error{constructor(a){super(`${a} is already claimed`),this.name="AlreadyClaimedError"}}class e extends Error{constructor(a){super(`${a} is not currently claimed`),this.name="NotClaimedError"}}function f(a){return"object"==typeof a&&null!==a&&"code"in a&&"P2025"===a.code}},68775:(a,b,c)=>{c.d(b,{Ch:()=>e,hY:()=>f,se:()=>d});let d="At least one acceptance criterion with a non-empty description is required.";function e(a){return a?a.filter(a=>a.description.trim().length>0).map(a=>({description:a.description.trim(),required:a.required??!0})):[]}function f(a){return e(a).length>0}},76872:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>h,SJ:()=>j,Uo:()=>k,Xx:()=>l,_9:()=>m,ir:()=>i,lR:()=>g});var e=c(52618),f=a([e]);async function g(a,b){if("user"===a){let a=await e.z.user.findUnique({where:{uuid:b},select:{name:!0,email:!0}});return a&&(a.name||a.email)||"Unknown"}if("agent"===a){let a=await e.z.agent.findUnique({where:{uuid:b},select:{name:!0}});return a?.name??null}return null}async function h(a,b){if(b){let c=await g(b,a);return c?{type:b,uuid:a,name:c}:null}let c=await e.z.user.findUnique({where:{uuid:a},select:{name:!0,email:!0}});if(c)return{type:"user",uuid:a,name:c.name||c.email||"Unknown"};let d=await e.z.agent.findUnique({where:{uuid:a},select:{name:!0}});return d?{type:"agent",uuid:a,name:d.name}:null}async function i(a,b,c,d){if(!a||!b)return null;let e=await g(a,b);if(!e)return null;let f=null;if(d){let a=await g("user",d);a&&(f={type:"user",uuid:d,name:a})}return{type:a,uuid:b,name:e,assignedAt:c?.toISOString()??null,assignedBy:f}}async function j(a,b,c){if(!a)return null;let d=await g("user",a);if(d&&"Unknown"!==d)return{reviewedBy:{type:"user",uuid:a,name:d},reviewNote:b,reviewedAt:c?.toISOString()??null};let e=await g("agent",a);return e?{reviewedBy:{type:"agent",uuid:a,name:e},reviewNote:b,reviewedAt:c?.toISOString()??null}:null}async function k(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a.filter(a=>"user"===a.type).map(a=>a.uuid))],d=[...new Set(a.filter(a=>"agent"===a.type).map(a=>a.uuid))],[f,g]=await Promise.all([c.length>0?e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}):[],d.length>0?e.z.agent.findMany({where:{uuid:{in:d}},select:{uuid:!0,name:!0}}):[]]);for(let a of f)b.set(a.uuid,a.name||a.email||"Unknown");for(let a of g)b.set(a.uuid,a.name);return b}async function l(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a)],d=await e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}),f=new Set;for(let a of d)f.add(a.uuid),b.set(a.uuid,{type:"user",uuid:a.uuid,name:a.name||a.email||"Unknown"});let g=c.filter(a=>!f.has(a));if(g.length>0)for(let a of(await e.z.agent.findMany({where:{uuid:{in:g}},select:{uuid:!0,name:!0}})))b.set(a.uuid,{type:"agent",uuid:a.uuid,name:a.name});return b}async function m(a,b,c){let d={uuid:b,companyUuid:c};switch(a){case"idea":return!!await e.z.idea.findFirst({where:d,select:{uuid:!0}});case"proposal":return!!await e.z.proposal.findFirst({where:d,select:{uuid:!0}});case"task":return!!await e.z.task.findFirst({where:d,select:{uuid:!0}});case"document":return!!await e.z.document.findFirst({where:d,select:{uuid:!0}});default:return!1}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},88437:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{createActivity:()=>k,listActivities:()=>i,listActivitiesWithActorNames:()=>j});var e=c(52618),f=c(42558),g=c(76872),h=a([e,g]);async function i({companyUuid:a,projectUuid:b,skip:c,take:d,targetType:f,targetUuid:g}){let h={projectUuid:b,companyUuid:a,...f&&{targetType:f},...g&&{targetUuid:g}},[i,j]=await Promise.all([e.z.activity.findMany({where:h,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,targetType:!0,targetUuid:!0,actorType:!0,actorUuid:!0,action:!0,value:!0,sessionUuid:!0,sessionName:!0,createdAt:!0}}),e.z.activity.count({where:h})]);return{activities:i,total:j}}async function j(a){let{activities:b,total:c}=await i(a);return{activities:await Promise.all(b.map(async a=>{let b=await (0,g.lR)(a.actorType,a.actorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,action:a.action,actorType:a.actorType,actorName:b||"Unknown",value:a.value,sessionUuid:a.sessionUuid,sessionName:a.sessionName,createdAt:a.createdAt.toISOString()}})),total:c}}async function k({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l}){let m=await e.z.activity.create({data:{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j||void 0,sessionUuid:k||void 0,sessionName:l||void 0}});return f.B.emit("activity",{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l,uuid:m.uuid}),m}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},90494:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AM:()=>j,Xs:()=>i,_L:()=>k});var e=c(52618),f=c(76872),g=c(37943),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let m=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)/gi;function i(a){let b,c=[],d=new Set;for(m.lastIndex=0;null!==(b=m.exec(a))&&!(c.length>=10);){let a=b[1],e=b[2].toLowerCase(),f=b[3].toLowerCase(),g=`${e}:${f}`;d.has(g)||(d.add(g),c.push({type:e,uuid:f,displayName:a}))}return c}async function j(a){let{companyUuid:b,sourceType:c,sourceUuid:d,content:h,actorType:j,actorUuid:k,projectUuid:n,entityTitle:o}=a,p=i(h);if(0===p.length)return;let q=p.filter(a=>a.type!==j||a.uuid!==k);if(0===q.length)return;let r=[];for(let a of q)await l(b,a.type,a.uuid)&&r.push(a);if(0===r.length)return;await e.z.mention.createMany({data:r.map(a=>({companyUuid:b,sourceType:c,sourceUuid:d,mentionedType:a.type,mentionedUuid:a.uuid,actorType:j,actorUuid:k}))});let s=await (0,f.lR)(j,k)??"Someone",t=await e.z.project.findUnique({where:{uuid:n},select:{name:!0}}),u=t?.name??"Unknown Project",v=function(a){let b=a.replace(m,"@$1");return b.length<=120?b:b.substring(0,117)+"..."}(h),w=c,x=d;if("comment"===c){let a=await e.z.comment.findUnique({where:{uuid:d},select:{targetType:!0,targetUuid:!0}});a&&(w=a.targetType,x=a.targetUuid)}let y=[];for(let a of r){if(!(await g.lX(b,a.type,a.uuid)).mentioned)continue;let c=`${s} mentioned you: "${v}"`;y.push({companyUuid:b,projectUuid:n,recipientType:a.type,recipientUuid:a.uuid,entityType:w,entityUuid:x,entityTitle:o,projectName:u,action:"mentioned",message:c,actorType:j,actorUuid:k,actorName:s})}y.length>0&&await g.Xm(y)}async function k(a){let b,{companyUuid:c,query:d,actorType:f,actorUuid:g,ownerUuid:h,limit:i=10}=a,j=Math.min(i,50),k=[];if("user"===f?b=g:"agent"===f&&h&&(b=h),!d){if(b)for(let a of(await e.z.agent.findMany({where:{companyUuid:c,ownerUuid:b},select:{uuid:!0,name:!0,roles:!0},orderBy:{createdAt:"desc"},take:Math.min(5,j)})))k.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});return k}for(let a of(await e.z.user.findMany({where:{companyUuid:c,OR:[{name:{contains:d,mode:"insensitive"}},{email:{contains:d,mode:"insensitive"}}]},select:{uuid:!0,name:!0,email:!0,avatarUrl:!0},take:j})))k.push({type:"user",uuid:a.uuid,name:a.name??a.email??"Unknown",email:a.email,avatarUrl:a.avatarUrl});let l={companyUuid:c,name:{contains:d,mode:"insensitive"}};for(let a of(b&&(l.ownerUuid=b),await e.z.agent.findMany({where:l,select:{uuid:!0,name:!0,roles:!0},take:j-k.length>0?j-k.length:j})))k.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});return k.slice(0,j)}async function l(a,b,c){return"user"===b?!!await e.z.user.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}}):!!await e.z.agent.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}})}d()}catch(a){d(a)}})}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=9508,exports.ids=[7578,9508],exports.modules={27380:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>P});var e=c(10837),f=c(21968),g=c(1007),h=c(81512),i=c.n(h),j=c(9222),k=c(24364),l=c(87461),m=c(10694),n=c(16235),o=c(86460),p=c(9810),q=c(97443),r=c(65956),s=c(79543),t=c(49599),u=c(42424),v=c(9994),w=c(20170),x=c(2852),y=c(74645),z=c(6019),A=c(80251),B=c(56828);c(90274);var C=c(97113),D=c(94570),E=c(97450),F=c(86545),G=c(88513),H=c(75797),I=c(72274),J=c(66685),K=c(76172),L=c(31009),M=c(45148),N=c(76664),O=a([B,E]);[B,E]=O.then?(await O)():O;let Q={open:"bg-[#FFF3E0] text-[#E65100]",elaborating:"bg-[#E3F2FD] text-[#1976D2]",elaborated:"bg-[#E0F2F1] text-[#00796B]"},R={open:"open",elaborating:"elaborating",elaborated:"elaborated"};function P({idea:a,projectUuid:b,currentUserUuid:c,isUsedInProposal:d,onClose:h,onDeleted:O}){let P=(0,j.c)(),S=(0,g.useRouter)(),[T,U]=(0,f.useState)([]),[V,W]=(0,f.useState)(!0),[X,Y]=(0,f.useState)(!1),[Z,$]=(0,f.useState)(null),_=(0,f.useCallback)(async()=>{let b=await (0,I.z)(a.uuid);b.success&&b.data&&$(b.data)},[a.uuid]);(0,K.eV)("idea",_);let[aa,ab]=(0,f.useState)(!1),[ac,ad]=(0,f.useState)(""),[ae,af]=(0,f.useState)(!1),[ag,ah]=(0,f.useState)(null),[ai,aj]=(0,f.useState)(!1),[ak,al]=(0,f.useState)(a.title),[am,an]=(0,f.useState)(a.content||""),[ao,ap]=(0,f.useState)(!1),[aq,ar]=(0,f.useState)(null),[as,at]=(0,f.useState)(!1),[au,av]=(0,f.useState)(!1),[aw,ax]=(0,f.useState)(!1),ay="elaborated"!==a.status,az="resolved"===a.elaborationStatus,aA=("elaborating"===a.status||"elaborated"===a.status)&&az,aB="elaborating"===a.status&&(!a.elaborationStatus||"resolved"!==a.elaborationStatus)&&a.assignee?.uuid===c,aC="elaborated"!==a.status,aD=()=>{aj(!1),al(a.title),an(a.content||""),ar(null)},aE=async()=>{if(!ak.trim())return void ar(P("ideas.titleRequired"));ap(!0),ar(null);let c=await (0,C.J)({ideaUuid:a.uuid,projectUuid:b,title:ak.trim(),content:am.trim()||null});ap(!1),c.success?(aj(!1),S.refresh()):ar(c.error||P("ideas.updateFailed"))},aF=async()=>{at(!0);let c=await (0,D.Z)(a.uuid,b);at(!1),c.success&&(O?.(),h(),S.refresh())},aG=async()=>{if(!ac.trim())return void ah(P("elaboration.skipReasonRequired"));af(!0),ah(null);let b=await (0,J.y)(a.uuid,ac.trim());af(!1),b.success?(ab(!1),ad(""),S.refresh()):ah(b.error||P("common.genericError"))};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:h}),(0,e.jsxs)("div",{className:`fixed right-0 top-14 md:top-0 z-50 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-white shadow-xl border-l border-[#E5E0D8] ${aw?"":"animate-in slide-in-from-right duration-300"}`,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[(0,e.jsx)("div",{className:"flex-1 min-w-0",children:ai?(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:P("ideas.editIdea")}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:a.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,e.jsx)(t.E,{className:Q[a.status]||"",children:P(`status.${R[a.status]||a.status}`)}),(0,e.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,N.r)(a.createdAt)})]})]})}),(0,e.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[!ai&&(0,e.jsx)(u.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>av(!0),title:P("ideas.actions.move"),"aria-label":P("ideas.actions.move"),children:(0,e.jsx)(k.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),aC&&!ai&&(0,e.jsx)(u.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>{al(a.title),an(a.content||""),ar(null),aj(!0)},children:(0,e.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,e.jsx)(u.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:ai?aD:h,children:(0,e.jsx)(m.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,e.jsx)(y.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:ai?(0,e.jsxs)("div",{className:"space-y-5",children:[aq&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:aq}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(x.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:P("ideas.titleLabel")}),(0,e.jsx)(v.p,{id:"edit-title",value:ak,onChange:a=>al(a.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(x.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:P("common.content")}),(0,e.jsx)(w.T,{id:"edit-content",value:am,onChange:a=>an(a.target.value),rows:8,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]})]}):(0,e.jsxs)(L.P.div,{variants:M.qG,initial:"initial",animate:"animate",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:P("common.assignee")}),(0,e.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:a.assignee?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(A.eu,{className:"h-7 w-7",children:(0,e.jsx)(A.q5,{className:"agent"===a.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===a.assignee.type?(0,e.jsx)(n.A,{className:"h-3.5 w-3.5"}):a.assignee.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:a.assignee.name}),(0,e.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===a.assignee.type?`${P("common.agent")} • ${a.assignee.assignedAt?(0,N.r)(a.assignee.assignedAt):""}`:P("common.user")})]})]}):(0,e.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:P("common.unassigned")})})]}),Z&&Z.rounds.length>0&&(0,e.jsx)("div",{className:"mt-5",children:(0,e.jsx)(H.R,{ideaUuid:a.uuid,elaboration:Z,onRefresh:async()=>{let b=await (0,I.z)(a.uuid);b.success&&b.data&&$(b.data)}})}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:P("common.content")}),(0,e.jsx)("div",{className:"mt-2",children:a.content?(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(E.MarkdownContent,{children:a.content})}):(0,e.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:P("common.noContent")})})]}),(0,e.jsxs)("div",{className:"mt-5 flex-1",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:P("common.activity")}),(0,e.jsx)("div",{className:"mt-2 space-y-3",children:V?(0,e.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,e.jsx)(o.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===T.length?(0,e.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:P("common.noActivity")}):T.map(a=>(0,e.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,e.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full bg-[#9A9A9A]"}),(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("p",{className:"text-[13px] text-[#2C2C2C]",children:function(a,b){let{action:c,actorName:d}=a;switch(c){case"created":case"idea_created":return b("activity.ideaCreated",{actor:d});case"assigned":case"idea_assigned":return b("activity.ideaAssigned",{actor:d});case"claimed":case"idea_claimed":return b("activity.ideaClaimed",{actor:d});case"released":case"idea_released":return b("activity.ideaReleased",{actor:d});case"status_changed":case"idea_status_changed":return b("activity.ideaStatusChanged",{actor:d});case"elaboration_started":return b("activity.elaborationStarted",{actor:d});case"elaboration_answered":return b("activity.elaborationAnswered",{actor:d});case"elaboration_skipped":return b("activity.elaborationSkipped",{actor:d});case"elaboration_resolved":return b("activity.elaborationResolved",{actor:d});case"elaboration_followup":return b("activity.elaborationFollowup",{actor:d});default:return`${d}: ${c}`}}(a,P)}),(0,e.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,N.r)(c)}(a.createdAt,P)})]})]},a.uuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:P("comments.title")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)(B.$,{targetType:"idea",targetUuid:a.uuid,currentUserUuid:c,compact:!0})})]})]})})}),(0,e.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,e.jsx)("div",{className:"flex items-center justify-between gap-3",children:ai?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(u.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:aD,disabled:ao,children:P("common.cancel")}),(0,e.jsx)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:aE,disabled:ao||!ak.trim(),children:ao?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),P("common.saving")]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.A,{className:"mr-2 h-4 w-4"}),P("ideas.saveChanges")]})})]}):(0,e.jsxs)(e.Fragment,{children:[ay&&(0,e.jsxs)(u.$,{variant:"outline",className:"shrink-0 border-[#E5E0D8] rounded-md px-4 py-2 text-[13px] font-medium",onClick:()=>Y(!0),children:[(0,e.jsx)(q.A,{className:"mr-2 h-4 w-4"}),a.assignee?P("common.reassign"):P("common.assign")]}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[aB&&(0,e.jsx)(u.$,{variant:"outline",size:"sm",className:"border-[#E5E0D8]",onClick:()=>{ad(""),ah(null),ab(!0)},children:P("elaboration.skipButton")}),aA&&(0,e.jsx)(i(),{href:`/projects/${b}/proposals/new?ideaUuid=${a.uuid}`,children:(0,e.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,e.jsx)(r.A,{className:"mr-2 h-4 w-4"}),P("proposals.createProposal")]})}),"elaborating"===a.status&&!az&&!aB&&(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:P("elaboration.elaborationRequiredHint")})]}),(0,e.jsxs)(z.Lt,{children:[(0,e.jsx)(z.tv,{asChild:!0,children:(0,e.jsx)(u.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-[#E5E0D8] text-[#EF4444] hover:bg-[#FFEBEE] hover:text-[#EF4444] hover:border-[#EF4444]",children:(0,e.jsx)(s.A,{className:"h-4 w-4"})})}),(0,e.jsxs)(z.EO,{children:[(0,e.jsxs)(z.wd,{children:[(0,e.jsx)(z.r7,{children:P("ideas.deleteIdea")}),(0,e.jsx)(z.$v,{children:P("ideas.deleteIdeaConfirm",{title:a.title})})]}),(0,e.jsxs)(z.ck,{children:[(0,e.jsx)(z.Zr,{children:P("common.cancel")}),(0,e.jsx)(z.Rx,{variant:"destructive",onClick:aF,disabled:as,children:as?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),P("common.delete")]}):P("common.delete")})]})]})]})]})})})]}),(0,e.jsx)(z.Lt,{open:aa,onOpenChange:ab,children:(0,e.jsxs)(z.EO,{children:[(0,e.jsxs)(z.wd,{children:[(0,e.jsx)(z.r7,{children:P("elaboration.skipConfirmTitle")}),(0,e.jsx)(z.$v,{children:P("elaboration.skipConfirmDescription")})]}),(0,e.jsxs)("div",{className:"space-y-2 py-2",children:[(0,e.jsx)(x.J,{htmlFor:"skip-reason",className:"text-[13px] font-medium text-[#2C2C2C]",children:P("elaboration.skipReasonLabel")}),(0,e.jsx)(v.p,{id:"skip-reason",value:ac,onChange:a=>{ad(a.target.value),ag&&ah(null)},placeholder:P("elaboration.skipReasonPlaceholder"),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0}),ag&&(0,e.jsx)("p",{className:"text-xs text-destructive",children:ag})]}),(0,e.jsxs)(z.ck,{children:[(0,e.jsx)(z.Zr,{disabled:ae,children:P("common.cancel")}),(0,e.jsx)(z.Rx,{onClick:a=>{a.preventDefault(),aG()},disabled:ae||!ac.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:ae?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),P("common.processing")]}):P("elaboration.skipButton")})]})]})}),(0,e.jsx)(G.h,{open:au,onOpenChange:av,ideaUuid:a.uuid,projectUuid:b,onMoved:()=>{h()}}),X&&(0,e.jsx)(F.i,{idea:{uuid:a.uuid,title:a.title,content:a.content,status:a.status,assignee:a.assignee?{type:a.assignee.type,uuid:a.assignee.uuid,name:a.assignee.name}:null},projectUuid:b,currentUserUuid:c,onClose:()=>{Y(!1),h()}})]})}d()}catch(a){d(a)}})},54349:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hu:()=>n,eT:()=>m,fg:()=>l,uA:()=>q});var e=c(52618),f=c(76872),g=c(90494),h=c(88437),i=c(42558),j=c(65582),k=a([e,f,g,h]);async function l({companyUuid:a,targetType:b,targetUuid:c,skip:d,take:g}){if(!await (0,f._9)(b,c,a))return{comments:[],total:0};let h={companyUuid:a,targetType:b,targetUuid:c},[i,j]=await Promise.all([e.z.comment.findMany({where:h,skip:d,take:g,orderBy:{createdAt:"asc"},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.comment.count({where:h})]);return{comments:await Promise.all(i.map(async a=>{let b=await (0,f.lR)(a.authorType,a.authorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,content:a.content,author:{type:a.authorType,uuid:a.authorUuid,name:b??"Unknown"},createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})),total:j}}async function m({companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h}){if(!await (0,f._9)(b,c,a))throw Error(`Target ${b} with UUID ${c} not found`);let k=await e.z.comment.create({data:{companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),l=await (0,f.lR)(k.authorType,k.authorUuid);return n(b,c).then(d=>{d&&i.B.emitChange({companyUuid:a,projectUuid:d,entityType:b,entityUuid:c,action:"updated",actorUuid:h})}).catch(()=>{}),p(a,b,c,k.uuid,d,g,h).catch(a=>j.A.error({err:a},"Failed to process comment mentions")),{uuid:k.uuid,targetType:k.targetType,targetUuid:k.targetUuid,content:k.content,author:{type:k.authorType,uuid:k.authorUuid,name:l??"Unknown"},createdAt:k.createdAt.toISOString(),updatedAt:k.updatedAt.toISOString()}}async function n(a,b,c){let d=c?{companyUuid:c}:{};switch(a){case"task":{let a=await e.z.task.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"idea":{let a=await e.z.idea.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"proposal":{let a=await e.z.proposal.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"document":{let a=await e.z.document.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}default:return null}}async function o(a,b){switch(a){case"task":{let a=await e.z.task.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Task"}case"idea":{let a=await e.z.idea.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Idea"}case"proposal":{let a=await e.z.proposal.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Proposal"}case"document":{let a=await e.z.document.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Document"}default:return"Unknown"}}async function p(a,b,c,d,e,f,i){let j=g.Xs(e);if(0===j.length)return;let k=await n(b,c);if(!k)return;let l=await o(b,c);for(let m of(await g.AM({companyUuid:a,sourceType:"comment",sourceUuid:d,content:e,actorType:f,actorUuid:i,projectUuid:k,entityTitle:l}),j))(m.type!==f||m.uuid!==i)&&await h.createActivity({companyUuid:a,projectUuid:k,targetType:b,targetUuid:c,actorType:f,actorUuid:i,action:"mentioned",value:{mentionedType:m.type,mentionedUuid:m.uuid,mentionedName:m.displayName,sourceType:"comment",sourceUuid:d}})}async function q(a,b,c){if(0===c.length)return{};let d=await e.z.comment.groupBy({by:["targetUuid"],where:{companyUuid:a,targetType:b,targetUuid:{in:c}},_count:{targetUuid:!0}}),f={};for(let a of c)f[a]=0;for(let a of d)f[a.targetUuid]=a._count.targetUuid;return f}[e,f,g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},57578:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AU:()=>q,Bf:()=>L,CA:()=>G,Eh:()=>I,FD:()=>E,HF:()=>t,IV:()=>C,LJ:()=>D,M9:()=>F,PK:()=>x,TC:()=>A,X2:()=>y,e1:()=>p,fS:()=>r,gF:()=>z,gT:()=>H,lh:()=>K,nW:()=>J,op:()=>w,tM:()=>B,v3:()=>o,wV:()=>s});var e=c(55511),f=c(52618),g=c(18818),h=c(76872),i=c(42558),j=c(68775),k=a([f,h]);function l(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}function m(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}async function n(a){let b="user"===a.createdByType?"user":"agent",[c,d]=await Promise.all([(0,h.LS)(a.createdByUuid,b),(0,h.SJ)(a.reviewedByUuid,a.reviewNote,a.reviewedAt)]),e={uuid:a.uuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,documentDrafts:a.documentDrafts,taskDrafts:a.taskDrafts,status:a.status,createdBy:c,createdByType:a.createdByType,review:d,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return a.project&&(e.project=a.project),e}async function o(a,b){let c=await f.z.proposal.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Proposal not found");let d=[],e=c.documentDrafts||[],g=c.taskDrafts||[],h=c.inputUuids||[];for(let a of(0===e.length&&d.push({id:"E1",level:"error",message:"Proposal must contain at least one document draft"}),e))(!a.content||a.content.length<100)&&d.push({id:"E2",level:"error",message:`Document draft "${a.title}" must have content with at least 100 characters`,field:a.title});if(0===g.length&&d.push({id:"E3",level:"error",message:"Proposal must contain at least one task draft"}),0===h.length&&d.push({id:"E4",level:"error",message:"Proposal must have at least one input (idea or other source)"}),"idea"===c.inputType&&h.length>0)for(let b of(await f.z.idea.findMany({where:{uuid:{in:h},companyUuid:a},select:{uuid:!0,title:!0,elaborationStatus:!0}})))"resolved"!==b.elaborationStatus&&d.push({id:"E5",level:"error",message:`Input idea "${b.title}" has unresolved elaboration (status: ${b.elaborationStatus})`,field:b.title});for(let a of(e.some(a=>"tech_design"===a.type)||d.push({id:"W1",level:"warning",message:"Proposal should contain at least one tech design document draft"}),g))a.description&&0!==a.description.trim().length||d.push({id:"W2",level:"warning",message:`Task draft "${a.title}" is missing a description`,field:a.title});for(let a of g)a.acceptanceCriteriaItems&&0!==a.acceptanceCriteriaItems.length||d.push({id:"E-AC",level:"error",message:`Task draft "${a.title}" is missing acceptance criteria (structured items required)`,field:a.title});for(let a of(g.length>=2&&(g.some(a=>a.dependsOnDraftUuids&&a.dependsOnDraftUuids.length>0)||d.push({id:"W4",level:"warning",message:"When there are multiple tasks, at least one should declare dependencies"})),c.description&&0!==c.description.trim().length||d.push({id:"W5",level:"warning",message:"Proposal description should not be empty"}),g))a.priority||d.push({id:"I1",level:"info",message:`Task draft "${a.title}" does not have a priority set`,field:a.title});for(let a of g)null==a.storyPoints&&d.push({id:"I2",level:"info",message:`Task draft "${a.title}" does not have story points set`,field:a.title});return{valid:!d.some(a=>"error"===a.level),issues:d}}async function p(a,b){let c=await f.z.proposal.findMany({where:{companyUuid:a,inputType:"idea"},select:{uuid:!0,title:!0,inputUuids:!0}}),d=[];for(let a of c){let c=a.inputUuids;for(let e of b)c.includes(e)&&d.push({uuid:e,proposalUuid:a.uuid,proposalTitle:a.title})}return{available:0===d.length,usedIdeas:d}}async function q(a,b,c,d){let e=await f.z.idea.findMany({where:{uuid:{in:b},companyUuid:a},select:{uuid:!0,assigneeType:!0,assigneeUuid:!0}}),g=[];for(let a of e)(a.assigneeType!==d||a.assigneeUuid!==c)&&g.push(a.uuid);return{valid:0===g.length,unassignedIdeas:g}}async function r(a,b,c){let d=(await f.z.proposal.findMany({where:{projectUuid:b,companyUuid:a},orderBy:{createdAt:"desc"},select:{uuid:!0,title:!0,description:!0,inputType:!0,inputUuids:!0,documentDrafts:!0,taskDrafts:!0,status:!0,createdByUuid:!0,createdByType:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,createdAt:!0,updatedAt:!0}})).filter(a=>Array.isArray(a.inputUuids)&&a.inputUuids.includes(c));return Promise.all(d.map(a=>n(a)))}async function s({companyUuid:a,projectUuid:b,skip:c,take:d,status:e}){let g={projectUuid:b,companyUuid:a,...e&&{status:e}},[h,i]=await Promise.all([f.z.proposal.findMany({where:g,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,title:!0,description:!0,inputType:!0,inputUuids:!0,documentDrafts:!0,taskDrafts:!0,status:!0,createdByUuid:!0,createdByType:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,createdAt:!0,updatedAt:!0}}),f.z.proposal.count({where:g})]);return{proposals:await Promise.all(h.map(a=>n(a))),total:i}}async function t(a,b){let c=await f.z.proposal.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}}}});return c?n(c):null}function u(a){return{uuid:a.uuid,type:a.type,title:a.title,contentLength:(a.content??"").length}}function v(a){let b={uuid:a.uuid,title:a.title,acceptanceCriteriaCount:a.acceptanceCriteriaItems?.length??0};return void 0!==a.priority&&(b.priority=a.priority),void 0!==a.storyPoints&&(b.storyPoints=a.storyPoints),void 0!==a.dependsOnDraftUuids&&(b.dependsOnDraftUuids=a.dependsOnDraftUuids),b}async function w(a,b,c){let d=await t(a,b);if(!d)return null;let{documentDrafts:e,taskDrafts:f,...g}=d;switch(c){case"documents":return{...g,section:"documents",documentDrafts:e};case"tasks":return{...g,section:"tasks",taskDrafts:f};case"full":return{...d,section:"full"};default:return{...g,section:"basic",documentDraftCount:e?.length??0,taskDraftCount:f?.length??0,documentDraftIndex:(e??[]).map(u),taskDraftIndex:(f??[]).map(v)}}}async function x(a,b){return f.z.proposal.findFirst({where:{uuid:b,companyUuid:a}})}async function y(a){let b=a.documentDrafts?.map(l),c=a.taskDrafts?.map(m),d=await f.z.proposal.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,...b&&{documentDrafts:b},...c&&{taskDrafts:c},status:"draft",createdByUuid:a.createdByUuid,createdByType:a.createdByType||"agent"},select:{uuid:!0,title:!0,description:!0,inputType:!0,inputUuids:!0,documentDrafts:!0,taskDrafts:!0,status:!0,createdByUuid:!0,createdByType:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,createdAt:!0,updatedAt:!0}});return i.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"proposal",entityUuid:d.uuid,action:"created"}),n(d)}async function z(a,b,c,d){let e=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b}});if(!e)throw Error("Proposal not found");let{updatedProposal:g,materializedTasks:h,materializedDocuments:k}=await f.z.$transaction(async b=>{let f=await b.proposal.update({where:{uuid:a},data:{status:"approved",reviewedByUuid:c,reviewNote:d||null,reviewedAt:new Date},include:{project:{select:{uuid:!0,name:!0}}}}),g=e.documentDrafts,h=e.taskDrafts,i=[],k=[];if(g&&g.length>0){let a=await b.document.createManyAndReturn({data:g.map(a=>({companyUuid:e.companyUuid,projectUuid:e.projectUuid,type:a.type||"prd",title:a.title,content:a.content||null,version:1,proposalUuid:e.uuid,createdByUuid:e.createdByUuid})),select:{uuid:!0,title:!0}});for(let b=0;b<g.length;b++)k.push({draftUuid:g[b].uuid,documentUuid:a[b].uuid,title:a[b].title})}if(h&&h.length>0){for(let a of h)if(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0&&!(0,j.hY)(a.acceptanceCriteriaItems))throw Error(`Task draft "${a.title}": acceptanceCriteriaItems has no non-empty description`);let a=await b.task.createManyAndReturn({data:h.map(a=>({companyUuid:e.companyUuid,projectUuid:e.projectUuid,title:a.title,description:a.description||null,status:"open",priority:a.priority||"medium",storyPoints:a.storyPoints||null,acceptanceCriteria:a.acceptanceCriteria||null,proposalUuid:e.uuid,createdByUuid:e.createdByUuid})),select:{uuid:!0,title:!0}}),c=new Map;for(let b=0;b<h.length;b++)c.set(h[b].uuid,a[b].uuid),i.push({draftUuid:h[b].uuid,taskUuid:a[b].uuid,title:a[b].title});let d=[];for(let a of h)if(a.dependsOnDraftUuids&&a.dependsOnDraftUuids.length>0){let b=c.get(a.uuid);if(!b)continue;for(let e of a.dependsOnDraftUuids){let a=c.get(e);a&&d.push({taskUuid:b,dependsOnUuid:a})}}d.length>0&&await b.taskDependency.createMany({data:d});let f=[];for(let a of h){let b=c.get(a.uuid);b&&(0,j.Ch)(a.acceptanceCriteriaItems).forEach((a,c)=>{f.push({taskUuid:b,description:a.description,required:a.required,sortOrder:c})})}f.length>0&&await b.acceptanceCriterion.createMany({data:f})}return{updatedProposal:f,materializedTasks:i,materializedDocuments:k}},{timeout:15e3});i.B.emitChange({companyUuid:e.companyUuid,projectUuid:e.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"});let l=await n(g);return h.length>0&&(l.materializedTasks=h),k.length>0&&(l.materializedDocuments=k),l}async function A(a,b){let[c,d]=await Promise.all([f.z.task.findMany({where:{companyUuid:a,proposalUuid:b,status:{not:"closed"}},select:{uuid:!0,title:!0,status:!0},orderBy:{createdAt:"asc"}}),f.z.document.findMany({where:{companyUuid:a,proposalUuid:b},select:{uuid:!0,title:!0},orderBy:{createdAt:"asc"}})]);return{tasks:c,documents:d}}async function B(a,b,c,d){let e=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b}});if(!e)throw Error("Proposal not found");if("approved"!==e.status)throw Error("Only approved proposals can be revoked");let[g,h]=await Promise.all([f.z.task.findMany({where:{proposalUuid:e.uuid,status:{not:"closed"}},select:{uuid:!0,title:!0}}),f.z.document.findMany({where:{proposalUuid:e.uuid},select:{uuid:!0,title:!0}})]),j=g.map(a=>({uuid:a.uuid,title:a.title})),k=h.map(a=>({uuid:a.uuid,title:a.title}));return await f.z.$transaction(async b=>{let f=j.map(a=>a.uuid),g=k.map(a=>a.uuid);f.length>0&&(await b.sessionTaskCheckin.deleteMany({where:{taskUuid:{in:f}}}),await b.taskDependency.deleteMany({where:{dependsOnUuid:{in:f},taskUuid:{notIn:f}}}),await b.task.updateMany({where:{proposalUuid:e.uuid},data:{status:"closed"}})),g.length>0&&(await b.comment.deleteMany({where:{targetType:"document",targetUuid:{in:g}}}),await b.document.deleteMany({where:{proposalUuid:e.uuid}})),await b.proposal.update({where:{uuid:a},data:{status:"draft",reviewedByUuid:c,reviewedAt:new Date,reviewNote:d||null}})},{timeout:15e3}),i.B.emitChange({companyUuid:e.companyUuid,projectUuid:e.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),{proposalUuid:a,closedTasks:j,deletedDocuments:k}}async function C(a,b,c){let d=await f.z.proposal.update({where:{uuid:a},data:{status:"draft",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:d.uuid,action:"updated"}),n(d)}async function D(a,b,c){let d=await f.z.proposal.update({where:{uuid:a},data:{status:"closed",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:d.uuid,action:"updated"}),n(d)}async function E(a,b){let c=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b}});if(!c)throw Error("Proposal not found");if("draft"!==c.status)throw Error("Only draft proposals can be submitted for review");let d=await o(b,a);if(!d.valid){let a=d.issues.map(a=>`[${a.level}] ${a.message}`);throw Error(`Proposal validation failed:
2
- ${a.join("\n")}`)}let e=await f.z.proposal.update({where:{uuid:a},data:{status:"pending"},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:e.companyUuid,projectUuid:e.projectUuid,entityType:"proposal",entityUuid:e.uuid,action:"updated"}),n(e)}async function F(a,b,c){let d=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("Proposal not found or not in draft status");let e=d.documentDrafts||[],g=l(c),h=[...e,g],j=await f.z.proposal.update({where:{uuid:a},data:{documentDrafts:h},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(j)}async function G(a,b,c){let d=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("Proposal not found or not in draft status");if(!(0,j.hY)(c.acceptanceCriteriaItems))throw Error(j.se);let e=d.taskDrafts||[],g=m({...c,acceptanceCriteriaItems:(0,j.Ch)(c.acceptanceCriteriaItems)}),h=[...e,g],k=await f.z.proposal.update({where:{uuid:a},data:{taskDrafts:h},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(k)}async function H(a,b,c,d){let e=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!e)throw Error("Proposal not found or not in draft status");let g=e.documentDrafts||[],h=g.findIndex(a=>a.uuid===c);if(-1===h)throw Error("Document draft not found");g[h]={...g[h],...d};let j=await f.z.proposal.update({where:{uuid:a},data:{documentDrafts:g},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:e.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(j)}async function I(a,b,c,d){let e=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!e)throw Error("Proposal not found or not in draft status");let g=e.taskDrafts||[],h=g.findIndex(a=>a.uuid===c);if(-1===h)throw Error("Task draft not found");let k={...d};if("acceptanceCriteriaItems"in d){if(!(0,j.hY)(d.acceptanceCriteriaItems))throw Error(j.se);k.acceptanceCriteriaItems=(0,j.Ch)(d.acceptanceCriteriaItems)}g[h]={...g[h],...k};let l=await f.z.proposal.update({where:{uuid:a},data:{taskDrafts:g},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:e.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(l)}async function J(a,b,c){let d=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("Proposal not found or not in draft status");let e=(d.documentDrafts||[]).filter(a=>a.uuid!==c),h=await f.z.proposal.update({where:{uuid:a},data:{documentDrafts:e.length>0?e:g.D1.Fj},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(h)}async function K(a,b,c){let d=await f.z.proposal.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("Proposal not found or not in draft status");let e=(d.taskDrafts||[]).filter(a=>a.uuid!==c).map(a=>({...a,dependsOnDraftUuids:a.dependsOnDraftUuids?.filter(a=>a!==c)})),h=await f.z.proposal.update({where:{uuid:a},data:{taskDrafts:e.length>0?e:g.D1.Fj},include:{project:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:b,projectUuid:d.projectUuid,entityType:"proposal",entityUuid:a,action:"updated"}),n(h)}async function L(a,b){let c=await f.z.proposal.findMany({where:{companyUuid:a,projectUuid:b,status:"approved"},select:{uuid:!0,title:!0,createdAt:!0},orderBy:{createdAt:"asc"}}),d=await f.z.task.groupBy({by:["proposalUuid"],where:{companyUuid:a,projectUuid:b,proposalUuid:{in:c.map(a=>a.uuid)}},_count:!0}),e=new Map(d.map(a=>[a.proposalUuid,a._count]));return c.map((a,b)=>({uuid:a.uuid,title:a.title,sequenceNumber:b+1,taskCount:e.get(a.uuid)??0}))}[f,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},61007:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(91533).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"}]])},63413:(a,b,c)=>{c.d(b,{cn:()=>f});var d=c(34269),e=c(42711);function f(...a){return(0,e.QP)((0,d.$)(a))}},66685:(a,b,c)=>{c.d(b,{y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60bc14a8d39f0f24588050cac093c9f3dd936825ee",d.callServer,void 0,d.findSourceMapURL,"skipElaborationAction")},74236:(a,b,c)=>{c.d(b,{Wu:()=>i,ZB:()=>h,Zp:()=>f,aR:()=>g});var d=c(10023);c(73426);var e=c(63413);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}}};