@chorus-aidlc/chorus 0.14.6 → 0.15.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 (613) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +448 -402
  3. package/.next/standalone/.next/app-path-routes-manifest.json +46 -41
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/.next/routes-manifest.json +16 -0
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
  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 +1 -1
  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 +1 -1
  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]/graph/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  51. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  56. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  58. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  59. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/admin.html +2 -2
  61. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  62. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js +1 -0
  91. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -0
  92. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -0
  93. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js +1 -0
  113. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -0
  114. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -0
  115. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js +1 -0
  116. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -0
  117. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -0
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -1
  163. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
  169. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  172. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  190. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  193. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js +1 -0
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -0
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -0
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js +1 -0
  231. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -0
  232. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -0
  233. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  238. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  246. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  255. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  258. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  259. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  260. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  261. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/index.html +2 -2
  267. package/.next/standalone/.next/server/app/index.rsc +2 -2
  268. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  269. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  270. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  271. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  273. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  274. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  277. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  278. package/.next/standalone/.next/server/app/login.html +2 -2
  279. package/.next/standalone/.next/server/app/login.rsc +2 -2
  280. package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
  281. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  284. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  285. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/projects.html +2 -2
  287. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  288. package/.next/standalone/.next/server/app/settings.html +2 -2
  289. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  290. package/.next/standalone/.next/server/app-paths-manifest.json +46 -41
  291. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  292. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  293. package/.next/standalone/.next/server/chunks/1524.js +1 -0
  294. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  295. package/.next/standalone/.next/server/chunks/1722.js +1 -0
  296. package/.next/standalone/.next/server/chunks/{2789.js → 2547.js} +3 -3
  297. package/.next/standalone/.next/server/chunks/2572.js +2 -0
  298. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  299. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  300. package/.next/standalone/.next/server/chunks/330.js +1 -0
  301. package/.next/standalone/.next/server/chunks/3525.js +1 -0
  302. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  303. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  304. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  305. package/.next/standalone/.next/server/chunks/6506.js +4 -4
  306. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  307. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  308. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  309. package/.next/standalone/.next/server/chunks/8454.js +1 -1
  310. package/.next/standalone/.next/server/chunks/8540.js +1 -1
  311. package/.next/standalone/.next/server/chunks/920.js +1 -1
  312. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  313. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  314. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  315. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  316. package/.next/standalone/.next/server/pages/404.html +2 -2
  317. package/.next/standalone/.next/server/pages/500.html +1 -1
  318. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  319. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  320. package/.next/standalone/.next/static/chunks/11595.f1e55e827d67f2bc.js +1 -0
  321. package/.next/standalone/.next/static/chunks/18351-12dc856208d79e10.js +1 -0
  322. package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +1 -0
  323. package/.next/standalone/.next/static/chunks/{33456.c48dc366aa90b234.js → 33456.4817cdce41593c7e.js} +1 -1
  324. package/.next/standalone/.next/static/chunks/37938-0b9a2b891c04b166.js +1 -0
  325. package/.next/standalone/.next/static/chunks/4340-a33120fb742af57e.js +1 -0
  326. package/.next/standalone/.next/static/chunks/4860.bb2749ebaf8eb15f.js +1 -0
  327. package/.next/standalone/.next/static/chunks/53402-be6989c3f3968e7b.js +1 -0
  328. package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +1 -0
  329. package/.next/standalone/.next/static/chunks/68326-61feeb2f6cddd338.js +1 -0
  330. package/.next/standalone/.next/static/chunks/72974-714dcca796895c40.js +1 -0
  331. package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +1 -0
  332. package/.next/standalone/.next/static/chunks/7777-13466138aa42bd5f.js +1 -0
  333. package/.next/standalone/.next/static/chunks/78917-f91904c6c2d12dab.js +1 -0
  334. package/.next/standalone/.next/static/chunks/80748-e971c5a5d6ef967d.js +1 -0
  335. package/.next/standalone/.next/static/chunks/94426-39b6da238425f9b7.js +10 -0
  336. package/.next/standalone/.next/static/chunks/94470-0c74a933d5a2902f.js +1 -0
  337. package/.next/standalone/.next/static/chunks/94643-ba1ebff5769d2b50.js +1 -0
  338. package/.next/standalone/.next/static/chunks/99373.ae03246bdf49c700.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-177a3fa88be94b4a.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-559ec0f534a12956.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-03b8510273520572.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-d6c226fd56b5ebb5.js → page-4a8ac49308a4e23b.js} +1 -1
  344. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-03408be00dc4822b.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-be353989e67e7b55.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-ebf4c28014025b7b.js → page-c70af8cac7bdc483.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-bbde7e85e3388813.js → page-715b000c156a080c.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-6df01fa989cca27b.js → page-7a5ef281f6819ed4.js} +1 -1
  349. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e786a59c24eb5bda.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-559ec0f534a12956.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-559ec0f534a12956.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-559ec0f534a12956.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-559ec0f534a12956.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-559ec0f534a12956.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-559ec0f534a12956.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/agents/route-559ec0f534a12956.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-559ec0f534a12956.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-559ec0f534a12956.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-559ec0f534a12956.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-559ec0f534a12956.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-559ec0f534a12956.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-559ec0f534a12956.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-559ec0f534a12956.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-559ec0f534a12956.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-559ec0f534a12956.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-559ec0f534a12956.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/comments/route-559ec0f534a12956.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-559ec0f534a12956.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-559ec0f534a12956.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/api/daemon/directory-request/report/route-559ec0f534a12956.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-559ec0f534a12956.js +1 -0
  373. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-559ec0f534a12956.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-559ec0f534a12956.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-559ec0f534a12956.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-559ec0f534a12956.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-559ec0f534a12956.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-559ec0f534a12956.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/[uuid]/route-559ec0f534a12956.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/route-559ec0f534a12956.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-559ec0f534a12956.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-559ec0f534a12956.js +1 -0
  383. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-559ec0f534a12956.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-559ec0f534a12956.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-559ec0f534a12956.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-559ec0f534a12956.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-559ec0f534a12956.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-559ec0f534a12956.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/events/route-559ec0f534a12956.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/health/route-559ec0f534a12956.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-559ec0f534a12956.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-559ec0f534a12956.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-559ec0f534a12956.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-559ec0f534a12956.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-559ec0f534a12956.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-559ec0f534a12956.js +1 -0
  397. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-559ec0f534a12956.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-559ec0f534a12956.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/mcp/route-559ec0f534a12956.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-559ec0f534a12956.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-559ec0f534a12956.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-559ec0f534a12956.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-559ec0f534a12956.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-559ec0f534a12956.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-559ec0f534a12956.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/notifications/route-559ec0f534a12956.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-559ec0f534a12956.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-559ec0f534a12956.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-559ec0f534a12956.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-559ec0f534a12956.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-559ec0f534a12956.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-559ec0f534a12956.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-559ec0f534a12956.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-559ec0f534a12956.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/agent-cwds/route-559ec0f534a12956.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-559ec0f534a12956.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-559ec0f534a12956.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-559ec0f534a12956.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-559ec0f534a12956.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-559ec0f534a12956.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-559ec0f534a12956.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-559ec0f534a12956.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-559ec0f534a12956.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-559ec0f534a12956.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-559ec0f534a12956.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-559ec0f534a12956.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-559ec0f534a12956.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-559ec0f534a12956.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/projects/agent-cwd-options/route-559ec0f534a12956.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/projects/route-559ec0f534a12956.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-559ec0f534a12956.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-559ec0f534a12956.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-559ec0f534a12956.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-559ec0f534a12956.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-559ec0f534a12956.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-559ec0f534a12956.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/references/route-559ec0f534a12956.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/search/route-559ec0f534a12956.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/session/route-559ec0f534a12956.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-559ec0f534a12956.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-559ec0f534a12956.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-559ec0f534a12956.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-559ec0f534a12956.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-559ec0f534a12956.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-559ec0f534a12956.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/onboarding/page-df7c97cefb508201.js +1 -0
  448. package/.next/standalone/.next/static/chunks/{webpack-af2cb28ef7bbd7c2.js → webpack-84e2db1b2418c974.js} +1 -1
  449. package/.next/standalone/.next/static/css/ef995b001437e3ef.css +1 -0
  450. package/.next/standalone/.next/static/oHZy43Le4b2I7pg7_cQ0Z/_buildManifest.js +1 -0
  451. package/.next/standalone/package.json +1 -1
  452. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  453. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  454. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  455. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  456. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  457. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  458. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  459. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  460. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  461. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  462. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  463. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  464. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  465. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  466. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  467. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  468. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  469. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  470. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  471. package/README.ja.md +2 -0
  472. package/README.ko.md +2 -0
  473. package/README.md +3 -0
  474. package/README.zh.md +2 -0
  475. package/cli/client-args.mjs +8 -0
  476. package/cli/codex-spawner.mjs +5 -5
  477. package/cli/control-handler.mjs +31 -2
  478. package/cli/daemon-config.mjs +35 -0
  479. package/cli/daemon-install-config.mjs +26 -0
  480. package/cli/daemon-rest-client.mjs +27 -2
  481. package/cli/daemon.mjs +110 -20
  482. package/cli/directory-discovery.mjs +184 -0
  483. package/cli/event-router.mjs +12 -4
  484. package/cli/turn-reporter.mjs +11 -3
  485. package/cli/waker.mjs +35 -8
  486. package/package.json +1 -1
  487. package/prisma/migrations/20260731093000_add_daemon_backend_session_id/migration.sql +1 -0
  488. package/prisma/migrations/20260801113000_add_project_agent_cwd_discovery/migration.sql +50 -0
  489. package/prisma/migrations/20260802140000_add_assignment_runtime_cwd_snapshot/migration.sql +7 -0
  490. package/prisma/schema.prisma +134 -60
  491. package/.next/standalone/.next/server/chunks/2004.js +0 -1
  492. package/.next/standalone/.next/server/chunks/2112.js +0 -1
  493. package/.next/standalone/.next/server/chunks/3219.js +0 -2
  494. package/.next/standalone/.next/static/chunks/11595.c580c5690d176cce.js +0 -1
  495. package/.next/standalone/.next/static/chunks/14160-7bcee6e9e8bc5233.js +0 -1
  496. package/.next/standalone/.next/static/chunks/15653-31c406c41bf58048.js +0 -1
  497. package/.next/standalone/.next/static/chunks/18351-2a408c4f57ddb3a7.js +0 -1
  498. package/.next/standalone/.next/static/chunks/24870-5b0be64361f5ef70.js +0 -1
  499. package/.next/standalone/.next/static/chunks/26232-110019cebde19691.js +0 -1
  500. package/.next/standalone/.next/static/chunks/33806-cb339e86820a87c4.js +0 -1
  501. package/.next/standalone/.next/static/chunks/37035-514bbb31cd13bda1.js +0 -1
  502. package/.next/standalone/.next/static/chunks/37938-c09acf52d7f85cb4.js +0 -1
  503. package/.next/standalone/.next/static/chunks/39479-5af3460208d8cc56.js +0 -1
  504. package/.next/standalone/.next/static/chunks/4860.baf6a285246198af.js +0 -1
  505. package/.next/standalone/.next/static/chunks/60178-d6276df1c07d7735.js +0 -10
  506. package/.next/standalone/.next/static/chunks/68326-924445654ed47e6f.js +0 -1
  507. package/.next/standalone/.next/static/chunks/78917-1498676a1ffe5ded.js +0 -1
  508. package/.next/standalone/.next/static/chunks/94470-1076452151689267.js +0 -1
  509. package/.next/standalone/.next/static/chunks/94643-7c7f2efab0640658.js +0 -1
  510. package/.next/standalone/.next/static/chunks/99373.ad871bd0bbfc5eb7.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-78259279cf6c6919.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2af5f2f159c8e32b.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-8cf720e8efb6ac7d.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-59dcf0ba7ce877ec.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-af35d50848f01875.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-cb6fdf592863833c.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e60bc39bf2957f77.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-8cf720e8efb6ac7d.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-8cf720e8efb6ac7d.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-8cf720e8efb6ac7d.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-8cf720e8efb6ac7d.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/agents/route-8cf720e8efb6ac7d.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-8cf720e8efb6ac7d.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-8cf720e8efb6ac7d.js +0 -1
  529. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-8cf720e8efb6ac7d.js +0 -1
  530. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-8cf720e8efb6ac7d.js +0 -1
  531. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-8cf720e8efb6ac7d.js +0 -1
  532. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-8cf720e8efb6ac7d.js +0 -1
  533. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-8cf720e8efb6ac7d.js +0 -1
  534. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-8cf720e8efb6ac7d.js +0 -1
  535. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-8cf720e8efb6ac7d.js +0 -1
  536. package/.next/standalone/.next/static/chunks/app/api/comments/route-8cf720e8efb6ac7d.js +0 -1
  537. package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-8cf720e8efb6ac7d.js +0 -1
  538. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-8cf720e8efb6ac7d.js +0 -1
  539. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-8cf720e8efb6ac7d.js +0 -1
  540. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-8cf720e8efb6ac7d.js +0 -1
  541. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-8cf720e8efb6ac7d.js +0 -1
  542. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-8cf720e8efb6ac7d.js +0 -1
  543. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-8cf720e8efb6ac7d.js +0 -1
  544. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-8cf720e8efb6ac7d.js +0 -1
  545. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-8cf720e8efb6ac7d.js +0 -1
  546. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-8cf720e8efb6ac7d.js +0 -1
  547. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-8cf720e8efb6ac7d.js +0 -1
  548. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-8cf720e8efb6ac7d.js +0 -1
  549. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-8cf720e8efb6ac7d.js +0 -1
  550. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-8cf720e8efb6ac7d.js +0 -1
  551. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  552. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-8cf720e8efb6ac7d.js +0 -1
  553. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-8cf720e8efb6ac7d.js +0 -1
  554. package/.next/standalone/.next/static/chunks/app/api/events/route-8cf720e8efb6ac7d.js +0 -1
  555. package/.next/standalone/.next/static/chunks/app/api/health/route-8cf720e8efb6ac7d.js +0 -1
  556. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
  557. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-8cf720e8efb6ac7d.js +0 -1
  558. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-8cf720e8efb6ac7d.js +0 -1
  559. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-8cf720e8efb6ac7d.js +0 -1
  560. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
  561. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  562. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-8cf720e8efb6ac7d.js +0 -1
  563. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-8cf720e8efb6ac7d.js +0 -1
  564. package/.next/standalone/.next/static/chunks/app/api/mcp/route-8cf720e8efb6ac7d.js +0 -1
  565. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-8cf720e8efb6ac7d.js +0 -1
  566. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-8cf720e8efb6ac7d.js +0 -1
  567. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-8cf720e8efb6ac7d.js +0 -1
  568. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-8cf720e8efb6ac7d.js +0 -1
  569. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-8cf720e8efb6ac7d.js +0 -1
  570. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-8cf720e8efb6ac7d.js +0 -1
  571. package/.next/standalone/.next/static/chunks/app/api/notifications/route-8cf720e8efb6ac7d.js +0 -1
  572. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-8cf720e8efb6ac7d.js +0 -1
  573. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-8cf720e8efb6ac7d.js +0 -1
  574. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  575. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-8cf720e8efb6ac7d.js +0 -1
  576. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-8cf720e8efb6ac7d.js +0 -1
  577. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-8cf720e8efb6ac7d.js +0 -1
  578. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-8cf720e8efb6ac7d.js +0 -1
  579. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-8cf720e8efb6ac7d.js +0 -1
  580. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-8cf720e8efb6ac7d.js +0 -1
  581. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-8cf720e8efb6ac7d.js +0 -1
  582. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-8cf720e8efb6ac7d.js +0 -1
  583. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-8cf720e8efb6ac7d.js +0 -1
  584. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-8cf720e8efb6ac7d.js +0 -1
  585. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-8cf720e8efb6ac7d.js +0 -1
  586. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-8cf720e8efb6ac7d.js +0 -1
  587. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-8cf720e8efb6ac7d.js +0 -1
  588. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-8cf720e8efb6ac7d.js +0 -1
  589. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  590. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-8cf720e8efb6ac7d.js +0 -1
  591. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-8cf720e8efb6ac7d.js +0 -1
  592. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-8cf720e8efb6ac7d.js +0 -1
  593. package/.next/standalone/.next/static/chunks/app/api/projects/route-8cf720e8efb6ac7d.js +0 -1
  594. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-8cf720e8efb6ac7d.js +0 -1
  595. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-8cf720e8efb6ac7d.js +0 -1
  596. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-8cf720e8efb6ac7d.js +0 -1
  597. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-8cf720e8efb6ac7d.js +0 -1
  598. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  599. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  600. package/.next/standalone/.next/static/chunks/app/api/references/route-8cf720e8efb6ac7d.js +0 -1
  601. package/.next/standalone/.next/static/chunks/app/api/search/route-8cf720e8efb6ac7d.js +0 -1
  602. package/.next/standalone/.next/static/chunks/app/api/session/route-8cf720e8efb6ac7d.js +0 -1
  603. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  604. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
  605. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-8cf720e8efb6ac7d.js +0 -1
  606. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-8cf720e8efb6ac7d.js +0 -1
  607. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
  608. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  609. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
  610. package/.next/standalone/.next/static/chunks/app/onboarding/page-006bf9e9d6a991f1.js +0 -1
  611. package/.next/standalone/.next/static/css/f46eab37c942ff33.css +0 -1
  612. package/.next/standalone/.next/static/t-ZaS6bNyv62NUlewVISp/_buildManifest.js +0 -1
  613. /package/.next/standalone/.next/static/{t-ZaS6bNyv62NUlewVISp → oHZy43Le4b2I7pg7_cQ0Z}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4340,75137],{1861:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},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"}]])},9111:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]])},9225:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]])},10263:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},11080:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},11426:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]])},11966:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},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"}]])},18789:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},20094:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]])},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"}]])},23217:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},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"}]])},25373:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},26260:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-lock",[["rect",{width:"8",height:"5",x:"14",y:"17",rx:"1",key:"19aais"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",key:"1w6v7t"}],["path",{d:"M20 17v-2a2 2 0 1 0-4 0v2",key:"pwaxnr"}]])},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"}]])},30044:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},32239:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},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"}]])},36557:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},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"}]])},48016:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]])},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"}]])},50609:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]])},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"}]])},57472:(e,t,a)=>{a.d(t,{A:()=>n});var r=a(12079),l=a(90508);function n(e){let{locale:t,...a}=e;if(!t)throw Error(void 0);return(0,l.jsx)(r.Dk,{locale:t,...a})}},57930:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},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"}]])},67103:(e,t,a)=>{a.d(t,{N:()=>v});var r=a(90508),l=a(1856),n=a(43827),d=a(66071),h=a(66506),i=a(95535),o=a(63605),c=a(8334);function s(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class y extends l.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,o.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,a=(0,o.s)(e)&&e.offsetWidth||0,r=(0,o.s)(e)&&e.offsetHeight||0,l=getComputedStyle(t),n=this.props.sizeRef.current;n.height=parseFloat(l.height),n.width=parseFloat(l.width),n.top=t.offsetTop,n.left=t.offsetLeft,n.right=a-n.width-n.left,n.bottom=r-n.height-n.top}return null}componentDidUpdate(){}render(){return this.props.children}}function p(e){var t,a;let{children:n,isPresent:d,anchorX:h,anchorY:i,root:o,pop:p}=e,u=(0,l.useId)(),k=(0,l.useRef)(null),m=(0,l.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:f}=(0,l.useContext)(c.Q),A=function(...e){return l.useCallback(function(...e){return t=>{let a=!1,r=e.map(e=>{let r=s(e,t);return a||"function"!=typeof r||(a=!0),r});if(a)return()=>{for(let t=0;t<r.length;t++){let a=r[t];"function"==typeof a?a():s(e[t],null)}}}}(...e),e)}(k,null!=(a=null==(t=n.props)?void 0:t.ref)?a:null==n?void 0:n.ref);return(0,l.useInsertionEffect)(()=>{let{width:e,height:t,top:a,left:r,right:l,bottom:n}=m.current;if(d||!1===p||!k.current||!e||!t)return;k.current.dataset.motionPopId=u;let c=document.createElement("style");f&&(c.nonce=f);let s=null!=o?o:document.head;return s.appendChild(c),c.sheet&&c.sheet.insertRule('\n [data-motion-pop-id="'.concat(u,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===h?"left: ".concat(r):"right: ".concat(l),"px !important;\n ").concat("bottom"===i?"bottom: ".concat(n):"top: ".concat(a),"px !important;\n }\n ")),()=>{var e;null==(e=k.current)||e.removeAttribute("data-motion-pop-id"),s.contains(c)&&s.removeChild(c)}},[d]),(0,r.jsx)(y,{isPresent:d,childRef:k,sizeRef:m,pop:p,children:!1===p?n:l.cloneElement(n,{ref:A})})}let u=e=>{let{children:t,initial:a,isPresent:n,onExitComplete:h,custom:o,presenceAffectsLayout:c,mode:s,anchorX:y,anchorY:u,root:m}=e,f=(0,d.M)(k),A=(0,l.useId)(),v=!0,x=(0,l.useMemo)(()=>(v=!1,{id:A,initial:a,isPresent:n,custom:o,onExitComplete:e=>{for(let t of(f.set(e,!0),f.values()))if(!t)return;h&&h()},register:e=>(f.set(e,!1),()=>f.delete(e))}),[n,f,h]);return c&&v&&(x={...x}),(0,l.useMemo)(()=>{f.forEach((e,t)=>f.set(t,!1))},[n]),l.useEffect(()=>{n||f.size||!h||h()},[n]),t=(0,r.jsx)(p,{pop:"popLayout"===s,isPresent:n,anchorX:y,anchorY:u,root:m,children:t}),(0,r.jsx)(i.t.Provider,{value:x,children:t})};function k(){return new Map}var m=a(99672);let f=e=>e.key||"";function A(e){let t=[];return l.Children.forEach(e,e=>{(0,l.isValidElement)(e)&&t.push(e)}),t}let v=e=>{let{children:t,custom:a,initial:i=!0,onExitComplete:o,presenceAffectsLayout:c=!0,mode:s="sync",propagate:y=!1,anchorX:p="left",anchorY:k="top",root:v}=e,[x,g]=(0,m.xQ)(y),M=(0,l.useMemo)(()=>A(t),[t]),w=y&&!x?[]:M.map(f),b=(0,l.useRef)(!0),j=(0,l.useRef)(M),z=(0,d.M)(()=>new Map),C=(0,l.useRef)(new Set),[q,E]=(0,l.useState)(M),[T,H]=(0,l.useState)(M);(0,h.E)(()=>{b.current=!1,j.current=M;for(let e=0;e<T.length;e++){let t=f(T[e]);w.includes(t)?(z.delete(t),C.current.delete(t)):!0!==z.get(t)&&z.set(t,!1)}},[T,w.length,w.join("-")]);let L=[];if(M!==q){let e=[...M];for(let t=0;t<T.length;t++){let a=T[t],r=f(a);w.includes(r)||(e.splice(t,0,a),L.push(a))}return"wait"===s&&L.length&&(e=L),H(A(e)),E(M),null}let{forceRender:V}=(0,l.useContext)(n.L);return(0,r.jsx)(r.Fragment,{children:T.map(e=>{let t=f(e),l=(!y||!!x)&&(M===T||w.includes(t));return(0,r.jsx)(u,{isPresent:l,initial:(!b.current||!!i)&&void 0,custom:a,presenceAffectsLayout:c,mode:s,root:v,onExitComplete:l?void 0:()=>{if(C.current.has(t)||!z.has(t))return;C.current.add(t),z.set(t,!0);let e=!0;z.forEach(t=>{t||(e=!1)}),e&&(null==V||V(),H(j.current),y&&(null==g||g()),o&&o())},anchorX:p,anchorY:k,children:e},t)})})}},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"}]])},70633:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},71388:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder",[["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"}]])},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"}]])},73748:(e,t,a)=>{a.d(t,{D:()=>c,N:()=>s});var r=a(1856),l=(e,t,a,r,l,n,d,h)=>{let i=document.documentElement,o=["light","dark"];function c(t){var a;(Array.isArray(e)?e:[e]).forEach(e=>{let a="class"===e,r=a&&n?l.map(e=>n[e]||e):l;a?(i.classList.remove(...r),i.classList.add(n&&n[t]?n[t]:t)):i.setAttribute(e,t)}),a=t,h&&o.includes(a)&&(i.style.colorScheme=a)}if(r)c(r);else try{let e=localStorage.getItem(t)||a,r=d&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(r)}catch(e){}},n=["light","dark"],d="(prefers-color-scheme: dark)",h="undefined"==typeof window,i=r.createContext(void 0),o={setTheme:e=>{},themes:[]},c=()=>{var e;return null!=(e=r.useContext(i))?e:o},s=e=>r.useContext(i)?r.createElement(r.Fragment,null,e.children):r.createElement(p,{...e}),y=["light","dark"],p=e=>{let{forcedTheme:t,disableTransitionOnChange:a=!1,enableSystem:l=!0,enableColorScheme:h=!0,storageKey:o="theme",themes:c=y,defaultTheme:s=l?"system":"light",attribute:p="data-theme",value:A,children:v,nonce:x,scriptProps:g}=e,[M,w]=r.useState(()=>k(o,s)),[b,j]=r.useState(()=>"system"===M?f():M),z=A?Object.values(A):c,C=r.useCallback(e=>{let t=e;if(!t)return;"system"===e&&l&&(t=f());let r=A?A[t]:t,d=a?m(x):null,i=document.documentElement,o=e=>{"class"===e?(i.classList.remove(...z),r&&i.classList.add(r)):e.startsWith("data-")&&(r?i.setAttribute(e,r):i.removeAttribute(e))};if(Array.isArray(p)?p.forEach(o):o(p),h){let e=n.includes(s)?s:null,a=n.includes(t)?t:e;i.style.colorScheme=a}null==d||d()},[x]),q=r.useCallback(e=>{let t="function"==typeof e?e(M):e;w(t);try{localStorage.setItem(o,t)}catch(e){}},[M]),E=r.useCallback(e=>{j(f(e)),"system"===M&&l&&!t&&C("system")},[M,t]);r.useEffect(()=>{let e=window.matchMedia(d);return e.addListener(E),E(e),()=>e.removeListener(E)},[E]),r.useEffect(()=>{let e=e=>{e.key===o&&(e.newValue?w(e.newValue):q(s))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[q]),r.useEffect(()=>{C(null!=t?t:M)},[t,M]);let T=r.useMemo(()=>({theme:M,setTheme:q,forcedTheme:t,resolvedTheme:"system"===M?b:M,themes:l?[...c,"system"]:c,systemTheme:l?b:void 0}),[M,q,t,b,l,c]);return r.createElement(i.Provider,{value:T},r.createElement(u,{forcedTheme:t,storageKey:o,attribute:p,enableSystem:l,enableColorScheme:h,defaultTheme:s,value:A,themes:c,nonce:x,scriptProps:g}),v)},u=r.memo(e=>{let{forcedTheme:t,storageKey:a,attribute:n,enableSystem:d,enableColorScheme:h,defaultTheme:i,value:o,themes:c,nonce:s,scriptProps:y}=e,p=JSON.stringify([n,a,i,t,c,o,d,h]).slice(1,-1);return r.createElement("script",{...y,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?s:"",dangerouslySetInnerHTML:{__html:"(".concat(l.toString(),")(").concat(p,")")}})}),k=(e,t)=>{let a;if(!h){try{a=localStorage.getItem(e)||void 0}catch(e){}return a||t}},m=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},f=e=>(e||(e=window.matchMedia(d)),e.matches?"dark":"light")},74957:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("text-cursor-input",[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]])},78948:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},79363:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]])},79834:(e,t,a)=>{a.r(t),a.d(t,{Content:()=>H,List:()=>E,Root:()=>q,Tabs:()=>v,TabsContent:()=>j,TabsList:()=>g,TabsTrigger:()=>w,Trigger:()=>T,createTabsScope:()=>k});var r=a(1856),l=a(33328),n=a(21032),d=a(94782),h=a(19900),i=a(93367),o=a(72599),c=a(66249),s=a(40577),y=a(90508),p="Tabs",[u,k]=(0,n.A)(p,[d.RG]),m=(0,d.RG)(),[f,A]=u(p),v=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,onValueChange:l,defaultValue:n,orientation:d="horizontal",dir:h,activationMode:u="automatic",...k}=e,m=(0,o.jH)(h),[A,v]=(0,c.i)({prop:r,onChange:l,defaultProp:null!=n?n:"",caller:p});return(0,y.jsx)(f,{scope:a,baseId:(0,s.B)(),value:A,onValueChange:v,orientation:d,dir:m,activationMode:u,children:(0,y.jsx)(i.sG.div,{dir:m,"data-orientation":d,...k,ref:t})})});v.displayName=p;var x="TabsList",g=r.forwardRef((e,t)=>{let{__scopeTabs:a,loop:r=!0,...l}=e,n=A(x,a),h=m(a);return(0,y.jsx)(d.bL,{asChild:!0,...h,orientation:n.orientation,dir:n.dir,loop:r,children:(0,y.jsx)(i.sG.div,{role:"tablist","aria-orientation":n.orientation,...l,ref:t})})});g.displayName=x;var M="TabsTrigger",w=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,disabled:n=!1,...h}=e,o=A(M,a),c=m(a),s=z(o.baseId,r),p=C(o.baseId,r),u=r===o.value;return(0,y.jsx)(d.q7,{asChild:!0,...c,focusable:!n,active:u,children:(0,y.jsx)(i.sG.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":p,"data-state":u?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:s,...h,ref:t,onMouseDown:(0,l.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():o.onValueChange(r)}),onKeyDown:(0,l.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&o.onValueChange(r)}),onFocus:(0,l.mK)(e.onFocus,()=>{let e="manual"!==o.activationMode;u||n||!e||o.onValueChange(r)})})})});w.displayName=M;var b="TabsContent",j=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:l,forceMount:n,children:d,...o}=e,c=A(b,a),s=z(c.baseId,l),p=C(c.baseId,l),u=l===c.value,k=r.useRef(u);return r.useEffect(()=>{let e=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(h.C,{present:n||u,children:a=>{let{present:r}=a;return(0,y.jsx)(i.sG.div,{"data-state":u?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:k.current?"0s":void 0},children:r&&d})}})});function z(e,t){return"".concat(e,"-trigger-").concat(t)}function C(e,t){return"".concat(e,"-content-").concat(t)}j.displayName=b;var q=v,E=g,T=w,H=j},81149:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},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"}]])},86589:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},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"}]])},90031:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]])},90683:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]])},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"}]])},94310:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]])},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"}]])},95886:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},97645:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])}}]);
