@chorus-aidlc/chorus 0.16.4 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +511 -511
  3. package/.next/standalone/.next/app-path-routes-manifest.json +47 -47
  4. package/.next/standalone/.next/build-manifest.json +6 -6
  5. package/.next/standalone/.next/prerender-manifest.json +42 -42
  6. package/.next/standalone/.next/react-loadable-manifest.json +1 -1
  7. package/.next/standalone/.next/required-server-files.json +4 -4
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +2 -2
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +2 -2
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  51. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  53. package/.next/standalone/.next/server/app/_not-found.rsc +5 -5
  54. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page.js +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin/companies/new/page.js +2 -2
  58. package/.next/standalone/.next/server/app/admin/companies/new/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  61. package/.next/standalone/.next/server/app/admin/companies/new.rsc +7 -7
  62. package/.next/standalone/.next/server/app/admin/companies/page.js +2 -2
  63. package/.next/standalone/.next/server/app/admin/companies/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  66. package/.next/standalone/.next/server/app/admin/companies.rsc +7 -7
  67. package/.next/standalone/.next/server/app/admin/page.js +2 -2
  68. package/.next/standalone/.next/server/app/admin/page.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/admin.html +2 -2
  71. package/.next/standalone/.next/server/app/admin.rsc +7 -7
  72. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/admin/login/route.js +1 -1
  77. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/admin/session/route.js +1 -1
  79. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
  97. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js +1 -1
  99. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/auth/me/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  169. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/events/route.js +9 -3
  172. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/health/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  201. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  213. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  222. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
  230. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
  232. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js +1 -1
  234. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/app/api/project-visits/route.js +1 -1
  236. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js +1 -1
  238. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
  240. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js +1 -1
  242. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  245. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  248. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
  250. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  252. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  255. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  258. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  260. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  261. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  262. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
  267. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  268. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  269. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  271. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  274. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js +1 -1
  277. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  279. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  280. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  282. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  283. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  285. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  287. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  289. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  290. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  291. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  292. package/.next/standalone/.next/server/app/api/references/[uuid]/route.js +1 -1
  293. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  294. package/.next/standalone/.next/server/app/api/references/route.js +1 -1
  295. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/api/search/route.js +1 -1
  297. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/api/session/route.js +1 -1
  299. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  300. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  301. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  302. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  303. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  304. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  305. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  307. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  308. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  310. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  311. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  312. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  313. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  314. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  315. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  316. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  317. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  318. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  319. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  320. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  321. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  322. package/.next/standalone/.next/server/app/index.html +2 -2
  323. package/.next/standalone/.next/server/app/index.rsc +6 -6
  324. package/.next/standalone/.next/server/app/login/admin/page.js +2 -2
  325. package/.next/standalone/.next/server/app/login/admin/page.js.nft.json +1 -1
  326. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  327. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  328. package/.next/standalone/.next/server/app/login/admin.rsc +6 -6
  329. package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
  330. package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
  331. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  332. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  333. package/.next/standalone/.next/server/app/login/callback.rsc +6 -6
  334. package/.next/standalone/.next/server/app/login/page.js +2 -2
  335. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  336. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  337. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +2 -2
  338. package/.next/standalone/.next/server/app/login/pick-workspace/page.js.nft.json +1 -1
  339. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  340. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  341. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +6 -6
  342. package/.next/standalone/.next/server/app/login.html +2 -2
  343. package/.next/standalone/.next/server/app/login.rsc +6 -6
  344. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  345. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  346. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  347. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  348. package/.next/standalone/.next/server/app/onboarding.rsc +6 -6
  349. package/.next/standalone/.next/server/app/page.js +2 -2
  350. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  351. package/.next/standalone/.next/server/app/projects.html +2 -2
  352. package/.next/standalone/.next/server/app/projects.rsc +7 -7
  353. package/.next/standalone/.next/server/app/settings.html +2 -2
  354. package/.next/standalone/.next/server/app/settings.rsc +7 -7
  355. package/.next/standalone/.next/server/app-paths-manifest.json +47 -47
  356. package/.next/standalone/.next/server/chunks/1073.js +1 -0
  357. package/.next/standalone/.next/server/chunks/1114.js +1 -0
  358. package/.next/standalone/.next/server/chunks/1267.js +1 -0
  359. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  360. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  361. package/.next/standalone/.next/server/chunks/2570.js +2 -2
  362. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  363. package/.next/standalone/.next/server/chunks/2940.js +1 -1
  364. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  365. package/.next/standalone/.next/server/chunks/3197.js +1 -1
  366. package/.next/standalone/.next/server/chunks/378.js +4 -4
  367. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  368. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  369. package/.next/standalone/.next/server/chunks/{5351.js → 5737.js} +13 -9
  370. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  371. package/.next/standalone/.next/server/chunks/6145.js +1 -0
  372. package/.next/standalone/.next/server/chunks/6487.js +1 -0
  373. package/.next/standalone/.next/server/chunks/6506.js +1 -1
  374. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  375. package/.next/standalone/.next/server/chunks/6753.js +3 -3
  376. package/.next/standalone/.next/server/chunks/679.js +1 -1
  377. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  378. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  379. package/.next/standalone/.next/server/chunks/7770.js +1 -0
  380. package/.next/standalone/.next/server/chunks/{4394.js → 7822.js} +1 -1
  381. package/.next/standalone/.next/server/chunks/8454.js +1 -1
  382. package/.next/standalone/.next/server/chunks/8586.js +1 -0
  383. package/.next/standalone/.next/server/chunks/920.js +1 -1
  384. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  385. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  386. package/.next/standalone/.next/server/chunks/9931.js +1 -0
  387. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  388. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  389. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  390. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  391. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  392. package/.next/standalone/.next/server/pages/404.html +2 -2
  393. package/.next/standalone/.next/server/pages/500.html +1 -1
  394. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  395. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  396. package/.next/standalone/.next/server/src/middleware.js +2 -2
  397. package/.next/standalone/.next/static/chunks/{11595.a6268c75ca8a2163.js → 11595.32f7dedc4fd7e3e1.js} +1 -1
  398. package/.next/standalone/.next/static/chunks/11998-27dcf858173fc015.js +1 -0
  399. package/.next/standalone/.next/static/chunks/12070-426bb88f5179812b.js +1 -0
  400. package/.next/standalone/.next/static/chunks/17409-67dbc0a3f4cbc207.js +1 -0
  401. package/.next/standalone/.next/static/chunks/26494-5a04e150431b0233.js +1 -0
  402. package/.next/standalone/.next/static/chunks/{31308-fda6febfb2882a28.js → 31308-bb4a97b3f39c22dd.js} +1 -1
  403. package/.next/standalone/.next/static/chunks/{33456.16ff7edf00137539.js → 33456.87f86ce6041405e0.js} +1 -1
  404. package/.next/standalone/.next/static/chunks/38366.fb931fab9c756890.js +1 -0
  405. package/.next/standalone/.next/static/chunks/4166-85352630c29e2c2b.js +1 -0
  406. package/.next/standalone/.next/static/chunks/{4860.9e06848eb531e667.js → 4860.9457e021394e9399.js} +1 -1
  407. package/.next/standalone/.next/static/chunks/{65096-f756aac39efad7a3.js → 65096-8295f53f97c40d47.js} +1 -1
  408. package/.next/standalone/.next/static/chunks/65807-086d83649f593a5a.js +1 -0
  409. package/.next/standalone/.next/static/chunks/79919-56796c262f51fa82.js +1 -0
  410. package/.next/standalone/.next/static/chunks/94643-87ee1ede6d955937.js +1 -0
  411. package/.next/standalone/.next/static/chunks/{99373.81b79c91858f9099.js → 99373.aed267aa48c5bdd0.js} +1 -1
  412. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-9219c4de1012f0fb.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/{page-974781e4886529f8.js → page-82e90e222d6bc547.js} +1 -1
  414. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/activity/page-f1eccb50d38d8982.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-f4810f1b9f39d1ae.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-721d2152f1a28c88.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-9bcff40805f39b25.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-fdd617457730a116.js → page-f31ad2eebe257628.js} +1 -1
  419. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-a4fb04068539c4ce.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-b1d2af10e9bc7e09.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-2cb245b0602a3c85.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-58b48aa0a11603c3.js → page-53ce4468844cc84f.js} +1 -1
  423. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-286faced32c6133f.js → page-1c374d19e8046d9a.js} +1 -1
  424. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-31d6f8e82c7f5366.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-32bff791b19a0a58.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/_not-found/{page-166b410da84336d4.js → page-b9d672df79b35e87.js} +1 -1
  427. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/{page-b2458ed001dc8177.js → page-56118c51122ad639.js} +1 -1
  428. package/.next/standalone/.next/static/chunks/app/admin/companies/new/page-4e20deb41357171c.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/admin/companies/page-0632f245bf9c1c27.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/admin/layout-725ab2331c642f36.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/admin/{page-0cc8cf246db43e5d.js → page-5a0271dd2b8b36fd.js} +1 -1
  432. package/.next/standalone/.next/static/chunks/app/{layout-985054e973f66999.js → layout-098288cec4490c5d.js} +1 -1
  433. package/.next/standalone/.next/static/chunks/app/login/admin/page-c8e40259e5d3d9e0.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/login/callback/page-527652f6c1a39274.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/login/{page-9b34375d1b5579d7.js → page-0a16a64855b771ef.js} +1 -1
  436. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-47375a86e2375202.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/onboarding/{page-5c82cf3abd856301.js → page-d082f9b60ad03057.js} +1 -1
  438. package/.next/standalone/.next/static/chunks/app/{page-79e2d32e69788bd2.js → page-91dbf7dfd85f805f.js} +1 -1
  439. package/.next/standalone/.next/static/chunks/main-app-1a7cacecc8900a4d.js +1 -0
  440. package/.next/standalone/.next/static/chunks/{webpack-4d1cc14b13e247b6.js → webpack-e2e0ef50652d5791.js} +1 -1
  441. package/.next/standalone/.next/static/css/1d9cf83f50b6db00.css +1 -0
  442. package/.next/standalone/package.json +2 -1
  443. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  444. package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +44 -1
  445. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +4 -3
  446. package/.next/standalone/public/chorus-plugin/bin/tests/test-mcp-cli-delegation.sh +244 -0
  447. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  448. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +19 -1
  449. package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +57 -0
  450. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -2
  451. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  452. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +2 -2
  453. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +85 -42
  454. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
  455. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +2 -2
  456. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  457. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  458. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +3 -3
  459. package/.next/standalone/public/dsh-credentials.sh +20 -127
  460. package/.next/standalone/public/install-codex.sh +21 -406
  461. package/.next/standalone/public/install-kiro.sh +20 -344
  462. package/.next/standalone/public/install-opencode.sh +20 -275
  463. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  464. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +57 -0
  465. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +2 -2
  466. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  467. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +2 -2
  468. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +85 -42
  469. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +1 -1
  470. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +2 -2
  471. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  472. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  473. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +3 -3
  474. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +44 -1
  475. package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +6 -4
  476. package/.next/standalone/public/kiro-plugin/manifest.txt +42 -0
  477. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  478. package/.next/standalone/public/skill/chorus/SKILL.md +19 -1
  479. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  480. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  481. package/.next/standalone/public/skill/docs-chorus/SKILL.md +1 -1
  482. package/.next/standalone/public/skill/idea-chorus/SKILL.md +2 -2
  483. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +1 -1
  484. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  485. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  486. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  487. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  488. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  489. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  490. package/.next/standalone/public/test-dsh-credentials.sh +22 -38
  491. package/.next/standalone/public/test-install-codex.sh +31 -79
  492. package/.next/standalone/server.js +1 -1
  493. package/README.ja.md +4 -2
  494. package/README.ko.md +4 -2
  495. package/README.md +4 -2
  496. package/README.zh.md +4 -2
  497. package/chorus.mjs +35 -1
  498. package/cli/agent-backend-prompt.mjs +3 -2
  499. package/cli/agents.mjs +329 -0
  500. package/cli/chorus-client.mjs +69 -0
  501. package/cli/claude-spawner.mjs +56 -15
  502. package/cli/codex-spawner.mjs +11 -6
  503. package/cli/credentials.mjs +190 -4
  504. package/cli/daemon-agent.mjs +26 -2
  505. package/cli/daemon-config.mjs +27 -2
  506. package/cli/daemon-service.mjs +120 -33
  507. package/cli/daemon.mjs +128 -22
  508. package/cli/dsh-spawner.mjs +7 -0
  509. package/cli/init/adapters.mjs +137 -0
  510. package/cli/init/agent-type-map.mjs +60 -0
  511. package/cli/init/chorus-plugin-consts.mjs +16 -0
  512. package/cli/init/codex-mcp-config.mjs +183 -0
  513. package/cli/init/contracts.mjs +122 -0
  514. package/cli/init/detect.mjs +97 -0
  515. package/cli/init/file-template.mjs +248 -0
  516. package/cli/init/install-methods.mjs +569 -0
  517. package/cli/init/registry.mjs +74 -0
  518. package/cli/init/run-command.mjs +30 -0
  519. package/cli/init/select.mjs +111 -0
  520. package/cli/init/steps/credential-seed.mjs +751 -0
  521. package/cli/init/steps/daemon-setup.mjs +246 -0
  522. package/cli/init/steps/plugin-install.mjs +37 -0
  523. package/cli/init-args.mjs +140 -0
  524. package/cli/init.mjs +243 -0
  525. package/cli/kiro-spawner.mjs +5 -0
  526. package/cli/mcp-args.mjs +280 -0
  527. package/cli/mcp.mjs +164 -0
  528. package/cli/spawner-select.mjs +45 -2
  529. package/cli/waker.mjs +89 -38
  530. package/package.json +2 -1
  531. package/.next/standalone/.env +0 -18
  532. package/.next/standalone/.next/server/chunks/3594.js +0 -1
  533. package/.next/standalone/.next/server/chunks/4545.js +0 -1
  534. package/.next/standalone/.next/server/chunks/5205.js +0 -1
  535. package/.next/standalone/.next/server/chunks/6207.js +0 -1
  536. package/.next/standalone/.next/server/chunks/6667.js +0 -1
  537. package/.next/standalone/.next/server/chunks/6995.js +0 -1
  538. package/.next/standalone/.next/server/chunks/7091.js +0 -1
  539. package/.next/standalone/.next/server/chunks/9793.js +0 -1
  540. package/.next/standalone/.next/static/chunks/19887-b805e1dcee8c367b.js +0 -1
  541. package/.next/standalone/.next/static/chunks/29108-5a11eea003f4cc11.js +0 -1
  542. package/.next/standalone/.next/static/chunks/38366.e6e0132b8ba873d6.js +0 -1
  543. package/.next/standalone/.next/static/chunks/53073-a7ed20af6538a178.js +0 -1
  544. package/.next/standalone/.next/static/chunks/6603-e70ddeab6ad09c50.js +0 -1
  545. package/.next/standalone/.next/static/chunks/78917-1b59cbb806b3ecfc.js +0 -1
  546. package/.next/standalone/.next/static/chunks/82751-3e161e1d8dbda3ac.js +0 -1
  547. package/.next/standalone/.next/static/chunks/94643-ffa140f765c73daf.js +0 -1
  548. package/.next/standalone/.next/static/chunks/99366-425e9ef22e60e3e2.js +0 -1
  549. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b742c51c0a764daf.js +0 -1
  550. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/activity/page-20632dbec5a6dbc0.js +0 -1
  551. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-f636e00c28f425ea.js +0 -1
  552. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c004f1a194af7fa5.js +0 -1
  553. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-425acbe9ade5fa83.js +0 -1
  554. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-b9eb4e0692996657.js +0 -1
  555. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-d5b222f379b2e8ca.js +0 -1
  556. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0a6c2d0e1b68e0e4.js +0 -1
  557. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-9d79e285b6fd2f8d.js +0 -1
  558. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-1507a761e67c2aa9.js +0 -1
  559. package/.next/standalone/.next/static/chunks/app/admin/companies/new/page-e35dce890d6dfd8d.js +0 -1
  560. package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +0 -1
  561. package/.next/standalone/.next/static/chunks/app/admin/layout-c66ce38cbd88982a.js +0 -1
  562. package/.next/standalone/.next/static/chunks/app/login/admin/page-f032b6db3bd20a2c.js +0 -1
  563. package/.next/standalone/.next/static/chunks/app/login/callback/page-ec23211506e688ee.js +0 -1
  564. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-7e4664af2c787d08.js +0 -1
  565. package/.next/standalone/.next/static/chunks/main-app-ec87f2c9ef083ff1.js +0 -1
  566. package/.next/standalone/.next/static/css/5f52bd39b284ccdf.css +0 -1
  567. /package/.next/standalone/.next/static/{6sHDgeKioa0SJR1MAbcYG → _s4RZW3efB1g0lrKgLiZ7}/_buildManifest.js +0 -0
  568. /package/.next/standalone/.next/static/{6sHDgeKioa0SJR1MAbcYG → _s4RZW3efB1g0lrKgLiZ7}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=1073,exports.ids=[1073],exports.modules={644:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},7813:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(42377);let e=(0,d.createServerReference)("400587c9940eca6c3f556a2f39602f7df6314802c3",d.callServer,void 0,d.findSourceMapURL,"createTaskAction")},15724:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(42377);let e=(0,d.createServerReference)("404550416550b7046aa61a682c1fe9c86f6ada793f",d.callServer,void 0,d.findSourceMapURL,"getTaskActivitiesAction")},21326:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},22293:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{TK:()=>l,kq:()=>m,wG:()=>k,xo:()=>j});var e=c(2613);c(50785);var f=c(9259),g=c(50530),h=c(12217),i=a([f,g]);async function j(a){let b=await (0,f.d)();if(!b)return{dependsOn:[],dependedBy:[]};try{return await g.vQ(b.companyUuid,a)}catch{return{dependsOn:[],dependedBy:[]}}}async function k(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.QL(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function l(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.j9(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function m(a){let b=await (0,f.d)();if(!b)return{tasks:[]};try{return{tasks:(await g.Vk({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3})).tasks.map(a=>({uuid:a.uuid,title:a.title,status:a.status}))}}catch{return{tasks:[]}}}[f,g]=i.then?(await i)():i,(0,h.D)([j,k,l,m]),(0,e.A)(j,"40056dfb171e85cfe2921edfb8421ed3d93fa214a2",null),(0,e.A)(k,"60c7af1e4361765b5dcf2c74d62389f115c31550a2",null),(0,e.A)(l,"607a6bdd500ae5af65778c7b3459aa99b4193b39df",null),(0,e.A)(m,"400ff4cf087940dcefd447269924b6361d9709f6e0",null),d()}catch(a){d(a)}})},24540:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("607a6bdd500ae5af65778c7b3459aa99b4193b39df",d.callServer,void 0,d.findSourceMapURL,"removeTaskDependencyAction")},30758:(a,b,c)=>{c.d(b,{b:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60f7da766c6cab45b79b47a524e80659e2b958d7c2",d.callServer,void 0,d.findSourceMapURL,"updateTaskStatusAction")},37584:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60bce5308d86774d8d9c512c08e617dc42c6725e78",d.callServer,void 0,d.findSourceMapURL,"markCriteriaAction")},41818:(a,b,c)=>{c.d(b,{F:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40d434954fc705edbce0e1042ce308502ba2157fa0",d.callServer,void 0,d.findSourceMapURL,"getTaskSourceAction")},52621:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("409d64d0d10b20b84f6a0fe879c86f8b145fb45231",d.callServer,void 0,d.findSourceMapURL,"updateTaskFieldsAction")},57413:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60c7af1e4361765b5dcf2c74d62389f115c31550a2",d.callServer,void 0,d.findSourceMapURL,"addTaskDependencyAction")},59179:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},60265:(a,b,c)=>{c.d(b,{_u:()=>x,c_:()=>r,nF:()=>w,qK:()=>u});var d=c(10837),e=c(21968),f=c(47797),g=c(92460);c(63410);var h=c(24346),i=c.n(h),j=c(9222),k=c(49599),l=c(74798);let m={open:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",assigned:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",in_progress:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",to_verify:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",done:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground"},n={open:"#E65100",assigned:"#1976D2",in_progress:"#5A9E6F",to_verify:"#7B1FA2",done:"#00796B",closed:"#9A9A9A"},o={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},p={open:"status.open",assigned:"status.assigned",in_progress:"status.inProgress",to_verify:"status.toVerify",done:"status.done",closed:"status.closed"},q={low:"bg-[#9A9A9A]",medium:"bg-[#E65100]",high:"bg-[#D32F2F]",critical:"bg-[#B71C1C]"},r={taskNode:function({data:a}){let b=(0,j.c)();return(0,d.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] dark:border-[#2a2a2e] bg-card px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-primary transition-colors",children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-primary !w-2 !h-2"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,d.jsx)(k.E,{className:`text-[10px] ${m[a.status]||""}`,children:b(p[a.status]||a.status)}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${q[a.priority]||""}`}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:b(o[a.priority]||a.priority)})]})]}),(0,d.jsx)("p",{className:"text-xs font-medium text-foreground leading-snug line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-primary !w-2 !h-2"})]})}},s={taskNode:function({data:a}){let b=n[a.status]||"#E5E0D8";return(0,d.jsxs)("div",{className:"rounded-md border-[1.5px] bg-card px-2.5 py-1.5 shadow-sm",style:{borderColor:b,width:t},children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-primary !w-1.5 !h-1.5"}),(0,d.jsx)("p",{className:"text-[10px] font-medium text-foreground leading-tight line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-primary !w-1.5 !h-1.5"})]})}},t=150,u={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},v={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function w(a,b,c){let d=c?.nodeWidth??240,e=c?.nodeHeight??80,f=new(i()).graphlib.Graph;return f.setDefaultEdgeLabel(()=>({})),f.setGraph({rankdir:"TB",nodesep:c?.nodesep??50,ranksep:c?.ranksep??80}),a.forEach(a=>{f.setNode(a.id,{width:d,height:e})}),b.forEach(a=>{f.setEdge(a.source,a.target)}),i().layout(f),{nodes:a.map(a=>{let b=f.node(a.id);return{...a,position:{x:b.x-d/2,y:b.y-e/2}}}),edges:b}}function x({tasks:a,edges:b,readonly:c=!1,compact:g=!1,height:h,onNodeClick:i,className:k}){let m=(0,j.c)(),n=(0,l.W)(),{layoutedNodes:o,layoutedEdges:p}=(0,e.useMemo)(()=>{let c=a.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??null}})),d=w(c,b.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...g?v:u})),g?{nodeWidth:t,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:d.nodes,layoutedEdges:d.edges}},[a,b,g]);return 0===a.length?(0,d.jsx)("div",{className:`flex items-center justify-center text-sm text-muted-foreground ${k||""}`,style:h?{height:h}:void 0,children:m("tasks.noTasksToDisplay")}):(0,d.jsx)("div",{className:`rounded-[10px] border border-border bg-[#F7F6F3] dark:bg-[#1e1d1b] ${k||""}`,style:h?{height:h}:void 0,children:(0,d.jsxs)(f.Gc,{colorMode:n?"dark":"light",nodes:o,edges:p,nodeTypes:g?s:r,onNodeClick:i?(a,b)=>i(b.id):void 0,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},nodesDraggable:!c,nodesConnectable:!c,elementsSelectable:!c,panOnDrag:!0,zoomOnScroll:!0,children:[(0,d.jsx)(f.VS,{color:n?"#40392f":"#E5E0D8",gap:20}),!c&&(0,d.jsx)(f.H2,{className:"[&>button]:border-border [&>button]:bg-card [&>button]:text-foreground [&>button:hover]:bg-background"})]})})}},64029:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(50530),i=c(97307),j=c(12217),k=a([f,g,h]);async function l(a){let b=await (0,f.d)();if(!b)return{activities:[],total:0};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,skip:0,take:50})}catch(a){return i.default.error({err:a},"Failed to get task activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"404550416550b7046aa61a682c1fe9c86f6ada793f",null),d()}catch(a){d(a)}})},71353:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IY:()=>n,Nq:()=>m,hD:()=>l});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(97307),j=c(12217),k=a([g,h]);async function l(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can verify acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};let e=await (0,h._T)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.default.error({err:a},"Failed to mark acceptance criteria"),{success:!1,error:"Failed to mark acceptance criteria"}}}async function m(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can reset acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.Qi)(c.companyUuid,a,b),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return i.default.error({err:a},"Failed to reset acceptance criterion"),{success:!1,error:"Failed to reset acceptance criterion"}}}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"};let e=await (0,h.cn)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.default.error({err:a},"Failed to self-check acceptance criteria"),{success:!1,error:"Failed to self-check acceptance criteria"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m,n]),(0,e.A)(l,"60bce5308d86774d8d9c512c08e617dc42c6725e78",null),(0,e.A)(m,"607a699c8690027bb0c82f71ac40e0374ecfb52756",null),(0,e.A)(n,"600907e299b53b09327bbdd82bcfaeccf37423e550",null),d()}catch(a){d(a)}})},72189:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>k});var e=c(2613);c(50785);var f=c(9259),g=c(97879),h=c(97307),i=c(12217),j=a([f,g]);async function k(a){let b=await (0,f.d)();if(!b)return null;try{let c=await (0,g.PK)(b.companyUuid,a);if(!c)return null;return{uuid:c.uuid,title:c.title}}catch(a){return h.default.error({err:a},"Failed to get task source"),null}}[f,g]=j.then?(await j)():j,(0,i.D)([k]),(0,e.A)(k,"40d434954fc705edbce0e1042ce308502ba2157fa0",null),d()}catch(a){d(a)}})},73393:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A0:()=>w,G3:()=>A,M0:()=>r,TV:()=>y,Yw:()=>x,bd:()=>t,hR:()=>u,iY:()=>p,p2:()=>s,qb:()=>q,vq:()=>z,y9:()=>v});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(28774),j=c(61076),k=c(25383),l=c(67738),m=c(97307),n=c(12217),o=a([g,h,i,j,k,l]);async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("open"!==c.status&&"assigned"!==c.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:b.companyUuid,assigneeType:b.type,assigneeUuid:b.actorUuid,assignedByType:"user",assignedByUuid:b.actorUuid}),await (0,l.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim task"),{success:!1,error:"Failed to claim task"}}}async function q(a,b,c){let d=await (0,g.d)();if(!d||"user"!==d.type)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.K4)(d.companyUuid,a);if(!e)return{success:!1,error:"Task not found"};if("open"!==e.status&&"assigned"!==e.status)return{success:!1,error:"Task is not available for claiming"};let g=await (0,k.gt)({companyUuid:d.companyUuid,actorUserUuid:d.actorUuid,projectUuid:e.projectUuid,agentUuid:b}),i="project_fixed"===g.source?g.agentInstanceUuid:c;return await (0,h.QK)({taskUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:i??void 0,cwdSource:"project_fixed"===g.source?g.source:null,cwdHost:"project_fixed"===g.source?g.host:null,runtimeCwd:"project_fixed"===g.source?g.cwd:null}),await (0,l.createActivity)({companyUuid:d.companyUuid,projectUuid:e.projectUuid,targetType:"task",targetUuid:a,actorType:d.type,actorUuid:d.actorUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:b,...i?{instanceUuid:i}:{},..."project_fixed"===g.source?{resolvedCwdSource:g.source,resolvedCwdHost:g.host,resolvedRuntimeCwd:g.cwd}:{}}}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim task to agent"),{success:!1,error:"Failed to claim task"}}}async function r(a,b,c){let d=await (0,g.d)();if(!d||"user"!==d.type)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.K4)(d.companyUuid,a);if(!e)return{success:!1,error:"Task not found"};if("open"!==e.status&&"assigned"!==e.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:c}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to reassign task instance (no wake)"),{success:!1,error:"Failed to reassign task"}}}async function s(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("assigned"!==c.status&&"in_progress"!==c.status)return{success:!1,error:"Task is not in assigned status"};return await (0,h.Fp)(a),await (0,l.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"released"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to release task"),{success:!1,error:"Failed to release task"}}}async function t(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,l.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"status_changed",value:{status:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to update task status"),{success:!1,error:"Failed to update task status"}}}async function u(a){let b=await (0,g.d)();if(!b||"user"!==b.type)return{success:!1,error:"Only humans can verify tasks"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("to_verify"!==c.status)return{success:!1,error:"Task is not in to_verify status"};let d=await (0,h.Ew)(a);if(!d.allowed)return{success:!1,error:d.reason||"Not all required acceptance criteria are passed"};return await (0,h.lC)(a,{status:"done"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to verify task"),{success:!1,error:"Failed to verify task"}}}async function v(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};if("open"!==d.status&&"assigned"!==d.status)return{success:!1,error:"Task is not available for assigning"};return await (0,h.QK)({taskUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByType:"user",assignedByUuid:c.actorUuid}),await (0,l.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"assigned",value:{assigneeType:"user",assigneeUuid:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to assign task to user"),{success:!1,error:"Failed to assign task"}}}async function w(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.UT)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description||null,priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,createdByUuid:b.actorUuid});return await (0,l.createActivity)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,targetType:"task",targetUuid:c.uuid,actorType:b.type,actorUuid:b.actorUuid,action:"task_created"}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0,taskUuid:c.uuid}}catch(a){return m.default.error({err:a},"Failed to create task"),{success:!1,error:"Failed to create task"}}}async function x(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(b.companyUuid,a.taskUuid))return{success:!1,error:"Task not found"};return await (0,h.lC)(a.taskUuid,{title:a.title,description:a.description,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria}),void 0!==a.acceptanceCriteriaItems&&await (0,h.Pf)(b.companyUuid,a.taskUuid,a.acceptanceCriteriaItems),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to update task"),{success:!1,error:a instanceof Error?a.message:"Failed to update task"}}}async function y(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(c.companyUuid,a))return{success:!1,error:"Task not found"};return await (0,h.vq)(a),(0,f.revalidatePath)(`/projects/${b}/tasks`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to delete task"),{success:!1,error:"Failed to delete task"}}}async function z(){let a=await (0,g.d)();if(!a||"user"!==a.type)return{agents:[],users:[]};try{let[b,c]=await Promise.all([(0,i.ic)(a.companyUuid,"task:write",a.actorUuid),(0,i.A8)(a.companyUuid)]);return{agents:b,users:c,currentUserUuid:a.actorUuid}}catch(a){return m.default.error({err:a},"Failed to get assignable agents"),{agents:[],users:[]}}}async function A(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{instances:[],resolvedTarget:null};try{let[d,e]=await Promise.all([(0,j._R)(c.companyUuid,a),b?(0,k.gt)({companyUuid:c.companyUuid,actorUserUuid:c.actorUuid,projectUuid:b,agentUuid:a}):null]);return{instances:d.map(a=>({connectionUuid:a.uuid,agentInstanceUuid:a.agentInstanceUuid,host:a.host,cwd:a.cwd,effectiveStatus:a.effectiveStatus})),resolvedTarget:e}}catch(a){return m.default.error({err:a},"Failed to get agent instances"),{instances:[],resolvedTarget:null}}}[g,h,i,j,k,l]=o.then?(await o)():o,(0,n.D)([p,q,r,s,t,u,v,w,x,y,z,A]),(0,e.A)(p,"404e474d771d8199fa922fd75c5a46a135db5f88a5",null),(0,e.A)(q,"7092a40a93e9fe26c597f1a30c1c01d2b848dad8bd",null),(0,e.A)(r,"7037955a4d0e5d961aacb2ec907a60529f2c2efac1",null),(0,e.A)(s,"40f3d5a47becdf5763f6319cf1e796d2e9ebc144c8",null),(0,e.A)(t,"60f7da766c6cab45b79b47a524e80659e2b958d7c2",null),(0,e.A)(u,"40c8b0bbebcb73d0a750cd4d80367437c0d7afbd47",null),(0,e.A)(v,"600743ea91d7ac9724276706ed3a07448f27e3f067",null),(0,e.A)(w,"400587c9940eca6c3f556a2f39602f7df6314802c3",null),(0,e.A)(x,"409d64d0d10b20b84f6a0fe879c86f8b145fb45231",null),(0,e.A)(y,"603dc70d43c68125d07c1595f8f9340ae2b8b92bde",null),(0,e.A)(z,"003e2e766e32ba41e86d49ecc9c77f96659883e470",null),(0,e.A)(A,"6007aa0b452dc4d1de51d51d01666e7c31167e6ff9",null),d()}catch(a){d(a)}})},73493:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40056dfb171e85cfe2921edfb8421ed3d93fa214a2",d.callServer,void 0,d.findSourceMapURL,"getTaskDependenciesAction")},77292:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(42377);let e=(0,d.createServerReference)("607a699c8690027bb0c82f71ac40e0374ecfb52756",d.callServer,void 0,d.findSourceMapURL,"resetCriterionAction")},77521:(a,b,c)=>{c.d(b,{Bj:()=>i,L8:()=>e,Wl:()=>j,_5:()=>h,eT:()=>f,fw:()=>g});var d=c(76664);let e=480;function f(a){switch(a){case"done":return"bg-[#00796B]";case"in_progress":return"bg-[#1976D2]";case"to_verify":return"bg-[#7B1FA2]";case"open":case"assigned":return"bg-[#E65100]";case"closed":return"bg-[#9A9A9A]";default:return"bg-[#D9D9D9]"}}function g(a,b){let c=new Date(a),e=new Date().getTime()-c.getTime(),f=Math.floor(e/6e4),g=Math.floor(e/36e5),h=Math.floor(e/864e5);return f<1?b("time.justNow"):f<60?b("time.minutesAgo",{minutes:f}):g<24?b("time.hoursAgo",{hours:g}):h<7?b("time.daysAgo",{days:h}):(0,d.r)(c)}let h={todo:"bg-[#FFF3E0] text-[#E65100] dark:bg-[#3a2a12] dark:text-[#F0A050]",in_progress:"bg-[#E3F2FD] text-[#1976D2] dark:bg-[#13253a] dark:text-[#5AA9F0]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2] dark:bg-[#281630] dark:text-[#C98FE0]",done:"bg-[#E0F2F1] text-[#00796B] dark:bg-[#12292a] dark:text-[#4FD1C0]"},i={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},j={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},78973:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("603dc70d43c68125d07c1595f8f9340ae2b8b92bde",d.callServer,void 0,d.findSourceMapURL,"deleteTaskAction")},81751:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J:()=>l,h:()=>m});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(30457),i=c(97307),j=c(12217),k=a([g,h]);async function l(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.OU)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.default.error({err:a},"Failed to fetch task sessions"),{success:!1,error:"Failed to fetch task sessions"}}}async function m(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.y_)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.default.error({err:a},"Failed to fetch batch worker counts"),{success:!1,error:"Failed to fetch batch worker counts"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m]),(0,e.A)(l,"40d444eda690d0c39eb7e9d3df9a87091ed3253448",null),(0,e.A)(m,"402b5a6f7201b224278222f017735a809d74bb4203",null),d()}catch(a){d(a)}})},85579:(a,b,c)=>{c.d(b,{Q:()=>y});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(86460),i=c(21692),j=c(97443),k=c(42424),l=c(6871),m=c(94214),n=c(2852),o=c(11225),p=c(55732),q=c(23871),r=c(27696),s=c(27876),t=c(42377);t.callServer,t.findSourceMapURL,t.callServer,t.findSourceMapURL;let u=(0,t.createServerReference)("404e474d771d8199fa922fd75c5a46a135db5f88a5",t.callServer,void 0,t.findSourceMapURL,"claimTaskAction"),v=(0,t.createServerReference)("7092a40a93e9fe26c597f1a30c1c01d2b848dad8bd",t.callServer,void 0,t.findSourceMapURL,"claimTaskToAgentAction"),w=(0,t.createServerReference)("600743ea91d7ac9724276706ed3a07448f27e3f067",t.callServer,void 0,t.findSourceMapURL,"claimTaskToUserAction"),x=(0,t.createServerReference)("40f3d5a47becdf5763f6319cf1e796d2e9ebc144c8",t.callServer,void 0,t.findSourceMapURL,"releaseTaskAction");function y({task:a,projectUuid:b,currentUserUuid:c,onClose:t}){let y=(0,g.c)(),z=(0,f.r)(),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)("self"),[E,F]=(0,e.useState)(""),[G,H]=(0,e.useState)(""),[I,J]=(0,e.useState)([]),[K,L]=(0,e.useState)([]),[M,N]=(0,e.useState)(!0),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)([]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(null),[W,X]=(0,e.useState)(null),Y=!!a.assignee,Z=Q.find(a=>a.connectionUuid===W)??null,$=new Set(Q.map(a=>a.host)).size>1,_=async()=>{let b;if(B(!0),P(null),"self"===C)b=await u(a.uuid);else if("agent"===C&&E)b=await v(a.uuid,E,Z?.agentInstanceUuid??void 0);else if("user"===C&&G)b=await w(a.uuid,G);else{if("release"!==C)return void B(!1);b=await x(a.uuid)}B(!1),b?.success?(t(),z.refresh()):b?.error&&P(b.error)},aa="self"===C||"agent"===C&&E||"user"===C&&G||"release"===C&&Y;return(0,d.jsxs)(m._8,{open:!0,onOpenChange:a=>{a||t()},className:"bg-card sm:max-w-[400px]",header:(0,d.jsx)(m.AI,{className:"text-base font-semibold text-foreground",children:y("tasks.assignTask")}),footer:(0,d.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,d.jsx)(k.$,{variant:"outline",onClick:t,disabled:A,className:"border-border",children:y("common.cancel")}),(0,d.jsx)(k.$,{onClick:_,disabled:A||!aa,className:"bg-primary hover:bg-[#B56A42] text-white",children:A?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):"release"===C?y("common.release"):function(){if("agent"!==C||!Z)return y("common.assign");let a=(0,r.kn)(Z.cwd),b=a.isUnknown?y(a.label):a.label,c=(0,r.g9)(Z.host),d=c.isUnknown?y(c.label):c.label;return $?y("assignInstance.assignToWithHost",{path:b,host:d}):y("assignInstance.assignTo",{path:b})}()})]}),bodyClassName:"space-y-4",children:[(0,d.jsxs)("div",{className:"rounded-lg bg-background p-3",children:[(0,d.jsx)("p",{className:"text-[13px] font-medium text-foreground",children:a.title}),a.description&&(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground line-clamp-2",children:a.description})]}),Y&&(0,d.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] dark:bg-[#13253a] p-3",children:(0,d.jsxs)("p",{className:"text-xs text-[#1976D2] dark:text-[#5AA9F0]",children:[y("common.currentAssignee"),": ",(0,d.jsx)("span",{className:"font-medium",children:a.assignee?.name})]})}),O&&(0,d.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] dark:bg-[#331619] p-3",children:(0,d.jsx)("p",{className:"text-xs text-[#D32F2F] dark:text-[#F08078]",children:O})}),(0,d.jsx)("p",{className:"text-[13px] text-muted-foreground",children:y("assign.selectAssignee")}),M?(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(h.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,d.jsxs)(o.z,{value:C,onValueChange:a=>D(a),className:"space-y-3",children:[(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"self"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"}`,onClick:()=>D("self"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(o.C,{value:"self",id:"self",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"self",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.assignToMyself")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("assign.assignToMyselfDesc")})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"agent"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("agent"),children:[(0,d.jsx)(o.C,{value:"agent",id:"agent",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"agent",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.orAssignToAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("tasks.onlySelectedAgentCanWork")}),"agent"===C&&(0,d.jsxs)("div",{className:"mt-3 ml-6 space-y-3",children:[(0,d.jsxs)(p.l6,{value:E,onValueChange:F,children:[(0,d.jsx)(p.bq,{className:"w-full border-border",children:(0,d.jsx)(p.yv,{placeholder:y("tasks.selectAgent")})}),(0,d.jsx)(p.gC,{className:"z-[120]",children:I.length>0?I.map(a=>(0,d.jsx)(p.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(l.AgentAvatar,{name:a.name,size:16,className:"rounded-full"}),(0,d.jsx)("span",{children:a.name})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("tasks.noAgentsAvailable")})})]}),E&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:y("assignInstance.workingDirectory")}),S?(0,d.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-[#9A9A9A]",children:[(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}),y("assignInstance.loadingInstances")]}):U?.source==="project_fixed"?(0,d.jsx)(s.Y,{target:U}):0===Q.length?(0,d.jsx)("p",{className:"rounded-lg bg-background p-2.5 text-[11px] leading-relaxed text-muted-foreground",children:y("assignInstance.noInstances")}):(0,d.jsx)(q.O,{instances:Q,selectedConnectionUuid:W,onSelect:a=>X(a.connectionUuid),ariaLabel:y("assignInstance.workingDirectory")}),U?.source!=="project_fixed"&&(0,d.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A8C7E]",children:[(0,d.jsx)(i.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,d.jsx)("span",{children:y("assignInstance.pinNote")})]})]})]})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"user"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("user"),children:[(0,d.jsx)(o.C,{value:"user",id:"user",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"user",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.orAssignToUser")})]}),"user"===C&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(p.l6,{value:G,onValueChange:H,children:[(0,d.jsx)(p.bq,{className:"w-full border-border",children:(0,d.jsx)(p.yv,{placeholder:y("tasks.selectUser")})}),(0,d.jsx)(p.gC,{className:"z-[120]",children:K.length>0?K.map(a=>(0,d.jsx)(p.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{children:a.name||a.email})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("tasks.noUsersAvailable")})})]})})]}),Y&&(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"release"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"}`,onClick:()=>D("release"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(o.C,{value:"release",id:"release",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"release",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.releaseAssignee")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("assign.releaseAssigneeDesc")})]})]})]})}},86104:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{v:()=>ae});var e=c(10837),f=c(21968),g=c(68884),h=c(9222),i=c(33407),j=c(10694),k=c(92900),l=c(35209),m=c(87461),n=c(65956),o=c(86460),p=c(67832),q=c(98893),r=c(97825),s=c(59179),t=c(55775),u=c(9810),v=c(97443),w=c(58270),x=c(644),y=c(21326),z=c(79543),A=c(49599),B=c(35198),C=c(42424),D=c(9994),E=c(20170),F=c(2852),G=c(74645),H=c(55732),I=c(6019),J=c(80251),K=c(6871),L=c(68797),M=c(7086),N=c(30758),O=c(7813),P=c(52621),Q=c(78973),R=c(37584),S=c(77292),T=c(56828),U=c(73346);c(15724),c(41818);var V=c(97450),W=c(73908),X=c(85579);c(73493),c(86933);var Y=c(57413),Z=c(24540);c(95506);var $=c(76664),_=c(31009),aa=c(45148),ab=c(77521),ac=a([L,T,V]);[L,T,V]=ac.then?(await ac)():ac;let af={open:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",assigned:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",in_progress:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",to_verify:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",done:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]"},ag={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ah={low:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]",medium:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",high:"bg-[#FEE2E2] dark:bg-[#331619] text-[#D32F2F] dark:text-[#F08078]",critical:"bg-[#FFCDD2] dark:bg-[#3a181c] text-[#B71C1C] dark:text-[#F08078]"},ai={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function ad(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,$.r)(c)}function ae({task:a,projectUuid:b,currentUserUuid:c,mode:d="overlay",onClose:ac,onCreated:ae,onDependencyChange:aj,onBack:ak}){let al=(0,h.c)(),am=(0,g.r)(),[an,ao]=(0,f.useState)(!1),[ap,aq]=(0,f.useState)(!1),[ar,as]=(0,f.useState)([]),[at,au]=(0,f.useState)(!0),[av,aw]=(0,f.useState)(null),[ax,ay]=(0,f.useState)(!1),[az,aA]=(0,f.useState)([]),[aB,aC]=(0,f.useState)([]),[aD,aE]=(0,f.useState)(!1),[aF,aG]=(0,f.useState)([]),[aH,aI]=(0,f.useState)(null),[aJ,aK]=(0,f.useState)([]),[aL,aM]=(0,f.useState)([]),aN=null===a,[aO,aP]=(0,f.useState)(aN),[aQ,aR]=(0,f.useState)(a?.title||""),[aS,aT]=(0,f.useState)(a?.description||""),[aU,aV]=(0,f.useState)(a?.priority||"medium"),[aW,aX]=(0,f.useState)(a?.storyPoints!=null?String(a.storyPoints):""),[aY,aZ]=(0,f.useState)((a?.acceptanceCriteriaItems??[]).map(a=>({description:a.description,required:a.required??!0}))),[a$,a_]=(0,f.useState)(!1),[a0,a1]=(0,f.useState)(null),[a2,a3]=(0,f.useState)(!1),a4=(0,M.RU)(a?.assignee??null,{type:"user",uuid:c}),a5=a4&&a?.status==="assigned",a6=a4&&a?.status==="in_progress",a7=a?.status==="to_verify",a8=async b=>{if(!a)return;aq(!0);let c=await (0,N.b)(a.uuid,b);aq(!1),c.success&&(ac(),am.refresh())},a9=()=>{if(aN)return void ac();aP(!1),a&&(aR(a.title),aT(a.description||""),aV(a.priority),aX(null!=a.storyPoints?String(a.storyPoints):""),aZ((a.acceptanceCriteriaItems??[]).map(a=>({description:a.description,required:a.required??!0})))),a1(null)},ba=async()=>{if(!aQ.trim())return void a1(al("tasks.titleRequired"));a_(!0),a1(null);let c=aW.trim()?parseFloat(aW):null;if(aN){let a=await (0,O.A)({projectUuid:b,title:aQ.trim(),description:aS.trim()||void 0,priority:aU,storyPoints:c,acceptanceCriteria:null});a_(!1),a.success?(aL.length>0&&a.taskUuid&&(await Promise.all(aL.map(b=>(0,Y.w)(a.taskUuid,b.uuid))),aj?.()),ae?.(),ac(),am.refresh()):a1(a.error||al("tasks.createFailed"))}else{let d=(a.acceptanceCriteriaItems??[]).map(a=>({description:a.description,required:a.required??!0})),e=aY.filter(a=>a.description.trim().length>0),f=(0,W.K)(d,e);if(f&&0===e.length){a_(!1),a1(al("acceptanceCriteria.atLeastOneRequired"));return}let g=await (0,P.Y)({taskUuid:a.uuid,projectUuid:b,title:aQ.trim(),description:aS.trim()||null,priority:aU,storyPoints:c,...f?{acceptanceCriteriaItems:e.map(a=>({description:a.description.trim(),required:a.required}))}:{}});a_(!1),g.success?(aP(!1),am.refresh()):a1(g.error||al("tasks.updateFailed"))}},bb=async()=>{if(!a)return;a3(!0);let c=await (0,Q.T)(a.uuid,b);a3(!1),c.success&&(ac(),am.refresh())},bc=async b=>{if(!a)return;aI(null);let c=await (0,Y.w)(a.uuid,b);if(c.success){let a=aF.find(a=>a.uuid===b);a&&aA(b=>[...b,a]),aj?.()}else aI(c.error||al("tasks.failedToAddDep"))},bd=async b=>{if(!a)return;aI(null);let c=await (0,Z.T)(a.uuid,b);c.success?(aA(a=>a.filter(a=>a.uuid!==b)),aj?.()):aI(c.error||al("tasks.failedToRemoveDep"))},be=async b=>{if(!a)return;aI(null);let c=await (0,Z.T)(b,a.uuid);c.success?(aC(a=>a.filter(a=>a.uuid!==b)),aj?.()):aI(c.error||al("tasks.failedToRemoveDep"))},bf=aF.filter(b=>b.uuid!==a?.uuid&&!az.some(a=>a.uuid===b.uuid)),bg=aF.filter(a=>!aL.some(b=>b.uuid===a.uuid)),bh="sidebyside"===d;return(0,e.jsxs)(e.Fragment,{children:[!bh&&(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:ac}),(0,e.jsxs)("div",{className:`fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-card shadow-xl border-l border-border ${bh?`z-40 ${an?"":"animate-in slide-in-from-right duration-300"}`:`z-50 right-0 ${an?"":"animate-in slide-in-from-right duration-300"}`}`,style:bh?{right:`${ab.L8}px`}:void 0,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[ak&&(0,e.jsx)(C.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:ak,children:(0,e.jsx)(l.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:aO?(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground",children:aN?al("tasks.createTaskTitle"):al("tasks.editTask")}):a?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:a.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,e.jsx)(A.E,{className:af[a.status]||"",children:al(`status.${ag[a.status]||a.status}`)}),(0,e.jsx)(A.E,{className:ah[a.priority]||"",children:al(`priority.${ai[a.priority]||a.priority}`)}),a.storyPoints&&(0,e.jsxs)("span",{className:"rounded bg-secondary px-2 py-0.5 text-xs font-medium text-muted-foreground",children:[a.storyPoints,"h"]})]})]}):null}),(0,e.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[a&&!aO&&(0,e.jsxs)(C.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-border text-foreground",onClick:()=>{a&&(aR(a.title),aT(a.description||""),aV(a.priority),aX(null!=a.storyPoints?String(a.storyPoints):""),aZ((a.acceptanceCriteriaItems??[]).map(a=>({description:a.description,required:a.required??!0}))),a1(null),aP(!0))},children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs",children:al("common.edit")})]}),(0,e.jsx)(C.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:aO&&!aN?a9:ac,children:(0,e.jsx)(j.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,e.jsx)(G.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:aO?(0,e.jsxs)("div",{className:"space-y-5",children:[a0&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:a0}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:al("tasks.titleLabel")}),(0,e.jsx)(D.p,{id:"edit-title",value:aQ,onChange:a=>aR(a.target.value),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-foreground",children:al("tasks.descriptionLabel")}),(0,e.jsx)(E.T,{id:"edit-description",value:aS,onChange:a=>aT(a.target.value),rows:4,className:"border-border text-sm resize-none focus-visible:ring-primary"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-foreground",children:al("tasks.priorityLabel")}),(0,e.jsxs)(H.l6,{value:aU,onValueChange:aV,children:[(0,e.jsx)(H.bq,{className:"border-border text-sm focus:ring-primary",children:(0,e.jsx)(H.yv,{})}),(0,e.jsxs)(H.gC,{children:[(0,e.jsx)(H.eb,{value:"low",children:al("priority.low")}),(0,e.jsx)(H.eb,{value:"medium",children:al("priority.medium")}),(0,e.jsx)(H.eb,{value:"high",children:al("priority.high")})]})]})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-foreground",children:al("tasks.storyPointsLabel")}),(0,e.jsx)(D.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:aW,onChange:a=>aX(a.target.value),className:"border-border text-sm focus-visible:ring-primary"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{className:"text-[13px] font-medium text-foreground",children:al("acceptanceCriteria.title")}),(0,e.jsx)(W.C,{items:aY,onChange:aZ})]}),aN&&(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(F.J,{className:"text-[13px] font-medium text-foreground",children:al("tasks.dependencies")}),aL.length>0&&(0,e.jsx)("div",{className:"space-y-1.5",children:aL.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-background p-2.5",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,e.jsx)("span",{className:"text-xs text-foreground truncate",children:a.title}),(0,e.jsx)(A.E,{className:`shrink-0 text-[10px] ${af[a.status]||""}`,children:al(`status.${ag[a.status]||a.status}`)})]}),(0,e.jsx)(C.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>aM(b=>b.filter(b=>b.uuid!==a.uuid)),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))}),bg.length>0&&(0,e.jsxs)(H.l6,{onValueChange:a=>{let b=aF.find(b=>b.uuid===a);b&&aM(a=>[...a,b])},children:[(0,e.jsx)(H.bq,{className:"h-8 border-border text-xs text-muted-foreground focus:ring-primary",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(H.yv,{placeholder:al("tasks.addDependency")})]})}),(0,e.jsx)(H.gC,{children:bg.map(a=>(0,e.jsx)(H.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},aL.length)]})]}):a?(0,e.jsxs)(_.P.div,{variants:aa.qG,initial:"initial",animate:"animate",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("common.assignee")}),(0,e.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-background p-3",children:a.assignee?(0,e.jsxs)(e.Fragment,{children:[(0,M.bB)(a.assignee)?(0,e.jsx)(K.AgentAvatar,{name:a.assignee.name,size:28,className:"rounded-full"}):(0,e.jsx)(J.eu,{className:"h-7 w-7",children:(0,e.jsx)(J.q5,{className:"bg-border text-muted-foreground",children:a.assignee.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-sm font-medium text-foreground",children:a.assignee.name}),(0,e.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,M.bB)(a.assignee)?`${al("common.agent")} • ${a.assignee.assignedAt?(0,$.r)(a.assignee.assignedAt):""}`:al("common.user")}),"agent_instance"===a.assignee.type&&a.assignee.instance&&(0,e.jsx)("div",{className:"mt-1",children:(0,e.jsx)(L.jQ,{cwd:a.assignee.instance.cwd,host:a.assignee.instance.host})})]})]}):(0,e.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:al("common.unassigned")})})]}),aJ.length>0&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("sessions.activeWorkers")}),(0,e.jsx)("div",{className:"mt-2 space-y-1.5",children:aJ.map(a=>(0,e.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-background p-2.5",children:[(0,e.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,e.jsx)(K.AgentAvatar,{name:a.agentName,size:28,className:"rounded-full"}),(0,e.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-green-500 ring-2 ring-background"})]}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-xs font-medium text-foreground truncate",children:a.sessionName}),(0,e.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[a.agentName," \xb7 ",ad(a.checkinAt,al)]})]})]},a.sessionUuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("common.description")}),(0,e.jsx)("div",{className:"mt-2",children:a.description?(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,e.jsx)(V.MarkdownContent,{children:a.description})}):(0,e.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:al("common.noDescription")})})]}),a.acceptanceCriteria&&!(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0)&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("tasks.acceptanceCriteria")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,e.jsx)(V.MarkdownContent,{children:a.acceptanceCriteria})})})]}),av&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("common.source")}),(0,e.jsx)("a",{href:`/projects/${b}/proposals/${av.uuid}`,className:"mt-2 flex items-center justify-between rounded-lg bg-background p-3 hover:bg-[#F0EDE5] dark:hover:bg-[#26241f] transition-colors",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(n.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-xs text-foreground",children:av.title})]})})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("tasks.dependencies")}),aH&&(0,e.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:aH}),aD?(0,e.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,e.jsx)(o.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,e.jsxs)(e.Fragment,{children:[az.length>0&&(0,e.jsxs)("div",{className:"mt-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(p.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("tasks.dependsOn")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:az.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-background p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,e.jsx)("span",{className:"text-xs text-foreground truncate",children:a.title}),(0,e.jsx)(A.E,{className:`shrink-0 text-[10px] ${af[a.status]||""}`,children:al(`status.${ag[a.status]||a.status}`)})]}),(0,e.jsx)(C.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>bd(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),aB.length>0&&(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(p.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("tasks.blockedByThis")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:aB.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-background p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-xs text-foreground truncate",children:a.title}),(0,e.jsx)(A.E,{className:`shrink-0 text-[10px] ${af[a.status]||""}`,children:al(`status.${ag[a.status]||a.status}`)})]}),(0,e.jsx)(C.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>be(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),0===az.length&&0===aB.length&&(0,e.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:al("tasks.noDependencies")}),bf.length>0&&(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsxs)(H.l6,{onValueChange:a=>bc(a),children:[(0,e.jsx)(H.bq,{className:"h-8 border-border text-xs text-muted-foreground focus:ring-primary",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(H.yv,{placeholder:al("tasks.addDependency")})]})}),(0,e.jsx)(H.gC,{children:bf.map(a=>(0,e.jsx)(H.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},az.length)})]})]}),a&&a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0&&(()=>{let b=a.acceptanceCriteriaItems,c=a.acceptanceSummary,d=a=>"passed"===a?(0,e.jsx)(q.A,{className:"h-4 w-4 text-green-600 dark:text-[#6FD19A]"}):"failed"===a?(0,e.jsx)(r.A,{className:"h-4 w-4 text-red-600 dark:text-[#F08078]"}):(0,e.jsx)(s.A,{className:"h-4 w-4 text-yellow-600 dark:text-[#E0B44E]"}),f=a=>"passed"===a?"bg-green-50 text-green-700 dark:bg-[#14281a] dark:text-[#6FD19A]":"failed"===a?"bg-red-50 text-red-700 dark:bg-[#331619] dark:text-[#F08078]":"bg-yellow-50 text-yellow-700 dark:bg-[#332a12] dark:text-[#E0B44E]",g=async(b,c)=>{(await (0,R.h)(a.uuid,[{uuid:b,status:c}])).success&&am.refresh()};return(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("acceptanceCriteria.title")}),c&&(0,e.jsx)(A.E,{className:f(a.acceptanceStatus||"pending"),variant:"secondary",children:al("acceptanceCriteria.progress",{passed:c.passed,total:c.total})})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-2",children:[b.map(b=>(0,e.jsx)(B.Zp,{className:"p-3",children:(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)("div",{className:"mt-0.5 shrink-0",children:d(b.status)}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,e.jsx)("span",{className:"text-xs text-foreground",children:b.description}),(0,e.jsx)(A.E,{variant:"outline",className:"text-[10px] shrink-0",children:b.required?al("acceptanceCriteria.required"):al("acceptanceCriteria.optional")})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:al("acceptanceCriteria.devSelfCheck")}),(0,e.jsxs)(A.E,{className:`text-[10px] ${f(b.devStatus)}`,variant:"secondary",children:[d(b.devStatus),(0,e.jsx)("span",{className:"ml-1",children:al(`acceptanceCriteria.status.${b.devStatus}`)})]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:al("acceptanceCriteria.verification")}),(0,e.jsxs)(A.E,{className:`text-[10px] ${f(b.status)}`,variant:"secondary",children:[d(b.status),(0,e.jsx)("span",{className:"ml-1",children:al(`acceptanceCriteria.status.${b.status}`)})]})]})]}),b.devEvidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-background p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:al("acceptanceCriteria.devEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-foreground mt-0.5",children:b.devEvidence})]}),b.evidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-background p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:al("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-foreground mt-0.5",children:b.evidence})]}),"pending"===b.status?(0,e.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,e.jsxs)(C.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-green-700 dark:text-[#6FD19A] border-green-200 dark:border-[#2a4a34] hover:bg-green-50 dark:hover:bg-[#14281a]",onClick:()=>g(b.uuid,"passed"),children:[(0,e.jsx)(q.A,{className:"h-3.5 w-3.5 mr-1"}),al("acceptanceCriteria.pass")]}),(0,e.jsxs)(C.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-red-700 dark:text-[#F08078] border-red-200 dark:border-[#5a2a2e] hover:bg-red-50 dark:hover:bg-[#331619]",onClick:()=>g(b.uuid,"failed"),children:[(0,e.jsx)(r.A,{className:"h-3.5 w-3.5 mr-1"}),al("acceptanceCriteria.fail")]})]}):(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)(C.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-foreground",onClick:async()=>{(await (0,S.N)(a.uuid,b.uuid)).success&&am.refresh()},children:al("acceptanceCriteria.undoVerification")})})]})]})},b.uuid)),c&&(c.requiredPending>0||c.requiredFailed>0)&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 dark:bg-[#332a12] p-3 mt-2",children:[(0,e.jsx)(t.A,{className:"h-4 w-4 text-yellow-600 dark:text-[#E0B44E] shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-yellow-700 dark:text-[#E0B44E]",children:al("acceptanceCriteria.gateBlocked",{count:c.requiredPending+c.requiredFailed})})]}),c&&0===c.requiredPending&&0===c.requiredFailed&&c.required>0&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 dark:bg-[#14281a] p-3 mt-2",children:[(0,e.jsx)(q.A,{className:"h-4 w-4 text-green-600 dark:text-[#6FD19A] shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-green-700 dark:text-[#6FD19A]",children:al("acceptanceCriteria.gateReady")})]})]})]})})(),(0,e.jsxs)("div",{className:"mt-5 flex-1",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("common.activity")}),(0,e.jsx)("div",{className:"mt-2 space-y-3",children:at?(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===ar.length?(0,e.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:al("common.noActivity")}):ar.map(a=>(0,e.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,e.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-secondary",children:(0,e.jsx)("div",{className:`h-2 w-2 rounded-full ${function(a){switch(a){case"task_created":return"bg-primary";case"task_assigned":case"task_claimed":return"bg-[#1976D2]";case"task_started":return"bg-[#5A9E6F]";case"task_submitted":return"bg-[#7B1FA2]";case"task_completed":case"task_verified":return"bg-[#00796B]";case"task_released":return"bg-[#E65100]";default:return"bg-muted-foreground"}}(a.action)}`})}),(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("p",{className:"text-xs text-foreground",children:function(a,b){let c=a.sessionName?`${a.actorName} / ${a.sessionName}`:a.actorName,{action:d}=a;switch(d){case"task_created":return b("activity.taskCreated",{actor:c});case"task_assigned":return b("activity.taskAssigned",{actor:c});case"task_claimed":return b("activity.taskClaimed",{actor:c});case"task_started":return b("activity.taskStarted",{actor:c});case"task_submitted":return b("activity.taskSubmitted",{actor:c});case"task_completed":case"task_verified":return b("activity.taskCompleted",{actor:c});case"task_released":return b("activity.taskReleased",{actor:c});case"task_status_changed":return b("activity.taskStatusChanged",{actor:c});default:return`${c}: ${d}`}}(a,al)}),(0,e.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:ad(a.createdAt,al)})]})]},a.uuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("references.title")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)(U.ReferencesSection,{targetType:"task",targetUuid:a.uuid,canWrite:!0,compact:!0})})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:al("comments.title")}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)(T.$m,{targetType:"task",targetUuid:a.uuid,currentUserUuid:c,compact:!0})})]})]}):null})}),(0,e.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:(0,e.jsx)("div",{className:"flex items-center gap-3",children:aO?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(C.$,{variant:"outline",className:"border-border",onClick:a9,disabled:a$,children:al("common.cancel")}),(0,e.jsx)(C.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:ba,disabled:a$||!aQ.trim(),children:a$?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),al("common.saving")]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(u.A,{className:"mr-2 h-4 w-4"}),aN?al("common.create"):al("tasks.saveChanges")]})})]}):a?(0,e.jsxs)(e.Fragment,{children:["done"!==a.status&&"closed"!==a.status&&(0,e.jsxs)(C.$,{variant:"outline",className:"border-border",onClick:()=>ay(!0),disabled:ap,children:[(0,e.jsx)(v.A,{className:"mr-2 h-4 w-4"}),al("common.assign")]}),a5&&(0,e.jsxs)(C.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>a8("in_progress"),disabled:ap,children:[(0,e.jsx)(w.A,{className:"mr-2 h-4 w-4"}),al("tasks.startWork")]}),a6&&(0,e.jsxs)(C.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>a8("to_verify"),disabled:ap,children:[(0,e.jsx)(x.A,{className:"mr-2 h-4 w-4"}),al("tasks.submitForReview")]}),a7&&(0,e.jsxs)(C.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>a8("done"),disabled:ap,children:[(0,e.jsx)(y.A,{className:"mr-2 h-4 w-4"}),al("tasks.markAsVerified")]}),("done"===a.status||"closed"===a.status)&&(0,e.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:al("tasks.taskCompleted")}),(0,e.jsx)("div",{className:"ml-auto",children:(0,e.jsxs)(I.Lt,{children:[(0,e.jsx)(I.tv,{asChild:!0,children:(0,e.jsx)(C.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-border text-[#D32F2F] dark:text-[#F08078] hover:bg-[#FFEBEE] dark:hover:bg-[#331619] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,e.jsx)(z.A,{className:"h-4 w-4"})})}),(0,e.jsxs)(I.EO,{children:[(0,e.jsxs)(I.wd,{children:[(0,e.jsx)(I.r7,{children:al("tasks.deleteTask")}),(0,e.jsx)(I.$v,{children:al("tasks.deleteTaskConfirm",{title:a.title})})]}),(0,e.jsxs)(I.ck,{children:[(0,e.jsx)(I.Zr,{children:al("common.cancel")}),(0,e.jsx)(I.Rx,{variant:"destructive",onClick:bb,disabled:a2,children:a2?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),al("common.delete")]}):al("common.delete")})]})]})]})})]}):null})})]}),a&&ax&&(0,e.jsx)(X.Q,{task:a,projectUuid:b,currentUserUuid:c,onClose:()=>ay(!1)})]})}d()}catch(a){d(a)}})},86910:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("402b5a6f7201b224278222f017735a809d74bb4203",d.callServer,void 0,d.findSourceMapURL,"getBatchWorkerCountsAction")},86933:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(42377);let e=(0,d.createServerReference)("400ff4cf087940dcefd447269924b6361d9709f6e0",d.callServer,void 0,d.findSourceMapURL,"getProjectTasksForDependencyAction")},95506:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40d444eda690d0c39eb7e9d3df9a87091ed3253448",d.callServer,void 0,d.findSourceMapURL,"getTaskSessionsAction")},98625:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(21968),e=c(1007);function f(a,b){let c=(0,e.useSearchParams)(),f=(0,d.useRef)(!1),g=!f.current;f.current=!0;let h=c.get("panel")??(g?b??null:null),i=c.get("tab"),j=(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]),k=(0,d.useCallback)((a,b)=>{window.history.replaceState(null,"",j(a,b))},[j]),l=(0,d.useCallback)(()=>{window.history.replaceState(null,"",j(null))},[j]),m=(0,d.useCallback)(a=>{h&&window.history.replaceState(null,"",j(h,a))},[j,h]);return{selectedId:h,selectedTab:i,openPanel:k,closePanel:l,switchTab:m}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=1114,exports.ids=[1114],exports.modules={8777:(a,b,c)=>{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.default.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)}})},14120:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Wy:()=>t});var e=c(65582),f=c(52618),g=c(34853),h=c(97515),i=c(70369),j=c(35205),k=a([f,g,h,i,j]);[f,g,h,i,j]=k.then?(await k)():k;let u=e.default.child({module:"notification-turn"}),v={mentioned:"mentioned",elaboration_requested:"elaboration",elaboration_answered:"elaboration",elaboration_verified:"elaboration_verified",start_development:"start_development",yolo_requested:"yolo_requested",human_instruction:"human_instruction",task_assigned:"task_assigned",task_reopened:"task_assigned",task_verified:"task_assigned",idea_claimed:"task_assigned",proposal_approved:"task_assigned",proposal_rejected:"task_assigned"},w=new Set(["task","document","proposal","idea"]),x=new Set(["task_assigned","elaboration","elaboration_verified","start_development","yolo_requested"]),y=new Set([...x,"mentioned"]);async function l(a,b){return await f.z.agentInstance.findFirst({where:{uuid:b,companyUuid:a},select:{host:!0,cwd:!0,agentUuid:!0}})??null}function m(a,b,c){return(null==a||""===a)&&(null==b||""===b)?null:{host:a??"",cwd:null!=b&&""!==b?b:null,soft:c}}async function n(a,b){if(a.resolvedCwdSource&&"unconfigured"!==a.resolvedCwdSource)return{host:"invalid"===a.resolvedCwdAvailability?"\0invalid-project-cwd":a.resolvedCwdHost??"",cwd:null,runtimeCwd:a.resolvedRuntimeCwd,soft:!1};if(a.temporaryHost&&a.temporaryRuntimeCwd)return{host:a.temporaryHost,cwd:null,runtimeCwd:a.temporaryRuntimeCwd,soft:!1};if("mentioned"===b)return m(a.pinnedHost,a.pinnedCwd,!1);if(!w.has(a.entityType))return null;if("task"===a.entityType){let b=await f.z.task.findFirst({where:{uuid:a.entityUuid,companyUuid:a.companyUuid},select:{assigneeType:!0,assigneeUuid:!0,cwdHost:!0,runtimeCwd:!0}});if(b?.assigneeType==="agent_instance"&&b.assigneeUuid){let c=await l(a.companyUuid,b.assigneeUuid);if(c){let a=b.runtimeCwd?{host:b.cwdHost?.trim()?b.cwdHost:c.host,cwd:null,runtimeCwd:b.runtimeCwd,soft:!1}:m(c.host,c.cwd,!1);if(a)return a}}}if("idea"===a.entityType){let b=await (0,g.resolveDirectIdeaUuid)(a.companyUuid,a.entityType,a.entityUuid),c=await p(a,b);if(c)return c}let c=await q(a);return p(a,c)}async function o(a,b,c){try{let d=await f.z.agent.findFirst({where:{uuid:b,companyUuid:a},select:{ownerUuid:!0}});if(!d?.ownerUuid)return null;let e=await f.z.projectAgentCwdPreference.findFirst({where:{companyUuid:a,userUuid:d.ownerUuid,projectUuid:c,agentUuid:b},select:{host:!0,cwd:!0}});if(!e)return null;return m(e.host,e.cwd,!1)}catch(d){return u.warn({err:d,companyUuid:a,agentUuid:b,projectUuid:c},"resolveProjectOwnerCwdPin failed; degrading to online-first"),null}}async function p(a,b){if(!b)return null;let c=await f.z.idea.findFirst({where:{uuid:b,companyUuid:a.companyUuid},select:{assigneeType:!0,assigneeUuid:!0,cwdHost:!0,runtimeCwd:!0}});if(c?.assigneeType==="agent_instance"&&c.assigneeUuid){let b=await l(a.companyUuid,c.assigneeUuid);if(b&&b.agentUuid===a.recipientUuid)return c.runtimeCwd?{host:c.cwdHost?.trim()?c.cwdHost:b.host,cwd:null,runtimeCwd:c.runtimeCwd,soft:!1}:m(b.host,b.cwd,!1)}return null}async function q(a){return(await (0,j.resolveRootIdea)(a.companyUuid,a.entityType,a.entityUuid)).rootIdeaUuid}function r(a,b){if(b){let c=a.find(a=>a.host===b.host&&(!!b.runtimeCwd||a.cwd===b.cwd)&&"online"===a.effectiveStatus);if(c)return{kind:"directed",connection:c};if(!b.soft)return{kind:"offline_pin"}}let c=a.find(a=>"online"===a.effectiveStatus);return c?{kind:"online_first",connection:c}:{kind:"none"}}async function s(a,b,c,d){if(!c)return null;let e=await f.z.daemonSession.findFirst({where:{companyUuid:a,agentUuid:b,sessionId:c},select:{originConnectionUuid:!0}});return e?d.find(a=>a.uuid===e.originConnectionUuid&&"online"===a.effectiveStatus)??null:null}async function t(a){let b={turn:null,targetConnectionUuid:null,runtimeCwd:null,suppressWake:!1},c=v[a.action]??null;if(!c||"agent"!==a.recipientType)return b;try{let d=await (0,h._R)(a.companyUuid,a.recipientUuid),e=await n(a,c),j=r(d,e),k=null;if(w.has(a.entityType)&&(k=await (0,g.resolveDirectIdeaUuid)(a.companyUuid,a.entityType,a.entityUuid)),y.has(c)&&"online_first"===j.kind){let b=await s(a.companyUuid,a.recipientUuid,k,d);b&&(j={kind:"directed",connection:b})}if("online_first"===j.kind&&y.has(c)&&a.projectUuid){let b=await o(a.companyUuid,a.recipientUuid,a.projectUuid);b&&(e=b,j=r(d,b))}if(("proposal_approved"===a.action||"proposal_rejected"===a.action)&&"online_first"===j.kind&&d.filter(a=>"online"===a.effectiveStatus).length>=2)return{turn:null,targetConnectionUuid:null,runtimeCwd:null,suppressWake:!0};if(y.has(c)&&"online_first"===j.kind&&(j={kind:"directed",connection:j.connection}),"offline_pin"===j.kind)return{turn:null,targetConnectionUuid:null,runtimeCwd:e?.runtimeCwd??null,suppressWake:!0};if("none"===j.kind)return b;let l=j.connection,m="directed"===j.kind,p=e?.runtimeCwd??null,q=m?p??l.cwd??null:p,t=k??a.entityUuid,u=k;if(m&&k){let b=await f.z.daemonSession.findFirst({where:{companyUuid:a.companyUuid,agentUuid:a.recipientUuid,sessionId:k},select:{uuid:!0,originConnectionUuid:!0}});b&&b.originConnectionUuid!==l.uuid&&await f.z.daemonSession.update({where:{uuid:b.uuid,companyUuid:a.companyUuid},data:{originConnectionUuid:l.uuid,...q?{runtimeCwd:q}:{}}})}let v=await (0,g.resolveOrCreateSession)({companyUuid:a.companyUuid,agentUuid:a.recipientUuid,sessionId:t,directIdeaUuid:u,originConnectionUuid:l.uuid,...q?{runtimeCwd:q}:{}}),x=q??v.runtimeCwd??null,z="human_instruction"===c?a.instructionText??null:null,A="human_instruction"===c&&z?await (0,g.findReusablePendingInstructionTurn)(v.uuid,z):null;if(A||(A=await (0,g.createPendingTurn)({sessionUuid:v.uuid,trigger:c,promptText:z})),m)return(0,i.N_)({companyUuid:a.companyUuid,originConnectionUuid:l.uuid,turnUuid:A.uuid,...x?{runtimeCwd:x}:{}}),{turn:A,targetConnectionUuid:l.uuid,runtimeCwd:x,suppressWake:!1};return{turn:A,targetConnectionUuid:null,runtimeCwd:null,suppressWake:!1}}catch(c){return u.error({err:c,companyUuid:a.companyUuid,agentUuid:a.recipientUuid,action:a.action,entityType:a.entityType,entityUuid:a.entityUuid},"Failed to create DaemonSessionTurn for wake notification (notification was still created)"),b}}d()}catch(a){d(a)}})},25736:(a,b,c)=>{c.d(b,{vE:()=>d});function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}},28792:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{K1:()=>k,Ll:()=>i,U_:()=>h,s7:()=>j});var e=c(52618),f=c(42558),g=a([e]);e=(g.then?(await g)():g)[0];let k=["task","idea","proposal","document","daemon_session"];async function h(a,b){let c=await e.z.daemonConnection.findFirst({where:{uuid:b,companyUuid:a},select:{agentUuid:!0,agent:{select:{ownerUuid:!0}}}});return c?{agentUuid:c.agentUuid,ownerUuid:c.agent?.ownerUuid??null}:null}async function i(a){let b=await h(a.companyUuid,a.connectionUuid);return b?null!=b.ownerUuid&&a.actorUuid===b.ownerUuid||a.hasTaskAdmin?{ok:!0,target:b}:{ok:!1,reason:"forbidden"}:{ok:!1,reason:"not_found"}}function j(a){let b="deliver_turn"===a.command?{type:"control",command:"deliver_turn",targetConnectionUuid:a.targetConnectionUuid,turnUuid:a.turnUuid,...a.runtimeCwd?{runtimeCwd:a.runtimeCwd}:{}}:{type:"control",command:a.command,targetConnectionUuid:a.targetConnectionUuid,entityType:a.entityType,entityUuid:a.entityUuid,...a.runtimeCwd?{runtimeCwd:a.runtimeCwd}:{},...a.resumeReason?{resumeReason:a.resumeReason}:{},..."resume"===a.command?{orchestrator:a.orchestrator??null}:{}};f.B.emit((0,f.T)(a.targetConnectionUuid),b)}d()}catch(a){d(a)}})},34853:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{CONVERSATION_NAME_MAX:()=>i.VM,DAEMON_REPORTABLE_INTERRUPT_REASONS:()=>N,DEFAULT_TRANSCRIPT_MESSAGE_PAGE:()=>S,MAX_TRANSCRIPT_MESSAGES_PER_SESSION:()=>Q,MERGED_TURN_STATUS:()=>L,SESSION_ACTIVITY_EVENT_NAME:()=>K,SESSION_STATUSES:()=>O,STALE_THRESHOLD_MS:()=>h.BP,SessionReadOnlyError:()=>T,TRANSCRIPT_ROLES:()=>P,TURN_INTERRUPT_REASONS:()=>M,TURN_STATUSES:()=>J,TURN_TRIGGERS:()=>I,advanceTurn:()=>u,advanceTurnForWake:()=>G,appendTranscriptMessages:()=>E,assertContinuable:()=>C,conversationNameFromInstruction:()=>i.Ff,createPendingTurn:()=>s,findReusablePendingInstructionTurn:()=>t,getFirstInstructionBySessionUuid:()=>i.L0,getPendingTurnsForConnection:()=>H,getSessionDetail:()=>B,getSessionTurns:()=>z,getVisibleSessions:()=>x,isSessionVisibleToCaller:()=>A,listVisibleRunningSessionActivities:()=>y,publishSessionActivityEvent:()=>k,publishTranscriptEvent:()=>p,reconcileOrphanTurns:()=>v,resolveDirectIdeaUuid:()=>r,resolveOrCreateSession:()=>q,transcriptEventName:()=>o});var e=c(52618),f=c(42558),g=c(35205),h=c(97515),i=c(22137),j=a([e,g,h,i]);[e,g,h,i]=j.then?(await j)():j;let I=["task_assigned","mentioned","elaboration","elaboration_verified","start_development","yolo_requested","resume","human_instruction"],J=["pending","running","ended","interrupted"],K="session_activity";function k(a){f.B.emit(K,a)}let L="merged",M=["user","crash","shutdown","offline","invalid_path"],N=["user","crash","shutdown","invalid_path"],O=["active","ended"],P=["user","assistant"],Q=200;function l(a){return{uuid:a.uuid,agentUuid:a.agentUuid,sessionId:a.sessionId,backendSessionId:a.backendSessionId,directIdeaUuid:a.directIdeaUuid,originConnectionUuid:a.originConnectionUuid,runtimeCwd:a.runtimeCwd??null,status:a.status,title:a.title,lastTurnAt:a.lastTurnAt.toISOString(),totalInputTokens:a.totalInputTokens,totalOutputTokens:a.totalOutputTokens,totalCacheReadTokens:a.totalCacheReadTokens,totalCacheCreationTokens:a.totalCacheCreationTokens,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}function m(a){return{uuid:a.uuid,sessionUuid:a.sessionUuid,backendSessionId:a.backendSessionId??null,seq:a.seq,trigger:a.trigger,promptText:a.promptText,status:a.status,interruptedReason:a.interruptedReason,relayError:a.relayError,usage:function(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.source||!a.source)return null;let b=a=>"number"==typeof a&&Number.isFinite(a)?a:null;return{inputTokens:b(a.inputTokens),outputTokens:b(a.outputTokens),cacheCreationTokens:b(a.cacheCreationTokens),cacheReadTokens:b(a.cacheReadTokens),model:"string"==typeof a.model?a.model:null,source:a.source}}(a.usage),executionUuid:a.executionUuid,startedAt:a.startedAt?a.startedAt.toISOString():null,endedAt:a.endedAt?a.endedAt.toISOString():null,createdAt:a.createdAt.toISOString()}}function n(a){return"agent"===a.type?{agentUuid:a.actorUuid}:{agent:{ownerUuid:a.actorUuid}}}function o(a){return`transcript:${a}`}function p(a){f.B.emit(o(a.sessionUuid),a)}async function q(a){let b=await e.z.daemonSession.upsert({where:{agentUuid_sessionId:{agentUuid:a.agentUuid,sessionId:a.sessionId}},create:{companyUuid:a.companyUuid,agentUuid:a.agentUuid,sessionId:a.sessionId,directIdeaUuid:a.directIdeaUuid??null,originConnectionUuid:a.originConnectionUuid,runtimeCwd:a.runtimeCwd??null,status:"active"},update:{companyUuid:a.companyUuid,...void 0!==a.runtimeCwd?{runtimeCwd:a.runtimeCwd}:{}}});return l(b)}async function r(a,b,c){return(await (0,g.resolveRootIdea)(a,b,c)).directIdeaUuid}async function s(a){let b=await e.z.daemonSession.findUnique({where:{uuid:a.sessionUuid},select:{uuid:!0,companyUuid:!0}});if(!b)throw Error(`DaemonSession ${a.sessionUuid} not found`);let c=null;for(let b=0;b<5;b++){let d=await e.z.daemonSessionTurn.findFirst({where:{sessionUuid:a.sessionUuid},orderBy:{seq:"desc"},select:{seq:!0}}),f=(d?.seq??0)+1;try{c=await e.z.daemonSessionTurn.create({data:{sessionUuid:a.sessionUuid,seq:f,trigger:a.trigger,promptText:a.promptText??null,status:"pending",executionUuid:a.executionUuid??null}});break}catch(a){if("object"==typeof a&&null!==a&&"code"in a&&"P2002"===a.code&&b<4)continue;throw a}}if(!c)throw Error(`createPendingTurn: could not allocate a unique seq for session ${a.sessionUuid} after 5 attempts`);await e.z.daemonSession.update({where:{uuid:a.sessionUuid},data:{lastTurnAt:new Date}});let d=m(c);return p({companyUuid:b.companyUuid,sessionUuid:a.sessionUuid,trigger:"turn_created",turn:d,messages:[]}),d}async function t(a,b){let c=await e.z.daemonSessionTurn.findFirst({where:{sessionUuid:a,status:"pending",trigger:"human_instruction",promptText:b},orderBy:{seq:"asc"}});return c?m(c):null}let R={pending:["running"],running:["ended","interrupted"],ended:[],interrupted:[]};async function u(a,b,c={}){let d,f=await e.z.daemonSessionTurn.findUnique({where:{uuid:a},select:{uuid:!0,sessionUuid:!0,status:!0}});if(!f)return{ok:!1,reason:"not_found"};if(!(R[f.status]??[]).includes(b))return{ok:!1,reason:"invalid_transition",from:f.status,to:b};let g={status:b};void 0!==c.startedAt&&(g.startedAt=c.startedAt),void 0!==c.endedAt&&(g.endedAt=c.endedAt),void 0!==c.executionUuid&&(g.executionUuid=c.executionUuid),"interrupted"===b&&void 0!==c.interruptedReason&&(g.interruptedReason=c.interruptedReason);let h="ended"===b||"interrupted"===b;h&&void 0!==c.relayError&&(g.relayError=c.relayError);let i=h&&null!=c.usage?c.usage:null;if(i&&(g.usage=i),void 0!==c.expectedStatus){if(!(d=await e.z.$transaction(async b=>{let d=await b.daemonSessionTurn.updateMany({where:{uuid:a,status:c.expectedStatus},data:g});return 0===d.count?null:(i&&await b.daemonSession.update({where:{uuid:f.sessionUuid},data:{totalInputTokens:{increment:c.usage?.inputTokens??0},totalOutputTokens:{increment:c.usage?.outputTokens??0},totalCacheReadTokens:{increment:c.usage?.cacheReadTokens??0},totalCacheCreationTokens:{increment:c.usage?.cacheCreationTokens??0}}}),b.daemonSessionTurn.findUnique({where:{uuid:a}}))}))){let c=await e.z.daemonSessionTurn.findUnique({where:{uuid:a},select:{status:!0}});return c?{ok:!1,reason:"invalid_transition",from:c.status,to:b}:{ok:!1,reason:"not_found"}}}else if(i){let[b]=await e.z.$transaction([e.z.daemonSessionTurn.update({where:{uuid:a},data:g}),e.z.daemonSession.update({where:{uuid:f.sessionUuid},data:{totalInputTokens:{increment:c.usage?.inputTokens??0},totalOutputTokens:{increment:c.usage?.outputTokens??0},totalCacheReadTokens:{increment:c.usage?.cacheReadTokens??0},totalCacheCreationTokens:{increment:c.usage?.cacheCreationTokens??0}}})]);d=b}else d=await e.z.daemonSessionTurn.update({where:{uuid:a},data:g});let j=await e.z.daemonSession.findUnique({where:{uuid:f.sessionUuid},select:{companyUuid:!0,directIdeaUuid:!0,agentUuid:!0,originConnectionUuid:!0,agent:{select:{ownerUuid:!0}}}});if(!j)throw Error(`advanceTurn: session ${f.sessionUuid} missing for just-updated turn ${a}`);let l=m(d);return p({companyUuid:j.companyUuid,sessionUuid:f.sessionUuid,trigger:"turn_status_changed",turn:l,messages:[]}),k({type:"running"===b?"session_started":"session_ended",companyUuid:j.companyUuid,sessionUuid:f.sessionUuid,activityUuid:a,directIdeaUuid:j.directIdeaUuid,agentUuid:j.agentUuid,originConnectionUuid:j.originConnectionUuid,agentOwnerUuid:j.agent?.ownerUuid??null}),{ok:!0,turn:l}}async function v(a,b,d={}){try{let f=await e.z.daemonSessionTurn.findMany({where:{status:"running",session:{companyUuid:a,originConnectionUuid:b}},select:{uuid:!0}});if(0===f.length)return 0;if(!d.force){let c=await e.z.daemonConnection.findFirst({where:{companyUuid:a,uuid:b},select:{lastSeenAt:!0}});if(!function(a,b=Date.now()){return!a||b-a.lastSeenAt.getTime()>h.BP}(c))return 0}let g=new Date,i=0;for(let a of f){let b=await u(a.uuid,"interrupted",{interruptedReason:"offline",endedAt:g});if(b.ok)i+=1;else if("invalid_transition"===b.reason){let{default:d}=await Promise.resolve().then(c.bind(c,65582));d.info({turnUuid:a.uuid,from:b.from,to:b.to},"Orphan-turn reconcile lost the race to a concurrent terminal transition")}}return i}catch(e){let{default:d}=await Promise.resolve().then(c.bind(c,65582));return d.error({err:e,companyUuid:a,connectionUuid:b},"Failed to reconcile orphaned running turns"),0}}async function w(a,b){if(0===b.length)return 0;try{let c=await e.z.daemonSessionTurn.findMany({where:{status:"running",sessionUuid:{in:b.map(a=>a.uuid)}},select:{sessionUuid:!0}});if(0===c.length)return 0;let d=new Set(c.map(a=>a.sessionUuid)),f=[...new Set(b.filter(a=>d.has(a.uuid)).map(a=>a.originConnectionUuid))],g=0;for(let b of f)g+=await v(a,b);return g}catch(d){let{default:b}=await Promise.resolve().then(c.bind(c,65582));return b.error({err:d,companyUuid:a},"Read-time orphan-turn fallback failed (read continues unconverged)"),0}}async function x(a){let b=await e.z.daemonSession.findMany({where:{companyUuid:a.companyUuid,...n(a)},orderBy:{lastTurnAt:"desc"}});return await w(a.companyUuid,b),b.map(l)}async function y(a){return(await e.z.daemonSessionTurn.findMany({where:{status:"running",session:{companyUuid:a.companyUuid,..."agent"===a.type?{agentUuid:a.actorUuid}:{}}},orderBy:[{sessionUuid:"asc"},{uuid:"asc"}],select:{uuid:!0,sessionUuid:!0,session:{select:{companyUuid:!0,directIdeaUuid:!0,agentUuid:!0,originConnectionUuid:!0,agent:{select:{ownerUuid:!0}}}}}})).map(b=>({type:"session_started",companyUuid:b.session.companyUuid,sessionUuid:b.sessionUuid,activityUuid:b.uuid,directIdeaUuid:b.session.directIdeaUuid,agentUuid:b.session.agentUuid,originConnectionUuid:b.session.originConnectionUuid,canOpen:"agent"===a.type?b.session.agentUuid===a.actorUuid:b.session.agent.ownerUuid===a.actorUuid}))}async function z(a,b){return await e.z.daemonSession.findFirst({where:{uuid:b,companyUuid:a.companyUuid,...n(a)},select:{uuid:!0}})?(await e.z.daemonSessionTurn.findMany({where:{sessionUuid:b},orderBy:{seq:"asc"}})).map(m):null}async function A(a,b){let c=await e.z.daemonSession.findFirst({where:{uuid:b,companyUuid:a.companyUuid,...n(a)},select:{uuid:!0}});return null!=c}let S=20;async function B(a,b,c={}){let d=await e.z.daemonSession.findFirst({where:{uuid:b,companyUuid:a.companyUuid,...n(a)}});if(!d)return null;await w(a.companyUuid,[d]);let f=Math.min(Math.max(1,Math.floor(c.limit??S)),200),g="number"==typeof c.beforeTurnSeq&&Number.isFinite(c.beforeTurnSeq)?c.beforeTurnSeq:null,h="number"==typeof c.beforeMsgSeq&&Number.isFinite(c.beforeMsgSeq)?c.beforeMsgSeq:null,i=await e.z.daemonSessionTurn.findMany({where:{sessionUuid:b,...null!==g?{seq:{lte:g}}:{}},orderBy:{seq:"desc"},take:f+2}),j=i.map(a=>a.uuid),k=j.length>0?await e.z.daemonTranscriptMessage.findMany({where:{turnUuid:{in:j}},orderBy:[{turnUuid:"asc"},{seq:"asc"}]}):[],o=new Map;for(let a of k){let b=D(a),c=o.get(b.turnUuid);c?c.push(b):o.set(b.turnUuid,[b])}let p=[];for(let a of i){let b=o.get(a.uuid)??[];for(let c=b.length-1;c>=0;c--)p.push({turnSeq:a.seq,msgSeq:b[c].seq,rendered:b[c]});let c=a.promptText,d="string"==typeof c&&c.length>0;p.push({turnSeq:a.seq,msgSeq:0,rendered:d?{uuid:`synthetic:${a.uuid}`,turnUuid:a.uuid,role:"user",text:c,seq:0,createdAt:a.createdAt.toISOString()}:null})}let q=null!==g?p.filter(a=>a.turnSeq<g||a.turnSeq===g&&a.msgSeq<(h??0)):p,r=q.length>f,s=r?q.slice(0,f):q,t=[...s].reverse(),u=s.length>0?s[s.length-1]:null,v=new Map;for(let a of i)v.set(a.uuid,a);let x=new Map;for(let a of i)x.set(a.seq,a.uuid);let y=new Map,z=[];for(let a of t)y.has(a.turnSeq)||(y.set(a.turnSeq,[]),z.push(a.turnSeq)),a.rendered&&y.get(a.turnSeq).push(a.rendered);let A=z.map(a=>{let b=x.get(a);return{...m(v.get(b)),messages:y.get(a)??[]}});return{session:l(d),turns:A,hasMore:r,oldestTurnSeq:u?u.turnSeq:null,oldestMsgSeq:u?u.msgSeq:null}}class T extends Error{constructor(a){super("This session is read-only: its origin connection is offline. A daemon session can only be continued on the connection that holds its on-disk transcript (claude --resume is cwd/machine-bound), so it is never routed to another connection."),this.code="session_read_only",this.name="SessionReadOnlyError",this.originConnectionUuid=a}}async function C(a,b){let c=await e.z.daemonSession.findFirst({where:{uuid:b,companyUuid:a},select:{originConnectionUuid:!0}});if(!c)throw Error(`DaemonSession ${b} not found`);let d=await e.z.daemonConnection.findFirst({where:{uuid:c.originConnectionUuid,companyUuid:a},select:{status:!0,lastSeenAt:!0,cwd:!0}});if(!(null!=d&&"online"===d.status&&Date.now()-d.lastSeenAt.getTime()<=h.BP))throw new T(c.originConnectionUuid);return c.originConnectionUuid}function D(a){return{uuid:a.uuid,turnUuid:a.turnUuid,role:a.role,text:a.text,seq:a.seq,createdAt:a.createdAt.toISOString()}}async function E(a){let b=null;if(a.turnUuid)b=await e.z.daemonSessionTurn.findFirst({where:{uuid:a.turnUuid,session:{agentUuid:a.agentUuid,companyUuid:a.companyUuid}},select:{uuid:!0,sessionUuid:!0}});else if(a.sessionId){let c=await e.z.daemonSession.findFirst({where:{agentUuid:a.agentUuid,companyUuid:a.companyUuid,sessionId:a.sessionId},select:{uuid:!0}});c&&(b=await e.z.daemonSessionTurn.findFirst({where:{sessionUuid:c.uuid,status:"running"},orderBy:{seq:"asc"},select:{uuid:!0,sessionUuid:!0}})??await e.z.daemonSessionTurn.findFirst({where:{sessionUuid:c.uuid},orderBy:{seq:"desc"},select:{uuid:!0,sessionUuid:!0}}))}if(!b)return{ok:!1,reason:"not_found"};let c=b.sessionUuid,d=a.messages.filter(a=>P.includes(a.role)&&"string"==typeof a.text&&a.text.trim().length>0),f=[];if(d.length>0){let a=await e.z.daemonTranscriptMessage.findFirst({where:{turnUuid:b.uuid},orderBy:{seq:"desc"},select:{seq:!0}}),g=(a?.seq??0)+1,h=[];for(let a of d){let c=await e.z.daemonTranscriptMessage.create({data:{turnUuid:b.uuid,role:a.role,text:a.text,seq:g}});h.push(c),g+=1}f=h.map(D),await F(c)}let g=await e.z.daemonTranscriptMessage.count({where:{turn:{sessionUuid:c}}});if(f.length>0){let d=await e.z.daemonSessionTurn.findUnique({where:{uuid:b.uuid}}),g=await e.z.daemonSession.findUnique({where:{uuid:c},select:{companyUuid:!0}});d&&p({companyUuid:g?.companyUuid??a.companyUuid,sessionUuid:c,trigger:"transcript_appended",turn:m(d),messages:f})}return{ok:!0,appended:f.length,stored:g,messages:f}}async function F(a){let b=await e.z.daemonTranscriptMessage.count({where:{turn:{sessionUuid:a}}})-Q;if(b<=0)return;let c=await e.z.daemonTranscriptMessage.findMany({where:{turn:{sessionUuid:a}},orderBy:[{createdAt:"asc"},{id:"asc"}],take:b,select:{uuid:!0}});0!==c.length&&await e.z.daemonTranscriptMessage.deleteMany({where:{uuid:{in:c.map(a=>a.uuid)}}})}async function G(a){let b,c=await e.z.daemonSession.findFirst({where:{agentUuid:a.agentUuid,companyUuid:a.companyUuid,sessionId:a.sessionId},select:{uuid:!0}});if(!c)return{ok:!1,reason:"not_found"};let d="running"===a.status?"pending":"ended"===a.status||"interrupted"===a.status?"running":null,f=await e.z.daemonSessionTurn.findFirst({where:a.turnUuid?{uuid:a.turnUuid,sessionUuid:c.uuid}:{sessionUuid:c.uuid,...d?{status:d}:{}},orderBy:{seq:"asc"}});if(!f)return{ok:!1,reason:"not_found"};let g="ended"===a.status||"interrupted"===a.status;if(a.turnUuid&&g&&f.status===a.status)return(f.backendSessionId??null)!==(a.backendSessionId??null)?{ok:!1,reason:"backend_session_conflict"}:{ok:!0,turn:m(f)};if(a.backendSessionId){let b=await e.z.daemonSessionTurn.updateMany({where:{uuid:f.uuid,OR:[{backendSessionId:null},{backendSessionId:a.backendSessionId}]},data:{backendSessionId:a.backendSessionId}});if(0===b.count)return{ok:!1,reason:"backend_session_conflict"};await e.z.daemonSession.updateMany({where:{uuid:c.uuid,backendSessionId:null},data:{backendSessionId:a.backendSessionId}})}if(a.entityType&&a.entityUuid){let c=await e.z.daemonExecution.findFirst({where:{companyUuid:a.companyUuid,connectionUuid:a.connectionUuid,entityType:a.entityType,entityUuid:a.entityUuid},select:{uuid:!0}});b=c?.uuid??null}let h=new Date,i=void 0!==a.startedAt?a.startedAt:"running"===a.status?h:void 0,j=void 0!==a.endedAt?a.endedAt:"ended"===a.status||"interrupted"===a.status?h:void 0,k=await u(f.uuid,a.status,{...void 0!==i?{startedAt:i}:{},...void 0!==j?{endedAt:j}:{},...void 0!==b?{executionUuid:b}:{},...void 0!==a.interruptedReason?{interruptedReason:a.interruptedReason}:{},...void 0!==a.relayError?{relayError:a.relayError}:{},...void 0!==a.usage?{usage:a.usage}:{},expectedStatus:f.status});if(!k.ok){if("not_found"===k.reason)return{ok:!1,reason:"not_found"};if(a.turnUuid&&g){let b=await e.z.daemonSessionTurn.findFirst({where:{uuid:a.turnUuid,sessionUuid:c.uuid}});if(b&&b.status===a.status&&(b.backendSessionId??null)===(a.backendSessionId??null))return{ok:!0,turn:m(b)};if(b&&b.status===a.status&&(b.backendSessionId??null)!==(a.backendSessionId??null))return{ok:!1,reason:"backend_session_conflict"}}return{ok:!1,reason:"invalid_transition",from:k.from,to:k.to}}let l=a.coalescedCount??1;if("running"===a.status&&l>1){let b=await e.z.daemonSessionTurn.findMany({where:{sessionUuid:c.uuid,status:"pending",seq:{gt:f.seq}},orderBy:{seq:"asc"},take:l-1});if(b.length>0)for(let d of(await e.z.daemonSessionTurn.updateMany({where:{uuid:{in:b.map(a=>a.uuid)}},data:{status:L}}),b))p({companyUuid:a.companyUuid,sessionUuid:c.uuid,trigger:"turn_status_changed",turn:m({...d,status:L}),messages:[]})}return{ok:!0,turn:k.turn}}async function H(a){return(await e.z.daemonSessionTurn.findMany({where:{status:"pending",session:{companyUuid:a.companyUuid,agentUuid:a.agentUuid,originConnectionUuid:a.connectionUuid}},orderBy:[{session:{createdAt:"asc"}},{seq:"asc"}],select:{uuid:!0,sessionUuid:!0,seq:!0,trigger:!0,promptText:!0,session:{select:{sessionId:!0,directIdeaUuid:!0,runtimeCwd:!0}}}})).map(a=>({turnUuid:a.uuid,sessionUuid:a.sessionUuid,sessionId:a.session.sessionId,directIdeaUuid:a.session.directIdeaUuid,runtimeCwd:a.session.runtimeCwd,seq:a.seq,trigger:a.trigger,promptText:a.promptText}))}d()}catch(a){d(a)}})},35205:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{resolveRootIdea:()=>j});var e=c(71165),f=c(57578),g=c(8777),h=c(66643),i=a([e,f,g,h]);async function j(a,b,c){let d=await k(a,b,c),e=d.lineage.find(a=>"idea"===a.type)?.uuid??null;return{...d,directIdeaUuid:e}}async function k(a,b,c){switch(b){case"idea":return l(a,c);case"proposal":return o(a,c,"proposal");case"task":return m(a,c);case"document":return n(a,c);default:return{rootIdeaUuid:null,lineage:[],resolvedVia:"not_found"}}}async function l(a,b){let c=[],d=await p(a,b,c);return null===d?{rootIdeaUuid:null,lineage:[],resolvedVia:"not_found"}:{rootIdeaUuid:d,lineage:c,resolvedVia:"root_idea"}}async function m(a,b){let c=await (0,e.K4)(a,b);if(!c)return{rootIdeaUuid:null,lineage:[],resolvedVia:"not_found"};let d={type:"task",uuid:c.uuid,title:c.title};return c.proposalUuid?o(a,c.proposalUuid,"via_proposal",d):{rootIdeaUuid:null,lineage:[d],resolvedVia:"no_proposal"}}async function n(a,b){let c=await (0,g.Cs)(a,b);if(!c)return{rootIdeaUuid:null,lineage:[],resolvedVia:"not_found"};let d={type:"document",uuid:c.uuid,title:c.title};return c.proposalUuid?o(a,c.proposalUuid,"via_document_proposal",d):{rootIdeaUuid:null,lineage:[d],resolvedVia:"standalone_document"}}async function o(a,b,c,d){var e;let g=d?[d]:[],h=await (0,f.PK)(a,b);if(!h)return{rootIdeaUuid:null,lineage:g,resolvedVia:"not_found"};if(g.push({type:"proposal",uuid:h.uuid,title:h.title}),"idea"!==h.inputType)return{rootIdeaUuid:null,lineage:g,resolvedVia:"proposal_input_not_idea"};let i=(e=h.inputUuids,Array.isArray(e)?e.filter(a=>"string"==typeof a):[]);if(0===i.length)return{rootIdeaUuid:null,lineage:g,resolvedVia:"proposal_input_not_idea"};let j=await p(a,i[0],g);if(null===j)return{rootIdeaUuid:null,lineage:g,resolvedVia:"not_found"};let k="via_document_proposal"===c?"via_document_proposal":"via_proposal"===c?"via_proposal":"root_idea";if(1===i.length)return{rootIdeaUuid:j,lineage:g,resolvedVia:k};let l=[j];for(let b of i.slice(1)){let c=await p(a,b);null!==c&&l.push(c)}return{rootIdeaUuid:j,lineage:g,resolvedVia:k,ambiguous:!0,candidates:l}}async function p(a,b,c){let d=await (0,h.MY)(a,b);if(!d)return null;c?.push({type:"idea",uuid:d.uuid,title:d.title});let e=new Set([d.uuid]);for(let b=0;b<50;b++){let b=d.parentUuid;if(!b||e.has(b))break;e.add(b);let f=await (0,h.MY)(a,b);if(!f)break;c?.push({type:"idea",uuid:f.uuid,title:f.title}),d=f}return d.uuid}[e,f,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},37943:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>o,Ip:()=>p,NL:()=>q,Ug:()=>u,Xm:()=>m,aF:()=>l,lX:()=>t,p_:()=>n,rD:()=>r,y1:()=>s});var e=c(52618),f=c(42558),g=c(14120),h=c(77716),i=a([e,g,h]);function j(a){return"idea"!==a.entityType&&"task"!==a.entityType?null:`${a.companyUuid}:${a.entityType}:${a.entityUuid}`}async function k(a){let b=new Map;for(let c of a){let a=j(c);a&&!b.has(a)&&b.set(a,{companyUuid:c.companyUuid,entityType:c.entityType,entityUuid:c.entityUuid})}let c=new Map;return await Promise.all([...b.entries()].map(async([a,b])=>{c.set(a,await (0,h.V)(b.companyUuid,b.entityType,b.entityUuid))})),a.map(a=>{var b,d;let e=j(a);return b=a,d=e?c.get(e)??null:null,{uuid:b.uuid,projectUuid:b.projectUuid,projectName:b.projectName,recipientType:b.recipientType,recipientUuid:b.recipientUuid,entityType:b.entityType,entityUuid:b.entityUuid,entityTitle:b.entityTitle,action:b.action,message:b.message,actorType:b.actorType,actorUuid:b.actorUuid,actorName:b.actorName,readAt:b.readAt?.toISOString()??null,archivedAt:b.archivedAt?.toISOString()??null,createdAt:b.createdAt.toISOString(),instructionText:b.instructionText??null,orchestrator:d}})}async function l(a){let b=await e.z.notification.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName,instructionText:a.instructionText??null}}),c=await o(a.companyUuid,a.recipientType,a.recipientUuid),{turn:d,targetConnectionUuid:h,runtimeCwd:i,suppressWake:j}=await (0,g.Wy)(a);f.B.emit(`notification:${a.recipientType}:${a.recipientUuid}`,{type:"new_notification",notificationUuid:b.uuid,unreadCount:c,action:a.action,actorName:a.actorName,entityTitle:a.entityTitle,entityType:a.entityType,entityUuid:a.entityUuid,projectUuid:a.projectUuid,targetConnectionUuid:h,runtimeCwd:i,suppressWake:j});let[l]=await k([b]);return{notification:l,turn:d}}async function m(a){let b=await Promise.all(a.map(a=>e.z.notification.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName,instructionText:a.instructionText??null}}))),c=new Map;for(let b of a){let{targetConnectionUuid:a,runtimeCwd:d,suppressWake:e}=await (0,g.Wy)(b);c.set(b,{targetConnectionUuid:a,runtimeCwd:d,suppressWake:e})}let d=new Set;for(let b of a)d.add(`${b.recipientType}:${b.recipientUuid}:${b.companyUuid}`);for(let e of d){let[d,g,h]=e.split(":"),i=await o(h,d,g),j=b.find(a=>a.recipientType===d&&a.recipientUuid===g),k=a.find(a=>a.recipientType===d&&a.recipientUuid===g);f.B.emit(`notification:${d}:${g}`,{type:"new_notification",notificationUuid:j?.uuid,unreadCount:i,action:k?.action,actorName:k?.actorName,entityTitle:k?.entityTitle,entityType:k?.entityType,entityUuid:k?.entityUuid,projectUuid:k?.projectUuid,targetConnectionUuid:k?c.get(k)?.targetConnectionUuid??null:null,runtimeCwd:k?c.get(k)?.runtimeCwd??null:null,suppressWake:!!k&&(c.get(k)?.suppressWake??!1)})}return k(b)}async function n(a){let{companyUuid:b,recipientType:c,recipientUuid:d,projectUuid:f,readFilter:g,archived:h}=a,i=a.skip??0,j=a.take??20,l={companyUuid:b,recipientType:c,recipientUuid:d,...f&&{projectUuid:f},..."unread"===g&&{readAt:null},..."read"===g&&{readAt:{not:null}},...!1===h&&{archivedAt:null},...!0===h&&{archivedAt:{not:null}}},[m,n,p]=await Promise.all([e.z.notification.findMany({where:l,skip:i,take:j,orderBy:{createdAt:"desc"}}),e.z.notification.count({where:l}),o(b,c,d)]);return{notifications:await k(m),total:n,unreadCount:p}}async function o(a,b,c){return e.z.notification.count({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,archivedAt:null}})}async function p(a,b,c,d){await e.z.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,readAt:null},data:{readAt:new Date}});let g=await e.z.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let h=await o(b,c,d);f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:h});let[i]=await k([g]);return i}async function q(a,b,c,d){let g=await e.z.notification.updateMany({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,...d&&{projectUuid:d}},data:{readAt:new Date}}),h=await o(a,b,c);return f.B.emit(`notification:${b}:${c}`,{type:"count_update",unreadCount:h}),{count:g.count}}async function r(a,b,c,d){await e.z.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,archivedAt:null},data:{archivedAt:new Date}});let g=await e.z.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let h=await o(b,c,d);f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:h});let[i]=await k([g]);return i}function s(a){f.B.emit(`notification:user:${a.ownerUuid}`,{type:"new_notification",action:"agent_checkin",entityType:"agent",entityUuid:a.agentUuid,entityTitle:a.agentName,actorName:a.agentName})}async function t(a,b,c){let d=await e.z.notificationPreference.findUnique({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}}});return d||(d=await e.z.notificationPreference.create({data:{companyUuid:a,ownerType:b,ownerUuid:c}})),{uuid:d.uuid,ownerType:d.ownerType,ownerUuid:d.ownerUuid,taskAssigned:d.taskAssigned,taskStatusChanged:d.taskStatusChanged,taskVerified:d.taskVerified,taskReopened:d.taskReopened,proposalSubmitted:d.proposalSubmitted,proposalApproved:d.proposalApproved,proposalRejected:d.proposalRejected,ideaClaimed:d.ideaClaimed,commentAdded:d.commentAdded,elaborationRequested:d.elaborationRequested,elaborationAnswered:d.elaborationAnswered,mentioned:d.mentioned}}async function u(a,b,c,d){let f=await e.z.notificationPreference.upsert({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}},create:{companyUuid:a,ownerType:b,ownerUuid:c,...d},update:d});return{uuid:f.uuid,ownerType:f.ownerType,ownerUuid:f.ownerUuid,taskAssigned:f.taskAssigned,taskStatusChanged:f.taskStatusChanged,taskVerified:f.taskVerified,taskReopened:f.taskReopened,proposalSubmitted:f.proposalSubmitted,proposalApproved:f.proposalApproved,proposalRejected:f.proposalRejected,ideaClaimed:f.ideaClaimed,commentAdded:f.commentAdded,elaborationRequested:f.elaborationRequested,elaborationAnswered:f.elaborationAnswered,mentioned:f.mentioned}}[e,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},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}},54349:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Hu:()=>p,eT:()=>o,fg:()=>m,uA:()=>s});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]);[e,f,g,h]=k.then?(await k)():k;let t={uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0};async function l(a){return Promise.all(a.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()}}))}async function m(a){let{companyUuid:b,targetType:c,targetUuid:d,limit:g}=a;if(!await (0,f._9)(c,d,b))return void 0!==g?{comments:[],total:0,nextCursor:null,hasMore:!1}:{comments:[],total:0};if(void 0!==g)return n(a,g);let{skip:h,take:i}=a,j={companyUuid:b,targetType:c,targetUuid:d},[k,m]=await Promise.all([e.z.comment.findMany({where:j,skip:h,take:i,orderBy:[{createdAt:"desc"},{id:"desc"}],select:t}),e.z.comment.count({where:j})]);return{comments:await l(k),total:m}}async function n(a,b){let{companyUuid:c,targetType:d,targetUuid:f,cursor:g}=a,h={companyUuid:c,targetType:d,targetUuid:f},i=!1;if(g){let a=await e.z.comment.findFirst({where:{...h,uuid:g},select:{uuid:!0}});i=null!==a}let[j,k]=await Promise.all([e.z.comment.findMany({where:h,orderBy:[{createdAt:"desc"},{id:"desc"}],take:b+1,...i?{cursor:{uuid:g},skip:1}:{},select:t}),e.z.comment.count({where:h})]),m=j.length>b,n=m?j.slice(0,b):j,o=m?n[n.length-1].uuid:null;return{comments:await l(n),total:k,nextCursor:o,hasMore:m}}async function o({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 p(b,c).then(d=>{d&&i.B.emitChange({companyUuid:a,projectUuid:d,entityType:b,entityUuid:c,action:"updated",actorUuid:h})}).catch(()=>{}),r(a,b,c,k.uuid,d,g,h).catch(a=>j.default.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 p(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 q(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 r(a,b,c,d,e,f,i){let j=g.Xs(e);if(0===j.length)return;let k=await p(b,c);if(!k)return;let l=await q(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 s(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}d()}catch(a){d(a)}})},66643:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BB:()=>u,EZ:()=>B,JF:()=>z,MY:()=>x,Nm:()=>G,Q7:()=>w,XB:()=>M,Xo:()=>D,bO:()=>q,bY:()=>H,h_:()=>E,i1:()=>y,jJ:()=>I,w9:()=>C,xo:()=>K,yM:()=>L});var e=c(52618),f=c(76872),g=c(42558),h=c(48873),i=c(27473),j=c(90494),k=c(88437),l=c(8777),m=c(57578),n=c(65582),o=a([e,f,j,k,l,m]);[e,f,j,k,l,m]=o.then?(await o)():o;let N={open:["elaborating"],elaborating:["elaborated"],elaborated:[]};function p(a){switch(a){case"assigned":case"in_progress":return"elaborating";case"proposal_created":case"completed":case"closed":case"pending_review":return"elaborated";default:return a}}function q(a,b){return(N[p(a)]||[]).includes(b)}async function r(a,b,c,d){if(!d)return{assigneeType:b,assigneeUuid:c};let f=await e.z.agentInstance.findFirst({where:{uuid:d,companyUuid:a},select:{uuid:!0}});if(!f)throw Error("Agent instance not found");return{assigneeType:"agent_instance",assigneeUuid:f.uuid}}function s(a,b){if(!a&&!b)return{};if(!a||!b)throw Error("Assignment provenance type and UUID must be provided together");return{assignedByType:a,assignedByUuid:b}}async function t(a){let[b,c]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid,a.assignedByType,a.companyUuid),(0,f.LS)(a.createdByUuid)]);return{uuid:a.uuid,title:a.title,content:a.content,attachments:a.attachments,status:p(a.status),isContainer:a.isContainer,assignee:b,...a.project&&{project:a.project},...null!=a.elaborationStatus&&{elaborationStatus:a.elaborationStatus},...null!=a.elaborationDepth&&{elaborationDepth:a.elaborationDepth},createdBy:c,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function u({companyUuid:a,projectUuid:b,skip:c,take:d,status:g,assignedToMe:h,actorUuid:i,actorType:j,ownerUuid:k}){let l={projectUuid:b,companyUuid:a,...g&&{status:g}};h&&i&&j&&(l.OR=await (0,f.zl)({type:"agent"===j?"agent":"user",companyUuid:a,actorUuid:i,ownerUuid:k}));let[m,n]=await Promise.all([e.z.idea.findMany({where:l,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,title:!0,content:!0,attachments:!0,status:!0,elaborationStatus:!0,elaborationDepth:!0,companyUuid:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByType:!0,assignedByUuid:!0,parentUuid:!0,isContainer:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.idea.count({where:l})]),o=await Promise.all(m.map(t));if(m.forEach((a,b)=>{o[b].parentUuid=a.parentUuid??null}),o.length>0){let c=await v(a,b,o.map(a=>a.uuid));for(let a of o)a.reportCount=c.get(a.uuid)??0;let d=await e.z.idea.groupBy({by:["parentUuid"],where:{companyUuid:a,projectUuid:b,parentUuid:{not:null}},_count:{_all:!0}})??[],f=new Map;for(let a of d)a.parentUuid&&f.set(a.parentUuid,a._count._all);for(let a of o)a.childCount=f.get(a.uuid)??0}return{ideas:o,total:n}}let O=["approved","closed"];async function v(a,b,c){let d=new Map;if(0===c.length)return d;let f=await e.z.proposal.findMany({where:{projectUuid:b,companyUuid:a,status:{in:[...O]},inputType:"idea"},select:{uuid:!0,inputUuids:!0}});if(0===f.length)return d;let g=new Set(c),h=new Map;for(let a of f){if(!Array.isArray(a.inputUuids))continue;let b=a.inputUuids.filter(a=>g.has(a));b.length>0&&h.set(a.uuid,b)}if(0===h.size)return d;for(let b of(await e.z.document.groupBy({by:["proposalUuid"],where:{companyUuid:a,type:"report",proposalUuid:{in:Array.from(h.keys())}},_count:{_all:!0}}))){if(!b.proposalUuid)continue;let a=h.get(b.proposalUuid);if(a)for(let c of a)d.set(c,(d.get(c)??0)+b._count._all)}return d}async function w(a,b){let c=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}},parent:{select:{uuid:!0,title:!0,status:!0}},children:{select:{uuid:!0,title:!0,status:!0,elaborationStatus:!0},orderBy:{createdAt:"asc"}}}});if(!c)return null;let d=await t(c);d.parentUuid=c.parentUuid??null,d.parent=c.parent?{uuid:c.parent.uuid,title:c.parent.title,status:p(c.parent.status)}:null;let f=c.children??[];if(f.length>0){let b=await L(a,c.projectUuid),e=new Map(b.map(a=>[a.uuid,a.derivedStatus]));d.children=f.map(a=>({uuid:a.uuid,title:a.title,status:p(a.status),derivedStatus:e.get(a.uuid)??"todo"}))}else d.children=[];d.descendantUuids=await A(b,a);let g=(await m.fS(a,c.projectUuid,b)).filter(a=>O.includes(a.status));return 0===g.length?d.reports=[]:d.reports=await l.yZ(a,g.map(a=>a.uuid),"report"),d}async function x(a,b){return e.z.idea.findFirst({where:{uuid:b,companyUuid:a}})}async function y(a){if(a.parentUuid){let b=await e.z.idea.findFirst({where:{uuid:a.parentUuid,companyUuid:a.companyUuid},select:{projectUuid:!0}});if(!b)throw Error("Parent idea not found");if(b.projectUuid!==a.projectUuid)throw Error("Parent idea must be in the same project")}let b=await e.z.idea.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,content:a.content,attachments:a.attachments||void 0,status:"open",createdByUuid:a.createdByUuid,parentUuid:a.parentUuid??void 0,isContainer:a.isContainer??void 0},select:{uuid:!0,title:!0,content:!0,attachments:!0,status:!0,elaborationStatus:!0,elaborationDepth:!0,companyUuid:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByType:!0,assignedByUuid:!0,parentUuid:!0,isContainer:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"idea",entityUuid:b.uuid,action:"created"});let c=await t(b);return c.parentUuid=b.parentUuid,c}async function z(a,b,c,d){let f=null;if(void 0!==c.content&&d){let b=await e.z.idea.findUnique({where:{uuid:a},select:{content:!0}});f=b?.content??null}let h=await e.z.idea.update({where:{uuid:a},data:c,include:{project:{select:{uuid:!0,name:!0}}}});if(g.B.emitChange({companyUuid:h.companyUuid,projectUuid:h.project.uuid,entityType:"idea",entityUuid:h.uuid,action:"updated"}),d){let a=["title","content"].filter(a=>void 0!==c[a]);a.length>0&&await k.createActivity({companyUuid:h.companyUuid,projectUuid:h.project.uuid,targetType:"idea",targetUuid:h.uuid,actorType:d.actorType,actorUuid:d.actorUuid,action:"edited",value:{changedFields:a}})}return void 0!==c.content&&d&&c.content&&F(h.companyUuid,h.project.uuid,h.uuid,h.title,f,c.content,d.actorType,d.actorUuid).catch(a=>n.default.error({err:a},"Failed to process idea mentions")),t(h)}async function A(a,b){let c=new Set,d=[a];for(;d.length>0;){let f=await e.z.idea.findMany({where:{companyUuid:b,parentUuid:{in:d}},select:{uuid:!0}})??[],g=[];for(let b of f)b.uuid!==a&&(c.has(b.uuid)||(c.add(b.uuid),g.push(b.uuid)));d=g}return[...c]}async function B(a,b,c,d){let f=await e.z.idea.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0,projectUuid:!0,parentUuid:!0}});if(!f)throw Error("Idea not found");let h=f.parentUuid??null;if(b){if(b===a)throw Error("An idea cannot be its own parent");let d=await e.z.idea.findFirst({where:{uuid:b,companyUuid:c},select:{uuid:!0,projectUuid:!0,parentUuid:!0}});if(!d)throw Error("Parent idea not found");if(d.projectUuid!==f.projectUuid)throw Error("Parent idea must be in the same project");let g=new Set,h=d.parentUuid;for(;h;){if(h===a)throw Error("Cannot set parent: would create a cycle");if(g.has(h))break;g.add(h);let b=await e.z.idea.findFirst({where:{uuid:h,companyUuid:c},select:{parentUuid:!0}});h=b?.parentUuid??null}}let i=await e.z.idea.update({where:{uuid:a},data:{parentUuid:b??null},include:{project:{select:{uuid:!0,name:!0}}}});g.B.emitChange({companyUuid:i.companyUuid,projectUuid:i.projectUuid,entityType:"idea",entityUuid:i.uuid,action:"updated"});let j=i.parentUuid??null;d&&j!==h&&await k.createActivity({companyUuid:i.companyUuid,projectUuid:i.projectUuid,targetType:"idea",targetUuid:i.uuid,actorType:d.actorType,actorUuid:d.actorUuid,action:"reparented",value:{fromParentUuid:h,toParentUuid:j}});let l=await t(i);return l.parentUuid=i.parentUuid,l}async function C({ideaUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f,assignedByType:i,instanceUuid:j,cwdSource:k,cwdHost:l,runtimeCwd:m}){let n=await e.z.idea.findFirst({where:{uuid:a,companyUuid:b}});if(!n||n.assigneeUuid)throw new h.Yy("Idea");let o=p(n.status);if("elaborated"===o)throw Error("Cannot claim an elaborated Idea");let q=await r(b,c,d,j),u=s(i,f),v=await e.z.idea.update({where:{uuid:a},data:{status:"elaborating",assigneeType:q.assigneeType,assigneeUuid:q.assigneeUuid,cwdSource:m&&k?.trim()?k:null,cwdHost:m?l:null,runtimeCwd:m??null,assignedAt:new Date,...u},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:v.companyUuid,projectUuid:v.project.uuid,entityType:"idea",entityUuid:v.uuid,action:"updated"}),t(v)}async function D({ideaUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f,assignedByType:h,instanceUuid:i,cwdSource:j,cwdHost:k,runtimeCwd:l}){let m=await e.z.idea.findFirst({where:{uuid:a,companyUuid:b}});if(!m)throw Error("Idea not found");let n="open"===m.status?"elaborating":m.status,o=await r(b,c,d,i),p=s(h,f),q=await e.z.idea.update({where:{uuid:a},data:{status:n,assigneeType:o.assigneeType,assigneeUuid:o.assigneeUuid,cwdSource:l&&j?.trim()?j:null,cwdHost:l?k:null,runtimeCwd:l??null,assignedAt:new Date,...p},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:q.companyUuid,projectUuid:q.project.uuid,entityType:"idea",entityUuid:q.uuid,action:"updated"}),t(q)}async function E(a){let b=await e.z.idea.findUnique({where:{uuid:a}});if(!b)throw Error("Idea not found");let c=p(b.status),d=await e.z.idea.update({where:{uuid:a},data:{..."elaborated"!==c&&{status:"open",elaborationDepth:null,elaborationStatus:null},assigneeType:null,assigneeUuid:null,cwdSource:null,cwdHost:null,runtimeCwd:null,assignedAt:null,assignedByType:null,assignedByUuid:null},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:d.companyUuid,projectUuid:d.project.uuid,entityType:"idea",entityUuid:d.uuid,action:"updated"}),t(d)}async function F(a,b,c,d,e,f,g,h){let i=e?j.Xs(e):[],l=j.Xs(f),m=new Set(i.map(a=>`${a.type}:${a.uuid}`)),n=l.filter(a=>!m.has(`${a.type}:${a.uuid}`));if(0!==n.length)for(let e of(await j.AM({companyUuid:a,sourceType:"idea",sourceUuid:c,content:f,actorType:g,actorUuid:h,projectUuid:b,entityTitle:d}),n))(e.type!==g||e.uuid!==h)&&await k.createActivity({companyUuid:a,projectUuid:b,targetType:"idea",targetUuid:c,actorType:g,actorUuid:h,action:"mentioned",value:{mentionedType:e.type,mentionedUuid:e.uuid,mentionedName:e.displayName,sourceType:"idea",sourceUuid:c}})}async function G(a){let b=await e.z.idea.findUnique({where:{uuid:a},select:{companyUuid:!0}});b&&await e.z.idea.updateMany({where:{companyUuid:b.companyUuid,parentUuid:a},data:{parentUuid:null}});let c=await e.z.idea.delete({where:{uuid:a}});return g.B.emitChange({companyUuid:c.companyUuid,projectUuid:c.projectUuid,entityType:"idea",entityUuid:c.uuid,action:"deleted"}),c}async function H(a,b,c,d,f="user"){let h=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}}}});if(!h)throw new i.hD("NOT_FOUND","Idea not found",404);let j=await e.z.project.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0,name:!0}});if(!j)throw new i.hD("NOT_FOUND","Target project not found",404);if(h.projectUuid===c)throw new i.hD("BAD_REQUEST","Idea is already in the target project",400);let l=h.projectUuid,m=await A(b,a),n=[b,...m],o=await e.z.$transaction(async d=>{let e=(await d.proposal.findMany({where:{companyUuid:a,inputType:"idea",OR:n.map(a=>({inputUuids:{array_contains:[a]}}))},select:{uuid:!0}})).map(a=>a.uuid),f=(await d.idea.updateMany({where:{companyUuid:a,uuid:{in:n}},data:{projectUuid:c}})).count;h.parentUuid&&await d.idea.update({where:{uuid:b},data:{parentUuid:null}});let g=0,i=0,j=0,k=[],l=[];if(e.length>0){let[b,f]=await Promise.all([d.document.findMany({where:{companyUuid:a,proposalUuid:{in:e}},select:{uuid:!0}}),d.task.findMany({where:{companyUuid:a,proposalUuid:{in:e}},select:{uuid:!0}})]);k=b.map(a=>a.uuid),l=f.map(a=>a.uuid),g=(await d.proposal.updateMany({where:{companyUuid:a,uuid:{in:e}},data:{projectUuid:c}})).count,i=(await d.document.updateMany({where:{companyUuid:a,proposalUuid:{in:e}},data:{projectUuid:c}})).count,j=(await d.task.updateMany({where:{companyUuid:a,proposalUuid:{in:e}},data:{projectUuid:c}})).count}let m=await d.activity.updateMany({where:{companyUuid:a,OR:[{targetType:"idea",targetUuid:{in:n}},{targetType:"proposal",targetUuid:{in:e}},{targetType:"task",targetUuid:{in:l}},{targetType:"document",targetUuid:{in:k}}]},data:{projectUuid:c}});return{ideas:f,proposals:g,documents:i,tasks:j,activities:m.count}});await k.createActivity({companyUuid:a,projectUuid:c,targetType:"idea",targetUuid:b,actorType:f,actorUuid:d,action:"moved",value:{fromProjectUuid:l,fromProjectName:h.project.name,toProjectUuid:c,toProjectName:j.name,moved:o}}),g.B.emitChange({companyUuid:a,projectUuid:l,entityType:"idea",entityUuid:b,action:"updated"}),g.B.emitChange({companyUuid:a,projectUuid:c,entityType:"idea",entityUuid:b,action:"updated"});let p=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}}}});return{...await t(p),moved:o}}async function I(a,b,c){let d=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,projectUuid:!0}});if(!d)throw new i.hD("NOT_FOUND","Idea not found",404);if(!await e.z.project.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}}))throw new i.hD("NOT_FOUND","Target project not found",404);if(d.projectUuid===c)throw new i.hD("BAD_REQUEST","Idea is already in the target project",400);let f=await A(b,a),g=[b,...f],h=(await e.z.proposal.findMany({where:{companyUuid:a,inputType:"idea",OR:g.map(a=>({inputUuids:{array_contains:[a]}}))},select:{uuid:!0}})).map(a=>a.uuid),j=0,k=0,l=[],m=[];if(h.length>0){let[b,c]=await Promise.all([e.z.document.findMany({where:{companyUuid:a,proposalUuid:{in:h}},select:{uuid:!0}}),e.z.task.findMany({where:{companyUuid:a,proposalUuid:{in:h}},select:{uuid:!0}})]);l=b.map(a=>a.uuid),m=c.map(a=>a.uuid),j=l.length,k=m.length}let n=await e.z.activity.count({where:{companyUuid:a,OR:[{targetType:"idea",targetUuid:{in:g}},{targetType:"proposal",targetUuid:{in:h}},{targetType:"task",targetUuid:{in:m}},{targetType:"document",targetUuid:{in:l}}]}});return{moved:{ideas:g.length,proposals:h.length,documents:j,tasks:k,activities:n}}}function J(a){let b=a.length,c=a.filter(a=>"done"===a).length,d={done:c,total:b};return 0===b?{derivedStatus:"todo",badgeHint:"open",childProgress:d}:c===b?{derivedStatus:"done",badgeHint:"done",childProgress:d}:a.some(a=>"todo"!==a)?{derivedStatus:"in_progress",badgeHint:"building",childProgress:d}:{derivedStatus:"todo",badgeHint:"open",childProgress:d}}function K(a){switch(p(a.ideaStatus)){case"open":default:return{derivedStatus:"todo",badgeHint:"open"};case"elaborating":if("pending_answers"===a.elaborationStatus)return{derivedStatus:"human_conduct_required",badgeHint:"answer_questions"};return{derivedStatus:"in_progress",badgeHint:"researching"};case"elaborated":if(a.hasPendingProposal)return{derivedStatus:"human_conduct_required",badgeHint:"review_proposal"};if(a.hasApprovedProposal){if(a.taskStatuses.some(a=>"to_verify"===a))return{derivedStatus:"human_conduct_required",badgeHint:"verify_work"};if(a.taskStatuses.length>0&&a.taskStatuses.every(a=>"done"===a||"closed"===a))return{derivedStatus:"done",badgeHint:"done"};return{derivedStatus:"in_progress",badgeHint:"building"}}return{derivedStatus:"in_progress",badgeHint:"planning"}}}async function L(a,b){let c=await e.z.idea.findMany({where:{companyUuid:a,projectUuid:b},select:{uuid:!0,title:!0,status:!0,elaborationStatus:!0,parentUuid:!0,isContainer:!0,createdAt:!0,updatedAt:!0},orderBy:{createdAt:"desc"}}),d=await e.z.idea.groupBy({by:["parentUuid"],where:{companyUuid:a,projectUuid:b,parentUuid:{not:null}},_count:{_all:!0}})??[],f=new Map;for(let a of d)a.parentUuid&&f.set(a.parentUuid,a._count._all);let g=new Map;if(c.length>0)for(let b of await e.z.referenceArtifact.groupBy({by:["targetUuid"],where:{companyUuid:a,targetType:"idea",targetUuid:{in:c.map(a=>a.uuid)}},_count:{_all:!0}})??[])g.set(b.targetUuid,b._count._all);let h=await e.z.proposal.findMany({where:{companyUuid:a,projectUuid:b,status:{in:["approved","pending"]}},select:{uuid:!0,status:!0,inputUuids:!0,createdAt:!0},orderBy:{createdAt:"desc"}}),i=new Map,j=new Set,k=new Map;for(let a of h){let b=a.inputUuids;if(Array.isArray(b)){for(let c of b)if(k.set(c,(k.get(c)??0)+1),"pending"===a.status)j.add(c);else if("approved"===a.status){let b=i.get(c);(!b||a.createdAt>b.createdAt)&&i.set(c,{uuid:a.uuid,createdAt:a.createdAt})}}}let l=[...new Set([...i.values()].map(a=>a.uuid))],m=new Map;if(l.length>0)for(let b of(await e.z.task.findMany({where:{companyUuid:a,proposalUuid:{in:l}},select:{proposalUuid:!0,status:!0}}))){if(!b.proposalUuid)continue;let a=m.get(b.proposalUuid)||[];a.push(b.status),m.set(b.proposalUuid,a)}let n=c.map(a=>{let c=i.get(a.uuid),d=c&&m.get(c.uuid)||[],{derivedStatus:e,badgeHint:h}=K({ideaStatus:a.status,elaborationStatus:a.elaborationStatus,hasPendingProposal:j.has(a.uuid),hasApprovedProposal:!!c,taskStatuses:d});return{uuid:a.uuid,title:a.title,status:a.status,derivedStatus:e,badgeHint:h,createdAt:a.createdAt,updatedAt:a.updatedAt,projectUuid:b,proposalCount:k.get(a.uuid)??0,taskCount:d.length,parentUuid:a.parentUuid??null,childCount:f.get(a.uuid)??0,isContainer:a.isContainer,childProgress:null,referenceCount:g.get(a.uuid)??0}}),o=new Map(n.map(a=>[a.uuid,a])),p=new Map(n.map(a=>[a.uuid,a.derivedStatus])),q=new Map(n.map(a=>[a.uuid,a.badgeHint])),r=new Map;for(let a of n){if(!a.parentUuid||!o.has(a.parentUuid))continue;let b=r.get(a.parentUuid)??[];b.push(a.uuid),r.set(a.parentUuid,b)}let s=new Set,t=new Set;for(let a of n){if(t.has(a.uuid))continue;let b=[],c=new Map,d=a.uuid;for(;d&&o.has(d)&&!t.has(d);){let a=c.get(d);if(void 0!==a){for(let c of b.slice(a))s.add(c);break}c.set(d,b.length),b.push(d),d=o.get(d)?.parentUuid??null}for(let a of b)t.add(a)}let u=new Map;for(let a of n){let b=r.get(a.uuid)??[];(!a.isContainer||0===b.length||s.has(a.uuid))&&u.set(a.uuid,{derivedStatus:p.get(a.uuid),badgeHint:q.get(a.uuid)})}let v=new Map,w=[];for(let a of n){if(u.has(a.uuid))continue;let b=(r.get(a.uuid)??[]).filter(a=>!u.has(a)).length;v.set(a.uuid,b),0===b&&w.push(a.uuid)}for(let a=0;a<w.length;a+=1){let b=w[a],c=(r.get(b)??[]).map(a=>u.get(a).derivedStatus),d=J(c);u.set(b,d);let e=o.get(b)?.parentUuid;if(!e||!v.has(e))continue;let f=v.get(e)-1;v.set(e,f),0===f&&w.push(e)}for(let a of n){let b=u.get(a.uuid);b&&(a.derivedStatus=b.derivedStatus,a.badgeHint=b.badgeHint);let c=r.get(a.uuid)??[];if(!a.isContainer||0===c.length)continue;let d=c.map(a=>u.get(a)?.derivedStatus??p.get(a));a.childProgress=J(d).childProgress}return n}let P=["todo","in_progress","human_conduct_required","done"];async function M(a,b){let c=await L(a,b),d={},e={};for(let a of P)d[a]=[],e[a]=0;for(let a of c){let b=a.derivedStatus,c={uuid:a.uuid,title:a.title,status:a.status,derivedStatus:b,badgeHint:a.badgeHint,createdAt:a.createdAt.toISOString(),parentUuid:a.parentUuid,childCount:a.childCount,isContainer:a.isContainer,childProgress:a.childProgress??null,referenceCount:a.referenceCount??0};d[b]&&(d[b].push(c),e[b]++)}return{groups:d,counts:e}}d()}catch(a){d(a)}})},70369:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bp:()=>v,Ld:()=>G,N_:()=>r,OQ:()=>z,Oi:()=>x,Rk:()=>s,Uc:()=>D,Vn:()=>E,i2:()=>C,k3:()=>F,mX:()=>A,sB:()=>u,ub:()=>t,y9:()=>B});var e=c(55511),f=c(52618),g=c(65582),h=c(42558),i=c(37943),j=c(28792),k=c(34853),l=c(93419),m=c(81722),n=a([f,i,j,k,l,m]);[f,i,j,k,l,m]=n.then?(await n)():n;let y=g.default.child({module:"daemon-instruction.service"});class z extends Error{constructor(){super("Daemon session not found"),this.code="session_not_visible",this.name="SessionNotVisibleError"}}class A extends Error{constructor(){super("Connection not found"),this.code="connection_not_visible",this.name="ConnectionNotVisibleError"}}class B extends Error{constructor(a){super("The chosen connection is offline. An instruction can only run on an online daemon connection (claude --resume is cwd/machine-bound)."),this.code="connection_offline",this.name="ConnectionOfflineError",this.connectionUuid=a}}class C extends Error{constructor(a){super("This conversation's origin is still online, so it cannot be re-pointed. Re-pointing only rescues a read-only conversation whose origin went offline; send to the live origin instead."),this.code="repoint_origin_live",this.name="RepointOriginLiveError",this.originConnectionUuid=a}}class D extends Error{constructor(a){super("empty"===a?"Instruction text must not be empty.":"Instruction text exceeds the maximum of 4000 characters."),this.code="invalid_instruction_text",this.name="InstructionTextError",this.reason=a}}function o(a){let b=(a??"").trim();if(0===b.length)throw new D("empty");if(b.length>4e3)throw new D("too_long");return b}async function p(a,b){let c="agent"===a.type?{agentUuid:a.actorUuid}:{agent:{ownerUuid:a.actorUuid}};return await f.z.daemonSession.findFirst({where:{uuid:b,companyUuid:a.companyUuid,...c},select:{agentUuid:!0,sessionId:!0,directIdeaUuid:!0,originConnectionUuid:!0}})}async function q(a){let{auth:b,agentUuid:c,sessionUuid:d,sessionId:e,directIdeaUuid:f,instructionText:g}=a,{turn:h}=await i.aF({companyUuid:b.companyUuid,projectUuid:"",projectName:"",recipientType:"agent",recipientUuid:c,entityType:null!=f?"idea":"daemon_session",entityUuid:null!=f?f:e,entityTitle:"",action:"human_instruction",message:"Human instruction",actorType:"agent"===b.type?"agent":"user",actorUuid:b.actorUuid,actorName:"",instructionText:g});if(!h)throw Error(`Instruction turn was not created on session ${d} (no online origin at chokepoint).`);return h}function r(a){try{(0,j.s7)({companyUuid:a.companyUuid,targetConnectionUuid:a.originConnectionUuid,command:"deliver_turn",turnUuid:a.turnUuid,...a.runtimeCwd?{runtimeCwd:a.runtimeCwd}:{}})}catch(b){y.warn({err:b,originConnectionUuid:a.originConnectionUuid,turnUuid:a.turnUuid},"deliver_turn live ping failed; the turn is persisted and will be recovered by the daemon's reconnect-backfill")}}async function s(a,b){let c=o(b.instructionText),d=await p(a,b.sessionUuid);if(!d)throw new z;await (0,k.assertContinuable)(a.companyUuid,b.sessionUuid);let e=await q({auth:a,agentUuid:d.agentUuid,sessionUuid:b.sessionUuid,sessionId:d.sessionId,directIdeaUuid:d.directIdeaUuid,instructionText:c});return r({companyUuid:a.companyUuid,originConnectionUuid:d.originConnectionUuid,turnUuid:e.uuid}),{turn:e}}async function t(a,b){let c=o(b.instructionText),d=await w(a,b.agentUuid),f=await (0,l.HC)(a.companyUuid,b.agentUuid,b.connectionUuid);if(!d||!f)throw new A;if(!await (0,l.j8)(a.companyUuid,b.connectionUuid))throw new B(b.connectionUuid);let g=(0,e.randomUUID)(),h=await (0,k.resolveOrCreateSession)({companyUuid:a.companyUuid,agentUuid:b.agentUuid,sessionId:g,directIdeaUuid:null,originConnectionUuid:b.connectionUuid}),i=await q({auth:a,agentUuid:b.agentUuid,sessionUuid:h.uuid,sessionId:g,directIdeaUuid:null,instructionText:c});return r({companyUuid:a.companyUuid,originConnectionUuid:b.connectionUuid,turnUuid:i.uuid}),{session:h,turn:i}}class E extends Error{constructor(){super("Project not found"),this.code="project_not_visible",this.name="ProjectNotVisibleError"}}class F extends Error{constructor(a){super("The chosen connection has no registered agent instance yet. Wait for the daemon to finish its handshake and retry."),this.code="connection_instance_missing",this.name="ConnectionInstanceMissingError",this.connectionUuid=a}}class G extends Error{constructor(a){super(`Project fixed working directory is ${a}`),this.availability=a,this.code="project_cwd_target_unavailable"}}async function u(a,b){let c=b.mode??"elaborate";if(!await w(a,b.agentUuid))throw new A;let d=await f.z.project.findFirst({where:{uuid:b.projectUuid,companyUuid:a.companyUuid},select:{uuid:!0,name:!0}});if(!d)throw new E;let g="user"===a.type?a.actorUuid:(await f.z.agent.findFirst({where:{uuid:a.actorUuid,companyUuid:a.companyUuid},select:{ownerUuid:!0}}))?.ownerUuid;if(!g)throw new A;let i=await (0,m.gt)({companyUuid:a.companyUuid,actorUserUuid:g,projectUuid:d.uuid,agentUuid:b.agentUuid}),j=b.connectionUuid,n=null,p=null,q=null,s=null;if("project_fixed"===i.source){if("ready"!==i.availability||!i.connectionUuid||!i.agentInstanceUuid)throw new G("offline"===i.availability?"offline":"invalid");j=i.connectionUuid,n=i.agentInstanceUuid,p="project_fixed",q=i.host,s=i.cwd}else{if(!await (0,l.HC)(a.companyUuid,b.agentUuid,b.connectionUuid))throw new A;if(!await (0,l.j8)(a.companyUuid,b.connectionUuid))throw new B(b.connectionUuid);let c=await f.z.daemonConnection.findFirst({where:{uuid:b.connectionUuid,companyUuid:a.companyUuid},select:{agentInstanceUuid:!0}});if(!c?.agentInstanceUuid)throw new F(b.connectionUuid);n=c.agentInstanceUuid}let t=b.descriptionText?.trim()??"";if(0===t.length)throw new D("empty");let u=(0,e.randomUUID)(),v=o(function(a){let b=a.projectName?.trim()?`"${a.projectName.trim()}" (projectUuid: ${a.projectUuid})`:`projectUuid: ${a.projectUuid}`;return"decompose"===a.mode?[`[Chorus container-decompose entry] A new CONTAINER idea has been PRE-CREATED for project ${b} from the user's description below, and it is already assigned to you (status: elaborating, isContainer: true).`,` ideaUuid: ${a.ideaUuid}`,"\nThis conversation IS that container idea's root session. The user wants help DECOMPOSING it into child ideas. Do the following, in order:\n1. Edit the container via chorus_edit_idea: derive a concise title from the description and polish the content (keep the user's meaning). The current title is a placeholder.",`2. Ensure it stays a container: it was pre-created with isContainer=true — do NOT clear that flag (a container groups its child ideas and MUST NOT get a proposal of its own).`,`3. Run ONE lightweight elaboration round (chorus_pm_start_elaboration) to clarify the decomposition scope/dimension — how to slice the work into children. Keep it short; you may self-answer in headless or ask the user, then continue.`,`4. Propose the candidate child ideas AS A STRUCTURED ELABORATION ROUND (chorus_pm_start_elaboration) for the user to review/edit/confirm — use ONE elaboration question PER proposed child (the child's title as the question text, a short rationale as its description), single-select. Elaboration questions are single-select and a round is capped at 15 questions, so propose at most 15 candidates per round and NEVER a single multi-select question; if you need more children, propose them across additional rounds. Do NOT create any child ideas yet — this round is the preview the user accepts/edits/declines per child.`,"5. End the turn. The user's answers in the idea's elaboration panel will wake this same conversation (the existing elaboration-answered wake).",`6. On that re-wake, create each ACCEPTED child via chorus_pm_create_idea with parentUuid=${a.ideaUuid}. Each child starts in the "open" state — do NOT auto-elaborate them. The container's OWN status stays "elaborated"; creating children does not advance or alter it.`,"",`Reference reflex: whenever an external link is evidence for this work (a precedent issue/PR, a reference implementation, official docs, a paper/blog), attach it via references — prefer the inline references[] param at creation time over a post-hoc chorus_add_reference.`,"\n--- User's idea description ---",a.descriptionText].join("\n"):[`[Chorus conversational idea entry] A new idea has been PRE-CREATED for project ${b} from the user's description below, and it is already assigned to you (status: elaborating).`,` ideaUuid: ${a.ideaUuid}`,"",`This conversation IS that idea's root session — its elaboration and lifecycle wakes will continue here. Do the following, in order:`,"1. Edit the idea via chorus_edit_idea: derive a concise title from the description and polish the content (keep the user's meaning; you may restructure). The current title is a placeholder.",`2. Immediately start elaboration on the idea (chorus_pm_start_elaboration), following the idea skill — do NOT wait for another wake. Post a short summary of your questions in this conversation and direct the user to answer in the idea's elaboration panel.`,"3. End the turn. The user's panel answers will wake this same conversation.\n",`Reference reflex: whenever an external link is evidence for this idea (a precedent issue/PR, a reference implementation, official docs, a paper/blog), attach it via references — prefer the inline references[] param at creation time over a post-hoc chorus_add_reference.`,"\n--- User's idea description ---",a.descriptionText].join("\n")}({ideaUuid:u,projectUuid:d.uuid,projectName:d.name,descriptionText:t,mode:c})),{ideaRow:x,sessionRow:y,turnRow:z}=await f.z.$transaction(async e=>{let f=await e.idea.create({data:{uuid:u,companyUuid:a.companyUuid,projectUuid:d.uuid,title:function(a){let b=(a??"").split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0===b.length?"-":b.length<=60?b:`${b.slice(0,59)}…`}(t),content:t,isContainer:"decompose"===c,status:"elaborating",assigneeType:"agent_instance",assigneeUuid:n,cwdSource:p,cwdHost:q,runtimeCwd:s,assignedAt:new Date,assignedByType:"agent"===a.type?"agent":"user",assignedByUuid:a.actorUuid,createdByUuid:a.actorUuid},select:{uuid:!0,title:!0,content:!0,status:!0,projectUuid:!0,createdAt:!0}}),g=await e.daemonSession.create({data:{companyUuid:a.companyUuid,agentUuid:b.agentUuid,sessionId:u,directIdeaUuid:u,originConnectionUuid:j,runtimeCwd:s,status:"active"}}),h=await e.daemonSessionTurn.create({data:{sessionUuid:g.uuid,seq:1,trigger:"human_instruction",promptText:v,status:"pending"}});return{ideaRow:f,sessionRow:g,turnRow:h}}),C={uuid:y.uuid,agentUuid:y.agentUuid,sessionId:y.sessionId,backendSessionId:y.backendSessionId,directIdeaUuid:y.directIdeaUuid,originConnectionUuid:y.originConnectionUuid,runtimeCwd:y.runtimeCwd,status:y.status,title:y.title,lastTurnAt:y.lastTurnAt.toISOString(),totalInputTokens:y.totalInputTokens,totalOutputTokens:y.totalOutputTokens,totalCacheReadTokens:y.totalCacheReadTokens,totalCacheCreationTokens:y.totalCacheCreationTokens,createdAt:y.createdAt.toISOString(),updatedAt:y.updatedAt.toISOString()},H={uuid:z.uuid,sessionUuid:z.sessionUuid,backendSessionId:null,seq:z.seq,trigger:z.trigger,promptText:z.promptText,status:z.status,interruptedReason:z.interruptedReason,relayError:z.relayError,usage:null,executionUuid:z.executionUuid,startedAt:z.startedAt?z.startedAt.toISOString():null,endedAt:z.endedAt?z.endedAt.toISOString():null,createdAt:z.createdAt.toISOString()},I={uuid:x.uuid,title:x.title,content:x.content,status:x.status,projectUuid:x.projectUuid,createdAt:x.createdAt.toISOString()};return(0,k.publishTranscriptEvent)({companyUuid:a.companyUuid,sessionUuid:C.uuid,trigger:"turn_created",turn:H,messages:[]}),h.B.emitChange({companyUuid:a.companyUuid,projectUuid:d.uuid,entityType:"idea",entityUuid:I.uuid,action:"created"}),r({companyUuid:a.companyUuid,originConnectionUuid:j,turnUuid:H.uuid}),{idea:I,session:C,turn:H}}async function v(a,b){let c=o(b.instructionText),d=await p(a,b.sessionUuid);if(!d)throw new z;if(await (0,l.j8)(a.companyUuid,d.originConnectionUuid))throw new C(d.originConnectionUuid);if(!await (0,l.HC)(a.companyUuid,d.agentUuid,b.connectionUuid))throw new A;if(!await (0,l.j8)(a.companyUuid,b.connectionUuid))throw new B(b.connectionUuid);await f.z.daemonSession.update({where:{uuid:b.sessionUuid,companyUuid:a.companyUuid},data:{originConnectionUuid:b.connectionUuid}});let e=await q({auth:a,agentUuid:d.agentUuid,sessionUuid:b.sessionUuid,sessionId:d.sessionId,directIdeaUuid:d.directIdeaUuid,instructionText:c});r({companyUuid:a.companyUuid,originConnectionUuid:b.connectionUuid,turnUuid:e.uuid});let g=await f.z.daemonSession.findUnique({where:{uuid:b.sessionUuid}});if(!g)throw Error(`repointSessionOriginAndSend: session ${b.sessionUuid} missing after re-point`);return{session:{uuid:g.uuid,agentUuid:g.agentUuid,sessionId:g.sessionId,backendSessionId:g.backendSessionId,directIdeaUuid:g.directIdeaUuid,originConnectionUuid:g.originConnectionUuid,runtimeCwd:g.runtimeCwd,status:g.status,title:g.title,lastTurnAt:g.lastTurnAt.toISOString(),totalInputTokens:g.totalInputTokens,totalOutputTokens:g.totalOutputTokens,totalCacheReadTokens:g.totalCacheReadTokens,totalCacheCreationTokens:g.totalCacheCreationTokens,createdAt:g.createdAt.toISOString(),updatedAt:g.updatedAt.toISOString()},turn:e}}async function w(a,b){return"agent"===a.type?b===a.actorUuid:await f.z.agent.count({where:{uuid:b,companyUuid:a.companyUuid,ownerUuid:a.actorUuid}})>0}async function x(a){let b=await (0,k.getVisibleSessions)(a);if(0===b.length)return[];let c=[...new Set(b.map(a=>a.originConnectionUuid))],d=await f.z.daemonConnection.findMany({where:{companyUuid:a.companyUuid,uuid:{in:c}},select:{uuid:!0,status:!0,lastSeenAt:!0}}),e=Date.now(),g=new Set(d.filter(a=>"online"===a.status&&e-a.lastSeenAt.getTime()<=k.STALE_THRESHOLD_MS).map(a=>a.uuid)),h=[...new Set(b.map(a=>a.directIdeaUuid).filter(a=>!!a))],i=(0,k.getFirstInstructionBySessionUuid)(b.map(a=>a.uuid)),j=h.length>0?f.z.idea.findMany({where:{companyUuid:a.companyUuid,uuid:{in:h}},select:{uuid:!0,title:!0}}):Promise.resolve([]),l=await i,m=await j,n=new Map(m.map(a=>[a.uuid,a.title]));return b.map(a=>({...a,originOnline:g.has(a.originConnectionUuid),firstInstruction:l.get(a.uuid)??null,ideaTitle:a.directIdeaUuid?n.get(a.directIdeaUuid)??null:null}))}d()}catch(a){d(a)}})},71165:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AY:()=>N,Cm:()=>P,Ew:()=>H,Fp:()=>A,IM:()=>O,K4:()=>w,LQ:()=>C,Pf:()=>D,QK:()=>z,QL:()=>K,UT:()=>x,Vk:()=>u,_T:()=>E,cn:()=>F,gg:()=>v,j9:()=>L,lC:()=>y,vQ:()=>M,vq:()=>B,xI:()=>o});var e=c(52618),f=c(76872),g=c(42558),h=c(48873),i=c(54349),j=c(90494),k=c(88437),l=c(65582),m=c(68775),n=a([e,f,i,j,k]);[e,f,i,j,k]=n.then?(await n)():n;let Q={open:["assigned","closed"],assigned:["open","in_progress","closed"],in_progress:["to_verify","closed"],to_verify:["done","in_progress","closed"],done:["closed"],closed:[]};function o(a,b){return(Q[a]||[]).includes(b)}let R={total:0,required:0,passed:0,failed:0,pending:0,requiredPassed:0,requiredFailed:0,requiredPending:0};function p(a){if(0===a.length)return{status:"not_started",summary:{...R}};let b={...R,total:a.length};for(let c of a)c.required&&b.required++,"passed"===c.status?(b.passed++,c.required&&b.requiredPassed++):"failed"===c.status?(b.failed++,c.required&&b.requiredFailed++):(b.pending++,c.required&&b.requiredPending++);return b.requiredFailed>0?{status:"failed",summary:b}:b.requiredPassed===b.required&&b.required>0?{status:"passed",summary:b}:b.passed>0||b.failed>0?{status:"in_progress",summary:b}:{status:"not_started",summary:b}}function q(a){return{uuid:a.uuid,description:a.description,required:a.required,devStatus:a.devStatus,devEvidence:a.devEvidence,devMarkedByType:a.devMarkedByType,devMarkedBy:a.devMarkedBy,devMarkedAt:a.devMarkedAt?.toISOString()??null,status:a.status,evidence:a.evidence,markedByType:a.markedByType,markedBy:a.markedBy,markedAt:a.markedAt?.toISOString()??null,sortOrder:a.sortOrder}}async function r(a,b,c,d){if(!d)return{assigneeType:b,assigneeUuid:c};let f=await e.z.agentInstance.findFirst({where:{uuid:d,companyUuid:a},select:{uuid:!0}});if(!f)throw Error("Agent instance not found");return{assigneeType:"agent_instance",assigneeUuid:f.uuid}}async function s(a,b=0){let[c,d]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid,a.assignedByType,a.companyUuid),(0,f.LS)(a.createdByUuid)]),e=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),g=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),h=(a.acceptanceCriteriaItems||[]).map(q),{status:i,summary:j}=p(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:h,acceptanceStatus:i,acceptanceSummary:j,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:e,dependedBy:g,commentCount:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function t(a,b){if(0===a.length)return[];let c=[],d=[],e=[];for(let b of a)b.assigneeType&&b.assigneeUuid&&(c.push({type:b.assigneeType,uuid:b.assigneeUuid}),"agent_instance"===b.assigneeType&&e.push(b.assigneeUuid)),d.push(b.createdByUuid);let[g,h,i,j]=await Promise.all([(0,f.Uo)(c),(0,f.Xx)(d),(0,f.dI)(e),(0,f.O3)(a[0].companyUuid,a.map(a=>({assignedByType:a.assignedByType,assignedByUuid:a.assignedByUuid})))]);return a.map((a,c)=>{let d=null;if(a.assigneeType&&a.assigneeUuid){let b=g.get(a.assigneeUuid);if(b){let e=j[c],f="agent_instance"===a.assigneeType?i.get(a.assigneeUuid):void 0;d={type:a.assigneeType,uuid:a.assigneeUuid,name:b,assignedAt:a.assignedAt?.toISOString()??null,assignedBy:e,...f?{instance:f}:{}}}}let e=h.get(a.createdByUuid)??null,f=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),k=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),l=(a.acceptanceCriteriaItems||[]).map(q),{status:m,summary:n}=p(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:l,acceptanceStatus:m,acceptanceSummary:n,assignee:d,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:e,dependsOn:f,dependedBy:k,commentCount:b[a.uuid]??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})}let S={dependsOn:{select:{dependsOn:{select:{uuid:!0,title:!0,status:!0}}}},dependedBy:{select:{task:{select:{uuid:!0,title:!0,status:!0}}}},acceptanceCriteriaItems:{orderBy:{sortOrder:"asc"}}};async function u({companyUuid:a,projectUuid:b,skip:c,take:d,status:f,priority:g,proposalUuids:h}){let j={projectUuid:b,companyUuid:a,...f&&{status:f},...g&&{priority:g},...h&&h.length>0&&{proposalUuid:{in:h}}},[k,l]=await Promise.all([e.z.task.findMany({where:j,skip:c,take:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,companyUuid:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByType:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...S}}),e.z.task.count({where:j})]),m=await (0,i.uA)(a,"task",k.map(a=>a.uuid));return{tasks:await t(k,m),total:l}}async function v(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}},...S}});if(!c)return null;let d=await e.z.comment.count({where:{companyUuid:a,targetType:"task",targetUuid:b}});return s(c,d)}async function w(a,b){return e.z.task.findFirst({where:{uuid:b,companyUuid:a}})}async function x(a){let b=await e.z.task.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description,status:"open",priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,companyUuid:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByType:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"task",entityUuid:b.uuid,action:"created"}),s(b)}async function y(a,b,c){let d=null;if(void 0!==b.description&&c){let b=await e.z.task.findUnique({where:{uuid:a},select:{description:!0}});d=b?.description??null}let f=await e.z.$transaction(async c=>{if(b.status&&"done"!==b.status){let b=await c.task.findUnique({where:{uuid:a},select:{status:!0}});b?.status==="to_verify"&&await c.acceptanceCriterion.updateMany({where:{taskUuid:a},data:{status:"pending",evidence:null,markedByType:null,markedBy:null,markedAt:null,devStatus:"pending",devEvidence:null,devMarkedByType:null,devMarkedBy:null,devMarkedAt:null}})}return c.task.update({where:{uuid:a},data:b,include:{project:{select:{uuid:!0,name:!0}}}})});return g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.project.uuid,entityType:"task",entityUuid:f.uuid,action:"updated"}),void 0!==b.description&&c&&b.description&&I(f.companyUuid,f.project.uuid,"task",f.uuid,f.title,d,b.description,c.actorType,c.actorUuid).catch(a=>l.default.error({err:a},"Failed to process task mentions")),s(f)}async function z({taskUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f,assignedByType:i,instanceUuid:j,cwdSource:k,cwdHost:l,runtimeCwd:m}){try{let h=await r(b,c,d,j),n=function(a,b){if(!a&&!b)return{};if(!a||!b)throw Error("Assignment provenance type and UUID must be provided together");return{assignedByType:a,assignedByUuid:b}}(i,f),o=await e.z.task.update({where:{uuid:a,status:{in:["open","assigned"]}},data:{status:"assigned",assigneeType:h.assigneeType,assigneeUuid:h.assigneeUuid,cwdSource:m&&k?.trim()?k:null,cwdHost:m?l:null,runtimeCwd:m??null,assignedAt:new Date,...n},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:o.companyUuid,projectUuid:o.project.uuid,entityType:"task",entityUuid:o.uuid,action:"updated"}),s(o)}catch(a){if((0,h.Ik)(a))throw new h.Yy("Task");throw a}}async function A(a){try{let b=await e.z.task.update({where:{uuid:a,status:"assigned"},data:{status:"open",assigneeType:null,assigneeUuid:null,cwdSource:null,cwdHost:null,runtimeCwd:null,assignedAt:null,assignedByType:null,assignedByUuid:null},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),s(b)}catch(a){if((0,h.Ik)(a))throw new h.nm("Task");throw a}}async function B(a){let b=await e.z.task.delete({where:{uuid:a}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.projectUuid,entityType:"task",entityUuid:b.uuid,action:"deleted"}),b}async function C(a,b){if(0===b.length)return[];let c=b.map((b,c)=>e.z.acceptanceCriterion.create({data:{taskUuid:a,description:b.description,required:b.required??!0,sortOrder:b.sortOrder??c}}));return(await Promise.all(c)).map(q)}async function D(a,b,c){let d=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!d)throw Error("Task not found");if(!(0,m.hY)(c))throw Error(m.se);let f=(0,m.Ch)(c),h=await e.z.$transaction(async a=>(await a.acceptanceCriterion.deleteMany({where:{taskUuid:b}}),f.length>0&&await a.acceptanceCriterion.createMany({data:f.map((a,c)=>({taskUuid:b,description:a.description,required:a.required,sortOrder:c}))}),a.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}})));return g.B.emitChange({companyUuid:a,projectUuid:d.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),h.map(q)}async function E(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{status:a.status,evidence:a.evidence??null,markedByType:d.type,markedBy:d.actorUuid,markedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),G(a,b)}async function F(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{devStatus:a.devStatus,devEvidence:a.devEvidence??null,devMarkedByType:d.type,devMarkedBy:d.actorUuid,devMarkedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),G(a,b)}async function G(a,b){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");let c=await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}}),d=c.map(q),{status:f,summary:g}=p(c);return{items:d,status:f,summary:g}}async function H(a){let b=await e.z.acceptanceCriterion.findMany({where:{taskUuid:a},orderBy:{sortOrder:"asc"}});if(0===b.length||b.filter(a=>a.required).every(a=>"passed"===a.status))return{allowed:!0};let{summary:c}=p(b),d=b.filter(a=>a.required&&"passed"!==a.status).map(q);return{allowed:!1,reason:`Not all required acceptance criteria are passed. Required: ${c.required}, Passed: ${c.requiredPassed}, Failed: ${c.requiredFailed}, Pending: ${c.requiredPending}`,summary:c,unresolvedCriteria:d}}async function I(a,b,c,d,e,f,g,h,i){let l=f?j.Xs(f):[],m=j.Xs(g),n=new Set(l.map(a=>`${a.type}:${a.uuid}`)),o=m.filter(a=>!n.has(`${a.type}:${a.uuid}`));if(0!==o.length)for(let f of(await j.AM({companyUuid:a,sourceType:c,sourceUuid:d,content:g,actorType:h,actorUuid:i,projectUuid:b,entityTitle:e}),o))(f.type!==h||f.uuid!==i)&&await k.createActivity({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:h,actorUuid:i,action:"mentioned",value:{mentionedType:f.type,mentionedUuid:f.uuid,mentionedName:f.displayName,sourceType:c,sourceUuid:d}})}async function J(a,b){let c=await e.z.taskDependency.findMany({select:{taskUuid:!0,dependsOnUuid:!0}}),d=new Map;for(let a of c)d.has(a.taskUuid)||d.set(a.taskUuid,[]),d.get(a.taskUuid).push(a.dependsOnUuid);let f=new Set,g=[a];for(;g.length>0;){let a=g.pop();if(a===b)return!0;if(!f.has(a))for(let b of(f.add(a),d.get(a)||[]))f.has(b)||g.push(b)}return!1}async function K(a,b,c){if(b===c)throw Error("A task cannot depend on itself");let[d,f]=await Promise.all([e.z.task.findFirst({where:{uuid:b,companyUuid:a}}),e.z.task.findFirst({where:{uuid:c,companyUuid:a}})]);if(!d)throw Error("Task not found");if(!f)throw Error("Dependency task not found");if(d.projectUuid!==f.projectUuid)throw Error("Tasks must belong to the same project");if(await J(c,b))throw Error("Adding this dependency would create a cycle");let h=await e.z.taskDependency.create({data:{taskUuid:b,dependsOnUuid:c}});return g.B.emitChange({companyUuid:d.companyUuid,projectUuid:d.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.projectUuid,entityType:"task",entityUuid:c,action:"updated"}),{taskUuid:h.taskUuid,dependsOnUuid:h.dependsOnUuid,createdAt:h.createdAt}}async function L(a,b,c){let d=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!d)throw Error("Task not found");let f=await e.z.task.findFirst({where:{uuid:c,companyUuid:a}});await e.z.taskDependency.deleteMany({where:{taskUuid:b,dependsOnUuid:c}}),g.B.emitChange({companyUuid:d.companyUuid,projectUuid:d.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),f&&g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.projectUuid,entityType:"task",entityUuid:c,action:"updated"})}async function M(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:S});if(!c)throw Error("Task not found");return{dependsOn:c.dependsOn.map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),dependedBy:c.dependedBy.map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status}))}}async function N({companyUuid:a,projectUuid:b,proposalUuids:c,skip:d,take:f}){let g={projectUuid:b,companyUuid:a,status:{in:["open","assigned"]},...c&&c.length>0&&{proposalUuid:{in:c}},NOT:{dependsOn:{some:{dependsOn:{status:{notIn:["done","closed"]}}}}}},[h,j]=await Promise.all([e.z.task.findMany({where:g,skip:d,take:f,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,companyUuid:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByType:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...S}}),e.z.task.count({where:g})]),k=await (0,i.uA)(a,"task",h.map(a=>a.uuid));return{tasks:await t(h,k),total:j}}async function O(a){let b=await e.z.taskDependency.findMany({where:{taskUuid:a},select:{dependsOn:{select:{uuid:!0,title:!0,status:!0,assigneeType:!0,assigneeUuid:!0}}}});if(0===b.length)return{resolved:!0,blockers:[]};let c=b.filter(a=>"done"!==a.dependsOn.status&&"closed"!==a.dependsOn.status);if(0===c.length)return{resolved:!0,blockers:[]};let d=c.map(a=>a.dependsOn.uuid),[g,h]=await Promise.all([e.z.sessionTaskCheckin.findMany({where:{taskUuid:{in:d},checkoutAt:null},select:{taskUuid:!0,sessionUuid:!0,session:{select:{name:!0}}}}),(0,f.Uo)(c.filter(a=>a.dependsOn.assigneeType&&a.dependsOn.assigneeUuid).map(a=>({type:a.dependsOn.assigneeType,uuid:a.dependsOn.assigneeUuid})))]),i=new Map;for(let a of g)i.set(a.taskUuid,{sessionUuid:a.sessionUuid,sessionName:a.session.name});let j=c.map(a=>{let b=a.dependsOn,c=null;if(b.assigneeType&&b.assigneeUuid){let a=h.get(b.assigneeUuid);a&&(c={type:b.assigneeType,uuid:b.assigneeUuid,name:a})}return{uuid:b.uuid,title:b.title,status:b.status,assignee:c,sessionCheckin:i.get(b.uuid)??null}});return{resolved:!1,blockers:j}}async function P(a,b){let[c,d]=await Promise.all([e.z.task.findMany({where:{companyUuid:a,projectUuid:b},select:{uuid:!0,title:!0,status:!0,priority:!0,proposalUuid:!0}}),e.z.taskDependency.findMany({where:{task:{companyUuid:a,projectUuid:b}},select:{taskUuid:!0,dependsOnUuid:!0}})]);return{nodes:c.map(a=>({uuid:a.uuid,title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null})),edges:d.map(a=>({from:a.taskUuid,to:a.dependsOnUuid}))}}d()}catch(a){d(a)}})},77716:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{V:()=>h});var e=c(52618),f=c(76872),g=a([e,f]);async function h(a,b,c){let d=null;if("idea"===b)d=await e.z.idea.findFirst({where:{uuid:c,companyUuid:a},select:{assignedByType:!0,assignedByUuid:!0}});else{if("task"!==b)return null;d=await e.z.task.findFirst({where:{uuid:c,companyUuid:a},select:{assignedByType:!0,assignedByUuid:!0}})}if(!d?.assignedByUuid||"user"===d.assignedByType)return null;let g=await (0,f.b)(a,d.assignedByType,d.assignedByUuid);return g?.type==="agent"?{type:"agent",uuid:g.uuid,name:g.name}:null}[e,f]=g.then?(await g)():g,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:()=>q,Xs:()=>p,_L:()=>x});var e=c(52618),f=c(76872),g=c(37943),h=c(25736),i=c(97515),j=c(93419),k=c(81722),l=a([e,f,g,i,j,k]);[e,f,g,i,j,k]=l.then?(await l)():l;let z=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi;async function m(a,b,c){if("user"===b)return c;let d=await e.z.agent.findFirst({where:{uuid:c,companyUuid:a},select:{ownerUuid:!0}});return d?.ownerUuid??null}async function n(a,b,c){return"idea"===b?(await e.z.idea.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}}))?.projectUuid??null:"task"===b?(await e.z.task.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}}))?.projectUuid??null:"proposal"===b?(await e.z.proposal.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}}))?.projectUuid??null:(await e.z.document.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}}))?.projectUuid??null}async function o(a){let b=await m(a.companyUuid,a.actorType,a.actorUuid);if(!b)return null;let d=null,g=null,h=null,i=null;if(a.entityType&&a.entityUuid){let{resolveRootIdea:b}=await Promise.resolve().then(c.bind(c,35205)),{directIdeaUuid:j}=await b(a.companyUuid,a.entityType,a.entityUuid);if(j){let b=await e.z.idea.findFirst({where:{uuid:j,companyUuid:a.companyUuid},select:{assigneeType:!0,assigneeUuid:!0,cwdSource:!0,cwdHost:!0,runtimeCwd:!0}}),c=b?await (0,f.wo)(a.companyUuid,b.assigneeType,b.assigneeUuid):null;b?.assigneeType==="agent_instance"&&b.assigneeUuid&&c===a.agentUuid&&(d=b.assigneeUuid,g="project_fixed"===b.cwdSource?"project_fixed":"registered_instance",h=b.cwdHost,i=b.runtimeCwd)}}return(0,k.gt)({companyUuid:a.companyUuid,actorUserUuid:b,projectUuid:a.projectUuid,agentUuid:a.agentUuid,registeredInstanceUuid:d,registeredSource:g,registeredHost:h,registeredRuntimeCwd:i})}function p(a){let b,c=[],d=new Set;for(z.lastIndex=0;null!==(b=z.exec(a))&&!(c.length>=10);){let a=b[1],e=b[2].toLowerCase(),f=b[3].toLowerCase(),{pinnedHost:g,pinnedCwd:i,runtimeCwd:j}=(0,h.vE)(b[4]),k=`${e}:${f}`;if(!d.has(k)){d.add(k);let b={type:e,uuid:f,displayName:a};(null!==g||null!==i)&&(b.pinnedHost=g,b.pinnedCwd=i,j&&(b.runtimeCwd=!0)),c.push(b)}}return c}async function q(a){let{companyUuid:b,sourceType:c,sourceUuid:d,content:h,actorType:i,actorUuid:j,projectUuid:k,entityTitle:l}=a,m=p(h);if(0===m.length)return;let n=m.filter(a=>a.type!==i||a.uuid!==j);if(0===n.length)return;let q=[];for(let a of n)await y(b,a.type,a.uuid)&&q.push(a);if(0===q.length)return;await e.z.mention.createMany({data:q.map(a=>({companyUuid:b,sourceType:c,sourceUuid:d,mentionedType:a.type,mentionedUuid:a.uuid,actorType:i,actorUuid:j}))});let r=await (0,f.lR)(i,j)??"Someone",s=await e.z.project.findUnique({where:{uuid:k},select:{name:!0}}),t=s?.name??"Unknown Project",u=function(a){let b=a.replace(z,"@$1");return b.length<=120?b:b.substring(0,117)+"..."}(h),v=c,w=d;if("comment"===c){let a=await e.z.comment.findUnique({where:{uuid:d},select:{targetType:!0,targetUuid:!0}});a&&(v=a.targetType,w=a.targetUuid)}let x=[];for(let a of q){if(!(await g.lX(b,a.type,a.uuid)).mentioned)continue;let c=`${r} mentioned you: "${u}"`,d=void 0!==a.pinnedHost||void 0!==a.pinnedCwd,e="agent"!==a.type||d&&!0!==a.runtimeCwd?null:await o({companyUuid:b,actorType:i,actorUuid:j,projectUuid:k,agentUuid:a.uuid,entityType:!0===a.runtimeCwd?void 0:["idea","task","proposal","document"].includes(v)?v:void 0,entityUuid:!0===a.runtimeCwd?void 0:w});x.push({companyUuid:b,projectUuid:k,recipientType:a.type,recipientUuid:a.uuid,entityType:v,entityUuid:w,entityTitle:l,projectName:t,action:"mentioned",message:c,actorType:i,actorUuid:j,actorName:r,pinnedHost:a.pinnedHost,pinnedCwd:a.pinnedCwd,...e?.source==="project_fixed"?{resolvedCwdSource:e.source,resolvedCwdHost:e.host,resolvedRuntimeCwd:e.cwd,resolvedCwdAvailability:e.availability}:e?.source==="registered_instance"?{pinnedHost:e.host,pinnedCwd:e.cwd}:{}})}x.length>0&&await g.Xm(x)}function r(a){return"agent"===a.type?+!a.online:2}function s(a,b){let c=r(a),d=r(b);if(c!==d)return c-d;if(0===c){let c=a.activeCount??0,d=b.activeCount??0;return c!==d?c-d:a.name.localeCompare(b.name)}return 0}async function t(a,b){let c=b.filter(a=>"agent"===a.type).map(a=>a.uuid);if(0===c.length)return;let d=Date.now(),f=await e.z.daemonConnection.findMany({where:{companyUuid:a,agentUuid:{in:c}},select:{agentUuid:!0,status:!0,lastSeenAt:!0}}),g=new Set;for(let a of f){let b=d-a.lastSeenAt.getTime()<=i.BP;"online"===a.status&&b&&g.add(a.agentUuid)}let h=await e.z.daemonExecution.groupBy({by:["agentUuid"],where:{companyUuid:a,agentUuid:{in:c},status:{in:[...j.PF]}},_count:{_all:!0}}),k=new Map;for(let a of h)k.set(a.agentUuid,a._count._all);for(let a of b){if("agent"!==a.type)continue;let b=g.has(a.uuid);a.online=b,a.activeCount=b?k.get(a.uuid)??0:0}}async function u(a,b){let c=b.filter(a=>"agent"===a.type);if(0===c.length)return;let d=await Promise.all(c.map(async b=>{let c=(await (0,i._R)(a,b.uuid)).map(a=>({connectionUuid:a.uuid,host:a.host,cwd:a.cwd,effectiveStatus:a.effectiveStatus}));return{uuid:b.uuid,instances:c}})),e=new Map;for(let{uuid:a,instances:b}of d)e.set(a,b);for(let a of b)"agent"===a.type&&(a.instances=e.get(a.uuid)??[])}async function v(a,b,d,g){if(!b.some(a=>"agent"===a.type))return;let{resolveRootIdea:h}=await Promise.resolve().then(c.bind(c,35205)),{directIdeaUuid:i}=await h(a,d,g);if(!i)return;let j=await e.z.idea.findFirst({where:{uuid:i,companyUuid:a},select:{assigneeType:!0,assigneeUuid:!0}});if(!j)return;let k=await (0,f.wo)(a,j.assigneeType,j.assigneeUuid),l="agent_instance"===j.assigneeType?await (0,f.Vj)(j.assigneeType,j.assigneeUuid):null;for(let a of b){if("agent"!==a.type)continue;let b=null!==k&&a.uuid===k;a.isIdeaAssignee=b,b&&l&&j.assigneeUuid&&(a.ideaPin={host:l.host,cwd:l.cwd,agentInstanceUuid:j.assigneeUuid})}}async function w(a){let b=a.results.filter(a=>"agent"===a.type);if(0===b.length)return;let c="user"===a.actorType?a.actorUuid:a.ownerUuid;if(!c)return;let d=await n(a.companyUuid,a.entityType,a.entityUuid);if(!d)return;let f=await e.z.projectAgentCwdPreference.findMany({where:{companyUuid:a.companyUuid,userUuid:c,projectUuid:d,agentUuid:{in:b.map(a=>a.uuid)}},select:{agentUuid:!0,host:!0,cwd:!0}}),g=new Map(f.map(a=>[a.agentUuid,a]));for(let a of b){let b=g.get(a.uuid);if(!b)continue;let c=(a.instances??[]).some(a=>a.host===b.host&&"online"===a.effectiveStatus);a.projectFixedCwd={host:b.host,cwd:b.cwd,availability:b.host&&b.cwd?c?"ready":"offline":"invalid"}}}async function x(a){let b,{companyUuid:c,query:d,actorType:f,actorUuid:g,ownerUuid:h,limit:i=10,withInstances:j=!1,entityType:k,entityUuid:l}=a,m=!!k&&!!l,n=Math.min(i,50),o=[];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:n})))o.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});await t(c,o),o.sort(s);let a=o.slice(0,Math.min(5,n));return j&&await u(c,a),m&&(await v(c,a,k,l),await w({companyUuid:c,actorType:f,actorUuid:g,ownerUuid:h,results:a,entityType:k,entityUuid:l})),a}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:n})))o.push({type:"user",uuid:a.uuid,name:a.name??a.email??"Unknown",email:a.email,avatarUrl:a.avatarUrl});let p={companyUuid:c,name:{contains:d,mode:"insensitive"}};for(let a of(b&&(p.ownerUuid=b),await e.z.agent.findMany({where:p,select:{uuid:!0,name:!0,roles:!0},take:n})))o.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});await t(c,o),o.sort(s);let q=o.slice(0,n);return j&&await u(c,q),m&&(await v(c,q,k,l),await w({companyUuid:c,actorType:f,actorUuid:g,ownerUuid:h,results:q,entityType:k,entityUuid:l})),q}async function y(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)}})}};
@@ -0,0 +1 @@
1
+ exports.id=1267,exports.ids=[1267],exports.modules={13480:(a,b,c)=>{"use strict";c.d(b,{ProgressProvider:()=>f});var d=c(10837),e=c(73370);function f({children:a}){return(0,d.jsx)(e.V,{height:"3px",color:"hsl(var(--primary))",delay:120,options:{showSpinner:!1},disableSameURL:!0,shallowRouting:!0,children:a})}},15414:(a,b,c)=>{Promise.resolve().then(c.bind(c,13480)),Promise.resolve().then(c.bind(c,54426)),Promise.resolve().then(c.bind(c,58857))},18421:(a,b,c)=>{var d={"./en.json":[50920,920],"./ja.json":[67530,7530],"./ko.json":[59213,9213],"./zh.json":[86113,6113]};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=18421,a.exports=e},32376:()=>{},33367:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(10948);let e=async a=>[{type:"image/x-icon",sizes:"256x256",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+""}]},35198:(a,b,c)=>{"use strict";c.d(b,{BT:()=>i,Wu:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g});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-content",className:(0,e.cn)("px-6",a),...b})}},40340:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(10023),e=c(28103),f=c.n(e),g=c(85355),h=c.n(g),i=c(69187),j=c(48600),k=c(92522);c(32376);let l={title:{default:"Chorus",template:"%s | Chorus"},description:"AI Agent & Human collaboration platform for the AI-Driven Development Lifecycle",openGraph:{title:"Chorus",description:"AI Agent & Human collaboration platform for the AI-Driven Development Lifecycle",type:"website",siteName:"Chorus"}};function m({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased`,children:(0,d.jsx)(j.ThemeProvider,{children:(0,d.jsx)(k.ProgressProvider,{children:(0,d.jsx)(i.LocaleProvider,{children:a})})})})})}},42424:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(10837);c(21968);var e=c(35973),f=c(11156),g=c(96307);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})}},48600:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider 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/runner/work/Chorus/Chorus/src/components/theme-provider.tsx","ThemeProvider")},52366:(a,b,c)=>{Promise.resolve().then(c.bind(c,92522)),Promise.resolve().then(c.bind(c,48600)),Promise.resolve().then(c.bind(c,69187))},54426:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>f});var d=c(10837),e=c(25065);function f({children:a,...b}){return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,storageKey:"chorus-theme",disableTransitionOnChange:!0,...b,children:a})}},54722:(a,b,c)=>{"use strict";c.d(b,{q:()=>g});let d={debug:0,info:1,warn:2,error:3},e=process.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function f(a){return d[a]>=d[e]}let g={debug:(a,...b)=>{f("debug")&&console.debug(`[Chorus] ${a}`,...b)},info:(a,...b)=>{f("info")&&console.info(`[Chorus] ${a}`,...b)},warn:(a,...b)=>{f("warn")&&console.warn(`[Chorus] ${a}`,...b)},error:(a,...b)=>{f("error")&&console.error(`[Chorus] ${a}`,...b)}}},58857:(a,b,c)=>{"use strict";c.d(b,{LocaleProvider:()=>j,Y:()=>i});var d=c(10837),e=c(21968),f=c(13256),g=c(97553);c(54722);let h=(0,e.createContext)(null);function i(){let a=(0,e.useContext)(h);if(!a)throw Error("useLocale must be used within LocaleProvider");return a}function j({children:a}){let[b,c]=(0,e.useState)(g.q),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(!1),m=(0,e.useCallback)(a=>{c(a),localStorage.setItem("chorus-locale",a),document.cookie=`chorus-locale=${a};path=/;max-age=31536000;SameSite=Lax`,document.documentElement.lang=a},[]);return k&&i?(0,d.jsx)(h.Provider,{value:{locale:b,setLocale:m},children:(0,d.jsx)(f.A,{locale:b,messages:i,children:a})}):null}},68884:(a,b,c)=>{"use strict";c.d(b,{r:()=>f});var d=c(73370),e=c(21968);function f(){let a=(0,d.r)({delay:120});return(0,e.useMemo)(()=>({...a,refresh:()=>a.refresh({showProgress:!1})}),[a])}},69187:(a,b,c)=>{"use strict";c.d(b,{LocaleProvider:()=>e});var d=c(37143);(0,d.registerClientReference)(function(){throw Error("Attempted to call useLocale() from the server but useLocale 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/runner/work/Chorus/Chorus/src/contexts/locale-context.tsx","useLocale");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call LocaleProvider() from the server but LocaleProvider 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/runner/work/Chorus/Chorus/src/contexts/locale-context.tsx","LocaleProvider")},84125:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,16885,23)),Promise.resolve().then(c.t.bind(c,30892,23)),Promise.resolve().then(c.t.bind(c,89410,23)),Promise.resolve().then(c.t.bind(c,99349,23)),Promise.resolve().then(c.t.bind(c,41105,23)),Promise.resolve().then(c.t.bind(c,89065,23)),Promise.resolve().then(c.t.bind(c,403,23)),Promise.resolve().then(c.t.bind(c,33532,23)),Promise.resolve().then(c.bind(c,41905))},88861:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,29723,23)),Promise.resolve().then(c.t.bind(c,31706,23)),Promise.resolve().then(c.t.bind(c,75324,23)),Promise.resolve().then(c.t.bind(c,20227,23)),Promise.resolve().then(c.t.bind(c,2931,23)),Promise.resolve().then(c.t.bind(c,17531,23)),Promise.resolve().then(c.t.bind(c,69357,23)),Promise.resolve().then(c.t.bind(c,69442,23)),Promise.resolve().then(c.t.bind(c,99875,23))},92522:(a,b,c)=>{"use strict";c.d(b,{ProgressProvider:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call ProgressProvider() from the server but ProgressProvider 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/runner/work/Chorus/Chorus/src/components/progress-provider.tsx","ProgressProvider")},96307:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(25335),e=c(30393);function f(...a){return(0,e.QP)((0,d.$)(a))}},97553:(a,b,c)=>{"use strict";c.d(b,{AL:()=>g,IB:()=>d,L$:()=>f,q:()=>e});let d=["en","zh","ko","ja"],e="en",f={en:"English",zh:"中文",ko:"한국어",ja:"日本語"};function g(){if("undefined"==typeof navigator)return e;let a=navigator.language.split("-")[0];return d.includes(a)?a:e}}};