@chorus-aidlc/chorus 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +334 -335
  3. package/.next/standalone/.next/app-path-routes-manifest.json +30 -30
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +21 -21
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +1 -1
  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 +2 -2
  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.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new/page.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  56. package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
  57. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  59. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/admin.html +2 -2
  62. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  63. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
  67. package/.next/standalone/.next/server/app/api/admin/companies/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/api-keys/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/events/route.js +2 -2
  161. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/mcp/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  213. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
  222. package/.next/standalone/.next/server/app/api/project-groups/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/project-visits/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/project-visits/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js +1 -1
  231. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js +1 -1
  237. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  240. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  243. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
  246. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  249. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  252. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  255. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  258. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js.nft.json +1 -1
  259. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  260. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  261. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
  267. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  269. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  270. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  273. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  276. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js +1 -1
  279. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  281. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  282. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  285. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  288. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  290. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  291. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  293. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  294. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  297. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/api/references/[uuid]/route.js +1 -1
  300. package/.next/standalone/.next/server/app/api/references/[uuid]/route.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/api/references/route.js +1 -1
  303. package/.next/standalone/.next/server/app/api/references/route.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  305. package/.next/standalone/.next/server/app/api/search/route.js +1 -1
  306. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  307. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  308. package/.next/standalone/.next/server/app/api/session/route.js +1 -1
  309. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  310. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  312. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  313. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  314. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  315. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  317. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  318. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  319. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  321. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  322. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  323. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  324. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  325. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  326. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  327. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  328. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  329. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  330. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  331. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  332. package/.next/standalone/.next/server/app/index.html +2 -2
  333. package/.next/standalone/.next/server/app/index.rsc +2 -2
  334. package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
  335. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  336. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  337. package/.next/standalone/.next/server/app/login/admin.rsc +3 -3
  338. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  339. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  340. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  341. package/.next/standalone/.next/server/app/login/page.js +1 -1
  342. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  343. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  344. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  345. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  346. package/.next/standalone/.next/server/app/login.html +2 -2
  347. package/.next/standalone/.next/server/app/login.rsc +3 -3
  348. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  349. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  350. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  351. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  352. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  353. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  354. package/.next/standalone/.next/server/app/projects.html +2 -2
  355. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  356. package/.next/standalone/.next/server/app/settings.html +2 -2
  357. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  358. package/.next/standalone/.next/server/app-paths-manifest.json +30 -30
  359. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  360. package/.next/standalone/.next/server/chunks/186.js +1 -0
  361. package/.next/standalone/.next/server/chunks/2572.js +2 -2
  362. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  363. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  364. package/.next/standalone/.next/server/chunks/3371.js +1 -0
  365. package/.next/standalone/.next/server/chunks/4131.js +39 -0
  366. package/.next/standalone/.next/server/chunks/4672.js +6 -0
  367. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  368. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  369. package/.next/standalone/.next/server/chunks/5577.js +1 -0
  370. package/.next/standalone/.next/server/chunks/5728.js +1 -0
  371. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  372. package/.next/standalone/.next/server/chunks/6506.js +39 -3
  373. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  374. package/.next/standalone/.next/server/chunks/{5489.js → 661.js} +44 -8
  375. package/.next/standalone/.next/server/chunks/6654.js +1 -0
  376. package/.next/standalone/.next/server/chunks/6737.js +1 -1
  377. package/.next/standalone/.next/server/chunks/6753.js +4 -4
  378. package/.next/standalone/.next/server/chunks/679.js +1 -1
  379. package/.next/standalone/.next/server/chunks/{2516.js → 7258.js} +1 -1
  380. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  381. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  382. package/.next/standalone/.next/server/chunks/7578.js +1 -1
  383. package/.next/standalone/.next/server/chunks/8017.js +1 -0
  384. package/.next/standalone/.next/server/chunks/8177.js +1 -0
  385. package/.next/standalone/.next/server/chunks/8437.js +1 -0
  386. package/.next/standalone/.next/server/chunks/{6449.js → 8566.js} +1 -1
  387. package/.next/standalone/.next/server/chunks/920.js +1 -1
  388. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  389. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  390. package/.next/standalone/.next/server/chunks/951.js +88 -1
  391. package/.next/standalone/.next/server/chunks/9670.js +1 -0
  392. package/.next/standalone/.next/server/chunks/9931.js +1 -1
  393. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  394. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  395. package/.next/standalone/.next/server/pages/404.html +2 -2
  396. package/.next/standalone/.next/server/pages/500.html +1 -1
  397. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  398. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  399. package/.next/standalone/.next/static/chunks/{15183-3f43af926186f7ef.js → 10488-d518e8ce8ae45724.js} +6 -6
  400. package/.next/standalone/.next/static/chunks/11595.4cebcf7499ef6a78.js +1 -0
  401. package/.next/standalone/.next/static/chunks/2069-68d93343e4ca252e.js +1 -0
  402. package/.next/standalone/.next/static/chunks/27370-0d04028ec8a339f0.js +1 -0
  403. package/.next/standalone/.next/static/chunks/27787-3566e3dd0506e241.js +1 -0
  404. package/.next/standalone/.next/static/chunks/33456.a5a9acba61ca3665.js +1 -0
  405. package/.next/standalone/.next/static/chunks/4860.61dfcdf8c4c5c703.js +1 -0
  406. package/.next/standalone/.next/static/chunks/53504-3a0f6dee12a39d5d.js +1 -0
  407. package/.next/standalone/.next/static/chunks/56863-a2cc92f9ca49f0f8.js +1 -0
  408. package/.next/standalone/.next/static/chunks/63819-c52b5bc9ee32ca9b.js +1 -0
  409. package/.next/standalone/.next/static/chunks/69398-c2f73fe154aaee76.js +1 -0
  410. package/.next/standalone/.next/static/chunks/71890-e6c13ce1debd87c2.js +1 -0
  411. package/.next/standalone/.next/static/chunks/71921-f6754331cd35fa5a.js +1 -0
  412. package/.next/standalone/.next/static/chunks/{26020-7b4756ba0aa906cf.js → 76103-5d656aebd9cd5e7f.js} +1 -1
  413. package/.next/standalone/.next/static/chunks/7777-18527b954e3c5557.js +1 -0
  414. package/.next/standalone/.next/static/chunks/78847-9f65efbac984cf70.js +1 -0
  415. package/.next/standalone/.next/static/chunks/79919-32af2c1abfc92a30.js +1 -0
  416. package/.next/standalone/.next/static/chunks/83749-f797272bf30fc2f4.js +10 -0
  417. package/.next/standalone/.next/static/chunks/91907-a4182d1a3c870d0f.js +1 -0
  418. package/.next/standalone/.next/static/chunks/91997-3592827b5a069beb.js +1 -0
  419. package/.next/standalone/.next/static/chunks/99373.747e181e4c952509.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-6135300353d6c6ad.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-bb9f26c107a6b113.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-31dd9042ee36b8e5.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-a6bfa3b6b6893bc4.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-01e81333c9beee2d.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-795b161eb0694092.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-e20e65b5df817433.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-fc2d02d552bbdbf0.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0cfa38d2de9fa9d9.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-301f21a3ae52e318.js → page-529dec4c3bcd5ba9.js} +1 -1
  430. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-dd123990c14e9768.js → page-b211c29669eaa3e4.js} +1 -1
  431. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-069c9738e516436b.js → page-793285a6cf214896.js} +1 -1
  432. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-0606d1497512e155.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-47e49c331996193b.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/admin/companies/new/page-c1e28205503002de.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/login/admin/page-b0d0ea2fa4102ff7.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/login/page-ee63e900cb54148c.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/onboarding/{page-5914ff3d878a3c34.js → page-1f3ab167cab58610.js} +1 -1
  438. package/.next/standalone/.next/static/chunks/{webpack-de8a36d232a91d6b.js → webpack-6151d196b2fab7e8.js} +1 -1
  439. package/.next/standalone/.next/static/css/09ac5931fe977492.css +1 -0
  440. package/.next/standalone/package.json +1 -1
  441. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  442. package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
  443. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +5 -1
  444. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +16 -1
  445. package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
  446. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  447. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  448. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +13 -1
  449. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  450. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
  451. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +9 -1
  452. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  453. package/.next/standalone/public/chorus-plugin/skills/research/SKILL.md +51 -0
  454. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  455. package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +1 -1
  456. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +5 -1
  457. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.json +1 -0
  458. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +5 -1
  459. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
  460. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  461. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  462. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +13 -1
  463. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  464. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +1 -1
  465. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +9 -1
  466. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  467. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-research/SKILL.md +51 -0
  468. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  469. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +1 -1
  470. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +5 -1
  471. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +16 -1
  472. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  473. package/.next/standalone/public/kiro-plugin/manifest.txt +1 -0
  474. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +4 -0
  475. package/.next/standalone/public/skill/chorus/SKILL.md +20 -2
  476. package/.next/standalone/public/skill/idea-chorus/SKILL.md +12 -0
  477. package/.next/standalone/public/skill/package.json +1 -0
  478. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +8 -0
  479. package/.next/standalone/public/skill/research-chorus/SKILL.md +51 -0
  480. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +4 -0
  481. package/README.ja.md +5 -11
  482. package/README.ko.md +5 -11
  483. package/README.md +20 -11
  484. package/README.zh.md +20 -11
  485. package/chorus.mjs +7 -1
  486. package/cli/agent-cli-config.mjs +28 -2
  487. package/cli/claude-spawner.mjs +330 -18
  488. package/cli/codex-app-server-client.mjs +402 -0
  489. package/cli/codex-app-server-events.mjs +176 -0
  490. package/cli/codex-session-map.mjs +1 -1
  491. package/cli/codex-spawner.mjs +247 -241
  492. package/cli/control-handler.mjs +20 -0
  493. package/cli/daemon-rest-client.mjs +7 -4
  494. package/cli/event-router.mjs +65 -3
  495. package/cli/init/adapters.mjs +2 -2
  496. package/cli/init/file-template.mjs +11 -4
  497. package/cli/init/install-methods.mjs +3 -1
  498. package/cli/operation-contract.mjs +3 -0
  499. package/cli/operation-prompts.mjs +99 -0
  500. package/cli/operation.mjs +46 -0
  501. package/cli/pi-spawner.mjs +472 -78
  502. package/cli/process-killer.mjs +138 -13
  503. package/cli/process-stop-hooks.mjs +13 -0
  504. package/cli/prompts.mjs +7 -0
  505. package/cli/upgrade-plugins.mjs +202 -0
  506. package/cli/upgrade-process.mjs +159 -0
  507. package/cli/upgrade.mjs +125 -0
  508. package/cli/upload-hooks.mjs +2 -2
  509. package/cli/wake-queue.mjs +5 -1
  510. package/cli/waker.mjs +127 -4
  511. package/cli/windows-process-tree.mjs +154 -0
  512. package/package.json +1 -1
  513. package/prisma/migrations/20260927073000_add_daemon_operation_payload/migration.sql +1 -0
  514. package/prisma/schema.prisma +3 -2
  515. package/.next/standalone/.next/server/chunks/1318.js +0 -1
  516. package/.next/standalone/.next/server/chunks/1416.js +0 -88
  517. package/.next/standalone/.next/server/chunks/1683.js +0 -1
  518. package/.next/standalone/.next/server/chunks/3341.js +0 -1
  519. package/.next/standalone/.next/server/chunks/457.js +0 -1
  520. package/.next/standalone/.next/server/chunks/5300.js +0 -1
  521. package/.next/standalone/.next/server/chunks/6607.js +0 -1
  522. package/.next/standalone/.next/server/chunks/7400.js +0 -1
  523. package/.next/standalone/.next/server/chunks/8044.js +0 -1
  524. package/.next/standalone/.next/server/chunks/8185.js +0 -1
  525. package/.next/standalone/.next/server/chunks/8454.js +0 -1
  526. package/.next/standalone/.next/server/chunks/9848.js +0 -39
  527. package/.next/standalone/.next/static/chunks/11595.f080a1d100972212.js +0 -1
  528. package/.next/standalone/.next/static/chunks/17099-936da9caf4c119b8.js +0 -1
  529. package/.next/standalone/.next/static/chunks/17562-56f932146e9e6c94.js +0 -10
  530. package/.next/standalone/.next/static/chunks/18751-3616e33050e9611e.js +0 -1
  531. package/.next/standalone/.next/static/chunks/27370-c056dee2016c9124.js +0 -1
  532. package/.next/standalone/.next/static/chunks/31308-bb4a97b3f39c22dd.js +0 -1
  533. package/.next/standalone/.next/static/chunks/33456.20313bd67a5c41cc.js +0 -1
  534. package/.next/standalone/.next/static/chunks/35432-5c245212c7595169.js +0 -1
  535. package/.next/standalone/.next/static/chunks/44437-d13183f50281116f.js +0 -1
  536. package/.next/standalone/.next/static/chunks/45024-eb7c062d13d9fe08.js +0 -1
  537. package/.next/standalone/.next/static/chunks/4860.3b555a398cdffb19.js +0 -1
  538. package/.next/standalone/.next/static/chunks/59713-426f81b6576173d8.js +0 -1
  539. package/.next/standalone/.next/static/chunks/60351-bdef539874e5027e.js +0 -1
  540. package/.next/standalone/.next/static/chunks/67580-8733964ab2c7fc0e.js +0 -1
  541. package/.next/standalone/.next/static/chunks/7777-8b1b6681256e1534.js +0 -1
  542. package/.next/standalone/.next/static/chunks/78155-db70d9684a1e77a2.js +0 -1
  543. package/.next/standalone/.next/static/chunks/79919-1e7e294a06f2c4a0.js +0 -1
  544. package/.next/standalone/.next/static/chunks/94643-e54eff17e941a93b.js +0 -1
  545. package/.next/standalone/.next/static/chunks/99373.b8a95d1bec5ad4e7.js +0 -1
  546. package/.next/standalone/.next/static/chunks/99733-5a2e39f57fbda32d.js +0 -1
  547. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-072a6b8f0a48b1b6.js +0 -1
  548. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-82e90e222d6bc547.js +0 -1
  549. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-198a3ff89ae871b9.js +0 -1
  550. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-a506de82e8997714.js +0 -1
  551. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-dc54fafa22d21863.js +0 -1
  552. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-6eb5d3cb036a78e0.js +0 -1
  553. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-69c6f0190623e19b.js +0 -1
  554. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-2a52f747e6fac5a7.js +0 -1
  555. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-22cce567a85ea291.js +0 -1
  556. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-548231f8c9856489.js +0 -1
  557. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-56118c51122ad639.js +0 -1
  558. package/.next/standalone/.next/static/chunks/app/admin/companies/new/page-4e20deb41357171c.js +0 -1
  559. package/.next/standalone/.next/static/chunks/app/login/admin/page-c8e40259e5d3d9e0.js +0 -1
  560. package/.next/standalone/.next/static/chunks/app/login/page-0a16a64855b771ef.js +0 -1
  561. package/.next/standalone/.next/static/css/44f13b43a3de716d.css +0 -1
  562. /package/.next/standalone/.next/static/{Pmji9kEq8T2lM6AKQkZji → kDppeym4sfPwXjGFspZG8}/_buildManifest.js +0 -0
  563. /package/.next/standalone/.next/static/{Pmji9kEq8T2lM6AKQkZji → kDppeym4sfPwXjGFspZG8}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ exports.id=3371,exports.ids=[3371],exports.modules={5514:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>E});var e=c(10837),f=c(21968),g=c(9222),h=c(44787),i=c(22727),j=c(24383),k=c(55775),l=c(27936),m=c(68797),n=c(6871),o=c(7086),p=c(24879),q=c(31009),r=c(45148),s=c(35198),t=c(49599),u=c(42424),v=c(11568),w=c(48876),x=c(22626),y=c(30935),z=c(54722),A=c(86104),B=c(94751),C=c(76172),D=a([m,A]);[m,A]=D.then?(await D)():D;let F={open:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",assigned:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",in_progress:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",to_verify:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",done:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]"},G={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},H={in_progress:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",assigned:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#2E7D32] dark:text-[#5FD07E]",open:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",to_verify:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1565C0] dark:text-[#5AA9F0]"},I=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function E({projectUuid:a,initialTasks:b,currentUserUuid:c,selectedTaskUuid:d,onTaskSelect:D,onPanelClose:E,proposalUuidFilter:J}){let K=(0,g.c)(),[L,M]=(0,f.useState)(b),[N,O]=(0,f.useState)({}),[P,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(null),[T,U]=(0,f.useState)([]),[V,W]=(0,f.useState)(!1),[X,Y]=(0,f.useState)([]),[Z,$]=(0,f.useState)(!1),[_,aa]=(0,f.useState)(!1),ab=(0,f.useCallback)(async()=>{let b=await (0,w.p)(a);if(b.success){let a=J?b.data.filter(a=>a.proposalUuid&&J.has(a.proposalUuid)):b.data;M(a);let c=await (0,B.h)(a.map(a=>a.uuid));c.success&&c.data&&O(c.data)}},[a,J]);(0,C.eV)("task",ab),(0,f.useRef)(J);let ac=(0,f.useMemo)(()=>d?L.find(a=>a.uuid===d)??null:null,[d,L]),ad=a=>L.filter(b=>a.includes(b.status)),ae=a=>ad(a).reduce((a,b)=>a+(b.storyPoints||0),0),af=async b=>{let c;aa(!1);let{destination:d,source:e,draggableId:f}=b;if(!d||d.droppableId===e.droppableId&&d.index===e.index)return;let g=d.droppableId;e.droppableId;let h=L.find(a=>a.uuid===f);if(!h)return;if(I.find(a=>a.id===g),"todo"===g)c="assigned"===h.status?"assigned":"open";else if("in_progress"===g)c="in_progress";else if("to_verify"===g)c="to_verify";else{if("done"!==g)return;c="to_verify"===h.status?"done":"to_verify"}M(a=>a.map(a=>a.uuid===f?{...a,status:c}:a));let i=await (0,x.y)(f,g,a);if(i.success)ab();else{if("blocked"in i&&i.blocked&&"blockers"in i){M(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),S(h),U(i.blockers),Q(!0);return}if(M(a=>a.map(a=>a.uuid===f?{...a,status:h.status}:a)),"gateBlocked"in i&&i.gateBlocked){let a="unresolvedCriteria"in i&&Array.isArray(i.unresolvedCriteria)?i.unresolvedCriteria:[];Y(a),W(!0)}}},ag=async()=>{if(R){$(!0);try{let a=await (0,y.H)(R.uuid,"in_progress");a.success?(Q(!1),S(null),U([]),ab()):z.q.error("Failed to force move task:",a.error)}finally{$(!1)}}},ah=()=>{Q(!1),S(null),U([])};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(h.JY,{onDragStart:()=>{aa(!0)},onDragEnd:af,children:(0,e.jsx)(p.o,{children:(0,e.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:I.map(a=>{let b=ad(a.statuses);return(0,e.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-secondary p-4",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h3",{className:"font-medium text-foreground",children:K(`status.${a.labelKey}`)}),(0,e.jsx)("span",{className:"rounded-full bg-card px-2 py-0.5 text-xs font-medium text-muted-foreground",children:b.length})]}),ae(a.statuses)>0&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ae(a.statuses),"h"]})]}),(0,e.jsx)(h.gL,{droppableId:a.id,children:(a,c)=>(0,e.jsxs)("div",{ref:a.innerRef,...a.droppableProps,className:`flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ${c.isDraggingOver?"bg-border":""}`,children:[0!==b.length||c.isDraggingOver?b.map((a,b)=>{let c=!!a.dependsOn&&0!==a.dependsOn.length&&a.dependsOn.some(a=>"done"!==a.status&&"closed"!==a.status),d=(c?!a.dependsOn?[]:a.dependsOn.filter(a=>"done"!==a.status&&"closed"!==a.status):[]).map(a=>a.title).join(", ");return(0,e.jsx)(h.sx,{draggableId:a.uuid,index:b,children:(b,f)=>(0,e.jsx)("div",{ref:b.innerRef,...b.draggableProps,...b.dragHandleProps,onClick:()=>{f.isDragging||D(a.uuid)},style:b.draggableProps.style,children:(0,e.jsxs)(q.P.div,{className:"relative",layoutId:_?void 0:`task-card-${a.uuid}`,transition:r.Yv.spring,children:[N[a.uuid]>0&&(0,e.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-card shadow-sm",children:(0,e.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,e.jsx)(i.D,{entityType:"task",entityUuid:a.uuid,children:(0,e.jsxs)(s.Zp,{className:`cursor-pointer p-4 transition-all ${c?"border-dashed border-[#D1D1D1] dark:border-[#3a3a40] opacity-60":"border-border hover:border-primary"} bg-card hover:shadow-sm ${f.isDragging?"shadow-lg rotate-2":""}`,children:[(0,e.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,e.jsx)(t.E,{className:F[a.status]||"",children:K(`status.${G[a.status]||a.status}`)}),(0,e.jsx)("div",{className:"flex items-center gap-1.5",children:a.storyPoints&&(0,e.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-xs font-medium text-[#E65100] dark:text-[#F0A050]",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,e.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),a.storyPoints,"h"]})})]}),(0,e.jsx)("h4",{className:"mb-1 font-medium text-foreground",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-muted-foreground",children:a.description}),c&&(0,e.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-1",children:[(0,e.jsx)(j.A,{className:"h-3 w-3 shrink-0 text-[#E65100] dark:text-[#F0A050]"}),(0,e.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] dark:text-[#F0A050] line-clamp-1",children:K("tasks.blockedBy",{tasks:d})})]}),(0,e.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs text-[#9A9A9A]",children:[a.assignee?(0,e.jsxs)("span",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[(0,o.bB)(a.assignee)?(0,e.jsx)(n.AgentAvatar,{name:a.assignee.name,size:16,className:"shrink-0 rounded-full"}):(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3 shrink-0",children:[(0,e.jsx)("path",{d:"M12 8V4H8"}),(0,e.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),(0,e.jsx)("span",{className:"truncate",children:a.assignee.name})]}),"agent_instance"===a.assignee.type&&a.assignee.instance&&(0,e.jsx)(m.jQ,{cwd:a.assignee.instance.cwd,host:a.assignee.instance.host,showHost:!1,className:"pl-4"})]}):"open"===a.status?(0,e.jsx)("span",{className:"text-primary",children:K("common.assign")}):(0,e.jsx)("span",{children:K("common.unassigned")}),(0,e.jsxs)("span",{className:"flex items-center gap-1",children:[N[a.uuid]>0&&(0,e.jsxs)(t.E,{variant:"outline",className:"h-4 gap-1 border-green-300 dark:border-[#2a4a34] px-1.5 text-[10px] text-green-700 dark:text-[#6FD19A]",children:[(0,e.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),K("sessions.workerCount",{count:N[a.uuid]})]}),a.acceptanceSummary&&a.acceptanceSummary.total>0&&(()=>{let b=a.acceptanceSummary,c="to_verify"===a.status,d=b.requiredPassed===b.required&&b.required>0,f=b.requiredFailed>0,g="bg-secondary text-muted-foreground";return c&&(g=d?"bg-green-50 text-green-700 dark:bg-[#14281a] dark:text-[#6FD19A]":f?"bg-red-50 text-[#C4574C] dark:bg-[#331619] dark:text-[#F0897E]":"bg-amber-50 text-[#D97706] dark:bg-[#332a12] dark:text-[#E0B44E]"),(0,e.jsxs)(t.E,{className:`h-4 gap-1 border-0 px-1.5 text-[9px] ${g}`,children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,e.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,e.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),b.passed,"/",b.total]})})()]})]})]})})]})})},a.uuid)}):(0,e.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:K("tasks.noTasks")}),a.placeholder]})})]},a.id)})})})}),ac&&(0,e.jsx)(A.v,{task:ac,projectUuid:a,currentUserUuid:c,onClose:E}),(0,e.jsx)(v.lG,{open:P,onOpenChange:a=>{a||ah()},children:(0,e.jsxs)(v.Cf,{className:"max-w-md rounded-2xl",children:[(0,e.jsxs)(v.c7,{children:[(0,e.jsxs)(v.L3,{className:"flex items-center gap-2",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#E65100] dark:text-[#F0A050]"}),K("tasks.dependencyBlocked")]}),(0,e.jsx)(v.rr,{children:K("tasks.dependencyBlockedDescription")})]}),(0,e.jsxs)("div",{className:"rounded-lg bg-background p-3",children:[(0,e.jsx)("p",{className:"mb-2 text-xs font-medium text-muted-foreground",children:K("tasks.blockerList")}),(0,e.jsx)("div",{className:"space-y-2",children:T.map(a=>(0,e.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border bg-card p-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-sm font-medium text-foreground",children:a.title}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[a.assignee&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,o.bB)(a.assignee)&&(0,e.jsx)(n.AgentAvatar,{name:a.assignee.name,size:16,className:"shrink-0 rounded-full"}),a.assignee.name]}),a.sessionCheckin&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,e.jsx)(l.A,{className:"h-3 w-3"}),a.sessionCheckin.sessionName]})]})]}),(0,e.jsx)(t.E,{className:`shrink-0 ${H[a.status]||"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground"}`,children:K(`status.${G[a.status]||a.status}`)})]},a.uuid))})]}),(0,e.jsxs)(v.Es,{className:"gap-2 sm:gap-0",children:[(0,e.jsx)(u.$,{variant:"outline",onClick:ah,children:K("common.cancel")}),(0,e.jsx)(u.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:ag,disabled:Z,children:Z?K("common.processing"):K("tasks.forceMove")})]})]})}),(0,e.jsx)(v.lG,{open:V,onOpenChange:W,children:(0,e.jsxs)(v.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,e.jsxs)(v.c7,{className:"px-6 pt-6 pb-4",children:[(0,e.jsxs)(v.L3,{className:"flex items-center gap-2.5",children:[(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#C4574C] dark:text-[#F0897E]"}),K("acceptanceCriteria.title")]}),(0,e.jsx)(v.rr,{className:"text-[13px] leading-relaxed text-muted-foreground",children:K("acceptanceCriteria.gateBlocked",{count:X.filter(a=>a.required&&"passed"!==a.status).length})})]}),(0,e.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,e.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:K("acceptanceCriteria.title")}),X.map(a=>(0,e.jsxs)("div",{className:`rounded-lg border p-3 space-y-2 ${"failed"===a.status?"border-red-200 dark:border-[#5a2a2e] bg-card":"border-border bg-card"}`,children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("div",{className:`h-2 w-2 rounded-full shrink-0 ${"failed"===a.status?"bg-[#C4574C]":"bg-[#F59E0B]"}`}),(0,e.jsx)("span",{className:"text-xs font-semibold text-foreground",children:a.description})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,e.jsx)(t.E,{className:`text-[10px] border-0 ${"failed"===a.status?"bg-red-50 text-[#C4574C] dark:bg-[#331619] dark:text-[#F0897E]":"bg-amber-50 text-[#D97706] dark:bg-[#332a12] dark:text-[#E0B44E]"}`,children:K(`acceptanceCriteria.status.${a.status}`)}),(0,e.jsx)(t.E,{className:"text-[10px] border-0 bg-background text-muted-foreground",children:a.required?K("acceptanceCriteria.required"):K("acceptanceCriteria.optional")}),!a.evidence&&(0,e.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:K("acceptanceCriteria.noEvidence")})]}),a.evidence&&(0,e.jsxs)("div",{className:"rounded-md bg-red-50 dark:bg-[#331619] p-2 ml-4",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground",children:K("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-foreground mt-0.5",children:a.evidence})]})]},a.uuid))]}),(0,e.jsx)(v.Es,{className:"border-t border-[#E5E2DC] dark:border-[#2a2a2e] px-6 py-4",children:(0,e.jsx)(u.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>W(!1),children:K("acceptanceCriteria.dismiss")})})]})})]})}d()}catch(a){d(a)}})},7046:(a,b,c)=>{"use strict";c.d(b,{O4:()=>g,kX:()=>e,od:()=>f,sO:()=>j,z3:()=>i});var d=c(70936);function e(a,b){return d.NextResponse.json({success:!0,data:a,meta:b})}function f(a,b,c,e){return d.NextResponse.json({success:!0,data:a,meta:{page:b,pageSize:c,total:e}})}let g={BAD_REQUEST:"BAD_REQUEST",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",NOT_FOUND:"NOT_FOUND",CONFLICT:"CONFLICT",VALIDATION_ERROR:"VALIDATION_ERROR",ALREADY_CLAIMED:"ALREADY_CLAIMED",NOT_CLAIMED:"NOT_CLAIMED",INVALID_STATUS_TRANSITION:"INVALID_STATUS_TRANSITION",PERMISSION_DENIED:"PERMISSION_DENIED",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR"},h={[g.BAD_REQUEST]:400,[g.UNAUTHORIZED]:401,[g.FORBIDDEN]:403,[g.NOT_FOUND]:404,[g.CONFLICT]:409,[g.VALIDATION_ERROR]:422,[g.ALREADY_CLAIMED]:409,[g.NOT_CLAIMED]:400,[g.INVALID_STATUS_TRANSITION]:400,[g.PERMISSION_DENIED]:403,[g.INTERNAL_ERROR]:500,[g.DATABASE_ERROR]:500};function i(a,b,c){let e=h[a]||500;return d.NextResponse.json({success:!1,error:{code:a,message:b,details:c}},{status:e})}let j={badRequest:(a,b)=>i(g.BAD_REQUEST,a,b),unauthorized:(a="Authentication required")=>i(g.UNAUTHORIZED,a),forbidden:(a="Access denied")=>i(g.FORBIDDEN,a),notFound:(a="Resource")=>i(g.NOT_FOUND,`${a} not found`),conflict:a=>i(g.CONFLICT,a),validationError:a=>i(g.VALIDATION_ERROR,"Validation failed",a),alreadyClaimed:()=>i(g.ALREADY_CLAIMED,"Resource is already claimed"),notClaimed:()=>i(g.NOT_CLAIMED,"Resource is not claimed"),invalidStatusTransition:(a,b)=>i(g.INVALID_STATUS_TRANSITION,`Invalid status transition from ${a} to ${b}`),permissionDenied:a=>i(g.PERMISSION_DENIED,`Permission denied: ${a}`),internal:(a="Internal server error")=>i(g.INTERNAL_ERROR,a),database:(a="Database error")=>i(g.DATABASE_ERROR,a)}},19520:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hd:()=>n,nk:()=>p,pw:()=>o,yq:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(67738),j=c(97307),k=c(12217),l=a([g,h,i]);[g,h,i]=l.then?(await l)():l;let q={todo:"open",in_progress:"in_progress",to_verify:"to_verify",done:"done"};async function m(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.K4)(d.companyUuid,a);if(!e)return{success:!1,error:"Task not found"};let g=q[b];if(!g)return{success:!1,error:"Invalid column"};if("in_progress"===g){let b=await (0,h.IM)(a);if(!b.resolved)return{success:!1,error:"Dependencies not resolved",blocked:!0,blockers:b.blockers}}if("done"===g&&"to_verify"!==e.status)await (0,h.lC)(a,{status:"to_verify"});else if("done"===g&&"to_verify"===e.status){let b=await (0,h.Ew)(a);if(!b.allowed)return{success:!1,error:b.reason||"Not all required acceptance criteria are passed",gateBlocked:!0,unresolvedCriteria:b.unresolvedCriteria||[]};await (0,h.lC)(a,{status:"done"})}else await (0,h.lC)(a,{status:g});return(0,f.revalidatePath)(`/projects/${c}/tasks`),{success:!0}}catch(a){return j.default.error({err:a},"Failed to move task"),{success:!1,error:"Failed to move task"}}}async function n(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.lC)(a,{status:b}),await (0,i.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:d.uuid,actorType:c.type,actorUuid:c.actorUuid,action:"force_status_change",value:JSON.stringify({from:d.status,to:b})}),{success:!0}}catch(a){return j.default.error({err:a},"Failed to force move task"),{success:!1,error:"Failed to force move task"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{tasks:c}=await (0,h.Vk)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3});return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to fetch tasks"),{success:!1,error:"Failed to fetch tasks"}}}async function p(a){let b=await (0,g.d)();if(!b)return{nodes:[],edges:[]};try{return await (0,h.Cm)(b.companyUuid,a)}catch(a){return j.default.error({err:a},"Failed to get project dependencies"),{nodes:[],edges:[]}}}(0,k.D)([m,n,o,p]),(0,e.A)(m,"7094cdfee4943e55c0016754af5d178bbb60294d68",null),(0,e.A)(n,"60e05ba9fdc499050d64640e60311e6eb7271d90a6",null),(0,e.A)(o,"40ca97cdfd36779500dbbb13c37ea09caf04bbf433",null),(0,e.A)(p,"408df6bd0b226cd7009baa301f53aec6be5725249a",null),d()}catch(a){d(a)}})},22626:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("7094cdfee4943e55c0016754af5d178bbb60294d68",d.callServer,void 0,d.findSourceMapURL,"moveTaskToColumnAction")},24879:(a,b,c)=>{"use strict";c.d(b,{o:()=>k});var d=c(10837),e=c(21968),f=c(46005);let g=(0,e.createContext)(null);var h=c(46801),i=c(72443);let j=a=>!a.isLayoutDirty&&a.willUpdate(!1),k=({children:a,id:b,inherit:c=!0})=>{let k=(0,e.useContext)(f.L),l=(0,e.useContext)(g),[m,n]=function(){let a=function(){let a=(0,e.useRef)(!1);return(0,i.E)(()=>(a.current=!0,()=>{a.current=!1}),[]),a}(),[b,c]=(0,e.useState)(0),d=(0,e.useCallback)(()=>{a.current&&c(b+1)},[b]);return[(0,e.useCallback)(()=>h.Gt.postRender(d),[d]),b]}(),o=(0,e.useRef)(null),p=k.id||l;null===o.current&&((a=>!0==(!0===a)||"id"===a)(c)&&p&&(b=b?p+"-"+b:p),o.current={id:b,group:!0===c&&k.group||function(){let a=new Set,b=new WeakMap,c=()=>a.forEach(j);return{add:d=>{a.add(d),b.set(d,d.addEventListener("willUpdate",c))},remove:d=>{a.delete(d);let e=b.get(d);e&&(e(),b.delete(d)),c()},dirty:c}}()});let q=(0,e.useMemo)(()=>({...o.current,forceRender:m}),[n]);return(0,d.jsx)(f.L.Provider,{value:q,children:a})}},29334:(a,b,c)=>{"use strict";c.d(b,{TaskViewToggle:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call TaskViewToggle() from the server but TaskViewToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/Chorus/Chorus/src/app/(dashboard)/projects/[uuid]/tasks/task-view-toggle.tsx","TaskViewToggle")},30759:(a,b,c)=>{"use strict";c.d(b,{i:()=>q});var d=c(10837),e=c(21968),f=c(47797);c(63410);var g=c(9222),h=c(1007),i=c(86460),j=c(10694),k=c(42424),l=c(74798),m=c(60265),n=c(42377);let o=(0,n.createServerReference)("408df6bd0b226cd7009baa301f53aec6be5725249a",n.callServer,void 0,n.findSourceMapURL,"getProjectDependenciesAction");var p=c(66446);function q({projectUuid:a,onTaskSelect:b,refreshKey:c}){let n=(0,g.c)(),q=(0,l.W)(),r=(0,h.useSearchParams)(),[s,t,u]=(0,f.ck)([]),[v,w,x]=(0,f.fM)([]),[y,z]=(0,e.useState)(!0),[A,B]=(0,e.useState)(null),C=(0,e.useMemo)(()=>{let a=r.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[r]),D=(0,e.useCallback)(async()=>{z(!0);let b=await o(a),c=b.nodes,d=b.edges;if(C){let a=new Set((c=b.nodes.filter(a=>null!==a.proposalUuid&&C.has(a.proposalUuid))).map(a=>a.uuid));d=b.edges.filter(b=>a.has(b.from)&&a.has(b.to))}let e=c.map(a=>({id:a.uuid,type:"taskNode",position:{x:0,y:0},data:{title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid}})),f=d.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...m.qK})),{nodes:g,edges:h}=(0,m.nF)(e,f);t(g),w(h),z(!1)},[a,C,t,w]),E=(0,e.useCallback)(async a=>{if(!a.source||!a.target)return;B(null);let b=a.target,c=a.source,d=await (0,p.w)(b,c);if(!d.success)return void B(d.error||n("tasks.failedToAddDep"));await D()},[D]),F=(0,e.useCallback)((a,c)=>{b(c.id)},[b]);return y?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsx)(i.A,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):0===s.length?(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:n("tasks.noTasksToDisplay")}):(0,d.jsxs)("div",{className:"flex-1 rounded-xl border border-border bg-[#FAFAF8] dark:bg-[#1e1e1c] relative",children:[A&&(0,d.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 dark:bg-[#331619] border border-red-200 dark:border-[#5a2a2e] px-4 py-2 text-xs text-red-700 dark:text-[#F08078] shadow-sm",children:[A,(0,d.jsx)(k.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900 dark:hover:text-[#F0A0A0]",onClick:()=>B(null),children:(0,d.jsx)(j.A,{className:"h-3 w-3"})})]}),(0,d.jsxs)(f.Gc,{colorMode:q?"dark":"light",nodes:s,edges:v,onNodesChange:u,onEdgesChange:x,onConnect:E,onNodeClick:F,nodeTypes:m.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},zoomOnScroll:!0,zoomOnPinch:!0,panOnDrag:!0,children:[(0,d.jsx)(f.VS,{color:q?"#40392f":"#E5E0D8",gap:20}),(0,d.jsx)(f.H2,{className:"[&>button]:border-border [&>button]:bg-card [&>button]:text-foreground [&>button:hover]:bg-background"})]})]})}},30935:(a,b,c)=>{"use strict";c.d(b,{H:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60e05ba9fdc499050d64640e60311e6eb7271d90a6",d.callServer,void 0,d.findSourceMapURL,"forceMoveTaskToColumnAction")},37066:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(55211),e=c(50117);let f=["en","zh","ko","ja"],g=(0,d.A)(async()=>{let a=await (0,e.UL)(),b=a.get("chorus-locale")?.value,d=b&&f.includes(b)?b:"en";return{locale:d,messages:(await c(76565)(`./${d}.json`)).default}})},39268:(a,b,c)=>{"use strict";c.d(b,{T:()=>r});var d=c(10837),e=c(21968),f=c(1007),g=c(68884),h=c(9222),i=c(65956),j=c(56149),k=c(9810),l=c(10694),m=c(96307),n=c(42424),o=c(49599),p=c(74113),q=c(10297);function r({projectUuid:a}){let b=(0,h.c)("tasks"),c=(0,g.r)(),r=(0,f.usePathname)(),s=(0,f.useSearchParams)(),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(new Set),z=(0,e.useCallback)(a=>{let b=new URLSearchParams(s.toString());a.size>0?b.set("proposalUuids",Array.from(a).join(",")):b.delete("proposalUuids");let d=b.toString();c.replace(`${r}${d?`?${d}`:""}`,{scroll:!1})},[c,r,s]),A=(0,e.useCallback)(a=>{y(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),z(c),c})},[z]),B=(0,e.useCallback)(()=>{y(new Set),z(new Set)},[z]),C=x.size>0;return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,d.jsx)(i.A,{className:"size-4"}),(0,d.jsxs)("span",{children:[b("proposalFilter.label"),":"]})]}),(0,d.jsxs)(p.AM,{open:t,onOpenChange:u,children:[(0,d.jsx)(p.Wv,{asChild:!0,children:(0,d.jsxs)(n.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":t,className:(0,m.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",C&&"border-primary bg-[#FFF8F4] dark:bg-[#2a2016]"),children:[(0,d.jsx)("span",{className:"truncate",children:C?b("proposalFilter.filtered",{filtered:x.size,total:v.length}):b("proposalFilter.allProposals")}),(0,d.jsx)(j.A,{className:"size-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(p.hl,{className:"w-[300px] p-0",align:"start",children:(0,d.jsxs)(q.uB,{children:[(0,d.jsx)(q.G7,{placeholder:b("proposalFilter.search")}),(0,d.jsxs)(q.oI,{children:[(0,d.jsx)(q.xL,{children:b("proposalFilter.noResults")}),(0,d.jsx)(q.L$,{children:v.map(a=>{let c=x.has(a.uuid);return(0,d.jsxs)(q.h_,{value:a.title,onSelect:()=>A(a.uuid),className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("div",{className:(0,m.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",c?"border-primary bg-primary text-white":"border-muted-foreground/30"),children:c&&(0,d.jsx)(k.A,{className:"size-3"})}),(0,d.jsx)("span",{className:"truncate",children:a.title})]}),(0,d.jsx)(o.E,{variant:"secondary",className:"ml-2 shrink-0",children:b("proposalFilter.taskCount",{count:a.taskCount})})]},a.uuid)})})]})]})})]}),C&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:v.filter(a=>x.has(a.uuid)).map(a=>(0,d.jsxs)(o.E,{variant:"outline",className:"gap-1 border-primary bg-[#FFF8F4] dark:bg-[#2a2016] text-primary",children:[a.title,(0,d.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-primary/20",onClick:()=>A(a.uuid),children:(0,d.jsx)(l.A,{className:"size-3"})})]},a.uuid))}),(0,d.jsx)(n.$,{variant:"ghost",size:"xs",onClick:B,className:"text-muted-foreground",children:b("proposalFilter.clear")})]})]})}},48876:(a,b,c)=>{"use strict";c.d(b,{p:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40ca97cdfd36779500dbbb13c37ea09caf04bbf433",d.callServer,void 0,d.findSourceMapURL,"fetchTasksAction")},54417:(a,b,c)=>{Promise.resolve().then(c.bind(c,90436))},63748:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{X:()=>n});var e=c(10023),f=c(66530),g=c(26555),h=c(82858),i=c(29662),j=c(71165),k=c(61413),l=c(29334),m=a([i,j,k]);async function n({projectUuid:a,initialSelectedTaskUuid:b}){let c=await (0,i.d)();c||(0,f.redirect)("/login");let d=await (0,g.A)();await (0,k.Yi)(c.companyUuid,a)||(0,f.redirect)("/projects");let{tasks:m}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,skip:0,take:1e3}),n=m.reduce((a,b)=>a+(b.storyPoints||0),0);return(0,e.jsxs)("div",{className:"flex h-full flex-col p-4 md:p-8",children:[(0,e.jsx)("div",{className:"mb-6 flex items-center justify-between",children:(0,e.jsxs)("div",{children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:d("tasks.title")}),(0,e.jsxs)("div",{className:"mt-1 flex items-center gap-4",children:[(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:d("tasks.subtitle")}),n>0&&(0,e.jsxs)("div",{className:"flex items-center gap-1.5 rounded-full bg-secondary px-3 py-1",children:[(0,e.jsx)(h.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsxs)("span",{className:"text-xs font-medium text-muted-foreground",children:[(0,e.jsx)("span",{className:"text-foreground",children:n.toFixed(1)})," ",d("tasks.agentHours")]})]})]})]})}),(0,e.jsx)(l.TaskViewToggle,{projectUuid:a,initialTasks:m,currentUserUuid:c.actorUuid,initialSelectedTaskUuid:b})]})}[i,j,k]=m.then?(await m)():m,d()}catch(a){d(a)}})},64145:(a,b,c)=>{Promise.resolve().then(c.bind(c,29334))},69352:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"00f23f95d4d1d6d92d114b6afedec4de460100cae1":()=>g.vq,"402db7378940c53e36cb2df493ba51cd7cea18e659":()=>j.bv,"403c1ebff73162e56160c95f235606c6c289bd9b67":()=>k.f,"4047ec684a7f0dd9bd2758e5055424e12146b4db5b":()=>j.t1,"4048e29ddbe0546180a55a25852cd786af143b4c6a":()=>i.Jg,"404a571f0bf784469edf40870e4a8705956e67352c":()=>g.p2,"4051717ff9f5a4297e5ccbf2b011cf452cbadc7bac":()=>e.Dv,"4053aa3b72719fd9b9425805468efe071d1bbf46a1":()=>j.Y9,"4071c576329c8b6ccd16e53c76614d5ddfab9e1bd0":()=>n.J,"407bccbbfb5877cfd0622b926dc5a49209c8b8808f":()=>g.iY,"408302209d3d7b0572fefcd75030a77981ee7e8a34":()=>l.F,"408df6bd0b226cd7009baa301f53aec6be5725249a":()=>f.nk,"409a36f3f1b882ea67df81cbac7687ad87f4d89613":()=>m.kq,"40a9e8329d1ec7dd44656bf54f75f91d521e61e1af":()=>m.xo,"40b5fdd412fa258de5f5c7be8bb0eca0568b7c6b70":()=>n.h,"40c3fcb9a4bf2fc9d90c7f51c31f80d7b7d5937b1f":()=>g.Yw,"40c7275621c3050fb1b8b93e210198ba9d417b7e36":()=>e.v5,"40ca97cdfd36779500dbbb13c37ea09caf04bbf433":()=>f.pw,"40de4c2049aad7c667b97319151f2647367079964a":()=>g.A0,"40e1ec28e3a0d53464ee70d41a917c134a50e6ff4d":()=>g.hR,"6006817c4fdca49351b770efa1aa510bf2f54ceda9":()=>j.jD,"604bc765527a8c7c76615013c54fa42b59875094b2":()=>h.Nq,"606ac8ce7d9e2b38c4a133ee6c8e5a7d0d5272ed6e":()=>e.Tg,"606f1681f99ea34c067710ff6cc900deade297b9ed":()=>h.hD,"608b695260bb835dde1d7d9e3ce252ac5720165bcd":()=>g.G3,"6090e4976f89defef7bcf5beda9994c50988eb3742":()=>g.TV,"60987237472c06eff275bbb2a3f932aaa0e8677f52":()=>g.bd,"60990e668846abefe479fbb77d39e38908124a75a1":()=>m.wG,"60a6a88cd6329ccf97caed92aa8ec2455f4b0d08f3":()=>m.TK,"60c10d0ab000bcc1edb750426eb3d4ebc480311d19":()=>g.y9,"60dc01c875d76c106cf433d35fbda270a2ec043e3f":()=>h.IY,"60e05ba9fdc499050d64640e60311e6eb7271d90a6":()=>f.Hd,"704506323577855b641e22bfe4de81a86a49ef7ce2":()=>i.dv,"70744d95b79946208ffe10dc2f8db02aaa6a156c57":()=>g.qb,"7094cdfee4943e55c0016754af5d178bbb60294d68":()=>f.yq,"70b93c1cd9f79e7fae5ae2ea08b61e62613902c29a":()=>g.M0,"70bbd7958d94fecb149571531da02eb05a66323813":()=>i.sZ});var e=c(22299),f=c(19520),g=c(73393),h=c(71353),i=c(98581),j=c(52178),k=c(64029),l=c(72189),m=c(22293),n=c(81751),o=a([e,f,g,h,i,j,k,l,m,n]);[e,f,g,h,i,j,k,l,m,n]=o.then?(await o)():o,d()}catch(a){d(a)}})},76565:(a,b,c)=>{var d={"./en.json":[87368,7368],"./ja.json":[49378,9378],"./ko.json":[35245,5245],"./zh.json":[72961,2961]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=76565,a.exports=e},82858:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(91533).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},90436:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TaskViewToggle:()=>z});var e=c(10837),f=c(21968),g=c(1007),h=c(9222),i=c(32552),j=c(45519),k=c(33407),l=c(92900),m=c(42424),n=c(49599),o=c(35198),p=c(96013),q=c(98625),r=c(39268),s=c(5514),t=c(30759),u=c(86104),v=c(6871),w=c(7086),x=c(31009),y=a([s,u]);[s,u]=y.then?(await y)():y;let A={open:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",assigned:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",in_progress:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",to_verify:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",done:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]"},B={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},C=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],D={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function z({projectUuid:a,initialTasks:b,currentUserUuid:c,initialSelectedTaskUuid:d}){let y=(0,h.c)(),z=(0,p.a)(),E=(0,g.useSearchParams)(),[F,G]=(0,f.useState)("kanban"),H=`/projects/${a}/tasks`,{selectedId:I,openPanel:J,closePanel:K}=(0,q.T)(H,d),L=(0,f.useMemo)(()=>{let a=E.get("proposalUuids");if(!a)return null;let b=a.split(",").filter(Boolean);return b.length>0?new Set(b):null},[E]),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(0),[Q,R]=(0,f.useState)("all"),S=(0,f.useMemo)(()=>I?b.find(a=>a.uuid===I)??null:null,[I,b]),T=(0,f.useCallback)(()=>{P(a=>a+1)},[]),U=(0,f.useMemo)(()=>L?b.filter(a=>a.proposalUuid&&L.has(a.proposalUuid)):b,[b,L]),V=(0,f.useMemo)(()=>{let a=C.find(a=>a.id===Q);return a&&0!==a.statuses.length?U.filter(b=>a.statuses.includes(b.status)):U},[U,Q]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,e.jsx)(r.T,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-secondary p-1 w-fit",children:[z&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"list"===F?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,onClick:()=>G("list"),children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5"}),y("tasks.listView")]}),!z&&(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"kanban"===F?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,onClick:()=>G("kanban"),children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"}),y("tasks.kanbanView")]}),(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 gap-1.5 rounded-md px-3 text-xs ${"dag"===F?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,onClick:()=>G("dag"),children:[(0,e.jsx)(k.A,{className:"h-3.5 w-3.5"}),y("tasks.dagView")]})]}),(0,e.jsxs)(m.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{K(),N(!0)},children:[(0,e.jsx)(l.A,{className:"mr-2 h-4 w-4"}),y("tasks.newTask")]})]}),"list"===F?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-border pb-2",children:C.map(a=>{let b=0===a.statuses.length?U.length:U.filter(b=>a.statuses.includes(b.status)).length;return(0,e.jsxs)(m.$,{variant:"ghost",size:"sm",className:`h-8 shrink-0 rounded-md px-3 text-xs ${Q===a.id?"bg-secondary text-foreground font-medium":"text-muted-foreground hover:text-foreground"}`,onClick:()=>R(a.id),children:["all"===a.id?y(`tasks.${a.labelKey}`):y(`status.${a.labelKey}`),(0,e.jsx)("span",{className:"ml-1.5 rounded-full bg-card px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:b})]},a.id)})}),(0,e.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===V.length?(0,e.jsx)(x.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:y("tasks.noTasks")}):V.map(a=>(0,e.jsxs)(o.Zp,{className:"cursor-pointer border-border bg-card p-4 transition-all hover:border-primary hover:shadow-sm",onClick:()=>J(a.uuid),children:[(0,e.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("h4",{className:"font-medium text-foreground truncate",children:a.title}),a.description&&(0,e.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-muted-foreground",children:a.description})]}),(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=a.storyPoints&&a.storyPoints>0&&(0,e.jsxs)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-xs font-medium text-[#E65100] dark:text-[#F0A050]",children:[a.storyPoints,"h"]}),(0,e.jsx)(n.E,{className:D[a.priority]||"",children:y(`priority.${a.priority}`)}),(0,e.jsx)(n.E,{className:A[a.status]||"",children:y(`status.${B[a.status]||a.status}`)})]})]}),a.assignee&&(0,e.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:[(0,w.bB)(a.assignee)&&(0,e.jsx)(v.AgentAvatar,{name:a.assignee.name,size:16,className:"shrink-0 rounded-full"}),(0,e.jsx)("span",{className:"truncate",children:a.assignee.name})]})]},a.uuid))}),S&&(0,e.jsx)(u.v,{task:S,projectUuid:a,currentUserUuid:c,onClose:K,onDependencyChange:T})]}):"kanban"===F?(0,e.jsx)(s.y,{projectUuid:a,initialTasks:U,currentUserUuid:c,selectedTaskUuid:I,onTaskSelect:J,onPanelClose:K,proposalUuidFilter:L}):(0,e.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,e.jsx)(t.i,{projectUuid:a,onTaskSelect:a=>J(a),refreshKey:O}),S&&(0,e.jsx)(u.v,{task:S,projectUuid:a,currentUserUuid:c,onClose:K,onDependencyChange:T})]}),M&&!S&&(0,e.jsx)(u.v,{task:null,projectUuid:a,currentUserUuid:c,onClose:()=>N(!1),onCreated:()=>N(!1)})]})}d()}catch(a){d(a)}})},91533:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(73426);let e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),f=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let h=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:f,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...g,width:b,height:b,stroke:a,strokeWidth:f?24*Number(c)/Number(b):c,className:e("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),i=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},i)=>(0,d.createElement)(h,{ref:i,iconNode:b,className:e(`lucide-${f(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=f(a),c}},96013:(a,b,c)=>{"use strict";c.d(b,{a:()=>e});var d=c(21968);function e(){let[a,b]=(0,d.useState)(!1);return a}}};
