@chorus-aidlc/chorus 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +443 -430
  3. package/.next/standalone/.next/app-path-routes-manifest.json +44 -42
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +43 -43
  6. package/.next/standalone/.next/routes-manifest.json +8 -0
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  48. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  49. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
  53. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies.rsc +3 -3
  56. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin.html +1 -1
  58. package/.next/standalone/.next/server/app/admin.rsc +3 -3
  59. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
  60. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js.nft.json +1 -1
  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.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/companies/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/login/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/admin/session/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
  79. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
  85. package/.next/standalone/.next/server/app/api/api-keys/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
  88. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
  90. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  97. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/auth/refresh/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/auth/session/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/auth/session/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -0
  137. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -0
  138. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -0
  139. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/keepalive/route.js +1 -0
  180. package/.next/standalone/.next/server/app/api/keepalive/route.js.nft.json +1 -0
  181. package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +1 -0
  182. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  183. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
  213. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
  216. package/.next/standalone/.next/server/app/api/project-groups/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  231. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  237. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  240. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  243. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
  246. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  249. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  252. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  255. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  258. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  259. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  260. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  261. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  267. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  269. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  270. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  273. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/api/search/route.js +1 -1
  276. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  279. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  281. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  282. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  284. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  285. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  288. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  290. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  291. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  293. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  294. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  297. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/index.html +1 -1
  300. package/.next/standalone/.next/server/app/index.rsc +3 -3
  301. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  302. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  303. package/.next/standalone/.next/server/app/login/admin.rsc +3 -3
  304. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  305. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  306. package/.next/standalone/.next/server/app/login/callback.rsc +4 -4
  307. package/.next/standalone/.next/server/app/login/page.js +1 -1
  308. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
  310. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  312. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +4 -4
  313. package/.next/standalone/.next/server/app/login/silent-refresh/page.js +1 -1
  314. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  315. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  316. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +4 -4
  317. package/.next/standalone/.next/server/app/login.html +1 -1
  318. package/.next/standalone/.next/server/app/login.rsc +4 -4
  319. package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
  320. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  321. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  322. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  323. package/.next/standalone/.next/server/app/onboarding.rsc +4 -4
  324. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  325. package/.next/standalone/.next/server/app/projects.html +1 -1
  326. package/.next/standalone/.next/server/app/projects.rsc +5 -5
  327. package/.next/standalone/.next/server/app/settings.html +1 -1
  328. package/.next/standalone/.next/server/app/settings.rsc +5 -5
  329. package/.next/standalone/.next/server/app-paths-manifest.json +44 -42
  330. package/.next/standalone/.next/server/chunks/{5201.js → 1343.js} +2 -2
  331. package/.next/standalone/.next/server/chunks/1463.js +1 -0
  332. package/.next/standalone/.next/server/chunks/1596.js +2 -2
  333. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  334. package/.next/standalone/.next/server/chunks/2622.js +1 -0
  335. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  336. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  337. package/.next/standalone/.next/server/chunks/3371.js +1 -1
  338. package/.next/standalone/.next/server/chunks/3419.js +1 -1
  339. package/.next/standalone/.next/server/chunks/345.js +1 -0
  340. package/.next/standalone/.next/server/chunks/4872.js +1 -0
  341. package/.next/standalone/.next/server/chunks/5300.js +1 -1
  342. package/.next/standalone/.next/server/chunks/5581.js +1 -0
  343. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  344. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  345. package/.next/standalone/.next/server/chunks/7063.js +2 -2
  346. package/.next/standalone/.next/server/chunks/7064.js +1 -0
  347. package/.next/standalone/.next/server/chunks/7160.js +1 -0
  348. package/.next/standalone/.next/server/chunks/7364.js +1 -0
  349. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  350. package/.next/standalone/.next/server/chunks/7427.js +1 -0
  351. package/.next/standalone/.next/server/chunks/7515.js +1 -0
  352. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  353. package/.next/standalone/.next/server/chunks/7897.js +1 -1
  354. package/.next/standalone/.next/server/chunks/{4711.js → 796.js} +6 -6
  355. package/.next/standalone/.next/server/chunks/9161.js +1 -0
  356. package/.next/standalone/.next/server/chunks/920.js +1 -1
  357. package/.next/standalone/.next/server/chunks/937.js +3 -3
  358. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  359. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  360. package/.next/standalone/.next/server/pages/404.html +1 -1
  361. package/.next/standalone/.next/server/pages/500.html +1 -1
  362. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  363. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  364. package/.next/standalone/.next/server/src/middleware.js +1 -1
  365. package/.next/standalone/.next/static/chunks/16467-dd4f928e725306c1.js +1 -0
  366. package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +1 -0
  367. package/.next/standalone/.next/static/chunks/2280-f48bf99ea9d88ece.js +1 -0
  368. package/.next/standalone/.next/static/chunks/26394-4af487a51dd62832.js +1 -0
  369. package/.next/standalone/.next/static/chunks/27378-9328bcc96ae9872e.js +1 -0
  370. package/.next/standalone/.next/static/chunks/32497-886aa4d3d7bf4967.js +1 -0
  371. package/.next/standalone/.next/static/chunks/37784-95dee37276b1067b.js +1 -0
  372. package/.next/standalone/.next/static/chunks/40867-04cc0d00205eaf9b.js +1 -0
  373. package/.next/standalone/.next/static/chunks/42111-1935df3b0dab2095.js +1 -0
  374. package/.next/standalone/.next/static/chunks/4860.f4242c493fcf182d.js +1 -0
  375. package/.next/standalone/.next/static/chunks/54637-71d281d649ea3a17.js +1 -0
  376. package/.next/standalone/.next/static/chunks/6239-d78e6f830ce0a7f8.js +1 -0
  377. package/.next/standalone/.next/static/chunks/64187-cff8a4b5e96fa8f9.js +10 -0
  378. package/.next/standalone/.next/static/chunks/78917-2b959ab0a7f610b4.js +1 -0
  379. package/.next/standalone/.next/static/chunks/80904-973284d1fe916c38.js +1 -0
  380. package/.next/standalone/.next/static/chunks/88561-0b14e1564419f215.js +1 -0
  381. package/.next/standalone/.next/static/chunks/89035-faf398b7bbc7d2ed.js +1 -0
  382. package/.next/standalone/.next/static/chunks/89644-2fee0373b890e8e3.js +1 -0
  383. package/.next/standalone/.next/static/chunks/{93346-5489d90bc2d57190.js → 93346-b3e1ebe948fc623f.js} +1 -1
  384. package/.next/standalone/.next/static/chunks/97868-9406a4014b667c2d.js +1 -0
  385. package/.next/standalone/.next/static/chunks/99373.880b43de1fa6411f.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-f04d5fa070f15acd.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2944c6c9bc48a7d6.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-f1b0daea9f947caf.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-c4271886ef004611.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-7a8b60de97bfbd29.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-6620b9d7a2cc766f.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-0a55289b2bc510c2.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-5d09141beb5d6aee.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-d5c3dde34d6291a8.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0da08d8b425acb6a.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-583e58d4d689d38b.js → page-fec019d974ef8d4e.js} +1 -1
  397. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-44014947a679f91c.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-f1b0daea9f947caf.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-f1b0daea9f947caf.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-f1b0daea9f947caf.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-f1b0daea9f947caf.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-f1b0daea9f947caf.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-f1b0daea9f947caf.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-f1b0daea9f947caf.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/agents/route-f1b0daea9f947caf.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-f1b0daea9f947caf.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-f1b0daea9f947caf.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-f1b0daea9f947caf.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-f1b0daea9f947caf.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-f1b0daea9f947caf.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-f1b0daea9f947caf.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-f1b0daea9f947caf.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-f1b0daea9f947caf.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-f1b0daea9f947caf.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-f1b0daea9f947caf.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-f1b0daea9f947caf.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-f1b0daea9f947caf.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/comments/route-f1b0daea9f947caf.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-f1b0daea9f947caf.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-f1b0daea9f947caf.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-f1b0daea9f947caf.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-f1b0daea9f947caf.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-f1b0daea9f947caf.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-f1b0daea9f947caf.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-f1b0daea9f947caf.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-f1b0daea9f947caf.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-f1b0daea9f947caf.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-f1b0daea9f947caf.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-f1b0daea9f947caf.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-f1b0daea9f947caf.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-f1b0daea9f947caf.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-f1b0daea9f947caf.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-f1b0daea9f947caf.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-f1b0daea9f947caf.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/events/route-f1b0daea9f947caf.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/health/route-f1b0daea9f947caf.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-f1b0daea9f947caf.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-f1b0daea9f947caf.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-f1b0daea9f947caf.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-f1b0daea9f947caf.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-f1b0daea9f947caf.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-f1b0daea9f947caf.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/keepalive/route-f1b0daea9f947caf.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/mcp/route-f1b0daea9f947caf.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-f1b0daea9f947caf.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-f1b0daea9f947caf.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-f1b0daea9f947caf.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-f1b0daea9f947caf.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-f1b0daea9f947caf.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-f1b0daea9f947caf.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/notifications/route-f1b0daea9f947caf.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-f1b0daea9f947caf.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-f1b0daea9f947caf.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-f1b0daea9f947caf.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-f1b0daea9f947caf.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-f1b0daea9f947caf.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-f1b0daea9f947caf.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-f1b0daea9f947caf.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-f1b0daea9f947caf.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-f1b0daea9f947caf.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-f1b0daea9f947caf.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-f1b0daea9f947caf.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-f1b0daea9f947caf.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-f1b0daea9f947caf.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-f1b0daea9f947caf.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-f1b0daea9f947caf.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-f1b0daea9f947caf.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-f1b0daea9f947caf.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/projects/route-f1b0daea9f947caf.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-f1b0daea9f947caf.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-f1b0daea9f947caf.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-f1b0daea9f947caf.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-f1b0daea9f947caf.js +1 -0
  474. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-f1b0daea9f947caf.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/search/route-f1b0daea9f947caf.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-f1b0daea9f947caf.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-f1b0daea9f947caf.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-f1b0daea9f947caf.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-f1b0daea9f947caf.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-f1b0daea9f947caf.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-f1b0daea9f947caf.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-f1b0daea9f947caf.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/layout-e3a49e06950a057f.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/login/callback/{page-0edd93f50cb4f6ea.js → page-6cad93f5c610b047.js} +1 -1
  485. package/.next/standalone/.next/static/chunks/app/login/{page-c64b8d40a0781b4c.js → page-e7493d55573a52f1.js} +1 -1
  486. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/{page-e0444ad8b50121f5.js → page-597e0f3377f18d29.js} +1 -1
  487. package/.next/standalone/.next/static/chunks/app/login/silent-refresh/{page-a9960ea858db6752.js → page-a26d1af61578c96e.js} +1 -1
  488. package/.next/standalone/.next/static/chunks/app/onboarding/page-9a41067d4c5d29d7.js +1 -0
  489. package/.next/standalone/.next/static/chunks/{webpack-87284a4533d77eaf.js → webpack-1556cfd11f7e90d1.js} +1 -1
  490. package/.next/standalone/.next/static/css/6e8fd46b062fd4fc.css +1 -0
  491. package/.next/standalone/.next/static/v1yRpXkt1wNBkZMTE3tiz/_buildManifest.js +1 -0
  492. package/.next/standalone/package.json +1 -1
  493. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +13 -1
  494. package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +167 -0
  495. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +97 -17
  496. package/.next/standalone/public/chorus-plugin/bin/tests/test-on-post-verify-task.sh +191 -1
  497. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  498. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +7 -4
  499. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +3 -1
  500. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  501. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  502. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +5 -1
  503. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  504. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +12 -3
  505. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +40 -1
  506. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  507. package/.next/standalone/public/skill/chorus/SKILL.md +16 -11
  508. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +225 -0
  509. package/.next/standalone/public/skill/develop-chorus/SKILL.md +3 -1
  510. package/.next/standalone/public/skill/idea-chorus/SKILL.md +1 -1
  511. package/.next/standalone/public/skill/package.json +2 -0
  512. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +5 -1
  513. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  514. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  515. package/.next/standalone/public/skill/review-chorus/SKILL.md +12 -1
  516. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  517. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +35 -1
  518. package/README.md +49 -13
  519. package/README.zh.md +49 -13
  520. package/chorus.mjs +30 -14
  521. package/cli/client-args.mjs +17 -1
  522. package/cli/daemon-banner.mjs +11 -1
  523. package/cli/daemon-config.mjs +118 -0
  524. package/cli/daemon.mjs +216 -154
  525. package/cli/event-router.mjs +273 -12
  526. package/cli/server-signal-handlers.mjs +41 -0
  527. package/cli/sse-listener.mjs +27 -5
  528. package/cli/waker.mjs +36 -8
  529. package/package.json +1 -1
  530. package/prisma/migrations/20260622115159_add_daemon_connection_cwd/migration.sql +9 -0
  531. package/prisma/migrations/20260623020208_task_pinned_target_instance/migration.sql +3 -0
  532. package/prisma/migrations/20260624142248_add_agent_instance/migration.sql +31 -0
  533. package/prisma/migrations/20260624165025_drop_task_target_host_cwd/migration.sql +10 -0
  534. package/prisma/schema.prisma +69 -3
  535. package/.next/standalone/.next/server/chunks/1064.js +0 -1
  536. package/.next/standalone/.next/server/chunks/2213.js +0 -1
  537. package/.next/standalone/.next/server/chunks/369.js +0 -1
  538. package/.next/standalone/.next/server/chunks/5039.js +0 -1
  539. package/.next/standalone/.next/server/chunks/5631.js +0 -1
  540. package/.next/standalone/.next/server/chunks/6461.js +0 -1
  541. package/.next/standalone/.next/server/chunks/6712.js +0 -1
  542. package/.next/standalone/.next/server/chunks/7867.js +0 -1
  543. package/.next/standalone/.next/server/chunks/8012.js +0 -1
  544. package/.next/standalone/.next/server/chunks/9629.js +0 -1
  545. package/.next/standalone/.next/server/chunks/9725.js +0 -1
  546. package/.next/standalone/.next/static/519aK55QLHaVN7b1TVDkB/_buildManifest.js +0 -1
  547. package/.next/standalone/.next/static/chunks/1217-323cc20b73ebfde9.js +0 -1
  548. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +0 -1
  549. package/.next/standalone/.next/static/chunks/1879-7a8b283283218df2.js +0 -1
  550. package/.next/standalone/.next/static/chunks/19276-50b367d7b93d5f34.js +0 -1
  551. package/.next/standalone/.next/static/chunks/23466-e1176a6d814f4897.js +0 -1
  552. package/.next/standalone/.next/static/chunks/38040-a8687f86dd8e9d67.js +0 -1
  553. package/.next/standalone/.next/static/chunks/4860.43f5ad8a3aaed0e8.js +0 -1
  554. package/.next/standalone/.next/static/chunks/59296-783831c43aa0162e.js +0 -1
  555. package/.next/standalone/.next/static/chunks/60648-36ccbee4ce232d52.js +0 -1
  556. package/.next/standalone/.next/static/chunks/60694-68232120903209df.js +0 -1
  557. package/.next/standalone/.next/static/chunks/64648-81f03be6f9793ab9.js +0 -1
  558. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +0 -1
  559. package/.next/standalone/.next/static/chunks/66969-12f0b22c51f5a410.js +0 -1
  560. package/.next/standalone/.next/static/chunks/70536-b8bf71098ae11f07.js +0 -1
  561. package/.next/standalone/.next/static/chunks/76803-7ac4024b2ae89843.js +0 -1
  562. package/.next/standalone/.next/static/chunks/78389-b32edc6bd5c570a9.js +0 -1
  563. package/.next/standalone/.next/static/chunks/78584-eb2fa8cf2f266329.js +0 -1
  564. package/.next/standalone/.next/static/chunks/78917-150ed14a99844aab.js +0 -1
  565. package/.next/standalone/.next/static/chunks/84541-1f4c2a40f7722667.js +0 -10
  566. package/.next/standalone/.next/static/chunks/8574-b9739eb8d054c793.js +0 -1
  567. package/.next/standalone/.next/static/chunks/99373.0768feb3a08c7da3.js +0 -1
  568. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-0a28456fea4ce95a.js +0 -1
  569. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-a79969c5c9aadacd.js +0 -1
  570. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-4bc556c2fc8f3d24.js +0 -1
  571. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-e00752a72c31663f.js +0 -1
  572. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ef82b871895245ea.js +0 -1
  573. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-2c9bcbd11ddb8661.js +0 -1
  574. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-630b168598513ce8.js +0 -1
  575. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-335f2450e44a0fba.js +0 -1
  576. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-4a191d69b2b6e880.js +0 -1
  577. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0faebb478be4c85d.js +0 -1
  578. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2e8fcb72687100df.js +0 -1
  579. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  580. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-4bc556c2fc8f3d24.js +0 -1
  581. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-4bc556c2fc8f3d24.js +0 -1
  582. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-4bc556c2fc8f3d24.js +0 -1
  583. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-4bc556c2fc8f3d24.js +0 -1
  584. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  585. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-4bc556c2fc8f3d24.js +0 -1
  586. package/.next/standalone/.next/static/chunks/app/api/agents/route-4bc556c2fc8f3d24.js +0 -1
  587. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  588. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-4bc556c2fc8f3d24.js +0 -1
  589. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-4bc556c2fc8f3d24.js +0 -1
  590. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-4bc556c2fc8f3d24.js +0 -1
  591. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-4bc556c2fc8f3d24.js +0 -1
  592. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-4bc556c2fc8f3d24.js +0 -1
  593. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-4bc556c2fc8f3d24.js +0 -1
  594. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-4bc556c2fc8f3d24.js +0 -1
  595. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-4bc556c2fc8f3d24.js +0 -1
  596. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-4bc556c2fc8f3d24.js +0 -1
  597. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-4bc556c2fc8f3d24.js +0 -1
  598. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-4bc556c2fc8f3d24.js +0 -1
  599. package/.next/standalone/.next/static/chunks/app/api/comments/route-4bc556c2fc8f3d24.js +0 -1
  600. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-4bc556c2fc8f3d24.js +0 -1
  601. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-4bc556c2fc8f3d24.js +0 -1
  602. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-4bc556c2fc8f3d24.js +0 -1
  603. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-4bc556c2fc8f3d24.js +0 -1
  604. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-4bc556c2fc8f3d24.js +0 -1
  605. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-4bc556c2fc8f3d24.js +0 -1
  606. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-4bc556c2fc8f3d24.js +0 -1
  607. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-4bc556c2fc8f3d24.js +0 -1
  608. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-4bc556c2fc8f3d24.js +0 -1
  609. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-4bc556c2fc8f3d24.js +0 -1
  610. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-4bc556c2fc8f3d24.js +0 -1
  611. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-4bc556c2fc8f3d24.js +0 -1
  612. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  613. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-4bc556c2fc8f3d24.js +0 -1
  614. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-4bc556c2fc8f3d24.js +0 -1
  615. package/.next/standalone/.next/static/chunks/app/api/events/route-4bc556c2fc8f3d24.js +0 -1
  616. package/.next/standalone/.next/static/chunks/app/api/health/route-4bc556c2fc8f3d24.js +0 -1
  617. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-4bc556c2fc8f3d24.js +0 -1
  618. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-4bc556c2fc8f3d24.js +0 -1
  619. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-4bc556c2fc8f3d24.js +0 -1
  620. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-4bc556c2fc8f3d24.js +0 -1
  621. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-4bc556c2fc8f3d24.js +0 -1
  622. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  623. package/.next/standalone/.next/static/chunks/app/api/mcp/route-4bc556c2fc8f3d24.js +0 -1
  624. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-4bc556c2fc8f3d24.js +0 -1
  625. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-4bc556c2fc8f3d24.js +0 -1
  626. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-4bc556c2fc8f3d24.js +0 -1
  627. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-4bc556c2fc8f3d24.js +0 -1
  628. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-4bc556c2fc8f3d24.js +0 -1
  629. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-4bc556c2fc8f3d24.js +0 -1
  630. package/.next/standalone/.next/static/chunks/app/api/notifications/route-4bc556c2fc8f3d24.js +0 -1
  631. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-4bc556c2fc8f3d24.js +0 -1
  632. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-4bc556c2fc8f3d24.js +0 -1
  633. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  634. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-4bc556c2fc8f3d24.js +0 -1
  635. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-4bc556c2fc8f3d24.js +0 -1
  636. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-4bc556c2fc8f3d24.js +0 -1
  637. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-4bc556c2fc8f3d24.js +0 -1
  638. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-4bc556c2fc8f3d24.js +0 -1
  639. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-4bc556c2fc8f3d24.js +0 -1
  640. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-4bc556c2fc8f3d24.js +0 -1
  641. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-4bc556c2fc8f3d24.js +0 -1
  642. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-4bc556c2fc8f3d24.js +0 -1
  643. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-4bc556c2fc8f3d24.js +0 -1
  644. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  645. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-4bc556c2fc8f3d24.js +0 -1
  646. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-4bc556c2fc8f3d24.js +0 -1
  647. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-4bc556c2fc8f3d24.js +0 -1
  648. package/.next/standalone/.next/static/chunks/app/api/projects/route-4bc556c2fc8f3d24.js +0 -1
  649. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-4bc556c2fc8f3d24.js +0 -1
  650. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-4bc556c2fc8f3d24.js +0 -1
  651. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-4bc556c2fc8f3d24.js +0 -1
  652. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-4bc556c2fc8f3d24.js +0 -1
  653. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  654. package/.next/standalone/.next/static/chunks/app/api/search/route-4bc556c2fc8f3d24.js +0 -1
  655. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  656. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-4bc556c2fc8f3d24.js +0 -1
  657. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-4bc556c2fc8f3d24.js +0 -1
  658. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-4bc556c2fc8f3d24.js +0 -1
  659. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-4bc556c2fc8f3d24.js +0 -1
  660. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
  661. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-4bc556c2fc8f3d24.js +0 -1
  662. package/.next/standalone/.next/static/chunks/app/layout-9963339572e2e64e.js +0 -1
  663. package/.next/standalone/.next/static/chunks/app/onboarding/page-e9a69a0c537c704f.js +0 -1
  664. package/.next/standalone/.next/static/css/e78b3c856420a09f.css +0 -1
  665. /package/.next/standalone/.next/static/{519aK55QLHaVN7b1TVDkB → v1yRpXkt1wNBkZMTE3tiz}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[42111],{7889:(e,t,n)=>{n.d(t,{d:()=>l});var r=n(52217);let l=(0,r.createServerReference)("70aaecb121fe1371b6e5075f5954cea3ffaab203bb",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},30423:(e,t,n)=>{n.d(t,{j:()=>l});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function l(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(l," ").concat(a,":").concat(c)}function l(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>l})},42111:(e,t,n)=>{n.d(t,{$m:()=>W});var r=n(90508),l=n(1856),a=n(39268),c=n(94903),i=n(85226),o=n(95886),s=n(36755),u=n(5425),d=n(22922),m=n(73693),p=n(42242),f=n(85783),x=n(99783),h=n(24377),g=n(67712),w=n(42305);function v(e){var t;if(!e)return{pinnedHost:null,pinnedCwd:null};let n=new URLSearchParams(e),r=n.has("cwd"),l=n.has("host");if(!r&&!l)return{pinnedHost:null,pinnedCwd:null};let a=null!=(t=n.get("cwd"))?t:"",c=n.get("host");return{pinnedCwd:r&&""!==a?a:null,pinnedHost:l?null!=c?c:"":null}}var y=n(78307),b=n(97438);let C=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})},pinnedHost:{default:null,parseHTML:e=>e.getAttribute("data-pinned-host"),renderHTML:e=>null==e.pinnedHost?{}:{"data-pinned-host":String(e.pinnedHost)}},pinnedCwd:{default:null,parseHTML:e=>e.getAttribute("data-pinned-cwd"),renderHTML:e=>null==e.pinnedCwd?{}:{"data-pinned-cwd":String(e.pinnedCwd)}}}}});function N(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;if(e){var n,r,l,a,c,i,o;return l=e.label||e.id,a=e.mentionType||"user",c=e.id,i=null!=(n=e.pinnedHost)?n:null,o=null!=(r=e.pinnedCwd)?r:null,"@[".concat(l,"](").concat(a,":").concat(c).concat(function(e,t){if(null==e&&null==t)return"";let n=e=>encodeURIComponent(e).replace(/\(/g,"%28").replace(/\)/g,"%29"),r=[];return r.push("cwd=".concat(null==t?"":n(t))),null!=e&&r.push("host=".concat(n(e))),"?".concat(r.join("&"))}(i,o),")")}return""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let s=t.content;return s?s.map(e).join(""):""})(e)).join("\n"):""}function j(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],l=0,a=RegExp(t.source,"g");for(;null!==(n=a.exec(e));){n.index>l&&r.push({type:"text",text:e.slice(l,n.index)});let{pinnedHost:t,pinnedCwd:a}=v(n[4]);r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2],pinnedHost:t,pinnedCwd:a}}),l=n.index+n[0].length}return l<e.length&&r.push({type:"text",text:e.slice(l)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function E(e,t,n,r,l,a,c){if(l.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',l.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",l.appendChild(e);return}let i=document.createElement("div");i.className="py-1";let o=0,s=e=>{if(c)return void c(e,n);n({id:e.uuid,label:e.name,mentionType:e.type})},u=()=>{i.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===o?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="relative shrink-0";let l=document.createElement("div");if(l.className="flex h-6 w-6 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),l.innerHTML="agent"===e.type?'<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>':'<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>',r.appendChild(l),"agent"===e.type&&e.online){let e=document.createElement("span");e.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",e.title=a.online,r.appendChild(e)}let c=document.createElement("div");c.className="min-w-0 flex-1";let u=document.createElement("div");if(u.className="truncate text-xs font-medium",u.textContent=e.name,c.appendChild(u),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,c.appendChild(t)}if("agent"===e.type&&e.online){var d;let t=null!=(d=e.activeCount)?d:0,n=document.createElement("div");t>0?(n.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D]",n.textContent="▶ ".concat(a.activeCount(t))):(n.className="mt-0.5 truncate text-[10px] text-[#9A9A9A]",n.textContent=a.idle),c.appendChild(n)}n.appendChild(r),n.appendChild(c),i.appendChild(n)})};u(),l.appendChild(i),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,w.P)(n)&&("ArrowUp"===n.key?(o=o<=0?e.length-1:o-1,u(),!0):"ArrowDown"===n.key?(o=o>=e.length-1?0:o+1,u(),!0):"Enter"===n.key?(e[o]&&s(e[o]),!0):"Escape"===n.key)}}}function A(e){var t;let{open:n,agentName:c,instances:i,onConfirm:o,onCancel:s}=e,u=(0,a.c)("mentionInstance"),[m,p]=(0,l.useState)(null);(0,l.useEffect)(()=>{n&&p(null)},[n,i]);let f=new Set(i.map(e=>e.host)).size;return(0,r.jsx)(b.lG,{open:n,onOpenChange:e=>{e||s()},children:(0,r.jsxs)(b.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,r.jsxs)(b.c7,{className:"shrink-0",children:[(0,r.jsx)(b.L3,{children:u("title")}),(0,r.jsx)(b.rr,{children:u("subtitle",{name:c,count:i.length,hosts:f})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",children:(0,r.jsx)(y.O,{instances:i,selectedConnectionUuid:null!=(t=null==m?void 0:m.connectionUuid)?t:null,onSelect:p,ariaLabel:u("title")})}),(0,r.jsxs)(b.Es,{className:"shrink-0",children:[(0,r.jsx)(d.$,{variant:"ghost",onClick:s,children:u("cancel")}),(0,r.jsx)(d.$,{disabled:!m,onClick:()=>{m&&o(m)},children:u("confirm")})]})]})})}let k=(0,l.forwardRef)((e,t)=>{var n,c;let{value:i,onChange:o,placeholder:s,className:u,disabled:d,onSubmit:m}=e,x=(0,l.useRef)([]),v=(0,l.useRef)(!1),y=(0,l.useRef)(null),b=(0,l.useRef)(null),k=(0,l.useRef)(null),S=(0,l.useRef)(null),[,M]=(0,l.useState)(0),R=(0,l.useRef)(!1),T=(0,a.c)("mention"),D=(0,l.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});D.current={online:T("online"),offline:T("offline"),idle:T("idle"),activeCount:e=>T("activeCount",{count:e})};let H=function(e,t){let n=(0,l.useRef)(null),r=(0,l.useRef)(e);r.current=e;let a=(0,l.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,l.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),a}((0,l.useCallback)(async e=>{v.current=!0,M(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10&withInstances=1"));if(t.ok){let e=await t.json();e.success&&(x.current=e.data)}}catch(e){x.current=[]}finally{v.current=!1,M(e=>e+1)}},[]),250),[B,U]=(0,l.useState)(null),F=(0,l.useCallback)((e,t,n)=>{t({id:e.uuid,label:e.name,mentionType:e.type,pinnedHost:n?n.host:null,pinnedCwd:n?n.cwd:null})},[]),_=(0,l.useRef)(()=>{});_.current=(e,t)=>{var n;let r="agent"===e.type?(null!=(n=e.instances)?n:[]).filter(e=>"online"===e.effectiveStatus):[];return r.length>=2?void U({item:e,onlineInstances:r,command:t}):1===r.length?void F(e,t,r[0]):void F(e,t)};let L=(0,l.useCallback)((e,t)=>_.current(e,t),[]);(0,l.useEffect)(()=>{k.current&&S.current&&E(x.current,v.current,S.current,y,k.current,D.current,L)});let z=(0,p.hG)({immediatelyRender:!1,extensions:[f.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),C.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return H(t),x.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",k.current=n,S.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=b.current)?t:document.body).appendChild(n),E(x.current,v.current,e.command,y,n,D.current,L)},onUpdate:e=>{if(S.current=e.command,k.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(k.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(k.current.style.top="",k.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(k.current.style.bottom="",k.current.style.top="".concat(t.bottom+4,"px")))}k.current&&E(x.current,v.current,e.command,y,k.current,D.current,L)},onKeyDown:e=>!!y.current&&y.current.onKeyDown(e),onExit:()=>{var e;null==(e=k.current)||e.remove(),k.current=null,S.current=null,x.current=[],v.current=!1}})}})],content:j(i),editable:!d,editorProps:{attributes:{class:(0,h.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":s||""},handleKeyDown:(e,t)=>!(0,w.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!k.current&&!!m&&(t.preventDefault(),m(),!0)},onUpdate:e=>{let{editor:t}=e;R.current=!0,o(N(t))}});return(0,l.useEffect)(()=>{if(!z||R.current){R.current=!1;return}N(z)!==i&&z.commands.setContent(j(i))},[i,z]),(0,l.useEffect)(()=>{z&&z.setEditable(!d)},[d,z]),(0,l.useImperativeHandle)(t,()=>({focus:()=>null==z?void 0:z.commands.focus(),clear:()=>{null==z||z.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:b,className:(0,h.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]",d&&"cursor-not-allowed opacity-50",u),children:[(0,r.jsx)(p.$Z,{editor:z}),(0,r.jsx)(A,{open:null!==B,agentName:null!=(n=null==B?void 0:B.item.name)?n:"",instances:null!=(c=null==B?void 0:B.onlineInstances)?c:[],onConfirm:e=>{!function(e,t,n){n.close(),e&&n.defer(()=>{try{n.focusEditor(),n.insert(e,t)}catch(e){n.onError(e)}})}(B,e,{close:()=>U(null),insert:(e,t)=>F(e.item,e.command,t),defer:e=>requestAnimationFrame(e),focusEditor:()=>null==z?void 0:z.commands.focus(),onError:e=>g.q.error("MentionEditor: cwd-pinned mention insert failed",e)})},onCancel:()=>U(null)}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});k.displayName="MentionEditor";var S=n(7889),M=n(52217);let R=(0,M.createServerReference)("701c7d60af1f38c31dd99ce4c4ddeba40a4e1458ac",M.callServer,void 0,M.findSourceMapURL,"createCommentAction");var T=n(97261);let D=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,H=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g,B="chorus-mention";function U(e){let{children:t,renderMention:n}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(D.source,D.flags.replace("g","")).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{children:t})});if(n)return(0,r.jsx)(F,{renderMention:n,children:t});let{processed:l,mentions:a}=function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:i,pinnedCwd:o}=v(a),s={displayName:n,type:r,uuid:l};return(null!==i||null!==o)&&(s.pinnedHost=i,s.pinnedCwd=o),t.push(s),"".concat("​​MENTION_").concat(c).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(_,{mentions:a,children:(0,r.jsx)(T.MarkdownContent,{children:l})})}function F(e){let{children:t,renderMention:n}=e,{processed:a,mentions:c}=l.useMemo(()=>(function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:i,pinnedCwd:o}=v(a),s={type:r.toLowerCase(),uuid:l.toLowerCase(),displayName:n};(null!==i||null!==o)&&(s.pinnedHost=i,s.pinnedCwd=o),t.push(s);let u="@".concat(n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return"<".concat(B," ").concat("idx",'="').concat(c,'">').concat(u,"</").concat(B,">")}),mentions:t}})(t),[t]),i=l.useMemo(()=>({[B]:e=>{let{idx:t}=e,l=void 0===t?NaN:parseInt(t,10),a=Number.isInteger(l)?c[l]:void 0;return a?(0,r.jsx)(r.Fragment,{children:n({...a,index:l})}):null}}),[c,n]);return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{components:i,allowedTags:{[B]:["idx"]},literalTagContent:[B],children:a})})}function _(e){let{children:t,mentions:n}=e,a=l.useRef(null);return l.useEffect(()=>{let e;if(!a.current||0===n.length)return;let t=document.createTreeWalker(a.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)H.test(e.textContent||"")&&r.push(e),H.lastIndex=0;for(let e of r){var l;let t,r=e.textContent||"",a=document.createDocumentFragment(),c=0,i=RegExp(H.source,"g");for(;null!==(t=i.exec(r));){t.index>c&&a.appendChild(document.createTextNode(r.slice(c,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),a.appendChild(t)}else a.appendChild(document.createTextNode(t[0]));c=t.index+t[0].length}c<r.length&&a.appendChild(document.createTextNode(r.slice(c))),null==(l=e.parentNode)||l.replaceChild(a,e)}},[n]),(0,r.jsx)("div",{ref:a,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var L=n(97868),z=n(63964),I=n(96213),O=n(30423),$=n(38106),q=n(67587);function P(e){return"agent"===e.type?(0,r.jsx)(L.Gm,{mention:e,displayName:e.displayName},e.index):(0,r.jsxs)("span",{className:"text-blue-600 font-medium",title:"".concat(e.type,": ").concat(e.uuid),children:["@",e.displayName]},e.index)}function K(e,t){let n=new Map;for(let t of e)n.set(t.uuid,t);for(let e of t)n.set(e.uuid,e);return[...n.values()].sort((e,t)=>e.createdAt!==t.createdAt?e.createdAt<t.createdAt?1:-1:e.uuid<t.uuid?1:-1)}async function G(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=new Set(e.map(e=>e.uuid)),l=[],a=null,c=!1,i=0,o=!1,s=null,u=!1;for(let e=0;e<n;e++){let e=await t(a);if(!e)break;if(u=!0,i=e.total,l.push(...e.comments),o=e.hasMore,s=e.nextCursor,e.comments.some(e=>r.has(e.uuid))||!e.hasMore){c=!0;break}a=e.nextCursor}return u?c?{comments:K(e,l),total:i,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],l),total:i,contiguous:!1,resetOldestCursor:s,resetHasMore:o}:null}function W(e){let{targetType:t,targetUuid:n,currentUserUuid:u,onCountChange:p,compact:f=!1}=e,x=(0,a.c)(),[h,g]=(0,l.useState)(""),[w,v]=(0,l.useState)([]),[y,b]=(0,l.useState)(!0),[C,N]=(0,l.useState)(null),[j,E]=(0,l.useState)(!1),[A,M]=(0,l.useState)(!1),[T,D]=(0,l.useState)(null),[H,B]=(0,l.useState)(!1),[U,F]=(0,l.useState)(0),_=(0,l.useRef)(null),L=(0,l.useRef)(null),O=(0,l.useRef)(w);O.current=w;let $=(0,l.useRef)(T);$.current=T;let P=(0,l.useRef)(H);P.current=H;let W=(0,l.useRef)(j);W.current=j;let Q=(0,l.useRef)(y);Q.current=y;let V=f?"h-6 w-6":"h-[30px] w-[30px]",X=f?"gap-2":"gap-2.5",Y=f?"h-3 w-3":"h-[15px] w-[15px]";(0,l.useEffect)(()=>{null==p||p(U)},[U,p]);let Z=(0,l.useCallback)(async()=>{b(!0),N(null);let e=await (0,S.d)(t,n,{limit:10});e.success?(v(e.comments),D(e.nextCursor),B(e.hasMore),F(e.total)):N(e.error),b(!1)},[t,n]);(0,l.useEffect)(()=>{Z()},[Z]);let ee=(0,l.useCallback)(async()=>{if(W.current||Q.current||!P.current||!$.current)return;E(!0);let e=await (0,S.d)(t,n,{cursor:$.current,limit:10});e.success&&(v(t=>K(t,e.comments)),D(e.nextCursor),B(e.hasMore),F(e.total)),E(!1)},[t,n]);(0,l.useEffect)(()=>{let e=L.current;if(!e)return;let t=new IntersectionObserver(e=>{var t;(null==(t=e[0])?void 0:t.isIntersecting)&&ee()},{rootMargin:"120px"});return t.observe(e),()=>t.disconnect()},[ee,y]),(0,z.w0)(t,n,e=>{u&&e.actorUuid===u||G(O.current,async e=>{let r=await (0,S.d)(t,n,{cursor:e,limit:10});return r.success?r:null}).then(e=>{e&&(v(e.comments),F(e.total),e.contiguous||(D(e.resetOldestCursor),B(e.resetHasMore)))})});let et=async()=>{if(!h.trim()||A)return;M(!0);let e=await R(t,n,h);if(M(!1),e.success){var r;let t=!O.current.some(t=>t.uuid===e.comment.uuid);v(t=>K(t,[e.comment])),t&&F(e=>e+1),g(""),null==(r=_.current)||r.clear()}else q.oR.error(e.error)};return(0,r.jsx)(I.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(X," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(f?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(c.A,{className:"".concat(f?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(k,{ref:_,value:h,onChange:g,onSubmit:et,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:A})}),(0,r.jsx)(d.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||A,onClick:et,children:A?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),y?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):C?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(s.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(d.$,{variant:"outline",size:"sm",onClick:Z,children:x("comments.retry")})]}):0===w.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):(0,r.jsxs)("div",{children:[w.map(e=>(0,r.jsx)(J,{comment:e,compact:f,avatarSize:V,gap:X,iconSize:Y,t:x},e.uuid)),(0,r.jsx)("div",{ref:L,"aria-hidden":"true"}),j?(0,r.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-[#9A9A9A]",children:x("comments.loadingMore")})]}):!H&&(0,r.jsx)("p",{className:"py-4 text-center text-xs text-[#BFBFBF] italic",children:x("comments.noMoreComments")})]})]})})}function J(e){let{comment:t,compact:n,avatarSize:a,gap:c,iconSize:i,t:o}=e,[s,p]=(0,l.useState)(!1),f="agent"===t.author.type,x=f?(0,O.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(c," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(a," shrink-0"),children:(0,r.jsx)(m.q5,{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:f?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:f?(0,r.jsx)(u.A,{className:i}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(f?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:o(f?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),l=Math.floor(r/6e4),a=Math.floor(r/36e5),c=Math.floor(r/864e5);return l<1?t("time.justNow"):l<60?t("time.minutesAgo",{minutes:l}):a<24?t("time.hoursAgo",{hours:a}):c<7?t("time.daysAgo",{days:c}):(0,$.r)(n)}(t.createdAt,o)})]}),f&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:o("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] 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"),children:h&&!s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention:P,children:t.content.slice(0,200)+"..."}),(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:o("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention:P,children:t.content}),h&&(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:o("comments.showLess")})]})})]})]})}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),l=n(63964);let a=new Map,c=new Map,i=new Map,o=new Set,s=0;function u(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function d(){s++,o.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,l=u(e.entityType,e.entityUuid,n,r),o=function(e,t,n,r,l){let a=u(e,t,r,l);return"".concat(a,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=c.get(o);if(s&&Date.now()-s<3e3)return;c.set(o,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=a.get(l))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(m),a.set(l,p);let f=i.get(o);f&&clearTimeout(f);let x=setTimeout(()=>{let t=a.get(l);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?a.delete(l):a.set(l,n)}c.delete(o),i.delete(o),d()},3e3);i.set(o,x),d()}function p(){return s}function f(e){return o.add(e),()=>{o.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(f,p,p),(0,l.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var l;return null!=(l=a.get(u(e,t,n,r)))?l:[]}let c="".concat(e,":").concat(t),i=new Map;for(let[e,t]of a)if(e===c||e.startsWith(c+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},63964:(e,t,n)=>{n.d(t,{S2:()=>s,eV:()=>o,l9:()=>i,tS:()=>c,w0:()=>u});var r=n(90508),l=n(1856);n(23675);let a=(0,l.createContext)(null);function c(e){let{projectUuid:t,children:n}=e,c=(0,l.useRef)(new Set),i=(0,l.useRef)(new Set),o=(0,l.useRef)(new Set),s=(0,l.useRef)(new Set),u=(0,l.useCallback)(()=>{c.current.forEach(e=>e())},[]),d=(0,l.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,l.useEffect)(()=>{let e,n=null,r=0,l={};function a(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void o.current.forEach(e=>e(n));if("execution"===n.type)return void s.current.forEach(e=>e(n));let a=n;clearTimeout(e);let c=Date.now(),i=c-r;i>=3e3?(r=c,u()):e=setTimeout(()=>{r=Date.now(),u()},Math.max(1e3,3e3-i));let m=a.entityType;clearTimeout(l[m]),l[m]=setTimeout(()=>{d(a)},300)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(a(),u(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return a(),document.addEventListener("visibilitychange",i),()=>{for(let t in c(),clearTimeout(e),l)clearTimeout(l[t]);document.removeEventListener("visibilitychange",i)}},[t,u,d]);let m=(0,l.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),p=(0,l.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),f=(0,l.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),x=(0,l.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),h=(0,l.useMemo)(()=>({subscribe:m,subscribeEntity:p,subscribePresence:f,subscribeExecution:x}),[m,p,f,x]);return(0,r.jsx)(a.Provider,{value:h,children:n})}function i(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function o(e,t){let n=(0,l.useContext)(a),r=(0,l.useRef)(t);r.current=t;let c=(0,l.useRef)(e);c.current=e,(0,l.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=c.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function u(e,t,n){let r=(0,l.useContext)(a),c=(0,l.useRef)(n);c.current=n,(0,l.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&c.current(n)})},[r,e,t])}},73693:(e,t,n)=>{n.d(t,{eu:()=>c,q5:()=>i});var r=n(90508);n(1856);var l=n(65514),a=n(24377);function c(e){let{className:t,size:n="default",...c}=e;return(0,r.jsx)(l.Root,{"data-slot":"avatar","data-size":n,className:(0,a.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...c})}function i(e){let{className:t,...n}=e;return(0,r.jsx)(l.Fallback,{"data-slot":"avatar-fallback",className:(0,a.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},96213:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(90508),l=n(47754),a=n(30423),c=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:c,subEntityUuid:i,children:s,badgeInside:u}=e,{getPresence:d}=(0,l.xQ)(),m=d(t,n,c,i),p=m.length>0,f=p&&m.some(e=>"mutate"===e.action),x=p?f?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,a.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(f?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(u?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(o,{entry:e},e.agentUuid)),m.length>3&&(0,r.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:["+",m.length-3]})]}),s]})}function o(e){let{entry:t}=e,n=(0,a.j)(t.agentName);return(0,r.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:n},children:[(0,r.jsx)(c.A,{className:"h-2.5 w-2.5"}),t.agentName]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","showMore":"展开","showLess":"收起","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试","loadingMore":"加载更多...","noMoreComments":"没有更多评论"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"assignInstance":{"workingDirectory":"工作目录","loadingInstances":"正在加载工作目录…","noInstances":"该智能体没有在线的守护进程。任务已分配并已通知该智能体,它将在下次上线时领取。","pinNote":"自主唤醒会将此任务路由到你在此固定的确切(主机,路径)实例。只能固定在线实例。路径绝不会从项目推断。","ideaPinNote":"想法是固定的根:该智能体的提案、任务和自主唤醒都会继承你在此固定的(主机,路径)。只能固定在线实例。留空则分配给普通智能体。","assignTo":"分配到 {path}","assignToWithHost":"分配到 {path} \xb7 {host}","sendingTo":"发送到 {path}","sendingToWithHost":"发送到 {path} \xb7 {host}","liveSendNote":"立即发送指令。实时发送要求该路径处于在线状态。","offlineCantRun":"离线 — 重新连接前无法运行"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","completed":"已完成","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","elaborationRequiredHint":"完成或跳过需求澄清后才能创建方案","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节..."},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"},"agentConnections":{"title":"智能体连接","subtitle":"在你名下、实时连接到 Chorus 的本地智能体。仅展示你自己的连接。","summary":"{online} / {total} 在线","loading":"正在加载连接...","railHeader":"连接","statusOnline":"在线","statusOffline":"离线","fieldHost":"主机","fieldUptime":"在线时长","fieldLastActive":"最近活跃","fieldStarted":"启动于","hostUnknown":"未知主机","startedUnknown":"未知","versionUnknown":"?","unknownAgent":"未命名智能体","clientClaudeCode":"Claude Code","clientOpenclaw":"OpenClaw","clientUnknown":"未知客户端","uptimeMonoDays":"{days}天 {time}","mobileBack":"返回连接列表","selectPrompt":"选择一个连接以查看详情。","execTitle":"执行状态","execRunning":"正在运行","execQueued":"排队中","execInterrupted":"已打断","execInterruptedUser":"已打断","execInterruptedCrash":"已崩溃","execCrashAutoRecovers":"自动恢复","execWaiting":"等待中","execLoading":"正在加载执行状态...","execElapsedLabel":"已运行时长","execSession":"Idea:{idea}","execEmptyTitle":"暂无运行中的任务","execEmptyBody":"该连接当前没有正在处理或排队的工作。派发的工作会在 daemon 接手时显示在这里。","empty":{"title":"暂无智能体连接"},"loadErrorTitle":"无法加载连接","loadErrorBody":"无法连接到连接服务。这是加载失败,并非列表为空——你的智能体可能仍在线。正在自动重试。","execEntityUnknown":"未知资源","execConversation":"对话","entityTask":"任务","entityIdea":"想法","entityProposal":"提案","entityDocument":"文档","entityUnknown":"资源","interrupt":"打断","interrupting":"正在打断…","interruptAria":"打断此正在运行的执行","interruptConfirmTitle":"确定打断此执行?","interruptConfirmBody":"这会停止 daemon 中针对「{title}」正在运行的会话。系统会先请求智能体优雅停止,若未停止则强制结束。之后你可以在本页恢复它。","interruptConfirmAction":"打断","interruptSuccess":"已请求打断「{title}」。","interruptError":"请求打断失败,请重试。","resume":"恢复","resuming":"正在恢复…","resumeAria":"恢复这个已打断的执行","resumeSuccess":"已请求恢复「{title}」。","resumeError":"请求恢复失败,请重试。","sendInstruction":"发送指令","sendInstructionPlaceholder":"为这个会话输入一条指令…","send":"发送","instructionHint":"按 Cmd/Ctrl + Enter 发送。","instructionCounter":"{count} / {max}","instructionSent":"指令已发送。","instructionError":"指令发送失败,请重试。","instructionEmpty":"请先输入指令再发送。","instructionTooLong":"指令过长。请精简到 {max} 个字符以内。","originOnlineTag":"源端在线","originOfflineTag":"源端离线","originOffline":"该会话的源端守护进程已离线,因此为只读状态。请改为开启一个新会话。","noOnlineConnection":"该智能体没有可发送的在线连接。请先启动它的守护进程,再发送指令。","targetConversation":"会话","newConversation":"新会话","sessionIdeaLabel":"想法 {id}","sessionAdHocLabel":"会话 {id}","adHocTitle":"开启新会话","adHocBody":"选择一个在线连接并发送第一条指令。新会话会在该连接的启动目录中运行。","pickConnection":"连接","pickConnectionPlaceholder":"选择一个在线连接","startSession":"开启会话","adHocSessionStarted":"会话已开启,智能体稍后会接手。","entityConversation":"对话"},"daemonChat":{"title":"对话","subtitle":"逐回合查看智能体做了什么。可在对话内继续发送或中断。","agentSelectLabel":"智能体","agentSelectPlaceholder":"选择一个智能体","agentSessionCount":"{count, plural, other {# 个对话}}","listHeader":"对话","loadMore":"加载更多","loadEarlier":"加载更早的消息","loadingEarlier":"正在加载更早…","loading":"正在加载对话…","transcriptLoading":"正在加载记录…","mobileBack":"对话","conversationAdHoc":"对话 {id}","conversationIdea":"想法 {id}","badgeIdea":"想法","running":"运行中","runningElapsedLabel":"本次运行已用时","statusActive":"进行中","statusEnded":"已结束","statusInterrupted":"已打断","statusError":"错误","turnStatusPending":"排队中","turnStatusRunning":"运行中","turnStatusEnded":"已结束","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","privacyNote":"对话记录由智能体的守护进程上报,可能包含本地文件路径。仅保留最近的消息。","noAgents":{"title":"暂无对话","body":"当智能体被唤醒时(因任务、提及、澄清或你发送的指令),它的对话会显示在这里。"},"noSessions":{"title":"该智能体暂无对话","body":"在下方输入框发送一条指令以开启对话。"},"newConversationButton":"新建对话","newConversationTitle":"新建对话","newConversationBody":"向 {agent} 发送第一条指令。它会在你选择的连接上开启一个新会话。","newConversationNoAgent":"先在左侧选择一个智能体,然后发送第一条指令以开启对话。","newConversationNoOnlineTitle":"没有在线连接","newConversationNoOnlineBody":"该智能体当前没有在线的守护进程可对话。请先启动它的守护进程,再在此发送指令。","replyPlaceholder":"在此对话中回复…","selectPrompt":"选择一个对话以查看其记录。","loadErrorTitle":"无法加载该对话","loadErrorBody":"无法连接到记录服务。这是加载问题,而非空对话。重新打开时会自动重试。","originOfflineNote":"该对话的来源守护进程已离线,因此为只读。历史记录仍会显示;如需发送,请在某个在线目录中继续。","continueOnlineAction":"在在线目录中继续","continueOnlineHelp":"保留本对话,并在该智能体的某个在线工作目录中继续。它会在该目录中以全新状态接续(上方历史记录将保留为只读上下文)。","continueOnlineStarted":"正在该在线目录中继续","detailsLabel":"连接详情","detailsHostUnknown":"未知主机","detailUptime":"运行时长","detailHost":"主机","detailStarted":"启动于","copySessionId":"复制 session ID","sessionIdCopied":"已复制!"},"agentPresence":{"online":"在线","onlineUnit":"{count, plural, other {智能体在线}}","loading":"正在检查智能体…","unavailable":"智能体不可用","pillAria":"在线智能体 — 打开详情","popoverTitle":"在线智能体","connectionIdle":"空闲 — 没有正在运行或排队的工作。","viewAll":"查看全部","unknownPath":"未知路径","unknownHost":"未知主机","drilldown":{"instancesCount":"{count, plural, other {# 个实例}}","hostsCount":"{count, plural, other {# 台主机}}","expandAgent":"展开 {agent} 的工作目录","collapseAgent":"收起 {agent} 的工作目录","idle":"空闲","runningFor":"运行中 \xb7 {time}","queuedCount":"{count, plural, other {# 个排队}}","offlineSince":"离线 \xb7 {time}","fieldPath":"工作目录"}},"transcriptHeader":{"cwdAriaLabel":"工作目录","hostAriaLabel":"主机"},"daemonConnectCta":{"headline":"下一步:让你的智能体保持在线","body":"运行一个常驻守护进程,让你的智能体保持在线并自动接收派发的工作。","bodyLong":"安装插件只是建立一次性连接,并不能让智能体常驻在线。在终端运行一个常驻守护进程,智能体才会保持连接并自动接收派发的工作。","loginNote":"首次使用?先用 {command} 登录一次。","copy":"复制","copied":"已复制!","learnMore":"了解如何连接智能体"},"mention":{"online":"在线","offline":"离线","activeCount":"进行中 {count}","idle":"空闲","openConversation":"打开对话","host":"主机","workingDirectory":"工作目录","badgeAria":"{name} — {status}"},"mentionInstance":{"title":"选择工作目录?","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。","confirm":"固定实例","cancel":"取消","noInstances":"没有在线实例"}}')}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[54637],{5329:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-circle-plus",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]])},6748:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},13142:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},17475:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},20578:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},21104:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},23380:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]])},24705:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]])},29767:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},30028:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},32470:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])},37915:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},39180:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},42533:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},43057:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},44575:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},50153:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},51509:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-x",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9.5 10.5 5 5",key:"ra9qjz"}],["path",{d:"m14.5 10.5-5 5",key:"l2rkpq"}]])},52309:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},58057:(e,t,a)=>{a.r(t),a.d(t,{Label:()=>l,Root:()=>c});var r=a(1856),d=a(93367),n=a(90508),l=r.forwardRef((e,t)=>(0,n.jsx)(d.sG.label,{...e,ref:t,onMouseDown:t=>{var a;t.target.closest("button, input, select, textarea")||(null==(a=e.onMouseDown)||a.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var c=l},59133:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},62482:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},62898:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},68842:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},69011:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},72256:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]])},79834:(e,t,a)=>{a.r(t),a.d(t,{Content:()=>E,List:()=>R,Root:()=>z,Tabs:()=>v,TabsContent:()=>C,TabsList:()=>m,TabsTrigger:()=>g,Trigger:()=>T,createTabsScope:()=>u});var r=a(1856),d=a(33328),n=a(21032),l=a(94782),c=a(19900),i=a(93367),o=a(72599),h=a(66249),s=a(40577),y=a(90508),p="Tabs",[k,u]=(0,n.A)(p,[l.RG]),f=(0,l.RG)(),[A,b]=k(p),v=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,onValueChange:d,defaultValue:n,orientation:l="horizontal",dir:c,activationMode:k="automatic",...u}=e,f=(0,o.jH)(c),[b,v]=(0,h.i)({prop:r,onChange:d,defaultProp:null!=n?n:"",caller:p});return(0,y.jsx)(A,{scope:a,baseId:(0,s.B)(),value:b,onValueChange:v,orientation:l,dir:f,activationMode:k,children:(0,y.jsx)(i.sG.div,{dir:f,"data-orientation":l,...u,ref:t})})});v.displayName=p;var x="TabsList",m=r.forwardRef((e,t)=>{let{__scopeTabs:a,loop:r=!0,...d}=e,n=b(x,a),c=f(a);return(0,y.jsx)(l.bL,{asChild:!0,...c,orientation:n.orientation,dir:n.dir,loop:r,children:(0,y.jsx)(i.sG.div,{role:"tablist","aria-orientation":n.orientation,...d,ref:t})})});m.displayName=x;var M="TabsTrigger",g=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,disabled:n=!1,...c}=e,o=b(M,a),h=f(a),s=j(o.baseId,r),p=q(o.baseId,r),k=r===o.value;return(0,y.jsx)(l.q7,{asChild:!0,...h,focusable:!n,active:k,children:(0,y.jsx)(i.sG.button,{type:"button",role:"tab","aria-selected":k,"aria-controls":p,"data-state":k?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:s,...c,ref:t,onMouseDown:(0,d.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():o.onValueChange(r)}),onKeyDown:(0,d.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&o.onValueChange(r)}),onFocus:(0,d.mK)(e.onFocus,()=>{let e="manual"!==o.activationMode;k||n||!e||o.onValueChange(r)})})})});g.displayName=M;var w="TabsContent",C=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:d,forceMount:n,children:l,...o}=e,h=b(w,a),s=j(h.baseId,d),p=q(h.baseId,d),k=d===h.value,u=r.useRef(k);return r.useEffect(()=>{let e=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(c.C,{present:n||k,children:a=>{let{present:r}=a;return(0,y.jsx)(i.sG.div,{"data-state":k?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:r&&l})}})});function j(e,t){return"".concat(e,"-trigger-").concat(t)}function q(e,t){return"".concat(e,"-content-").concat(t)}C.displayName=w;var z=v,R=m,T=g,E=C},83553:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]])},88591:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-pause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]])},88853:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]])},93134:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("clock-3",[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},94152:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])},94599:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},97964:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},98861:(e,t,a)=>{a.r(t),a.d(t,{Checkbox:()=>m,CheckboxIndicator:()=>g,Indicator:()=>g,Root:()=>m,createCheckboxScope:()=>u,unstable_BubbleInput:()=>C,unstable_CheckboxBubbleInput:()=>C,unstable_CheckboxProvider:()=>b,unstable_CheckboxTrigger:()=>x,unstable_Provider:()=>b,unstable_Trigger:()=>x});var r=a(1856),d=a(34124),n=a(21032),l=a(33328),c=a(66249),i=a(72009),o=a(3705),h=a(19900),s=a(93367),y=a(90508),p="Checkbox",[k,u]=(0,n.A)(p),[f,A]=k(p);function b(e){let{__scopeCheckbox:t,checked:a,children:d,defaultChecked:n,disabled:l,form:i,name:o,onCheckedChange:h,required:s,value:k="on",internal_do_not_use_render:u}=e,[A,b]=(0,c.i)({prop:a,defaultProp:null!=n&&n,onChange:h,caller:p}),[v,x]=r.useState(null),[m,M]=r.useState(null),g=r.useRef(!1),w=!v||!!i||!!v.closest("form"),C={checked:A,disabled:l,setChecked:b,control:v,setControl:x,name:o,form:i,value:k,hasConsumerStoppedPropagationRef:g,required:s,defaultChecked:!j(n)&&n,isFormControl:w,bubbleInput:m,setBubbleInput:M};return(0,y.jsx)(f,{scope:t,...C,children:"function"==typeof u?u(C):d})}var v="CheckboxTrigger",x=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,onKeyDown:n,onClick:c,...i}=e,{control:o,value:h,disabled:p,checked:k,required:u,setControl:f,setChecked:b,hasConsumerStoppedPropagationRef:x,isFormControl:m,bubbleInput:M}=A(v,a),g=(0,d.s)(t,f),w=r.useRef(k);return r.useEffect(()=>{let e=null==o?void 0:o.form;if(e){let t=()=>b(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,b]),(0,y.jsx)(s.sG.button,{type:"button",role:"checkbox","aria-checked":j(k)?"mixed":k,"aria-required":u,"data-state":q(k),"data-disabled":p?"":void 0,disabled:p,value:h,...i,ref:g,onKeyDown:(0,l.mK)(n,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,l.mK)(c,e=>{b(e=>!!j(e)||!e),M&&m&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});x.displayName=v;var m=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,name:r,checked:d,defaultChecked:n,required:l,disabled:c,value:i,onCheckedChange:o,form:h,...s}=e;return(0,y.jsx)(b,{__scopeCheckbox:a,checked:d,defaultChecked:n,disabled:c,required:l,onCheckedChange:o,name:r,form:h,value:i,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(x,{...s,ref:t,__scopeCheckbox:a}),r&&(0,y.jsx)(C,{__scopeCheckbox:a})]})}})});m.displayName=p;var M="CheckboxIndicator",g=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,forceMount:r,...d}=e,n=A(M,a);return(0,y.jsx)(h.C,{present:r||j(n.checked)||!0===n.checked,children:(0,y.jsx)(s.sG.span,{"data-state":q(n.checked),"data-disabled":n.disabled?"":void 0,...d,ref:t,style:{pointerEvents:"none",...e.style}})})});g.displayName=M;var w="CheckboxBubbleInput",C=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,...n}=e,{control:l,hasConsumerStoppedPropagationRef:c,checked:h,defaultChecked:p,required:k,disabled:u,name:f,value:b,form:v,bubbleInput:x,setBubbleInput:m}=A(w,a),M=(0,d.s)(t,m),g=(0,i.Z)(h),C=(0,o.X)(l);r.useEffect(()=>{if(!x)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(g!==h&&e){let a=new Event("click",{bubbles:t});x.indeterminate=j(h),e.call(x,!j(h)&&h),x.dispatchEvent(a)}},[x,g,h,c]);let q=r.useRef(!j(h)&&h);return(0,y.jsx)(s.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:q.current,required:k,disabled:u,name:f,value:b,form:v,...n,tabIndex:-1,ref:M,style:{...n.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function j(e){return"indeterminate"===e}function q(e){return j(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=w}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6239],{2986:(e,s,t)=>{t.d(s,{R:()=>N});var a=t(90508),n=t(1856),r=t(23675),l=t(39268),i=t(17730),c=t(78948),d=t(37915),o=t(62898),u=t(57893),x=t(60532),m=t(85226),h=t(22922),p=t(14554),f=t(81750),g=t(52217);let v=(0,g.createServerReference)("70f53da122c27dd0a56d3ad8b1b2e4a6e9c956822c",g.callServer,void 0,g.findSourceMapURL,"submitElaborationAnswersAction");var j=t(42305);let b="__other__",A={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function N(e){let{ideaUuid:s,elaboration:t,onRefresh:n}=e,i=(0,l.c)("elaboration"),c=(0,r.useRouter)();if(!t||0===t.rounds.length)return null;let{summary:d,rounds:o}=t;return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:i("title")}),(0,a.jsx)("span",{className:"text-xs font-medium text-[#C67A52]",children:i("answeredCounter",{answered:d.answeredQuestions,total:d.totalQuestions})})]}),(0,a.jsx)("div",{className:"space-y-2.5",children:o.map(e=>(0,a.jsx)(w,{round:e,ideaUuid:s,onAnswered:async()=>{await (null==n?void 0:n()),c.refresh()}},e.uuid))})]})}function w(e){let{round:s,ideaUuid:t,onAnswered:r}=e,d=(0,l.c)("elaboration"),o="pending_answers"===s.status,u="answered"===s.status||"validated"===s.status||"needs_followup"===s.status,[x,m]=(0,n.useState)(o);return(0,a.jsx)(f.Nt,{open:x,onOpenChange:m,children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-xl border border-[#E5E0D8] bg-white",children:[(0,a.jsx)(f.R6,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-[#FAF8F4] ".concat(x?"bg-[#F7F6F3] border-b border-[#E5E0D8]":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[x?(0,a.jsx)(i.A,{className:"h-4 w-4 text-[#6B6B6B]"}):(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ".concat(o?"bg-[#C67A52]":"bg-[#888780]"),children:s.roundNumber}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:d("roundLabel",{number:s.roundNumber})}),s.isAppended&&(0,a.jsx)("span",{className:"rounded bg-[#EDE7F6] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6]",children:d("appendedBadge")}),!x&&(0,a.jsxs)("span",{className:"text-xs text-[#9A9A9A]",children:["\xb7 ",d("questionCount",{count:s.questions.length})]})]}),u?(0,a.jsx)("span",{className:"rounded bg-[#E8F5E9] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32]",children:d("statusAnswered")}):(0,a.jsx)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-[10px] font-medium text-[#E65100]",children:d("pendingAnswers")})]})}),(0,a.jsx)(f.Ke,{children:o?(0,a.jsx)(y,{round:s,ideaUuid:t,onAnswered:r}):(0,a.jsx)(C,{round:s})})]})})}function C(e){let{round:s}=e,t=(0,l.c)("elaboration");return(0,a.jsx)("div",{className:"space-y-4 px-4 py-4",children:s.questions.map((e,n)=>{var r,l;let i=(null==(r=e.answer)?void 0:r.selectedOptionId)?e.options.find(s=>{var t;return s.id===(null==(t=e.answer)?void 0:t.selectedOptionId)}):null,c=(null==(l=e.answer)?void 0:l.customText)||(null==i?void 0:i.label)||t("noAnswer"),d=A[e.category]||e.category;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"text-xs leading-relaxed text-[#6B6B6B]",children:["Q: ",e.text]}),(0,a.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:t("category.".concat(d))})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-[#2C2C2C]",children:["A: ",c]}),n<s.questions.length-1&&(0,a.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA]"})]},e.uuid)})})}function y(e){var s,t,r;let{round:i,ideaUuid:f,onAnswered:g}=e,N=(0,l.c)("elaboration"),[w,C]=(0,n.useState)(0),y=(0,n.useRef)(w),[S,F]=(0,n.useState)("right"),[E,B]=(0,n.useState)({}),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)(null);(0,n.useEffect)(()=>{y.current=w},[w]);let U=(0,n.useCallback)((e,s)=>{F("left"===s?"right":"left"),C(e)},[]),M=i.questions,L=M[w],T=A[L.category]||L.category,q=(0,n.useCallback)((e,s)=>{if(B(t=>{var a;return{...t,[e]:{questionId:e,selectedOptionId:s===b?null:s,customText:s===b?(null==(a=t[e])?void 0:a.customText)||"":null}}}),s!==b){let e=Math.min(M.length-1,y.current+1);e!==y.current&&setTimeout(()=>U(e,"left"),200)}},[M.length,U]),_=(0,n.useCallback)((e,s)=>{B(t=>({...t,[e]:{...t[e],questionId:e,selectedOptionId:null,customText:s}}))},[]),P=M.filter(e=>e.required).every(e=>{let s=E[e.questionId];return!!s&&!!(s.selectedOptionId||s.customText&&s.customText.trim())}),z=async()=>{D(!0),R(null);let e=Object.values(E),s=await v(f,i.uuid,e);s.success?(await g(),D(!1)):(D(!1),R(s.error||N("submitFailed")))},O=(e=>{let s=E[e];return s?null===s.selectedOptionId&&null!==s.customText&&void 0!==s.customText?b:s.selectedOptionId||null:null})(L.questionId),$=O===b,J=w===M.length-1,K=!!(null!=(r=null==(s=E[L.questionId])?void 0:s.customText)?r:"").trim();return(0,a.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,a.jsxs)("div",{className:"right"===S?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsx)("div",{className:"flex-1 text-sm text-[#6B6B6B]",children:L.text}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsx)(h.$,{variant:"ghost",size:"icon",onClick:()=>U(w-1,"right"),disabled:0===w,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-4 w-4"})}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:N("navCounter",{current:w+1,total:M.length})}),(0,a.jsx)(h.$,{variant:"ghost",size:"icon",onClick:()=>U(w+1,"left"),disabled:w===M.length-1,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(c.A,{className:"h-4 w-4"})})]})]}),(0,a.jsxs)("div",{className:"mt-3",children:[L.options.map((e,s)=>{let t=O===e.id;return(0,a.jsxs)("div",{children:[(0,a.jsxs)(h.$,{variant:"ghost",onClick:()=>q(L.questionId,e.id),className:"flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ".concat(t?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[#E5E0D8] text-xs font-medium text-[#5F5E5A]",children:s+1}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-[#2C2C2A]",children:e.label}),e.description&&(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-[#9A9A9A]",children:e.description})]})]}),t&&(0,a.jsx)(o.A,{className:"mt-1 h-4 w-4 shrink-0 text-[#888780]"})]}),s<L.options.length-1&&(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"})]},e.id)}),(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"}),(0,a.jsxs)("div",{className:"flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ".concat($?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[#E5E0D8]",onClick:()=>q(L.questionId,b),children:(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#B4B2A9]"})}),$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.p,{type:"text",value:(null==(t=E[L.questionId])?void 0:t.customText)||"",onChange:e=>_(L.questionId,e.target.value),onKeyDown:e=>{if((0,j.P)(e)||"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),J||!K))return;let s=y.current+1;setTimeout(()=>U(s,"left"),200)},placeholder:N("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-[#2C2C2A] placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!J&&(0,a.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(J||!K)return;let e=y.current+1;setTimeout(()=>U(e,"left"),200)},disabled:!K,"aria-label":N("confirmAnswerAria"),className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(x.A,{className:"h-4 w-4"})})]}):(0,a.jsx)(h.$,{variant:"ghost",onClick:()=>q(L.questionId,b),className:"flex-1 justify-start text-left text-[13px] italic text-[#B4B2A9] h-auto p-0 hover:bg-transparent",children:N("somethingElse")})]})]})]},w),I&&(0,a.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:I}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[#C67A52]"}),N("category.".concat(T))]}),(0,a.jsx)(h.$,{onClick:z,disabled:!P||k,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px]",children:k?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),N("submitting")]}):N("submitAnswers")})]})]})}},11166:(e,s,t)=>{t.d(s,{o:()=>a});function a(e){let{ideaStatus:s,elaborationStatus:t,elaboration:a}=e;return!("elaborating"!==s||"resolved"===t||!a||0===a.rounds.length||a.rounds.some(e=>"pending_answers"===e.status))}},21985:(e,s,t)=>{t.d(s,{h:()=>w});var a=t(90508),n=t(1856),r=t(39268),l=t(23675),i=t(67587),c=t(85226),d=t(30825),o=t(60532),u=t(17475),x=t(22922),m=t(88064),h=t(97438),p=t(4365),f=t(17001),g=t(24377),v=t(52217);let j=(0,v.createServerReference)("00423656837d53af20d1cd96b1368bad35b5a06679",v.callServer,void 0,v.findSourceMapURL,"getProjectsAndGroupsAction"),b=(0,v.createServerReference)("60f31de57b050278cc31df8aaff8a7e74ec2299c3f",v.callServer,void 0,v.findSourceMapURL,"moveIdeaPreviewAction"),A=(0,v.createServerReference)("605aee24f55397387550bcc6d5f577568c83fff746",v.callServer,void 0,v.findSourceMapURL,"moveIdeaAction");var N=t(67712);function w(e){let{open:s,onOpenChange:t,ideaUuid:v,projectUuid:w,onMoved:C}=e,y=(0,r.c)("ideas"),S=(0,r.c)("common"),F=(0,l.useRouter)(),[E,B]=(0,n.useState)([]),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)(null),[U,M]=(0,n.useState)(!1),L=(()=>{if(!I)return null;for(let e of E){let s=e.projects.find(e=>e.uuid===I);if(s)return s.name}return null})(),[T,q]=(0,n.useState)(null),[_,P]=(0,n.useState)(!1),[z,O]=(0,n.useState)(null),[$,J]=(0,n.useState)(!1),[K,W]=(0,n.useState)(null),G=(0,n.useRef)(0),Q=(0,n.useCallback)(e=>{e&&e.addEventListener("wheel",e=>e.stopPropagation(),{passive:!0})},[]),V=(0,n.useCallback)(async()=>{R(null),q(null),O(null),W(null),D(!0);try{let e=await j();if(e.success){let{projects:s,groups:t}=e.data,a=s.filter(e=>e.uuid!==w).map(e=>({uuid:e.uuid,name:e.name,groupUuid:e.groupUuid})),n=new Map;for(let e of t)n.set(e.uuid,e.name);let r=new Map,l=[];for(let e of a)e.groupUuid&&n.has(e.groupUuid)?(r.has(e.groupUuid)||r.set(e.groupUuid,{uuid:e.groupUuid,name:n.get(e.groupUuid),projects:[]}),r.get(e.groupUuid).projects.push({uuid:e.uuid,name:e.name})):l.push({uuid:e.uuid,name:e.name});let i=[...r.values()];l.length>0&&i.push({uuid:"ungrouped",name:y("ungrouped"),projects:l}),B(i)}}catch(e){N.q.error("Failed to load projects for move dialog:",e),B([])}D(!1)},[w,y]);(0,n.useEffect)(()=>{s&&V()},[s,V]),(0,n.useEffect)(()=>{if(!I){q(null),O(null);return}let e=++G.current;P(!0),O(null),q(null),b(v,I).then(s=>{e===G.current&&(s.success?q(s.moved):O(s.error||y("moveDialog.error",{message:""})))}).catch(s=>{e===G.current&&(N.q.error("Failed to fetch move preview:",s),O(y("moveDialog.error",{message:s instanceof Error?s.message:String(s)})))}).finally(()=>{e===G.current&&P(!1)})},[I,v,y]);let H=async()=>{if(I&&T&&!$){J(!0),W(null);try{let e=await A(v,I);if(e.success){let s=e.moved;i.oR.success(y("moveDialog.successToast",{...s}),{action:{label:y("moveDialog.viewMovedIdea"),onClick:()=>{F.push("/projects/".concat(I,"/dashboard?panel=").concat(v,"&tab=overview"))}}}),t(!1),F.refresh(),C(s)}else W(y("moveDialog.error",{message:e.error||y("moveFailed")}))}catch(e){W(y("moveDialog.error",{message:e instanceof Error?e.message:y("moveFailed")}))}J(!1)}};return(0,a.jsx)(h.lG,{open:s,onOpenChange:t,children:(0,a.jsxs)(h.Cf,{children:[(0,a.jsxs)(h.c7,{children:[(0,a.jsx)(h.L3,{children:y("moveDialog.title")}),(0,a.jsx)(h.rr,{children:y("moveDialog.description")})]}),(0,a.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,a.jsx)(m.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-[#2C2C2C]",children:y("moveDialog.targetProjectLabel")}),k?(0,a.jsx)("div",{className:"flex items-center justify-center h-10 border border-[#E5E0D8] rounded-md",children:(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(f.AM,{open:U,onOpenChange:M,children:[(0,a.jsx)(f.Wv,{asChild:!0,children:(0,a.jsxs)(x.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":U,className:(0,g.cn)("w-full justify-between border-[#E5E0D8] font-normal",!L&&"text-[#9A9A9A]"),children:[null!=L?L:y("moveDialog.targetProjectPlaceholder"),(0,a.jsx)(d.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(f.hl,{ref:Q,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,a.jsxs)(p.uB,{children:[(0,a.jsx)(p.G7,{placeholder:y("moveDialog.searchProjects")}),(0,a.jsxs)(p.oI,{children:[(0,a.jsx)(p.xL,{children:y("noProjectsFound")}),E.map(e=>(0,a.jsx)(p.L$,{heading:e.name,children:e.projects.map(s=>(0,a.jsxs)(p.h_,{value:"".concat(s.name," ").concat(e.name),onSelect:()=>{R(s.uuid),M(!1)},children:[(0,a.jsx)(o.A,{className:(0,g.cn)("mr-2 h-4 w-4",I===s.uuid?"opacity-100":"opacity-0")}),s.name]},s.uuid))},e.uuid))]})]})})]}),I&&(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-[#E5E0D8] bg-[#FAF8F4] p-3 text-[13px] text-[#2C2C2C]",children:_?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[#6B6B6B]",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:y("moveDialog.previewLoading")})]}):z?(0,a.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,a.jsx)(u.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:z})]}):T?(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{children:y("moveDialog.previewSummary",{...T})}),(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:y("moveDialog.previewWarning")})]}):null}),K&&(0,a.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:K})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>t(!1),disabled:$,children:S("cancel")}),(0,a.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:H,disabled:!I||!T||$||_,children:$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("moving")]}):y("moveDialog.confirm")})]})]})})}},29767:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},53240:(e,s,t)=>{t.d(s,{J:()=>n});var a=t(52217);let n=(0,a.createServerReference)("40790b72c792d2c2fa46044fe0c82e0a49ee9ea155",a.callServer,void 0,a.findSourceMapURL,"updateIdeaAction")},57223:(e,s,t)=>{t.d(s,{E:()=>r});var a=t(90508),n=t(24377);function r(e){let{className:s,...t}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,n.cn)("bg-accent animate-pulse rounded-md",s),...t})}},60992:(e,s,t)=>{t.d(s,{z:()=>n});var a=t(52217);let n=(0,a.createServerReference)("40ce810a8ca47feb397612ce1c7ecbe14d1af7c174",a.callServer,void 0,a.findSourceMapURL,"getElaborationAction")},70113:(e,s,t)=>{t.d(s,{i:()=>y});var a=t(90508),n=t(1856),r=t(23675),l=t(39268),i=t(85226),c=t(5425),d=t(30028),o=t(94903),u=t(22922),x=t(17722),m=t(88064),h=t(41033),p=t(91846),f=t(78307),g=t(24900),v=t(52217);let j=(0,v.createServerReference)("00e25dcfd0973eb848c09d7467227c3a499831fc31",v.callServer,void 0,v.findSourceMapURL,"getPmAgentsAction"),b=(0,v.createServerReference)("40a91f711f02008a0d8f89a422d87331c355e51b5c",v.callServer,void 0,v.findSourceMapURL,"getAgentInstancesAction"),A=(0,v.createServerReference)("403c9443216a4f1eef9d6101ed01aff7b9140167fd",v.callServer,void 0,v.findSourceMapURL,"claimIdeaAction"),N=(0,v.createServerReference)("7026a06f628dca22015d61b394daf2d85b8b5b923c",v.callServer,void 0,v.findSourceMapURL,"claimIdeaToAgentAction"),w=(0,v.createServerReference)("60dab0269ee9248c8f083ea74c0edeb86627c626e5",v.callServer,void 0,v.findSourceMapURL,"claimIdeaToUserAction"),C=(0,v.createServerReference)("408a78aa45415e5b54f4a7437be793a4a713a88c33",v.callServer,void 0,v.findSourceMapURL,"releaseIdeaAction");function y(e){var s,t;let{idea:v,projectUuid:y,currentUserUuid:S,onClose:F}=e,E=(0,l.c)(),B=(0,r.useRouter)(),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)("self"),[U,M]=(0,n.useState)(""),[L,T]=(0,n.useState)(""),[q,_]=(0,n.useState)([]),[P,z]=(0,n.useState)([]),[O,$]=(0,n.useState)(!0),[J,K]=(0,n.useState)(null),[W,G]=(0,n.useState)([]),[Q,V]=(0,n.useState)(!1),[H,Z]=(0,n.useState)(null),X=!!v.assignee;(0,n.useEffect)(()=>{!async function(){$(!0);let e=await j();_(e.agents||[]),z((e.users||[]).filter(e=>e.uuid!==S)),$(!1)}()},[S]),(0,n.useEffect)(()=>{if("agent"!==I||!U){G([]),Z(null);return}let e=!1;return V(!0),Z(null),b(U).then(s=>{e||G((0,f.C)(s.instances))}).finally(()=>{e||V(!1)}),()=>{e=!0}},[I,U]);let Y=null!=(t=W.find(e=>e.connectionUuid===H))?t:null,ee=new Set(W.map(e=>e.host)).size>1,es=async()=>{let e;if(D(!0),K(null),"self"===I)e=await A(v.uuid);else if("agent"===I&&U){var s;e=await N(v.uuid,U,null!=(s=null==Y?void 0:Y.agentInstanceUuid)?s:void 0)}else if("user"===I&&L)e=await w(v.uuid,L);else{if("release"!==I)return void D(!1);e=await C(v.uuid)}D(!1),(null==e?void 0:e.success)?(B.refresh(),F()):(null==e?void 0:e.error)&&K(e.error)},et="self"===I||"agent"===I&&U||"user"===I&&L||"release"===I&&X;return(0,a.jsxs)(x._8,{open:!0,onOpenChange:e=>{e||F()},className:"bg-white sm:max-w-[400px]",header:(0,a.jsx)(x.AI,{className:"text-base font-semibold text-[#2C2C2C]",children:E("ideas.assignIdea")}),footer:(0,a.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:F,disabled:k,className:"border-[#E5E0D8]",children:E("common.cancel")}),(0,a.jsx)(u.$,{onClick:es,disabled:k||!et,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:k?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"release"===I?E("common.release"):function(){if("agent"!==I||!Y)return E("common.assign");let e=(0,g.kn)(Y.cwd),s=e.isUnknown?E(e.label):e.label,t=(0,g.g9)(Y.host),a=t.isUnknown?E(t.label):t.label;return ee?E("assignInstance.assignToWithHost",{path:s,host:a}):E("assignInstance.assignTo",{path:s})}()})]}),bodyClassName:"space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:v.title}),v.content&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:v.content})]}),X&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[E("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(s=v.assignee)?void 0:s.name})]})}),J&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,a.jsx)("p",{className:"text-xs text-[#D32F2F]",children:J})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:E("ideas.selectIdeaAssignee")}),O?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(h.z,{value:I,onValueChange:e=>R(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>R("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(h.C,{value:"self",id:"idea-self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.assignToMyselfIdeaDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>R("agent"),children:[(0,a.jsx)(h.C,{value:"agent",id:"idea-agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("ideas.orAssignToPmAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.onlySelectedPmAgentCanWork")}),"agent"===I&&(0,a.jsxs)("div",{className:"mt-3 ml-6 space-y-3",children:[(0,a.jsxs)(p.l6,{value:U,onValueChange:M,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:E("ideas.selectPmAgent")})}),(0,a.jsx)(p.gC,{className:"z-[120]",children:q.length>0?q.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:E("ideas.noPmAgentsAvailable")})})]}),U&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:E("assignInstance.workingDirectory")}),Q?(0,a.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-[#9A9A9A]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),E("assignInstance.loadingInstances")]}):0===W.length?(0,a.jsx)("p",{className:"rounded-lg bg-[#FAF8F4] p-2.5 text-[11px] leading-relaxed text-[#6B6B6B]",children:E("assignInstance.noInstances")}):(0,a.jsx)(f.O,{instances:W,selectedConnectionUuid:H,onSelect:e=>Z(e.connectionUuid),ariaLabel:E("assignInstance.workingDirectory")}),(0,a.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A8C7E]",children:[(0,a.jsx)(d.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,a.jsx)("span",{children:E("assignInstance.ideaPinNote")})]})]})]})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>R("user"),children:[(0,a.jsx)(h.C,{value:"user",id:"idea-user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.orAssignToUser")})]}),"user"===I&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(p.l6,{value:L,onValueChange:T,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:E("tasks.selectUser")})}),(0,a.jsx)(p.gC,{className:"z-[120]",children:P.length>0?P.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:E("tasks.noUsersAvailable")})})]})})]}),X&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>R("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(h.C,{value:"release",id:"idea-release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},72216:(e,s,t)=>{t.d(s,{x:()=>n});var a=t(52217);let n=(0,a.createServerReference)("400cda1396142e823c70236309129832b2bb93f1dd",a.callServer,void 0,a.findSourceMapURL,"getIdeaActivitiesAction")},76973:(e,s,t)=>{t.d(s,{Z:()=>n});var a=t(52217);let n=(0,a.createServerReference)("6047e5f9e0b0b8ab34e4ec087a5b7c646953446365",a.callServer,void 0,a.findSourceMapURL,"deleteIdeaAction")},78948:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},84247:(e,s,t)=>{t.d(s,{Separator:()=>l});var a=t(90508);t(1856);var n=t(5725),r=t(24377);function l(e){let{className:s,orientation:t="horizontal",decorative:l=!0,...i}=e;return(0,a.jsx)(n.b,{"data-slot":"separator",decorative:l,orientation:t,className:(0,r.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),...i})}},95745:(e,s,t)=>{t.d(s,{e:()=>n});var a=t(52217);let n=(0,a.createServerReference)("4068d7c2e443443c634efddd8eba7ba864eb9a1436",a.callServer,void 0,a.findSourceMapURL,"verifyElaborationAction")},95900:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}}]);