@chorus-aidlc/chorus 0.18.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +320 -318
  3. package/.next/standalone/.next/app-path-routes-manifest.json +33 -33
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +30 -30
  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 +2 -2
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/index.html +2 -2
  161. package/.next/standalone/.next/server/app/index.rsc +2 -2
  162. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  164. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  165. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  167. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  168. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  171. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  172. package/.next/standalone/.next/server/app/login.html +2 -2
  173. package/.next/standalone/.next/server/app/login.rsc +2 -2
  174. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  175. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  178. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  179. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/projects.html +2 -2
  181. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  182. package/.next/standalone/.next/server/app/settings.html +2 -2
  183. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  184. package/.next/standalone/.next/server/app-paths-manifest.json +33 -33
  185. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  186. package/.next/standalone/.next/server/chunks/{5201.js → 1416.js} +2 -2
  187. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  188. package/.next/standalone/.next/server/chunks/{4810.js → 2195.js} +1 -1
  189. package/.next/standalone/.next/server/chunks/2460.js +1 -0
  190. package/.next/standalone/.next/server/chunks/2572.js +2 -2
  191. package/.next/standalone/.next/server/chunks/2758.js +1 -0
  192. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  193. package/.next/standalone/.next/server/chunks/3112.js +1 -1
  194. package/.next/standalone/.next/server/chunks/3419.js +1 -1
  195. package/.next/standalone/.next/server/chunks/4066.js +1 -0
  196. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  197. package/.next/standalone/.next/server/chunks/5453.js +1 -1
  198. package/.next/standalone/.next/server/chunks/5489.js +1 -1
  199. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  200. package/.next/standalone/.next/server/chunks/6506.js +1 -1
  201. package/.next/standalone/.next/server/chunks/6737.js +1 -1
  202. package/.next/standalone/.next/server/chunks/6753.js +3 -3
  203. package/.next/standalone/.next/server/chunks/679.js +1 -1
  204. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  205. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  206. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  207. package/.next/standalone/.next/server/chunks/7675.js +1 -0
  208. package/.next/standalone/.next/server/chunks/7789.js +1 -0
  209. package/.next/standalone/.next/server/chunks/{3619.js → 8030.js} +2 -2
  210. package/.next/standalone/.next/server/chunks/920.js +1 -1
  211. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  212. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  213. package/.next/standalone/.next/server/chunks/9931.js +1 -1
  214. package/.next/standalone/.next/server/instrumentation.js +1 -1
  215. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  216. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  217. package/.next/standalone/.next/server/pages/404.html +2 -2
  218. package/.next/standalone/.next/server/pages/500.html +1 -1
  219. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  221. package/.next/standalone/.next/static/chunks/11595.f080a1d100972212.js +1 -0
  222. package/.next/standalone/.next/static/chunks/14628-283d3983d1fb36c9.js +1 -0
  223. package/.next/standalone/.next/static/chunks/{29305-f587e7e81bc0b200.js → 17562-56f932146e9e6c94.js} +4 -4
  224. package/.next/standalone/.next/static/chunks/25080-25ad29e64c855338.js +1 -0
  225. package/.next/standalone/.next/static/chunks/28698-7fb271ffc6e63a26.js +1 -0
  226. package/.next/standalone/.next/static/chunks/32736-aeaaa1e4c4d5529b.js +1 -0
  227. package/.next/standalone/.next/static/chunks/33456.20313bd67a5c41cc.js +1 -0
  228. package/.next/standalone/.next/static/chunks/4860.3b555a398cdffb19.js +1 -0
  229. package/.next/standalone/.next/static/chunks/75257-99c0ce24b436847b.js +1 -0
  230. package/.next/standalone/.next/static/chunks/79919-0c6dcda1dd8646f0.js +1 -0
  231. package/.next/standalone/.next/static/chunks/91328-f501e3c3ca519a92.js +1 -0
  232. package/.next/standalone/.next/static/chunks/94643-e54eff17e941a93b.js +1 -0
  233. package/.next/standalone/.next/static/chunks/99373.b8a95d1bec5ad4e7.js +1 -0
  234. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-f3c6431432d42c7c.js +1 -0
  235. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-b45c42c536eff64b.js → page-5d723f974bdad33b.js} +1 -1
  236. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-8d3b1f4d8b76d66c.js +1 -0
  237. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-800a979f12b73f27.js → page-57c698dea2fa6e29.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-34de35f75aa71f6d.js → page-d2bb622855e746f1.js} +1 -1
  239. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-fc255dc3612032b9.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-e8030824994edf35.js → page-f032ee8a80d1f56a.js} +1 -1
  241. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-46a0ddfd0421b0a8.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-349b0977f3c6209a.js → page-3a83748ce0ae1c4f.js} +1 -1
  243. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-be43cb06112fce12.js → page-8af9bb9f96ab0258.js} +1 -1
  244. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b02939820affdae5.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/onboarding/page-d2c0c7951114e763.js +1 -0
  246. package/.next/standalone/.next/static/chunks/{webpack-cfb63dd1b416c92e.js → webpack-de8a36d232a91d6b.js} +1 -1
  247. package/.next/standalone/.next/static/css/44f13b43a3de716d.css +1 -0
  248. package/.next/standalone/package.json +1 -1
  249. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  250. package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
  251. package/.next/standalone/public/chorus-plugin/bin/on-pre-spawn-agent.sh +22 -9
  252. package/.next/standalone/public/chorus-plugin/bin/on-subagent-start.sh +44 -29
  253. package/.next/standalone/public/chorus-plugin/bin/on-subagent-stop.sh +100 -29
  254. package/.next/standalone/public/chorus-plugin/bin/test-syntax.sh +6 -2
  255. package/.next/standalone/public/chorus-plugin/bin/tests/test-subagent-session-name.sh +599 -0
  256. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  257. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  258. package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
  259. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  260. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  261. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  262. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  263. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
  264. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  265. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  266. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  267. package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +1 -1
  268. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  269. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  270. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
  271. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  272. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  273. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  274. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  275. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +1 -1
  276. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  277. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  278. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  279. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +1 -1
  280. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  281. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  282. package/README.ja.md +1 -1
  283. package/README.ko.md +1 -1
  284. package/README.md +1 -1
  285. package/README.zh.md +1 -1
  286. package/chorus.mjs +30 -2
  287. package/cli/child-exit.mjs +77 -0
  288. package/cli/claude-spawner.mjs +4 -1
  289. package/cli/codex-spawner.mjs +4 -1
  290. package/cli/control-handler.mjs +104 -6
  291. package/cli/daemon-rest-client.mjs +98 -29
  292. package/cli/daemon.mjs +5 -1
  293. package/cli/dsh-spawner.mjs +4 -1
  294. package/cli/kiro-spawner.mjs +4 -1
  295. package/cli/pi-spawner.mjs +4 -1
  296. package/package.json +1 -1
  297. package/.next/standalone/.next/server/chunks/109.js +0 -1
  298. package/.next/standalone/.next/server/chunks/1496.js +0 -1
  299. package/.next/standalone/.next/server/chunks/731.js +0 -1
  300. package/.next/standalone/.next/server/chunks/7857.js +0 -1
  301. package/.next/standalone/.next/static/chunks/11595.0afa1a540f681fb4.js +0 -1
  302. package/.next/standalone/.next/static/chunks/22705-324a191727ae45b7.js +0 -1
  303. package/.next/standalone/.next/static/chunks/33456.4a5f4712a7e78d8f.js +0 -1
  304. package/.next/standalone/.next/static/chunks/44216-3876e84f5b02d355.js +0 -1
  305. package/.next/standalone/.next/static/chunks/4860.5719e32b95be2d93.js +0 -1
  306. package/.next/standalone/.next/static/chunks/6528-a8a562ef7d26bb43.js +0 -1
  307. package/.next/standalone/.next/static/chunks/67439-7b339b28ed0ecfc6.js +0 -1
  308. package/.next/standalone/.next/static/chunks/79919-ae8bd8d8ec1e38ce.js +0 -1
  309. package/.next/standalone/.next/static/chunks/82203-4ce5926624df7ed0.js +0 -1
  310. package/.next/standalone/.next/static/chunks/94643-37ac7b8ef8ea5e75.js +0 -1
  311. package/.next/standalone/.next/static/chunks/99373.6c1509bfaf599741.js +0 -1
  312. package/.next/standalone/.next/static/chunks/99775-697e82ee04eac6b1.js +0 -1
  313. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-2fda722cdace8147.js +0 -1
  314. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-792aba7fd6b6daa3.js +0 -1
  315. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-a16002aa2a911619.js +0 -1
  316. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-4f7f1ddbaf79be8f.js +0 -1
  317. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-6916e1abab42a6e6.js +0 -1
  318. package/.next/standalone/.next/static/chunks/app/onboarding/page-c0090caae202eae5.js +0 -1
  319. package/.next/standalone/.next/static/css/75c761a5428611fa.css +0 -1
  320. /package/.next/standalone/.next/static/{IxKVu5zkFPTjSKAUR99yH → dot63ILT878Tloqi7Czj_}/_buildManifest.js +0 -0
  321. /package/.next/standalone/.next/static/{IxKVu5zkFPTjSKAUR99yH → dot63ILT878Tloqi7Czj_}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=1559,exports.ids=[1559],exports.modules={955:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(42377);let e=(0,d.createServerReference)("7043dbd1bc59486eeec93339fcd410d44d93341e88",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")},10174:(a,b,c)=>{function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},11573:(a,b,c)=>{c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},22727:(a,b,c)=>{c.d(b,{D:()=>h});var d=c(10837),e=c(90061),f=c(11573),g=c(6871);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},24433:(a,b,c)=>{c.d(b,{c5:()=>w});var d=c(10837),e=c(21968),f=c(87864),g=c(45150),h=c(49101),i=c(9222),j=c(96307),k=c(54722),l=c(42087),m=c(10174),n=c(23871),o=c(11568),p=c(42424),q=c(6871);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:m,onSubmit:n,entityType:o,entityUuid:p},q)=>{let w=(0,e.useRef)([]),x=(0,e.useRef)(!1),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),[,C]=(0,e.useState)(0),D=(0,e.useRef)(!1),E=(0,i.c)("mention"),F=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});F.current={online:E("online"),offline:E("offline"),idle:E("idle"),activeCount:a=>E("activeCount",{count:a})};let G=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{x.current=!0,C(a=>a+1);try{let b=`/api/mentionables?q=${encodeURIComponent(a)}&limit=10&withInstances=1`;o&&p&&(b+=`&entityType=${encodeURIComponent(o)}&entityUuid=${encodeURIComponent(p)}`);let c=await fetch(b);if(c.ok){let a=await c.json();a.success&&(w.current=a.data)}}catch{w.current=[]}finally{x.current=!1,C(a=>a+1)}},[o,p]),250),[H,I]=(0,e.useState)(null),J=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),K=(0,e.useRef)(()=>{});K.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void I({item:a,onlineInstances:c.onlineInstances,command:b});J(a,b,c.pin??void 0)};let L=(0,e.useCallback)((a,b)=>K.current(a,b),[]);(0,e.useEffect)(()=>{A.current&&B.current&&u(w.current,x.current,B.current,y,A.current,F.current,L)});let M=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(G(a),w.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",A.current=b,B.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(z.current??document.body).appendChild(b),u(w.current,x.current,a.command,y,b,F.current,L)},onUpdate:a=>{if(B.current=a.command,A.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(A.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(A.current.style.top="",A.current.style.bottom=`${window.innerHeight-b.top+4}px`):(A.current.style.bottom="",A.current.style.top=`${b.bottom+4}px`))}A.current&&u(w.current,x.current,a.command,y,A.current,F.current,L)},onKeyDown:a=>!!y.current&&y.current.onKeyDown(a),onExit:()=>{A.current?.remove(),A.current=null,B.current=null,w.current=[],x.current=!1}})}})],content:t(a),editable:!m,editorProps:{attributes:{class:(0,j.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!A.current&&!!n&&(b.preventDefault(),n(),!0)},onUpdate:({editor:a})=>{D.current=!0,b(s(a))}});return(0,e.useEffect)(()=>{if(!M||D.current){D.current=!1;return}s(M)!==a&&M.commands.setContent(t(a))},[a,M]),(0,e.useEffect)(()=>{M&&M.setEditable(!m)},[m,M]),(0,e.useImperativeHandle)(q,()=>({focus:()=>M?.commands.focus(),clear:()=>{M?.commands.clearContent(),b("")}})),(0,d.jsxs)("div",{ref:z,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",m&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:M}),(0,d.jsx)(v,{open:null!==H,agentName:H?.item.name??"",instances:H?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(H,a,{close:()=>I(null),insert:(a,b)=>J(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>M?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>I(null)}),(0,d.jsx)("style",{children:`
1
+ "use strict";exports.id=1559,exports.ids=[1559],exports.modules={10174:(a,b,c)=>{function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},10696:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40907c2f19d80c1e0e1c51e133c86e2859fe26b259",d.callServer,void 0,d.findSourceMapURL,"deleteCommentAction")},11573:(a,b,c)=>{c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},22727:(a,b,c)=>{c.d(b,{D:()=>h});var d=c(10837),e=c(90061),f=c(11573),g=c(6871);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},24433:(a,b,c)=>{c.d(b,{c5:()=>w});var d=c(10837),e=c(21968),f=c(87864),g=c(45150),h=c(49101),i=c(9222),j=c(96307),k=c(54722),l=c(42087),m=c(10174),n=c(23871),o=c(11568),p=c(42424),q=c(6871);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:n,onSubmit:o,entityType:p,entityUuid:q},w)=>{let x=(0,e.useRef)([]),y=(0,e.useRef)(!1),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),C=(0,e.useRef)(null),[,D]=(0,e.useState)(0),E=(0,e.useRef)(!1),F=(0,i.c)("mention"),G=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});G.current={online:F("online"),offline:F("offline"),idle:F("idle"),activeCount:a=>F("activeCount",{count:a})};let H=(0,e.useCallback)((a,b)=>{let c=`/api/mentionables?q=${encodeURIComponent(a)}&limit=${b}&withInstances=1`;return p&&q&&(c+=`&entityType=${encodeURIComponent(p)}&entityUuid=${encodeURIComponent(q)}`),c},[p,q]),I=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{y.current=!0,D(a=>a+1);try{let b=await fetch(H(a,10));if(b.ok){let a=await b.json();a.success&&(x.current=a.data)}}catch{x.current=[]}finally{y.current=!1,D(a=>a+1)}},[H]),250),[J,K]=(0,e.useState)(null),L=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),M=(0,e.useRef)(()=>{});M.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void K({item:a,onlineInstances:c.onlineInstances,command:b});L(a,b,c.pin??void 0)};let N=(0,e.useCallback)((a,b)=>M.current(a,b),[]);(0,e.useEffect)(()=>{B.current&&C.current&&u(x.current,y.current,C.current,z,B.current,G.current,N)});let O=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(I(a),x.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",B.current=b,C.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(A.current??document.body).appendChild(b),u(x.current,y.current,a.command,z,b,G.current,N)},onUpdate:a=>{if(C.current=a.command,B.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(B.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(B.current.style.top="",B.current.style.bottom=`${window.innerHeight-b.top+4}px`):(B.current.style.bottom="",B.current.style.top=`${b.bottom+4}px`))}B.current&&u(x.current,y.current,a.command,z,B.current,G.current,N)},onKeyDown:a=>!!z.current&&z.current.onKeyDown(a),onExit:()=>{B.current?.remove(),B.current=null,C.current=null,x.current=[],y.current=!1}})}})],content:t(a),editable:!n,editorProps:{attributes:{class:(0,j.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!B.current&&!!o&&(b.preventDefault(),o(),!0)},onUpdate:({editor:a})=>{E.current=!0,b(s(a))}});(0,e.useEffect)(()=>{if(!O||E.current){E.current=!1;return}s(O)!==a&&O.commands.setContent(t(a))},[a,O]),(0,e.useEffect)(()=>{O&&O.setEditable(!n)},[n,O]);let P=(0,e.useCallback)(a=>{if(!O)return;let b=null!==a.pinnedHost||null!==a.pinnedCwd?{host:a.pinnedHost??"",cwd:a.pinnedCwd,runtimeCwd:!0===a.runtimeCwd}:null,c=function(a,b,c=null){let d=b.type.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=b.uuid.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(RegExp(`@\\[[^\\]]+\\]\\(${d}:${e}(?:\\?[^)]*)?\\)\\s*$`,"i").test(a))return{value:a,appended:!1};let f=(0,m.$v)(b.name,b.type,b.uuid,c?.host??null,c?.cwd??null,c?.runtimeCwd===!0),g=a.length>0&&!/\s$/.test(a)?" ":"";return{value:`${a}${g}${f} `,appended:!0}}(s(O),{type:a.mentionType,uuid:a.id,name:a.label},b);c.appended&&O.commands.setContent(t(c.value)),O.commands.focus("end")},[O]),Q=(0,e.useCallback)(async a=>{let b=a;if("agent"===a.type){let c=await fetch(H(a.name,50));if(!c.ok)throw Error("Failed to load Agent mention routing");let d=await c.json();if(!d.success||!Array.isArray(d.data))throw Error("Invalid Agent mention routing response");b=function(a,b){let c=b.find(b=>b.type===a.type&&b.uuid===a.uuid);if(!c)throw Error("Reply author is unavailable for mention routing");return c}(a,d.data)}M.current(b,a=>{P(a)})},[H,P]);return(0,e.useImperativeHandle)(w,()=>({focus:()=>O?.commands.focus(),clear:()=>{O?.commands.clearContent(),b("")},replyToAuthor:Q}),[O,b,Q]),(0,d.jsxs)("div",{ref:A,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",n&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:O}),(0,d.jsx)(v,{open:null!==J,agentName:J?.item.name??"",instances:J?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(J,a,{close:()=>K(null),insert:(a,b)=>L(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>O?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>K(null)}),(0,d.jsx)("style",{children:`
2
2
  .tiptap p.is-editor-empty:first-child::before {
3
3
  content: attr(data-placeholder);
4
4
  color: #9A9A9A;
@@ -10,4 +10,4 @@
10
10
  color: #2563eb;
11
11
  font-weight: 500;
12
12
  }
13
- `})]})});w.displayName="MentionEditor"},29662:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(50117),f=c(74438),g=c(15264),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.QD)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},56828:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>C});var e=c(10837),f=c(21968),g=c(9222),h=c(97443),i=c(86460),j=c(24714),k=c(33091),l=c(42424),m=c(80251),n=c(6871),o=c(24433),p=c(91769),q=c(955),r=c(82831),s=c(68797),t=c(76172),u=c(22727),v=c(11573),w=c(76664),x=c(76549),y=a([r,s]);function z(a){return"agent"===a.type?(0,e.jsx)(s.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function A(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function B(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:A(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:A([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function C({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:n=!1}){let r=(0,g.c)(),[s,v]=(0,f.useState)(""),[w,y]=(0,f.useState)([]),[z,C]=(0,f.useState)(!0),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(0),Q=(0,f.useRef)(null),R=(0,f.useRef)(null),S=(0,f.useRef)(w);S.current=w;let T=(0,f.useRef)(K);T.current=K;let U=(0,f.useRef)(M);U.current=M;let V=(0,f.useRef)(G);V.current=G;let W=(0,f.useRef)(z);W.current=z;let X=n?"h-6 w-6":"h-[30px] w-[30px]",Y=n?"gap-2":"gap-2.5",Z=(0,f.useCallback)(async()=>{C(!0),F(null);let c=await (0,p.d)(a,b,{limit:10});c.success?(y(c.comments),L(c.nextCursor),N(c.hasMore),P(c.total)):F(c.error),C(!1)},[a,b]);(0,f.useCallback)(async()=>{if(V.current||W.current||!U.current||!T.current)return;H(!0);let c=await (0,p.d)(a,b,{cursor:T.current,limit:10});c.success&&(y(a=>A(a,c.comments)),L(c.nextCursor),N(c.hasMore),P(c.total)),H(!1)},[a,b]),(0,t.w0)(a,b,d=>{c&&d.actorUuid===c||B(S.current,async c=>{let d=await (0,p.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(y(a.comments),P(a.total),a.contiguous||(L(a.resetOldestCursor),N(a.resetHasMore)))})});let $=async()=>{if(!s.trim()||I)return;J(!0);let c=await (0,q.s)(a,b,s);if(J(!1),c.success){let a=!S.current.some(a=>a.uuid===c.comment.uuid);y(a=>A(a,[c.comment])),a&&P(a=>a+1),v(""),Q.current?.clear()}else x.oR.error(c.error)};return(0,e.jsx)(u.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,e.jsxs)("div",{className:`flex items-center ${Y} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(m.eu,{className:`${n?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${n?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(o.c5,{ref:Q,value:s,onChange:v,onSubmit:$,placeholder:r("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:I,entityType:a,entityUuid:b})}),(0,e.jsx)(l.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!s.trim()||I,onClick:$,children:I?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}),z?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):E?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:r("comments.loadError")}),(0,e.jsx)(l.$,{variant:"outline",size:"sm",onClick:Z,children:r("comments.retry")})]}):0===w.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:r("comments.noComments")}):(0,e.jsxs)("div",{children:[w.map(a=>(0,e.jsx)(D,{comment:a,compact:n,avatarSize:X,gap:Y,t:r},a.uuid)),(0,e.jsx)("div",{ref:R,"aria-hidden":"true"}),G?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:r("comments.loadingMore")})]}):!M&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:r("comments.noMoreComments")})]})]})})}function D({comment:a,compact:b,avatarSize:c,gap:d,t:g}){let[h,i]=(0,f.useState)(!1),j="agent"===a.author.type,k=j?(0,v.j)(a.author.name):null,o=a.content.length>200,p=k?`${k}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[j?(0,e.jsx)(n.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(m.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:j?{backgroundColor:p,color:k??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${j?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(j?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,w.r)(c)}(a.createdAt,g)})]}),j&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:o&&!h?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content}),o&&(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[r,s]=y.then?(await y)():y,d()}catch(a){d(a)}})},61413:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>p,U$:()=>l,U1:()=>i,Yi:()=>j,gA:()=>m,hF:()=>h,vr:()=>n,xx:()=>o,yx:()=>k});var e=c(52618),f=c(42558),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0,activities:!0}}}})}async function j(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function k(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0}})}async function l(a,b){return(await e.z.project.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function m({companyUuid:a,name:b,description:c,groupUuid:d}){let g=await e.z.project.create({data:{companyUuid:a,name:b,description:c,groupUuid:d??null},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0}});return f.B.emitChange({companyUuid:a,projectUuid:g.uuid,entityType:"project",entityUuid:g.uuid,action:"created"}),g}async function n(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function o(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}async function p(a,b){let[c,d,f,g]=await Promise.all([e.z.idea.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.task.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.proposal.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.document.count({where:{projectUuid:b,companyUuid:a}})]),h=new Map(c.map(a=>[a.status,a._count])),i=c.reduce((a,b)=>a+b._count,0),j=h.get("open")||0,k=new Map(d.map(a=>[a.status,a._count])),l=d.reduce((a,b)=>a+b._count,0),m=k.get("in_progress")||0,n=(k.get("open")||0)+(k.get("assigned")||0),o=k.get("to_verify")||0,p=(k.get("done")||0)+(k.get("closed")||0),q=new Map(f.map(a=>[a.status,a._count])),r=f.reduce((a,b)=>a+b._count,0),s=q.get("pending")||0;return{ideas:{total:i,open:j},tasks:{total:l,inProgress:m,todo:n,toVerify:o,done:p},proposals:{total:r,pending:s},documents:{total:g}}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76664:(a,b,c)=>{function d(a){let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0"),f=String(b.getHours()).padStart(2,"0"),g=String(b.getMinutes()).padStart(2,"0");return`${c}-${d}-${e} ${f}:${g}`}function e(a,b){let c="string"==typeof a?new Date(a):a;return isNaN(c.getTime())?"":c.toLocaleDateString(b,{month:"short",day:"numeric"})}c.d(b,{r:()=>d,s:()=>e})},82831:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(97450),i=c(10174),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},90061:(a,b,c)=>{c.d(b,{fv:()=>p,xQ:()=>q});var d=c(21968),e=c(76172);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},91769:(a,b,c)=>{c.d(b,{d:()=>e});var d=c(42377);let e=(0,d.createServerReference)("702df91c6ca771e16aec6cdb583b6f2f4088b74a2d",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},98581:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>l,s:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(466),h=c(67738),i=c(97307),j=c(12217),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let n=["idea","proposal","task","document"];async function l(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}(0,j.D)([l,m]),(0,e.A)(l,"702df91c6ca771e16aec6cdb583b6f2f4088b74a2d",null),(0,e.A)(m,"7043dbd1bc59486eeec93339fcd410d44d93341e88",null),d()}catch(a){d(a)}})}};
13
+ `})]})});w.displayName="MentionEditor"},29460:(a,b,c)=>{c.d(b,{d:()=>e});var d=c(42377);let e=(0,d.createServerReference)("70402b584ffe421700acebba56bbf972745b095cb5",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},29662:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(50117),f=c(74438),g=c(15264),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.QD)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},56828:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>L});var e=c(10837),f=c(21968),g=c(9222),h=c(97443),i=c(86460),j=c(24714),k=c(33091),l=c(70595),m=c(46557),n=c(79543),o=c(42424),p=c(80251),q=c(6871),r=c(24433),s=c(29460),t=c(98688),u=c(10696),v=c(82831),w=c(68797),x=c(76172),y=c(22727),z=c(11573),A=c(76664),B=c(76549),C=c(33863),D=c(94143),E=c(6019),F=a([v,w]);function G(a){return()=>{}}function H(){return!1}function I(a){return"agent"===a.type?(0,e.jsx)(w.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function J(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function K(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:J(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:J([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function L({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:l=!1}){let m=(0,g.c)(),[n,q]=(0,f.useState)(""),[v,w]=(0,f.useState)([]),[z,A]=(0,f.useState)(!0),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(!1),[G,H]=(0,f.useState)(!1),[I,L]=(0,f.useState)(null),[M,O]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(0),R=(0,f.useRef)(null),S=(0,f.useRef)(null),T=(0,f.useRef)(new Set),U=(0,f.useRef)(new Set),V=(0,f.useRef)(v);V.current=v;let W=(0,f.useRef)(I);W.current=I;let X=(0,f.useRef)(M);X.current=M;let Y=(0,f.useRef)(E);Y.current=E;let Z=(0,f.useRef)(z);Z.current=z;let $=l?"h-6 w-6":"h-[30px] w-[30px]",_=l?"gap-2":"gap-2.5",aa=(0,f.useCallback)(async()=>{A(!0),D(null);let c=await (0,s.d)(a,b,{limit:10});c.success?(w(c.comments),L(c.nextCursor),O(c.hasMore),Q(c.total)):D(c.error),A(!1)},[a,b]);(0,f.useCallback)(async()=>{if(Y.current||Z.current||!X.current||!W.current)return;F(!0);let c=await (0,s.d)(a,b,{cursor:W.current,limit:10});c.success&&(w(a=>J(a,c.comments)),L(c.nextCursor),O(c.hasMore),Q(c.total)),F(!1)},[a,b]),(0,x.w0)(a,b,d=>{c&&d.actorUuid===c||K(V.current,async c=>{let d=await (0,s.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(w(a.comments),Q(a.total),a.contiguous||(L(a.resetOldestCursor),O(a.resetHasMore)))})});let ab=async()=>{if(!n.trim()||G)return;H(!0);let c=await (0,t.s)(a,b,n);if(H(!1),c.success){let a=!V.current.some(a=>a.uuid===c.comment.uuid);w(a=>J(a,[c.comment])),a&&Q(a=>a+1),q(""),R.current?.clear()}else B.oR.error(c.error)},ac=(0,f.useCallback)(a=>{R.current?.replyToAuthor(a).catch(()=>{B.oR.error(m("comments.replyFailed"))})},[m]),ad=(0,f.useCallback)(async a=>{if(U.current.has(a))return!0;if(T.current.has(a))return!1;T.current.add(a);try{if(!(await (0,u.J)(a)).success)return B.oR.error(m("comments.deleteFailed")),!1;if(U.current.add(a),V.current.some(b=>b.uuid===a)){let b=V.current.filter(b=>b.uuid!==a);V.current=b,w(b),Q(a=>Math.max(0,a-1))}return!0}finally{T.current.delete(a)}},[m]);return(0,e.jsx)(y.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,e.jsxs)("div",{className:`flex items-center ${_} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(p.eu,{className:`${l?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${l?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(r.c5,{ref:R,value:n,onChange:q,onSubmit:ab,placeholder:m("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:G,entityType:a,entityUuid:b})}),(0,e.jsx)(o.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!n.trim()||G,onClick:ab,children:G?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}),z?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):C?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:m("comments.loadError")}),(0,e.jsx)(o.$,{variant:"outline",size:"sm",onClick:aa,children:m("comments.retry")})]}):0===v.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:m("comments.noComments")}):(0,e.jsxs)("div",{children:[v.map(a=>(0,e.jsx)(N,{comment:a,compact:l,avatarSize:$,gap:_,t:m,currentUserUuid:c,onReply:ac,onDelete:ad},a.uuid)),(0,e.jsx)("div",{ref:S,"aria-hidden":"true"}),E?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:m("comments.loadingMore")})]}):!M&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:m("comments.noMoreComments")})]})]})})}function M({author:a,canDelete:b,t:c,onReply:d,onDelete:g}){let h=(0,f.useSyncExternalStore)(G,H,()=>!1),[j,k]=(0,f.useState)(!1),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),t=(0,f.useRef)(null),u=(0,f.useRef)(!1),v=a=>{a.preventDefault(),u.current||t.current?.focus(),u.current=!1},w=a=>{u.current=!0,k(!1);let b=()=>a();"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,0)},x=(0,e.jsx)(o.$,{ref:t,type:"button",variant:"ghost",size:"icon",className:"relative -my-1 size-6 shrink-0 rounded-md text-muted-foreground hover:bg-accent hover:text-foreground before:absolute before:-inset-2.5 before:content-[''] sm:before:hidden","aria-label":c("comments.actionsLabel",{name:a.name}),children:(0,e.jsx)(l.A,{className:"size-4","aria-hidden":!0})}),y=()=>w(d),z=()=>w(()=>q(!0));return(0,e.jsxs)(e.Fragment,{children:[h?(0,e.jsxs)(D.cj,{open:j,onOpenChange:k,children:[(0,e.jsx)(D.CG,{asChild:!0,children:x}),(0,e.jsxs)(D.h,{side:"bottom","data-comment-actions-variant":"mobile",className:"max-h-[min(82svh,32rem)] gap-0 overflow-hidden rounded-t-2xl pb-[max(1rem,env(safe-area-inset-bottom))]",onCloseAutoFocus:v,children:[(0,e.jsx)("div",{className:"mx-auto mt-2 h-1 w-10 shrink-0 rounded-full bg-muted-foreground/25","aria-hidden":!0}),(0,e.jsxs)(D.Fm,{className:"border-b px-4 pt-3 pb-3 text-left",children:[(0,e.jsx)(D.qp,{children:c("comments.actionsTitle")}),(0,e.jsx)(D.Qs,{children:c("comments.actionsDescription",{name:a.name})})]}),(0,e.jsxs)("div",{className:"overflow-y-auto overscroll-contain px-2 py-2",children:[(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm",onClick:y,children:[(0,e.jsx)(m.A,{className:"size-5","aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsx)("div",{className:"mt-1 border-t pt-1",children:(0,e.jsxs)(o.$,{type:"button",variant:"ghost",className:"min-h-11 w-full justify-start gap-3 rounded-lg px-3 text-sm text-destructive hover:bg-destructive/10 hover:text-destructive focus-visible:text-destructive",onClick:z,children:[(0,e.jsx)(n.A,{className:"size-5","aria-hidden":!0}),c("comments.delete")]})})]})]})]}):(0,e.jsxs)(C.rI,{open:j,onOpenChange:k,children:[(0,e.jsx)(C.ty,{asChild:!0,children:x}),(0,e.jsxs)(C.SQ,{align:"end","data-comment-actions-variant":"desktop",className:"z-[100] w-44",onCloseAutoFocus:v,children:[(0,e.jsxs)(C._2,{onSelect:y,children:[(0,e.jsx)(m.A,{"aria-hidden":!0}),c("comments.reply")]}),b&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(C.mB,{}),(0,e.jsxs)(C._2,{variant:"destructive",onSelect:z,children:[(0,e.jsx)(n.A,{"aria-hidden":!0}),c("comments.delete")]})]})]})]}),(0,e.jsx)(E.Lt,{open:p,onOpenChange:a=>{r||q(a)},children:(0,e.jsxs)(E.EO,{className:"z-[120]",overlayClassName:"z-[120]",onCloseAutoFocus:a=>{a.preventDefault(),t.current?.focus()},children:[(0,e.jsxs)(E.wd,{children:[(0,e.jsx)(E.r7,{children:c("comments.deleteTitle")}),(0,e.jsx)(E.$v,{children:c("comments.deleteDescription")})]}),(0,e.jsxs)(E.ck,{children:[(0,e.jsx)(E.Zr,{disabled:r,children:c("common.cancel")}),(0,e.jsxs)(E.Rx,{variant:"destructive",disabled:r,onClick:async a=>{a.preventDefault(),s(!0);let b=await g();s(!1),b&&q(!1)},children:[r&&(0,e.jsx)(i.A,{className:"animate-spin","aria-hidden":!0}),c("comments.deleteConfirm")]})]})]})})]})}function N({comment:a,compact:b,avatarSize:c,gap:d,t:g,currentUserUuid:h,onReply:i,onDelete:j}){let[k,l]=(0,f.useState)(!1),m="agent"===a.author.type,n=!!h&&("user"===a.author.type&&a.author.uuid===h||"agent"===a.author.type&&a.author.owner?.uuid===h),r=m?(0,z.j)(a.author.name):null,s=a.content.length>200,t=r?`${r}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[m?(0,e.jsx)(q.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(p.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(p.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:m?{backgroundColor:t,color:r??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${m?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(m?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,A.r)(c)}(a.createdAt,g)})]}),(0,e.jsx)(M,{author:{type:m?"agent":"user",uuid:a.author.uuid,name:a.author.name},canDelete:n,t:g,onReply:()=>i({type:m?"agent":"user",uuid:a.author.uuid,name:a.author.name}),onDelete:()=>j(a.uuid)})]}),m&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:s&&!k?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:I,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>l(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.z7,{renderMention:I,children:a.content}),s&&(0,e.jsx)(o.$,{variant:"link",size:"sm",onClick:()=>l(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[v,w]=F.then?(await F)():F,d()}catch(a){d(a)}})},61413:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>p,U$:()=>l,U1:()=>i,Yi:()=>j,gA:()=>m,hF:()=>h,vr:()=>n,xx:()=>o,yx:()=>k});var e=c(52618),f=c(42558),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0,activities:!0}}}})}async function j(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function k(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0}})}async function l(a,b){return(await e.z.project.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function m({companyUuid:a,name:b,description:c,groupUuid:d}){let g=await e.z.project.create({data:{companyUuid:a,name:b,description:c,groupUuid:d??null},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0}});return f.B.emitChange({companyUuid:a,projectUuid:g.uuid,entityType:"project",entityUuid:g.uuid,action:"created"}),g}async function n(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function o(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}async function p(a,b){let[c,d,f,g]=await Promise.all([e.z.idea.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.task.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.proposal.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.document.count({where:{projectUuid:b,companyUuid:a}})]),h=new Map(c.map(a=>[a.status,a._count])),i=c.reduce((a,b)=>a+b._count,0),j=h.get("open")||0,k=new Map(d.map(a=>[a.status,a._count])),l=d.reduce((a,b)=>a+b._count,0),m=k.get("in_progress")||0,n=(k.get("open")||0)+(k.get("assigned")||0),o=k.get("to_verify")||0,p=(k.get("done")||0)+(k.get("closed")||0),q=new Map(f.map(a=>[a.status,a._count])),r=f.reduce((a,b)=>a+b._count,0),s=q.get("pending")||0;return{ideas:{total:i,open:j},tasks:{total:l,inProgress:m,todo:n,toVerify:o,done:p},proposals:{total:r,pending:s},documents:{total:g}}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76664:(a,b,c)=>{function d(a){let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0"),f=String(b.getHours()).padStart(2,"0"),g=String(b.getMinutes()).padStart(2,"0");return`${c}-${d}-${e} ${f}:${g}`}function e(a,b){let c="string"==typeof a?new Date(a):a;return isNaN(c.getTime())?"":c.toLocaleDateString(b,{month:"short",day:"numeric"})}c.d(b,{r:()=>d,s:()=>e})},82831:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(97450),i=c(10174),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},90061:(a,b,c)=>{c.d(b,{fv:()=>p,xQ:()=>q});var d=c(21968),e=c(76172);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},98581:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jg:()=>n,dv:()=>l,sZ:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(466),h=c(67738),i=c(97307),j=c(12217),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let o=["idea","proposal","task","document"];async function l(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!o.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!o.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}async function n(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};try{return await (0,g.Tu)({companyUuid:b.companyUuid,commentUuid:a,actingUserUuid:b.actorUuid}),{success:!0}}catch(b){return i.default.error({err:b,commentUuid:a},"Failed to delete comment"),{success:!1,error:"Failed to delete comment"}}}(0,j.D)([l,m,n]),(0,e.A)(l,"70402b584ffe421700acebba56bbf972745b095cb5",null),(0,e.A)(m,"702a621be2035de428c30748715a0b309219df4dd9",null),(0,e.A)(n,"40907c2f19d80c1e0e1c51e133c86e2859fe26b259",null),d()}catch(a){d(a)}})},98688:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(42377);let e=(0,d.createServerReference)("702a621be2035de428c30748715a0b309219df4dd9",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")}};
@@ -1 +1 @@
1
- "use strict";exports.id=4810,exports.ids=[4810],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>n});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(6871),l=c(42424),m=c(59469);let n=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let n=(0,f.c)(),[o,p]=(0,e.useState)([]),[q,r]=(0,e.useState)({}),[s,t]=(0,e.useState)(new Set),[u,v]=(0,e.useState)(!0),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)({}),C=(0,e.useCallback)(async()=>{v(!0),z(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");p(c.data.agents)}catch{z(!0)}finally{v(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=(a,b)=>{r(a),t(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(q))try{let c=await (0,m.q)(b);a.push(c),r(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return B(c=>({...c,[b.agentUuid]:n(`directoryBrowser.errors.${a}`)})),x(b.agentUuid),null}return{upserts:a,clears:[...s]}}}),[s,q,n]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:n("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:n("projectSettings.agentCwds.description")})]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),n("projectSettings.agentCwds.loading")]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:n("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(l.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void C(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),n("common.retry")]})]}),!u&&!y&&0===o.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("projectSettings.agentCwds.emptyOnline")}),o.map(c=>{let e=q[c.agent.uuid],f=s.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start gap-2.5",children:[(0,d.jsx)(k.AgentAvatar,{name:c.agent.name,size:"sm",className:"mt-0.5 rounded-md"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:n(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:n("projectSettings.agentCwds.notConfigured")})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",title:n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>x(w===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:n("projectSettings.agentCwds.clear"),"aria-label":n("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...q};delete c[b];let d=new Set(s);a&&d.add(b),D(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),w===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(m.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(s);c.delete(b),D({...q,[b]:a},c),B(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(A[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:A[c.agent.uuid]||b?.message})]}),w!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},84699:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"4079ae8a7478c20cd3b8c415a8b1ba4048b28cbc96":()=>e.v5,"40cd8f78e8b94dc20417644833541764844f158904":()=>e.Dv,"60c18f1ee4705ee799deb017140858d0e281450684":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
1
+ "use strict";exports.id=2195,exports.ids=[2195],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>n});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(6871),l=c(42424),m=c(59469);let n=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let n=(0,f.c)(),[o,p]=(0,e.useState)([]),[q,r]=(0,e.useState)({}),[s,t]=(0,e.useState)(new Set),[u,v]=(0,e.useState)(!0),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)({}),C=(0,e.useCallback)(async()=>{v(!0),z(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");p(c.data.agents)}catch{z(!0)}finally{v(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=(a,b)=>{r(a),t(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(q))try{let c=await (0,m.q)(b);a.push(c),r(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return B(c=>({...c,[b.agentUuid]:n(`directoryBrowser.errors.${a}`)})),x(b.agentUuid),null}return{upserts:a,clears:[...s]}}}),[s,q,n]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:n("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:n("projectSettings.agentCwds.description")})]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),n("projectSettings.agentCwds.loading")]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:n("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(l.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void C(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),n("common.retry")]})]}),!u&&!y&&0===o.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("projectSettings.agentCwds.emptyOnline")}),o.map(c=>{let e=q[c.agent.uuid],f=s.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start gap-2.5",children:[(0,d.jsx)(k.AgentAvatar,{name:c.agent.name,size:"sm",className:"mt-0.5 rounded-md"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:n(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:n("projectSettings.agentCwds.notConfigured")})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",title:n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>x(w===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:n("projectSettings.agentCwds.clear"),"aria-label":n("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...q};delete c[b];let d=new Set(s);a&&d.add(b),D(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),w===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(m.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(s);c.delete(b),D({...q,[b]:a},c),B(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(A[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:A[c.agent.uuid]||b?.message})]}),w!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},80002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"4032359f4ee7b7cb3ec1a623f480d4cd004e63128e":()=>e.v5,"40b097f3949a1bec55d825b65849cdd84a44348dc4":()=>e.Dv,"6043c28fe327b04d685121820bbb276b70e35e045d":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2460,exports.ids=[2460],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})}},7086:(a,b,c)=>{function d(a,b){return!!a&&!!b&&("user"===a.type?"user"===b.type&&a.uuid===b.uuid:"agent"===a.type?"agent"===b.type&&a.uuid===b.uuid:"agent_instance"===a.type&&"agent"===b.type&&!!a.agentUuid&&a.agentUuid===b.uuid)}function e(a){return!!a&&("agent"===a.type||"agent_instance"===a.type)}c.d(b,{RU:()=>d,bB:()=>e})},10297:(a,b,c)=>{c.d(b,{G7:()=>i,L$:()=>l,h_:()=>m,oI:()=>j,uB:()=>h,xL:()=>k});var d=c(10837);c(21968);var e=c(28918),f=c(75888),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(e.uB,{"data-slot":"command",className:(0,g.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...b})}function i({className:a,...b}){return(0,d.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,d.jsx)(f.A,{className:"size-4 shrink-0 opacity-50"}),(0,d.jsx)(e.uB.Input,{"data-slot":"command-input",className:(0,g.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...b})]})}function j({className:a,...b}){return(0,d.jsx)(e.uB.List,{"data-slot":"command-list",className:(0,g.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",a),...b})}function k({...a}){return(0,d.jsx)(e.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...a})}function l({className:a,...b}){return(0,d.jsx)(e.uB.Group,{"data-slot":"command-group",className:(0,g.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...b})}function m({className:a,...b}){return(0,d.jsx)(e.uB.Item,{"data-slot":"command-item",className:(0,g.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...b})}},21160:(a,b,c)=>{c.d(b,{ReferencesSection:()=>C});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(59876),i=c(35312),j=c(87461),k=c(86460),l=c(79543),m=c(92900),n=c(49599),o=c(42424),p=c(9994),q=c(2852),r=c(20170),s=c(11568),t=c(55732),u=c(6019),v=c(47942),w=c(42377);let x=(0,w.createServerReference)("408f49d7b75bc6d695feed5481c80c285436eb157b",w.callServer,void 0,w.findSourceMapURL,"updateReferenceAction"),y=(0,w.createServerReference)("406d48d483b2d2eaaa1ce39bd2e153cd6beec4adbb",w.callServer,void 0,w.findSourceMapURL,"createReferenceAction"),z=(0,w.createServerReference)("40a0ad4d6ac02ff7c915fb2e162d50c1480a5a3e5f",w.callServer,void 0,w.findSourceMapURL,"deleteReferenceAction");var A=c(46398),B=c(61206);function C({targetType:a,targetUuid:b,canWrite:c,initialReferences:w,compact:C=!1}){let D=(0,g.c)(),E=(0,f.r)(),[F,G]=(0,e.useState)(w??[]),[H,I]=(0,e.useState)(void 0!==w),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)("docs"),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(""),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(null),_=(0,e.useCallback)(async()=>{let c=await (0,v.j)(a,b);c.success&&G(c.references),I(!0)},[a,b]),aa=async()=>{if(!P.trim())return void W(D("references.urlRequired"));if(!R.trim())return void W(D("references.titleRequired"));Y(!0),W(null);let c=T.trim()?T.trim():null,d=L?await x({uuid:L.uuid,type:N,url:P.trim(),title:R.trim(),notes:c}):await y({targetType:a,targetUuid:b,type:N,url:P.trim(),title:R.trim(),notes:c});Y(!1),d.success?(K(!1),await _(),E.refresh()):W(d.error||(L?D("references.updateFailed"):D("references.addFailed")))},ab=async a=>{$(a);let b=await z(a);$(null),b.success&&(await _(),E.refresh())};return(0,d.jsxs)("div",{className:C?"space-y-2":"space-y-2.5",children:[0===F.length?(0,d.jsx)("p",{className:"text-sm italic text-muted-foreground",children:H?D("references.empty"):D("references.loading")}):(0,d.jsx)("div",{className:"space-y-2",children:F.map(a=>{let b=(0,A.N2)(a.type)?A.qQ[a.type]:null,e=b?.icon??h.A;return(0,d.jsx)("div",{className:"group rounded-lg border border-border bg-background p-3",children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"mb-1 flex items-center gap-2",children:(0,d.jsxs)(n.E,{className:`gap-1 border-0 text-[10px] font-medium ${b?.badgeClass??"bg-secondary text-muted-foreground"}`,children:[(0,d.jsx)(e,{className:"h-3 w-3"}),b?D(b.labelKey):a.type]})}),(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",title:a.title,className:"flex min-w-0 items-center gap-1 text-sm font-medium text-primary hover:underline",children:[(0,d.jsx)("span",{className:"truncate",children:a.title}),(0,d.jsx)(i.A,{className:"h-3 w-3 shrink-0"})]}),(0,d.jsx)(B.L,{notes:a.notes})]}),c&&(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-within:opacity-100",children:[(0,d.jsx)(o.$,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>{M(a),O(a.type),Q(a.url),S(a.title),U(a.notes??""),W(null),K(!0)},"aria-label":D("references.editReference"),children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,d.jsxs)(u.Lt,{children:[(0,d.jsx)(u.tv,{asChild:!0,children:(0,d.jsx)(o.$,{variant:"ghost",size:"icon",className:"h-7 w-7","aria-label":D("references.deleteReference"),children:Z===a.uuid?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-destructive"})})}),(0,d.jsxs)(u.EO,{children:[(0,d.jsxs)(u.wd,{children:[(0,d.jsx)(u.r7,{children:D("references.deleteReference")}),(0,d.jsx)(u.$v,{children:D("references.deleteConfirm",{title:a.title})})]}),(0,d.jsxs)(u.ck,{children:[(0,d.jsx)(u.Zr,{children:D("common.cancel")}),(0,d.jsx)(u.Rx,{variant:"destructive",onClick:()=>ab(a.uuid),children:D("common.delete")})]})]})]})]})]})},a.uuid)})}),c&&(0,d.jsxs)(o.$,{variant:"outline",size:"sm",className:"h-8 w-full gap-1.5 border-border border-dashed text-xs text-muted-foreground",onClick:()=>{M(null),O("docs"),Q(""),S(""),U(""),W(null),K(!0)},children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),D("references.addReference")]}),(0,d.jsx)(s.lG,{open:J,onOpenChange:K,children:(0,d.jsxs)(s.Cf,{className:"sm:max-w-[480px]",children:[(0,d.jsx)(s.c7,{children:(0,d.jsx)(s.L3,{children:L?D("references.editReference"):D("references.addReference")})}),(0,d.jsxs)("div",{className:"space-y-4 py-2",children:[V&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:V}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"ref-type",className:"text-[13px] font-medium text-foreground",children:D("references.typeLabel")}),(0,d.jsxs)(t.l6,{value:N,onValueChange:O,children:[(0,d.jsx)(t.bq,{id:"ref-type",className:"border-border focus:ring-primary",children:(0,d.jsx)(t.yv,{})}),(0,d.jsx)(t.gC,{children:A.mP.map(a=>(0,d.jsx)(t.eb,{value:a,children:D(A.qQ[a].labelKey)},a))})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.J,{htmlFor:"ref-url",className:"text-[13px] font-medium text-foreground",children:[D("references.urlLabel")," *"]}),(0,d.jsx)(p.p,{id:"ref-url",value:P,onChange:a=>Q(a.target.value),placeholder:D("references.urlPlaceholder"),className:"border-border focus-visible:ring-primary",autoFocus:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.J,{htmlFor:"ref-title",className:"text-[13px] font-medium text-foreground",children:[D("references.titleLabel")," *"]}),(0,d.jsx)(p.p,{id:"ref-title",value:R,onChange:a=>S(a.target.value),placeholder:D("references.titlePlaceholder"),className:"border-border focus-visible:ring-primary"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"ref-notes",className:"text-[13px] font-medium text-foreground",children:D("references.notesLabel")}),(0,d.jsx)(r.T,{id:"ref-notes",value:T,onChange:a=>U(a.target.value),placeholder:D("references.notesPlaceholder"),rows:3,className:"resize-none border-border focus-visible:ring-primary"})]})]}),(0,d.jsxs)(s.Es,{children:[(0,d.jsx)(o.$,{variant:"outline",onClick:()=>K(!1),disabled:X,className:"border-border",children:D("common.cancel")}),(0,d.jsx)(o.$,{onClick:aa,disabled:X||!P.trim()||!R.trim(),className:"bg-primary hover:bg-primary/90 text-primary-foreground",children:X?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(k.A,{className:"mr-2 h-4 w-4 animate-spin"}),D("common.saving")]}):L?D("common.save"):D("references.add")})]})]})})]})}},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}},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)}})},30387:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Sy:()=>u,Xo:()=>o,Xp:()=>q,bA:()=>r,kA:()=>p});var e=c(71255),f=c(92633),g=c(62729),h=c(67738),i=c(97307),j=a([e,f,h]);[e,f,h]=j.then?(await j)():j;let s=i.default.child({module:"reference-artifact.service"}),t=["docs","repo","issue_pr","paper_blog"],u=["proposal","task","idea"],v={uuid:!0,targetType:!0,targetUuid:!0,type:!0,url:!0,title:!0,notes:!0,createdByType:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0};async function k(a){let b=await (0,f.LS)(a.createdByUuid,"user"===a.createdByType||"agent"===a.createdByType?a.createdByType:void 0);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,type:a.type,url:a.url,title:a.title,notes:a.notes??null,createdBy:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}function l(a){if(!t.includes(a))throw Error(`Invalid reference type: ${a}`)}function m(a){let b="string"==typeof a?a.trim():"";if(!b||!/^https?:\/\//i.test(b))throw Error(`Invalid reference url: ${a}`)}async function n(a,b,c){switch(b){case"proposal":{let b=await e.z.proposal.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target proposal with UUID ${c} not found`);return b.projectUuid}case"task":{let b=await e.z.task.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target task with UUID ${c} not found`);return b.projectUuid}case"idea":{let b=await e.z.idea.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target idea with UUID ${c} not found`);return b.projectUuid}default:throw Error(`Unsupported reference targetType: ${b}`)}}async function o({companyUuid:a,targetType:b,targetUuid:c}){let d=await e.z.referenceArtifact.findMany({where:{companyUuid:a,targetType:b,targetUuid:c},orderBy:{createdAt:"asc"},select:v});return Promise.all(d.map(a=>k(a)))}async function p(a){let{companyUuid:b,targetType:c,targetUuid:d,type:f,url:i,title:j,notes:o}=a;l(f),m(i);let p=await n(b,c,d),q=await e.z.referenceArtifact.create({data:{companyUuid:b,targetType:c,targetUuid:d,type:f,url:i,title:j,notes:o??null,createdByType:a.createdByType,createdByUuid:a.createdByUuid},select:v});try{g.B.emitChange({companyUuid:b,projectUuid:p,entityType:c,entityUuid:d,action:"updated",actorUuid:a.createdByUuid})}catch(a){s.warn({err:a,referenceUuid:q.uuid,targetType:c,targetUuid:d},"Failed to emit change event for reference artifact")}try{await h.createActivity({companyUuid:b,projectUuid:p,targetType:c,targetUuid:d,actorType:a.createdByType,actorUuid:a.createdByUuid,action:"reference_added",value:{referenceUuid:q.uuid,type:q.type,url:q.url,title:q.title}})}catch(a){s.warn({err:a,referenceUuid:q.uuid,targetType:c,targetUuid:d},"Failed to record reference_added Activity")}return k(q)}async function q(a,b,{type:c,url:d,title:f,notes:g}){if(void 0!==c&&l(c),void 0!==d&&m(d),!await e.z.referenceArtifact.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}}))throw Error(`Reference with UUID ${b} not found`);let h={};void 0!==c&&(h.type=c),void 0!==d&&(h.url=d),void 0!==f&&(h.title=f),void 0!==g&&(h.notes=g);let i=await e.z.referenceArtifact.update({where:{uuid:b},data:h,select:v});return k(i)}async function r(a,b){if(!await e.z.referenceArtifact.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}}))throw Error(`Reference with UUID ${b} not found`);await e.z.referenceArtifact.delete({where:{uuid:b}})}d()}catch(a){d(a)}})},46398:(a,b,c)=>{c.d(b,{N2:()=>j,mP:()=>h,qQ:()=>i});var d=c(84797),e=c(97731),f=c(40260),g=c(96101);let h=["docs","repo","issue_pr","paper_blog"],i={docs:{labelKey:"references.typeDocs",badgeClass:"bg-blue-50 text-blue-700 dark:bg-[#13253a] dark:text-[#5AA9F0]",icon:d.A},repo:{labelKey:"references.typeRepo",badgeClass:"bg-green-50 text-green-700 dark:bg-[#14281a] dark:text-[#6FD19A]",icon:e.A},issue_pr:{labelKey:"references.typeIssuePr",badgeClass:"bg-purple-50 text-purple-700 dark:bg-[#281630] dark:text-[#C98FE0]",icon:f.A},paper_blog:{labelKey:"references.typePaperBlog",badgeClass:"bg-amber-50 text-amber-700 dark:bg-[#332a12] dark:text-[#E0B44E]",icon:g.A}};function j(a){return h.includes(a)}},47942:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60769de53c8f3bc1d6c176d061de65bd81a177ea99",d.callServer,void 0,d.findSourceMapURL,"listReferencesAction")},52178:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Y9:()=>l,bv:()=>n,jD:()=>k,t1:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(30387),h=c(97307),i=c(12217),j=a([f,g]);[f,g]=j.then?(await j)():j;let o=g.Sy;async function k(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"unauthorized"};if(!o.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let d=await (0,g.Xo)({companyUuid:c.companyUuid,targetType:a,targetUuid:b});return{success:!0,references:d}}catch(c){return h.default.error({err:c,targetType:a,targetUuid:b},"Failed to list references"),{success:!1,error:"Failed to load references"}}}async function l(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};if(!o.includes(a.targetType))return{success:!1,error:`Invalid target type: ${a.targetType}`};try{let c=await (0,g.kA)({companyUuid:b.companyUuid,targetType:a.targetType,targetUuid:a.targetUuid,type:a.type,url:a.url,title:a.title,notes:a.notes??null,createdByType:"user",createdByUuid:b.actorUuid});return{success:!0,reference:c}}catch(b){h.default.error({err:b},"Failed to create reference");let a=b instanceof Error?b.message:"Failed to add reference";return{success:!1,error:a}}}async function m(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};try{let c=await (0,g.Xp)(b.companyUuid,a.uuid,{...void 0!==a.type?{type:a.type}:{},...void 0!==a.url?{url:a.url}:{},...void 0!==a.title?{title:a.title}:{},...void 0!==a.notes?{notes:a.notes}:{}});return{success:!0,reference:c}}catch(c){h.default.error({err:c,uuid:a.uuid},"Failed to update reference");let b=c instanceof Error?c.message:"Failed to update reference";return{success:!1,error:b}}}async function n(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};try{return await (0,g.bA)(b.companyUuid,a),{success:!0}}catch(c){h.default.error({err:c,uuid:a},"Failed to delete reference");let b=c instanceof Error?c.message:"Failed to delete reference";return{success:!1,error:b}}}(0,i.D)([k,l,m,n]),(0,e.A)(k,"60769de53c8f3bc1d6c176d061de65bd81a177ea99",null),(0,e.A)(l,"406d48d483b2d2eaaa1ce39bd2e153cd6beec4adbb",null),(0,e.A)(m,"408f49d7b75bc6d695feed5481c80c285436eb157b",null),(0,e.A)(n,"40a0ad4d6ac02ff7c915fb2e162d50c1480a5a3e5f",null),d()}catch(a){d(a)}})},61206:(a,b,c)=>{c.d(b,{L:()=>h});var d=c(10837),e=c(21968),f=c(9222),g=c(99127);function h({notes:a}){let b=(0,f.c)(),[c,h]=(0,e.useState)(!1),i=a?.trim();if(!i)return null;let j=(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>!a),"aria-expanded":c,"aria-label":b("references.toggleNotes"),className:`mt-1 w-full cursor-pointer text-left text-xs leading-relaxed text-muted-foreground ${c?"block":"line-clamp-2"}`,children:i});return c?j:(0,d.jsx)(g.Bc,{delayDuration:200,children:(0,d.jsxs)(g.m_,{children:[(0,d.jsx)(g.k$,{asChild:!0,children:j}),(0,d.jsx)(g.ZI,{className:"max-w-xs whitespace-pre-wrap break-words",children:i})]})})}},73908:(a,b,c)=>{c.d(b,{C:()=>k,K:()=>m});var d=c(10837),e=c(9222),f=c(79543),g=c(92900),h=c(42424),i=c(9994),j=c(88536);function k({items:a,onChange:b,disabled:c}){let k=(0,e.c)(),l=(c,d)=>{let e=a.slice();e[c]={...e[c],...d},b(e)};return(0,d.jsxs)("div",{className:"space-y-3",children:[a.length>0&&(0,d.jsx)("div",{className:"space-y-2",children:a.map((e,g)=>(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-[#E5E2DC] dark:border-[#2a2a2e] bg-background p-2.5",children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:(0,d.jsx)(i.p,{value:e.description,onChange:a=>l(g,{description:a.target.value}),placeholder:k("acceptanceCriteria.criterionPlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus-visible:ring-primary h-8",disabled:c})}),(0,d.jsxs)("div",{className:"flex items-center gap-2 shrink-0 pt-1",children:[(0,d.jsx)(j.d,{checked:e.required,onCheckedChange:a=>l(g,{required:a}),className:"data-[state=checked]:bg-primary",disabled:c}),(0,d.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground min-w-[52px]",children:e.required?k("acceptanceCriteria.required"):k("acceptanceCriteria.optional")}),(0,d.jsx)(h.$,{variant:"outline",size:"sm",className:"h-7 w-7 p-0 border-[#E5E2DC] dark:border-[#2a2a2e] text-muted-foreground hover:text-[#D32F2F] hover:border-[#D32F2F] hover:bg-[#FFEBEE] dark:hover:bg-[#331619]",onClick:()=>{b(a.filter((a,b)=>b!==g))},disabled:c,type:"button",children:(0,d.jsx)(f.A,{className:"h-3 w-3"})})]})]},g))}),(0,d.jsxs)(h.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E2DC] dark:border-[#2a2a2e] text-xs text-muted-foreground hover:text-primary hover:border-primary",onClick:()=>{b([...a,{description:"",required:!0}])},disabled:c,type:"button",children:[(0,d.jsx)(g.A,{className:"h-3 w-3"}),k("acceptanceCriteria.addCriterion")]})]})}function l(a){return{description:a.description.trim(),required:!!a.required}}function m(a,b){if(a.length!==b.length)return!0;for(let c=0;c<a.length;c++){let d=l(a[c]),e=l(b[c]);if(d.description!==e.description||d.required!==e.required)return!0}return!1}},74798:(a,b,c)=>{c.d(b,{W:()=>e});var d=c(21968);function e(){let[a,b]=(0,d.useState)(!1);return 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)}})},88536:(a,b,c)=>{c.d(b,{d:()=>g});var d=c(10837);c(21968);var e=c(15644),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"switch",className:(0,f.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.Thumb,{"data-slot":"switch-thumb",className:(0,f.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},94214:(a,b,c)=>{c.d(b,{AI:()=>h,_8:()=>g});var d=c(10837);c(21968);var e=c(11568),f=c(96307);function g({open:a,onOpenChange:b,header:c,footer:g,children:h,className:i,bodyClassName:j,zIndexClassName:k="z-[110]",showCloseButton:l=!0}){return(0,d.jsx)(e.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(e.Cf,{className:(0,f.cn)("flex max-h-[85svh] flex-col gap-0 overflow-hidden p-0",k,i),overlayClassName:k,showCloseButton:l,children:[(0,d.jsx)(e.c7,{className:"shrink-0 border-b border-border px-6 py-5 text-left",children:c}),(0,d.jsx)("div",{className:(0,f.cn)("min-h-0 flex-1 overflow-y-auto px-6 py-4",j),children:h}),(0,d.jsx)(e.Es,{className:"shrink-0 border-t border-border px-6 py-5",children:g})]})})}let h=e.L3},99127:(a,b,c)=>{c.d(b,{Bc:()=>g,ZI:()=>j,k$:()=>i,m_:()=>h});var d=c(10837);c(21968);var e=c(80501),f=c(96307);function g({delayDuration:a=0,...b}){return(0,d.jsx)(e.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function h({...a}){return(0,d.jsx)(e.Root,{"data-slot":"tooltip",...a})}function i({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"tooltip-trigger",...a})}function j({className:a,sideOffset:b=0,children:c,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsxs)(e.Content,{"data-slot":"tooltip-content",sideOffset:b,className:(0,f.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...g,children:[c,(0,d.jsx)(e.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}}};