@@ -0,0 +1,39 @@
1
+ "use strict";exports.id=4131,exports.ids=[4131],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},6008:(a,b,c)=>{c.d(b,{eZ:()=>d,kl:()=>e,lp:()=>f});let d=["idea","proposal","document","task","project"],e=["read","write","admin"],f=d.flatMap(a=>e.map(b=>`${a}:${b}`))},8495:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(10837);c(21968);var e=c(9810),f=c(25711),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(e.A,{className:"size-3.5"})})})}},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},25711:(a,b,c)=>{c.r(b),c.d(b,{Checkbox:()=>v,CheckboxIndicator:()=>x,Indicator:()=>x,Root:()=>v,createCheckboxScope:()=>p,unstable_BubbleInput:()=>z,unstable_CheckboxBubbleInput:()=>z,unstable_CheckboxProvider:()=>s,unstable_CheckboxTrigger:()=>u,unstable_Provider:()=>s,unstable_Trigger:()=>u});var d=c(21968),e=c(96090),f=c(42990),g=c(22546),h=c(15035),i=c(29851),j=c(7579),k=c(5030),l=c(16551),m=c(10837),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},26078:(a,b,c)=>{c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},26346:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},27882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>m});var e=c(10837),f=c(9222),g=c(35198),h=c(94372),i=c(82658),j=c(21790),k=c(86700),l=a([k]);function m({apiKey:a}){let b=(0,f.c)("onboarding"),c=a||"<YOUR_API_KEY>",d=(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.profileStep.title")}),(0,e.jsx)(k.N,{language:"bash",code:'export CHORUS_AGENT_PROFILE="<agent-uuid>"'}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.profileStep.desc")})]});return(0,e.jsx)(g.Zp,{className:"w-full",children:(0,e.jsx)(g.Wu,{className:"p-6",children:(0,e.jsxs)(h.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,e.jsxs)(h.j7,{className:"w-full justify-start overflow-x-auto",children:[(0,e.jsx)(h.Xi,{value:"claude-code",className:"shrink-0",children:b("install.tabs.claudeCode")}),(0,e.jsx)(h.Xi,{value:"codex",className:"shrink-0",children:b("install.tabs.codex")}),(0,e.jsx)(h.Xi,{value:"kiro",className:"shrink-0",children:b("install.tabs.kiro")}),(0,e.jsx)(h.Xi,{value:"pi",className:"shrink-0",children:b("install.tabs.pi")}),(0,e.jsx)(h.Xi,{value:"dsh",className:"shrink-0",children:b("install.tabs.dsh")}),(0,e.jsx)(h.Xi,{value:"opencode",className:"shrink-0",children:b("install.tabs.opencode")}),(0,e.jsx)(h.Xi,{value:"openclaw",className:"shrink-0",children:b("install.tabs.openClaw")}),(0,e.jsx)(h.Xi,{value:"other",className:"shrink-0",children:b("install.tabs.other")})]}),(0,e.jsxs)(h.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
2
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.claudeCode.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
3
+ chorus agents add --agents claude`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.claudeCode.step2Tip")})]})]}),(0,e.jsxs)(h.av,{value:"codex",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
4
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.codex.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
5
+ chorus agents add --agents codex`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.codex.step2Tip")})]})]}),(0,e.jsxs)(h.av,{value:"kiro",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.kiro.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
6
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.kiro.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.kiro.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
7
+ chorus agents add --agents kiro`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.kiro.step2Tip")})]}),d]}),(0,e.jsxs)(h.av,{value:"pi",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.pi.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
8
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.pi.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.pi.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus
9
+ chorus agents add --agents pi`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.pi.step2Tip")})]}),d]}),(0,e.jsxs)(h.av,{value:"dsh",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.dsh.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
10
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.dsh.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.dsh.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:"dsh plugin --profile <name> add @chorus-aidlc/chorus-dsh -w"}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.dsh.step2Tip",{name:"<name>"})})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.dsh.step3Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
11
+ chorus agents add --agents dsh --dsh-profile <name>`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.dsh.step3Tip",{name:"<name>"})})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.dsh.step4Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.dsh.step4Desc",{name:"<name>"})})]})]}),(0,e.jsxs)(h.av,{value:"opencode",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.opencode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
12
+ export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.opencode.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.opencode.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
13
+ chorus agents add --agents opencode`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.opencode.step2Tip")})]}),d,(0,e.jsxs)(i.Nt,{children:[(0,e.jsxs)(i.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,e.jsx)(j.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),b("install.opencode.troubleshootingTitle")]}),(0,e.jsx)(i.Ke,{children:(0,e.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueCache.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueCache.fix")})]}),(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueEnv.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueEnv.fix")})]}),(0,e.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.opencode.issueCheckin.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.opencode.issueCheckin.fix")})]})]})})]})]}),(0,e.jsxs)(h.av,{value:"openclaw",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:"openclaw plugins install @chorus-aidlc/chorus-openclaw-plugin"})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step2Title")}),(0,e.jsx)(k.N,{language:"json",code:`{
14
+ "hooks": { "enabled": true, "token": "<your-token>" },
15
+ "plugins": {
16
+ "enabled": true,
17
+ "entries": {
18
+ "chorus-openclaw-plugin": {
19
+ "enabled": true,
20
+ "config": {
21
+ "chorusUrl": "",
22
+ "apiKey": "${c}",
23
+ "autoStart": true
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }`})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.openClaw.step3Title")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.openClaw.step3Desc")})]}),(0,e.jsxs)(i.Nt,{children:[(0,e.jsxs)(i.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,e.jsx)(j.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),b("install.openClaw.troubleshootingTitle")]}),(0,e.jsx)(i.Ke,{children:(0,e.jsxs)("div",{className:"mt-2 rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,e.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:b("install.openClaw.troubleshootingError")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:b("install.openClaw.troubleshootingFix")})]})})]})]}),(0,e.jsxs)(h.av,{value:"other",className:"mt-4 space-y-4",children:[(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:b("install.other.description")}),(0,e.jsx)(k.N,{code:`Please install and configure the Chorus AI-DLC collaboration platform.
29
+
30
+ Chorus URL:
31
+ API Key: ${c}
32
+
33
+ Read the setup instructions from:
34
+ /skill/chorus/SKILL.md
35
+
36
+ Follow the "Setup" section to configure the MCP server,
37
+ then call chorus_checkin() to verify the connection.`})]})]})})})}k=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},30356:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$y:()=>r,Fv:()=>p,IF:()=>o,KT:()=>s,Zh:()=>n,fG:()=>t,p3:()=>q});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(28774),i=c(30457),j=c(97307),k=c(26078),l=c(12217),m=a([g,h,i]);async function n(){let a=await (0,g.d)();a||(0,f.redirect)("/login");try{let{apiKeys:b}=await (0,h.d5)(a.companyUuid,0,100,a.actorUuid),c=b.map(a=>{let b=a.agent?.roles||[],c=a.agent?.permissions||[];return{uuid:a.uuid,keyPrefix:a.keyPrefix,name:a.agent?.name||a.name,lastUsed:null,expiresAt:a.expiresAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),roles:b,permissions:c,effectivePermissions:Array.from((0,k.RU)(b,c)),agentUuid:a.agent?.uuid||"",persona:a.agent?.persona||null}});return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to fetch API keys"),{success:!1,error:"Failed to fetch API keys"}}}async function o(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c=await (0,h.Sn)({companyUuid:b.companyUuid,name:a.name,roles:a.roles,ownerUuid:b.actorUuid,persona:a.persona,permissions:a.permissions}),d=await (0,h.Iq)({companyUuid:b.companyUuid,agentUuid:c.uuid,name:a.name});return{success:!0,key:d.key,agentUuid:c.uuid}}catch(a){return j.default.error({err:a},"Failed to create agent and API key"),{success:!1,error:"Failed to create API key"}}}async function p(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.CG)(b.companyUuid,a,b.actorUuid);if(!c)return{success:!1,error:"API key not found"};return await (0,h.RB)(c.agentUuid),{success:!0}}catch(a){return j.default.error({err:a},"Failed to delete API key"),{success:!1,error:"Failed to delete API key"}}}async function q(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,i.u0)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to fetch agent sessions"),{success:!1,error:"Failed to fetch agent sessions"}}}async function r(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.Vu)(b.companyUuid,a),{success:!0}}catch(a){return j.default.error({err:a},"Failed to close session"),{success:!1,error:"Failed to close session"}}}async function s(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.aQ)(b.companyUuid,a),{success:!0}}catch(a){return j.default.error({err:a},"Failed to reopen session"),{success:!1,error:"Failed to reopen session"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c={};return void 0!==a.name&&(c.name=a.name),void 0!==a.roles&&(c.roles=a.roles),void 0!==a.persona&&(c.persona=a.persona),void 0!==a.permissions&&(c.permissions=a.permissions),await (0,h.x4)(a.agentUuid,c,b.companyUuid),void 0!==a.name&&await (0,h.tN)(a.agentUuid,a.name),{success:!0}}catch(a){return j.default.error({err:a},"Failed to update agent"),{success:!1,error:"Failed to update agent"}}}[g,h,i]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t]),(0,e.A)(n,"00339fb537b67e695e9cb9218ec229cb9235d9644f",null),(0,e.A)(o,"40ac526eef9dcf44a89b5ed941c7c216a9a4eaabf5",null),(0,e.A)(p,"408a79e08f6a39b42b1adab328c7ce47ca41267774",null),(0,e.A)(q,"401ac4df7c73c54cf16a6084d45c5af37f19a5b3a3",null),(0,e.A)(r,"40f82ca5df6b520ee3fb2790f1274819da16ce972b",null),(0,e.A)(s,"40f4d76f354cfae34058005ff458388c16c37969fd",null),(0,e.A)(t,"4003503b825ef45395219e75b7cac71094bc818cd4",null),d()}catch(a){d(a)}})},30469:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40ac526eef9dcf44a89b5ed941c7c216a9a4eaabf5",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},33321:(a,b,c)=>{c.d(b,{m:()=>l});var d=c(10837),e=c(97731),f=c(26346),g=c(9222),h=c(42424),i=c(58857),j=c(96307);let k="https://doc.chorus-ai.dev";function l({variant:a="inline",className:b}){let c=(0,g.c)("resourceLinks"),{locale:l}=(0,i.Y)(),m="en"===l?k:`${k}/${l}`;return(0,d.jsxs)("div",{className:(0,j.cn)("flex flex-wrap items-center gap-2","footer"===a&&"justify-center gap-3",b),children:[(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:"https://github.com/Chorus-AIDLC/Chorus",target:"_blank",rel:"noopener noreferrer","aria-label":c("githubAria"),children:[(0,d.jsx)(e.A,{className:"h-4 w-4"}),c("github")]})}),(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:m,target:"_blank",rel:"noopener noreferrer","aria-label":c("docsAria"),children:[(0,d.jsx)(f.A,{className:"h-4 w-4"}),c("docs")]})})]})}},54005:(a,b,c)=>{c.d(b,{o:()=>d});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]}},67328:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(10837),f=c(21968),g=c(9222),h=c(42424),i=c(9810),j=c(10694),k=c(54722),l=c(98632),m=c(27882),n=a([m]);function o({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:d=!1,submitLabel:n,submittingLabel:o}){let p=(0,g.c)(),[q,r]=(0,f.useState)(""),[s,t]=(0,f.useState)("admin_agent"),[u,v]=(0,f.useState)(["admin_agent"]),[w,x]=(0,f.useState)([]),[y,z]=(0,f.useState)(""),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(!1),G=async c=>{if((c.preventDefault(),q)&&("custom"!==s||0!==w.length)){B(!0);try{let c=await b({name:q,roles:u,permissions:"custom"===s?w:[],persona:y||null});c.success&&c.key?(d||D(c.key),a({uuid:c.agentUuid||"",name:q,roles:u,permissions:"custom"===s?w:[]},c.key)):k.q.error("Failed to create API key:",c.error)}catch(a){k.q.error("Failed to create API key:",a)}finally{B(!1)}}},H=async a=>{try{await navigator.clipboard.writeText(a),F(!0),setTimeout(()=>F(!1),2e3)}catch(a){k.q.error("Failed to copy to clipboard:",a)}},I=()=>{r(""),t("admin_agent"),v(["admin_agent"]),x([]),z(""),D(null),c?.()};return C&&!d?(0,e.jsxs)("div",{className:"p-6",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,e.jsx)(i.A,{className:"h-5 w-5"}),(0,e.jsx)("span",{className:"font-medium",children:p("settings.apiKeyCreated")})]}),(0,e.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:p("settings.apiKeyCreatedDesc")}),(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,e.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:C}),(0,e.jsx)(h.$,{variant:"outline",size:"sm",onClick:()=>H(C),children:p(E?"common.copied":"common.copy")})]}),(0,e.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:p("settings.installGuideIntro")}),(0,e.jsx)("div",{className:"mb-4",children:(0,e.jsx)(m.Z,{apiKey:C})}),(0,e.jsx)(h.$,{onClick:I,className:"w-full",children:p("common.done")})]}):(0,e.jsxs)("form",{onSubmit:G,children:[!d&&(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,e.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:p("settings.createApiKey")}),c&&(0,e.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:I,className:"h-8 w-8",children:(0,e.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,e.jsx)("div",{className:d?void 0:"p-6",children:(0,e.jsx)(l.L,{name:q,onNameChange:r,preset:s,permissions:w,onPermissionsChange:function(a){t(a.preset),v(a.roles),x(a.permissions)},persona:y,onPersonaChange:z,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,e.jsxs)("div",{className:d?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!d&&c&&(0,e.jsx)(h.$,{type:"button",variant:"outline",onClick:I,children:p("common.cancel")}),(0,e.jsx)(h.$,{type:"submit",disabled:!q||"custom"===s&&0===w.length||A,className:d?"w-full":void 0,size:d?"lg":"default",children:A?o??p("settings.creating"):n??p("settings.createApiKey")})]})]})}m=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},86700:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>h});var e=c(10837),f=c(97450),g=a([f]);function h({code:a,language:b}){let c=`\`\`\`${b||""}
38
+ ${a}
39
+ \`\`\``;return(0,e.jsx)(f.MarkdownContent,{children:c})}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},98632:(a,b,c)=>{c.d(b,{L:()=>t});var d=c(10837),e=c(21968),f=c(9222),g=c(16235),h=c(6871),i=c(9994),j=c(2852),k=c(20170),l=c(8495),m=c(55732),n=c(54005),o=c(6008);let p={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},q={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},r=["admin_agent","pm_agent","developer_agent","custom"];function s({preset:a,permissions:b,onChange:c,readOnly:e=!1}){let g=(0,f.c)(),h=a??"custom",i=new Set("custom"===h?b:n.o[h]);return(0,d.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(j.J,{className:"text-[13px] font-medium",children:g("agent.permissions.title")}),(0,d.jsx)("p",{className:"text-muted-foreground text-xs",children:g("agent.permissions.description")})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(j.J,{htmlFor:"agent-permission-preset",children:g("agent.permissions.presetLabel")}),(0,d.jsxs)(m.l6,{value:h,onValueChange:function(a){if("custom"===a)return void c({preset:"custom",roles:[],permissions:Array.from(i)});a in n.o&&c({preset:a,roles:[a],permissions:[]})},disabled:e,children:[(0,d.jsx)(m.bq,{id:"agent-permission-preset",className:"w-full","aria-label":g("agent.permissions.presetLabel"),children:(0,d.jsx)(m.yv,{placeholder:g(p[h]),children:g(p[h])})}),(0,d.jsx)(m.gC,{children:r.map(a=>(0,d.jsx)(m.eb,{value:a,textValue:g(p[a]),children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold",children:g(p[a])}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:g(q[a])})]})},a))})]})]}),(0,d.jsxs)("div",{role:"grid","aria-label":g("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,d.jsxs)("div",{role:"row",className:"bg-muted/50 text-muted-foreground grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-xs font-medium",children:[(0,d.jsx)("div",{role:"columnheader",children:g("agent.permissions.resourceHeader")}),o.kl.map(a=>(0,d.jsx)("div",{role:"columnheader",className:"text-center",children:g(`agent.permissions.actions.${a}`)},a))]}),o.eZ.map(a=>(0,d.jsxs)("div",{role:"row",className:"border-t grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-sm",children:[(0,d.jsx)("div",{role:"rowheader",className:"font-medium",children:g(`agent.permissions.resources.${a}`)}),o.kl.map(b=>{let f=`${a}:${b}`,h=`perm-${a}-${b}`;return(0,d.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,d.jsx)(l.S,{id:h,checked:i.has(f),disabled:e,"aria-label":`${g(`agent.permissions.resources.${a}`)} ${g(`agent.permissions.actions.${b}`)}`,onCheckedChange:a=>{if(!e){let b=new Set(i);!0===a?b.add(f):b.delete(f),c({preset:"custom",roles:[],permissions:Array.from(b)})}}})},b)})]},a))]})]})]})}function t({name:a,onNameChange:b,preset:c,permissions:l,onPermissionsChange:m,persona:o,onPersonaChange:p,nameInputId:q="agent-form-name",personaInputId:r="agent-form-persona",readOnly:t=!1}){let u=(0,f.c)(),v=(0,e.useMemo)(()=>"custom"===c?l:[...n.o[c]],[c,l]);return(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[a.trim()?(0,d.jsx)(h.AgentAvatar,{name:a,size:56,className:"rounded-2xl"}):(0,d.jsx)("div",{"aria-hidden":!0,className:"flex size-14 items-center justify-center rounded-2xl bg-muted text-muted-foreground",children:(0,d.jsx)(g.A,{className:"size-7"})}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:u("settings.agentAvatarPreview")})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(j.J,{htmlFor:q,className:"text-[13px]",children:u("settings.name")}),(0,d.jsx)(i.p,{id:q,value:a,onChange:a=>b(a.target.value),placeholder:u("settings.namePlaceholder"),className:"border-border",required:!0,disabled:t})]}),(0,d.jsx)(s,{preset:c,permissions:v,onChange:m,readOnly:t}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(j.J,{htmlFor:r,className:"text-[13px]",children:u("settings.agentPersona")}),(0,d.jsx)(k.T,{id:r,value:o,onChange:a=>p(a.target.value),placeholder:u("settings.personaPlaceholder"),rows:4,disabled:t}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:u("settings.personaHint")})]})]})}}};
@@ -0,0 +1,6 @@
1
+ "use strict";exports.id=4672,exports.ids=[4672],exports.modules={8495:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(10837);c(21968);var e=c(9810),f=c(25711),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(e.A,{className:"size-3.5"})})})}},9190:(a,b,c)=>{c.d(b,{n:()=>v});var d=c(10837),e=c(21968),f=c(9222),g=c(51592),h=c(49102),i=c(21790),j=c(20447),k=c(9810),l=c(97443),m=c(81512),n=c.n(m),o=c(76172),p=c(94751),q=c(22727),r=c(6871),s=c(7086),t=c(77521);let u=["in_progress","to_verify","open","assigned","done","closed"];function v({tasks:a,projectUuid:b,proposalUuids:c,onSelectTask:m}){let v=(0,f.c)("ideaTracker"),[w,x]=(0,e.useState)({}),y=(0,e.useMemo)(()=>a.map(a=>a.uuid),[a]),z=(0,e.useCallback)(async()=>{if(0===y.length)return;let a=await (0,p.h)(y);a.success&&a.data&&x(a.data)},[y]);(0,o.eV)("task",z);let A=(0,e.useMemo)(()=>{let b=[];for(let c of u){let d=a.filter(a=>a.status===c);d.length>0&&b.push({status:c,tasks:d})}let c=new Set(u),d=a.filter(a=>!c.has(a.status));return d.length>0&&b.push({status:"other",tasks:d}),b},[a]),[B,C]=(0,e.useState)(new Set),D=(0,e.useMemo)(()=>{let b=a.length,c=a.filter(a=>"done"===a.status||"closed"===a.status).length,d=0,e=0,f=0,g=0;for(let b of a)b.acceptanceSummary&&(d+=b.acceptanceSummary.total,e+=b.acceptanceSummary.passed,f+=b.acceptanceSummary.required,g+=b.acceptanceSummary.requiredPassed);return{total:b,done:c,acTotal:d,acPassed:e,acRequired:f,acRequiredPassed:g}},[a]);return 0===a.length?(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,d.jsx)(g.A,{className:"h-8 w-8 text-muted-foreground"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:v("panel.taskList.noTasks")})]}):(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg bg-[#FAFAF7] dark:bg-[#1e1e1c] px-3 py-2",children:[(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:v("panel.taskList.summary",{done:D.done,total:D.total})}),D.acTotal>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:"\xb7"}),(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:v("panel.taskList.acSummary",{passed:D.acRequiredPassed,total:D.acRequired})})]}),c.length>0&&(0,d.jsxs)(n(),{href:`/projects/${b}/tasks?proposalUuids=${c.join(",")}`,className:"ml-auto flex items-center gap-1 text-[13px] font-medium text-primary shrink-0",children:[v("panel.taskList.viewKanban"),(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})]})]}),A.map(a=>{let b=B.has(a.status);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>{var b;return b=a.status,void C(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex items-center gap-2 w-full text-left py-1.5 group cursor-pointer",children:[b?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,d.jsx)(i.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:`h-2 w-2 rounded-full shrink-0 ${(0,t.eT)(a.status)}`}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-foreground",children:function(a,b){switch(a){case"in_progress":return b("panel.taskList.inProgress");case"to_verify":return b("panel.taskList.toVerify");case"open":return b("panel.taskList.open");case"assigned":return b("panel.taskList.assigned");case"done":return b("panel.taskList.done");case"closed":return b("panel.taskList.closed");default:return a}}(a.status,v)}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground ml-auto",children:a.tasks.length})]}),!b&&(0,d.jsx)("div",{className:"ml-3 space-y-0.5",children:a.tasks.map(a=>{let b=w[a.uuid]||0,c=a.acceptanceSummary;return(0,d.jsx)(q.D,{entityType:"task",entityUuid:a.uuid,badgeInside:!0,children:(0,d.jsxs)("button",{onClick:()=>m(a.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2.5 py-2 hover:bg-secondary transition-colors group cursor-pointer",children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0 group-hover:text-primary"}),(0,d.jsx)("span",{className:`h-1.5 w-1.5 rounded-full shrink-0 ${(0,t.eT)(a.status)}`}),(0,d.jsx)("span",{className:"flex-1 text-[13px] text-foreground truncate group-hover:text-primary",children:a.title}),c&&c.total>0&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 rounded-full bg-[#F0EDE8] dark:bg-[#1f1e1c] px-1.5 py-0.5 text-[10px] text-muted-foreground",children:[(0,d.jsx)(k.A,{className:"h-2.5 w-2.5"}),c.requiredPassed,"/",c.required]}),a.assignee&&(0,d.jsxs)("span",{className:"shrink-0 inline-flex items-center gap-1 text-[10px] text-muted-foreground max-w-[72px] truncate",title:a.assignee.name,children:[(0,s.bB)(a.assignee)?(0,d.jsx)(r.AgentAvatar,{name:a.assignee.name,size:14,className:"shrink-0 rounded-full"}):(0,d.jsx)(l.A,{className:"h-2.5 w-2.5 shrink-0"}),a.assignee.name.split(/[@\s]/)[0]]}),b>0&&(0,d.jsx)("span",{className:"inline-flex items-center justify-center h-4 min-w-[16px] rounded-full bg-[#E8F5E9] dark:bg-[#14281a] text-[#2E7D32] dark:text-[#5FD07E] text-[9px] font-semibold shrink-0",title:v("panel.taskList.workersActive",{count:b}),children:b})]})},a.uuid)})})]},a.status)})]})}},10123:(a,b,c)=>{c.d(b,{i:()=>e});var d=c(25104);function e(a){return`${d.W} Explicit, one-time research request for ideaUuid: ${a}.
2
+ This is the existing Idea's root conversation. Before research and again before saving, re-read the Idea, ALL related proposals/tasks and execution history including theme descendants. If development has begun, report that the stage changed and STOP without research or edits.
3
+ Invoke the shared research skill for ONE bounded pass (approximately 2–5 minutes, at most 5 deeply read sources). Reuse existing evidence. An explicit user instruction to skip research takes precedence. Tools unavailable, empty results, or exhausted budget: record the limitation and stop.
4
+ Attach useful sources through existing references and obtain real UUIDs. Read the latest Idea content immediately before saving and MERGE concise findings, source citations using ref:UUID, implications, unknowns, and the stopping reason; preserve user text and existing evidence.
5
+ Preserve all elaboration rounds, questions, answers and resolved state. Do not create or claim an Idea, start elaboration, submit or modify a Proposal, change task status, or start development. If findings affect an approved proposal, only record the impact and revision needs in the Idea.
6
+ Report the findings and END this turn. This menu invocation does not resume the Idea or Proposal workflow. A later explicit Research request may run another bounded pass.`}},17068:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>k});var e=c(10837),f=c(21968),g=c(9222),h=c(40467),i=c(56828),j=a([i]);function k({ideaUuid:a,currentUserUuid:b,commentCount:c,onCommentCountChange:d}){let j=(0,g.c)("ideaTracker"),[k,l]=(0,f.useState)("comments");return(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"flex gap-1 rounded-lg bg-secondary p-0.5",children:[(0,e.jsxs)("button",{onClick:()=>l("comments"),className:`flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors flex items-center justify-center gap-1.5 cursor-pointer ${"comments"===k?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:[j("panel.activityTab.comments"),c>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-secondary text-muted-foreground text-[10px] font-semibold leading-none",children:c})]}),(0,e.jsx)("button",{onClick:()=>l("activity"),className:`flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors cursor-pointer ${"activity"===k?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:j("panel.activityTab.activity")})]}),(0,e.jsx)("div",{children:"activity"===k?(0,e.jsx)(h.v,{ideaUuid:a}):(0,e.jsx)(i.$m,{targetType:"idea",targetUuid:a,currentUserUuid:b,onCountChange:d,compact:!0})})]})}i=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},20006:(a,b,c)=>{c.d(b,{p:()=>s});var d=c(10837),e=c(21968),f=c(9222),g=c(5797);let h=(0,c(56556).A)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var i=c(21289),j=c(51592),k=c(65956),l=c(20447),m=c(9810),n=c(90856),o=c(21790),p=c(49102),q=c(42377);q.callServer,q.findSourceMapURL;var r=c(77521);function s({idea:a,proposals:b,tasks:c,onSelectTask:q}){let s=(0,f.c)("ideaTracker"),t=(0,f.c)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(new Set),y=(0,e.useMemo)(()=>"open"===a.status?"idea_created":"elaborating"===a.status||0===b.length?"elaboration":b.some(a=>"approved"===a.status)&&c.length>0?"tasks":"proposal",[a.status,b,c]),z=(0,e.useMemo)(()=>{let a=["idea_created","elaboration","proposal","tasks"],b=a.indexOf(y);return a.map((a,c)=>({id:a,labelKey:({idea_created:"panel.timeline.ideaCreated",elaboration:"panel.timeline.elaboration",proposal:"panel.timeline.proposal",tasks:"panel.timeline.tasksProgress"})[a],status:c<b?"completed":c===b?"active":"upcoming",icon:({idea_created:(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),elaboration:(0,d.jsx)(h,{className:"h-3.5 w-3.5"}),proposal:(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"}),tasks:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})[a]}))},[y]),A=(0,e.useCallback)(a=>{x(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),B=(0,e.useMemo)(()=>"open"===a.status?s("panel.timeline.noElaboration"):"skipped"===a.elaborationStatus?s("panel.timeline.elaborationSkipped"):"resolved"===a.elaborationStatus&&u?s("panel.timeline.elaborationComplete",{count:u.summary.totalQuestions}):"elaborating"===a.status?s("panel.timeline.elaborationInProgress"):u&&u.summary.totalQuestions>0?s("panel.timeline.elaborationComplete",{count:u.summary.totalQuestions}):s("panel.timeline.noElaboration"),[a.status,a.elaborationStatus,u,s]),C=(0,e.useMemo)(()=>{if(0===b.length)return s("panel.timeline.noProposal");let a=b.filter(a=>"approved"===a.status).length,c=b.filter(a=>"pending"===a.status).length;if(a>0&&1===b.length)return s("panel.timeline.proposalApproved");if(a>0)return s("panel.timeline.proposalsApproved",{count:a,total:b.length});if(c>0)return s("panel.timeline.proposalPending");switch(b[0].status){case"draft":default:return s("panel.timeline.proposalDraft");case"rejected":return s("panel.timeline.proposalRejected")}},[b,s]),D=(0,e.useMemo)(()=>{let a=0,c=0;for(let d of b)a+=d.documentDrafts?.length??0,c+=d.taskDrafts?.length??0;return{docCount:a,taskDraftCount:c}},[b]),E=(0,e.useMemo)(()=>{let a=c.filter(a=>"done"===a.status||"closed"===a.status).length,b=c.filter(a=>"in_progress"===a.status).length;return{done:a,inProgress:b,toVerify:c.filter(a=>"to_verify"===a.status).length,open:c.filter(a=>"open"===a.status||"assigned"===a.status).length,total:c.length}},[c]);return(0,d.jsx)("div",{className:"space-y-0",children:z.map((e,f)=>{let g=w.has(e.id),h=f===z.length-1;return(0,d.jsxs)("div",{className:"flex gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center w-5 shrink-0",children:[(0,d.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,d.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#E0F2F1] dark:bg-[#12292a] flex items-center justify-center",children:(0,d.jsx)(m.A,{className:"h-3 w-3 text-[#00796B] dark:text-[#4FD1C0]"})}):"active"===e.status?(0,d.jsx)("div",{className:"h-5 w-5 rounded-full bg-primary flex items-center justify-center",children:(0,d.jsx)(n.A,{className:"h-2 w-2 fill-white text-white"})}):(0,d.jsx)("div",{className:"h-5 w-5 rounded-full border-2 border-dashed border-[#D9D9D9] dark:border-[#3a3a40] flex items-center justify-center",children:(0,d.jsx)(n.A,{className:"h-2 w-2 text-muted-foreground"})})}),!h&&(0,d.jsx)("div",{className:"flex-1 w-px bg-border mt-1 min-h-[8px]"})]}),(0,d.jsxs)("div",{className:`flex-1 min-w-0 ${h?"pb-0":"pb-4"}`,children:[(0,d.jsxs)("button",{onClick:()=>A(e.id),className:"flex items-center gap-1.5 w-full text-left group cursor-pointer",children:[g?(0,d.jsx)(o.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}):(0,d.jsx)(p.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,d.jsx)("span",{className:`text-[13px] font-medium ${"active"===e.status?"text-primary":"completed"===e.status?"text-foreground":"text-muted-foreground"}`,children:s(e.labelKey)}),!g&&(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground truncate ml-1",children:(b=>{switch(b.id){case"idea_created":return a.createdBy?a.createdBy.name:"";case"elaboration":return B;case"proposal":return C;case"tasks":return c.length>0?s("panel.timeline.tasksComplete",{done:E.done,total:E.total}):s("panel.timeline.noTasks");default:return""}})(e)})]}),(e=>{let f=w.has(e.id);switch(e.id){case"idea_created":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[a.createdBy&&(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.createdBy",{name:a.createdBy.name})}),(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:(0,r.fw)(a.createdAt,t)}),a.content&&(0,d.jsxs)("p",{className:"text-[12px] text-muted-foreground line-clamp-2",children:[a.content.slice(0,120),a.content.length>120?"...":""]})]}):null;case"elaboration":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:B}),u&&u.rounds.length>0&&(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.rounds",{count:u.rounds.length})})]}):null;case"proposal":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:C}),b.length>0&&(0,d.jsxs)("div",{className:"space-y-1",children:[D.docCount>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",children:[(0,d.jsx)(k.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:s("panel.timeline.documents",{count:D.docCount})})]}),D.taskDraftCount>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",children:[(0,d.jsx)(j.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:s("panel.timeline.tasks",{count:D.taskDraftCount})})]})]})]}):null;case"tasks":return f?(0,d.jsx)("div",{className:"mt-2 space-y-2",children:0===c.length?(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.noTasks")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex-1 h-1.5 rounded-full bg-[#F0EDE8] dark:bg-[#1f1e1c] overflow-hidden flex",children:[E.done>0&&(0,d.jsx)("div",{className:"h-full bg-[#00796B]",style:{width:`${E.done/E.total*100}%`}}),E.inProgress>0&&(0,d.jsx)("div",{className:"h-full bg-[#1976D2]",style:{width:`${E.inProgress/E.total*100}%`}}),E.toVerify>0&&(0,d.jsx)("div",{className:"h-full bg-[#7B1FA2]",style:{width:`${E.toVerify/E.total*100}%`}})]}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground shrink-0",children:s("panel.timeline.tasksComplete",{done:E.done,total:E.total})})]}),(0,d.jsxs)("div",{className:"space-y-1",children:[c.slice(0,5).map(a=>(0,d.jsxs)("button",{onClick:()=>q(a.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2 py-1.5 hover:bg-secondary transition-colors group cursor-pointer",children:[(0,d.jsx)(l.A,{className:"h-3 w-3 text-muted-foreground shrink-0 group-hover:text-primary"}),(0,d.jsx)("span",{className:`h-2 w-2 rounded-full shrink-0 ${(0,r.eT)(a.status)}`}),(0,d.jsx)("span",{className:"flex-1 text-[12px] text-foreground truncate group-hover:text-primary",children:a.title})]},a.uuid)),c.length>5&&(0,d.jsx)("p",{className:"text-[11px] text-muted-foreground px-2",children:s("panel.timeline.moreItems",{count:c.length-5})})]})]})}):null;default:return null}})(e)]})]},e.id)})})}},21289:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},25711:(a,b,c)=>{c.r(b),c.d(b,{Checkbox:()=>v,CheckboxIndicator:()=>x,Indicator:()=>x,Root:()=>v,createCheckboxScope:()=>p,unstable_BubbleInput:()=>z,unstable_CheckboxBubbleInput:()=>z,unstable_CheckboxProvider:()=>s,unstable_CheckboxTrigger:()=>u,unstable_Provider:()=>s,unstable_Trigger:()=>u});var d=c(21968),e=c(96090),f=c(42990),g=c(22546),h=c(15035),i=c(29851),j=c(7579),k=c(5030),l=c(16551),m=c(10837),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},28522:(a,b,c)=>{c.d(b,{U:()=>p});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(20447),i=c(49599),j=c(42424),k=c(76172),l=c(54722),m=c(55183),n=c(42377);let o=(0,n.createServerReference)("6065e0a92d48103636fcc8e82343ada1de4436194b",n.callServer,void 0,n.findSourceMapURL,"getReportsForIdeaAction");function p({projectUuid:a,ideaUuid:b,proposals:c,onDocClick:n}){let p=(0,f.c)("idea"),q=(0,f.c)("documents"),[r,s]=(0,e.useState)([]),[t,u]=(0,e.useState)(!0),v=c.some(a=>"approved"===a.status),w=(0,e.useCallback)(async()=>{if(!v){s([]),u(!1);return}try{let c=await o(a,b);if(c.success){let a=[...c.data].sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime());s(a.map(a=>({uuid:a.uuid,title:a.title,type:a.type,content:a.content??null,createdAt:a.createdAt})))}}catch(a){l.q.error("Failed to fetch reports for idea:",a)}finally{u(!1)}},[a,b,v]);return((0,k.eV)("document",w),t)?v?(0,d.jsx)("div",{className:"flex items-center justify-center py-3",children:(0,d.jsx)(g.A,{className:"h-4 w-4 animate-spin text-primary"})}):null:0===r.length?null:(0,d.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:p("reportsList")}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground",children:r.length}),(0,d.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["\xb7 ",p("reportsAcrossProposals")]})]}),(0,d.jsx)("div",{className:"space-y-0",children:r.map(a=>(0,d.jsxs)(j.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-background transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>n({title:a.title,type:"report",content:a.content??""}),children:[(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,d.jsx)(i.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:q(m.y[a.type]||"typeOther")}),(0,d.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-foreground truncate",children:a.title})]},a.uuid))})]})}},31370:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{CZ:()=>r,Di:()=>q});var e=c(10123),f=c(38402),g=c(71255),h=c(62729),i=c(26078),j=c(92633),k=c(25383),l=c(68938),m=c(61382),n=c(66366),o=a([g,j,k,l,m,n]);[g,j,k,l,m,n]=o.then?(await o)():o;class r extends Error{constructor(a){super(a),this.code=a}}async function p(a){for(let b=0;;b++)try{return await a()}catch(a){if(b>=2||"object"!=typeof a||!a||!("code"in a)||"P2002"!==a.code)throw a;await new Promise(a=>setTimeout(a,10*(b+1)))}}async function q(a){if(!["user","super_admin"].includes(a.actorType))throw new r("unauthorized");let{companyUuid:b,ideaUuid:c,actorUuid:d}=a,o=await g.z.idea.findFirst({where:{companyUuid:b,uuid:c}});if(!o)throw new r("idea_not_found");let q=await (0,j.wo)(b,o.assigneeType,o.assigneeUuid),s=a.selection?.agentUuid??q;if(!s)throw new r("assignment_required");if(q&&s!==q||a.temporaryCwd&&a.temporaryAgentUuid!==s)throw new r("target_changed");let t=await g.z.agent.findFirst({where:{companyUuid:b,uuid:s}});if(!t||"super_admin"!==a.actorType&&t.ownerUuid!==d)throw new r("permission_denied");let u=(0,i.RU)(t.roles,t.permissions),v=["idea:read","idea:write","proposal:read","task:read","document:read","document:write"];if(!v.every(a=>u.has(a)))throw new r("permission_denied");let w={companyUuid:b,actorUserUuid:d,projectUuid:o.projectUuid,agentUuid:s,registeredInstanceUuid:q===s&&"agent_instance"===o.assigneeType?o.assigneeUuid:null,registeredSource:q===s&&"project_fixed"===o.cwdSource?"project_fixed":null,registeredHost:q===s?o.cwdHost:null,registeredRuntimeCwd:q===s?o.runtimeCwd:null,temporaryTarget:a.temporaryCwd},x=await (0,k.gt)(w),y=a.selection?.instanceUuid&&"project_fixed"!==x.source?await (0,k.gt)({...w,registeredInstanceUuid:a.selection.instanceUuid,registeredSource:null,registeredHost:null,registeredRuntimeCwd:null}):x,z=await g.z.daemonSession.findFirst({where:{companyUuid:b,agentUuid:s,sessionId:c}});if(!z&&"unconfigured"===y.source&&await g.z.daemonConnection.count({where:{companyUuid:b,agentUuid:s,status:"online",lastSeenAt:{gte:new Date(Date.now()-l.STALE_THRESHOLD_MS)}}})>1)throw new r("assignment_required");let A=z?.originConnectionUuid??y.connectionUuid;if(!A)throw new r("agent_offline");if("unconfigured"!==y.source&&("ready"!==y.availability||z&&(y.connectionUuid!==z.originConnectionUuid||z.runtimeCwd&&y.cwd!==z.runtimeCwd)))throw new r("ready"!==y.availability?"agent_offline":"origin_conflict");let B=(0,e.i)(c),C=(0,f.DE)(),D=await p(()=>g.z.$transaction(async e=>{await (0,n.KG)(e,b,o.projectUuid),await e.$queryRaw`SELECT uuid FROM "Idea" WHERE uuid = ${c} AND "companyUuid" = ${b} FOR UPDATE`;let f=await e.idea.findFirst({where:{companyUuid:b,uuid:c}});if(!f)throw new r("idea_not_found");if(["projectUuid","assigneeType","assigneeUuid","cwdSource","cwdHost","runtimeCwd"].some(a=>f[a]!==o[a]))throw new r("target_changed");let g=await e.agent.findFirst({where:{companyUuid:b,uuid:s}});if(!g||"super_admin"!==a.actorType&&g.ownerUuid!==d||!v.every(a=>(0,i.RU)(g.roles,g.permissions).has(a)))throw new r("permission_denied");let h=await (0,n.Rf)(b,c,e);if(!h.eligible)throw new r(h.reason);let j=await e.daemonConnection.findFirst({where:{companyUuid:b,uuid:A,agentUuid:s,status:"online",lastSeenAt:{gte:new Date(Date.now()-l.STALE_THRESHOLD_MS)}}});if(!j)throw new r("agent_offline");if("unconfigured"!==y.source&&(j.host!==y.host||"registered_instance"===y.source&&!o.runtimeCwd&&j.cwd!==y.cwd))throw new r("target_changed");let k=await e.daemonSession.findFirst({where:{companyUuid:b,agentUuid:s,sessionId:c}});if(k&&(k.originConnectionUuid!==A||k.directIdeaUuid!==c||"unconfigured"!==y.source&&k.runtimeCwd&&k.runtimeCwd!==y.cwd))throw new r("origin_conflict");let m=await (0,l.resolveOrCreateSession)({companyUuid:b,agentUuid:s,sessionId:c,directIdeaUuid:c,originConnectionUuid:A,runtimeCwd:k?.runtimeCwd??y.cwd??j.cwd},e);if(m.originConnectionUuid!==A||m.directIdeaUuid!==c)throw new r("origin_conflict");await e.$queryRaw`SELECT uuid FROM "DaemonSession" WHERE uuid = ${m.uuid} FOR UPDATE`;let p=await (0,l.createPendingTurn)({sessionUuid:m.uuid,trigger:C?"research_requested":"human_instruction",promptText:B,...C?{operationPayload:{version:1,kind:"research",ideaUuid:c}}:{}},e);if(a.selection){let a=y.agentInstanceUuid??j.agentInstanceUuid;await e.idea.update({where:{uuid:c,companyUuid:b},data:{assigneeType:a?"agent_instance":"agent",assigneeUuid:a??s,assignedByType:"user",assignedByUuid:d,assignedAt:new Date,cwdSource:"project_fixed"===y.source?"project_fixed":null,cwdHost:y.host??j.host,runtimeCwd:m.runtimeCwd}})}let q=await e.notification.create({data:{companyUuid:b,projectUuid:o.projectUuid,projectName:"",recipientType:"agent",recipientUuid:s,entityType:"idea",entityUuid:c,entityTitle:o.title,action:C?"research_requested":"human_instruction",message:"Research requested",actorType:"user",actorUuid:d,actorName:"",instructionText:B}});return{session:m,turn:p,notification:q}}));return(0,l.publishTranscriptEvent)({companyUuid:b,sessionUuid:D.session.uuid,trigger:"turn_created",turn:D.turn,messages:[]}),(0,m.N_)({companyUuid:b,originConnectionUuid:A,turnUuid:D.turn.uuid,runtimeCwd:D.session.runtimeCwd}),h.B.emitChange({companyUuid:b,projectUuid:o.projectUuid,entityType:"idea",entityUuid:c,action:"updated"}),{session:D.session,sessionUuid:D.session.uuid,turnUuid:D.turn.uuid,agentUuid:s}}d()}catch(a){d(a)}})},32382:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>ad});var e=c(10837),f=c(21968),g=c(9222),h=c(68884),i=c(76549),j=c(10694),k=c(86460),l=c(33291),m=c(53109),n=c(74733),o=c(59876),p=c(42424),q=c(74645),r=c(49599),s=c(9994),t=c(20170),u=c(2852),v=c(88536),w=c(6019),x=c(76172),y=c(84722),z=c(64370),A=c(20006),B=c(28522),C=c(9190),D=c(17068),E=c(86104),F=c(98310),G=c(79877),H=c(92332),I=c(44963),J=c(31490),K=c(93054),L=c(83465),M=c(69218),N=c(62051),O=c(37115),P=c(41165),Q=c(12498),R=c(7784),S=c(26402),T=c(61622),U=c(64575),V=c(43756),W=c(70028),X=c(76799),Y=c(77078),Z=c(77752),$=c(54722),_=c(76664),aa=c(77521),ab=c(79030),ac=a([y,z,D,E,F,I]);function ad(a){return(0,e.jsx)(ae,{...a},a.ideaUuid)}function ae({ideaUuid:a,projectUuid:b,currentUserUuid:c,onClose:d,onNavigate:ac}){let ad=(0,g.c)(),ae=(0,g.c)("ideaTracker"),af=(0,g.c)("status"),ag=(0,g.c)("ideaTracker.lineage"),ah=(0,h.r)(),ai=(0,W.kz)(),aj=ai?.activeSessionsByIdea.get(a)??[],[ak,al]=(0,f.useState)(null),[am,an]=(0,f.useState)(!0),[ao,ap]=(0,f.useState)(null),[aq,ar]=(0,f.useState)([]),[as,at]=(0,f.useState)([]),[au,av]=(0,f.useState)(null),[aw,ax]=(0,f.useState)(null),ay=(0,f.useRef)(0),az=(0,f.useRef)(0),[aA,aB]=(0,f.useState)("overview"),[aC,aD]=(0,f.useState)(new Set(["overview"])),[aE,aF]=(0,f.useState)(!1),[aG,aH]=(0,f.useState)(0),[aI,aJ]=(0,f.useState)(!1),[aK,aL]=(0,f.useState)(!1),[aM,aN]=(0,f.useState)(!1),aO=(0,f.useRef)(null),aP=(0,f.useCallback)(a=>{a.preventDefault(),aO.current?.focus()},[]),[aQ,aR]=(0,f.useState)(null),[aS,aT]=(0,f.useState)(!0),[aU,aV]=(0,f.useState)(!1),[aW,aX]=(0,f.useState)(null),[aY,aZ]=(0,f.useState)(!1),{start:a$,pickerState:a_,confirmPick:a0,cancelPick:a1,isResolving:a2}=(0,X.E)({reassignNoWake:Z.U,previewIdeaUuid:ak?.uuid}),[a3,a4]=(0,f.useState)(!1),[a5,a6]=(0,f.useState)(""),[a7,a8]=(0,f.useState)(""),[a9,ba]=(0,f.useState)(!1),[bb,bc]=(0,f.useState)(null),[bd,be]=(0,f.useState)(!1),[bf,bg]=(0,f.useState)(!1),[bh,bi]=(0,f.useState)(!1),[bj,bk]=(0,f.useState)(!1),[bl,bm]=(0,f.useState)(null),[bn,bo]=(0,f.useState)(null),[bp,bq]=(0,f.useState)(null),br=(0,f.useCallback)(a=>{bq(null),bm(a)},[]),bs=(0,f.useCallback)(a=>{bm(null),bo(null),bq(a)},[]),[bt,bu]=(0,f.useState)(!1),[bv,bw]=(0,f.useState)(!1),bx=(0,f.useCallback)(a=>{let b=new URLSearchParams(window.location.search);b.set("tab",a),window.history.replaceState(null,"",`${window.location.pathname}?${b.toString()}`)},[]),by=(0,f.useCallback)(async()=>{try{let b=await (0,L.c)(a);b.success?(al(b.data),ap(null)):ap(ae("Not found"===b.error?"panel.notFound":"panel.loadFailed"))}catch{ap(ae("panel.loadFailed"))}finally{an(!1)}},[a,ae]);(0,x.eV)("idea",by),(0,x.eV)("proposal",by),(0,x.eV)("task",by);let bz=ak?.uuid,bA=ak?.status,bB=`${bz}:${bA}`,bC=(0,f.useCallback)(async()=>{let a=++ay.current;if(av(null),bz){if("open"===bA){ar([]),av(bB);return}try{let c=await (0,M.U)(b,bz);a===ay.current&&c.success&&(ar(c.data),av(bB))}catch(a){$.q.error("Failed to fetch proposals:",a)}}},[b,bz,bA,bB]);(0,x.eV)("proposal",bC);let bD=(0,f.useCallback)(async()=>{let a=++az.current;ax(null);let c=aq.filter(a=>"approved"===a.status);if(0===c.length){at([]),ax(aq);return}try{let d=await Promise.all(c.map(a=>(0,N.c)(b,a.uuid)));if(a!==az.current||d.some(a=>!a.success))return;let e=d.flatMap(a=>a.success&&a.data?a.data.map(a=>({uuid:a.uuid,title:a.title,status:a.status,commentCount:a.commentCount??0,assignee:a.assignee??null,acceptanceSummary:a.acceptanceSummary??null})):[]);at(e),ax(aq)}catch(a){$.q.error("Failed to fetch tasks:",a)}},[b,aq]);(0,x.eV)("task",bD);let bE=(0,f.useCallback)(async()=>{if(!bz)return;let a=await (0,P.z)(bz);a.success&&a.data&&aR(a.data),aT(!1)},[bz]);(0,x.eV)("idea",bE);let bF=(0,f.useMemo)(()=>ak?function(a,b,c){let d=["overview"];return d.push("elaboration"),b.length>0&&d.push("proposal"),c.length>0&&d.push("tasks"),d.push("activity"),d}(0,aq,as):["overview","activity"],[ak,aq,as]);(0,f.useRef)(null),ak&&ak.badgeHint;let bG=(0,f.useMemo)(()=>as.filter(a=>"in_progress"===a.status||"assigned"===a.status||"to_verify"===a.status).length,[as]),bH=(0,f.useCallback)(()=>{if(!bl)return void bo(null);(0,O.Q)(bl).then(a=>{a.success&&bo(a.data)}).catch(a=>$.q.error("Failed to load task details:",a))},[bl]);(0,x.eV)("task",bH);let bI=()=>{a4(!1),a6(ak?.title||""),a8(ak?.content||""),bc(null)},bJ=async()=>{if(!ak||!a5.trim())return void bc(ad("ideas.titleRequired"));ba(!0),bc(null);let a=await (0,J.J)({ideaUuid:ak.uuid,projectUuid:b,title:a5.trim(),content:a7.trim()||null});ba(!1),a.success?(a4(!1),await by(),ah.refresh()):bc(a.error||ad("ideas.updateFailed"))},bK=async()=>{if(!ak||aK)return;aL(!0);let a=await (0,K.Z)(ak.uuid,b);aL(!1),a.success&&(d(),ah.refresh())},bL=async()=>{if(!ak)return;aV(!0),aX(null);let a=await (0,Q.e)(ak.uuid);aV(!1),a.success?(aZ(!0),await by(),ah.refresh()):aX(a.error||ad("elaboration.verifyFailed"))},bM=async a=>{if(!ak)return;be(!0),al({...ak,isContainer:a});let c=await (0,J.J)({ideaUuid:ak.uuid,projectUuid:b,title:ak.title,content:ak.content??null,isContainer:a});be(!1),c.success?(await by(),ah.refresh()):(al({...ak,isContainer:!a}),i.oR.error(c.error||ad("ideas.updateFailed")))},bN=ak?.derivedStatus||"todo",bO=ak?.isContainer===!0,bP=null!==ak,bQ=(0,S.o)({ideaStatus:ak?.status,elaborationStatus:ak?.elaborationStatus,elaboration:aQ});return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:d}),(0,e.jsxs)("div",{className:`fixed right-0 top-14 md:top-0 z-50 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col border-l border-border bg-card shadow-xl ${bv?"":"animate-in slide-in-from-right duration-300"}`,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,e.jsx)("div",{className:"flex-1 min-w-0",children:am?(0,e.jsx)("div",{className:"h-5 w-40 animate-pulse rounded bg-secondary"}):ak?a3?(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground",children:ad("ideas.editIdea")}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:`text-[11px] font-semibold uppercase tracking-wider ${bO?"text-primary":"text-muted-foreground"}`,children:bO?ag("typeTheme"):ag("typeIdea")}),(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:ak.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex min-w-0 items-center gap-2",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 overflow-hidden",children:[(0,e.jsx)(r.E,{className:aa._5[bN]||aa._5.todo,children:ak.badgeHint?ae(`badge.${aa.Wl[ak.badgeHint]||"open"}`):af(aa.Bj[bN]||"todo")}),bO&&ak.childProgress&&ak.childProgress.total>0&&(0,e.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-xs font-medium text-primary",title:ag("childrenDone",{done:ak.childProgress.done,total:ak.childProgress.total}),children:[(0,e.jsx)(ab.C,{done:ak.childProgress.done,total:ak.childProgress.total,size:13,stroke:2}),ak.childProgress.done,"/",ak.childProgress.total]}),(0,e.jsx)("span",{className:"min-w-0 truncate whitespace-nowrap text-xs text-muted-foreground",title:(0,_.r)(ak.createdAt),children:(0,_.r)(ak.createdAt)})]}),aj.length>0&&ai&&(0,e.jsx)(V.U,{sessions:aj,onSelect:ai.openChatForActiveSession,surface:"sidebar",className:"shrink-0"})]})]}):(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground",children:ae("panel.notFound")})}),(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-2 ml-3",children:[ak&&!am&&!a3&&(0,e.jsx)(T.M,{ideaUuid:ak.uuid,projectUuid:b,assignee:ak.assignee,assigneeName:ak.assignee?.name,proposals:aq,tasks:as,triggerRef:aO,busy:aK||aU||a2||a9||bd||null!==a_,stageReason:bO?ag("containerHint"):void 0,stageDataReason:au!==bB||aw!==aq?ae("panel.actions.loadingStage"):void 0,verifyReason:aS?ae("loading"):aY?ad("elaboration.verifiedQueuedHint"):bQ?void 0:ae("panel.actions.verifyUnavailable"),editReason:"elaborated"===ak.status?ae("panel.actions.editUnavailable"):void 0,onVerify:()=>{!ak||ak.isContainer||!bQ||aY||aS||aU||a2||bd||a$({ideaUuid:ak.uuid,wake:bL})},onDerive:()=>bk(!0),onSetParent:()=>bi(!0),onMove:()=>bg(!0),onEdit:()=>{ak&&"elaborated"!==ak.status&&(a6(ak.title),a8(ak.content||""),bc(null),a4(!0))},onDelete:()=>aN(!0),onStarted:by,onCloseAutoFocus:aP},ak.uuid),(0,e.jsx)(p.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:a3?bI:d,"aria-label":ad("common.close"),children:(0,e.jsx)(j.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),ak&&!am&&!a3&&(0,e.jsx)("div",{className:"border-b border-secondary px-6",children:(0,e.jsx)("div",{className:"flex gap-0 -mb-px",children:bF.map(a=>(0,e.jsxs)("button",{onClick:()=>{aB(a),aF(!0),aD(b=>new Set([...b,a])),bx(a)},className:`relative flex items-center gap-1.5 px-3 py-2.5 text-[13px] font-medium transition-colors cursor-pointer ${aA===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-muted-foreground"}`,children:[ae(`panel.tabs.${a}`),"tasks"===a&&bG>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0] text-[10px] font-semibold leading-none",children:bG}),"activity"===a&&aG>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-secondary text-muted-foreground text-[10px] font-semibold leading-none",children:aG})]},a))})}),(0,e.jsx)(q.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:am?(0,e.jsxs)("div",{className:"flex flex-1 items-center justify-center py-12",children:[(0,e.jsx)(k.A,{className:"h-6 w-6 animate-spin text-primary"}),(0,e.jsx)("span",{className:"ml-2 text-sm text-muted-foreground",children:ae("loading")})]}):ao?(0,e.jsx)("div",{className:"flex flex-1 items-center justify-center py-12",children:(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:ao})}):ak?a3?(0,e.jsxs)("div",{className:"space-y-5",children:[bb&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:bb}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(u.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:ad("ideas.titleLabel")}),(0,e.jsx)(s.p,{id:"edit-title",value:a5,onChange:a=>a6(a.target.value),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(u.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-foreground",children:ad("common.content")}),(0,e.jsx)(t.T,{id:"edit-content",value:a7,onChange:a=>a8(a.target.value),rows:8,className:"border-border text-sm resize-none focus-visible:ring-primary"})]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,e.jsx)(p.$,{variant:"outline",onClick:bI,disabled:a9,children:ad("common.cancel")}),(0,e.jsxs)(p.$,{onClick:bJ,disabled:a9||!a5.trim(),children:[a9&&(0,e.jsx)(k.A,{className:"mr-2 h-4 w-4 animate-spin"}),ad("common.save")]})]})]}):(0,e.jsxs)(e.Fragment,{children:[aY&&(0,e.jsx)("p",{role:"status",className:"mb-4 text-xs text-muted-foreground",children:ad("elaboration.verifiedQueuedHint")}),aW&&(0,e.jsx)("p",{role:"alert",className:"mb-4 text-xs text-destructive",children:aW}),bO&&(0,e.jsx)("p",{className:"mb-4 text-xs text-muted-foreground",children:ag("containerHint")}),aC.has("overview")&&(0,e.jsxs)("div",{style:{display:"overview"===aA?"block":"none"},children:[(0,e.jsxs)("div",{className:"mb-5 flex items-start justify-between gap-3 rounded-lg border border-[#EFEBE3] dark:border-[#2a2a2e] bg-background px-3.5 py-3",children:[(0,e.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,e.jsxs)(u.J,{htmlFor:"container-toggle",className:"flex items-center gap-1.5 text-[13px] font-medium text-foreground",children:[(0,e.jsx)(l.A,{className:"h-3.5 w-3.5 text-primary","aria-hidden":!0}),ag("container")]}),(0,e.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:ag("containerDescription")})]}),(0,e.jsx)(v.d,{id:"container-toggle",checked:bO,disabled:bd,onCheckedChange:bM,"aria-label":ag("makeContainer")})]}),(0,e.jsx)(A.p,{idea:ak,proposals:aq,tasks:as,onSelectTask:br}),(0,e.jsxs)("div",{className:"mt-5 space-y-2",children:[(0,e.jsx)("div",{className:"flex items-center",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(l.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-[12px] font-semibold text-foreground/80",children:ag("title")})]})}),ak.parent?(0,e.jsxs)("button",{type:"button",onClick:()=>ac?.(ak.parent.uuid),className:"flex w-full items-center gap-2 rounded-lg bg-background px-3 py-2.5 text-left transition-colors hover:bg-secondary",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"shrink-0 text-[12px] text-muted-foreground",children:ag("derivedFrom")}),(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] font-medium text-foreground/80",children:ak.parent.title})]}):(0,e.jsx)("p",{className:"px-1 text-[12px] text-muted-foreground",children:ag("noParent")}),ak.children&&ak.children.length>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-1 pt-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)("span",{className:"text-[12px] font-medium text-foreground/80",children:ag("derivedIdeas")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:ak.children.length})]}),(()=>{let a=ak.children.filter(a=>"done"===a.derivedStatus).length,b=ak.children.length;return(0,e.jsxs)("span",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",title:ag("childrenDone",{done:a,total:b}),children:[(0,e.jsx)(ab.C,{done:a,total:b,size:14,stroke:2}),a,"/",b]})})()]}),(0,e.jsx)("div",{className:"overflow-hidden rounded-lg border border-[#EFEBE3] dark:border-[#2a2a2e]",children:ak.children.map((a,b)=>(0,e.jsxs)("div",{children:[b>0&&(0,e.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,e.jsxs)("button",{type:"button",onClick:()=>ac?.(a.uuid),className:"flex w-full items-center justify-between gap-2 px-3 py-2.5 text-left transition-colors hover:bg-background",children:[(0,e.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,e.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"truncate text-[12px] text-foreground",children:a.title})]}),(0,e.jsx)(r.E,{className:`shrink-0 border-0 text-[10px] ${aa._5[a.derivedStatus]||aa._5.todo}`,children:af(aa.Bj[a.derivedStatus]||"todo")})]})]},a.uuid))})]})]}),(0,e.jsx)(B.U,{projectUuid:b,ideaUuid:ak.uuid,proposals:aq,onDocClick:bs}),(0,e.jsxs)("div",{className:"mt-5 space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-[12px] font-semibold text-foreground/80",children:ad("references.title")})]}),(0,e.jsx)(U.ReferencesSection,{targetType:"idea",targetUuid:ak.uuid,canWrite:!0,compact:!0})]})]}),bF.includes("elaboration")&&aC.has("elaboration")&&(0,e.jsx)("div",{style:{display:"elaboration"===aA?"block":"none"},children:(0,e.jsx)(y.G,{idea:ak,elaboration:aQ,isLoading:aS,onRefresh:async()=>{await bE(),await by()},onReassign:()=>aJ(!0),canReassign:bP})}),bF.includes("proposal")&&aC.has("proposal")&&(0,e.jsx)("div",{style:{display:"proposal"===aA?"block":"none"},children:(0,e.jsx)(z.k,{idea:ak,projectUuid:b,onTaskClick:br,onDocClick:bs,initialProposals:aq})}),bF.includes("tasks")&&aC.has("tasks")&&(0,e.jsx)("div",{style:{display:"tasks"===aA?"block":"none"},children:(0,e.jsx)(C.n,{tasks:as,projectUuid:b,proposalUuids:aq.filter(a=>"approved"===a.status).map(a=>a.uuid),onSelectTask:br})}),aC.has("activity")&&(0,e.jsx)("div",{style:{display:"activity"===aA?"block":"none"},children:(0,e.jsx)(D.x,{ideaUuid:ak.uuid,currentUserUuid:c,commentCount:aG,onCommentCountChange:aH})})]}):null})}),ak&&(0,e.jsx)(w.Lt,{open:aM,onOpenChange:aN,children:(0,e.jsxs)(w.EO,{onCloseAutoFocus:aP,children:[(0,e.jsxs)(w.wd,{children:[(0,e.jsx)(w.r7,{children:ad("ideas.deleteIdea")}),(0,e.jsx)(w.$v,{children:ad("ideas.deleteIdeaConfirm",{title:ak.title})})]}),(0,e.jsxs)(w.ck,{children:[(0,e.jsx)(w.Zr,{children:ad("common.cancel")}),(0,e.jsx)(w.Rx,{variant:"destructive",onClick:bK,disabled:aK,children:ad("common.delete")})]})]})})]}),(0,e.jsx)(G.h,{open:bf,onOpenChange:bg,onCloseAutoFocus:aP,ideaUuid:a,projectUuid:b,onMoved:()=>d()}),ak&&(0,e.jsx)(H.d,{open:bh,onOpenChange:bi,ideaUuid:ak.uuid,ideaTitle:ak.title,projectUuid:b,currentParentUuid:ak.parentUuid??null,descendantUuids:ak.descendantUuids??[],onChanged:by,onCloseAutoFocus:aP}),ak&&(0,e.jsx)(I.i,{open:bj,onOpenChange:bk,onCloseAutoFocus:aP,projectUuid:b,parentUuid:ak.uuid,parentTitle:ak.title,onCreated:a=>{i.oR.success(ag("deriveIdea")),ah.refresh(),ac?.(a)}}),aI&&ak&&(0,e.jsx)(R.i,{idea:{uuid:ak.uuid,title:ak.title,content:ak.content,status:ak.status,assignee:ak.assignee?{type:ak.assignee.type,uuid:ak.assignee.uuid,name:ak.assignee.name}:null},projectUuid:b,currentUserUuid:c,onClose:()=>{aJ(!1),by()}}),(0,e.jsx)(Y.V,{open:null!==a_,onCloseAutoFocus:aP,agentName:ak?.assignee?.name??"",instances:a_?.instances??[],onConfirm:a0,onCancel:a1}),bl&&bn&&(0,e.jsx)(E.v,{task:bn,projectUuid:b,currentUserUuid:c,mode:bt?"sidebyside":"overlay",onClose:()=>{bm(null),bo(null)},onBack:()=>{bm(null),bo(null)}}),bp&&(0,e.jsx)(F.K,{title:bp.title,type:bp.type,content:bp.content,mode:bt?"sidebyside":"overlay",onClose:()=>bq(null),onBack:()=>bq(null)})]})}[y,z,D,E,F,I]=ac.then?(await ac)():ac,d()}catch(a){d(a)}})},33291:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]])},37115:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(42377);let e=(0,d.createServerReference)("406d6128c81e6dbdcd7aa74d19f6895e54413d77ab",d.callServer,void 0,d.findSourceMapURL,"getTaskAction")},40467:(a,b,c)=>{c.d(b,{v:()=>k});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(2852),i=c(9922),j=c(77521);function k({ideaUuid:a}){let b=(0,f.c)(),[c,k]=(0,e.useState)([]),[l,m]=(0,e.useState)(!0);return(0,e.useCallback)(async()=>{m(!0),k((await (0,i.x)(a)).activities),m(!1)},[a]),(0,d.jsxs)("div",{className:"mt-5",children:[(0,d.jsx)(h.J,{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:b("common.activity")}),(0,d.jsx)("div",{className:"mt-2",children:l?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(g.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):0===c.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground italic",children:b("common.noActivity")}):c.map((a,e)=>(0,d.jsxs)("div",{className:"flex items-stretch gap-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center w-2 shrink-0",children:[(0,d.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full border-[1.5px] border-[#D9D9D9] dark:border-[#3a3a40] bg-card"}),e<c.length-1&&(0,d.jsx)("div",{className:"flex-1 w-px bg-border mt-1"})]}),(0,d.jsxs)("div",{className:"flex-1 pb-3",children:[(0,d.jsx)("p",{className:"text-[13px] text-foreground",children:function(a,b){let{action:c,actorName:d}=a;switch(c){case"created":case"idea_created":return b("activity.ideaCreated",{actor:d});case"assigned":case"idea_assigned":return b("activity.ideaAssigned",{actor:d});case"claimed":case"idea_claimed":return b("activity.ideaClaimed",{actor:d});case"released":case"idea_released":return b("activity.ideaReleased",{actor:d});case"status_changed":case"idea_status_changed":return b("activity.ideaStatusChanged",{actor:d});case"edited":case"idea_edited":return b("activity.ideaEdited",{actor:d});case"reparented":case"idea_reparented":return b("activity.ideaReparented",{actor:d});case"elaboration_started":return b("activity.elaborationStarted",{actor:d});case"elaboration_answered":return b("activity.elaborationAnswered",{actor:d});case"elaboration_skipped":return b("activity.elaborationSkipped",{actor:d});case"elaboration_resolved":return b("activity.elaborationResolved",{actor:d});case"elaboration_followup":return b("activity.elaborationFollowup",{actor:d});default:return b("activity.genericAction",{actor:d,action:c})}}(a,b)}),(0,d.jsx)("p",{className:"text-[11px] text-muted-foreground",children:(0,j.fw)(a.createdAt,b)})]})]},a.uuid))})]})}},43756:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(10837),e=c(21968),f=c(9222),g=c(6871),h=c(42424),i=c(74113),j=c(96307);function k(a){return a.agentName??a.agentUuid}function l({sessions:a,onSelect:b,surface:c,className:l}){let m=(0,f.c)("activeSessions"),[n,o]=(0,e.useState)(!1),p=(0,e.useRef)(null);if(0===a.length)return null;let q=a.some(a=>a.canOpen),r=1===a.length&&a[0].canOpen,s=a[0],t=()=>{null!==p.current&&(clearTimeout(p.current),p.current=null)},u=()=>{t(),p.current=setTimeout(()=>o(!1),120)},v=a=>{a.canOpen&&(o(!1),b(a))},w=(0,d.jsxs)(h.$,{type:"button",variant:"outline",size:"tracker"===c?"xs":"icon-sm","data-testid":`${c}-active-session-indicator`,"aria-label":m(q?"indicatorLabel":"statusOnlyIndicatorLabel",{count:a.length}),"aria-disabled":!q,"aria-haspopup":a.length>1?"dialog":void 0,onPointerDown:a=>a.stopPropagation(),onPointerEnter:r?void 0:a=>{"touch"!==a.pointerType&&(t(),o(!0))},onPointerLeave:r?void 0:a=>{"touch"!==a.pointerType&&u()},onFocus:r?void 0:()=>o(!0),onClick:a=>{if(a.stopPropagation(),t(),r)return void v(s);n&&a.preventDefault()},onKeyDown:a=>a.stopPropagation(),className:(0,j.cn)("group/active relative gap-1.5 overflow-visible border-emerald-500/35 bg-emerald-500/10 font-semibold text-emerald-700 shadow-none transition-[background-color,border-color,box-shadow] hover:border-emerald-500/60 hover:bg-emerald-500/15 hover:text-emerald-700 hover:shadow-[0_3px_10px_-5px_rgba(16,185,129,0.8)] focus-visible:border-emerald-500 focus-visible:ring-emerald-500/50 dark:border-emerald-500/35 dark:bg-emerald-500/10 dark:text-emerald-300 dark:hover:border-emerald-500/60 dark:hover:bg-emerald-500/15 dark:hover:text-emerald-300","tracker"===c?"h-7 min-w-7 px-1 text-[11px]":"sidebar"===c?"h-8 min-w-8 px-1 text-[11px]":"h-9 min-w-9 px-1 text-[11px] shadow-sm",l),children:[(0,d.jsxs)("span",{className:"relative shrink-0","aria-hidden":!0,children:[(0,d.jsx)(g.AgentAvatar,{name:k(s),size:"graph"===c?22:20,className:"rounded-full ring-1 ring-emerald-600/25"}),(0,d.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 size-2 rounded-full border-2 border-card bg-emerald-500"}),(0,d.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 size-2 rounded-full bg-emerald-400/75 motion-safe:animate-ping motion-reduce:animate-none"})]}),a.length>1&&(0,d.jsx)("span",{children:a.length})]});return r?w:(0,d.jsxs)(i.AM,{open:n,onOpenChange:o,children:[(0,d.jsx)(i.Wv,{asChild:!0,children:w}),(0,d.jsxs)(i.hl,{align:"start",sideOffset:6,onCloseAutoFocus:a=>a.preventDefault(),onPointerDown:a=>a.stopPropagation(),onPointerEnter:t,onPointerLeave:u,onClick:a=>a.stopPropagation(),className:"w-[min(22rem,calc(100vw-2rem))] p-1.5","aria-label":m("chooserLabel"),children:[(0,d.jsx)("p",{className:"px-2 pb-1.5 pt-1 text-xs font-medium text-muted-foreground",children:m("runningCount",{count:a.length})}),(0,d.jsx)("div",{className:"max-h-64 overflow-y-auto",children:a.map(a=>(0,d.jsxs)(h.$,{type:"button",variant:"ghost",disabled:!a.canOpen,"aria-label":a.canOpen?k(a):m("statusOnlyEntry",{agent:k(a)}),onClick:()=>v(a),className:"group/session h-auto w-full min-w-0 items-start justify-start gap-2.5 whitespace-normal px-2 py-2 text-left disabled:cursor-not-allowed disabled:opacity-65",children:[(0,d.jsxs)("span",{className:"relative mt-0.5 shrink-0","aria-hidden":!0,children:[(0,d.jsx)(g.AgentAvatar,{name:k(a),size:30,className:"rounded-lg ring-1 ring-border transition-shadow group-hover/session:ring-emerald-500/45"}),(0,d.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 size-2.5 rounded-full border-2 border-card bg-emerald-500"})]}),(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"block truncate text-xs font-medium text-foreground",children:k(a)}),(0,d.jsx)("span",{className:"block truncate text-[11px] text-muted-foreground",children:a.connectionAvailable?m("location",{host:a.host??m("unknownHost"),cwd:a.cwd??m("unknownCwd")}):m("agentFallback")}),!a.canOpen&&(0,d.jsx)("span",{className:"block text-[11px] font-medium text-muted-foreground",children:m("statusOnly")})]})]},a.sessionUuid))})]})]})}},44963:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{i:()=>v});var e=c(10837),f=c(21968),g=c(9222),h=c(86460),i=c(76549),j=c(42424),k=c(11568),l=c(9994),m=c(20170),n=c(2852),o=c(8495),p=c(94372),q=c(42087),r=c(93524),s=c(70028),t=c(68797),u=a([t]);function v({open:a,onOpenChange:b,onCloseAutoFocus:c,projectUuid:d,onCreated:u,parentUuid:v,parentTitle:w}){let x=(0,g.c)("ideaTracker"),y=(0,g.c)("ideaTracker.lineage"),z=!!v,A=(0,g.c)("common"),[B,C]=(0,f.useState)(""),[D,E]=(0,f.useState)(""),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(!1),[J,K]=(0,f.useState)(null),[L,M]=(0,f.useState)(!1),[N,O]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(!1),[R,S]=(0,f.useState)(!1),T=(0,s.kz)(),U=(T?.connections??[]).some(a=>"online"===a.effectiveStatus),[V,W]=(0,f.useState)("form"),X=z?"form":V,Y=async()=>{let a=B.trim();if(a){I(!0),K(null);try{let c=await fetch(`/api/projects/${d}/ideas`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,content:D.trim()||void 0,...v?{parentUuid:v}:{},...F?{isContainer:!0}:{}})}),e=await c.json();e.success&&e.data?.uuid?(C(""),E(""),G(!1),b(!1),u?.(e.data.uuid)):K(e.error||x("error.createFailed"))}catch{K(x("error.createFailed"))}finally{I(!1)}}},Z=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"space-y-4 py-2",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(n.J,{htmlFor:"idea-title",children:x("newIdea.ideaTitle")}),(0,e.jsx)(l.p,{id:"idea-title",value:B,onChange:a=>C(a.target.value),placeholder:x("newIdea.titlePlaceholder"),autoFocus:!0,onKeyDown:a=>{!(0,q.P)(a)&&"Enter"===a.key&&!a.shiftKey&&B.trim()&&(a.preventDefault(),Y())}})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsxs)(n.J,{htmlFor:"idea-content",children:[x("newIdea.description"),(0,e.jsxs)("span",{className:"ml-1 text-xs font-normal text-muted-foreground",children:["(",A("optional"),")"]})]}),(0,e.jsx)(m.T,{id:"idea-content",value:D,onChange:a=>E(a.target.value),placeholder:x("newIdea.descriptionPlaceholder"),rows:4,className:"resize-none"})]}),(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(o.S,{id:"idea-is-container",checked:F,onCheckedChange:a=>G(!0===a),className:"mt-0.5"}),(0,e.jsxs)("div",{className:"grid gap-1 leading-none",children:[(0,e.jsx)(n.J,{htmlFor:"idea-is-container",className:"cursor-pointer",children:y("makeContainer")}),(0,e.jsx)("p",{className:"text-xs font-normal text-muted-foreground",children:y("containerHint")})]})]}),J&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:J})]}),(0,e.jsxs)(k.Es,{children:[(0,e.jsx)(j.$,{variant:"outline",onClick:()=>b(!1),disabled:H,children:A("cancel")}),(0,e.jsxs)(j.$,{onClick:Y,disabled:H||!B.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:[H?(0,e.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,A("create")]})]})]}),$=async a=>{Q(!0);try{let b=await (0,r.tm)("/api/ideas/conversational",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:d,agentUuid:a.agentUuid,connectionUuid:a.connectionUuid,descriptionText:a.userText,researchFirst:N,...L?{decompose:!0}:{}})});if(!b.ok){let a=null;try{let c=await b.json();"string"==typeof c?.error&&c.error&&(a=c.error)}catch{}throw new t.fF(b.status,a)}let c=null;try{let a=await b.json();a?.success&&a.data?.session&&(c=a.data.session)}catch{}if(!c)throw new t.fF(b.status,null);return c}finally{Q(!1)}},_=(0,e.jsxs)("div",{className:"space-y-3 py-2",children:[(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(o.S,{id:"idea-research-first",checked:N,onCheckedChange:a=>O(!0===a),disabled:P,"aria-describedby":"idea-research-first-hint",className:"mt-0.5"}),(0,e.jsxs)("div",{className:"grid gap-1",children:[(0,e.jsx)(n.J,{htmlFor:"idea-research-first",className:"cursor-pointer",children:x("newIdea.researchFirst")}),(0,e.jsx)("p",{id:"idea-research-first-hint",className:"text-xs leading-4 text-muted-foreground",children:x("newIdea.researchFirstHint")})]})]}),(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(o.S,{id:"idea-decompose",checked:L,disabled:P,onCheckedChange:a=>M(!0===a),className:"mt-0.5"}),(0,e.jsxs)("div",{className:"grid gap-1 leading-none",children:[(0,e.jsx)(n.J,{htmlFor:"idea-decompose",className:"cursor-pointer",children:x("newIdea.decompose")}),(0,e.jsx)("p",{className:"text-xs font-normal text-muted-foreground",children:x("newIdea.decomposeHint")})]})]}),(0,e.jsx)(t.jH,{projectUuid:d,dispatch:$,onStarted:()=>{b(!1),i.oR.success(x("newIdea.submitted"))}})]});return(0,e.jsx)(k.lG,{open:a,onOpenChange:b,children:(0,e.jsxs)(k.Cf,{className:"sm:max-w-[480px]",onCloseAutoFocus:c,children:[(0,e.jsxs)(k.c7,{children:[(0,e.jsx)(k.L3,{children:z?y("deriveIdea"):x("newIdea.title")}),z&&w&&(0,e.jsxs)("p",{className:"text-[13px] text-muted-foreground",children:[y("derivedFrom")," \xb7 ",w]})]}),!z&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.tU,{value:X,onValueChange:a=>W(a),children:(0,e.jsxs)(p.j7,{className:"grid w-full grid-cols-2",children:[(0,e.jsx)(p.Xi,{value:"form",children:x("newIdea.modeForm")}),(0,e.jsx)(p.Xi,{value:"conversation",disabled:!U&&!R,children:x("newIdea.modeConversation")})]})}),!U&&(0,e.jsxs)("div",{className:"rounded-xl border border-[#EFEBE4] dark:border-[#2a2a2e] bg-[#FCFBF8] dark:bg-[#1e1d1b] px-3 py-2",children:[(0,e.jsx)("p",{className:"px-1 pt-1 text-[12px] font-medium text-muted-foreground",children:x("newIdea.modeConversationOfflineHint")}),(0,e.jsx)(t.Bs,{variant:"compact"})]})]}),"form"===X?Z:_]})})}t=(u.then?(await u)():u)[0],d()}catch(a){d(a)}})},53109:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("corner-left-up",[["path",{d:"M14 9 9 4 4 9",key:"1af5af"}],["path",{d:"M20 20h-7a4 4 0 0 1-4-4V4",key:"1blwi3"}]])},55183:(a,b,c)=>{function d(a){return a.replace(/\\n/g,"\n")}c.d(b,{j:()=>d,y:()=>e});let e={prd:"typePrd",tech_design:"typeTechDesign",adr:"typeAdr",spec:"typeSpec",guide:"typeGuide",design:"typeDesign",note:"typeNote",report:"typeReport",other:"typeOther"}},61622:(a,b,c)=>{c.d(b,{M:()=>N});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(75888),i=c(98893),j=c(58270),k=c(77840),l=c(33291),m=c(53109),n=c(24364),o=c(87461),p=c(59876),q=c(14973),r=c(79543),s=c(21790),t=c(42424),u=c(33863),v=c(94143),w=c(99127),x=c(62183),y=c(50042),z=c(42377);z.callServer,z.findSourceMapURL;let A=(0,z.createServerReference)("705db04c9a64f6e7285e7ac00faef33509e38760e0",z.callServer,void 0,z.findSourceMapURL,"researchIdeaAction");var B=c(76799),C=c(77078),D=c(70028);function E({ideaUuid:a,assignee:b,disabledReason:c,refreshKey:h,onStarted:i,renderAction:j,onCloseAutoFocus:k}){let l=(0,f.c)("research"),m=(0,D.kz)(),n=(0,y.Q9)(b),o=null!==n&&(m?.connections??[]).some(a=>a.agentUuid===n&&"online"===a.effectiveStatus),[p,q]=(0,e.useState)("loading"),[r,s]=(0,e.useState)(!1),t=(0,e.useRef)(!1),[u,v]=(0,e.useState)(0),w=(0,e.useRef)(void 0),x=(0,e.useCallback)(async(a,b,c)=>(w.current={agentUuid:b,instanceUuid:c},{success:!0}),[]),{start:z,pickerState:E,confirmPick:F,confirmTemporary:G,cancelPick:H,isResolving:I}=(0,B.E)({reassignNoWake:x,previewIdeaUuid:a}),J=c||(r||I?l("dispatching"):n?o?p?l(p):void 0:l("offlineHint"):l("assignmentHint")),K=async(c,d=!0)=>{if(!t.current){t.current=!0,s(!0);try{let e=c||w.current?await A(a,c,w.current):await A(a);e.success?(q(void 0),g.oR.success(l("dispatched")),w.current=void 0,i()):(d&&"assignment_required"===e.errorCode&&(0,y.Q9)(b)?(t.current=!1,z({ideaUuid:a,wake:a=>K(a,!1)})):g.oR.error(l(e.errorCode)),v(a=>a+1))}catch{g.oR.error(l("unknown"))}finally{t.current=!1,s(!1)}}};return(0,d.jsxs)(d.Fragment,{children:[j({label:l("button"),busy:r||I,disabledReason:J,onSelect:()=>{J||t.current||(w.current=void 0,K())}}),(0,d.jsx)(C.V,{open:null!==E,onCloseAutoFocus:k,agentName:"",instances:E?.instances??[],agentUuid:E?.agentUuid,onConfirm:F,onTemporaryConfirm:G,onCancel:H})]})}var F=c(73355),G=c(42087),H=c(96307);let I={default:"",research:"text-[#9A6700] focus:text-[#7A5100] focus:bg-[#FFF4CE] dark:text-[#F2C45D] dark:focus:text-[#F7D990] dark:focus:bg-[#3B2D12]",verify:"text-[#1976D2] focus:text-[#155FA0] focus:bg-[#E3F2FD] dark:text-[#64B5F6] dark:focus:text-[#90CAF9] dark:focus:bg-[#102A43]",develop:"text-[#2E7D32] focus:text-[#256628] focus:bg-[#E8F5E9] dark:text-[#72D572] dark:focus:text-[#9AE69A] dark:focus:bg-[#17351D]",yolo:"text-[#6A4FB6] focus:text-[#584098] focus:bg-[#F1ECFA] dark:text-[#B39DDB] dark:focus:text-[#D1C4E9] dark:focus:bg-[#2A2040]",destructive:"text-destructive focus:text-destructive focus:bg-destructive/10"};function J(a){return()=>{}}function K(){return!1}function L({label:a,icon:b,reason:c,onSelect:f,onTooltipEscape:g,tone:h="default"}){let i=(0,e.useId)(),j=(0,d.jsxs)(u._2,{"aria-label":a,"aria-disabled":!!c,"aria-describedby":c?i:void 0,variant:"destructive"===h?"destructive":"default",className:(0,H.cn)(I[h],c&&"cursor-default text-muted-foreground focus:bg-accent focus:text-muted-foreground dark:focus:bg-accent dark:text-muted-foreground dark:focus:text-muted-foreground"),onKeyDown:a=>{"Enter"===a.key&&(0,G.P)(a)&&a.preventDefault()},onSelect:a=>{c?a.preventDefault():f()},children:[b,(0,d.jsx)("span",{children:a}),c&&(0,d.jsx)("span",{id:i,className:"sr-only",children:c})]});return c?(0,d.jsxs)(w.m_,{children:[(0,d.jsx)(w.k$,{asChild:!0,children:j}),(0,d.jsx)(w.ZI,{side:"left",className:"z-[120] max-w-64",onEscapeKeyDown:g,children:c})]}):j}function M({label:a,icon:b,reason:c,onSelect:f,tone:g="default"}){let h=(0,e.useId)();return(0,d.jsxs)(t.$,{type:"button",variant:"ghost","aria-label":a,"aria-disabled":!!c,"aria-describedby":c?h:void 0,className:(0,H.cn)("focus-visible:ring-ring flex h-auto min-h-12 w-full items-center gap-3 whitespace-normal rounded-lg px-3 py-2 text-left text-sm outline-none transition-colors","hover:bg-accent focus-visible:ring-2 [&_svg]:size-5 [&_svg]:shrink-0",I[g],c&&"cursor-default text-muted-foreground hover:bg-transparent focus:bg-accent focus:text-muted-foreground dark:focus:bg-accent dark:text-muted-foreground dark:focus:text-muted-foreground"),onKeyDown:a=>{"Enter"===a.key&&(0,G.P)(a)&&a.preventDefault()},onClick:()=>{c||f()},children:[b,(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block font-medium",children:a}),c&&(0,d.jsx)("span",{id:h,className:"mt-0.5 block break-words whitespace-normal text-xs leading-4 text-muted-foreground",children:c})]})]})}function N(a){let b=(0,f.c)(),c=(0,f.c)("ideaTracker.panel.actions"),[y,z]=(0,e.useState)(!1),A=(0,e.useSyncExternalStore)(J,K,()=>!1),B=a.busy?c("busy"):void 0,C=B||a.stageReason||a.stageDataReason,D=async b=>{try{let d=b?new URL(`/projects/${a.projectUuid}/dashboard?panel=${a.ideaUuid}`,window.location.origin).href:a.ideaUuid;await navigator.clipboard.writeText(d),g.oR.success(c(b?"linkCopied":"uuidCopied"))}catch{g.oR.error(c("copyFailed"))}},G={ideaUuid:a.ideaUuid,assignee:a.assignee,assigneeName:a.assigneeName,proposals:a.proposals,tasks:a.tasks,onStarted:a.onStarted,disabledReason:C,onCloseAutoFocus:a.onCloseAutoFocus};return(0,d.jsx)(E,{ideaUuid:a.ideaUuid,assignee:a.assignee,disabledReason:B,onCloseAutoFocus:a.onCloseAutoFocus,refreshKey:JSON.stringify([a.proposals,a.tasks]),onStarted:a.onStarted,renderAction:f=>(0,d.jsx)(x.w,{...G,disabledReason:C||(f.busy?c("busy"):void 0),renderAction:g=>(0,d.jsx)(F.s,{...G,disabledReason:C||(g.busy?c("busy"):void 0),renderAction:x=>{let C=B||(g.busy||x.busy||f.busy?c("busy"):void 0),E=[[{label:f.label,icon:(0,d.jsx)(h.A,{}),reason:C||f.disabledReason,onSelect:f.onSelect,tone:"research"},{label:b("elaboration.verifyButton"),icon:(0,d.jsx)(i.A,{}),reason:C||a.stageReason||a.verifyReason,onSelect:a.onVerify,tone:"verify"},{label:g.label,icon:(0,d.jsx)(j.A,{}),reason:C||g.disabledReason,onSelect:g.onSelect,tone:"develop"},{label:x.label,icon:(0,d.jsx)(k.A,{}),reason:C||x.disabledReason,onSelect:x.onSelect,tone:"yolo"}],[{label:b("ideaTracker.lineage.deriveIdea"),icon:(0,d.jsx)(l.A,{}),reason:C,onSelect:a.onDerive,tone:"default"},{label:b("ideaTracker.lineage.setParentTitle"),icon:(0,d.jsx)(m.A,{}),reason:C,onSelect:a.onSetParent,tone:"default"},{label:b("ideas.actions.move"),icon:(0,d.jsx)(n.A,{}),reason:C,onSelect:a.onMove,tone:"default"},{label:b("ideas.editIdea"),icon:(0,d.jsx)(o.A,{}),reason:C||a.editReason,onSelect:a.onEdit,tone:"default"}],[{label:c("copyLink"),icon:(0,d.jsx)(p.A,{}),onSelect:()=>{D(!0)},tone:"default"},{label:c("copyUuid"),icon:(0,d.jsx)(q.A,{}),onSelect:()=>{D(!1)},tone:"default"}],[{label:b("ideas.deleteIdea"),icon:(0,d.jsx)(r.A,{}),reason:C,onSelect:a.onDelete,tone:"destructive"}]];return A?(0,d.jsxs)(v.cj,{open:y,onOpenChange:z,children:[(0,d.jsx)(v.CG,{asChild:!0,children:(0,d.jsxs)(t.$,{ref:a.triggerRef,variant:"outline",size:"sm",className:"h-11 gap-1.5 border-border px-3",children:[b("common.actions"),(0,d.jsx)(s.A,{className:"size-4","aria-hidden":!0})]})}),(0,d.jsxs)(v.h,{side:"bottom",className:"max-h-[min(82svh,44rem)] gap-0 overflow-hidden rounded-t-2xl pb-[max(1rem,env(safe-area-inset-bottom))]",onCloseAutoFocus:a.onCloseAutoFocus,children:[(0,d.jsx)("div",{className:"mx-auto mt-2 h-1 w-10 shrink-0 rounded-full bg-muted-foreground/25","aria-hidden":!0}),(0,d.jsxs)(v.Fm,{className:"border-b px-4 pt-3 pb-3 text-left",children:[(0,d.jsx)(v.qp,{children:b("common.actions")}),(0,d.jsx)(v.Qs,{className:"sr-only",children:b("common.actions")})]}),(0,d.jsx)("div",{className:"overflow-y-auto overscroll-contain px-2 py-2",children:E.map((a,b)=>(0,d.jsx)("div",{className:(0,H.cn)(b>0&&"mt-1 border-t pt-1"),children:a.map(a=>(0,d.jsx)(M,{...a,onSelect:()=>{z(!1),a.onSelect()}},a.label))},b))})]})]}):(0,d.jsx)(w.Bc,{delayDuration:300,children:(0,d.jsxs)(u.rI,{open:y,onOpenChange:z,children:[(0,d.jsx)(u.ty,{asChild:!0,children:(0,d.jsxs)(t.$,{ref:a.triggerRef,variant:"outline",size:"sm",className:"h-8 gap-1.5 border-border px-2.5",children:[b("common.actions"),(0,d.jsx)(s.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]})}),(0,d.jsx)(u.SQ,{align:"end",className:"z-[100] w-64 max-w-[calc(100vw-1rem)] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto",children:E.map((a,b)=>(0,d.jsxs)(e.Fragment,{children:[b>0&&(0,d.jsx)(u.mB,{}),a.map(a=>(0,d.jsx)(L,{...a,onTooltipEscape:()=>z(!1)},a.label))]},b))})]})})}})})})}},64370:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{k:()=>A});var e=c(10837),f=c(21968),g=c(9222),h=c(81512),i=c.n(h),j=c(86460),k=c(21289),l=c(49102),m=c(20447),n=c(21790),o=c(51592),p=c(49599),q=c(42424),r=c(22727),s=c(90061),t=c(76172),u=c(97450),v=c(60265),w=c(55183),x=c(69218);c(62051);var y=c(54722),z=a([u]);function A({idea:a,projectUuid:b,onTaskClick:c,onDocClick:d,initialProposals:h}){let i=(0,g.c)("ideaTracker"),[l,m]=(0,f.useState)(h??[]),[n,o]=(0,f.useState)(!h),p=(0,f.useCallback)(async()=>{try{let c=await (0,x.U)(b,a.uuid);if(c.success)return m(c.data),c.data}catch(a){y.q.error("Failed to fetch proposals:",a)}finally{o(!1)}return[]},[b,a.uuid]),q=(0,f.useRef)(l);q.current=l;let{getPresence:r}=(0,s.xQ)();return((0,t.eV)("proposal",async()=>{let a=q.current;for(let b of(await p())){let c=a.find(a=>a.uuid===b.uuid);if(!c)continue;let d=new Set((c.documentDrafts??[]).map(a=>a.uuid)),e=new Set((c.taskDrafts??[]).map(a=>a.uuid)),f=(b.documentDrafts??[]).filter(a=>a.uuid&&!d.has(a.uuid)),g=(b.taskDrafts??[]).filter(a=>a.uuid&&!e.has(a.uuid)),h=[...f.map(a=>a.uuid),...g.map(a=>a.uuid)];if(h.length>0){let a=r("proposal",b.uuid)[0];if(a)for(let c of h)(0,s.fv)({entityType:"proposal",entityUuid:b.uuid,subEntityType:"draft",subEntityUuid:c,agentUuid:a.agentUuid,agentName:a.agentName,action:"mutate"})}}}),n)?(0,e.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,e.jsx)(j.A,{className:"h-5 w-5 animate-spin text-primary"})}):0===l.length?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#F3E5F5] dark:bg-[#281630]",children:(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#7B1FA2] dark:text-[#C98FE0]"})}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:i("panel.noProposals")})]}):(0,e.jsx)("div",{className:"space-y-5",children:l.map(a=>(0,e.jsx)(B,{proposal:a,projectUuid:b,onTaskClick:c,onDocClick:d},a.uuid))})}u=(z.then?(await z)():z)[0];let D={draft:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",pending:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",approved:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",rejected:"bg-[#FFEBEE] dark:bg-[#331619] text-[#C4574C] dark:text-[#F0897E]",revised:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground"};function B({proposal:a,projectUuid:b,onTaskClick:c,onDocClick:d}){let h=(0,g.c)("ideaTracker"),j=(0,g.c)(),k=(0,g.c)("proposals"),n=(0,g.c)("tasks"),o=(0,g.c)("documents"),s=a.documentDrafts||[],t=a.taskDrafts||[],[x,y]=(0,f.useState)(new Set),[z,A]=(0,f.useState)("cards"),[B,E]=(0,f.useState)([]),F="approved"===a.status,G=(0,f.useMemo)(()=>{let a=new Map;for(let b of B)a.set(b.title,b);return a},[B]),{dagTasks:H,dagEdges:I,dagHeight:J}=(0,f.useMemo)(()=>{let a=t.map(a=>{let b=G.get(a.title);return{uuid:b?.uuid||a.uuid,title:a.title,status:b?.status||"open",priority:a.priority||"medium"}}),b=[],c=new Map(t.map(a=>[a.uuid,a]));for(let a of t)if(a.dependsOnDraftUuids)for(let d of a.dependsOnDraftUuids){let e=G.get(a.title),f=c.get(d),g=f?G.get(f.title):void 0;b.push({from:e?.uuid||a.uuid,to:g?.uuid||d})}return{dagTasks:a,dagEdges:b,dagHeight:Math.max(350,90*a.length)}},[t,G]),K=F?B.filter(a=>"done"===a.status||"closed"===a.status).length:0;return(0,e.jsxs)("div",{className:"space-y-5",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h3",{className:"text-[14px] font-semibold text-foreground truncate flex-1",children:a.title}),(0,e.jsx)(p.E,{className:`text-[11px] font-semibold border-0 shrink-0 ${D[a.status]||""}`,children:j(`status.${a.status}`)})]}),a.description&&(0,e.jsx)("div",{className:"max-h-[120px] overflow-y-auto text-[13px] leading-relaxed text-foreground/80 prose prose-sm max-w-none [&_h1]:text-sm [&_h2]:text-[13px] [&_h3]:text-xs [&_p]:text-[13px] [&_p]:text-foreground/80 [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-foreground/80 [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-foreground [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary",children:(0,e.jsx)(u.MarkdownContent,{children:(0,w.j)(a.description)})}),(0,e.jsxs)(i(),{href:`/projects/${b}/proposals/${a.uuid}`,className:"flex items-center gap-1 text-[13px] font-medium text-primary hover:underline",children:[h("panel.viewProposal"),(0,e.jsx)(l.A,{className:"h-3.5 w-3.5"})]}),s.length>0&&(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:k(F?"documents":"documentDrafts")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:s.length})]}),(0,e.jsx)("div",{className:"space-y-0",children:s.map((b,c)=>(0,e.jsx)(r.D,{entityType:"proposal",entityUuid:a.uuid,subEntityType:"draft",subEntityUuid:b.uuid||`draft-${c}`,badgeInside:!0,children:(0,e.jsxs)(q.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-background transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>b.content&&d?.({title:b.title,type:b.type,content:b.content}),children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)(p.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:o(w.y[b.type]||"typeOther")}),(0,e.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-foreground truncate",children:b.title})]})},b.uuid||c))})]}),(t.length>0||B.length>0)&&(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:k(F?"tasks":"taskDrafts")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:F&&B.length>0?B.length:t.length})]}),(0,e.jsxs)("span",{className:"text-[12px] text-muted-foreground",children:[K,"/",F&&B.length>0?B.length:t.length]})]}),(0,e.jsx)("div",{className:"-mx-6 border-t border-border"}),I.length>0&&(0,e.jsxs)("div",{className:"flex gap-0.5 rounded-lg border border-border bg-[#F7F6F3] dark:bg-[#1e1d1b] p-0.5 mt-3 w-fit",children:[(0,e.jsx)(q.$,{variant:"ghost",size:"sm",onClick:()=>A("cards"),className:`rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ${"cards"===z?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:k("cardsView")}),(0,e.jsx)(q.$,{variant:"ghost",size:"sm",onClick:()=>A("dag"),className:`rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ${"dag"===z?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:n("dagView")})]}),"cards"===z&&(0,e.jsx)("div",{className:"space-y-0",children:F&&B.length>0?B.map(a=>(0,e.jsx)(r.D,{entityType:"task",entityUuid:a.uuid,badgeInside:!0,children:(0,e.jsx)(C,{task:{uuid:a.uuid,title:a.title},expanded:!1,onToggle:()=>{},onNavigate:c?()=>c(a.uuid):void 0,taskStatus:a.status})},a.uuid)):t.map((b,c)=>(0,e.jsx)(r.D,{entityType:"proposal",entityUuid:a.uuid,subEntityType:"draft",subEntityUuid:b.uuid,badgeInside:!0,children:(0,e.jsx)(C,{task:b,expanded:x.has(c),onToggle:()=>{y(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b})}})},b.uuid))}),"dag"===z&&(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)(v._u,{tasks:H,edges:I,readonly:!0,height:J,onNodeClick:c})})]}),0===s.length&&0===t.length&&0===B.length&&(0,e.jsx)("p",{className:"text-xs text-muted-foreground italic",children:k("emptyContainer")})]})}let E={open:"border-[#D9D9D9] dark:border-[#3a3a40] bg-card",assigned:"border-[#1976D2] bg-[#1976D2]",in_progress:"border-[#5A9E6F] bg-[#5A9E6F]",to_verify:"border-[#7B1FA2] bg-[#7B1FA2]",done:"border-[#00796B] bg-[#00796B]",closed:"border-[#9A9A9A] bg-[#9A9A9A] dark:border-[#6b6862] dark:bg-[#6b6862]"},F={open:null,assigned:null,in_progress:{className:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",key:"inProgress"},to_verify:{className:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",key:"toVerify"},done:{className:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",key:"done"},closed:{className:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",key:"done"}};function C({task:a,expanded:b,onToggle:c,onNavigate:d,taskStatus:f}){let h=(0,g.c)("proposals"),i=(0,g.c)("acceptanceCriteria"),j=(0,g.c)("status"),k=a.acceptanceCriteriaItems||[],p=!!(a.description||k.length>0),r=f?E[f]||E.open:"border-[#D9D9D9] dark:border-[#3a3a40] bg-card",s=f?F[f]:null,t=(0,e.jsx)("span",{className:`shrink-0 h-2 w-2 rounded-full border-[1.5px] ${r} transition-colors`}),u=(0,e.jsx)("span",{className:"flex-1 min-w-0 text-[13px] leading-snug truncate text-muted-foreground",children:a.title}),v=s?(0,e.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium ${s.className}`,children:j(s.key)}):null;return d?(0,e.jsxs)(q.$,{variant:"ghost",onClick:d,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 cursor-pointer hover:bg-background -mx-1 px-1 rounded-lg transition-colors",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t,u,v]}):(0,e.jsxs)("div",{children:[(0,e.jsxs)(q.$,{variant:"ghost",onClick:p?c:void 0,className:`w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 ${p?"cursor-pointer hover:bg-background -mx-1 px-1 rounded-lg":""} transition-colors`,children:[b?(0,e.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,e.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t,u,v]}),b&&p&&(0,e.jsxs)("div",{className:"pb-3 pl-5 space-y-3",children:[a.description&&(0,e.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:a.description}),k.length>0&&(0,e.jsxs)("div",{className:"rounded-lg bg-background p-3 space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-[11px] font-semibold text-foreground",children:h("taskAcceptanceCriteria")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:k.map((a,b)=>(0,e.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,e.jsx)("p",{className:"text-[11px] leading-snug text-foreground/80 flex-1",children:a.description}),!1!==a.required&&(0,e.jsx)("span",{className:"shrink-0 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:i("required")})]},b))})]})]})]})}d()}catch(a){d(a)}})},69815:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{p:()=>n});var e=c(10837),f=c(9222),g=c(80251),h=c(6871),i=c(2852),j=c(99127),k=c(68797),l=c(7086),m=a([k]);function n({assignee:a,onReassign:b,editable:c}){let d=(0,f.c)("common"),m=!0===c&&"function"==typeof b,n=d(a?"reassign":"assign"),o=a?(0,e.jsxs)(e.Fragment,{children:[(0,l.bB)(a)?(0,e.jsx)(h.AgentAvatar,{name:a.name,size:28,className:"rounded-full"}):(0,e.jsx)(g.eu,{className:"h-7 w-7",children:(0,e.jsx)(g.q5,{className:"bg-border text-muted-foreground",children:a.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-sm font-medium text-foreground",children:a.name}),(0,e.jsx)("div",{className:"text-xs text-muted-foreground",children:d((0,l.bB)(a)?"agent":"user")}),"agent_instance"===a.type&&a.instance&&(0,e.jsx)("div",{className:"mt-1",children:(0,e.jsx)(k.jQ,{cwd:a.instance.cwd,host:a.instance.host})})]})]}):(0,e.jsx)("span",{className:"text-sm text-muted-foreground",children:d("unassigned")}),p="mt-2 flex items-center gap-2.5 rounded-lg bg-background p-3";return(0,e.jsxs)("div",{children:[(0,e.jsx)(i.J,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:d("assignee")}),m?(0,e.jsx)(j.Bc,{delayDuration:300,children:(0,e.jsxs)(j.m_,{children:[(0,e.jsx)(j.k$,{asChild:!0,children:(0,e.jsx)("button",{type:"button",onClick:b,"aria-label":n,className:`${p} w-full cursor-pointer text-left`,children:o})}),(0,e.jsx)(j.ZI,{children:n})]})}):(0,e.jsx)("div",{className:p,children:o})]})}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},72229:(a,b,c)=>{c.d(b,{b:()=>j});var d=c(21968),e=c(16551),f=c(10837),g="horizontal",h=["horizontal","vertical"],i=d.forwardRef((a,b)=>{var c;let{decorative:d,orientation:i=g,...j}=a,k=(c=i,h.includes(c))?i:g;return(0,f.jsx)(e.sG.div,{"data-orientation":k,...d?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:b})});i.displayName="Separator";var j=i},72913:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>n,d:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(97307),h=c(66366),i=c(31370),j=c(25383),k=c(12217),l=a([f,h,i,j]);async function m(a){let b=await (0,f.d)();return b&&["user","super_admin"].includes(b.type)?(0,h.Rf)(b.companyUuid,a):{eligible:!1,reason:"unauthorized"}}async function n(a,b,c){let d=await (0,f.d)();if(!d||!["user","super_admin"].includes(d.type))return{success:!1,errorCode:"unauthorized"};try{let e=b?await (0,j.e2)({companyUuid:d.companyUuid,userUuid:d.actorUuid,...b}):null,f=await (0,i.Di)({companyUuid:d.companyUuid,actorUuid:d.actorUuid,actorType:d.type,ideaUuid:a,temporaryCwd:e,...b?{temporaryAgentUuid:b.agentUuid}:{},...c?{selection:c}:{}});return{success:!0,...f}}catch(b){if(b instanceof i.CZ)return{success:!1,errorCode:b.code};return g.default.error({err:b,ideaUuid:a},"Research dispatch failed"),{success:!1,errorCode:"unknown"}}}[f,h,i,j]=l.then?(await l)():l,(0,k.D)([m,n]),(0,e.A)(m,"4082eb1c27ccd4b7f45d3190be5dc5db89ef8b9849",null),(0,e.A)(n,"705db04c9a64f6e7285e7ac00faef33509e38760e0",null),d()}catch(a){d(a)}})},74733:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]])},79030:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(10837),e=c(96307);function f({done:a,total:b,size:c=14,stroke:f=2,className:g,color:h="#B26B3D",trackColor:i="#EAD9C8"}){let j=(c-f)/2,k=2*Math.PI*j,l=b>0?Math.min(1,Math.max(0,a/b)):0;return(0,d.jsxs)("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,className:(0,e.cn)("shrink-0",g),role:"img","aria-label":`${a}/${b}`,children:[(0,d.jsx)("circle",{cx:c/2,cy:c/2,r:j,fill:"none",stroke:i,strokeWidth:f}),l>0&&(0,d.jsx)("circle",{cx:c/2,cy:c/2,r:j,fill:"none",stroke:b>0&&a>=b?"#1D9E75":h,strokeWidth:f,strokeDasharray:k,strokeDashoffset:k*(1-l),strokeLinecap:"round",transform:`rotate(-90 ${c/2} ${c/2})`})]})}},83465:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(42377);let e=(0,d.createServerReference)("408d1c3cc79c76206f4a51ca3ac85314475cbddb83",d.callServer,void 0,d.findSourceMapURL,"getIdeaAction")},84722:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{G:()=>q});var e=c(10837),f=c(9222),g=c(86460),h=c(16235),i=c(2852),j=c(84819),k=c(77894),l=c(97450),m=c(31009),n=c(45148),o=c(69815),p=a([l,o]);function q({idea:a,elaboration:b,isLoading:c,onRefresh:d,onReassign:p,canReassign:q}){let r=(0,f.c)("ideaTracker"),s=(0,f.c)("common");return c?(0,e.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,e.jsx)(g.A,{className:"h-5 w-5 animate-spin text-primary"})}):(0,e.jsxs)(m.P.div,{variants:n.qG,initial:"initial",animate:"animate",children:[(0,e.jsx)(o.p,{assignee:a.assignee,onReassign:p,editable:q}),(0,e.jsx)(j.Separator,{className:"my-5 bg-secondary"}),b&&b.rounds.length>0?(0,e.jsx)("div",{children:(0,e.jsx)(k.R,{ideaUuid:a.uuid,elaboration:b,onRefresh:d})}):"open"===a.status?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#FFF3E0] dark:bg-[#3a2a12]",children:(0,e.jsx)(h.A,{className:"h-5 w-5 text-[#E65100] dark:text-[#F0A050]"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-sm font-medium text-foreground",children:r("panel.elaborationNotStarted")}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r("panel.elaborationNotStartedDesc")})]})]}):(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#E3F2FD] dark:bg-[#13253a]",children:(0,e.jsx)(h.A,{className:"h-5 w-5 text-[#1976D2] dark:text-[#5AA9F0]"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-sm font-medium text-foreground",children:r("panel.elaborationWaiting")}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r("panel.elaborationWaitingDesc")})]})]}),a.content&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(j.Separator,{className:"my-5 bg-secondary"}),(0,e.jsxs)("div",{children:[(0,e.jsx)(i.J,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:s("content")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,e.jsx)(l.MarkdownContent,{children:a.content})})})]})]})]})}[l,o]=p.then?(await p)():p,d()}catch(a){d(a)}})},92332:(a,b,c)=>{c.d(b,{d:()=>t});var d=c(10837),e=c(21968),f=c(9222),g=c(68884),h=c(76549),i=c(86460);let j=(0,c(56556).A)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var k=c(21692),l=c(42424),m=c(11568),n=c(10297),o=c(96307),p=c(42377);let q=(0,p.createServerReference)("40962235e2a25cba6c00ba330eff213b9b8a71a5fa",p.callServer,void 0,p.findSourceMapURL,"getProjectIdeasForPickerAction"),r=(0,p.createServerReference)("607c017310ee249ec20844682a1859fe66c9b24ced",p.callServer,void 0,p.findSourceMapURL,"setIdeaParentAction");var s=c(54722);function t({open:a,onOpenChange:b,ideaUuid:c,ideaTitle:p,projectUuid:t,currentParentUuid:u,descendantUuids:v,onChanged:w,onCloseAutoFocus:x}){let y=(0,f.c)("ideaTracker.lineage"),z=(0,f.c)("common"),A=(0,g.r)(),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(null),L=new Set([c,...v]);(0,e.useCallback)(async()=>{G(!0),K(null);try{let a=await q(t);a.success?(C(a.data),E(a.hasMore)):K(a.error)}catch(a){s.q.error("Failed to load parent candidates:",a),K(y("saveFailed"))}G(!1)},[t,y]);let M=async a=>{if(!H){I(!0),K(null);try{let d=await r(c,a);d.success?(h.oR.success(a?y("save"):y("detach")),b(!1),A.refresh(),w()):K(d.error||y("saveFailed"))}catch(a){K(a instanceof Error?a.message:y("saveFailed"))}I(!1)}};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{onCloseAutoFocus:x,children:[(0,d.jsxs)(m.c7,{children:[(0,d.jsx)(m.L3,{children:y("setParentTitle")}),(0,d.jsx)(m.rr,{children:y("setParentDescription",{title:p})})]}),(0,d.jsxs)("div",{className:"min-w-0 space-y-3 pt-1",children:[F?(0,d.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,d.jsx)(i.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):(0,d.jsx)("div",{className:"rounded-md border border-border",children:(0,d.jsxs)(n.uB,{children:[(0,d.jsx)(n.G7,{placeholder:y("searchPlaceholder")}),(0,d.jsxs)(n.oI,{children:[(0,d.jsx)(n.xL,{children:y("noCandidates")}),(0,d.jsx)(n.L$,{children:B.map(a=>{let b=L.has(a.uuid),c=a.uuid===u;return(0,d.jsxs)(n.h_,{value:a.title,disabled:b,onSelect:()=>{b||M(a.uuid)},className:(0,o.cn)("flex min-w-0 items-center justify-between gap-2",b&&"opacity-55",c&&"bg-primary/10"),children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-foreground",children:a.title}),b&&(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-[11px] font-medium text-[#B0654A] dark:text-[#EBA890]",children:[(0,d.jsx)(j,{className:"h-3 w-3"}),y("cycleBlocked")]})]},a.uuid)})})]})]})}),(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-[#FBF0EB] dark:bg-[#221e1b] px-3 py-2.5",children:[(0,d.jsx)(k.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[#B0654A] dark:text-[#EBA890]"}),(0,d.jsx)("p",{className:"text-[12px] leading-relaxed text-[#9A5238] dark:text-[#E9A088]",children:y("cycleWarning")})]}),D&&(0,d.jsx)("p",{className:"px-1 text-[12px] text-muted-foreground",role:"status",children:y("pickerTruncated")}),J&&(0,d.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:J})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-2",children:[u?(0,d.jsx)(l.$,{variant:"outline",className:"border-border",onClick:()=>M(null),disabled:H,children:y("detach")}):(0,d.jsx)("span",{}),(0,d.jsx)(l.$,{variant:"outline",className:"border-border",onClick:()=>b(!1),disabled:H,children:z("cancel")})]})]})})}},98310:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{K:()=>q});var e=c(10837),f=c(21968),g=c(9222),h=c(35209),i=c(10694),j=c(42424),k=c(49599),l=c(74645),m=c(97450),n=c(55183),o=c(77521),p=a([m]);function q({title:a,type:b,content:c,mode:d="overlay",onClose:p,onBack:q}){let r=(0,g.c)("documents"),[s,t]=(0,f.useState)(!1),u="sidebyside"===d;return(0,e.jsxs)(e.Fragment,{children:[!u&&(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:p}),(0,e.jsxs)("div",{className:`fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-card shadow-xl border-l border-border ${u?`z-40 ${s?"":"animate-in slide-in-from-right duration-300"}`:`z-50 right-0 ${s?"":"animate-in slide-in-from-right duration-300"}`}`,style:u?{right:`${o.L8}px`}:void 0,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[q&&(0,e.jsx)(j.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:q,children:(0,e.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:a}),(0,e.jsx)("div",{className:"mt-1.5",children:(0,e.jsx)(k.E,{variant:"outline",className:"text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:r(n.y[b]||"typeOther")})})]}),(0,e.jsx)(j.$,{variant:"outline",size:"icon",className:"ml-4 h-8 w-8 shrink-0 border-border",onClick:p,children:(0,e.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"})})]}),(0,e.jsx)(l.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"px-6 py-5 text-[13px] leading-relaxed text-foreground prose prose-sm max-w-none [&_h1]:text-lg [&_h1]:font-semibold [&_h1]:mt-4 [&_h1]:mb-2 [&_h2]:text-base [&_h2]:font-semibold [&_h2]:mt-3 [&_h2]:mb-1.5 [&_h3]:text-sm [&_h3]:font-medium [&_h3]:mt-2 [&_h3]:mb-1 [&_p]:text-[13px] [&_p]:text-foreground/80 [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-foreground/80 [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-foreground [&_code]:text-[12px] [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_pre]:bg-secondary [&_pre]:text-foreground [&_pre]:p-3 [&_pre]:rounded-lg [&_pre]:my-2 [&_a]:text-primary",children:(0,e.jsx)(m.MarkdownContent,{children:(0,n.j)(c)})})})]})]})}m=(p.then?(await p)():p)[0],d()}catch(a){d(a)}})}};
@@ -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","dsh","pi"],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(6737)]).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","dsh","pi"],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(7258),c.e(8437),c.e(7578),c.e(1722),c.e(3419),c.e(6737)]).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)}})}};