@@ -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":"确定要删除吗?"},"theme":{"toggleLabel":"主题","light":"浅色","dark":"深色","system":"跟随系统"},"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":"任务","graph":"图谱","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":"永久删除此项目及其所有数据,此操作无法撤销。","agentCwds":{"title":"Agent 工作目录","description":"为此项目中的每个 Agent 固定主机和目录。","loading":"正在加载工作目录...","loadFailed":"无法加载工作目录。","empty":"暂无可用 Agent。","emptyOnline":"暂无在线 Agent。","notConfigured":"每次操作临时选择目录","configure":"配置工作目录","replace":"替换工作目录","clear":"清除固定工作目录","save":"保存固定目录","createFailed":"Agent 工作目录保存失败,项目未创建。","status":{"valid":"可用","offline":"主机离线","invalid":"目录不可用"}}},"fixedCwdAnchor":{"title":"固定工作目录","host":"主机","cwd":"目录","status":"状态","unknown":"未知","manage":"在项目设置中管理","availability":{"ready":"可用","offline":"主机离线","invalid":"目录不可用"}},"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":"保存更改","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":"该文档已不存在。"},"references":{"title":"参考资料","empty":"链接官方文档、参考实现或 issue 讨论,为它提供佐证。","loading":"加载参考资料中...","add":"添加","addReference":"添加参考资料","editReference":"编辑参考资料","deleteReference":"删除参考资料","deleteConfirm":"此操作将永久删除参考资料「{title}」,无法恢复。","typeLabel":"类型","typeDocs":"文档","typeRepo":"代码仓库","typeIssuePr":"Issue / PR","typePaperBlog":"论文 / 博客","urlLabel":"链接","urlPlaceholder":"https://example.com/...","urlRequired":"链接不能为空","titleLabel":"标题","titlePlaceholder":"输入简短的标题","titleRequired":"标题不能为空","notesLabel":"备注","notesPlaceholder":"可选的摘要或相关性说明","addFailed":"添加参考资料失败","updateFailed":"更新参考资料失败","deleteFailed":"删除参考资料失败","countLabel":"{count, plural, other {# 条参考资料}}","toggleNotes":"显示完整说明"},"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":"请提供跳过原因","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"startDevelopment":{"button":"开始开发","starting":"启动中...","startedHint":"开发已启动 —— agent 正在执行剩余任务","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再开始开发。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再开始开发。","errorFixedCwdHostOffline":"该项目固定工作目录所在的主机当前离线,请等该主机重新连接后再开始开发。","errorNoApprovedProposal":"该 idea 还没有已批准的 proposal","errorNoUnfinishedTasks":"所有任务都已完成","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"开始开发失败"},"yolo":{"button":"Yolo","cancel":"取消","confirmTitle":"对这个 idea 执行 Yolo?","confirmDescription":"Yolo 会唤醒被分配的 agent,按 yolo skill 全自动把这个 idea 推进到完成 —— 需求澄清、方案、执行、验收。未经你确认不会合并或推送 PR。是否继续?","confirmCta":"执行 Yolo","starting":"启动中...","startedHint":"Yolo 已启动 —— agent 正在推进这个 idea 到完成","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再执行 Yolo。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再执行 Yolo。","errorFixedCwdHostOffline":"该项目固定工作目录所在的主机当前离线,请等该主机重新连接后再执行 Yolo。","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"启动 Yolo 失败"},"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","kiro":"Kiro","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\\"。"},"kiro":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,Kiro CLI 会在启动时读取这两个变量。","step2Title":"第 2 步:运行 Kiro 安装脚本","step2Tip":"默认全局安装到 ~/.kiro/,Chorus 在任意目录下均可用。若只想安装到当前项目目录下的 .kiro/,请追加参数:bash -s -- --workspace。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Kiro CLI 并激活 /chorus-idea 技能,或直接以 Chorus agent 启动:kiro-cli --agent 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":"派生想法失败","container":"主题","containerDescription":"主题用于归拢一组相关的子想法、确立共同方向。它可以细化,但真正的交付发生在你从它派生的子想法里——主题本身不写提案。","containerBadge":"主题","typeIdea":"想法","typeTheme":"主题","makeContainer":"设为主题","containerHint":"主题通过派生子想法向前推进。","childrenDone":"{done}/{total} 已完成"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节...","modeForm":"填写表单","modeConversation":"对智能体描述","modeConversationOfflineHint":"对智能体描述需要一个在线的守护进程。","decompose":"帮我拆解为子想法","decomposeHint":"创建一个主题,并让智能体提出候选子想法供你确认。"},"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","clientCodex":"Codex","clientKiro":"Kiro","clientUnknown":"未知客户端","uptimeMonoDays":"{days}天 {time}","mobileBack":"返回连接列表","selectPrompt":"选择一个连接以查看详情。","execTitle":"执行状态","execRunning":"正在运行","execQueued":"排队中","execInterrupted":"已打断","execInterruptedUser":"已打断","execInterruptedCrash":"已崩溃","execCrashExited":"异常退出","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}","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":"运行中","turnStatusInterrupted":"已中断","turnStatusEnded":"已结束","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","usageBadgeLabel":"{total} tok","usageBadgeAria":"Token 消耗:{total} tokens(输入 + 输出)","usageInput":"输入","usageOutput":"输出","usageCacheRead":"缓存读取","usageCacheWrite":"缓存写入","usageModel":"模型","conversationUsageAria":"对话 Token 消耗:{total} tokens(输入 + 输出)","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","turnEndedNoReply":"本回合未收到 agent 的回复。","turnRelayFailed":"agent 已回复,但回复未能上传到 Chorus:","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":"空闲 — 没有正在运行或排队的工作。","openChat":"打开会话","openPixelWorkspace":"打开像素工作区","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":"主机"},"conversationalEntry":{"noOnlineDaemon":"当前没有在线的智能体守护进程。启动一个即可用对话方式描述你的想法:","agentLabel":"智能体","agentPlaceholder":"选择智能体","instanceLabel":"工作目录","pickAgentFirst":"先选择一个智能体,查看它在线的工作目录。","placeholder":"描述你想做什么——接下来交给智能体…","charCounter":"{count} / {max}","connectionWentOffline":"该守护进程刚刚离线了。请换一个实例后重试。","sendError":"无法联系到智能体,请重试。","send":"发送给智能体","retry":"重试"},"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":"没有在线实例"},"wakeCwdPicker":{"title":"选择要运行的工作目录","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。请选择要固定并唤醒的实例。","confirm":"固定并继续","cancel":"取消","browseAnother":"浏览其他目录","registeredDirectories":"已注册目录","useOnce":"仅用于本次操作"},"directoryBrowser":{"chooseHost":"选择主机","unknownHost":"未知主机","chooseDirectorySource":"选择工作目录来源","daemonCwd":"Daemon 当前工作目录","configuredCwd":"Daemon 配置目录","customCwd":"此主机上的其他目录","pathPrefix":"目录路径前缀","pathPlaceholder":"/home/user/project","browseRoot":"浏览根目录","loadingRoots":"正在加载允许的根目录…","loadingCandidates":"正在加载目录建议","parent":"返回上一级目录","browse":"浏览目录","noHosts":"此 Agent 暂无在线主机。","empty":"没有匹配的目录。","selection":"已选目录","errors":{"HOST_OFFLINE":"所选主机已离线,请选择其他主机。","TIMEOUT":"主机未响应,请重试。","INVALID_PATH":"请输入有效的绝对路径。","OUTSIDE_ROOT":"该路径不在主机允许浏览的根目录内。","NOT_DIRECTORY":"所选路径不是目录。","ACCESS_DENIED":"Daemon 无法访问该目录。","STALE_TARGET":"选择已失效,请重新浏览并选择。","LIMIT_EXCEEDED":"匹配项过多,请输入更具体的前缀。","INTERNAL_ERROR":"无法加载目录,请重试。"}},"graph":{"title":"图谱","subtitle":"本项目想法、提案、任务与文档的思维导图。","emptyTitle":"暂时没有可绘制的内容","emptyDesc":"当本项目出现想法、提案、任务或文档后,它们将以相互连接的思维导图展现在这里。","loading":"正在加载图谱…","loadFailed":"无法加载项目图谱。","expandAll":"全部展开","collapseAll":"全部收起","filters":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"nodeType":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"edgeKind":{"derive":"派生","lineage":"脉络","depends":"依赖"},"controls":{"open":"显示图谱控制面板","close":"隐藏图谱控制面板"},"search":{"placeholder":"搜索节点…","clear":"清除搜索","noMatches":"无匹配结果","count":"{current} / {total}","prev":"上一个匹配","next":"下一个匹配"},"tooltip":{"loading":"加载中…"},"zoom":{"in":"放大","out":"缩小","fit":"适应视图"},"status":{"unknown":"未知"}},"quickAccess":{"title":"最近项目","pin":"置顶","unpin":"取消置顶","pinProject":"置顶 {name}","unpinProject":"取消置顶 {name}","pinToSidebar":"置顶到侧边栏","removeFromRecent":"从最近移除","moreActions":"{name} 的更多操作"}}')}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[53402],{14554:(e,t,n)=>{n.d(t,{p:()=>o});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,type:n,...o}=e;return(0,r.jsx)("input",{type:n,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...o})}},15972:(e,t,n)=>{n.d(t,{T:()=>o});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...n})}},22922:(e,t,n)=>{n.d(t,{$:()=>l});var r=n(90508);n(1856);var a=n(49499),o=n(54154),s=n(24377);let i=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:n="default",size:a="default",asChild:l=!1,...c}=e,u=l?o.bL:"button";return(0,r.jsx)(u,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,s.cn)(i({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30509:(e,t,n)=>{n.d(t,{HB:()=>a,JK:()=>i,XQ:()=>s,bN:()=>l,vh:()=>o});var r=n(14655);function a(e){let t=function(e){let t=window.location.origin,n=new r.O({store:window.localStorage});return{authority:e.issuer,client_id:e.clientId,redirect_uri:"".concat(t,"/login/callback"),post_logout_redirect_uri:"".concat(t,"/login"),response_type:"code",scope:"openid profile email",automaticSilentRenew:!1,userStore:n,extraQueryParams:{company:e.companyUuid}}}(e);return new r.$5(t)}function o(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function s(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function i(){localStorage.removeItem("oidc_config")}function l(e){return{sub:e.profile.sub,email:e.profile.email,name:e.profile.name,picture:e.profile.picture,accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_at,idToken:e.id_token}}},41837:(e,t,n)=>{n.d(t,{e:()=>b});var r=n(90508),a=n(1856),o=n(39268),s=n(48016),i=n(74957),l=n(85226),c=n(89967),u=n(71388),d=n(22922),f=n(14554),m=n(42305);let g=new Set(["HOST_OFFLINE","TIMEOUT","INVALID_PATH","OUTSIDE_ROOT","NOT_DIRECTORY","ACCESS_DENIED","STALE_TARGET","LIMIT_EXCEEDED","INTERNAL_ERROR"]);function p(e){if(e instanceof DOMException&&"AbortError"===e.name)return"ABORTED";let t=e instanceof Error?e.message:"INTERNAL_ERROR";return g.has(t)?t:"INTERNAL_ERROR"}function x(e){return e.includes("\\")&&!e.includes("/")?"\\":"/"}function h(e){let t=x(e);return e.endsWith(t)?e:"".concat(e).concat(t)}async function v(e,t){var n,r,a,o,s;let i=await fetch("/api/daemon-directory-requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t}),l=await i.json();if(!i.ok||!l.success)throw Error(null!=(r=null==(n=l.error)?void 0:n.code)?r:"INTERNAL_ERROR");let c=l.data.request;for(;"pending"===c.status;){await function(e,t){return new Promise((t,n)=>{let r=setTimeout(t,300);e.addEventListener("abort",()=>{clearTimeout(r),n(new DOMException("Aborted","AbortError"))},{once:!0})})}(t,0);let e=await fetch("/api/daemon-directory-requests/".concat(encodeURIComponent(c.uuid)),{signal:t}),n=await e.json();if(!e.ok||!n.success)throw Error(null!=(o=null==(a=n.error)?void 0:a.code)?o:"INTERNAL_ERROR");c=n.data.request}if("success"!==c.status)throw Error(null!=(s=c.errorCode)?s:"INTERNAL_ERROR");return c}function b(e){let{agentUuid:t,instances:n,onValidated:g,confirmLabel:b}=e,y=(0,o.c)("directoryBrowser"),w=(0,a.useMemo)(()=>Array.from(new Map(n.map(e=>[e.host,e])).values()),[n]),[N,j]=(0,a.useState)(1===w.length?w[0]:null),[k,E]=(0,a.useState)([]),[R,_]=(0,a.useState)(""),[T,A]=(0,a.useState)("custom"),[C,z]=(0,a.useState)(null),[S,O]=(0,a.useState)(!1),[I,U]=(0,a.useState)(""),[D,P]=(0,a.useState)(""),[L,B]=(0,a.useState)([]),[M,$]=(0,a.useState)(-1),[H,J]=(0,a.useState)(!1),[W,q]=(0,a.useState)(""),[F,K]=(0,a.useState)(null),[Q,V]=(0,a.useState)(null),X=(0,a.useRef)(0),G=(0,a.useRef)(0),Z=(0,a.useRef)(0),Y=(0,a.useRef)(null),ee=(0,a.useRef)(null),et=(0,a.useRef)(null);(0,a.useEffect)(()=>{var e,t;H&&!(M<0)&&(null==(t=document.getElementById("directory-candidate-".concat(M)))||null==(e=t.scrollIntoView)||e.call(t,{block:"nearest"}))},[M,H]);let en=()=>{var e;G.current+=1,null==(e=ee.current)||e.abort(),B([]),$(-1),J(!1),q("")},er=()=>{var e;Z.current+=1,null==(e=et.current)||e.abort(),K(e=>"validate"===e?null:e)};(0,a.useEffect)(()=>{var e;if(X.current+=1,null==(e=Y.current)||e.abort(),er(),en(),E([]),_(""),A("custom"),z(null),O(!1),U(""),P(""),V(null),!N)return void K(null);let n=X.current,r=N.connectionUuid,a=new AbortController;return Y.current=a,K("roots"),v({operation:"roots",agentUuid:t,targetConnectionUuid:r},a.signal).then(e=>{var t;if(n!==X.current||r!==N.connectionUuid)return;let a=null==(t=e.result)?void 0:t.roots;if(!Array.isArray(a)||0===a.length)throw Error("INTERNAL_ERROR");E(a),_(a[0]),O(!1),U(h(a[0]))}).catch(e=>{"ABORTED"!==p(e)&&n===X.current&&(O(!0),V(null))}).finally(()=>{n===X.current&&K(null)}),()=>a.abort()},[t,N]);let ea=R?function(e,t){var n;let r=x(t),a=h(t);if(e===t||e===a)return"";if(!e.startsWith(a))return null;let o=e.slice(a.length);return o.endsWith(r)?"":null!=(n=o.split(r).at(-1))?n:""}(I,R):null;(0,a.useEffect)(()=>{var e;G.current+=1,null==(e=ee.current)||e.abort();let n=G.current;if(B([]),$(-1),J(!1),q(""),!N||!R||null===ea||0===ea.length)return void K(e=>"browse"===e?null:e);let r=N.connectionUuid,a=new AbortController;ee.current=a;let o=setTimeout(()=>{K("browse"),V(null),v({operation:"list",agentUuid:t,targetConnectionUuid:r,prefix:I},a.signal).then(e=>{var t;if(n!==G.current||r!==N.connectionUuid||R!=R||I!=I)return;let a=Array.isArray(null==(t=e.result)?void 0:t.items)?e.result.items:[];B(a),$(a.length>0?0:-1),J(a.length>0),q(I)}).catch(e=>{let t=p(e);"ABORTED"!==t&&n===G.current&&(V(t),q(I))}).finally(()=>{n===G.current&&K(null)})},250);return()=>{clearTimeout(o),a.abort()}},[t,N,ea,I,R]),(0,a.useEffect)(()=>()=>{var e,t,n;null==(e=Y.current)||e.abort(),null==(t=ee.current)||t.abort(),null==(n=et.current)||n.abort()},[]);let eo=e=>{er(),en(),P(e.path),U(h(e.path)),V(null)},es=async()=>{var e,n;let r=null!=C?C:N;if(!r||!D)return;Z.current+=1,null==(e=et.current)||e.abort();let a=Z.current,o=new AbortController;et.current=o,K("validate"),V(null);try{let e=await v({operation:"validate",agentUuid:t,targetConnectionUuid:r.connectionUuid,cwd:D},o.signal),s="string"==typeof(null==(n=e.result)?void 0:n.normalizedPath)?e.result.normalizedPath:D;if(a!==Z.current)return;await g({agentUuid:t,connectionUuid:r.connectionUuid,host:r.host,cwd:s,validationRequestUuid:e.uuid})}catch(t){let e=p(t);"ABORTED"!==e&&a===Z.current&&V(e)}finally{a===Z.current&&K(null)}};return 0===w.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:y("noHosts")}):(0,r.jsxs)("div",{className:"flex min-w-0 flex-col gap-3",children:[(0,r.jsx)("div",{className:"flex flex-wrap gap-2","aria-label":y("chooseHost"),children:w.map(e=>(0,r.jsx)(d.$,{type:"button",size:"sm",variant:(null==N?void 0:N.connectionUuid)===e.connectionUuid?"default":"outline",className:"h-11 max-w-full sm:h-8",onClick:()=>{er(),A("custom"),z(null),j(e)},children:(0,r.jsx)("span",{className:"truncate",children:e.host||y("unknownHost")})},e.connectionUuid))}),N&&(0,r.jsxs)(r.Fragment,{children:[(()=>{let e=n.filter(e=>e.host===N.host&&e.cwd);return(0,r.jsxs)("div",{className:"grid min-w-0 grid-cols-1 gap-2",role:"group","aria-label":y("chooseDirectorySource"),children:[e.map(e=>(0,r.jsxs)(d.$,{type:"button",variant:"configured"===T&&(null==C?void 0:C.connectionUuid)===e.connectionUuid?"default":"outline",className:"h-auto min-w-0 justify-start px-3 py-2 text-left",onClick:()=>{var t;er(),en(),A("configured"),z(e),P(null!=(t=e.cwd)?t:""),V(null)},children:[(0,r.jsx)(s.A,{className:"mr-2 size-4 shrink-0"}),(0,r.jsxs)("span",{className:"min-w-0",children:[(0,r.jsx)("span",{className:"block text-xs font-medium",children:y("configuredCwd")}),(0,r.jsx)("span",{className:"block truncate font-mono text-[10px] opacity-75",children:e.cwd})]})]},e.connectionUuid)),(0,r.jsxs)(d.$,{type:"button",variant:"custom"===T?"default":"outline",className:"h-auto min-w-0 justify-start px-3 py-2 text-left",onClick:()=>{er(),A("custom"),z(null),P(""),U(R?h(R):""),V(null)},children:[(0,r.jsx)(i.A,{className:"mr-2 size-4 shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-medium",children:y("customCwd")})]})]})})(),"roots"===F&&(0,r.jsxs)("p",{role:"status",className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,r.jsx)(l.A,{className:"size-3.5 animate-spin"}),y("loadingRoots")]}),"custom"===T&&k.length>1&&(0,r.jsxs)("label",{className:"flex min-w-0 flex-col gap-1 text-xs font-medium",children:[y("browseRoot"),(0,r.jsx)("select",{"aria-label":y("browseRoot"),value:R,className:"h-11 min-w-0 rounded-md border border-input bg-background px-3 font-mono text-xs sm:h-9",onChange:e=>{er(),en(),_(e.target.value),U(h(e.target.value)),P(""),V(null)},children:k.map(e=>(0,r.jsx)("option",{value:e,children:e},e))})]}),"custom"===T&&(R||S)&&(0,r.jsxs)("div",{className:"flex min-w-0 gap-2",children:[(0,r.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,r.jsx)(f.p,{role:"combobox","aria-label":y("pathPrefix"),"aria-autocomplete":S?"none":"list","aria-expanded":H,"aria-controls":S?void 0:"directory-candidates","aria-activedescendant":H&&M>=0?"directory-candidate-".concat(M):void 0,value:I,onChange:e=>{er(),U(e.target.value),P(S?e.target.value.trim():""),V(null)},onKeyDown:e=>{if(!(0,m.P)(e)){if("Escape"===e.key&&H){e.preventDefault(),J(!1);return}if(0!==L.length&&H){if("ArrowDown"===e.key||"ArrowUp"===e.key){e.preventDefault();let t="ArrowDown"===e.key?1:-1;$(e=>(e+t+L.length)%L.length);return}("Tab"===e.key||"Enter"===e.key)&&M>=0&&(e.preventDefault(),eo(L[M]))}}},placeholder:y("pathPlaceholder"),className:"h-11 min-w-0 pr-9 font-mono text-xs sm:h-9"}),"browse"===F&&(0,r.jsx)(l.A,{"aria-label":y("loadingCandidates"),className:"absolute right-3 top-2.5 size-4 animate-spin text-muted-foreground"})]}),!S&&(0,r.jsx)(d.$,{type:"button",size:"icon",variant:"outline",className:"size-11 sm:size-9",disabled:I===R,onClick:()=>{er();let e=function(e,t){let n=x(t),r=t.endsWith(n)&&t.length>1?t.slice(0,-1):t,a=e.endsWith(n)&&e.length>r.length?e.slice(0,-1):e,o=a.slice(0,a.lastIndexOf(n));return!o||o.length<r.length?r:o.startsWith(h(r))?o:r}(I,R);en(),U(h(e)),P(e),V(null)},"aria-label":y("parent"),title:y("parent"),children:(0,r.jsx)(c.A,{className:"size-4"})})]}),"custom"===T&&H&&L.length>0&&(0,r.jsx)("div",{id:"directory-candidates",role:"listbox",className:"max-h-40 overflow-y-auto rounded-md border border-border p-1",children:L.map((e,t)=>(0,r.jsxs)("button",{id:"directory-candidate-".concat(t),type:"button",role:"option","aria-selected":t===M,className:"flex min-h-11 w-full min-w-0 items-center gap-2 rounded px-2 py-2 text-left text-xs hover:bg-muted aria-selected:bg-muted",onMouseDown:e=>e.preventDefault(),onClick:()=>eo(e),children:[(0,r.jsx)(u.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"min-w-0 break-all font-mono",children:e.path})]},e.path))}),"custom"===T&&W===I&&0===L.length&&null===F&&!Q&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:y("empty")}),D&&(0,r.jsxs)("div",{className:"min-w-0 rounded-md border border-border bg-muted/30 p-3",children:[(0,r.jsx)("p",{className:"text-[11px] font-medium text-muted-foreground",children:y("selection")}),(0,r.jsx)("p",{className:"mt-1 break-all font-mono text-xs",children:D}),(0,r.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:(null!=C?C:N).host})]}),Q&&(0,r.jsx)("p",{role:"alert",className:"text-xs text-destructive",children:y("errors.".concat(Q))}),(0,r.jsxs)(d.$,{type:"button",size:"sm",className:"h-11 w-fit sm:h-8",disabled:!D||null!==F,onClick:()=>void es(),children:["validate"===F&&(0,r.jsx)(l.A,{className:"mr-2 size-4 animate-spin"}),b]})]})]})}},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},48416:(e,t,n)=>{n.d(t,{BT:()=>l,Wu:()=>c,ZB:()=>i,Zp:()=>o,aR:()=>s});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},62990:(e,t,n)=>{n.d(t,{IT:()=>c,cC:()=>d,hj:()=>s,ri:()=>f,tm:()=>u,w9:()=>i});var r=n(30509);let a=null;function o(){if(!a){let e=(0,r.XQ)();e&&(a=(0,r.HB)(e))}return a}function s(e){return(0,r.vh)(e),a=(0,r.HB)(e)}function i(){a=null}async function l(){let e=o();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function c(){let e=await l();if(!(null==e?void 0:e.refresh_token)||!e.access_token)return!1;try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e.access_token,refreshToken:e.refresh_token})})).ok}catch(e){return!1}}async function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return fetch(e,{...t,credentials:"same-origin"})}async function d(){let e=o();if(e)try{await e.removeUser()}catch(e){}i(),(0,r.JK)()}async function f(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=o();if(e)try{await e.removeUser()}catch(e){}i(),(0,r.JK)()}},91814:(e,t,n)=>{n.d(t,{r:()=>o});var r=n(27290),a=n(1856);function o(){let e=(0,r.r)({delay:120});return(0,a.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},97438:(e,t,n)=>{n.d(t,{Cf:()=>f,Es:()=>g,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>x,zM:()=>c});var r=n(90508);n(1856);var a=n(9160),o=n(71350),s=n(24377),i=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(o.Root,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,r.jsx)(o.Trigger,{"data-slot":"dialog-trigger",...t})}function u(e){let{...t}=e;return(0,r.jsx)(o.Portal,{"data-slot":"dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(o.Overlay,{"data-slot":"dialog-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function f(e){let{className:t,overlayClassName:n,children:i,showCloseButton:l=!0,...c}=e;return(0,r.jsxs)(u,{"data-slot":"dialog-portal",children:[(0,r.jsx)(d,{className:n}),(0,r.jsxs)(o.Content,{"data-slot":"dialog-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...c,children:[i,l&&(0,r.jsxs)(o.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(a.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,s.cn)("flex flex-col gap-2 text-center sm:text-left",t),...n})}function g(e){let{className:t,showCloseButton:n=!1,children:a,...l}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,s.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[a,n&&(0,r.jsx)(o.Close,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(o.Title,{"data-slot":"dialog-title",className:(0,s.cn)("text-lg leading-none font-semibold",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(o.Description,{"data-slot":"dialog-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...n})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6698],{5616:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17475:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(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"}]])},30366:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]])},52309:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(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,r)=>{r.r(t),r.d(t,{Label:()=>l,Root:()=>i});var o=r(1856),a=r(93367),n=r(90508),l=o.forwardRef((e,t)=>(0,n.jsx)(a.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var i=l},60532:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},71350:(e,t,r)=>{r.r(t),r.d(t,{Close:()=>en,Content:()=>er,Description:()=>ea,Dialog:()=>b,DialogClose:()=>H,DialogContent:()=>T,DialogDescription:()=>S,DialogOverlay:()=>_,DialogPortal:()=>O,DialogTitle:()=>B,DialogTrigger:()=>C,Overlay:()=>et,Portal:()=>ee,Root:()=>Y,Title:()=>eo,Trigger:()=>$,WarningProvider:()=>Z,createDialogScope:()=>x});var o=r(1856),a=r(33328),n=r(34124),l=r(21032),i=r(40577),s=r(66249),d=r(63569),c=r(80491),u=r(17533),p=r(19900),f=r(93367),g=r(12139),h=r(46523),y=r(2188),m=r(54154),v=r(90508),D="Dialog",[k,x]=(0,l.A)(D),[A,w]=k(D),b=e=>{let{__scopeDialog:t,children:r,open:a,defaultOpen:n,onOpenChange:l,modal:d=!0}=e,c=o.useRef(null),u=o.useRef(null),[p,f]=(0,s.i)({prop:a,defaultProp:null!=n&&n,onChange:l,caller:D});return(0,v.jsx)(A,{scope:t,triggerRef:c,contentRef:u,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:p,onOpenChange:f,onOpenToggle:o.useCallback(()=>f(e=>!e),[f]),modal:d,children:r})};b.displayName=D;var j="DialogTrigger",C=o.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,l=w(j,r),i=(0,n.s)(t,l.triggerRef);return(0,v.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":L(l.open),...o,ref:i,onClick:(0,a.mK)(e.onClick,l.onOpenToggle)})});C.displayName=j;var R="DialogPortal",[M,I]=k(R,{forceMount:void 0}),O=e=>{let{__scopeDialog:t,forceMount:r,children:a,container:n}=e,l=w(R,t);return(0,v.jsx)(M,{scope:t,forceMount:r,children:o.Children.map(a,e=>(0,v.jsx)(p.C,{present:r||l.open,children:(0,v.jsx)(u.Portal,{asChild:!0,container:n,children:e})}))})};O.displayName=R;var N="DialogOverlay",_=o.forwardRef((e,t)=>{let r=I(N,e.__scopeDialog),{forceMount:o=r.forceMount,...a}=e,n=w(N,e.__scopeDialog);return n.modal?(0,v.jsx)(p.C,{present:o||n.open,children:(0,v.jsx)(P,{...a,ref:t})}):null});_.displayName=N;var E=(0,m.TL)("DialogOverlay.RemoveScroll"),P=o.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,a=w(N,r);return(0,v.jsx)(h.A,{as:E,allowPinchZoom:!0,shards:[a.contentRef],children:(0,v.jsx)(f.sG.div,{"data-state":L(a.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),F="DialogContent",T=o.forwardRef((e,t)=>{let r=I(F,e.__scopeDialog),{forceMount:o=r.forceMount,...a}=e,n=w(F,e.__scopeDialog);return(0,v.jsx)(p.C,{present:o||n.open,children:n.modal?(0,v.jsx)(q,{...a,ref:t}):(0,v.jsx)(G,{...a,ref:t})})});T.displayName=F;var q=o.forwardRef((e,t)=>{let r=w(F,e.__scopeDialog),l=o.useRef(null),i=(0,n.s)(t,r.contentRef,l);return o.useEffect(()=>{let e=l.current;if(e)return(0,y.Eq)(e)},[]),(0,v.jsx)(K,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=r.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,a.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,a.mK)(e.onFocusOutside,e=>e.preventDefault())})}),G=o.forwardRef((e,t)=>{let r=w(F,e.__scopeDialog),a=o.useRef(!1),n=o.useRef(!1);return(0,v.jsx)(K,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var o,l;null==(o=e.onCloseAutoFocus)||o.call(e,t),t.defaultPrevented||(a.current||null==(l=r.triggerRef.current)||l.focus(),t.preventDefault()),a.current=!1,n.current=!1},onInteractOutside:t=>{var o,l;null==(o=e.onInteractOutside)||o.call(e,t),t.defaultPrevented||(a.current=!0,"pointerdown"===t.detail.originalEvent.type&&(n.current=!0));let i=t.target;(null==(l=r.triggerRef.current)?void 0:l.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&n.current&&t.preventDefault()}})}),K=o.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:a,onOpenAutoFocus:l,onCloseAutoFocus:i,...s}=e,u=w(F,r),p=o.useRef(null),f=(0,n.s)(t,p);return(0,g.Oh)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(c.n,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:l,onUnmountAutoFocus:i,children:(0,v.jsx)(d.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":L(u.open),...s,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Q,{titleId:u.titleId}),(0,v.jsx)(X,{contentRef:p,descriptionId:u.descriptionId})]})]})}),z="DialogTitle",B=o.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,a=w(z,r);return(0,v.jsx)(f.sG.h2,{id:a.titleId,...o,ref:t})});B.displayName=z;var W="DialogDescription",S=o.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,a=w(W,r);return(0,v.jsx)(f.sG.p,{id:a.descriptionId,...o,ref:t})});S.displayName=W;var V="DialogClose",H=o.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(V,r);return(0,v.jsx)(f.sG.button,{type:"button",...o,ref:t,onClick:(0,a.mK)(e.onClick,()=>n.onOpenChange(!1))})});function L(e){return e?"open":"closed"}H.displayName=V;var U="DialogTitleWarning",[Z,J]=(0,l.q)(U,{contentName:F,titleName:z,docsSlug:"dialog"}),Q=e=>{let{titleId:t}=e,r=J(U),a="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return o.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},X=e=>{let{contentRef:t,descriptionId:r}=e,a=J("DialogDescriptionWarning"),n="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(a.contentName,"}.");return o.useEffect(()=>{var e;let o=null==(e=t.current)?void 0:e.getAttribute("aria-describedby");r&&o&&(document.getElementById(r)||console.warn(n))},[n,t,r]),null},Y=b,$=C,ee=O,et=_,er=T,eo=B,ea=S,en=H},78948:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},85226:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},89967:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},97413:(e,t,r)=>{r.d(t,{A:()=>o});let o=(0,r(66206).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[68326],{30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(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"),a=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(l,":").concat(o)}function a(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:()=>a})},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let l=new Map,o=new Map,i=new Map,c=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++,c.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=u(e.entityType,e.entityUuid,n,r),c=function(e,t,n,r,a){let l=u(e,t,r,a);return"".concat(l,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=o.get(c);if(s&&Date.now()-s<3e3)return;o.set(c,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=l.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(m),l.set(a,p);let f=i.get(c);f&&clearTimeout(f);let x=setTimeout(()=>{let t=l.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?l.delete(a):l.set(a,n)}o.delete(c),i.delete(c),d()},3e3);i.set(c,x),d()}function p(){return s}function f(e){return c.add(e),()=>{c.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(f,p,p),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=l.get(u(e,t,n,r)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of l)if(e===o||e.startsWith(o+":"))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:()=>c,l9:()=>i,tS:()=>o,w0:()=>u});var r=n(90508),a=n(1856);n(91814);let l=(0,a.createContext)(null);function o(e){let{projectUuid:t,children:n}=e,o=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useRef)(new Set),s=(0,a.useRef)(new Set),u=(0,a.useCallback)(()=>{o.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function l(){o(),(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 c.current.forEach(e=>e(n));if("execution"===n.type)return void s.current.forEach(e=>e(n));let l=n;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,u()):e=setTimeout(()=>{r=Date.now(),u()},Math.max(1e3,3e3-i));let m=l.entityType;clearTimeout(a[m]),a[m]=setTimeout(()=>{d(l)},300)},n.onerror=()=>{}}function o(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(l(),u(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return l(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",i)}},[t,u,d]);let m=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),x=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),h=(0,a.useMemo)(()=>({subscribe:m,subscribeEntity:p,subscribePresence:f,subscribeExecution:x}),[m,p,f,x]);return(0,r.jsx)(l.Provider,{value:h,children:n})}function i(e){let t=(0,a.useContext)(l),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function c(e,t){let n=(0,a.useContext)(l),r=(0,a.useRef)(t);r.current=t;let o=(0,a.useRef)(e);o.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,a.useContext)(l),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function u(e,t,n){let r=(0,a.useContext)(l),o=(0,a.useRef)(n);o.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&o.current(n)})},[r,e,t])}},68326:(e,t,n)=>{n.d(t,{$m:()=>W});var r=n(90508),a=n(1856),l=n(39268),o=n(94903),i=n(85226),c=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 y(e){var t;if(!e)return{pinnedHost:null,pinnedCwd:null};let n=new URLSearchParams(e),r=n.has("cwd"),a=n.has("host");if(!r&&!a)return{pinnedHost:null,pinnedCwd:null};let l=null!=(t=n.get("cwd"))?t:"",o=n.get("host"),i={pinnedCwd:r&&""!==l?l:null,pinnedHost:a?null!=o?o:"":null};return"1"===n.get("runtime")&&(i.runtimeCwd=!0),i}var v=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)}},runtimeCwd:{default:!1,parseHTML:e=>"true"===e.getAttribute("data-runtime-cwd"),renderHTML:e=>e.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function j(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;return function(e,t,n,r,a){let l=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return"@[".concat(e,"](").concat(t,":").concat(n).concat(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(null==e&&null==t)return"";let r=e=>encodeURIComponent(e).replace(/\(/g,"%28").replace(/\)/g,"%29"),a=[];return a.push("cwd=".concat(null==t?"":r(t))),null!=e&&a.push("host=".concat(r(e))),n&&a.push("runtime=1"),"?".concat(a.join("&"))}(r,a,l),")")}(e.label||e.id,e.mentionType||"user",e.id,null!=(n=e.pinnedHost)?n:null,null!=(r=e.pinnedCwd)?r:null,!0===e.runtimeCwd)}return""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let a=t.content;return a?a.map(e).join(""):""})(e)).join("\n"):""}function N(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=[],a=0,l=RegExp(t.source,"g");for(;null!==(n=l.exec(e));){n.index>a&&r.push({type:"text",text:e.slice(a,n.index)});let{pinnedHost:t,pinnedCwd:l,runtimeCwd:o}=y(n[4]);r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2],pinnedHost:t,pinnedCwd:l,runtimeCwd:!0===o}}),a=n.index+n[0].length}return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function E(e,t,n,r,a,l,o){if(a.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>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-muted-foreground",e.textContent="No results",a.appendChild(e);return}let i=document.createElement("div");i.className="py-1";let c=0,s=e=>{if(o)return void o(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===c?"bg-background text-foreground":"text-muted-foreground hover:bg-background"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="relative shrink-0";let a=document.createElement("div");if(a.className="flex h-6 w-6 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-primary text-white":"bg-border text-muted-foreground"),a.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(a),"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=l.online,r.appendChild(e)}let o=document.createElement("div");o.className="min-w-0 flex-1";let u=document.createElement("div");if(u.className="truncate text-xs font-medium",u.textContent=e.name,o.appendChild(u),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-muted-foreground",t.textContent=e.email,o.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] dark:text-[#4FD07A]",n.textContent="▶ ".concat(l.activeCount(t))):(n.className="mt-0.5 truncate text-[10px] text-muted-foreground",n.textContent=l.idle),o.appendChild(n)}n.appendChild(r),n.appendChild(o),i.appendChild(n)})};u(),a.appendChild(i),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,w.P)(n)&&("ArrowUp"===n.key?(c=c<=0?e.length-1:c-1,u(),!0):"ArrowDown"===n.key?(c=c>=e.length-1?0:c+1,u(),!0):"Enter"===n.key?(e[c]&&s(e[c]),!0):"Escape"===n.key)}}}function k(e){var t;let{open:n,agentName:o,instances:i,onConfirm:c,onCancel:s}=e,u=(0,l.c)("mentionInstance"),[m,p]=(0,a.useState)(null);(0,a.useEffect)(()=>{var e;n&&p(null!=(e=i[0])?e: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:o,count:i.length,hosts:f})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:e=>{!("Enter"!==e.key||(0,w.P)(e))&&m&&(e.preventDefault(),c(m))},children:(0,r.jsx)(v.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&&c(m)},children:u("confirm")})]})]})})}let S=(0,a.forwardRef)((e,t)=>{var n,o;let{value:i,onChange:c,placeholder:s,className:u,disabled:d,onSubmit:m,entityType:x,entityUuid:y}=e,v=(0,a.useRef)([]),b=(0,a.useRef)(!1),S=(0,a.useRef)(null),M=(0,a.useRef)(null),R=(0,a.useRef)(null),T=(0,a.useRef)(null),[,A]=(0,a.useState)(0),D=(0,a.useRef)(!1),U=(0,l.c)("mention"),H=(0,a.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});H.current={online:U("online"),offline:U("offline"),idle:U("idle"),activeCount:e=>U("activeCount",{count:e})};let _=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let l=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),l}((0,a.useCallback)(async e=>{b.current=!0,A(e=>e+1);try{let t="/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10&withInstances=1");x&&y&&(t+="&entityType=".concat(encodeURIComponent(x),"&entityUuid=").concat(encodeURIComponent(y)));let n=await fetch(t);if(n.ok){let e=await n.json();e.success&&(v.current=e.data)}}catch(e){v.current=[]}finally{b.current=!1,A(e=>e+1)}},[x,y]),250),[F,L]=(0,a.useState)(null),z=(0,a.useCallback)((e,t,n)=>{t({id:e.uuid,label:e.name,mentionType:e.type,pinnedHost:n?n.host:null,pinnedCwd:n?n.cwd:null,runtimeCwd:(null==n?void 0:n.runtimeCwd)===!0})},[]),I=(0,a.useRef)(()=>{});I.current=(e,t)=>{var n;let r=function(e){var t;if("agent"===e.type&&e.projectFixedCwd)return{kind:"insert",pin:{host:e.projectFixedCwd.host,cwd:e.projectFixedCwd.cwd,runtimeCwd:!0}};if(e.isIdeaAssignee&&e.ideaPin)return{kind:"insert",pin:{host:e.ideaPin.host,cwd:e.ideaPin.cwd}};let n="agent"===e.type?(null!=(t=e.instances)?t:[]).filter(e=>"online"===e.effectiveStatus):[];return n.length>=2?{kind:"pick",onlineInstances:n}:1===n.length?{kind:"insert",pin:n[0]}:{kind:"insert",pin:null}}(e);if("pick"===r.kind)return void L({item:e,onlineInstances:r.onlineInstances,command:t});z(e,t,null!=(n=r.pin)?n:void 0)};let O=(0,a.useCallback)((e,t)=>I.current(e,t),[]);(0,a.useEffect)(()=>{R.current&&T.current&&E(v.current,b.current,T.current,S,R.current,H.current,O)});let B=(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 _(t),v.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",R.current=n,T.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=M.current)?t:document.body).appendChild(n),E(v.current,b.current,e.command,S,n,H.current,O)},onUpdate:e=>{if(T.current=e.command,R.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(R.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(R.current.style.top="",R.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(R.current.style.bottom="",R.current.style.top="".concat(t.bottom+4,"px")))}R.current&&E(v.current,b.current,e.command,S,R.current,H.current,O)},onKeyDown:e=>!!S.current&&S.current.onKeyDown(e),onExit:()=>{var e;null==(e=R.current)||e.remove(),R.current=null,T.current=null,v.current=[],b.current=!1}})}})],content:N(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&&!R.current&&!!m&&(t.preventDefault(),m(),!0)},onUpdate:e=>{let{editor:t}=e;D.current=!0,c(j(t))}});return(0,a.useEffect)(()=>{if(!B||D.current){D.current=!1;return}j(B)!==i&&B.commands.setContent(N(i))},[i,B]),(0,a.useEffect)(()=>{B&&B.setEditable(!d)},[d,B]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==B?void 0:B.commands.focus(),clear:()=>{null==B||B.commands.clearContent(),c("")}})),(0,r.jsxs)("div",{ref:M,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:B}),(0,r.jsx)(k,{open:null!==F,agentName:null!=(n=null==F?void 0:F.item.name)?n:"",instances:null!=(o=null==F?void 0:F.onlineInstances)?o:[],onConfirm:e=>{!function(e,t,n){n.close(),e&&n.defer(()=>{try{n.focusEditor(),n.insert(e,t)}catch(e){n.onError(e)}})}(F,e,{close:()=>L(null),insert:(e,t)=>z(e.item,e.command,t),defer:e=>requestAnimationFrame(e),focusEditor:()=>null==B?void 0:B.commands.focus(),onError:e=>g.q.error("MentionEditor: cwd-pinned mention insert failed",e)})},onCancel:()=>L(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 "})]})});S.displayName="MentionEditor";var M=n(73448),R=n(52217);let T=(0,R.createServerReference)("703a8cb74f8937722979e93a1389f0a094605b7cd2",R.callServer,void 0,R.findSourceMapURL,"createCommentAction");var A=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,U=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g,H="chorus-mention";function _(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)(A.MarkdownContent,{children:t})});if(n)return(0,r.jsx)(F,{renderMention:n,children:t});let{processed:a,mentions:l}=function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,a,l)=>{let o=t.length,{pinnedHost:i,pinnedCwd:c,runtimeCwd:s}=y(l),u={displayName:n,type:r,uuid:a};return(null!==i||null!==c)&&(u.pinnedHost=i,u.pinnedCwd=c,s&&(u.runtimeCwd=!0)),t.push(u),"".concat("​​MENTION_").concat(o).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(L,{mentions:l,children:(0,r.jsx)(A.MarkdownContent,{children:a})})}function F(e){let{children:t,renderMention:n}=e,{processed:l,mentions:o}=a.useMemo(()=>(function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,a,l)=>{let o=t.length,{pinnedHost:i,pinnedCwd:c,runtimeCwd:s}=y(l),u={type:r.toLowerCase(),uuid:a.toLowerCase(),displayName:n};(null!==i||null!==c)&&(u.pinnedHost=i,u.pinnedCwd=c,s&&(u.runtimeCwd=!0)),t.push(u);let d="@".concat(n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return"<".concat(H," ").concat("idx",'="').concat(o,'">').concat(d,"</").concat(H,">")}),mentions:t}})(t),[t]),i=a.useMemo(()=>({[H]:e=>{let{idx:t}=e,a=void 0===t?NaN:parseInt(t,10),l=Number.isInteger(a)?o[a]:void 0;return l?(0,r.jsx)(r.Fragment,{children:n({...l,index:a})}):null}}),[o,n]);return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{components:i,allowedTags:{[H]:["idx"]},literalTagContent:[H],children:l})})}function L(e){let{children:t,mentions:n}=e,l=a.useRef(null);return a.useEffect(()=>{let e;if(!l.current||0===n.length)return;let t=document.createTreeWalker(l.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)U.test(e.textContent||"")&&r.push(e),U.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",l=document.createDocumentFragment(),o=0,i=RegExp(U.source,"g");for(;null!==(t=i.exec(r));){t.index>o&&l.appendChild(document.createTextNode(r.slice(o,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),l.appendChild(t)}else l.appendChild(document.createTextNode(t[0]));o=t.index+t[0].length}o<r.length&&l.appendChild(document.createTextNode(r.slice(o))),null==(a=e.parentNode)||a.replaceChild(l,e)}},[n]),(0,r.jsx)("div",{ref:l,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var z=n(94643),I=n(63964),O=n(96213),B=n(30423),P=n(38106),$=n(67587);function q(e){return"agent"===e.type?(0,r.jsx)(z.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)),a=[],l=null,o=!1,i=0,c=!1,s=null,u=!1;for(let e=0;e<n;e++){let e=await t(l);if(!e)break;if(u=!0,i=e.total,a.push(...e.comments),c=e.hasMore,s=e.nextCursor,e.comments.some(e=>r.has(e.uuid))||!e.hasMore){o=!0;break}l=e.nextCursor}return u?o?{comments:K(e,a),total:i,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],a),total:i,contiguous:!1,resetOldestCursor:s,resetHasMore:c}:null}function W(e){let{targetType:t,targetUuid:n,currentUserUuid:u,onCountChange:p,compact:f=!1}=e,x=(0,l.c)(),[h,g]=(0,a.useState)(""),[w,y]=(0,a.useState)([]),[v,b]=(0,a.useState)(!0),[C,j]=(0,a.useState)(null),[N,E]=(0,a.useState)(!1),[k,R]=(0,a.useState)(!1),[A,D]=(0,a.useState)(null),[U,H]=(0,a.useState)(!1),[_,F]=(0,a.useState)(0),L=(0,a.useRef)(null),z=(0,a.useRef)(null),B=(0,a.useRef)(w);B.current=w;let P=(0,a.useRef)(A);P.current=A;let q=(0,a.useRef)(U);q.current=U;let W=(0,a.useRef)(N);W.current=N;let Q=(0,a.useRef)(v);Q.current=v;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,a.useEffect)(()=>{null==p||p(_)},[_,p]);let Z=(0,a.useCallback)(async()=>{b(!0),j(null);let e=await (0,M.d)(t,n,{limit:10});e.success?(y(e.comments),D(e.nextCursor),H(e.hasMore),F(e.total)):j(e.error),b(!1)},[t,n]);(0,a.useEffect)(()=>{Z()},[Z]);let ee=(0,a.useCallback)(async()=>{if(W.current||Q.current||!q.current||!P.current)return;E(!0);let e=await (0,M.d)(t,n,{cursor:P.current,limit:10});e.success&&(y(t=>K(t,e.comments)),D(e.nextCursor),H(e.hasMore),F(e.total)),E(!1)},[t,n]);(0,a.useEffect)(()=>{let e=z.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,v]),(0,I.w0)(t,n,e=>{u&&e.actorUuid===u||G(B.current,async e=>{let r=await (0,M.d)(t,n,{cursor:e,limit:10});return r.success?r:null}).then(e=>{e&&(y(e.comments),F(e.total),e.contiguous||(D(e.resetOldestCursor),H(e.resetHasMore)))})});let et=async()=>{if(!h.trim()||k)return;R(!0);let e=await T(t,n,h);if(R(!1),e.success){var r;let t=!B.current.some(t=>t.uuid===e.comment.uuid);y(t=>K(t,[e.comment])),t&&F(e=>e+1),g(""),null==(r=L.current)||r.clear()}else $.oR.error(e.error)};return(0,r.jsx)(O.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] dark:border-[#26241f]"),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-border text-muted-foreground",children:(0,r.jsx)(o.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)(S,{ref:L,value:h,onChange:g,onSubmit:et,placeholder:x("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:k,entityType:t,entityUuid:n})}),(0,r.jsx)(d.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:et,children:k?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(c.A,{className:"h-3.5 w-3.5"})})]}),v?(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-muted-foreground"})}):C?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",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-muted-foreground 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:z,"aria-hidden":"true"}),N?(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-muted-foreground"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:x("comments.loadingMore")})]}):!U&&(0,r.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:x("comments.noMoreComments")})]})]})})}function J(e){let{comment:t,compact:n,avatarSize:l,gap:o,iconSize:i,t:c}=e,[s,p]=(0,a.useState)(!1),f="agent"===t.author.type,x=f?(0,B.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(o," py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(l," shrink-0"),children:(0,r.jsx)(m.q5,{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:f?"":"bg-border text-muted-foreground 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] dark:text-[#CFCFCF]"),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] dark:bg-[#1f1e1c] text-muted-foreground"),children:c(f?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/6e4),l=Math.floor(r/36e5),o=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):l<24?t("time.hoursAgo",{hours:l}):o<7?t("time.daysAgo",{days:o}):(0,P.r)(n)}(t.createdAt,c)})]}),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-muted-foreground italic",children:c("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground"),children:h&&!s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(_,{renderMention:q,children:t.content.slice(0,200)+"..."}),(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:c("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(_,{renderMention:q,children:t.content}),h&&(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:c("comments.showLess")})]})})]})]})}},73448:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("70a52329b7ca0e7885bbe7b08d26305380135ea5a4",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},73693:(e,t,n)=>{n.d(t,{eu:()=>o,q5:()=>i});var r=n(90508);n(1856);var a=n(65514),l=n(24377);function o(e){let{className:t,size:n="default",...o}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,l.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),...o})}function i(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,l.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),a=n(47754),l=n(30423),o=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:o,subEntityUuid:i,children:s,badgeInside:u}=e,{getPresence:d}=(0,a.xQ)(),m=d(t,n,o,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,l.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)(c,{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 c(e){let{entry:t}=e,n=(0,l.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)(o.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([[72974],{2201:(e,t,a)=>{a.d(t,{E:()=>i});var r=a(1856),s=a(67712),n=a(78307);async function l(e){try{let t=await fetch("/api/ideas/".concat(encodeURIComponent(e),"/wake-preview"),{headers:{Accept:"application/json"}});if(!t.ok)return null;let a=await t.json();if(!a.success||!a.data)return null;return a.data}catch(e){return s.q.error("wake-target preview fetch failed",e),null}}function i(e){let{fetchPreview:t=l,reassignNoWake:a,previewIdeaUuid:i}=e,[d,c]=(0,r.useState)(null),[o,u]=(0,r.useState)(!1),[m,x]=(0,r.useState)(null),[f,p]=(0,r.useState)(null);(0,r.useEffect)(()=>{let e=!1;return i?(t(i).then(t=>{var a;e||x((null==t||null==(a=t.resolvedTarget)?void 0:a.source)==="project_fixed"?t.resolvedTarget:null)}),()=>{e=!0}):void x(null)},[t,i]);let h=(0,r.useCallback)(async(e,t,r)=>{try{let n=await a(e,t,r);n.success||s.q.debug("pin-then-wake reassign did not persist (continuing to wake)",n.error)}catch(e){s.q.error("pin-then-wake reassign threw (continuing to wake)",e)}},[a]),g=(0,r.useCallback)(async e=>{let{ideaUuid:a,wake:r}=e;u(!0);let s=null;try{var l;s=await t(a),x((null==s||null==(l=s.resolvedTarget)?void 0:l.source)==="project_fixed"?s.resolvedTarget:null)}finally{u(!1)}if(!s||!s.assigneeAgentUuid||"direct"===s.outcome)return void await r();let i=s.assigneeAgentUuid,d=(0,n.C)(s.onlineInstances);if("pick"===s.outcome)return 0===d.length?void await r():(p({run:r}),void c({ideaUuid:a,agentUuid:i,instances:d}));if("auto_pin"===s.outcome){let e=d[0];(null==e?void 0:e.agentInstanceUuid)&&await h(a,i,e.agentInstanceUuid),await r();return}},[t,h]),v=(0,r.useCallback)(async e=>{c(null),p(null),d&&f&&(e.agentInstanceUuid&&await h(d.ideaUuid,d.agentUuid,e.agentInstanceUuid),await f.run())},[d,f,h]),b=(0,r.useCallback)(()=>{c(null),p(null)},[]);return{start:g,pickerState:d,confirmPick:v,confirmTemporary:(0,r.useCallback)(async e=>{c(null),p(null),f&&await f.run(e)},[f]),cancelPick:b,isResolving:o,fixedTarget:m}}},7196:(e,t,a)=>{a.d(t,{x:()=>s});var r=a(52217);let s=(0,r.createServerReference)("40b8625b762e80ded31270d8ca5137f20376bad24a",r.callServer,void 0,r.findSourceMapURL,"getIdeaActivitiesAction")},11166:(e,t,a)=>{a.d(t,{o:()=>r});function r(e){let{ideaStatus:t,elaborationStatus:a,elaboration:r}=e;return!("elaborating"!==t||"resolved"===a||!r||0===r.rounds.length||r.rounds.some(e=>"pending_answers"===e.status))}},24128:(e,t,a)=>{a.d(t,{U:()=>s});var r=a(52217);let s=(0,r.createServerReference)("7081e82b13cd847bc50d8be9c582077417de620ca6",r.callServer,void 0,r.findSourceMapURL,"reassignIdeaInstanceNoWakeAction")},26332:(e,t,a)=>{a.d(t,{e:()=>s});var r=a(52217);let s=(0,r.createServerReference)("40f3712be5d58ae98a7f02101c499dd531a400f6b0",r.callServer,void 0,r.findSourceMapURL,"verifyElaborationAction")},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"}]])},32111:(e,t,a)=>{a.d(t,{U:()=>s});var r=a(52217);let s=(0,r.createServerReference)("6056130d6ceed668a97fae21be3d6aeb924d59fe96",r.callServer,void 0,r.findSourceMapURL,"getProposalsForIdeaAction")},41323:(e,t,a)=>{a.d(t,{z:()=>s});var r=a(52217);let s=(0,r.createServerReference)("4007b48e3b837335975b30de60c071ca7466c33bee",r.callServer,void 0,r.findSourceMapURL,"getElaborationAction")},45956:(e,t,a)=>{a.d(t,{h:()=>y});var r=a(90508),s=a(1856),n=a(39268),l=a(91814),i=a(67587),d=a(85226),c=a(30825),o=a(60532),u=a(17475),m=a(22922),x=a(88064),f=a(97438),p=a(4365),h=a(17001),g=a(24377),v=a(52217);let b=(0,v.createServerReference)("000582682b95747c59f4bbe5f98e8d7c124c25c20a",v.callServer,void 0,v.findSourceMapURL,"getProjectsAndGroupsAction"),j=(0,v.createServerReference)("60c51385e30a1a2cf4e952e9a02883ea4d9637f0ba",v.callServer,void 0,v.findSourceMapURL,"moveIdeaPreviewAction"),w=(0,v.createServerReference)("60712e1056df20cbaa3226710490204911e3aa5737",v.callServer,void 0,v.findSourceMapURL,"moveIdeaAction");var N=a(67712);function y(e){let{open:t,onOpenChange:a,ideaUuid:v,projectUuid:y,onMoved:k}=e,A=(0,n.c)("ideas"),S=(0,n.c)("common"),C=(0,l.r)(),[F,U]=(0,s.useState)([]),[I,_]=(0,s.useState)(!1),[R,E]=(0,s.useState)(null),[D,T]=(0,s.useState)(!1),M=(()=>{if(!R)return null;for(let e of F){let t=e.projects.find(e=>e.uuid===R);if(t)return t.name}return null})(),[L,q]=(0,s.useState)(null),[O,z]=(0,s.useState)(!1),[B,$]=(0,s.useState)(null),[P,G]=(0,s.useState)(!1),[H,W]=(0,s.useState)(null),J=(0,s.useRef)(0),K=(0,s.useCallback)(e=>{e&&e.addEventListener("wheel",e=>e.stopPropagation(),{passive:!0})},[]),V=(0,s.useCallback)(async()=>{E(null),q(null),$(null),W(null),_(!0);try{let e=await b();if(e.success){let{projects:t,groups:a}=e.data,r=t.filter(e=>e.uuid!==y).map(e=>({uuid:e.uuid,name:e.name,groupUuid:e.groupUuid})),s=new Map;for(let e of a)s.set(e.uuid,e.name);let n=new Map,l=[];for(let e of r)e.groupUuid&&s.has(e.groupUuid)?(n.has(e.groupUuid)||n.set(e.groupUuid,{uuid:e.groupUuid,name:s.get(e.groupUuid),projects:[]}),n.get(e.groupUuid).projects.push({uuid:e.uuid,name:e.name})):l.push({uuid:e.uuid,name:e.name});let i=[...n.values()];l.length>0&&i.push({uuid:"ungrouped",name:A("ungrouped"),projects:l}),U(i)}}catch(e){N.q.error("Failed to load projects for move dialog:",e),U([])}_(!1)},[y,A]);(0,s.useEffect)(()=>{t&&V()},[t,V]),(0,s.useEffect)(()=>{if(!R){q(null),$(null);return}let e=++J.current;z(!0),$(null),q(null),j(v,R).then(t=>{e===J.current&&(t.success?q(t.moved):$(t.error||A("moveDialog.error",{message:""})))}).catch(t=>{e===J.current&&(N.q.error("Failed to fetch move preview:",t),$(A("moveDialog.error",{message:t instanceof Error?t.message:String(t)})))}).finally(()=>{e===J.current&&z(!1)})},[R,v,A]);let Z=async()=>{if(R&&L&&!P){G(!0),W(null);try{let e=await w(v,R);if(e.success){let t=e.moved;i.oR.success(A("moveDialog.successToast",{...t}),{action:{label:A("moveDialog.viewMovedIdea"),onClick:()=>{C.push("/projects/".concat(R,"/dashboard?panel=").concat(v,"&tab=overview"))}}}),a(!1),C.refresh(),k(t)}else W(A("moveDialog.error",{message:e.error||A("moveFailed")}))}catch(e){W(A("moveDialog.error",{message:e instanceof Error?e.message:A("moveFailed")}))}G(!1)}};return(0,r.jsx)(f.lG,{open:t,onOpenChange:a,children:(0,r.jsxs)(f.Cf,{children:[(0,r.jsxs)(f.c7,{children:[(0,r.jsx)(f.L3,{children:A("moveDialog.title")}),(0,r.jsx)(f.rr,{children:A("moveDialog.description")})]}),(0,r.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,r.jsx)(x.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-foreground",children:A("moveDialog.targetProjectLabel")}),I?(0,r.jsx)("div",{className:"flex items-center justify-center h-10 border border-border rounded-md",children:(0,r.jsx)(d.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,r.jsxs)(h.AM,{open:D,onOpenChange:T,children:[(0,r.jsx)(h.Wv,{asChild:!0,children:(0,r.jsxs)(m.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":D,className:(0,g.cn)("w-full justify-between border-border font-normal",!M&&"text-muted-foreground"),children:[null!=M?M:A("moveDialog.targetProjectPlaceholder"),(0,r.jsx)(c.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,r.jsx)(h.hl,{ref:K,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,r.jsxs)(p.uB,{children:[(0,r.jsx)(p.G7,{placeholder:A("moveDialog.searchProjects")}),(0,r.jsxs)(p.oI,{children:[(0,r.jsx)(p.xL,{children:A("noProjectsFound")}),F.map(e=>(0,r.jsx)(p.L$,{heading:e.name,children:e.projects.map(t=>(0,r.jsxs)(p.h_,{value:"".concat(t.name," ").concat(e.name),onSelect:()=>{E(t.uuid),T(!1)},children:[(0,r.jsx)(o.A,{className:(0,g.cn)("mr-2 h-4 w-4",R===t.uuid?"opacity-100":"opacity-0")}),t.name]},t.uuid))},e.uuid))]})]})})]}),R&&(0,r.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-border bg-background p-3 text-[13px] text-foreground",children:O?(0,r.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,r.jsx)(d.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:A("moveDialog.previewLoading")})]}):B?(0,r.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,r.jsx)(u.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:B})]}):L?(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("p",{children:A("moveDialog.previewSummary",{...L})}),(0,r.jsx)("p",{className:"text-[12px] text-muted-foreground",children:A("moveDialog.previewWarning")})]}):null}),H&&(0,r.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:H})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,r.jsx)(m.$,{variant:"outline",className:"border-border",onClick:()=>a(!1),disabled:P,children:S("cancel")}),(0,r.jsx)(m.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:Z,disabled:!R||!L||P||O,children:P?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:"mr-2 h-4 w-4 animate-spin"}),A("moving")]}):A("moveDialog.confirm")})]})]})})}},50535:(e,t,a)=>{a.d(t,{J:()=>s});var r=a(52217);let s=(0,r.createServerReference)("40e38433cde1dcb8df8a66b464be3204206d8b92dd",r.callServer,void 0,r.findSourceMapURL,"updateIdeaAction")},54534:(e,t,a)=>{a.d(t,{c:()=>s});var r=a(52217);let s=(0,r.createServerReference)("60cee7db282b91cedacc7cb66d67ca06da5aab723f",r.callServer,void 0,r.findSourceMapURL,"getTasksForProposalAction")},64212:(e,t,a)=>{a.d(t,{s:()=>N});var r=a(90508),s=a(1856),n=a(39268),l=a(67587),i=a(84052),d=a(85226),c=a(22922),o=a(51817),u=a(92691),m=a(59208);let x=new Set(["done","closed"]);function f(e){let{assignee:t,proposals:a,tasks:r}=e;return!!t&&("agent"===t.type||"agent_instance"===t.type)&&!(a&&a.some(e=>"approved"===e.status)&&r&&0!==r.length&&r.every(e=>x.has(e.status)))}var p=a(52217);let h=(0,p.createServerReference)("606e93fba2afac7a36110b7e7e263c77bba201447d",p.callServer,void 0,p.findSourceMapURL,"yoloRequestedAction");var g=a(24128),v=a(2201),b=a(21180);let j={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"},w="bg-[#7F5AF0] hover:bg-[#6D48DE] dark:bg-[#6E56C8] dark:hover:bg-[#7C63D8] text-white";function N(e){var t,a,x,p,N,y;let{ideaUuid:k,assignee:A,assigneeName:S,proposals:C,tasks:F,onStarted:U}=e,I=(0,n.c)("yolo"),_=null!=(a=null==(t=(0,m.kz)())?void 0:t.connections)?a:[],[R,E]=(0,s.useState)(!1),[D,T]=(0,s.useState)(!1),[M,L]=(0,s.useState)(!1),{start:q,pickerState:O,confirmPick:z,confirmTemporary:B,cancelPick:$,isResolving:P}=(0,v.E)({reassignNoWake:g.U,previewIdeaUuid:k});(0,s.useEffect)(()=>{T(!1)},[k]),(0,s.useEffect)(()=>{if(!D)return;let e=setTimeout(()=>T(!1),3e4);return()=>clearTimeout(e)},[D]);let G=A?"agent"===A.type?A.uuid:"agent_instance"===A.type&&null!=(N=null==(p=A.instance)?void 0:p.agentUuid)?N:null:null,H=null!==G&&_.some(e=>e.agentUuid===G&&"online"===e.effectiveStatus),W=f({assignee:A,proposals:C,tasks:F}),J=f(y={assignee:A,proposals:C,tasks:F,agentOnline:H})&&y.agentOnline;if(!W||D)return D?(0,r.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:I("startedHint")}):null;let K=async e=>{E(!0);let t=e?await h(k,e):await h(k);if(E(!1),t.success)T(!0),l.oR.success(I("startedHint")),null==U||U();else{var a;l.oR.error(I(j[null!=(a=t.errorCode)?a:"unknown"]))}};return H?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(o.Lt,{open:M,onOpenChange:L,children:[(0,r.jsx)(o.tv,{asChild:!0,children:(0,r.jsxs)(c.$,{className:w,disabled:!J,children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4"}),I("button")]})}),(0,r.jsxs)(o.EO,{children:[(0,r.jsxs)(o.wd,{children:[(0,r.jsx)(o.r7,{children:I("confirmTitle")}),(0,r.jsx)(o.$v,{children:I("confirmDescription")})]}),(0,r.jsxs)(o.ck,{children:[(0,r.jsx)(o.Zr,{disabled:R,children:I("cancel")}),(0,r.jsx)(c.$,{className:w,onClick:()=>{L(!1),q({ideaUuid:k,wake:K})},disabled:R||P,children:R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:"mr-2 h-4 w-4 animate-spin"}),I("starting")]}):I("confirmCta")})]})]})]}),(0,r.jsx)(b.V,{open:null!==O,agentName:null!=S?S:"",instances:null!=(x=null==O?void 0:O.instances)?x:[],agentUuid:null==O?void 0:O.agentUuid,onConfirm:z,onTemporaryConfirm:B,onCancel:$})]}):(0,r.jsx)(u.Bc,{delayDuration:300,children:(0,r.jsxs)(u.m_,{children:[(0,r.jsx)(u.k$,{asChild:!0,children:(0,r.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,r.jsxs)(c.$,{className:w,disabled:!0,children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4"}),I("button")]})})}),(0,r.jsx)(u.ZI,{children:I("offlineHint")})]})})}},73548:(e,t,a)=>{a.d(t,{i:()=>S});var r=a(90508),s=a(1856),n=a(91814),l=a(39268),i=a(85226),d=a(5425),c=a(30028),o=a(94903),u=a(22922),m=a(17722),x=a(88064),f=a(41033),p=a(91846),h=a(78307),g=a(24900),v=a(6930),b=a(52217);let j=(0,b.createServerReference)("007f9c026bd5884efe398583bcb395db297dabd155",b.callServer,void 0,b.findSourceMapURL,"getPmAgentsAction"),w=(0,b.createServerReference)("60cefd4c146dd6559b4fb4fb54d808f780fe5f1972",b.callServer,void 0,b.findSourceMapURL,"getAgentInstancesAction"),N=(0,b.createServerReference)("40965ba7a25f92bd5be3008c3451c1964520a9ff6a",b.callServer,void 0,b.findSourceMapURL,"claimIdeaAction"),y=(0,b.createServerReference)("70e4d3b9ae4f81a9e35589c83befa5d4feec3fe5e7",b.callServer,void 0,b.findSourceMapURL,"claimIdeaToAgentAction"),k=(0,b.createServerReference)("60032c5d80dd7193aa504c12b68e99a863f343de0e",b.callServer,void 0,b.findSourceMapURL,"claimIdeaToUserAction"),A=(0,b.createServerReference)("40858e27e8a24d2dd55d3b43603d8216b69ecbae26",b.callServer,void 0,b.findSourceMapURL,"releaseIdeaAction");function S(e){var t,a;let{idea:b,projectUuid:S,currentUserUuid:C,onClose:F}=e,U=(0,l.c)(),I=(0,n.r)(),[_,R]=(0,s.useState)(!1),[E,D]=(0,s.useState)("self"),[T,M]=(0,s.useState)(""),[L,q]=(0,s.useState)(""),[O,z]=(0,s.useState)([]),[B,$]=(0,s.useState)([]),[P,G]=(0,s.useState)(!0),[H,W]=(0,s.useState)(null),[J,K]=(0,s.useState)([]),[V,Z]=(0,s.useState)(!1),[Q,Y]=(0,s.useState)(null),[X,ee]=(0,s.useState)(null),et=!!b.assignee;(0,s.useEffect)(()=>{!async function(){G(!0);let e=await j();z(e.agents||[]),$((e.users||[]).filter(e=>e.uuid!==C)),G(!1)}()},[C]),(0,s.useEffect)(()=>{if("agent"!==E||!T){K([]),ee(null),Y(null);return}let e=!1;return Z(!0),ee(null),w(T,S).then(t=>{e||(K((0,h.C)(t.instances)),Y(t.resolvedTarget))}).finally(()=>{e||Z(!1)}),()=>{e=!0}},[S,E,T]);let ea=null!=(a=J.find(e=>e.connectionUuid===X))?a:null,er=new Set(J.map(e=>e.host)).size>1,es=async()=>{let e;if(R(!0),W(null),"self"===E)e=await N(b.uuid);else if("agent"===E&&T){var t;e=await y(b.uuid,T,null!=(t=null==ea?void 0:ea.agentInstanceUuid)?t:void 0)}else if("user"===E&&L)e=await k(b.uuid,L);else{if("release"!==E)return void R(!1);e=await A(b.uuid)}R(!1),(null==e?void 0:e.success)?(I.refresh(),F()):(null==e?void 0:e.error)&&W(e.error)},en="self"===E||"agent"===E&&T||"user"===E&&L||"release"===E&&et;return(0,r.jsxs)(m._8,{open:!0,onOpenChange:e=>{e||F()},className:"bg-card sm:max-w-[400px]",header:(0,r.jsx)(m.AI,{className:"text-base font-semibold text-foreground",children:U("ideas.assignIdea")}),footer:(0,r.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,r.jsx)(u.$,{variant:"outline",onClick:F,disabled:_,className:"border-border",children:U("common.cancel")}),(0,r.jsx)(u.$,{onClick:es,disabled:_||!en,className:"bg-primary hover:bg-[#B56A42] text-white",children:_?(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"release"===E?U("common.release"):function(){if("agent"!==E||!ea)return U("common.assign");let e=(0,g.kn)(ea.cwd),t=e.isUnknown?U(e.label):e.label,a=(0,g.g9)(ea.host),r=a.isUnknown?U(a.label):a.label;return er?U("assignInstance.assignToWithHost",{path:t,host:r}):U("assignInstance.assignTo",{path:t})}()})]}),bodyClassName:"space-y-4",children:[(0,r.jsxs)("div",{className:"rounded-lg bg-background p-3",children:[(0,r.jsx)("p",{className:"text-[13px] font-medium text-foreground",children:b.title}),b.content&&(0,r.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground line-clamp-2",children:b.content})]}),et&&(0,r.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] dark:bg-[#13253a] p-3",children:(0,r.jsxs)("p",{className:"text-xs text-[#1976D2] dark:text-[#5AA9F0]",children:[U("common.currentAssignee"),": ",(0,r.jsx)("span",{className:"font-medium",children:null==(t=b.assignee)?void 0:t.name})]})}),H&&(0,r.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] dark:bg-[#331619] p-3",children:(0,r.jsx)("p",{className:"text-xs text-[#D32F2F] dark:text-[#F08078]",children:H})}),(0,r.jsx)("p",{className:"text-[13px] text-muted-foreground",children:U("ideas.selectIdeaAssignee")}),P?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,r.jsxs)(f.z,{value:E,onValueChange:e=>D(e),className:"space-y-3",children:[(0,r.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===E?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"),onClick:()=>D("self"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(f.C,{value:"self",id:"idea-self",className:"border-primary text-primary"}),(0,r.jsx)(x.J,{htmlFor:"idea-self",className:"text-sm font-medium text-foreground cursor-pointer",children:U("assign.assignToMyself")})]}),(0,r.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:U("ideas.assignToMyselfIdeaDesc")})]}),(0,r.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===E?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("agent"),children:[(0,r.jsx)(f.C,{value:"agent",id:"idea-agent",className:"border-primary text-primary"}),(0,r.jsx)(x.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-foreground cursor-pointer",children:U("ideas.orAssignToPmAgent")})]}),(0,r.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:U("ideas.onlySelectedPmAgentCanWork")}),"agent"===E&&(0,r.jsxs)("div",{className:"mt-3 ml-6 space-y-3",children:[(0,r.jsxs)(p.l6,{value:T,onValueChange:M,children:[(0,r.jsx)(p.bq,{className:"w-full border-border",children:(0,r.jsx)(p.yv,{placeholder:U("ideas.selectPmAgent")})}),(0,r.jsx)(p.gC,{className:"z-[120]",children:O.length>0?O.map(e=>(0,r.jsx)(p.eb,{value:e.uuid,children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(d.A,{className:"h-4 w-4 text-primary"}),(0,r.jsx)("span",{children:e.name})]})},e.uuid)):(0,r.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:U("ideas.noPmAgentsAvailable")})})]}),T&&(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:U("assignInstance.workingDirectory")}),V?(0,r.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-[#9A9A9A]",children:[(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),U("assignInstance.loadingInstances")]}):(null==Q?void 0:Q.source)==="project_fixed"?(0,r.jsx)(v.Y,{target:Q}):0===J.length?(0,r.jsx)("p",{className:"rounded-lg bg-background p-2.5 text-[11px] leading-relaxed text-muted-foreground",children:U("assignInstance.noInstances")}):(0,r.jsx)(h.O,{instances:J,selectedConnectionUuid:X,onSelect:e=>ee(e.connectionUuid),ariaLabel:U("assignInstance.workingDirectory")}),(null==Q?void 0:Q.source)!=="project_fixed"&&(0,r.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A8C7E]",children:[(0,r.jsx)(c.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,r.jsx)("span",{children:U("assignInstance.ideaPinNote")})]})]})]})]}),(0,r.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===E?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("user"),children:[(0,r.jsx)(f.C,{value:"user",id:"idea-user",className:"border-primary text-primary"}),(0,r.jsx)(x.J,{htmlFor:"idea-user",className:"text-sm font-medium text-foreground cursor-pointer",children:U("assign.orAssignToUser")})]}),"user"===E&&(0,r.jsx)("div",{className:"mt-3 ml-6",children:(0,r.jsxs)(p.l6,{value:L,onValueChange:q,children:[(0,r.jsx)(p.bq,{className:"w-full border-border",children:(0,r.jsx)(p.yv,{placeholder:U("tasks.selectUser")})}),(0,r.jsx)(p.gC,{className:"z-[120]",children:B.length>0?B.map(e=>(0,r.jsx)(p.eb,{value:e.uuid,children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,r.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:U("tasks.noUsersAvailable")})})]})})]}),et&&(0,r.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===E?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"),onClick:()=>D("release"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(f.C,{value:"release",id:"idea-release",className:"border-primary text-primary"}),(0,r.jsx)(x.J,{htmlFor:"idea-release",className:"text-sm font-medium text-foreground cursor-pointer",children:U("assign.releaseAssignee")})]}),(0,r.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:U("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},76313:(e,t,a)=>{a.d(t,{Z:()=>s});var r=a(52217);let s=(0,r.createServerReference)("600a43e0d4652a32be8b460f5b5c4df300a01a0c6a",r.callServer,void 0,r.findSourceMapURL,"deleteIdeaAction")},78948:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},84052:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},84247:(e,t,a)=>{a.d(t,{Separator:()=>l});var r=a(90508);a(1856);var s=a(5725),n=a(24377);function l(e){let{className:t,orientation:a="horizontal",decorative:l=!0,...i}=e;return(0,r.jsx)(s.b,{"data-slot":"separator",decorative:l,orientation:a,className:(0,n.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",t),...i})}},88395:(e,t,a)=>{a.d(t,{R:()=>N});var r=a(90508),s=a(1856),n=a(91814),l=a(39268),i=a(17730),d=a(78948),c=a(37915),o=a(62898),u=a(57893),m=a(60532),x=a(85226),f=a(22922),p=a(14554),h=a(81750),g=a(52217);let v=(0,g.createServerReference)("70f675d4e11730d294f429a214b4e3361504ba691b",g.callServer,void 0,g.findSourceMapURL,"submitElaborationAnswersAction");var b=a(42305);let j="__other__",w={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function N(e){let{ideaUuid:t,elaboration:a,onRefresh:s}=e,i=(0,l.c)("elaboration"),d=(0,n.r)();if(!a||0===a.rounds.length)return null;let{summary:c,rounds:o}=a;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:i("title")}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:i("answeredCounter",{answered:c.answeredQuestions,total:c.totalQuestions})})]}),(0,r.jsx)("div",{className:"space-y-2.5",children:o.map(e=>(0,r.jsx)(y,{round:e,ideaUuid:t,onAnswered:async()=>{await (null==s?void 0:s()),d.refresh()}},e.uuid))})]})}function y(e){let{round:t,ideaUuid:a,onAnswered:n}=e,c=(0,l.c)("elaboration"),o="pending_answers"===t.status,u="answered"===t.status||"validated"===t.status||"needs_followup"===t.status,[m,x]=(0,s.useState)(o);return(0,r.jsx)(h.Nt,{open:m,onOpenChange:x,children:(0,r.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-card",children:[(0,r.jsx)(h.R6,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-background ".concat(m?"bg-[#F7F6F3] dark:bg-[#1e1d1b] border-b border-border":""),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[m?(0,r.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"}):(0,r.jsx)(d.A,{className:"h-4 w-4 text-muted-foreground"}),(0,r.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-primary":"bg-[#888780]"),children:t.roundNumber}),(0,r.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:c("roundLabel",{number:t.roundNumber})}),t.isAppended&&(0,r.jsx)("span",{className:"rounded bg-[#EDE7F6] dark:bg-[#221833] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6] dark:text-[#A99FF0]",children:c("appendedBadge")}),!m&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["\xb7 ",c("questionCount",{count:t.questions.length})]})]}),u?(0,r.jsx)("span",{className:"rounded bg-[#E8F5E9] dark:bg-[#14281a] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32] dark:text-[#5FD07E]",children:c("statusAnswered")}):(0,r.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:c("pendingAnswers")})]})}),(0,r.jsx)(h.Ke,{children:o?(0,r.jsx)(A,{round:t,ideaUuid:a,onAnswered:n}):(0,r.jsx)(k,{round:t})})]})})}function k(e){let{round:t}=e,a=(0,l.c)("elaboration");return(0,r.jsx)("div",{className:"space-y-4 px-4 py-4",children:t.questions.map((e,s)=>{var n,l;let i=(null==(n=e.answer)?void 0:n.selectedOptionId)?e.options.find(t=>{var a;return t.id===(null==(a=e.answer)?void 0:a.selectedOptionId)}):null,d=(null==(l=e.answer)?void 0:l.customText)||(null==i?void 0:i.label)||a("noAnswer"),c=w[e.category]||e.category;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsxs)("span",{className:"text-xs leading-relaxed text-muted-foreground",children:["Q: ",e.text]}),(0,r.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:a("category.".concat(c))})]}),(0,r.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-foreground",children:["A: ",d]}),s<t.questions.length-1&&(0,r.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},e.uuid)})})}function A(e){var t,a,n;let{round:i,ideaUuid:h,onAnswered:g}=e,N=(0,l.c)("elaboration"),[y,k]=(0,s.useState)(0),A=(0,s.useRef)(y),[S,C]=(0,s.useState)("right"),[F,U]=(0,s.useState)({}),[I,_]=(0,s.useState)(!1),[R,E]=(0,s.useState)(null);(0,s.useEffect)(()=>{A.current=y},[y]);let D=(0,s.useCallback)((e,t)=>{C("left"===t?"right":"left"),k(e)},[]),T=i.questions,M=T[y],L=w[M.category]||M.category,q=(0,s.useCallback)((e,t)=>{if(U(a=>{var r;return{...a,[e]:{questionId:e,selectedOptionId:t===j?null:t,customText:t===j?(null==(r=a[e])?void 0:r.customText)||"":null}}}),t!==j){let e=Math.min(T.length-1,A.current+1);e!==A.current&&setTimeout(()=>D(e,"left"),200)}},[T.length,D]),O=(0,s.useCallback)((e,t)=>{U(a=>({...a,[e]:{...a[e],questionId:e,selectedOptionId:null,customText:t}}))},[]),z=T.filter(e=>e.required).every(e=>{let t=F[e.questionId];return!!t&&!!(t.selectedOptionId||t.customText&&t.customText.trim())}),B=async()=>{_(!0),E(null);let e=Object.values(F),t=await v(h,i.uuid,e);t.success?(await g(),_(!1)):(_(!1),E(t.error||N("submitFailed")))},$=(e=>{let t=F[e];return t?null===t.selectedOptionId&&null!==t.customText&&void 0!==t.customText?j:t.selectedOptionId||null:null})(M.questionId),P=$===j,G=y===T.length-1,H=!!(null!=(n=null==(t=F[M.questionId])?void 0:t.customText)?n:"").trim();return(0,r.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,r.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,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:M.text}),(0,r.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,r.jsx)(f.$,{variant:"ghost",size:"icon",onClick:()=>D(y-1,"right"),disabled:0===y,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,r.jsx)(c.A,{className:"h-4 w-4"})}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:N("navCounter",{current:y+1,total:T.length})}),(0,r.jsx)(f.$,{variant:"ghost",size:"icon",onClick:()=>D(y+1,"left"),disabled:y===T.length-1,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,r.jsx)(d.A,{className:"h-4 w-4"})})]})]}),(0,r.jsxs)("div",{className:"mt-3",children:[M.options.map((e,t)=>{let a=$===e.id;return(0,r.jsxs)("div",{children:[(0,r.jsxs)(f.$,{variant:"ghost",onClick:()=>q(M.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(a?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"),children:[(0,r.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,r.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-border text-xs font-medium text-foreground/80",children:t+1}),(0,r.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,r.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-foreground",children:e.label}),e.description&&(0,r.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-muted-foreground",children:e.description})]})]}),a&&(0,r.jsx)(o.A,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground"})]}),t<M.options.length-1&&(0,r.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},e.id)}),(0,r.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,r.jsxs)("div",{className:"flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ".concat(P?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"),children:[(0,r.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-border",onClick:()=>q(M.questionId,j),children:(0,r.jsx)(u.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),P?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.p,{type:"text",value:(null==(a=F[M.questionId])?void 0:a.customText)||"",onChange:e=>O(M.questionId,e.target.value),onKeyDown:e=>{if((0,b.P)(e)||"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),G||!H))return;let t=A.current+1;setTimeout(()=>D(t,"left"),200)},placeholder:N("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-foreground placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!G&&(0,r.jsx)(f.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(G||!H)return;let e=A.current+1;setTimeout(()=>D(e,"left"),200)},disabled:!H,"aria-label":N("confirmAnswerAria"),className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,r.jsx)(m.A,{className:"h-4 w-4"})})]}):(0,r.jsx)(f.$,{variant:"ghost",onClick:()=>q(M.questionId,j),className:"flex-1 justify-start text-left text-[13px] italic text-muted-foreground h-auto p-0 hover:bg-transparent",children:N("somethingElse")})]})]})]},y),R&&(0,r.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:R}),(0,r.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,r.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-primary"}),N("category.".concat(L))]}),(0,r.jsx)(f.$,{onClick:B,disabled:!z||I,className:"bg-primary hover:bg-[#B56A42] text-white text-[13px]",children:I?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),N("submitting")]}):N("submitAnswers")})]})]})}},95468:(e,t,a)=>{a.d(t,{w:()=>j});var r=a(90508),s=a(1856),n=a(39268),l=a(67587),i=a(85226),d=a(62482),c=a(22922),o=a(92691),u=a(59208);let m=new Set(["done","closed"]);function x(e){let{assignee:t,proposals:a,tasks:r}=e;return!!t&&("agent"===t.type||"agent_instance"===t.type)&&!!a&&!!a.some(e=>"approved"===e.status)&&!!r&&!!r.some(e=>!m.has(e.status))&&!0}var f=a(52217);let p=(0,f.createServerReference)("60fc05360046257fb71d722bd23527974a2e77d817",f.callServer,void 0,f.findSourceMapURL,"startDevelopmentAction");var h=a(24128),g=a(2201),v=a(21180);let b={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",no_approved_proposal:"errorNoApprovedProposal",no_unfinished_tasks:"errorNoUnfinishedTasks",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"};function j(e){var t,a,m,f,j,w;let{ideaUuid:N,assignee:y,assigneeName:k,proposals:A,tasks:S,onStarted:C}=e,F=(0,n.c)("startDevelopment"),U=null!=(a=null==(t=(0,u.kz)())?void 0:t.connections)?a:[],[I,_]=(0,s.useState)(!1),[R,E]=(0,s.useState)(!1),{start:D,pickerState:T,confirmPick:M,confirmTemporary:L,cancelPick:q,isResolving:O}=(0,g.E)({reassignNoWake:h.U,previewIdeaUuid:N});(0,s.useEffect)(()=>{E(!1)},[N]),(0,s.useEffect)(()=>{if(!R)return;let e=setTimeout(()=>E(!1),3e4);return()=>clearTimeout(e)},[R]);let z=y?"agent"===y.type?y.uuid:"agent_instance"===y.type&&null!=(j=null==(f=y.instance)?void 0:f.agentUuid)?j:null:null,B=null!==z&&U.some(e=>e.agentUuid===z&&"online"===e.effectiveStatus),$=x({assignee:y,proposals:A,tasks:S}),P=x(w={assignee:y,proposals:A,tasks:S,agentOnline:B})&&w.agentOnline;if(!$||R)return R?(0,r.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:F("startedHint")}):null;let G=async e=>{_(!0);let t=e?await p(N,e):await p(N);if(_(!1),t.success)E(!0),l.oR.success(F("startedHint")),null==C||C();else{var a;l.oR.error(F(b[null!=(a=t.errorCode)?a:"unknown"]))}},H=(0,r.jsx)(c.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{D({ideaUuid:N,wake:G})},disabled:!P||I||O,children:I?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),F("starting")]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:"mr-2 h-4 w-4"}),F("button")]})});return B?(0,r.jsxs)(r.Fragment,{children:[H,(0,r.jsx)(v.V,{open:null!==T,agentName:null!=k?k:"",instances:null!=(m=null==T?void 0:T.instances)?m:[],agentUuid:null==T?void 0:T.agentUuid,onConfirm:M,onTemporaryConfirm:L,onCancel:q})]}):(0,r.jsx)(o.Bc,{delayDuration:300,children:(0,r.jsxs)(o.m_,{children:[(0,r.jsx)(o.k$,{asChild:!0,children:(0,r.jsx)("span",{tabIndex:0,className:"inline-flex",children:H})}),(0,r.jsx)(o.ZI,{children:F("offlineHint")})]})})}},95900:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(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"}]])}}]);