@chorus-aidlc/chorus 0.16.2 → 0.16.3

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 (420) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +422 -411
  3. package/.next/standalone/.next/app-path-routes-manifest.json +48 -48
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +36 -36
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
  161. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  176. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  197. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  235. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  238. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  241. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  244. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  246. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  247. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  255. package/.next/standalone/.next/server/app/index.html +2 -2
  256. package/.next/standalone/.next/server/app/index.rsc +2 -2
  257. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  258. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  259. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  260. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  261. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  262. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  263. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  264. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  266. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  267. package/.next/standalone/.next/server/app/login.html +2 -2
  268. package/.next/standalone/.next/server/app/login.rsc +2 -2
  269. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  270. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  273. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  274. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/projects.html +2 -2
  276. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  277. package/.next/standalone/.next/server/app/settings.html +2 -2
  278. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  279. package/.next/standalone/.next/server/app-paths-manifest.json +48 -48
  280. package/.next/standalone/.next/server/chunks/1114.js +1 -0
  281. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  282. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  283. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  284. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  285. package/.next/standalone/.next/server/chunks/3594.js +1 -1
  286. package/.next/standalone/.next/server/chunks/4394.js +1 -1
  287. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  288. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  289. package/.next/standalone/.next/server/chunks/5351.js +1 -1
  290. package/.next/standalone/.next/server/chunks/{4011.js → 5489.js} +4 -4
  291. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  292. package/.next/standalone/.next/server/chunks/6506.js +1 -1
  293. package/.next/standalone/.next/server/chunks/6667.js +1 -1
  294. package/.next/standalone/.next/server/chunks/6995.js +1 -1
  295. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  296. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  297. package/.next/standalone/.next/server/chunks/8044.js +1 -0
  298. package/.next/standalone/.next/server/chunks/920.js +1 -1
  299. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  300. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  301. package/.next/standalone/.next/server/chunks/951.js +1 -1
  302. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  303. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  304. package/.next/standalone/.next/server/pages/404.html +2 -2
  305. package/.next/standalone/.next/server/pages/500.html +1 -1
  306. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  307. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  308. package/.next/standalone/.next/static/chunks/11595.97e534422c57aee1.js +1 -0
  309. package/.next/standalone/.next/static/chunks/17099-936da9caf4c119b8.js +1 -0
  310. package/.next/standalone/.next/static/chunks/18609-6c859f756d530e94.js +1 -0
  311. package/.next/standalone/.next/static/chunks/19887-c0bb297a78a1c7cd.js +1 -0
  312. package/.next/standalone/.next/static/chunks/20204-90d655ea14281e10.js +1 -0
  313. package/.next/standalone/.next/static/chunks/{53402-a54163001f3d953a.js → 27370-c056dee2016c9124.js} +1 -1
  314. package/.next/standalone/.next/static/chunks/{29108-b9b232255811ffa8.js → 29108-5a11eea003f4cc11.js} +1 -1
  315. package/.next/standalone/.next/static/chunks/29305-f587e7e81bc0b200.js +10 -0
  316. package/.next/standalone/.next/static/chunks/33456.6dc44a6aca1a01fd.js +1 -0
  317. package/.next/standalone/.next/static/chunks/35432-5c245212c7595169.js +1 -0
  318. package/.next/standalone/.next/static/chunks/45024-eb7c062d13d9fe08.js +1 -0
  319. package/.next/standalone/.next/static/chunks/46294-6ae5bd0480b1820f.js +1 -0
  320. package/.next/standalone/.next/static/chunks/4860.7873ebc9ba435c8c.js +1 -0
  321. package/.next/standalone/.next/static/chunks/53073-a7ed20af6538a178.js +1 -0
  322. package/.next/standalone/.next/static/chunks/65096-f756aac39efad7a3.js +1 -0
  323. package/.next/standalone/.next/static/chunks/6603-e70ddeab6ad09c50.js +1 -0
  324. package/.next/standalone/.next/static/chunks/67580-8733964ab2c7fc0e.js +1 -0
  325. package/.next/standalone/.next/static/chunks/7777-8b1b6681256e1534.js +1 -0
  326. package/.next/standalone/.next/static/chunks/78917-1b59cbb806b3ecfc.js +1 -0
  327. package/.next/standalone/.next/static/chunks/82751-3e161e1d8dbda3ac.js +1 -0
  328. package/.next/standalone/.next/static/chunks/94643-01be319472d751b3.js +1 -0
  329. package/.next/standalone/.next/static/chunks/99373.d0e808c18408b8da.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-cea0bb3e3a295bea.js → layout-b742c51c0a764daf.js} +1 -1
  331. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-974781e4886529f8.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-007278623926490f.js → page-f636e00c28f425ea.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c004f1a194af7fa5.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-425acbe9ade5fa83.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-f5a351c544ed23d7.js → page-fdd617457730a116.js} +1 -1
  336. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6b3fb08d53826d02.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0a6c2d0e1b68e0e4.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-58b48aa0a11603c3.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-286faced32c6133f.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-7a5ef281f6819ed4.js → page-9d79e285b6fd2f8d.js} +1 -1
  341. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-1507a761e67c2aa9.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/onboarding/page-5c82cf3abd856301.js +1 -0
  343. package/.next/standalone/.next/static/chunks/f5a9da1f-6abf712b3f684cf9.js +1 -0
  344. package/.next/standalone/.next/static/chunks/{webpack-b54e0c78eded76be.js → webpack-fa066d7ff9ab2b29.js} +1 -1
  345. package/.next/standalone/.next/static/css/5f52bd39b284ccdf.css +1 -0
  346. package/.next/standalone/package.json +3 -1
  347. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  348. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  349. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -1
  350. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  351. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  352. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +5 -4
  353. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  354. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +128 -0
  355. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  356. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  357. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  358. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  359. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  360. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  361. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  362. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +5 -4
  363. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  364. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +128 -0
  365. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  366. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  367. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  368. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  369. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +2 -1
  370. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  371. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  372. package/.next/standalone/public/skill/chorus/SKILL.md +2 -1
  373. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  374. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  375. package/.next/standalone/public/skill/docs-chorus/SKILL.md +1 -1
  376. package/.next/standalone/public/skill/idea-chorus/SKILL.md +5 -4
  377. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +128 -0
  378. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  379. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  380. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  381. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  382. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  383. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  384. package/cli/prompts.mjs +13 -3
  385. package/package.json +3 -1
  386. package/.next/standalone/.next/server/chunks/2463.js +0 -1
  387. package/.next/standalone/.next/server/chunks/5205.js +0 -1
  388. package/.next/standalone/.next/static/chunks/11595.b6f8ad33572b32fe.js +0 -1
  389. package/.next/standalone/.next/static/chunks/19887-9f459ee9e8d0855f.js +0 -1
  390. package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +0 -1
  391. package/.next/standalone/.next/static/chunks/33456.e8550ad410031e29.js +0 -1
  392. package/.next/standalone/.next/static/chunks/35432-ee83da56c49ef6f8.js +0 -1
  393. package/.next/standalone/.next/static/chunks/38296-316ba18af72385fb.js +0 -1
  394. package/.next/standalone/.next/static/chunks/4860.b405fc235b36271b.js +0 -1
  395. package/.next/standalone/.next/static/chunks/53073-5fd399cb25a11740.js +0 -1
  396. package/.next/standalone/.next/static/chunks/6603-07faab08560f7ecd.js +0 -1
  397. package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +0 -1
  398. package/.next/standalone/.next/static/chunks/66980-652990fcf3212c94.js +0 -10
  399. package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +0 -1
  400. package/.next/standalone/.next/static/chunks/7777-5dad34f6bdc13482.js +0 -1
  401. package/.next/standalone/.next/static/chunks/78917-7354d3b6908da7d1.js +0 -1
  402. package/.next/standalone/.next/static/chunks/82751-de255af4418d53e4.js +0 -1
  403. package/.next/standalone/.next/static/chunks/83285-db8ae107944eb6df.js +0 -1
  404. package/.next/standalone/.next/static/chunks/86155-c9b7c2c08d3fa80e.js +0 -1
  405. package/.next/standalone/.next/static/chunks/89836-b5ab6a0b32c54f42.js +0 -1
  406. package/.next/standalone/.next/static/chunks/94643-6d31df78aa3074b5.js +0 -1
  407. package/.next/standalone/.next/static/chunks/96170-75da13decdb6f73f.js +0 -1
  408. package/.next/standalone/.next/static/chunks/99373.9dce8f30802824fc.js +0 -1
  409. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +0 -1
  410. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-b6ecaf52f6b81ec7.js +0 -1
  411. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-82404154708e48a9.js +0 -1
  412. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-3cd46bec9383b191.js +0 -1
  413. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-6abc7d1785e2b999.js +0 -1
  414. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-7f87113e5d8bcf6e.js +0 -1
  415. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-30ab1573c4bd466f.js +0 -1
  416. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b21d4184d9ca0b25.js +0 -1
  417. package/.next/standalone/.next/static/chunks/app/onboarding/page-3b6c54f887108635.js +0 -1
  418. package/.next/standalone/.next/static/css/893d99a21153c9b0.css +0 -1
  419. /package/.next/standalone/.next/static/{YTZwWTfE0BsJnjCDYCEHi → K8qIdwvKoIWbwQ_f01mnM}/_buildManifest.js +0 -0
  420. /package/.next/standalone/.next/static/{YTZwWTfE0BsJnjCDYCEHi → K8qIdwvKoIWbwQ_f01mnM}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=3594,exports.ids=[3594],exports.modules={4284:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{a1:()=>g});var e=c(71255);c(62729);var f=a([e]);async function g(a){let b=await e.z.projectGroup.findMany({where:{companyUuid:a},orderBy:{createdAt:"asc"}}),c=b.map(a=>a.uuid),d=c.length>0?await e.z.project.groupBy({by:["groupUuid"],where:{companyUuid:a,groupUuid:{in:c}},_count:{_all:!0}}):[],f=new Map(d.map(a=>[a.groupUuid,a._count._all])),g=b.map(a=>({uuid:a.uuid,name:a.name,description:a.description,projectCount:f.get(a.uuid)??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()})),h=await e.z.project.count({where:{companyUuid:a,groupUuid:null}});return{groups:g,total:b.length,ungroupedCount:h}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},5797:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},11166:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{p:()=>g});var e=c(89998),f=a([e]);e=(f.then?(await f)():f)[0];let h={action:"yolo_requested",precondition:async({idea:a})=>{if("agent"!==a.assigneeType&&"agent_instance"!==a.assigneeType)throw new e.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");return{}},offlinePolicy:"require_online"};async function g({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f}){await (0,e.u)(h,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f})}d()}catch(a){d(a)}})},22110:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{e1:()=>o,em:()=>n,yu:()=>p,zS:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(23733),i=c(71255),j=c(97307),k=c(12217),l=a([g,h,i]);async function m(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}async function n(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.Rm)({companyUuid:d.companyUuid,ideaUuid:a,roundUuid:b,actorUuid:d.actorUuid,actorType:d.type,answers:c}),g=await i.z.idea.findFirst({where:{uuid:a,companyUuid:d.companyUuid}});return g&&((0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas`)),{success:!0,data:e}}catch(a){return j.default.error({err:a},"Failed to submit elaboration answers"),{success:!1,error:a instanceof Error?a.message:"Failed to submit answers"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};if("user"!==b.type&&"super_admin"!==b.type)return{success:!1,error:"Only users can verify elaboration"};try{let c=await (0,h.A7)({companyUuid:b.companyUuid,ideaUuid:a,actorUuid:b.actorUuid,actorType:b.type}),d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:b.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to verify elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to verify elaboration"}}}async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{await (0,h.Y_)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,reason:b});let d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0}}catch(a){return j.default.error({err:a},"Failed to skip elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to skip elaboration"}}}[g,h,i]=l.then?(await l)():l,(0,k.D)([m,n,o,p]),(0,e.A)(m,"40233a2c9cac69a7ed93f1e9b6339831b71407d58d",null),(0,e.A)(n,"70b7bd8a23cd8ff14ae94b33a0bc6d07c77b975899",null),(0,e.A)(o,"401c56a8f181549ad595ec886f4497c383dbaeac6b",null),(0,e.A)(p,"605a3deb07beae652b933b1d4f713649ff7d110d65",null),d()}catch(a){d(a)}})},23157:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ax:()=>q,G3:()=>v,M$:()=>s,UD:()=>u,UP:()=>r,ZL:()=>t,qN:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),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.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid: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:"idea",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea"),{success:!1,error:"Failed to claim idea"}}}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.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};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.Xo)({ideaUuid: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:"idea",targetUuid:a,actorType:"user",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}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to agent"),{success:!1,error:"Failed to claim idea"}}}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.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:c,allowElaboratedInstanceRepin:!0}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to reassign idea instance (no wake)"),{success:!1,error:"Failed to reassign idea"}}}async function s(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByType:"user",assignedByUuid:c.actorUuid}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to user"),{success:!1,error:"Failed to claim idea"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.h_)(c.uuid),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to release idea"),{success:!1,error:"Failed to release idea"}}}async function u(){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,"idea:write",a.actorUuid),(0,i.A8)(a.companyUuid)]);return{agents:b,users:c}}catch(a){return m.default.error({err:a},"Failed to get assignable agents"),{agents:[],users:[]}}}async function v(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]),(0,e.A)(p,"4040785428382bc6df0b2aca473c9e048f3f83203f",null),(0,e.A)(q,"701c3e5a634d5a14e2b70d7bfcdfe38f05ce97b0c2",null),(0,e.A)(r,"70cec58cf3ee78e47658f593a642878ab62f8f826a",null),(0,e.A)(s,"6049412ecadb641edc247405003a973cc0069f87b1",null),(0,e.A)(t,"40b7cfc1a2755b1c1f006d2b1233c95a1ee568ba25",null),(0,e.A)(u,"001ce2eb46f49e07ac0ca62dfbb45d757bc843f26f",null),(0,e.A)(v,"607f68646ff7093aa935d4059031bb606a55019cf1",null),d()}catch(a){d(a)}})},23733:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A7:()=>m,Rm:()=>l,Y_:()=>n,t8:()=>o});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(89998),j=a([e,g,h,i]);async function k(a,b,c){if(b.assigneeUuid===c)return!0;if("agent_instance"===b.assigneeType){let d=await (0,h.wo)(a,b.assigneeType,b.assigneeUuid);return null!==d&&d===c}return!1}async function l({companyUuid:a,ideaUuid:b,roundUuid:c,actorUuid:d,actorType:h,answers:i}){let j=c;if(!j){let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a,status:"pending_answers"},select:{uuid:!0}});if(0===c.length)throw Error("no active round to answer");if(c.length>1)throw Error("multiple active rounds; specify roundUuid");j=c[0].uuid}let k=await e.z.elaborationRound.findFirst({where:{uuid:j,ideaUuid:b,companyUuid:a},include:{questions:!0}});if(!k)throw Error("Elaboration round not found");if("pending_answers"!==k.status)throw Error(`Round is '${k.status}', expected 'pending_answers'`);let l=new Date;for(let a of i){let b=k.questions.find(b=>b.questionId===a.questionId);if(!b)throw Error(`Question '${a.questionId}' not found in round`);if(null!==a.selectedOptionId){if(!b.options.find(b=>b.id===a.selectedOptionId))throw Error(`Invalid option '${a.selectedOptionId}' for question '${a.questionId}'`)}else if(!a.customText?.trim())throw Error(`Question '${a.questionId}': custom text is required when no option is selected`);await e.z.elaborationQuestion.update({where:{uuid:b.uuid},data:{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:l,answeredByType:h,answeredByUuid:d}})}let m=(await e.z.elaborationQuestion.findMany({where:{roundUuid:j}})).filter(a=>a.required).every(a=>null!==a.answeredAt),n=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});m&&(await e.z.elaborationRound.update({where:{uuid:j},data:{status:"answered"}}),n?.elaborationStatus!=="resolved"&&await e.z.idea.update({where:{uuid:b},data:{elaborationStatus:"validating"}})),await g.f0.createActivity({companyUuid:a,projectUuid:n.projectUuid,targetType:"idea",targetUuid:b,actorType:h,actorUuid:d,action:"elaboration_answered",value:{roundNumber:k.roundNumber,answeredCount:i.length}}),f.B.emitChange({companyUuid:a,projectUuid:n.projectUuid,entityType:"idea",entityUuid:b,action:"updated"});let o=await e.z.elaborationRound.findUnique({where:{uuid:j},include:{questions:!0}});return p(o)}[e,g,h,i]=j.then?(await j)():j;let r={action:"elaboration_verified",precondition:async({companyUuid:a,ideaUuid:b})=>{let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a}});if(0===c.length)throw new i.$("PRECONDITION_FAILED","Cannot resolve: the Idea has no elaboration rounds","no_rounds");let d=c.filter(a=>"pending_answers"===a.status);if(d.length>0)throw new i.$("PRECONDITION_FAILED",`Cannot resolve: ${d.length} round(s) still have unanswered questions`,"pending_answers");return{totalRounds:c.length}},transition:async({ideaUuid:a})=>{await e.z.idea.update({where:{uuid:a},data:{status:"elaborated",elaborationStatus:"resolved"}})},offlinePolicy:"queue"};async function m({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}){return await (0,i.u)(r,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}),o({companyUuid:a,ideaUuid:b})}async function n({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,reason:h}){let i=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!i)throw Error("Idea not found");if(!await k(a,i,c))throw Error("Only the assigned agent can skip elaboration");if("elaborating"!==i.status)throw Error(`Cannot skip elaboration from status '${i.status}'`);await e.z.idea.update({where:{uuid:b},data:{status:"elaborated",elaborationDepth:"minimal",elaborationStatus:"resolved"}}),await g.f0.createActivity({companyUuid:a,projectUuid:i.projectUuid,targetType:"idea",targetUuid:b,actorType:d,actorUuid:c,action:"elaboration_skipped",value:{reason:h}}),f.B.emitChange({companyUuid:a,projectUuid:i.projectUuid,entityType:"idea",entityUuid:b,action:"updated"})}async function o({companyUuid:a,ideaUuid:b}){let c=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Idea not found");let d=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a},include:{questions:!0},orderBy:{roundNumber:"asc"}}),f=d.flatMap(a=>a.questions),g=f.filter(a=>null!==a.answeredAt),h=d.filter(a=>"pending_answers"!==a.status),i=d.find(a=>"pending_answers"===a.status);return{ideaUuid:b,depth:c.elaborationDepth,status:c.elaborationStatus,rounds:d.map(p),summary:{totalQuestions:f.length,answeredQuestions:g.length,validatedRounds:h.length,pendingRound:i?.roundNumber||null}}}function p(a){return{uuid:a.uuid,roundNumber:a.roundNumber,status:a.status,isAppended:a.isAppended,createdBy:{type:a.createdByType,uuid:a.createdByUuid},validatedAt:a.validatedAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),questions:a.questions.map(q)}}function q(a){return{uuid:a.uuid,questionId:a.questionId,text:a.text,category:a.category,options:a.options,required:a.required,answer:a.answeredAt?{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:a.answeredAt.toISOString(),answeredBy:{type:a.answeredByType,uuid:a.answeredByUuid}}:null,issue:a.issueType?{type:a.issueType,description:a.issueDescription||""}:null}}d()}catch(a){d(a)}})},24364:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},25580:(a,b,c)=>{c.d(b,{R:()=>w});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(21790),i=c(49102),j=c(20447),k=c(67832),l=c(87461),m=c(9810),n=c(86460),o=c(42424),p=c(9994),q=c(82658),r=c(42377);let s=(0,r.createServerReference)("70b7bd8a23cd8ff14ae94b33a0bc6d07c77b975899",r.callServer,void 0,r.findSourceMapURL,"submitElaborationAnswersAction");var t=c(42087);let u="__other__",v={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function w({ideaUuid:a,elaboration:b,onRefresh:c}){let e=(0,g.c)("elaboration"),h=(0,f.r)();if(!b||0===b.rounds.length)return null;let{summary:i,rounds:j}=b;return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e("title")}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:e("answeredCounter",{answered:i.answeredQuestions,total:i.totalQuestions})})]}),(0,d.jsx)("div",{className:"space-y-2.5",children:j.map(b=>(0,d.jsx)(x,{round:b,ideaUuid:a,onAnswered:async()=>{await c?.(),h.refresh()}},b.uuid))})]})}function x({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),j="pending_answers"===a.status,k="answered"===a.status||"validated"===a.status||"needs_followup"===a.status,[l,m]=(0,e.useState)(j);return(0,d.jsx)(q.Nt,{open:l,onOpenChange:m,children:(0,d.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-card",children:[(0,d.jsx)(q.R6,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:`flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-background ${l?"bg-[#F7F6F3] dark:bg-[#1e1d1b] border-b border-border":""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l?(0,d.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}):(0,d.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ${j?"bg-primary":"bg-[#888780]"}`,children:a.roundNumber}),(0,d.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:f("roundLabel",{number:a.roundNumber})}),a.isAppended&&(0,d.jsx)("span",{className:"rounded bg-[#EDE7F6] dark:bg-[#221833] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6] dark:text-[#A99FF0]",children:f("appendedBadge")}),!l&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["\xb7 ",f("questionCount",{count:a.questions.length})]})]}),k?(0,d.jsx)("span",{className:"rounded bg-[#E8F5E9] dark:bg-[#14281a] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32] dark:text-[#5FD07E]",children:f("statusAnswered")}):(0,d.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:f("pendingAnswers")})]})}),(0,d.jsx)(q.Ke,{children:j?(0,d.jsx)(z,{round:a,ideaUuid:b,onAnswered:c}):(0,d.jsx)(y,{round:a})})]})})}function y({round:a}){let b=(0,g.c)("elaboration");return(0,d.jsx)("div",{className:"space-y-4 px-4 py-4",children:a.questions.map((c,e)=>{let f=c.answer?.selectedOptionId?c.options.find(a=>a.id===c.answer?.selectedOptionId):null,g=c.answer?.customText||f?.label||b("noAnswer"),h=v[c.category]||c.category;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("span",{className:"text-xs leading-relaxed text-muted-foreground",children:["Q: ",c.text]}),(0,d.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:b(`category.${h}`)})]}),(0,d.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-foreground",children:["A: ",g]}),e<a.questions.length-1&&(0,d.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},c.uuid)})})}function z({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),[h,q]=(0,e.useState)(0),r=(0,e.useRef)(h),[w,x]=(0,e.useState)("right"),[y,z]=(0,e.useState)({}),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(null),E=(0,e.useCallback)((a,b)=>{x("left"===b?"right":"left"),q(a)},[]),F=a.questions,G=F[h],H=v[G.category]||G.category,I=(0,e.useCallback)((a,b)=>{if(z(c=>({...c,[a]:{questionId:a,selectedOptionId:b===u?null:b,customText:b===u?c[a]?.customText||"":null}})),b!==u){let a=Math.min(F.length-1,r.current+1);a!==r.current&&setTimeout(()=>E(a,"left"),200)}},[F.length,E]),J=(0,e.useCallback)((a,b)=>{z(c=>({...c,[a]:{...c[a],questionId:a,selectedOptionId:null,customText:b}}))},[]),K=F.filter(a=>a.required).every(a=>{let b=y[a.questionId];return!!b&&!!(b.selectedOptionId||b.customText&&b.customText.trim())}),L=async()=>{B(!0),D(null);let d=Object.values(y),e=await s(b,a.uuid,d);e.success?(await c(),B(!1)):(B(!1),D(e.error||f("submitFailed")))},M=(a=>{let b=y[a];return b?null===b.selectedOptionId&&null!==b.customText&&void 0!==b.customText?u:b.selectedOptionId||null:null})(G.questionId),N=M===u,O=h===F.length-1,P=!!(y[G.questionId]?.customText??"").trim();return(0,d.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,d.jsxs)("div",{className:"right"===w?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:G.text}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h-1,"right"),disabled:0===h,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(j.A,{className:"h-4 w-4"})}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:f("navCounter",{current:h+1,total:F.length})}),(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h+1,"left"),disabled:h===F.length-1,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]})]}),(0,d.jsxs)("div",{className:"mt-3",children:[G.options.map((a,b)=>{let c=M===a.id;return(0,d.jsxs)("div",{children:[(0,d.jsxs)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,a.id),className:`flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ${c?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-border text-xs font-medium text-foreground/80",children:b+1}),(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-foreground",children:a.label}),a.description&&(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-muted-foreground",children:a.description})]})]}),c&&(0,d.jsx)(k.A,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground"})]}),b<G.options.length-1&&(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},a.id)}),(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,d.jsxs)("div",{className:`flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ${N?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-border",onClick:()=>I(G.questionId,u),children:(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(p.p,{type:"text",value:y[G.questionId]?.customText||"",onChange:a=>J(G.questionId,a.target.value),onKeyDown:a=>{if((0,t.P)(a)||"Enter"!==a.key||a.shiftKey||a.ctrlKey||a.metaKey||(a.preventDefault(),O||!P))return;let b=r.current+1;setTimeout(()=>E(b,"left"),200)},placeholder:f("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-foreground placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!O&&(0,d.jsx)(o.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(O||!P)return;let a=r.current+1;setTimeout(()=>E(a,"left"),200)},disabled:!P,"aria-label":f("confirmAnswerAria"),className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(m.A,{className:"h-4 w-4"})})]}):(0,d.jsx)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,u),className:"flex-1 justify-start text-left text-[13px] italic text-muted-foreground h-auto p-0 hover:bg-transparent",children:f("somethingElse")})]})]})]},h),C&&(0,d.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:C}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,d.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-primary"}),f(`category.${H}`)]}),(0,d.jsx)(o.$,{onClick:L,disabled:!K||A,className:"bg-primary hover:bg-[#B56A42] text-white text-[13px]",children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),f("submitting")]}):f("submitAnswers")})]})]})}},26402:(a,b,c)=>{c.d(b,{o:()=>d});function d({ideaStatus:a,elaborationStatus:b,elaboration:c}){return!("elaborating"!==a||"resolved"===b||!c||0===c.rounds.length||c.rounds.some(a=>"pending_answers"===a.status))}},30259:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(61212),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},31138:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{JQ:()=>o,Z$:()=>p,w$:()=>n,zK:()=>q});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),i=c(97879),j=c(466),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.i1)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,content:a.content||null,attachments:a.attachments||null,createdByUuid:b.actorUuid,isContainer:a.isContainer});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,ideaUuid:c.uuid}}catch(a){return k.default.error({err:a},"Failed to create idea"),{success:!1,error:"Failed to create idea"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.JF)(a.ideaUuid,b.companyUuid,{title:a.title,content:a.content,...void 0!==a.isContainer?{isContainer:a.isContainer}:{}},{actorType:b.type,actorUuid:b.actorUuid});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,idea:c}}catch(a){return k.default.error({err:a},"Failed to update idea"),{success:!1,error:"Failed to update idea"}}}async function p(a,b){if(!await (0,g.d)())return{success:!1,error:"Unauthorized"};try{return await (0,h.Nm)(a),(0,f.revalidatePath)(`/projects/${b}/ideas`),{success:!0}}catch(a){return k.default.error({err:a},"Failed to delete idea"),{success:!1,error:"Failed to delete idea"}}}async function q(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{ideas:c}=await (0,h.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3}),d=c.map(a=>a.uuid),[e,f]=await Promise.all([d.length>0?(0,i.e1)(b.companyUuid,d):Promise.resolve({usedIdeas:[]}),d.length>0?(0,j.uA)(b.companyUuid,"idea",d):Promise.resolve({})]),g=e.usedIdeas.map(a=>a.uuid),k={};for(let a of e.usedIdeas)k[a.uuid]=a.proposalUuid;let l=c.map(a=>({...a,commentCount:f[a.uuid]||0}));return{success:!0,data:{ideas:l,usedIdeaUuids:g,ideaProposalMap:k}}}catch(a){return k.default.error({err:a},"Failed to fetch ideas"),{success:!1,error:"Failed to fetch ideas"}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o,p,q]),(0,e.A)(n,"40e66e36c7167961297cad969d71e2ae2de6ec6c4d",null),(0,e.A)(o,"409723e8a9089a1dc8a310b68c0bad85961fd6e797",null),(0,e.A)(p,"600d800e23e0e0c2809cc17d70b07c9f52829e3f8e",null),(0,e.A)(q,"40436bf405186b267b13793938e8490d9e917dbab3",null),d()}catch(a){d(a)}})},42494:(a,b,c)=>{c.d(b,{e:()=>e});var d=c(42377);let e=(0,d.createServerReference)("401c56a8f181549ad595ec886f4497c383dbaeac6b",d.callServer,void 0,d.findSourceMapURL,"verifyElaborationAction")},43227:(a,b,c)=>{c.d(b,{s:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(77840),i=c(86460),j=c(42424),k=c(6019),l=c(99127),m=c(70028);let n=new Set(["done","closed"]);function o({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!(b&&b.some(a=>"approved"===a.status)&&c&&0!==c.length&&c.every(a=>n.has(a.status)))}var p=c(42377);let q=(0,p.createServerReference)("600b19d4f44aaa7a619c0df2b95a8c949a88d74d14",p.callServer,void 0,p.findSourceMapURL,"yoloRequestedAction");var r=c(87902),s=c(76799),t=c(77078);let u={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"},v="bg-[#7F5AF0] hover:bg-[#6D48DE] dark:bg-[#6E56C8] dark:hover:bg-[#7C63D8] text-white";function w({ideaUuid:a,assignee:b,assigneeName:c,proposals:n,tasks:p,onStarted:w}){var x;let y=(0,f.c)("yolo"),z=(0,m.kz)()?.connections??[],[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!1),{start:G,pickerState:H,confirmPick:I,confirmTemporary:J,cancelPick:K,isResolving:L}=(0,s.E)({reassignNoWake:r.U,previewIdeaUuid:a}),M=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,N=null!==M&&z.some(a=>a.agentUuid===M&&"online"===a.effectiveStatus),O=o({assignee:b,proposals:n,tasks:p}),P=o(x={assignee:b,proposals:n,tasks:p,agentOnline:N})&&x.agentOnline;if(!O||C)return C?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:y("startedHint")}):null;let Q=async b=>{B(!0);let c=b?await q(a,b):await q(a);B(!1),c.success?(D(!0),g.oR.success(y("startedHint")),w?.()):g.oR.error(y(u[c.errorCode??"unknown"]))};return N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(k.Lt,{open:E,onOpenChange:F,children:[(0,d.jsx)(k.tv,{asChild:!0,children:(0,d.jsxs)(j.$,{className:v,disabled:!P,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),y("button")]})}),(0,d.jsxs)(k.EO,{children:[(0,d.jsxs)(k.wd,{children:[(0,d.jsx)(k.r7,{children:y("confirmTitle")}),(0,d.jsx)(k.$v,{children:y("confirmDescription")})]}),(0,d.jsxs)(k.ck,{children:[(0,d.jsx)(k.Zr,{disabled:A,children:y("cancel")}),(0,d.jsx)(j.$,{className:v,onClick:()=>{F(!1),G({ideaUuid:a,wake:Q})},disabled:A||L,children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("starting")]}):y("confirmCta")})]})]})]}),(0,d.jsx)(t.V,{open:null!==H,agentName:c??"",instances:H?.instances??[],agentUuid:H?.agentUuid,onConfirm:I,onTemporaryConfirm:J,onCancel:K})]}):(0,d.jsx)(l.Bc,{delayDuration:300,children:(0,d.jsxs)(l.m_,{children:[(0,d.jsx)(l.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,d.jsxs)(j.$,{className:v,disabled:!0,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),y("button")]})})}),(0,d.jsx)(l.ZI,{children:y("offlineHint")})]})})}},45133:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i,y:()=>h});var e=c(71255),f=c(89998),g=a([e,f]);[e,f]=g.then?(await g)():g;let i={NO_APPROVED_PROPOSAL:"no_approved_proposal",NO_UNFINISHED_TASKS:"no_unfinished_tasks"},j=["done","closed"],k={action:"start_development",precondition:async({companyUuid:a,ideaUuid:b,idea:c})=>{if("agent"!==c.assigneeType&&"agent_instance"!==c.assigneeType)throw new f.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");let d=await e.z.proposal.findFirst({where:{companyUuid:a,projectUuid:c.projectUuid,status:"approved",inputUuids:{array_contains:[b]}},select:{uuid:!0},orderBy:{createdAt:"desc"}});if(!d)throw new f.$("PRECONDITION_FAILED","The Idea has no approved proposal",i.NO_APPROVED_PROPOSAL);let g=await e.z.task.count({where:{companyUuid:a,proposalUuid:d.uuid,status:{notIn:j}}});if(0===g)throw new f.$("PRECONDITION_FAILED","All tasks of the approved proposal are finished",i.NO_UNFINISHED_TASKS);return{proposalUuid:d.uuid,remainingTasks:g}},offlinePolicy:"require_online"};async function h({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e}){await (0,f.u)(k,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e})}d()}catch(a){d(a)}})},47424:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60077c1e41fefc364a41ddb56f92c30ef87dfa862a",d.callServer,void 0,d.findSourceMapURL,"getTasksForProposalAction")},53581:(a,b,c)=>{c.d(b,{Z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("600d800e23e0e0c2809cc17d70b07c9f52829e3f8e",d.callServer,void 0,d.findSourceMapURL,"deleteIdeaAction")},54758:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("6066eceb3e85a10d2c993aebfd344667542cccb7ea",d.callServer,void 0,d.findSourceMapURL,"getProposalsForIdeaAction")},57644:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Qd:()=>r,U$:()=>w,UN:()=>u,WD:()=>y,co:()=>v,cq:()=>q,d1:()=>z,nR:()=>s,s$:()=>x,wm:()=>t,zS:()=>A});var e=c(2613);c(50785);var f=c(9259),g=c(61212),h=c(97879),i=c(53870),j=c(50530),k=c(33994),l=c(4284),m=c(23733),n=c(97307),o=c(12217),p=a([f,g,h,i,j,k,l,m]);async function q(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,g.Zl)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function r(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,j.gg)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function s(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.bY)(c.companyUuid,a,b,c.actorUuid,c.type);return{success:!0,moved:d.moved}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to move idea"}}}async function t(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};if(d.projectUuid===b)return{success:!1,error:"Idea is already in the target project"};let e=await (0,g.jJ)(c.companyUuid,a,b);return{success:!0,moved:e.moved}}catch(a){return n.default.error({err:a},"Failed to preview idea move"),{success:!1,error:a instanceof Error?a.message:"Failed to preview move"}}}async function u(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=await (0,h.fS)(c.companyUuid,a,b);return{success:!0,data:d}}async function v(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let{tasks:d}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,proposalUuids:[b],skip:0,take:100});return{success:!0,data:d}}async function w(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=(await (0,h.fS)(c.companyUuid,a,b)).filter(a=>"approved"===a.status).map(a=>a.uuid),e=await (0,i.yZ)(c.companyUuid,d,"report");return e.sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()),{success:!0,data:e}}async function x(){let a=await (0,f.d)();if(!a)return{success:!1,error:"Unauthorized"};let[{projects:b},{groups:c}]=await Promise.all([(0,k.hF)({companyUuid:a.companyUuid,skip:0,take:100}),(0,l.a1)(a.companyUuid)]);return{success:!0,data:{projects:b,groups:c}}}async function y(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.EZ)(a,b,c.companyUuid,{actorType:c.type,actorUuid:c.actorUuid});return{success:!0,data:d}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to set parent"}}}async function z(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let{ideas:c,total:d}=await (0,g.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:200});return{success:!0,data:c.map(a=>({uuid:a.uuid,title:a.title})),total:d,hasMore:d>c.length}}async function A(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,m.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return n.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}[f,g,h,i,j,k,l,m]=p.then?(await p)():p,(0,o.D)([q,r,s,t,u,v,w,x,y,z,A]),(0,e.A)(q,"40105aaae35dd17e0115cd8b12393c5a55a0c22ec3",null),(0,e.A)(r,"40bbd1b0376808960fb33e7569ba6eb1f6588104ae",null),(0,e.A)(s,"60769391d743acf35c3a7a271c3c36dfb2a492ba37",null),(0,e.A)(t,"609db9e948fed0aa34bc631da019fa0361983768ed",null),(0,e.A)(u,"6066eceb3e85a10d2c993aebfd344667542cccb7ea",null),(0,e.A)(v,"60077c1e41fefc364a41ddb56f92c30ef87dfa862a",null),(0,e.A)(w,"603964df7ea6e899b7f77fb2fb1c2814093c4be728",null),(0,e.A)(x,"00488e8ee3f35df3e0e3d04c7bdf0a507a452ea6e0",null),(0,e.A)(y,"60c60e6d3d8ab3e1c7a1feeb6a5f95223a80a10bf9",null),(0,e.A)(z,"40961fd2c514e009922e207a11cabfc30983a4ba2e",null),(0,e.A)(A,"406a1ea166eba751771eb7dd0f2a56499e77ed49a4",null),d()}catch(a){d(a)}})},60881:(a,b,c)=>{c.d(b,{h:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(68884),h=c(76549),i=c(86460),j=c(56149),k=c(9810),l=c(55775),m=c(42424),n=c(2852),o=c(11568),p=c(10297),q=c(74113),r=c(96307),s=c(42377);let t=(0,s.createServerReference)("00488e8ee3f35df3e0e3d04c7bdf0a507a452ea6e0",s.callServer,void 0,s.findSourceMapURL,"getProjectsAndGroupsAction");s.callServer,s.findSourceMapURL;let u=(0,s.createServerReference)("60769391d743acf35c3a7a271c3c36dfb2a492ba37",s.callServer,void 0,s.findSourceMapURL,"moveIdeaAction");var v=c(54722);function w({open:a,onOpenChange:b,ideaUuid:c,projectUuid:s,onMoved:w}){let x=(0,f.c)("ideas"),y=(0,f.c)("common"),z=(0,g.r)(),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(!1),I=(()=>{if(!E)return null;for(let a of A){let b=a.projects.find(a=>a.uuid===E);if(b)return b.name}return null})(),[J,K]=(0,e.useState)(null),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(null),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(null);(0,e.useRef)(0);let T=(0,e.useCallback)(a=>{a&&a.addEventListener("wheel",a=>a.stopPropagation(),{passive:!0})},[]);(0,e.useCallback)(async()=>{F(null),K(null),O(null),S(null),D(!0);try{let a=await t();if(a.success){let{projects:b,groups:c}=a.data,d=b.filter(a=>a.uuid!==s).map(a=>({uuid:a.uuid,name:a.name,groupUuid:a.groupUuid})),e=new Map;for(let a of c)e.set(a.uuid,a.name);let f=new Map,g=[];for(let a of d)a.groupUuid&&e.has(a.groupUuid)?(f.has(a.groupUuid)||f.set(a.groupUuid,{uuid:a.groupUuid,name:e.get(a.groupUuid),projects:[]}),f.get(a.groupUuid).projects.push({uuid:a.uuid,name:a.name})):g.push({uuid:a.uuid,name:a.name});let h=[...f.values()];g.length>0&&h.push({uuid:"ungrouped",name:x("ungrouped"),projects:g}),B(h)}}catch(a){v.q.error("Failed to load projects for move dialog:",a),B([])}D(!1)},[s,x]);let U=async()=>{if(E&&J&&!P){Q(!0),S(null);try{let a=await u(c,E);if(a.success){let d=a.moved;h.oR.success(x("moveDialog.successToast",{...d}),{action:{label:x("moveDialog.viewMovedIdea"),onClick:()=>{z.push(`/projects/${E}/dashboard?panel=${c}&tab=overview`)}}}),b(!1),z.refresh(),w(d)}else S(x("moveDialog.error",{message:a.error||x("moveFailed")}))}catch(a){S(x("moveDialog.error",{message:a instanceof Error?a.message:x("moveFailed")}))}Q(!1)}};return(0,d.jsx)(o.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(o.Cf,{children:[(0,d.jsxs)(o.c7,{children:[(0,d.jsx)(o.L3,{children:x("moveDialog.title")}),(0,d.jsx)(o.rr,{children:x("moveDialog.description")})]}),(0,d.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,d.jsx)(n.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-foreground",children:x("moveDialog.targetProjectLabel")}),C?(0,d.jsx)("div",{className:"flex items-center justify-center h-10 border border-border rounded-md",children:(0,d.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,d.jsxs)(q.AM,{open:G,onOpenChange:H,children:[(0,d.jsx)(q.Wv,{asChild:!0,children:(0,d.jsxs)(m.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":G,className:(0,r.cn)("w-full justify-between border-border font-normal",!I&&"text-muted-foreground"),children:[I??x("moveDialog.targetProjectPlaceholder"),(0,d.jsx)(j.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(q.hl,{ref:T,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,d.jsxs)(p.uB,{children:[(0,d.jsx)(p.G7,{placeholder:x("moveDialog.searchProjects")}),(0,d.jsxs)(p.oI,{children:[(0,d.jsx)(p.xL,{children:x("noProjectsFound")}),A.map(a=>(0,d.jsx)(p.L$,{heading:a.name,children:a.projects.map(b=>(0,d.jsxs)(p.h_,{value:`${b.name} ${a.name}`,onSelect:()=>{F(b.uuid),H(!1)},children:[(0,d.jsx)(k.A,{className:(0,r.cn)("mr-2 h-4 w-4",E===b.uuid?"opacity-100":"opacity-0")}),b.name]},b.uuid))},a.uuid))]})]})})]}),E&&(0,d.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-border bg-background p-3 text-[13px] text-foreground",children:L?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,d.jsx)("span",{children:x("moveDialog.previewLoading")})]}):N?(0,d.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,d.jsx)(l.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:N})]}):J?(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("p",{children:x("moveDialog.previewSummary",{...J})}),(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:x("moveDialog.previewWarning")})]}):null}),R&&(0,d.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:R})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,d.jsx)(m.$,{variant:"outline",className:"border-border",onClick:()=>b(!1),disabled:P,children:y("cancel")}),(0,d.jsx)(m.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:U,disabled:!E||!J||P||L,children:P?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),x("moving")]}):x("moveDialog.confirm")})]})]})})}},62460:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40233a2c9cac69a7ed93f1e9b6339831b71407d58d",d.callServer,void 0,d.findSourceMapURL,"getElaborationAction")},68141:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40901c9f8641e5032e8ba3023be3eb6563320244e4",d.callServer,void 0,d.findSourceMapURL,"getIdeaActivitiesAction")},73577:(a,b,c)=>{c.d(b,{w:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(86460),i=c(58270),j=c(42424),k=c(99127),l=c(70028);let m=new Set(["done","closed"]);function n({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!!b&&!!b.some(a=>"approved"===a.status)&&!!c&&!!c.some(a=>!m.has(a.status))&&!0}var o=c(42377);let p=(0,o.createServerReference)("602d1b293d7b95d80deb4a6f53b8db6ad78cc590c2",o.callServer,void 0,o.findSourceMapURL,"startDevelopmentAction");var q=c(87902),r=c(76799),s=c(77078);let t={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",no_approved_proposal:"errorNoApprovedProposal",no_unfinished_tasks:"errorNoUnfinishedTasks",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"};function u({ideaUuid:a,assignee:b,assigneeName:c,proposals:m,tasks:o,onStarted:u}){var v;let w=(0,f.c)("startDevelopment"),x=(0,l.kz)()?.connections??[],[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),{start:C,pickerState:D,confirmPick:E,confirmTemporary:F,cancelPick:G,isResolving:H}=(0,r.E)({reassignNoWake:q.U,previewIdeaUuid:a}),I=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,J=null!==I&&x.some(a=>a.agentUuid===I&&"online"===a.effectiveStatus),K=n({assignee:b,proposals:m,tasks:o}),L=n(v={assignee:b,proposals:m,tasks:o,agentOnline:J})&&v.agentOnline;if(!K||A)return A?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:w("startedHint")}):null;let M=async b=>{z(!0);let c=b?await p(a,b):await p(a);z(!1),c.success?(B(!0),g.oR.success(w("startedHint")),u?.()):g.oR.error(w(t[c.errorCode??"unknown"]))},N=(0,d.jsx)(j.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{C({ideaUuid:a,wake:M})},disabled:!L||y||H,children:y?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),w("starting")]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4"}),w("button")]})});return J?(0,d.jsxs)(d.Fragment,{children:[N,(0,d.jsx)(s.V,{open:null!==D,agentName:c??"",instances:D?.instances??[],agentUuid:D?.agentUuid,onConfirm:E,onTemporaryConfirm:F,onCancel:G})]}):(0,d.jsx)(k.Bc,{delayDuration:300,children:(0,d.jsxs)(k.m_,{children:[(0,d.jsx)(k.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:N})}),(0,d.jsx)(k.ZI,{children:w("offlineHint")})]})})}},76799:(a,b,c)=>{c.d(b,{E:()=>h});var d=c(21968),e=c(54722),f=c(23871);async function g(a){try{let b=await fetch(`/api/ideas/${encodeURIComponent(a)}/wake-preview`,{headers:{Accept:"application/json"}});if(!b.ok)return null;let c=await b.json();if(!c.success||!c.data)return null;return c.data}catch(a){return e.q.error("wake-target preview fetch failed",a),null}}function h({fetchPreview:a=g,reassignNoWake:b,previewIdeaUuid:c}){let[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),p=(0,d.useCallback)(async(a,c,d)=>{try{let f=await b(a,c,d);f.success||e.q.debug("pin-then-wake reassign did not persist (continuing to wake)",f.error)}catch(a){e.q.error("pin-then-wake reassign threw (continuing to wake)",a)}},[b]),q=(0,d.useCallback)(async({ideaUuid:b,wake:c})=>{k(!0);let d=null;try{d=await a(b),m(d?.resolvedTarget?.source==="project_fixed"?d.resolvedTarget:null)}finally{k(!1)}if(!d||!d.assigneeAgentUuid||"direct"===d.outcome)return void await c();let e=d.assigneeAgentUuid,g=(0,f.C)(d.onlineInstances);if("pick"===d.outcome)return 0===g.length?void await c():(o({run:c}),void i({ideaUuid:b,agentUuid:e,instances:g}));if("auto_pin"===d.outcome){let a=g[0];a?.agentInstanceUuid&&await p(b,e,a.agentInstanceUuid),await c();return}},[a,p]),r=(0,d.useCallback)(async a=>{i(null),o(null),h&&n&&(a.agentInstanceUuid&&await p(h.ideaUuid,h.agentUuid,a.agentInstanceUuid),await n.run())},[h,n,p]),s=(0,d.useCallback)(()=>{i(null),o(null)},[]);return{start:q,pickerState:h,confirmPick:r,confirmTemporary:(0,d.useCallback)(async a=>{i(null),o(null),n&&await n.run(a)},[n]),cancelPick:s,isResolving:j,fixedTarget:l}}},77439:(a,b,c)=>{c.d(b,{i:()=>y});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(86460),i=c(16235),j=c(21692),k=c(97443),l=c(42424),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)("4040785428382bc6df0b2aca473c9e048f3f83203f",t.callServer,void 0,t.findSourceMapURL,"claimIdeaAction"),v=(0,t.createServerReference)("701c3e5a634d5a14e2b70d7bfcdfe38f05ce97b0c2",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToAgentAction"),w=(0,t.createServerReference)("6049412ecadb641edc247405003a973cc0069f87b1",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToUserAction"),x=(0,t.createServerReference)("40b7cfc1a2755b1c1f006d2b1233c95a1ee568ba25",t.callServer,void 0,t.findSourceMapURL,"releaseIdeaAction");function y({idea: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?(z.refresh(),t()):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("ideas.assignIdea")}),footer:(0,d.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,d.jsx)(l.$,{variant:"outline",onClick:t,disabled:A,className:"border-border",children:y("common.cancel")}),(0,d.jsx)(l.$,{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:[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("ideas.selectIdeaAssignee")}),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:"idea-self",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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("ideas.assignToMyselfIdeaDesc")})]}),(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:"idea-agent",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-foreground cursor-pointer",children:y("ideas.orAssignToPmAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("ideas.onlySelectedPmAgentCanWork")}),"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("ideas.selectPmAgent")})}),(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)(i.A,{className:"h-4 w-4 text-primary"}),(0,d.jsx)("span",{children:a.name})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("ideas.noPmAgentsAvailable")})})]}),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)(j.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,d.jsx)("span",{children:y("assignInstance.ideaPinNote")})]})]})]})]}),(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:"idea-user",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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)(k.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:"idea-release",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},80041:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(61212),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.MY)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"idea",targetUuid:a,skip:0,take:50})}catch(a){return i.default.error({err:a},"Failed to get idea activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"40901c9f8641e5032e8ba3023be3eb6563320244e4",null),d()}catch(a){d(a)}})},82870:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(30259),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},84819:(a,b,c)=>{c.d(b,{Separator:()=>g});var d=c(10837);c(21968);var e=c(72229),f=c(96307);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},85806:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f0:()=>l});var e=c(33994),f=c(61212),g=c(50530),h=c(53870),i=c(97879),j=c(28774),k=c(466),l=c(67738),m=c(82870),n=c(23733),o=c(52768),p=a([e,f,g,h,i,j,k,l,m,n,o]);[e,f,g,h,i,j,k,l,m,n,o]=p.then?(await p)():p,d()}catch(a){d(a)}})},87902:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("70cec58cf3ee78e47658f593a642878ab62f8f826a",d.callServer,void 0,d.findSourceMapURL,"reassignIdeaInstanceNoWakeAction")},89998:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$:()=>l,u:()=>k});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(25383),j=a([e,g,h,i]);[e,g,h,i]=j.then?(await j)():j;class l extends Error{constructor(a,b,c){super(b),this.name="StageAdvanceError",this.code=a,this.reason=c}}async function k(a,{companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,temporaryCwd:k}){if("user"!==j&&"super_admin"!==j)throw new l("NOT_HUMAN","Only users can perform a stage-advance action");let m=await e.z.idea.findFirst({where:{uuid:c,companyUuid:b}});if(!m)throw new l("IDEA_NOT_FOUND","Idea not found");let n={companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,idea:{uuid:m.uuid,companyUuid:m.companyUuid,projectUuid:m.projectUuid,status:m.status,elaborationStatus:m.elaborationStatus,assigneeType:m.assigneeType,assigneeUuid:m.assigneeUuid,cwdSource:m.cwdSource,cwdHost:m.cwdHost,runtimeCwd:m.runtimeCwd}},o=await a.precondition(n),p=await (0,h.wo)(b,n.idea.assigneeType,n.idea.assigneeUuid),q=null;p&&(q=await (0,i.gt)({companyUuid:b,actorUserUuid:d,projectUuid:n.idea.projectUuid,agentUuid:p,temporaryTarget:k,registeredInstanceUuid:"agent_instance"===n.idea.assigneeType?n.idea.assigneeUuid:null,registeredSource:"project_fixed"===n.idea.cwdSource?"project_fixed":null,registeredHost:n.idea.cwdHost,registeredRuntimeCwd:n.idea.runtimeCwd}));let r={...o,...q?{resolvedCwdActorUserUuid:q.actorUserUuid,resolvedCwdSource:q.source,resolvedCwdHost:q.host,resolvedRuntimeCwd:q.cwd,resolvedCwdAvailability:q.availability,resolvedCwdPromptPolicy:q.promptPolicy,resolvedCwdAgentInstanceUuid:q.agentInstanceUuid}:{}};if("require_online"===a.offlinePolicy){if(!p){if("agent_instance"===n.idea.assigneeType)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that no longer exists");throw new l("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake")}if(q?.source==="project_fixed"&&"ready"!==q.availability)throw new l("FIXED_CWD_HOST_OFFLINE","The project's fixed cwd target is unavailable");if(q?.source==="registered_instance"&&"ready"!==q.availability)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that has no online connection");if(q?.source==="unconfigured"&&!q.connectionUuid)throw new l("AGENT_OFFLINE","The assigned agent has no online daemon connection")}a.transition&&await a.transition(n),await g.f0.createActivity({companyUuid:b,projectUuid:n.idea.projectUuid,targetType:"idea",targetUuid:c,actorType:j,actorUuid:d,action:a.action,value:r}),f.B.emitChange({companyUuid:b,projectUuid:n.idea.projectUuid,entityType:"idea",entityUuid:c,action:"updated"})}d()}catch(a){d(a)}})},91117:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{E:()=>q,g:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(45133),i=c(11166),j=c(89998),k=c(71255),l=c(97307),m=c(25383),n=c(12217),o=a([g,h,i,j,k,m]);async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,h.y)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Start development rejected"):l.default.error({err:b,ideaUuid:a},"Failed to start development"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline";case"PRECONDITION_FAILED":if(a.reason===h.X.NO_APPROVED_PROPOSAL)return"no_approved_proposal";if(a.reason===h.X.NO_UNFINISHED_TASKS)return"no_unfinished_tasks"}return"unknown"}(b)}}}async function q(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,i.p)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Yolo request rejected"):l.default.error({err:b,ideaUuid:a},"Failed to request yolo"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline"}return"unknown"}(b)}}}[g,h,i,j,k,m]=o.then?(await o)():o,(0,n.D)([p,q]),(0,e.A)(p,"602d1b293d7b95d80deb4a6f53b8db6ad78cc590c2",null),(0,e.A)(q,"600b19d4f44aaa7a619c0df2b95a8c949a88d74d14",null),d()}catch(a){d(a)}})},98028:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("409723e8a9089a1dc8a310b68c0bad85961fd6e797",d.callServer,void 0,d.findSourceMapURL,"updateIdeaAction")}};
1
+ "use strict";exports.id=3594,exports.ids=[3594],exports.modules={4284:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{a1:()=>g});var e=c(71255);c(62729);var f=a([e]);async function g(a){let b=await e.z.projectGroup.findMany({where:{companyUuid:a},orderBy:{createdAt:"asc"}}),c=b.map(a=>a.uuid),d=c.length>0?await e.z.project.groupBy({by:["groupUuid"],where:{companyUuid:a,groupUuid:{in:c}},_count:{_all:!0}}):[],f=new Map(d.map(a=>[a.groupUuid,a._count._all])),g=b.map(a=>({uuid:a.uuid,name:a.name,description:a.description,projectCount:f.get(a.uuid)??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()})),h=await e.z.project.count({where:{companyUuid:a,groupUuid:null}});return{groups:g,total:b.length,ungroupedCount:h}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},5797:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},11166:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{p:()=>g});var e=c(89998),f=a([e]);e=(f.then?(await f)():f)[0];let h={action:"yolo_requested",precondition:async({idea:a})=>{if("agent"!==a.assigneeType&&"agent_instance"!==a.assigneeType)throw new e.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");return{}},offlinePolicy:"require_online"};async function g({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f}){await (0,e.u)(h,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f})}d()}catch(a){d(a)}})},22110:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{e1:()=>o,em:()=>n,yu:()=>p,zS:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(23733),i=c(71255),j=c(97307),k=c(12217),l=a([g,h,i]);async function m(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}async function n(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.Rm)({companyUuid:d.companyUuid,ideaUuid:a,roundUuid:b,actorUuid:d.actorUuid,actorType:d.type,answers:c}),g=await i.z.idea.findFirst({where:{uuid:a,companyUuid:d.companyUuid}});return g&&((0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas`)),{success:!0,data:e}}catch(a){return j.default.error({err:a},"Failed to submit elaboration answers"),{success:!1,error:a instanceof Error?a.message:"Failed to submit answers"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};if("user"!==b.type&&"super_admin"!==b.type)return{success:!1,error:"Only users can verify elaboration"};try{let c=await (0,h.A7)({companyUuid:b.companyUuid,ideaUuid:a,actorUuid:b.actorUuid,actorType:b.type}),d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:b.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to verify elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to verify elaboration"}}}async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{await (0,h.Y_)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,reason:b});let d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0}}catch(a){return j.default.error({err:a},"Failed to skip elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to skip elaboration"}}}[g,h,i]=l.then?(await l)():l,(0,k.D)([m,n,o,p]),(0,e.A)(m,"40233a2c9cac69a7ed93f1e9b6339831b71407d58d",null),(0,e.A)(n,"70b7bd8a23cd8ff14ae94b33a0bc6d07c77b975899",null),(0,e.A)(o,"401c56a8f181549ad595ec886f4497c383dbaeac6b",null),(0,e.A)(p,"605a3deb07beae652b933b1d4f713649ff7d110d65",null),d()}catch(a){d(a)}})},23157:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ax:()=>q,G3:()=>v,M$:()=>s,UD:()=>u,UP:()=>r,ZL:()=>t,qN:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),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.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid: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:"idea",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea"),{success:!1,error:"Failed to claim idea"}}}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.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};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.Xo)({ideaUuid: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:"idea",targetUuid:a,actorType:"user",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}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to agent"),{success:!1,error:"Failed to claim idea"}}}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.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:c,allowElaboratedInstanceRepin:!0}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to reassign idea instance (no wake)"),{success:!1,error:"Failed to reassign idea"}}}async function s(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByType:"user",assignedByUuid:c.actorUuid}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to user"),{success:!1,error:"Failed to claim idea"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.h_)(c.uuid),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to release idea"),{success:!1,error:"Failed to release idea"}}}async function u(){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,"idea:write",a.actorUuid),(0,i.A8)(a.companyUuid)]);return{agents:b,users:c}}catch(a){return m.default.error({err:a},"Failed to get assignable agents"),{agents:[],users:[]}}}async function v(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]),(0,e.A)(p,"4040785428382bc6df0b2aca473c9e048f3f83203f",null),(0,e.A)(q,"701c3e5a634d5a14e2b70d7bfcdfe38f05ce97b0c2",null),(0,e.A)(r,"70cec58cf3ee78e47658f593a642878ab62f8f826a",null),(0,e.A)(s,"6049412ecadb641edc247405003a973cc0069f87b1",null),(0,e.A)(t,"40b7cfc1a2755b1c1f006d2b1233c95a1ee568ba25",null),(0,e.A)(u,"001ce2eb46f49e07ac0ca62dfbb45d757bc843f26f",null),(0,e.A)(v,"607f68646ff7093aa935d4059031bb606a55019cf1",null),d()}catch(a){d(a)}})},23733:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A7:()=>m,Rm:()=>l,Y_:()=>n,t8:()=>o});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(89998),j=a([e,g,h,i]);async function k(a,b,c){if(b.assigneeUuid===c)return!0;if("agent_instance"===b.assigneeType){let d=await (0,h.wo)(a,b.assigneeType,b.assigneeUuid);return null!==d&&d===c}return!1}async function l({companyUuid:a,ideaUuid:b,roundUuid:c,actorUuid:d,actorType:h,answers:i}){let j=c;if(!j){let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a,status:"pending_answers"},select:{uuid:!0}});if(0===c.length)throw Error("no active round to answer");if(c.length>1)throw Error("multiple active rounds; specify roundUuid");j=c[0].uuid}let k=await e.z.elaborationRound.findFirst({where:{uuid:j,ideaUuid:b,companyUuid:a},include:{questions:!0}});if(!k)throw Error("Elaboration round not found");if("pending_answers"!==k.status)throw Error(`Round is '${k.status}', expected 'pending_answers'`);let l=new Date;for(let a of i){let b=k.questions.find(b=>b.questionId===a.questionId);if(!b)throw Error(`Question '${a.questionId}' not found in round`);if(null!==a.selectedOptionId){if(!b.options.find(b=>b.id===a.selectedOptionId))throw Error(`Invalid option '${a.selectedOptionId}' for question '${a.questionId}'`)}else if(!a.customText?.trim())throw Error(`Question '${a.questionId}': custom text is required when no option is selected`);await e.z.elaborationQuestion.update({where:{uuid:b.uuid},data:{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:l,answeredByType:h,answeredByUuid:d}})}let m=(await e.z.elaborationQuestion.findMany({where:{roundUuid:j}})).filter(a=>a.required).every(a=>null!==a.answeredAt),n=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});m&&(await e.z.elaborationRound.update({where:{uuid:j},data:{status:"answered"}}),n?.elaborationStatus!=="resolved"&&await e.z.idea.update({where:{uuid:b},data:{elaborationStatus:"validating"}})),await g.f0.createActivity({companyUuid:a,projectUuid:n.projectUuid,targetType:"idea",targetUuid:b,actorType:h,actorUuid:d,action:"elaboration_answered",value:{roundNumber:k.roundNumber,answeredCount:i.length}}),f.B.emitChange({companyUuid:a,projectUuid:n.projectUuid,entityType:"idea",entityUuid:b,action:"updated"});let o=await e.z.elaborationRound.findUnique({where:{uuid:j},include:{questions:!0}});return p(o)}[e,g,h,i]=j.then?(await j)():j;let r={action:"elaboration_verified",precondition:async({companyUuid:a,ideaUuid:b})=>{let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a}});if(0===c.length)throw new i.$("PRECONDITION_FAILED","Cannot resolve: the Idea has no elaboration rounds","no_rounds");let d=c.filter(a=>"pending_answers"===a.status);if(d.length>0)throw new i.$("PRECONDITION_FAILED",`Cannot resolve: ${d.length} round(s) still have unanswered questions`,"pending_answers");return{totalRounds:c.length}},transition:async({ideaUuid:a})=>{await e.z.idea.update({where:{uuid:a},data:{status:"elaborated",elaborationStatus:"resolved"}})},offlinePolicy:"queue"};async function m({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}){return await (0,i.u)(r,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}),o({companyUuid:a,ideaUuid:b})}async function n({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,reason:h,actorIsIdeaAdmin:i=!1}){let j=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!j)throw Error("Idea not found");let l=await k(a,j,c);if(!l&&!i)throw Error("Only the assigned agent or an idea:admin gateway can skip elaboration");if("elaborating"!==j.status)throw Error(`Cannot skip elaboration from status '${j.status}'`);await e.z.idea.update({where:{uuid:b},data:{status:"elaborated",elaborationDepth:"minimal",elaborationStatus:"resolved"}}),await g.f0.createActivity({companyUuid:a,projectUuid:j.projectUuid,targetType:"idea",targetUuid:b,actorType:d,actorUuid:c,action:l?"elaboration_skipped":"elaboration_verified",value:l?{reason:h}:{reason:h,viaSkip:!0}}),f.B.emitChange({companyUuid:a,projectUuid:j.projectUuid,entityType:"idea",entityUuid:b,action:"updated"})}async function o({companyUuid:a,ideaUuid:b}){let c=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Idea not found");let d=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a},include:{questions:!0},orderBy:{roundNumber:"asc"}}),f=d.flatMap(a=>a.questions),g=f.filter(a=>null!==a.answeredAt),h=d.filter(a=>"pending_answers"!==a.status),i=d.find(a=>"pending_answers"===a.status);return{ideaUuid:b,depth:c.elaborationDepth,status:c.elaborationStatus,rounds:d.map(p),summary:{totalQuestions:f.length,answeredQuestions:g.length,validatedRounds:h.length,pendingRound:i?.roundNumber||null}}}function p(a){return{uuid:a.uuid,roundNumber:a.roundNumber,status:a.status,isAppended:a.isAppended,createdBy:{type:a.createdByType,uuid:a.createdByUuid},validatedAt:a.validatedAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),questions:a.questions.map(q)}}function q(a){return{uuid:a.uuid,questionId:a.questionId,text:a.text,category:a.category,options:a.options,required:a.required,answer:a.answeredAt?{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:a.answeredAt.toISOString(),answeredBy:{type:a.answeredByType,uuid:a.answeredByUuid}}:null,issue:a.issueType?{type:a.issueType,description:a.issueDescription||""}:null}}d()}catch(a){d(a)}})},24364:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},25580:(a,b,c)=>{c.d(b,{R:()=>w});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(21790),i=c(49102),j=c(20447),k=c(67832),l=c(87461),m=c(9810),n=c(86460),o=c(42424),p=c(9994),q=c(82658),r=c(42377);let s=(0,r.createServerReference)("70b7bd8a23cd8ff14ae94b33a0bc6d07c77b975899",r.callServer,void 0,r.findSourceMapURL,"submitElaborationAnswersAction");var t=c(42087);let u="__other__",v={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function w({ideaUuid:a,elaboration:b,onRefresh:c}){let e=(0,g.c)("elaboration"),h=(0,f.r)();if(!b||0===b.rounds.length)return null;let{summary:i,rounds:j}=b;return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e("title")}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:e("answeredCounter",{answered:i.answeredQuestions,total:i.totalQuestions})})]}),(0,d.jsx)("div",{className:"space-y-2.5",children:j.map(b=>(0,d.jsx)(x,{round:b,ideaUuid:a,onAnswered:async()=>{await c?.(),h.refresh()}},b.uuid))})]})}function x({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),j="pending_answers"===a.status,k="answered"===a.status||"validated"===a.status||"needs_followup"===a.status,[l,m]=(0,e.useState)(j);return(0,d.jsx)(q.Nt,{open:l,onOpenChange:m,children:(0,d.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-card",children:[(0,d.jsx)(q.R6,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:`flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-background ${l?"bg-[#F7F6F3] dark:bg-[#1e1d1b] border-b border-border":""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l?(0,d.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}):(0,d.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ${j?"bg-primary":"bg-[#888780]"}`,children:a.roundNumber}),(0,d.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:f("roundLabel",{number:a.roundNumber})}),a.isAppended&&(0,d.jsx)("span",{className:"rounded bg-[#EDE7F6] dark:bg-[#221833] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6] dark:text-[#A99FF0]",children:f("appendedBadge")}),!l&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["\xb7 ",f("questionCount",{count:a.questions.length})]})]}),k?(0,d.jsx)("span",{className:"rounded bg-[#E8F5E9] dark:bg-[#14281a] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32] dark:text-[#5FD07E]",children:f("statusAnswered")}):(0,d.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:f("pendingAnswers")})]})}),(0,d.jsx)(q.Ke,{children:j?(0,d.jsx)(z,{round:a,ideaUuid:b,onAnswered:c}):(0,d.jsx)(y,{round:a})})]})})}function y({round:a}){let b=(0,g.c)("elaboration");return(0,d.jsx)("div",{className:"space-y-4 px-4 py-4",children:a.questions.map((c,e)=>{let f=c.answer?.selectedOptionId?c.options.find(a=>a.id===c.answer?.selectedOptionId):null,g=c.answer?.customText||f?.label||b("noAnswer"),h=v[c.category]||c.category;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("span",{className:"text-xs leading-relaxed text-muted-foreground",children:["Q: ",c.text]}),(0,d.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:b(`category.${h}`)})]}),(0,d.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-foreground",children:["A: ",g]}),e<a.questions.length-1&&(0,d.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},c.uuid)})})}function z({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),[h,q]=(0,e.useState)(0),r=(0,e.useRef)(h),[w,x]=(0,e.useState)("right"),[y,z]=(0,e.useState)({}),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(null),E=(0,e.useCallback)((a,b)=>{x("left"===b?"right":"left"),q(a)},[]),F=a.questions,G=F[h],H=v[G.category]||G.category,I=(0,e.useCallback)((a,b)=>{if(z(c=>({...c,[a]:{questionId:a,selectedOptionId:b===u?null:b,customText:b===u?c[a]?.customText||"":null}})),b!==u){let a=Math.min(F.length-1,r.current+1);a!==r.current&&setTimeout(()=>E(a,"left"),200)}},[F.length,E]),J=(0,e.useCallback)((a,b)=>{z(c=>({...c,[a]:{...c[a],questionId:a,selectedOptionId:null,customText:b}}))},[]),K=F.filter(a=>a.required).every(a=>{let b=y[a.questionId];return!!b&&!!(b.selectedOptionId||b.customText&&b.customText.trim())}),L=async()=>{B(!0),D(null);let d=Object.values(y),e=await s(b,a.uuid,d);e.success?(await c(),B(!1)):(B(!1),D(e.error||f("submitFailed")))},M=(a=>{let b=y[a];return b?null===b.selectedOptionId&&null!==b.customText&&void 0!==b.customText?u:b.selectedOptionId||null:null})(G.questionId),N=M===u,O=h===F.length-1,P=!!(y[G.questionId]?.customText??"").trim();return(0,d.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,d.jsxs)("div",{className:"right"===w?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:G.text}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h-1,"right"),disabled:0===h,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(j.A,{className:"h-4 w-4"})}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:f("navCounter",{current:h+1,total:F.length})}),(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h+1,"left"),disabled:h===F.length-1,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]})]}),(0,d.jsxs)("div",{className:"mt-3",children:[G.options.map((a,b)=>{let c=M===a.id;return(0,d.jsxs)("div",{children:[(0,d.jsxs)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,a.id),className:`flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ${c?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-border text-xs font-medium text-foreground/80",children:b+1}),(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-foreground",children:a.label}),a.description&&(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-muted-foreground",children:a.description})]})]}),c&&(0,d.jsx)(k.A,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground"})]}),b<G.options.length-1&&(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},a.id)}),(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,d.jsxs)("div",{className:`flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ${N?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-border",onClick:()=>I(G.questionId,u),children:(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(p.p,{type:"text",value:y[G.questionId]?.customText||"",onChange:a=>J(G.questionId,a.target.value),onKeyDown:a=>{if((0,t.P)(a)||"Enter"!==a.key||a.shiftKey||a.ctrlKey||a.metaKey||(a.preventDefault(),O||!P))return;let b=r.current+1;setTimeout(()=>E(b,"left"),200)},placeholder:f("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-foreground placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!O&&(0,d.jsx)(o.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(O||!P)return;let a=r.current+1;setTimeout(()=>E(a,"left"),200)},disabled:!P,"aria-label":f("confirmAnswerAria"),className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(m.A,{className:"h-4 w-4"})})]}):(0,d.jsx)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,u),className:"flex-1 justify-start text-left text-[13px] italic text-muted-foreground h-auto p-0 hover:bg-transparent",children:f("somethingElse")})]})]})]},h),C&&(0,d.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:C}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,d.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-primary"}),f(`category.${H}`)]}),(0,d.jsx)(o.$,{onClick:L,disabled:!K||A,className:"bg-primary hover:bg-[#B56A42] text-white text-[13px]",children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),f("submitting")]}):f("submitAnswers")})]})]})}},26402:(a,b,c)=>{c.d(b,{o:()=>d});function d({ideaStatus:a,elaborationStatus:b,elaboration:c}){return!("elaborating"!==a||"resolved"===b||!c||0===c.rounds.length||c.rounds.some(a=>"pending_answers"===a.status))}},30259:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(61212),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},31138:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{JQ:()=>o,Z$:()=>p,w$:()=>n,zK:()=>q});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),i=c(97879),j=c(466),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.i1)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,content:a.content||null,attachments:a.attachments||null,createdByUuid:b.actorUuid,isContainer:a.isContainer});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,ideaUuid:c.uuid}}catch(a){return k.default.error({err:a},"Failed to create idea"),{success:!1,error:"Failed to create idea"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.JF)(a.ideaUuid,b.companyUuid,{title:a.title,content:a.content,...void 0!==a.isContainer?{isContainer:a.isContainer}:{}},{actorType:b.type,actorUuid:b.actorUuid});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,idea:c}}catch(a){return k.default.error({err:a},"Failed to update idea"),{success:!1,error:"Failed to update idea"}}}async function p(a,b){if(!await (0,g.d)())return{success:!1,error:"Unauthorized"};try{return await (0,h.Nm)(a),(0,f.revalidatePath)(`/projects/${b}/ideas`),{success:!0}}catch(a){return k.default.error({err:a},"Failed to delete idea"),{success:!1,error:"Failed to delete idea"}}}async function q(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{ideas:c}=await (0,h.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3}),d=c.map(a=>a.uuid),[e,f]=await Promise.all([d.length>0?(0,i.e1)(b.companyUuid,d):Promise.resolve({usedIdeas:[]}),d.length>0?(0,j.uA)(b.companyUuid,"idea",d):Promise.resolve({})]),g=e.usedIdeas.map(a=>a.uuid),k={};for(let a of e.usedIdeas)k[a.uuid]=a.proposalUuid;let l=c.map(a=>({...a,commentCount:f[a.uuid]||0}));return{success:!0,data:{ideas:l,usedIdeaUuids:g,ideaProposalMap:k}}}catch(a){return k.default.error({err:a},"Failed to fetch ideas"),{success:!1,error:"Failed to fetch ideas"}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o,p,q]),(0,e.A)(n,"40e66e36c7167961297cad969d71e2ae2de6ec6c4d",null),(0,e.A)(o,"409723e8a9089a1dc8a310b68c0bad85961fd6e797",null),(0,e.A)(p,"600d800e23e0e0c2809cc17d70b07c9f52829e3f8e",null),(0,e.A)(q,"40436bf405186b267b13793938e8490d9e917dbab3",null),d()}catch(a){d(a)}})},42494:(a,b,c)=>{c.d(b,{e:()=>e});var d=c(42377);let e=(0,d.createServerReference)("401c56a8f181549ad595ec886f4497c383dbaeac6b",d.callServer,void 0,d.findSourceMapURL,"verifyElaborationAction")},43227:(a,b,c)=>{c.d(b,{s:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(77840),i=c(86460),j=c(42424),k=c(6019),l=c(99127),m=c(70028);let n=new Set(["done","closed"]);function o({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!(b&&b.some(a=>"approved"===a.status)&&c&&0!==c.length&&c.every(a=>n.has(a.status)))}var p=c(42377);let q=(0,p.createServerReference)("600b19d4f44aaa7a619c0df2b95a8c949a88d74d14",p.callServer,void 0,p.findSourceMapURL,"yoloRequestedAction");var r=c(87902),s=c(76799),t=c(77078);let u={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"},v="bg-[#7F5AF0] hover:bg-[#6D48DE] dark:bg-[#6E56C8] dark:hover:bg-[#7C63D8] text-white";function w({ideaUuid:a,assignee:b,assigneeName:c,proposals:n,tasks:p,onStarted:w}){var x;let y=(0,f.c)("yolo"),z=(0,m.kz)()?.connections??[],[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!1),{start:G,pickerState:H,confirmPick:I,confirmTemporary:J,cancelPick:K,isResolving:L}=(0,s.E)({reassignNoWake:r.U,previewIdeaUuid:a}),M=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,N=null!==M&&z.some(a=>a.agentUuid===M&&"online"===a.effectiveStatus),O=o({assignee:b,proposals:n,tasks:p}),P=o(x={assignee:b,proposals:n,tasks:p,agentOnline:N})&&x.agentOnline;if(!O||C)return C?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:y("startedHint")}):null;let Q=async b=>{B(!0);let c=b?await q(a,b):await q(a);B(!1),c.success?(D(!0),g.oR.success(y("startedHint")),w?.()):g.oR.error(y(u[c.errorCode??"unknown"]))};return N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(k.Lt,{open:E,onOpenChange:F,children:[(0,d.jsx)(k.tv,{asChild:!0,children:(0,d.jsxs)(j.$,{className:v,disabled:!P,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),y("button")]})}),(0,d.jsxs)(k.EO,{children:[(0,d.jsxs)(k.wd,{children:[(0,d.jsx)(k.r7,{children:y("confirmTitle")}),(0,d.jsx)(k.$v,{children:y("confirmDescription")})]}),(0,d.jsxs)(k.ck,{children:[(0,d.jsx)(k.Zr,{disabled:A,children:y("cancel")}),(0,d.jsx)(j.$,{className:v,onClick:()=>{F(!1),G({ideaUuid:a,wake:Q})},disabled:A||L,children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("starting")]}):y("confirmCta")})]})]})]}),(0,d.jsx)(t.V,{open:null!==H,agentName:c??"",instances:H?.instances??[],agentUuid:H?.agentUuid,onConfirm:I,onTemporaryConfirm:J,onCancel:K})]}):(0,d.jsx)(l.Bc,{delayDuration:300,children:(0,d.jsxs)(l.m_,{children:[(0,d.jsx)(l.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,d.jsxs)(j.$,{className:v,disabled:!0,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),y("button")]})})}),(0,d.jsx)(l.ZI,{children:y("offlineHint")})]})})}},45133:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i,y:()=>h});var e=c(71255),f=c(89998),g=a([e,f]);[e,f]=g.then?(await g)():g;let i={NO_APPROVED_PROPOSAL:"no_approved_proposal",NO_UNFINISHED_TASKS:"no_unfinished_tasks"},j=["done","closed"],k={action:"start_development",precondition:async({companyUuid:a,ideaUuid:b,idea:c})=>{if("agent"!==c.assigneeType&&"agent_instance"!==c.assigneeType)throw new f.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");let d=await e.z.proposal.findFirst({where:{companyUuid:a,projectUuid:c.projectUuid,status:"approved",inputUuids:{array_contains:[b]}},select:{uuid:!0},orderBy:{createdAt:"desc"}});if(!d)throw new f.$("PRECONDITION_FAILED","The Idea has no approved proposal",i.NO_APPROVED_PROPOSAL);let g=await e.z.task.count({where:{companyUuid:a,proposalUuid:d.uuid,status:{notIn:j}}});if(0===g)throw new f.$("PRECONDITION_FAILED","All tasks of the approved proposal are finished",i.NO_UNFINISHED_TASKS);return{proposalUuid:d.uuid,remainingTasks:g}},offlinePolicy:"require_online"};async function h({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e}){await (0,f.u)(k,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e})}d()}catch(a){d(a)}})},47424:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60077c1e41fefc364a41ddb56f92c30ef87dfa862a",d.callServer,void 0,d.findSourceMapURL,"getTasksForProposalAction")},53581:(a,b,c)=>{c.d(b,{Z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("600d800e23e0e0c2809cc17d70b07c9f52829e3f8e",d.callServer,void 0,d.findSourceMapURL,"deleteIdeaAction")},54758:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("6066eceb3e85a10d2c993aebfd344667542cccb7ea",d.callServer,void 0,d.findSourceMapURL,"getProposalsForIdeaAction")},57644:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Qd:()=>r,U$:()=>w,UN:()=>u,WD:()=>y,co:()=>v,cq:()=>q,d1:()=>z,nR:()=>s,s$:()=>x,wm:()=>t,zS:()=>A});var e=c(2613);c(50785);var f=c(9259),g=c(61212),h=c(97879),i=c(53870),j=c(50530),k=c(33994),l=c(4284),m=c(23733),n=c(97307),o=c(12217),p=a([f,g,h,i,j,k,l,m]);async function q(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,g.Zl)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function r(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,j.gg)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function s(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.bY)(c.companyUuid,a,b,c.actorUuid,c.type);return{success:!0,moved:d.moved}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to move idea"}}}async function t(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};if(d.projectUuid===b)return{success:!1,error:"Idea is already in the target project"};let e=await (0,g.jJ)(c.companyUuid,a,b);return{success:!0,moved:e.moved}}catch(a){return n.default.error({err:a},"Failed to preview idea move"),{success:!1,error:a instanceof Error?a.message:"Failed to preview move"}}}async function u(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=await (0,h.fS)(c.companyUuid,a,b);return{success:!0,data:d}}async function v(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let{tasks:d}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,proposalUuids:[b],skip:0,take:100});return{success:!0,data:d}}async function w(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=(await (0,h.fS)(c.companyUuid,a,b)).filter(a=>"approved"===a.status).map(a=>a.uuid),e=await (0,i.yZ)(c.companyUuid,d,"report");return e.sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()),{success:!0,data:e}}async function x(){let a=await (0,f.d)();if(!a)return{success:!1,error:"Unauthorized"};let[{projects:b},{groups:c}]=await Promise.all([(0,k.hF)({companyUuid:a.companyUuid,skip:0,take:100}),(0,l.a1)(a.companyUuid)]);return{success:!0,data:{projects:b,groups:c}}}async function y(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.EZ)(a,b,c.companyUuid,{actorType:c.type,actorUuid:c.actorUuid});return{success:!0,data:d}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to set parent"}}}async function z(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let{ideas:c,total:d}=await (0,g.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:200});return{success:!0,data:c.map(a=>({uuid:a.uuid,title:a.title})),total:d,hasMore:d>c.length}}async function A(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,m.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return n.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}[f,g,h,i,j,k,l,m]=p.then?(await p)():p,(0,o.D)([q,r,s,t,u,v,w,x,y,z,A]),(0,e.A)(q,"40105aaae35dd17e0115cd8b12393c5a55a0c22ec3",null),(0,e.A)(r,"40bbd1b0376808960fb33e7569ba6eb1f6588104ae",null),(0,e.A)(s,"60769391d743acf35c3a7a271c3c36dfb2a492ba37",null),(0,e.A)(t,"609db9e948fed0aa34bc631da019fa0361983768ed",null),(0,e.A)(u,"6066eceb3e85a10d2c993aebfd344667542cccb7ea",null),(0,e.A)(v,"60077c1e41fefc364a41ddb56f92c30ef87dfa862a",null),(0,e.A)(w,"603964df7ea6e899b7f77fb2fb1c2814093c4be728",null),(0,e.A)(x,"00488e8ee3f35df3e0e3d04c7bdf0a507a452ea6e0",null),(0,e.A)(y,"60c60e6d3d8ab3e1c7a1feeb6a5f95223a80a10bf9",null),(0,e.A)(z,"40961fd2c514e009922e207a11cabfc30983a4ba2e",null),(0,e.A)(A,"406a1ea166eba751771eb7dd0f2a56499e77ed49a4",null),d()}catch(a){d(a)}})},60881:(a,b,c)=>{c.d(b,{h:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(68884),h=c(76549),i=c(86460),j=c(56149),k=c(9810),l=c(55775),m=c(42424),n=c(2852),o=c(11568),p=c(10297),q=c(74113),r=c(96307),s=c(42377);let t=(0,s.createServerReference)("00488e8ee3f35df3e0e3d04c7bdf0a507a452ea6e0",s.callServer,void 0,s.findSourceMapURL,"getProjectsAndGroupsAction");s.callServer,s.findSourceMapURL;let u=(0,s.createServerReference)("60769391d743acf35c3a7a271c3c36dfb2a492ba37",s.callServer,void 0,s.findSourceMapURL,"moveIdeaAction");var v=c(54722);function w({open:a,onOpenChange:b,ideaUuid:c,projectUuid:s,onMoved:w}){let x=(0,f.c)("ideas"),y=(0,f.c)("common"),z=(0,g.r)(),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(!1),I=(()=>{if(!E)return null;for(let a of A){let b=a.projects.find(a=>a.uuid===E);if(b)return b.name}return null})(),[J,K]=(0,e.useState)(null),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(null),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(null);(0,e.useRef)(0);let T=(0,e.useCallback)(a=>{a&&a.addEventListener("wheel",a=>a.stopPropagation(),{passive:!0})},[]);(0,e.useCallback)(async()=>{F(null),K(null),O(null),S(null),D(!0);try{let a=await t();if(a.success){let{projects:b,groups:c}=a.data,d=b.filter(a=>a.uuid!==s).map(a=>({uuid:a.uuid,name:a.name,groupUuid:a.groupUuid})),e=new Map;for(let a of c)e.set(a.uuid,a.name);let f=new Map,g=[];for(let a of d)a.groupUuid&&e.has(a.groupUuid)?(f.has(a.groupUuid)||f.set(a.groupUuid,{uuid:a.groupUuid,name:e.get(a.groupUuid),projects:[]}),f.get(a.groupUuid).projects.push({uuid:a.uuid,name:a.name})):g.push({uuid:a.uuid,name:a.name});let h=[...f.values()];g.length>0&&h.push({uuid:"ungrouped",name:x("ungrouped"),projects:g}),B(h)}}catch(a){v.q.error("Failed to load projects for move dialog:",a),B([])}D(!1)},[s,x]);let U=async()=>{if(E&&J&&!P){Q(!0),S(null);try{let a=await u(c,E);if(a.success){let d=a.moved;h.oR.success(x("moveDialog.successToast",{...d}),{action:{label:x("moveDialog.viewMovedIdea"),onClick:()=>{z.push(`/projects/${E}/dashboard?panel=${c}&tab=overview`)}}}),b(!1),z.refresh(),w(d)}else S(x("moveDialog.error",{message:a.error||x("moveFailed")}))}catch(a){S(x("moveDialog.error",{message:a instanceof Error?a.message:x("moveFailed")}))}Q(!1)}};return(0,d.jsx)(o.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(o.Cf,{children:[(0,d.jsxs)(o.c7,{children:[(0,d.jsx)(o.L3,{children:x("moveDialog.title")}),(0,d.jsx)(o.rr,{children:x("moveDialog.description")})]}),(0,d.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,d.jsx)(n.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-foreground",children:x("moveDialog.targetProjectLabel")}),C?(0,d.jsx)("div",{className:"flex items-center justify-center h-10 border border-border rounded-md",children:(0,d.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,d.jsxs)(q.AM,{open:G,onOpenChange:H,children:[(0,d.jsx)(q.Wv,{asChild:!0,children:(0,d.jsxs)(m.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":G,className:(0,r.cn)("w-full justify-between border-border font-normal",!I&&"text-muted-foreground"),children:[I??x("moveDialog.targetProjectPlaceholder"),(0,d.jsx)(j.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(q.hl,{ref:T,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,d.jsxs)(p.uB,{children:[(0,d.jsx)(p.G7,{placeholder:x("moveDialog.searchProjects")}),(0,d.jsxs)(p.oI,{children:[(0,d.jsx)(p.xL,{children:x("noProjectsFound")}),A.map(a=>(0,d.jsx)(p.L$,{heading:a.name,children:a.projects.map(b=>(0,d.jsxs)(p.h_,{value:`${b.name} ${a.name}`,onSelect:()=>{F(b.uuid),H(!1)},children:[(0,d.jsx)(k.A,{className:(0,r.cn)("mr-2 h-4 w-4",E===b.uuid?"opacity-100":"opacity-0")}),b.name]},b.uuid))},a.uuid))]})]})})]}),E&&(0,d.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-border bg-background p-3 text-[13px] text-foreground",children:L?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,d.jsx)("span",{children:x("moveDialog.previewLoading")})]}):N?(0,d.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,d.jsx)(l.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:N})]}):J?(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("p",{children:x("moveDialog.previewSummary",{...J})}),(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:x("moveDialog.previewWarning")})]}):null}),R&&(0,d.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:R})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,d.jsx)(m.$,{variant:"outline",className:"border-border",onClick:()=>b(!1),disabled:P,children:y("cancel")}),(0,d.jsx)(m.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:U,disabled:!E||!J||P||L,children:P?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),x("moving")]}):x("moveDialog.confirm")})]})]})})}},62460:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40233a2c9cac69a7ed93f1e9b6339831b71407d58d",d.callServer,void 0,d.findSourceMapURL,"getElaborationAction")},68141:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40901c9f8641e5032e8ba3023be3eb6563320244e4",d.callServer,void 0,d.findSourceMapURL,"getIdeaActivitiesAction")},73577:(a,b,c)=>{c.d(b,{w:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(86460),i=c(58270),j=c(42424),k=c(99127),l=c(70028);let m=new Set(["done","closed"]);function n({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!!b&&!!b.some(a=>"approved"===a.status)&&!!c&&!!c.some(a=>!m.has(a.status))&&!0}var o=c(42377);let p=(0,o.createServerReference)("602d1b293d7b95d80deb4a6f53b8db6ad78cc590c2",o.callServer,void 0,o.findSourceMapURL,"startDevelopmentAction");var q=c(87902),r=c(76799),s=c(77078);let t={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",no_approved_proposal:"errorNoApprovedProposal",no_unfinished_tasks:"errorNoUnfinishedTasks",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"};function u({ideaUuid:a,assignee:b,assigneeName:c,proposals:m,tasks:o,onStarted:u}){var v;let w=(0,f.c)("startDevelopment"),x=(0,l.kz)()?.connections??[],[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),{start:C,pickerState:D,confirmPick:E,confirmTemporary:F,cancelPick:G,isResolving:H}=(0,r.E)({reassignNoWake:q.U,previewIdeaUuid:a}),I=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,J=null!==I&&x.some(a=>a.agentUuid===I&&"online"===a.effectiveStatus),K=n({assignee:b,proposals:m,tasks:o}),L=n(v={assignee:b,proposals:m,tasks:o,agentOnline:J})&&v.agentOnline;if(!K||A)return A?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:w("startedHint")}):null;let M=async b=>{z(!0);let c=b?await p(a,b):await p(a);z(!1),c.success?(B(!0),g.oR.success(w("startedHint")),u?.()):g.oR.error(w(t[c.errorCode??"unknown"]))},N=(0,d.jsx)(j.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{C({ideaUuid:a,wake:M})},disabled:!L||y||H,children:y?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),w("starting")]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4"}),w("button")]})});return J?(0,d.jsxs)(d.Fragment,{children:[N,(0,d.jsx)(s.V,{open:null!==D,agentName:c??"",instances:D?.instances??[],agentUuid:D?.agentUuid,onConfirm:E,onTemporaryConfirm:F,onCancel:G})]}):(0,d.jsx)(k.Bc,{delayDuration:300,children:(0,d.jsxs)(k.m_,{children:[(0,d.jsx)(k.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:N})}),(0,d.jsx)(k.ZI,{children:w("offlineHint")})]})})}},76799:(a,b,c)=>{c.d(b,{E:()=>h});var d=c(21968),e=c(54722),f=c(23871);async function g(a){try{let b=await fetch(`/api/ideas/${encodeURIComponent(a)}/wake-preview`,{headers:{Accept:"application/json"}});if(!b.ok)return null;let c=await b.json();if(!c.success||!c.data)return null;return c.data}catch(a){return e.q.error("wake-target preview fetch failed",a),null}}function h({fetchPreview:a=g,reassignNoWake:b,previewIdeaUuid:c}){let[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),p=(0,d.useCallback)(async(a,c,d)=>{try{let f=await b(a,c,d);f.success||e.q.debug("pin-then-wake reassign did not persist (continuing to wake)",f.error)}catch(a){e.q.error("pin-then-wake reassign threw (continuing to wake)",a)}},[b]),q=(0,d.useCallback)(async({ideaUuid:b,wake:c})=>{k(!0);let d=null;try{d=await a(b),m(d?.resolvedTarget?.source==="project_fixed"?d.resolvedTarget:null)}finally{k(!1)}if(!d||!d.assigneeAgentUuid||"direct"===d.outcome)return void await c();let e=d.assigneeAgentUuid,g=(0,f.C)(d.onlineInstances);if("pick"===d.outcome)return 0===g.length?void await c():(o({run:c}),void i({ideaUuid:b,agentUuid:e,instances:g}));if("auto_pin"===d.outcome){let a=g[0];a?.agentInstanceUuid&&await p(b,e,a.agentInstanceUuid),await c();return}},[a,p]),r=(0,d.useCallback)(async a=>{i(null),o(null),h&&n&&(a.agentInstanceUuid&&await p(h.ideaUuid,h.agentUuid,a.agentInstanceUuid),await n.run())},[h,n,p]),s=(0,d.useCallback)(()=>{i(null),o(null)},[]);return{start:q,pickerState:h,confirmPick:r,confirmTemporary:(0,d.useCallback)(async a=>{i(null),o(null),n&&await n.run(a)},[n]),cancelPick:s,isResolving:j,fixedTarget:l}}},77439:(a,b,c)=>{c.d(b,{i:()=>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)("4040785428382bc6df0b2aca473c9e048f3f83203f",t.callServer,void 0,t.findSourceMapURL,"claimIdeaAction"),v=(0,t.createServerReference)("701c3e5a634d5a14e2b70d7bfcdfe38f05ce97b0c2",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToAgentAction"),w=(0,t.createServerReference)("6049412ecadb641edc247405003a973cc0069f87b1",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToUserAction"),x=(0,t.createServerReference)("40b7cfc1a2755b1c1f006d2b1233c95a1ee568ba25",t.callServer,void 0,t.findSourceMapURL,"releaseIdeaAction");function y({idea: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?(z.refresh(),t()):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("ideas.assignIdea")}),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:[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("ideas.selectIdeaAssignee")}),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:"idea-self",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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("ideas.assignToMyselfIdeaDesc")})]}),(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:"idea-agent",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-foreground cursor-pointer",children:y("ideas.orAssignToPmAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("ideas.onlySelectedPmAgentCanWork")}),"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("ideas.selectPmAgent")})}),(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("ideas.noPmAgentsAvailable")})})]}),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.ideaPinNote")})]})]})]})]}),(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:"idea-user",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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:"idea-release",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-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("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},80041:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(61212),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.MY)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"idea",targetUuid:a,skip:0,take:50})}catch(a){return i.default.error({err:a},"Failed to get idea activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"40901c9f8641e5032e8ba3023be3eb6563320244e4",null),d()}catch(a){d(a)}})},82870:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(30259),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},84819:(a,b,c)=>{c.d(b,{Separator:()=>g});var d=c(10837);c(21968);var e=c(72229),f=c(96307);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},85806:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f0:()=>l});var e=c(33994),f=c(61212),g=c(50530),h=c(53870),i=c(97879),j=c(28774),k=c(466),l=c(67738),m=c(82870),n=c(23733),o=c(52768),p=a([e,f,g,h,i,j,k,l,m,n,o]);[e,f,g,h,i,j,k,l,m,n,o]=p.then?(await p)():p,d()}catch(a){d(a)}})},87902:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("70cec58cf3ee78e47658f593a642878ab62f8f826a",d.callServer,void 0,d.findSourceMapURL,"reassignIdeaInstanceNoWakeAction")},89998:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$:()=>l,u:()=>k});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(25383),j=a([e,g,h,i]);[e,g,h,i]=j.then?(await j)():j;class l extends Error{constructor(a,b,c){super(b),this.name="StageAdvanceError",this.code=a,this.reason=c}}async function k(a,{companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,temporaryCwd:k}){if("user"!==j&&"super_admin"!==j)throw new l("NOT_HUMAN","Only users can perform a stage-advance action");let m=await e.z.idea.findFirst({where:{uuid:c,companyUuid:b}});if(!m)throw new l("IDEA_NOT_FOUND","Idea not found");let n={companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,idea:{uuid:m.uuid,companyUuid:m.companyUuid,projectUuid:m.projectUuid,status:m.status,elaborationStatus:m.elaborationStatus,assigneeType:m.assigneeType,assigneeUuid:m.assigneeUuid,cwdSource:m.cwdSource,cwdHost:m.cwdHost,runtimeCwd:m.runtimeCwd}},o=await a.precondition(n),p=await (0,h.wo)(b,n.idea.assigneeType,n.idea.assigneeUuid),q=null;p&&(q=await (0,i.gt)({companyUuid:b,actorUserUuid:d,projectUuid:n.idea.projectUuid,agentUuid:p,temporaryTarget:k,registeredInstanceUuid:"agent_instance"===n.idea.assigneeType?n.idea.assigneeUuid:null,registeredSource:"project_fixed"===n.idea.cwdSource?"project_fixed":null,registeredHost:n.idea.cwdHost,registeredRuntimeCwd:n.idea.runtimeCwd}));let r={...o,...q?{resolvedCwdActorUserUuid:q.actorUserUuid,resolvedCwdSource:q.source,resolvedCwdHost:q.host,resolvedRuntimeCwd:q.cwd,resolvedCwdAvailability:q.availability,resolvedCwdPromptPolicy:q.promptPolicy,resolvedCwdAgentInstanceUuid:q.agentInstanceUuid}:{}};if("require_online"===a.offlinePolicy){if(!p){if("agent_instance"===n.idea.assigneeType)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that no longer exists");throw new l("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake")}if(q?.source==="project_fixed"&&"ready"!==q.availability)throw new l("FIXED_CWD_HOST_OFFLINE","The project's fixed cwd target is unavailable");if(q?.source==="registered_instance"&&"ready"!==q.availability)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that has no online connection");if(q?.source==="unconfigured"&&!q.connectionUuid)throw new l("AGENT_OFFLINE","The assigned agent has no online daemon connection")}a.transition&&await a.transition(n),await g.f0.createActivity({companyUuid:b,projectUuid:n.idea.projectUuid,targetType:"idea",targetUuid:c,actorType:j,actorUuid:d,action:a.action,value:r}),f.B.emitChange({companyUuid:b,projectUuid:n.idea.projectUuid,entityType:"idea",entityUuid:c,action:"updated"})}d()}catch(a){d(a)}})},91117:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{E:()=>q,g:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(45133),i=c(11166),j=c(89998),k=c(71255),l=c(97307),m=c(25383),n=c(12217),o=a([g,h,i,j,k,m]);async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,h.y)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Start development rejected"):l.default.error({err:b,ideaUuid:a},"Failed to start development"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline";case"PRECONDITION_FAILED":if(a.reason===h.X.NO_APPROVED_PROPOSAL)return"no_approved_proposal";if(a.reason===h.X.NO_UNFINISHED_TASKS)return"no_unfinished_tasks"}return"unknown"}(b)}}}async function q(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,i.p)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Yolo request rejected"):l.default.error({err:b,ideaUuid:a},"Failed to request yolo"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline"}return"unknown"}(b)}}}[g,h,i,j,k,m]=o.then?(await o)():o,(0,n.D)([p,q]),(0,e.A)(p,"602d1b293d7b95d80deb4a6f53b8db6ad78cc590c2",null),(0,e.A)(q,"600b19d4f44aaa7a619c0df2b95a8c949a88d74d14",null),d()}catch(a){d(a)}})},98028:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("409723e8a9089a1dc8a310b68c0bad85961fd6e797",d.callServer,void 0,d.findSourceMapURL,"updateIdeaAction")}};
@@ -1 +1 @@
1
- "use strict";exports.id=4394,exports.ids=[4394],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>m});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(42424),l=c(59469);let m=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let m=(0,f.c)(),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)({}),[r,s]=(0,e.useState)(new Set),[t,u]=(0,e.useState)(!0),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)({}),B=(0,e.useCallback)(async()=>{u(!0),y(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");o(c.data.agents)}catch{y(!0)}finally{u(!1)}},[a]);(0,e.useEffect)(()=>{B()},[B]);let C=(a,b)=>{q(a),s(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(p))try{let c=await (0,l.q)(b);a.push(c),q(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return A(c=>({...c,[b.agentUuid]:m(`directoryBrowser.errors.${a}`)})),w(b.agentUuid),null}return{upserts:a,clears:[...r]}}}),[r,p,m]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:m("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:m("projectSettings.agentCwds.description")})]}),t&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),m("projectSettings.agentCwds.loading")]}),x&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:m("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(k.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void B(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),m("common.retry")]})]}),!t&&!x&&0===n.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:m("projectSettings.agentCwds.emptyOnline")}),n.map(c=>{let e=p[c.agent.uuid],f=r.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:m(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:m("projectSettings.agentCwds.notConfigured")})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(k.$,{type:"button",size:"icon",variant:"ghost",title:m(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":m(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>w(v===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(k.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:m("projectSettings.agentCwds.clear"),"aria-label":m("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...p};delete c[b];let d=new Set(r);a&&d.add(b),C(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),v===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(l.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(r);c.delete(b),C({...p,[b]:a},c),A(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(z[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:z[c.agent.uuid]||b?.message})]}),v!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},27979:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"40014aa5b3868791a0b037d081a4465451bf191c48":()=>e.Dv,"40b4848772541b873c1f963f81f04d9990cbd6cca8":()=>e.v5,"602178a2adf65ab0139461c8a32ef931c6b5f0b6d5":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
1
+ "use strict";exports.id=4394,exports.ids=[4394],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>n});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(6871),l=c(42424),m=c(59469);let n=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let n=(0,f.c)(),[o,p]=(0,e.useState)([]),[q,r]=(0,e.useState)({}),[s,t]=(0,e.useState)(new Set),[u,v]=(0,e.useState)(!0),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)({}),C=(0,e.useCallback)(async()=>{v(!0),z(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");p(c.data.agents)}catch{z(!0)}finally{v(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=(a,b)=>{r(a),t(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(q))try{let c=await (0,m.q)(b);a.push(c),r(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return B(c=>({...c,[b.agentUuid]:n(`directoryBrowser.errors.${a}`)})),x(b.agentUuid),null}return{upserts:a,clears:[...s]}}}),[s,q,n]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:n("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:n("projectSettings.agentCwds.description")})]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),n("projectSettings.agentCwds.loading")]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:n("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(l.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void C(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),n("common.retry")]})]}),!u&&!y&&0===o.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("projectSettings.agentCwds.emptyOnline")}),o.map(c=>{let e=q[c.agent.uuid],f=s.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start gap-2.5",children:[(0,d.jsx)(k.AgentAvatar,{name:c.agent.name,size:"sm",className:"mt-0.5 rounded-md"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:n(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:n("projectSettings.agentCwds.notConfigured")})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",title:n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>x(w===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:n("projectSettings.agentCwds.clear"),"aria-label":n("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...q};delete c[b];let d=new Set(s);a&&d.add(b),D(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),w===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(m.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(s);c.delete(b),D({...q,[b]:a},c),B(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(A[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:A[c.agent.uuid]||b?.message})]}),w!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},27979:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"40014aa5b3868791a0b037d081a4465451bf191c48":()=>e.Dv,"40b4848772541b873c1f963f81f04d9990cbd6cca8":()=>e.v5,"602178a2adf65ab0139461c8a32ef931c6b5f0b6d5":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
@@ -1 +1 @@
1
- "use strict";exports.id=4827,exports.ids=[4827],exports.modules={27473:(a,b,c)=>{c.d(b,{hD:()=>h,OG:()=>k,YB:()=>m,mA:()=>l,FB:()=>j});var d=c(70936),e=c(7046),f=c(65582);let g=new(c(16698)).AsyncLocalStorage;class h extends Error{constructor(a,b,c=400,d){super(b),this.code=a,this.status=c,this.details=d,this.name="ApiError"}}let i={P2002:"Unique constraint violation",P2025:"Record not found",P2003:"Foreign key constraint violation"};function j(a){return async(b,c)=>{let j=crypto.randomUUID(),k=(0,f.q)({requestId:j});return g.run({requestId:j,logger:k},async()=>{try{return await a(b,c)}catch(a){if((g.getStore()?.logger??f.default).error({err:a},"API error"),a instanceof h)return d.NextResponse.json({success:!1,error:{code:a.code,message:a.message,details:a.details}},{status:a.status});if(a&&"object"==typeof a&&"code"in a){let b=i[a.code];if(b){if("P2025"===a.code)return e.sO.notFound();if("P2002"===a.code)return e.sO.conflict(b);return e.sO.database(b)}}if(a instanceof Error)return e.sO.internal("Internal server error");return e.sO.internal()}})}}async function k(a){try{return await a.json()}catch{throw new h("BAD_REQUEST","Invalid JSON body",400)}}function l(a){let b=new URL(a.url),c={};return b.searchParams.forEach((a,b)=>{c[b]=a}),c}function m(a){let b=l(a),c=Math.max(1,parseInt(b.page||"1",10)),d=Math.min(100,Math.max(1,parseInt(b.pageSize||"20",10)));return{page:c,pageSize:d,skip:(c-1)*d,take:d}}},97515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BP:()=>x,IH:()=>r,Mx:()=>t,_R:()=>v,hx:()=>s,qU:()=>o,vA:()=>h,y8:()=>u});var e=c(52618),f=c(65582),g=a([e]);e=(g.then?(await g)():g)[0];let w=["claude_code","openclaw","codex","kiro"],x=9e4;function h(a){return null!==a&&"conflict"in a}function i(a,b,c=Date.now()){return"online"===a&&c-b.getTime()<=x}function j(a){let b=i(a.status,a.lastSeenAt)?"online":"offline";return{uuid:a.uuid,agentUuid:a.agentUuid,agentName:a.agent?.name??null,ownerUuid:a.agent?.ownerUuid??null,clientType:a.clientType,clientVersion:a.clientVersion,host:a.host,cwd:a.cwd,startedAt:a.startedAt?a.startedAt.toISOString():null,status:a.status,effectiveStatus:b,connectedAt:a.connectedAt.toISOString(),lastSeenAt:a.lastSeenAt.toISOString(),disconnectedAt:a.disconnectedAt?a.disconnectedAt.toISOString():null,agentInstanceUuid:a.agentInstanceUuid??null}}function k(a){let b=a?.trim();return b?b.toLocaleLowerCase("en-US"):"￿"}function l(a){return null===a?"￿":a}function m(a,b){return a<b?-1:+(a>b)}function n(a){return[...a].sort((a,b)=>a.effectiveStatus!==b.effectiveStatus?"online"===a.effectiveStatus?-1:1:m(k(a.agentName),k(b.agentName))||m(a.agentUuid,b.agentUuid)||m(l(a.cwd),l(b.cwd))||m(a.host,b.host)||m(a.clientType,b.clientType)||m(a.uuid,b.uuid))}function o(a){let b=a.get("clientType")??"",c=a.get("livenessAck"),d=a.get("clientVersion"),e=a.get("host"),f=a.get("cwd"),g=null,h=a.get("startedAt");if(h){let a=new Date(h);Number.isNaN(a.getTime())||(g=a)}return{clientType:b,livenessAck:c??null,clientVersion:d??null,host:e??null,cwd:f??null,startedAt:g}}async function p(a,b,c,d){let g={companyUuid:a,agentUuid:b,host:c,cwd:d};try{if(null===d){let d=await e.z.agentInstance.findFirst({where:{companyUuid:a,agentUuid:b,host:c,cwd:null},select:{uuid:!0}});if(d)return(await e.z.agentInstance.update({where:{uuid:d.uuid},data:{updatedAt:new Date},select:{uuid:!0}})).uuid;return(await e.z.agentInstance.create({data:g,select:{uuid:!0}})).uuid}return(await e.z.agentInstance.upsert({where:{companyUuid_agentUuid_host_cwd:{companyUuid:a,agentUuid:b,host:c,cwd:d}},create:g,update:{updatedAt:new Date},select:{uuid:!0}})).uuid}catch(e){return f.default.error({err:e,companyUuid:a,agentUuid:b,host:c,cwd:d},"Failed to upsert AgentInstance; connection will register with a null instance link"),null}}async function q(a,b,c,d,f){for(let g of(await e.z.daemonConnection.findMany({where:{agentUuid:a,host:b,cwd:c},select:{status:!0,lastSeenAt:!0,startedAt:!0,clientType:!0}}))){if(!i(g.status,g.lastSeenAt,f))continue;let a=null!==d&&null!==g.startedAt&&g.startedAt.getTime()===d.getTime(),b=null===d&&null===g.startedAt;if(!a&&!b)return{incumbentStartedAt:g.startedAt,incumbentClientType:g.clientType}}return null}async function r(a,b,d){var g;if(g=d.clientType,!w.includes(g))return null;let h=d.host??"",i=d.cwd??null,j=new Date;try{if(null!==i){let c=await q(b,h,i,d.startedAt??null,j.getTime());if(c)return f.default.warn({companyUuid:a,agentUuid:b,host:h,cwd:i,incumbentStartedAt:c.incumbentStartedAt,incomingStartedAt:d.startedAt??null,incumbentClientType:c.incumbentClientType,incomingClientType:d.clientType},"Skipping daemon connection registration: a live daemon already holds this (agent, host, cwd)"),{conflict:!0,host:h,cwd:i}}let g=await p(a,b,h,i),k={companyUuid:a,agentUuid:b,clientType:d.clientType,clientVersion:d.clientVersion??null,host:h,cwd:i,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g},l={companyUuid:a,clientVersion:d.clientVersion??null,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g};if(null===i){let a=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:null},select:{uuid:!0}});if(a){let b=await e.z.daemonConnection.update({where:{uuid:a.uuid},data:l,select:{uuid:!0,connectedAt:!0}});return{uuid:b.uuid,connectedAt:b.connectedAt}}let c=await e.z.daemonConnection.create({data:k,select:{uuid:!0,connectedAt:!0}});return{uuid:c.uuid,connectedAt:c.connectedAt}}let m=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:i},select:{uuid:!0,startedAt:!0}}),n=await e.z.daemonConnection.upsert({where:{agentUuid_clientType_host_cwd:{agentUuid:b,clientType:d.clientType,host:h,cwd:i}},create:k,update:l,select:{uuid:!0,connectedAt:!0}}),o=d.startedAt??null,r=m?.startedAt instanceof Date?m.startedAt:null;return m&&null!==r&&null!==o&&r.getTime()!==o.getTime()&&Promise.all([c.e(8481),c.e(7578),c.e(1722),c.e(3419),c.e(5205)]).then(c.bind(c,34853)).then(({reconcileOrphanTurns:b})=>b(a,n.uuid,{force:!0})).catch(b=>{f.default.error({err:b,companyUuid:a,connectionUuid:n.uuid},"New-generation orphan-turn reconcile failed to dispatch")}),{uuid:n.uuid,connectedAt:n.connectedAt}}catch(c){return f.default.error({err:c,companyUuid:a,agentUuid:b,clientType:d.clientType},"Failed to register daemon connection"),null}}async function s(a,b){try{await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt},data:{status:"offline",disconnectedAt:new Date}})}catch(c){f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to mark daemon connection disconnected")}}async function t(a,b,c){try{return(await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt,...c?{agentUuid:c}:{}},data:{status:"online",lastSeenAt:new Date}})).count>0}catch(c){return f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to touch daemon connection"),!1}}async function u(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agent:{ownerUuid:b}},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}async function v(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agentUuid:b},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=4827,exports.ids=[4827],exports.modules={27473:(a,b,c)=>{c.d(b,{hD:()=>h,OG:()=>k,YB:()=>m,mA:()=>l,FB:()=>j});var d=c(70936),e=c(7046),f=c(65582);let g=new(c(16698)).AsyncLocalStorage;class h extends Error{constructor(a,b,c=400,d){super(b),this.code=a,this.status=c,this.details=d,this.name="ApiError"}}let i={P2002:"Unique constraint violation",P2025:"Record not found",P2003:"Foreign key constraint violation"};function j(a){return async(b,c)=>{let j=crypto.randomUUID(),k=(0,f.q)({requestId:j});return g.run({requestId:j,logger:k},async()=>{try{return await a(b,c)}catch(a){if((g.getStore()?.logger??f.default).error({err:a},"API error"),a instanceof h)return d.NextResponse.json({success:!1,error:{code:a.code,message:a.message,details:a.details}},{status:a.status});if(a&&"object"==typeof a&&"code"in a){let b=i[a.code];if(b){if("P2025"===a.code)return e.sO.notFound();if("P2002"===a.code)return e.sO.conflict(b);return e.sO.database(b)}}if(a instanceof Error)return e.sO.internal("Internal server error");return e.sO.internal()}})}}async function k(a){try{return await a.json()}catch{throw new h("BAD_REQUEST","Invalid JSON body",400)}}function l(a){let b=new URL(a.url),c={};return b.searchParams.forEach((a,b)=>{c[b]=a}),c}function m(a){let b=l(a),c=Math.max(1,parseInt(b.page||"1",10)),d=Math.min(100,Math.max(1,parseInt(b.pageSize||"20",10)));return{page:c,pageSize:d,skip:(c-1)*d,take:d}}},97515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BP:()=>x,IH:()=>r,Mx:()=>t,_R:()=>v,hx:()=>s,qU:()=>o,vA:()=>h,y8:()=>u});var e=c(52618),f=c(65582),g=a([e]);e=(g.then?(await g)():g)[0];let w=["claude_code","openclaw","codex","kiro"],x=9e4;function h(a){return null!==a&&"conflict"in a}function i(a,b,c=Date.now()){return"online"===a&&c-b.getTime()<=x}function j(a){let b=i(a.status,a.lastSeenAt)?"online":"offline";return{uuid:a.uuid,agentUuid:a.agentUuid,agentName:a.agent?.name??null,ownerUuid:a.agent?.ownerUuid??null,clientType:a.clientType,clientVersion:a.clientVersion,host:a.host,cwd:a.cwd,startedAt:a.startedAt?a.startedAt.toISOString():null,status:a.status,effectiveStatus:b,connectedAt:a.connectedAt.toISOString(),lastSeenAt:a.lastSeenAt.toISOString(),disconnectedAt:a.disconnectedAt?a.disconnectedAt.toISOString():null,agentInstanceUuid:a.agentInstanceUuid??null}}function k(a){let b=a?.trim();return b?b.toLocaleLowerCase("en-US"):"￿"}function l(a){return null===a?"￿":a}function m(a,b){return a<b?-1:+(a>b)}function n(a){return[...a].sort((a,b)=>a.effectiveStatus!==b.effectiveStatus?"online"===a.effectiveStatus?-1:1:m(k(a.agentName),k(b.agentName))||m(a.agentUuid,b.agentUuid)||m(l(a.cwd),l(b.cwd))||m(a.host,b.host)||m(a.clientType,b.clientType)||m(a.uuid,b.uuid))}function o(a){let b=a.get("clientType")??"",c=a.get("livenessAck"),d=a.get("clientVersion"),e=a.get("host"),f=a.get("cwd"),g=null,h=a.get("startedAt");if(h){let a=new Date(h);Number.isNaN(a.getTime())||(g=a)}return{clientType:b,livenessAck:c??null,clientVersion:d??null,host:e??null,cwd:f??null,startedAt:g}}async function p(a,b,c,d){let g={companyUuid:a,agentUuid:b,host:c,cwd:d};try{if(null===d){let d=await e.z.agentInstance.findFirst({where:{companyUuid:a,agentUuid:b,host:c,cwd:null},select:{uuid:!0}});if(d)return(await e.z.agentInstance.update({where:{uuid:d.uuid},data:{updatedAt:new Date},select:{uuid:!0}})).uuid;return(await e.z.agentInstance.create({data:g,select:{uuid:!0}})).uuid}return(await e.z.agentInstance.upsert({where:{companyUuid_agentUuid_host_cwd:{companyUuid:a,agentUuid:b,host:c,cwd:d}},create:g,update:{updatedAt:new Date},select:{uuid:!0}})).uuid}catch(e){return f.default.error({err:e,companyUuid:a,agentUuid:b,host:c,cwd:d},"Failed to upsert AgentInstance; connection will register with a null instance link"),null}}async function q(a,b,c,d,f){for(let g of(await e.z.daemonConnection.findMany({where:{agentUuid:a,host:b,cwd:c},select:{status:!0,lastSeenAt:!0,startedAt:!0,clientType:!0}}))){if(!i(g.status,g.lastSeenAt,f))continue;let a=null!==d&&null!==g.startedAt&&g.startedAt.getTime()===d.getTime(),b=null===d&&null===g.startedAt;if(!a&&!b)return{incumbentStartedAt:g.startedAt,incumbentClientType:g.clientType}}return null}async function r(a,b,d){var g;if(g=d.clientType,!w.includes(g))return null;let h=d.host??"",i=d.cwd??null,j=new Date;try{if(null!==i){let c=await q(b,h,i,d.startedAt??null,j.getTime());if(c)return f.default.warn({companyUuid:a,agentUuid:b,host:h,cwd:i,incumbentStartedAt:c.incumbentStartedAt,incomingStartedAt:d.startedAt??null,incumbentClientType:c.incumbentClientType,incomingClientType:d.clientType},"Skipping daemon connection registration: a live daemon already holds this (agent, host, cwd)"),{conflict:!0,host:h,cwd:i}}let g=await p(a,b,h,i),k={companyUuid:a,agentUuid:b,clientType:d.clientType,clientVersion:d.clientVersion??null,host:h,cwd:i,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g},l={companyUuid:a,clientVersion:d.clientVersion??null,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g};if(null===i){let a=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:null},select:{uuid:!0}});if(a){let b=await e.z.daemonConnection.update({where:{uuid:a.uuid},data:l,select:{uuid:!0,connectedAt:!0}});return{uuid:b.uuid,connectedAt:b.connectedAt}}let c=await e.z.daemonConnection.create({data:k,select:{uuid:!0,connectedAt:!0}});return{uuid:c.uuid,connectedAt:c.connectedAt}}let m=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:i},select:{uuid:!0,startedAt:!0}}),n=await e.z.daemonConnection.upsert({where:{agentUuid_clientType_host_cwd:{agentUuid:b,clientType:d.clientType,host:h,cwd:i}},create:k,update:l,select:{uuid:!0,connectedAt:!0}}),o=d.startedAt??null,r=m?.startedAt instanceof Date?m.startedAt:null;return m&&null!==r&&null!==o&&r.getTime()!==o.getTime()&&Promise.all([c.e(8481),c.e(7578),c.e(1722),c.e(3419),c.e(1114)]).then(c.bind(c,34853)).then(({reconcileOrphanTurns:b})=>b(a,n.uuid,{force:!0})).catch(b=>{f.default.error({err:b,companyUuid:a,connectionUuid:n.uuid},"New-generation orphan-turn reconcile failed to dispatch")}),{uuid:n.uuid,connectedAt:n.connectedAt}}catch(c){return f.default.error({err:c,companyUuid:a,agentUuid:b,clientType:d.clientType},"Failed to register daemon connection"),null}}async function s(a,b){try{await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt},data:{status:"offline",disconnectedAt:new Date}})}catch(c){f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to mark daemon connection disconnected")}}async function t(a,b,c){try{return(await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt,...c?{agentUuid:c}:{}},data:{status:"online",lastSeenAt:new Date}})).count>0}catch(c){return f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to touch daemon connection"),!1}}async function u(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agent:{ownerUuid:b}},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}async function v(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agentUuid:b},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}d()}catch(a){d(a)}})}};