@chorus-aidlc/chorus 0.12.1 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +431 -399
  3. package/.next/standalone/.next/app-path-routes-manifest.json +43 -43
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +21 -45
  6. package/.next/standalone/.next/react-loadable-manifest.json +36 -30
  7. package/.next/standalone/.next/routes-manifest.json +16 -6
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -0
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -0
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -0
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  52. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  59. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/admin.html +1 -1
  62. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  63. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/events/notifications/route.js +4 -4
  137. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/events/route.js +6 -6
  140. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -0
  162. package/.next/standalone/.next/server/app/api/{auth/refresh → ideas/conversational}/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -0
  164. package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
  165. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
  192. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js.nft.json +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.js +1 -1
  198. package/.next/standalone/.next/server/app/api/project-groups/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js.nft.json +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.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -0
  226. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -0
  227. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -0
  228. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
  229. package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  232. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  238. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  242. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  245. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  248. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js.nft.json +1 -1
  249. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  251. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  254. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js.nft.json +1 -1
  255. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/session/route.js +1 -0
  258. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -0
  259. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -0
  260. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  261. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  267. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  269. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  270. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  273. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  276. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  278. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  279. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  281. package/.next/standalone/.next/server/app/index.html +1 -1
  282. package/.next/standalone/.next/server/app/index.rsc +3 -3
  283. package/.next/standalone/.next/server/app/login/admin/page.js +2 -2
  284. package/.next/standalone/.next/server/app/login/admin/page.js.nft.json +1 -1
  285. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  287. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  288. package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
  289. package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
  290. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  291. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  292. package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
  293. package/.next/standalone/.next/server/app/login/page.js +2 -2
  294. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  296. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
  297. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  299. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +3 -3
  300. package/.next/standalone/.next/server/app/login.html +1 -1
  301. package/.next/standalone/.next/server/app/login.rsc +3 -3
  302. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  303. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  305. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  306. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  307. package/.next/standalone/.next/server/app/page.js +2 -2
  308. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  309. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  310. package/.next/standalone/.next/server/app/projects.html +1 -1
  311. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  312. package/.next/standalone/.next/server/app/settings.html +1 -1
  313. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  314. package/.next/standalone/.next/server/app-paths-manifest.json +43 -43
  315. package/.next/standalone/.next/server/chunks/1113.js +2 -2
  316. package/.next/standalone/.next/server/chunks/1114.js +1 -0
  317. package/.next/standalone/.next/server/chunks/1337.js +1 -1
  318. package/.next/standalone/.next/server/chunks/1559.js +13 -0
  319. package/.next/standalone/.next/server/chunks/2315.js +1 -1
  320. package/.next/standalone/.next/server/chunks/2364.js +2 -2
  321. package/.next/standalone/.next/server/chunks/{7258.js → 2516.js} +1 -1
  322. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  323. package/.next/standalone/.next/server/chunks/2631.js +2 -2
  324. package/.next/standalone/.next/server/chunks/282.js +1 -1
  325. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  326. package/.next/standalone/.next/server/chunks/3197.js +3 -0
  327. package/.next/standalone/.next/server/chunks/3217.js +1 -1
  328. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  329. package/.next/standalone/.next/server/chunks/3371.js +1 -0
  330. package/.next/standalone/.next/server/chunks/3373.js +1 -0
  331. package/.next/standalone/.next/server/chunks/3419.js +1 -1
  332. package/.next/standalone/.next/server/chunks/3680.js +1 -1
  333. package/.next/standalone/.next/server/chunks/4157.js +1 -1
  334. package/.next/standalone/.next/server/chunks/4193.js +1 -1
  335. package/.next/standalone/.next/server/chunks/4375.js +2 -2
  336. package/.next/standalone/.next/server/chunks/4615.js +1 -1
  337. package/.next/standalone/.next/server/chunks/4827.js +1 -0
  338. package/.next/standalone/.next/server/chunks/4958.js +1 -0
  339. package/.next/standalone/.next/server/chunks/5090.js +1 -1
  340. package/.next/standalone/.next/server/chunks/5095.js +6 -0
  341. package/.next/standalone/.next/server/chunks/5217.js +1 -1
  342. package/.next/standalone/.next/server/chunks/5300.js +1 -1
  343. package/.next/standalone/.next/server/chunks/5319.js +1 -1
  344. package/.next/standalone/.next/server/chunks/5453.js +1 -1
  345. package/.next/standalone/.next/server/chunks/5511.js +1 -1
  346. package/.next/standalone/.next/server/chunks/5957.js +1 -0
  347. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  348. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  349. package/.next/standalone/.next/server/chunks/6496.js +1 -0
  350. package/.next/standalone/.next/server/chunks/679.js +1 -0
  351. package/.next/standalone/.next/server/chunks/6817.js +1 -0
  352. package/.next/standalone/.next/server/chunks/704.js +31 -0
  353. package/.next/standalone/.next/server/chunks/7160.js +1 -1
  354. package/.next/standalone/.next/server/chunks/7217.js +1 -1
  355. package/.next/standalone/.next/server/chunks/7364.js +1 -1
  356. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  357. package/.next/standalone/.next/server/chunks/796.js +6 -6
  358. package/.next/standalone/.next/server/chunks/8431.js +1 -1
  359. package/.next/standalone/.next/server/chunks/8448.js +1 -0
  360. package/.next/standalone/.next/server/chunks/{8267.js → 8481.js} +1 -1
  361. package/.next/standalone/.next/server/chunks/8497.js +1 -0
  362. package/.next/standalone/.next/server/chunks/8577.js +153 -0
  363. package/.next/standalone/.next/server/chunks/8812.js +1 -1
  364. package/.next/standalone/.next/server/chunks/8895.js +1 -0
  365. package/.next/standalone/.next/server/chunks/903.js +1 -1
  366. package/.next/standalone/.next/server/chunks/920.js +1 -1
  367. package/.next/standalone/.next/server/chunks/9726.js +1 -0
  368. package/.next/standalone/.next/server/chunks/9849.js +2 -2
  369. package/.next/standalone/.next/server/instrumentation.js +1 -1
  370. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  371. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  372. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  373. package/.next/standalone/.next/server/pages/404.html +1 -1
  374. package/.next/standalone/.next/server/pages/500.html +1 -1
  375. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  376. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  377. package/.next/standalone/.next/server/src/middleware.js +5 -5
  378. package/.next/standalone/.next/static/chunks/15653-31c406c41bf58048.js +1 -0
  379. package/.next/standalone/.next/static/chunks/{16551-68896c0ca7966ebf.js → 16551-d129ae0de4a04d69.js} +5 -5
  380. package/.next/standalone/.next/static/chunks/1892-9c03d4d3560ff572.js +1 -0
  381. package/.next/standalone/.next/static/chunks/22190.149dd0799cbcba06.js +1 -0
  382. package/.next/standalone/.next/static/chunks/225-8a41a800021f3d11.js +1 -0
  383. package/.next/standalone/.next/static/chunks/{2351.35085ef2663aaa44.js → 2351.a2908f154b03857c.js} +1 -1
  384. package/.next/standalone/.next/static/chunks/24459-3bc9657d71c77b47.js +1 -0
  385. package/.next/standalone/.next/static/chunks/{29047.664290ff8a84b205.js → 29047.65b677c7f3e6459f.js} +1 -1
  386. package/.next/standalone/.next/static/chunks/{30682.c8fc49d63bf75772.js → 30682.b12a9bef588e7b03.js} +1 -1
  387. package/.next/standalone/.next/static/chunks/31467.9f8adfa602f97fcf.js +115 -0
  388. package/.next/standalone/.next/static/chunks/{33187.1328c15b9dab78a8.js → 33187.13c12f5c0821ac57.js} +1 -1
  389. package/.next/standalone/.next/static/chunks/{33665.20ed9144405f8b21.js → 33665.804ece4d6c6e4eca.js} +3 -3
  390. package/.next/standalone/.next/static/chunks/34520.1a6c6a7c421b0ff3.js +1 -0
  391. package/.next/standalone/.next/static/chunks/38296-316ba18af72385fb.js +1 -0
  392. package/.next/standalone/.next/static/chunks/46055-f786ace4b994dc40.js +1 -0
  393. package/.next/standalone/.next/static/chunks/{47066.7848777fc81f5714.js → 47066.214cf62dd898ea16.js} +1 -1
  394. package/.next/standalone/.next/static/chunks/4860.7844c573cb3914f3.js +1 -0
  395. package/.next/standalone/.next/static/chunks/48782.4ca261e8e23a8983.js +24 -0
  396. package/.next/standalone/.next/static/chunks/52064-74d81c8d682deb6b.js +1 -0
  397. package/.next/standalone/.next/static/chunks/57362-9ece5cc290dab705.js +1 -0
  398. package/.next/standalone/.next/static/chunks/{14655-4f3bc7f3044c42c1.js → 58037-55d7422c6b808356.js} +1 -1
  399. package/.next/standalone/.next/static/chunks/58262-395c00e04f610a32.js +1 -0
  400. package/.next/standalone/.next/static/chunks/58699.364d357d33fcb52f.js +80 -0
  401. package/.next/standalone/.next/static/chunks/61963.fd130ba09dd25e2e.js +23 -0
  402. package/.next/standalone/.next/static/chunks/65317.ab0c5ecb4164b291.js +148 -0
  403. package/.next/standalone/.next/static/chunks/68255-05c42a26602c6b37.js +1 -0
  404. package/.next/standalone/.next/static/chunks/{69477.4b854e377a3860cc.js → 69477.5b79cd575f93298f.js} +1 -1
  405. package/.next/standalone/.next/static/chunks/{69763.37d07a3035805bc7.js → 69763.003df47b4ee38644.js} +1 -1
  406. package/.next/standalone/.next/static/chunks/7317.8e3ce1ce083425d8.js +5 -0
  407. package/.next/standalone/.next/static/chunks/73506.b9c053e2335b6084.js +1 -0
  408. package/.next/standalone/.next/static/chunks/75752-cc8fafe132943baa.js +1 -0
  409. package/.next/standalone/.next/static/chunks/78966.075119c3a72135ed.js +1 -0
  410. package/.next/standalone/.next/static/chunks/79806.21f1d23ca273000d.js +4 -0
  411. package/.next/standalone/.next/static/chunks/80350-8ac8d602965bb4df.js +1 -0
  412. package/.next/standalone/.next/static/chunks/84169-71a87d06871ec9df.js +1 -0
  413. package/.next/standalone/.next/static/chunks/85947.c813bf8bc6e1d675.js +90 -0
  414. package/.next/standalone/.next/static/chunks/91709.ed3bfd285c518df1.js +287 -0
  415. package/.next/standalone/.next/static/chunks/94400.0d371a4d306a614b.js +1 -0
  416. package/.next/standalone/.next/static/chunks/94528-ed3f03485480f5e5.js +1 -0
  417. package/.next/standalone/.next/static/chunks/94743-aff8a51a7f7970a9.js +1 -0
  418. package/.next/standalone/.next/static/chunks/96028.cdbf36dca753e70f.js +215 -0
  419. package/.next/standalone/.next/static/chunks/{96132.3bac072bb2743fb5.js → 96132.ab9b9433c7b2fa1c.js} +1 -1
  420. package/.next/standalone/.next/static/chunks/97306-8834e12cdbeed920.js +1 -0
  421. package/.next/standalone/.next/static/chunks/{97784-42081b75f8cc6da8.js → 97784-7b90a17294840e32.js} +1 -1
  422. package/.next/standalone/.next/static/chunks/99373.6f0ec031fb759d88.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-a3747bde1ddaba52.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-87b79c98e46fbd04.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-47e1d397c5fcef9e.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-f72f17eb58614d2b.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-0467d744b84aa2c2.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-e0935445535c28cb.js → page-7abff55f9bfebab3.js} +1 -1
  429. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-3238e0b5474c60f6.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-9f0ebba7e855b2f9.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-6dbfbe5d97855e42.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-b8fbcac7224342db.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-0a04a31e1b383094.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-e2a69b645ec9ae13.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-fec019d974ef8d4e.js → page-b760877bfcd12dff.js} +1 -1
  436. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-111aed4d3319d64b.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-47e1d397c5fcef9e.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-47e1d397c5fcef9e.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-47e1d397c5fcef9e.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-47e1d397c5fcef9e.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-47e1d397c5fcef9e.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/agents/route-47e1d397c5fcef9e.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-47e1d397c5fcef9e.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-47e1d397c5fcef9e.js +1 -0
  448. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-47e1d397c5fcef9e.js +1 -0
  449. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-47e1d397c5fcef9e.js +1 -0
  450. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-47e1d397c5fcef9e.js +1 -0
  451. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-47e1d397c5fcef9e.js +1 -0
  452. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-47e1d397c5fcef9e.js +1 -0
  453. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-47e1d397c5fcef9e.js +1 -0
  454. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-47e1d397c5fcef9e.js +1 -0
  455. package/.next/standalone/.next/static/chunks/app/api/comments/route-47e1d397c5fcef9e.js +1 -0
  456. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-47e1d397c5fcef9e.js +1 -0
  457. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-47e1d397c5fcef9e.js +1 -0
  458. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-47e1d397c5fcef9e.js +1 -0
  459. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-47e1d397c5fcef9e.js +1 -0
  460. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-47e1d397c5fcef9e.js +1 -0
  461. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-47e1d397c5fcef9e.js +1 -0
  462. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-47e1d397c5fcef9e.js +1 -0
  463. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-47e1d397c5fcef9e.js +1 -0
  464. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-47e1d397c5fcef9e.js +1 -0
  465. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-47e1d397c5fcef9e.js +1 -0
  466. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-47e1d397c5fcef9e.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-47e1d397c5fcef9e.js +1 -0
  468. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-47e1d397c5fcef9e.js +1 -0
  469. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  470. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-47e1d397c5fcef9e.js +1 -0
  471. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-47e1d397c5fcef9e.js +1 -0
  472. package/.next/standalone/.next/static/chunks/app/api/events/route-47e1d397c5fcef9e.js +1 -0
  473. package/.next/standalone/.next/static/chunks/app/api/health/route-47e1d397c5fcef9e.js +1 -0
  474. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-47e1d397c5fcef9e.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-47e1d397c5fcef9e.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-47e1d397c5fcef9e.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-47e1d397c5fcef9e.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-47e1d397c5fcef9e.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-47e1d397c5fcef9e.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/mcp/route-47e1d397c5fcef9e.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-47e1d397c5fcef9e.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-47e1d397c5fcef9e.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-47e1d397c5fcef9e.js +1 -0
  485. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-47e1d397c5fcef9e.js +1 -0
  486. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-47e1d397c5fcef9e.js +1 -0
  487. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-47e1d397c5fcef9e.js +1 -0
  488. package/.next/standalone/.next/static/chunks/app/api/notifications/route-47e1d397c5fcef9e.js +1 -0
  489. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-47e1d397c5fcef9e.js +1 -0
  490. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-47e1d397c5fcef9e.js +1 -0
  491. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  492. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-47e1d397c5fcef9e.js +1 -0
  493. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-47e1d397c5fcef9e.js +1 -0
  494. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-47e1d397c5fcef9e.js +1 -0
  495. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-47e1d397c5fcef9e.js +1 -0
  496. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-47e1d397c5fcef9e.js +1 -0
  497. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-47e1d397c5fcef9e.js +1 -0
  498. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-47e1d397c5fcef9e.js +1 -0
  499. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-47e1d397c5fcef9e.js +1 -0
  500. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-47e1d397c5fcef9e.js +1 -0
  501. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-47e1d397c5fcef9e.js +1 -0
  502. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-47e1d397c5fcef9e.js +1 -0
  503. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  504. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-47e1d397c5fcef9e.js +1 -0
  505. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-47e1d397c5fcef9e.js +1 -0
  506. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-47e1d397c5fcef9e.js +1 -0
  507. package/.next/standalone/.next/static/chunks/app/api/projects/route-47e1d397c5fcef9e.js +1 -0
  508. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-47e1d397c5fcef9e.js +1 -0
  509. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-47e1d397c5fcef9e.js +1 -0
  510. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-47e1d397c5fcef9e.js +1 -0
  511. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-47e1d397c5fcef9e.js +1 -0
  512. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  513. package/.next/standalone/.next/static/chunks/app/api/search/route-47e1d397c5fcef9e.js +1 -0
  514. package/.next/standalone/.next/static/chunks/app/api/session/route-47e1d397c5fcef9e.js +1 -0
  515. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  516. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-47e1d397c5fcef9e.js +1 -0
  517. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-47e1d397c5fcef9e.js +1 -0
  518. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-47e1d397c5fcef9e.js +1 -0
  519. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-47e1d397c5fcef9e.js +1 -0
  520. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-47e1d397c5fcef9e.js +1 -0
  521. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-47e1d397c5fcef9e.js +1 -0
  522. package/.next/standalone/.next/static/chunks/app/login/callback/page-39a43f6d0245f8ca.js +1 -0
  523. package/.next/standalone/.next/static/chunks/app/login/page-acda3a31dc6a8280.js +1 -0
  524. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-10683852baf17426.js +1 -0
  525. package/.next/standalone/.next/static/chunks/app/onboarding/{page-2936274fb252329e.js → page-8e20c8aa8ff90326.js} +1 -1
  526. package/.next/standalone/.next/static/chunks/app/page-000b1349c8d5b652.js +1 -0
  527. package/.next/standalone/.next/static/chunks/{f57f1d5e.71d2022a2e2d95ba.js → f57f1d5e.c345ce68aa5052a7.js} +1 -1
  528. package/.next/standalone/.next/static/chunks/{fcc64ffe-de8d357e657bd162.js → fcc64ffe-2c36a6b45f81782c.js} +3 -3
  529. package/.next/standalone/.next/static/chunks/webpack-fe12dfe2e0d0e4f3.js +1 -0
  530. package/.next/standalone/.next/static/css/3f3ae2bdc9e55259.css +1 -0
  531. package/.next/standalone/.next/static/eORNzMShbzkJbNfQT8MbW/_buildManifest.js +1 -0
  532. package/.next/standalone/package.json +3 -1
  533. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -0
  534. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +2 -0
  535. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -0
  536. package/.next/standalone/public/skill/idea-chorus/SKILL.md +2 -0
  537. package/README.md +23 -2
  538. package/README.zh.md +23 -2
  539. package/chorus.mjs +118 -34
  540. package/cli/client-args.mjs +31 -9
  541. package/cli/control-handler.mjs +22 -5
  542. package/cli/daemon-lifecycle.mjs +192 -25
  543. package/cli/daemon-rest-client.mjs +6 -2
  544. package/cli/daemon-service.mjs +422 -0
  545. package/cli/daemon.mjs +181 -13
  546. package/cli/embedded-db.mjs +234 -0
  547. package/cli/event-router.mjs +29 -10
  548. package/cli/prompts.mjs +61 -0
  549. package/cli/turn-reporter.mjs +26 -5
  550. package/cli/wake-queue.mjs +30 -0
  551. package/cli/waker.mjs +91 -22
  552. package/package.json +3 -1
  553. package/prisma/migrations/20260704023331_add_turn_interrupted_state/migration.sql +2 -0
  554. package/prisma/schema.prisma +9 -2
  555. package/.next/standalone/.next/server/app/api/auth/refresh/route.js +0 -1
  556. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +0 -1
  557. package/.next/standalone/.next/server/app/api/auth/session/route.js +0 -1
  558. package/.next/standalone/.next/server/app/api/auth/session/route.js.nft.json +0 -1
  559. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +0 -1
  560. package/.next/standalone/.next/server/app/api/keepalive/route.js +0 -1
  561. package/.next/standalone/.next/server/app/api/keepalive/route.js.nft.json +0 -1
  562. package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +0 -1
  563. package/.next/standalone/.next/server/app/login/silent-refresh/page.js +0 -2
  564. package/.next/standalone/.next/server/app/login/silent-refresh/page.js.nft.json +0 -1
  565. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +0 -1
  566. package/.next/standalone/.next/server/app/login/silent-refresh.html +0 -1
  567. package/.next/standalone/.next/server/app/login/silent-refresh.meta +0 -7
  568. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +0 -24
  569. package/.next/standalone/.next/server/chunks/1463.js +0 -1
  570. package/.next/standalone/.next/server/chunks/1596.js +0 -13
  571. package/.next/standalone/.next/server/chunks/2622.js +0 -1
  572. package/.next/standalone/.next/server/chunks/2779.js +0 -31
  573. package/.next/standalone/.next/server/chunks/4292.js +0 -1
  574. package/.next/standalone/.next/server/chunks/4872.js +0 -1
  575. package/.next/standalone/.next/server/chunks/5538.js +0 -1
  576. package/.next/standalone/.next/server/chunks/6096.js +0 -3
  577. package/.next/standalone/.next/server/chunks/7063.js +0 -6
  578. package/.next/standalone/.next/server/chunks/7427.js +0 -1
  579. package/.next/standalone/.next/server/chunks/7515.js +0 -1
  580. package/.next/standalone/.next/server/chunks/8732.js +0 -1
  581. package/.next/standalone/.next/server/chunks/9161.js +0 -1
  582. package/.next/standalone/.next/server/chunks/9273.js +0 -1
  583. package/.next/standalone/.next/server/chunks/937.js +0 -153
  584. package/.next/standalone/.next/static/GmBblfxcDziUENBiEap4B/_buildManifest.js +0 -1
  585. package/.next/standalone/.next/static/chunks/10344-2e9a9d767e2e8ed1.js +0 -1
  586. package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +0 -1
  587. package/.next/standalone/.next/static/chunks/22190.ee4e8f3ac0189d87.js +0 -1
  588. package/.next/standalone/.next/static/chunks/2280-f48bf99ea9d88ece.js +0 -1
  589. package/.next/standalone/.next/static/chunks/26394-4af487a51dd62832.js +0 -1
  590. package/.next/standalone/.next/static/chunks/31467.2013df596c751e6e.js +0 -115
  591. package/.next/standalone/.next/static/chunks/34520.34ba1239c9b5a275.js +0 -1
  592. package/.next/standalone/.next/static/chunks/37784-95dee37276b1067b.js +0 -1
  593. package/.next/standalone/.next/static/chunks/46983-8bf90f1ffeb55957.js +0 -1
  594. package/.next/standalone/.next/static/chunks/46999-f53da8f53fe1b8a9.js +0 -1
  595. package/.next/standalone/.next/static/chunks/4860.e3d0dd79a4d37626.js +0 -1
  596. package/.next/standalone/.next/static/chunks/48782.5b60e8a0f22f6da1.js +0 -24
  597. package/.next/standalone/.next/static/chunks/54637-71d281d649ea3a17.js +0 -1
  598. package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +0 -1
  599. package/.next/standalone/.next/static/chunks/58699.fa3b8ce67889f23b.js +0 -80
  600. package/.next/standalone/.next/static/chunks/61963.18e80afc0dac41e3.js +0 -23
  601. package/.next/standalone/.next/static/chunks/65317.7179d4bc41c8075a.js +0 -148
  602. package/.next/standalone/.next/static/chunks/7317.1a06bc56028637f6.js +0 -5
  603. package/.next/standalone/.next/static/chunks/73506.7423a313220e1769.js +0 -1
  604. package/.next/standalone/.next/static/chunks/78917-aa5bbff9248799a4.js +0 -1
  605. package/.next/standalone/.next/static/chunks/79806.d210b93e41d4d7ff.js +0 -4
  606. package/.next/standalone/.next/static/chunks/85573-fb4d2cbd67612d47.js +0 -1
  607. package/.next/standalone/.next/static/chunks/85947.cf4ac5dd618283ee.js +0 -90
  608. package/.next/standalone/.next/static/chunks/88561-0b14e1564419f215.js +0 -1
  609. package/.next/standalone/.next/static/chunks/89035-faf398b7bbc7d2ed.js +0 -1
  610. package/.next/standalone/.next/static/chunks/91709.f7c8eff0c3692bd6.js +0 -287
  611. package/.next/standalone/.next/static/chunks/94400.30696ed643217da2.js +0 -1
  612. package/.next/standalone/.next/static/chunks/96028.427c0bd44fa35314.js +0 -215
  613. package/.next/standalone/.next/static/chunks/97868-55f18a05fe483d85.js +0 -1
  614. package/.next/standalone/.next/static/chunks/99373.cc6319fa4cf36081.js +0 -1
  615. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b3a497ba5eb08036.js +0 -1
  616. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2944c6c9bc48a7d6.js +0 -1
  617. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-f1b0daea9f947caf.js +0 -1
  618. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-d786f0c18a9c4f06.js +0 -1
  619. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c68f1eda3779b448.js +0 -1
  620. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f824632ff61a9fa7.js +0 -1
  621. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-dbcb6e50fc4816c6.js +0 -1
  622. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-1295bc505e727383.js +0 -1
  623. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-ceeec49af0396432.js +0 -1
  624. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-1286afe43c086d6a.js +0 -1
  625. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-0fb1d51016f6bd56.js +0 -1
  626. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-f1b0daea9f947caf.js +0 -1
  627. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-f1b0daea9f947caf.js +0 -1
  628. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-f1b0daea9f947caf.js +0 -1
  629. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-f1b0daea9f947caf.js +0 -1
  630. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-f1b0daea9f947caf.js +0 -1
  631. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-f1b0daea9f947caf.js +0 -1
  632. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-f1b0daea9f947caf.js +0 -1
  633. package/.next/standalone/.next/static/chunks/app/api/agents/route-f1b0daea9f947caf.js +0 -1
  634. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-f1b0daea9f947caf.js +0 -1
  635. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-f1b0daea9f947caf.js +0 -1
  636. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-f1b0daea9f947caf.js +0 -1
  637. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-f1b0daea9f947caf.js +0 -1
  638. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-f1b0daea9f947caf.js +0 -1
  639. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-f1b0daea9f947caf.js +0 -1
  640. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-f1b0daea9f947caf.js +0 -1
  641. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-f1b0daea9f947caf.js +0 -1
  642. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-f1b0daea9f947caf.js +0 -1
  643. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-f1b0daea9f947caf.js +0 -1
  644. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-f1b0daea9f947caf.js +0 -1
  645. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-f1b0daea9f947caf.js +0 -1
  646. package/.next/standalone/.next/static/chunks/app/api/comments/route-f1b0daea9f947caf.js +0 -1
  647. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-f1b0daea9f947caf.js +0 -1
  648. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-f1b0daea9f947caf.js +0 -1
  649. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-f1b0daea9f947caf.js +0 -1
  650. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-f1b0daea9f947caf.js +0 -1
  651. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-f1b0daea9f947caf.js +0 -1
  652. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-f1b0daea9f947caf.js +0 -1
  653. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-f1b0daea9f947caf.js +0 -1
  654. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-f1b0daea9f947caf.js +0 -1
  655. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-f1b0daea9f947caf.js +0 -1
  656. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-f1b0daea9f947caf.js +0 -1
  657. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-f1b0daea9f947caf.js +0 -1
  658. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-f1b0daea9f947caf.js +0 -1
  659. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-f1b0daea9f947caf.js +0 -1
  660. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-f1b0daea9f947caf.js +0 -1
  661. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-f1b0daea9f947caf.js +0 -1
  662. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-f1b0daea9f947caf.js +0 -1
  663. package/.next/standalone/.next/static/chunks/app/api/events/route-f1b0daea9f947caf.js +0 -1
  664. package/.next/standalone/.next/static/chunks/app/api/health/route-f1b0daea9f947caf.js +0 -1
  665. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-f1b0daea9f947caf.js +0 -1
  666. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-f1b0daea9f947caf.js +0 -1
  667. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-f1b0daea9f947caf.js +0 -1
  668. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-f1b0daea9f947caf.js +0 -1
  669. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-f1b0daea9f947caf.js +0 -1
  670. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-f1b0daea9f947caf.js +0 -1
  671. package/.next/standalone/.next/static/chunks/app/api/keepalive/route-f1b0daea9f947caf.js +0 -1
  672. package/.next/standalone/.next/static/chunks/app/api/mcp/route-f1b0daea9f947caf.js +0 -1
  673. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-f1b0daea9f947caf.js +0 -1
  674. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-f1b0daea9f947caf.js +0 -1
  675. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-f1b0daea9f947caf.js +0 -1
  676. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-f1b0daea9f947caf.js +0 -1
  677. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-f1b0daea9f947caf.js +0 -1
  678. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-f1b0daea9f947caf.js +0 -1
  679. package/.next/standalone/.next/static/chunks/app/api/notifications/route-f1b0daea9f947caf.js +0 -1
  680. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-f1b0daea9f947caf.js +0 -1
  681. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-f1b0daea9f947caf.js +0 -1
  682. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-f1b0daea9f947caf.js +0 -1
  683. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-f1b0daea9f947caf.js +0 -1
  684. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-f1b0daea9f947caf.js +0 -1
  685. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-f1b0daea9f947caf.js +0 -1
  686. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-f1b0daea9f947caf.js +0 -1
  687. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-f1b0daea9f947caf.js +0 -1
  688. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-f1b0daea9f947caf.js +0 -1
  689. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-f1b0daea9f947caf.js +0 -1
  690. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-f1b0daea9f947caf.js +0 -1
  691. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-f1b0daea9f947caf.js +0 -1
  692. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-f1b0daea9f947caf.js +0 -1
  693. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-f1b0daea9f947caf.js +0 -1
  694. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-f1b0daea9f947caf.js +0 -1
  695. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-f1b0daea9f947caf.js +0 -1
  696. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-f1b0daea9f947caf.js +0 -1
  697. package/.next/standalone/.next/static/chunks/app/api/projects/route-f1b0daea9f947caf.js +0 -1
  698. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-f1b0daea9f947caf.js +0 -1
  699. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-f1b0daea9f947caf.js +0 -1
  700. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-f1b0daea9f947caf.js +0 -1
  701. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-f1b0daea9f947caf.js +0 -1
  702. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-f1b0daea9f947caf.js +0 -1
  703. package/.next/standalone/.next/static/chunks/app/api/search/route-f1b0daea9f947caf.js +0 -1
  704. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-f1b0daea9f947caf.js +0 -1
  705. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-f1b0daea9f947caf.js +0 -1
  706. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-f1b0daea9f947caf.js +0 -1
  707. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-f1b0daea9f947caf.js +0 -1
  708. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-f1b0daea9f947caf.js +0 -1
  709. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-f1b0daea9f947caf.js +0 -1
  710. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-f1b0daea9f947caf.js +0 -1
  711. package/.next/standalone/.next/static/chunks/app/login/callback/page-6cad93f5c610b047.js +0 -1
  712. package/.next/standalone/.next/static/chunks/app/login/page-d2513f477211dd6f.js +0 -1
  713. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-597e0f3377f18d29.js +0 -1
  714. package/.next/standalone/.next/static/chunks/app/login/silent-refresh/page-a26d1af61578c96e.js +0 -1
  715. package/.next/standalone/.next/static/chunks/app/page-075afd218994d377.js +0 -1
  716. package/.next/standalone/.next/static/chunks/webpack-ed3555ea61243391.js +0 -1
  717. package/.next/standalone/.next/static/css/6e8fd46b062fd4fc.css +0 -1
  718. /package/.next/standalone/.next/static/{GmBblfxcDziUENBiEap4B → eORNzMShbzkJbNfQT8MbW}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","showMore":"展开","showLess":"收起","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试","loadingMore":"加载更多...","noMoreComments":"没有更多评论"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"assignInstance":{"workingDirectory":"工作目录","loadingInstances":"正在加载工作目录…","noInstances":"该智能体没有在线的守护进程。任务已分配并已通知该智能体,它将在下次上线时领取。","pinNote":"自主唤醒会将此任务路由到你在此固定的确切(主机,路径)实例。只能固定在线实例。路径绝不会从项目推断。","ideaPinNote":"想法是固定的根:该智能体的提案、任务和自主唤醒都会继承你在此固定的(主机,路径)。只能固定在线实例。留空则分配给普通智能体。","assignTo":"分配到 {path}","assignToWithHost":"分配到 {path} \xb7 {host}","sendingTo":"发送到 {path}","sendingToWithHost":"发送到 {path} \xb7 {host}","liveSendNote":"立即发送指令。实时发送要求该路径处于在线状态。","offlineCantRun":"离线 — 重新连接前无法运行"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","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":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","completed":"已完成","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"startDevelopment":{"button":"开始开发","starting":"启动中...","startedHint":"开发已启动 —— agent 正在执行剩余任务","offlineHint":"该 agent 当前离线,重新连接后按钮将可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再开始开发。","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。","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","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节...","modeForm":"填写表单","modeConversation":"对智能体描述","modeConversationOfflineHint":"对智能体描述需要一个在线的守护进程。"},"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","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}","instructionSent":"指令已发送。","instructionError":"指令发送失败,请重试。","instructionEmpty":"请先输入指令再发送。","instructionTooLong":"指令过长。请精简到 {max} 个字符以内。","originOnlineTag":"源端在线","originOfflineTag":"源端离线","originOffline":"该会话的源端守护进程已离线,因此为只读状态。请改为开启一个新会话。","noOnlineConnection":"该智能体没有可发送的在线连接。请先启动它的守护进程,再发送指令。","targetConversation":"会话","newConversation":"新会话","sessionIdeaLabel":"想法 {id}","sessionAdHocLabel":"会话 {id}","adHocTitle":"开启新会话","adHocBody":"选择一个在线连接并发送第一条指令。新会话会在该连接的启动目录中运行。","pickConnection":"连接","pickConnectionPlaceholder":"选择一个在线连接","startSession":"开启会话","adHocSessionStarted":"会话已开启,智能体稍后会接手。","entityConversation":"对话"},"daemonChat":{"title":"对话","subtitle":"逐回合查看智能体做了什么。可在对话内继续发送或中断。","agentSelectLabel":"智能体","agentSelectPlaceholder":"选择一个智能体","agentSessionCount":"{count, plural, other {# 个对话}}","listHeader":"对话","loadMore":"加载更多","loadEarlier":"加载更早的消息","loadingEarlier":"正在加载更早…","loading":"正在加载对话…","transcriptLoading":"正在加载记录…","mobileBack":"对话","conversationAdHoc":"对话 {id}","conversationIdea":"想法 {id}","badgeIdea":"想法","running":"运行中","runningElapsedLabel":"本次运行已用时","statusActive":"进行中","statusEnded":"已结束","statusInterrupted":"已打断","statusError":"错误","turnStatusPending":"排队中","turnStatusRunning":"运行中","turnStatusInterrupted":"已中断","turnStatusEnded":"已结束","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","privacyNote":"对话记录由智能体的守护进程上报,可能包含本地文件路径。仅保留最近的消息。","noAgents":{"title":"暂无对话","body":"当智能体被唤醒时(因任务、提及、澄清或你发送的指令),它的对话会显示在这里。"},"noSessions":{"title":"该智能体暂无对话","body":"在下方输入框发送一条指令以开启对话。"},"newConversationButton":"新建对话","newConversationTitle":"新建对话","newConversationBody":"向 {agent} 发送第一条指令。它会在你选择的连接上开启一个新会话。","newConversationNoAgent":"先在左侧选择一个智能体,然后发送第一条指令以开启对话。","newConversationNoOnlineTitle":"没有在线连接","newConversationNoOnlineBody":"该智能体当前没有在线的守护进程可对话。请先启动它的守护进程,再在此发送指令。","replyPlaceholder":"在此对话中回复…","selectPrompt":"选择一个对话以查看其记录。","loadErrorTitle":"无法加载该对话","loadErrorBody":"无法连接到记录服务。这是加载问题,而非空对话。重新打开时会自动重试。","originOfflineNote":"该对话的来源守护进程已离线,因此为只读。历史记录仍会显示;如需发送,请在某个在线目录中继续。","continueOnlineAction":"在在线目录中继续","continueOnlineHelp":"保留本对话,并在该智能体的某个在线工作目录中继续。它会在该目录中以全新状态接续(上方历史记录将保留为只读上下文)。","continueOnlineStarted":"正在该在线目录中继续","detailsLabel":"连接详情","detailsHostUnknown":"未知主机","detailUptime":"运行时长","detailHost":"主机","detailStarted":"启动于","copySessionId":"复制 session ID","sessionIdCopied":"已复制!"},"agentPresence":{"online":"在线","onlineUnit":"{count, plural, other {智能体在线}}","loading":"正在检查智能体…","unavailable":"智能体不可用","pillAria":"在线智能体 — 打开详情","popoverTitle":"在线智能体","connectionIdle":"空闲 — 没有正在运行或排队的工作。","viewAll":"查看全部","unknownPath":"未知路径","unknownHost":"未知主机","drilldown":{"instancesCount":"{count, plural, other {# 个实例}}","hostsCount":"{count, plural, other {# 台主机}}","expandAgent":"展开 {agent} 的工作目录","collapseAgent":"收起 {agent} 的工作目录","idle":"空闲","runningFor":"运行中 \xb7 {time}","queuedCount":"{count, plural, other {# 个排队}}","offlineSince":"离线 \xb7 {time}","fieldPath":"工作目录"}},"transcriptHeader":{"cwdAriaLabel":"工作目录","hostAriaLabel":"主机"},"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":"没有在线实例"},"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":"加载中…"},"status":{"unknown":"未知"}}}')}}]);
@@ -0,0 +1,24 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[48782],{48782:(e,t,a)=>{a.d(t,{diagram:()=>$});var l=a(75859),r=a(86528),s=a(3251),i=a(53402),n=a(27211),o=a(16730),c=a(35752),d=a(88439),p=a(3973),h=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,c.K2)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/§§§/g,",").split(";");l&&l.forEach(e=>{(0,s.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function m(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,c.K2)(m,"buildHierarchy");var y=(0,c.K2)((e,t)=>{(0,i.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=f(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i:void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let l=m(a),r=(0,c.K2)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&r(l.children,a+1)},"addNodesRecursively");r(l,0)},"populate"),f=(0,c.K2)(e=>e.name?String(e.name):"","getItemName"),u={parser:{yy:void 0},parse:(0,c.K2)(async e=>{try{let t=d.qg,a=await t("treemap",e);c.Rm.debug("Treemap AST:",a);let l=u.parser?.yy;if(!(l instanceof h))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(a,l)}catch(e){throw c.Rm.error("Error parsing treemap:",e),e}},"parse")},S=(0,c.K2)((e,t,a,i)=>{let n,d=i.db,h=d.getConfig(),m=h.padding??10,y=d.getDiagramTitle(),f=d.getRoot(),{themeVariables:u}=(0,o.zj)();if(!f)return;let S=30*!!y,g=(0,l.D)(t),x=h.nodeWidth?10*h.nodeWidth:960,$=h.nodeHeight?10*h.nodeHeight:500,b=$+S;g.attr("viewBox",`0 0 ${x} ${b}`),(0,o.a$)(g,b,x,h.useMaxWidth);try{let e=h.valueFormat||",";if("$0,0"===e)n=(0,c.K2)(e=>"$"+(0,p.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,c.K2)(e=>"$"+(0,p.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,c.K2)(e=>"$"+(0,p.GPZ)(t||"")(e),"valueFormat")}else n=(0,p.GPZ)(e)}catch(e){c.Rm.error("Error creating format function:",e),n=(0,p.GPZ)(",")}let v=(0,p.UMr)().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=(0,p.UMr)().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),w=(0,p.UMr)().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);y&&g.append("text").attr("x",x/2).attr("y",S/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(y);let L=g.append("g").attr("transform",`translate(0, ${S})`).attr("class","treemapContainer"),k=(0,p.Sk5)(f).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),T=(0,p.hkb)().size([x,$]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(m).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(k),P=T.descendants().filter(e=>e.children&&e.children.length>0),M=L.selectAll(".treemapSection").data(P).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);M.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),M.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),M.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>v(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>C(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),M.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,p.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==h.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==h.showValues&&M.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let z=T.leaves(),F=L.selectAll(".treemapLeafGroup").data(z).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);F.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("style",e=>(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("stroke-width",3),F.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),F.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,p.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-8,i=l-8;if(s<10||i<10)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>8;)n--,t.style("font-size",`${n}px`);let o=Math.max(6,Math.min(28,Math.round(.6*n))),c=n+2+o;for(;c>i&&n>8&&(!((o=Math.max(6,Math.min(28,Math.round(.6*--n))))<6)||8!==n);)t.style("font-size",`${n}px`),c=n+2+o;t.style("font-size",`${n}px`),(r.getComputedTextLength()>s||n<8||i<n)&&t.style("display","none")}),!1!==h.showValues&&F.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,p.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,p.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(6,Math.min(28,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+2;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-8||i+s>o-4||s<6?t.style("display","none"):t.style("display",null)});let K=h.diagramPadding??8;(0,r.P)(g,K,"flowchart",h?.useMaxWidth||!1)},"draw"),g=(0,c.K2)(function(e,t){return t.db.getClasses()},"getClasses"),x={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},$={parser:u,get db(){return new h},renderer:{draw:S,getClasses:g},styles:(0,c.K2)(({treemap:e}={})=>{let t=(0,o.P$)(),a=(0,o.zj)(),l=(0,n.$t)(t,a.themeVariables),r=(0,n.$t)(x,e),s=r.titleColor??l.titleColor,i=r.labelColor??l.textColor,c=r.valueColor??l.textColor;return`
2
+ .treemapNode.section {
3
+ stroke: ${r.sectionStrokeColor};
4
+ stroke-width: ${r.sectionStrokeWidth};
5
+ fill: ${r.sectionFillColor};
6
+ }
7
+ .treemapNode.leaf {
8
+ stroke: ${r.leafStrokeColor};
9
+ stroke-width: ${r.leafStrokeWidth};
10
+ fill: ${r.leafFillColor};
11
+ }
12
+ .treemapLabel {
13
+ fill: ${i};
14
+ font-size: ${r.labelFontSize};
15
+ }
16
+ .treemapValue {
17
+ fill: ${c};
18
+ font-size: ${r.valueFontSize};
19
+ }
20
+ .treemapTitle {
21
+ fill: ${s};
22
+ font-size: ${r.titleFontSize};
23
+ }
24
+ `},"getStyles")}},53402:(e,t,a)=>{function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(35752).K2)(l,"populateCommonDb")},86528:(e,t,a)=>{a.d(t,{P:()=>s});var l=a(16730),r=a(35752),s=(0,r.K2)((e,t,a,s)=>{e.attr("class",a);let{width:o,height:c,x:d,y:p}=i(e,t);(0,l.a$)(e,c,o,s);let h=n(d,p,o,c,t);e.attr("viewBox",h),r.Rm.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),i=(0,r.K2)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),n=(0,r.K2)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52064],{276:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(32728)._(r(1856)),i=r(38964),a=n.default.createContext(i.imageConfigDefault)},1861:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},8301:(e,t)=>{function r(e){var t;let{config:r,src:n,width:i,quality:a}=e,o=a||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+i+"&q="+o+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},9111:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]])},9225:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},11080:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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,r)=>{r.d(t,{A:()=>n});let n=(0,r(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,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},13020:(e,t)=>{function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},13375:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return d}}),r(74106);let n=r(81896),i=r(38964),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d(e,t){var r,d;let s,u,c,{src:f,sizes:p,unoptimized:h=!1,priority:m=!1,loading:g,className:y,quality:v,width:b,height:x,fill:w=!1,style:_,overrideSrc:j,onLoad:k,onLoadingComplete:C,placeholder:A="empty",blurDataURL:M,fetchPriority:P,decoding:S="async",layout:E,objectFit:R,objectPosition:O,lazyBoundary:z,lazyRoot:I,...D}=e,{imgConf:T,showAltText:L,blurComplete:N,defaultLoader:q}=t,F=T||i.imageConfigDefault;if("allSizes"in F)s=F;else{let e=[...F.deviceSizes,...F.imageSizes].sort((e,t)=>e-t),t=F.deviceSizes.sort((e,t)=>e-t),n=null==(r=F.qualities)?void 0:r.sort((e,t)=>e-t);s={...F,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===q)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let V=D.loader||q;delete D.loader,delete D.srcSet;let H="__next_img_default"in V;if(H){if("custom"===s.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=V;V=t=>{let{config:r,...n}=t;return e(n)}}if(E){"fill"===E&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];e&&(_={..._,...e});let t={responsive:"100vw",fill:"100vw"}[E];t&&!p&&(p=t)}let G="",U=l(b),B=l(x);if((d=f)&&"object"==typeof d&&(o(d)||void 0!==d.src)){let e=o(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(u=e.blurWidth,c=e.blurHeight,M=M||e.blurDataURL,G=e.src,!w)if(U||B){if(U&&!B){let t=U/e.width;B=Math.round(e.height*t)}else if(!U&&B){let t=B/e.height;U=Math.round(e.width*t)}}else U=e.width,B=e.height}let W=!m&&("lazy"===g||void 0===g);(!(f="string"==typeof f?f:G)||f.startsWith("data:")||f.startsWith("blob:"))&&(h=!0,W=!1),s.unoptimized&&(h=!0),H&&!s.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(h=!0);let K=l(v),X=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:O}:{},L?{}:{color:"transparent"},_),Y=N||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:U,heightInt:B,blurWidth:u,blurHeight:c,blurDataURL:M||"",objectFit:X.objectFit})+'")':'url("'+A+'")',$=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,J=Y?{backgroundSize:$,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Q=function(e){let{config:t,src:r,unoptimized:n,width:i,quality:a,sizes:o,loader:l}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:d,kind:s}=function(e,t,r){let{deviceSizes:n,allSizes:i}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,o),u=d.length-1;return{sizes:o||"w"!==s?o:"100vw",srcSet:d.map((e,n)=>l({config:t,src:r,quality:a,width:e})+" "+("w"===s?e:n+1)+s).join(", "),src:l({config:t,src:r,quality:a,width:d[u]})}}({config:s,src:f,unoptimized:h,width:U,quality:K,sizes:p,loader:V});return{props:{...D,loading:W?"lazy":g,fetchPriority:P,width:U,height:B,decoding:S,className:y,style:{...X,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:j||Q.src},meta:{unoptimized:h,priority:m,placeholder:A,fill:w}}}},13385:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return d},getImageProps:function(){return l}});let n=r(32728),i=r(13375),a=r(24603),o=n._(r(8301));function l(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=a.Image},20094:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},23217:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},24603:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return x}});let n=r(32728),i=r(72317),a=r(90508),o=i._(r(1856)),l=n._(r(38129)),d=n._(r(45504)),s=r(13375),u=r(38964),c=r(276);r(74106);let f=r(59401),p=n._(r(8301)),h=r(49674),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,n,i,a,o){let l=null==e?void 0:e.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function y(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,o.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:i,height:l,width:d,decoding:s,className:u,style:c,fetchPriority:f,placeholder:p,loading:m,unoptimized:v,fill:b,onLoadRef:x,onLoadingCompleteRef:w,setBlurComplete:_,setShowAltText:j,sizesInput:k,onLoad:C,onError:A,...M}=e,P=(0,o.useCallback)(e=>{e&&(A&&(e.src=e.src),e.complete&&g(e,p,x,w,_,v,k))},[r,p,x,w,_,A,v,k]),S=(0,h.useMergedRef)(t,P);return(0,a.jsx)("img",{...M,...y(f),loading:m,width:d,height:l,decoding:s,"data-nimg":b?"fill":"1",className:u,style:c,sizes:i,srcSet:n,src:r,ref:S,onLoad:e=>{g(e.currentTarget,p,x,w,_,v,k)},onError:e=>{j(!0),"empty"!==p&&_(!0),A&&A(e)}})});function b(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...y(r.fetchPriority)};return t&&l.default.preload?(l.default.preload(r.src,n),null):(0,a.jsx)(d.default,{children:(0,a.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let x=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(f.RouterContext),n=(0,o.useContext)(c.ImageConfigContext),i=(0,o.useMemo)(()=>{var e;let t=m||n||u.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),i=t.deviceSizes.sort((e,t)=>e-t),a=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:i,qualities:a}},[n]),{onLoad:l,onLoadingComplete:d}=e,h=(0,o.useRef)(l);(0,o.useEffect)(()=>{h.current=l},[l]);let g=(0,o.useRef)(d);(0,o.useEffect)(()=>{g.current=d},[d]);let[y,x]=(0,o.useState)(!1),[w,_]=(0,o.useState)(!1),{props:j,meta:k}=(0,s.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:w});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v,{...j,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:x,setShowAltText:_,sizesInput:e.sizes,ref:t}),k.priority?(0,a.jsx)(b,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},30044:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},36557:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},38964:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},45504:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return c}});let n=r(32728),i=r(72317),a=r(90508),o=i._(r(1856)),l=n._(r(74961)),d=r(53428),s=r(85722),u=r(13020);function c(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(74106);let p=["name","httpEquiv","charSet","itemProp"];function h(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return i=>{let a=!0,o=!1;if(i.key&&"number"!=typeof i.key&&i.key.indexOf("$")>0){o=!0;let t=i.key.slice(i.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(i.type){case"title":case"base":t.has(i.type)?a=!1:t.add(i.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(i.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?a=!1:r.add(t);else{let e=i.props[t],r=n[t]||new Set;("name"!==t||!o)&&r.has(e)?a=!1:(r.add(e),n[t]=r)}}}return a}}()).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let m=function(e){let{children:t}=e,r=(0,o.useContext)(d.AmpStateContext),n=(0,o.useContext)(s.HeadManagerContext);return(0,a.jsx)(l.default,{reduceComponentsToState:h,headManager:n,inAmpMode:(0,u.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},50609:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},52309:(e,t,r)=>{r.d(t,{A:()=>n});let n=(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"}]])},53428:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(32728)._(r(1856)).default.createContext({})},59401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(32728)._(r(1856)).default.createContext(null)},67103:(e,t,r)=>{r.d(t,{N:()=>b});var n=r(90508),i=r(1856),a=r(43827),o=r(66071),l=r(66506),d=r(95535),s=r(63605),u=r(8334);function c(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class f extends i.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,s.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,r=(0,s.s)(e)&&e.offsetWidth||0,n=(0,s.s)(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=r-a.width-a.left,a.bottom=n-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}}function p(e){var t,r;let{children:a,isPresent:o,anchorX:l,anchorY:d,root:s,pop:p}=e,h=(0,i.useId)(),m=(0,i.useRef)(null),g=(0,i.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:y}=(0,i.useContext)(u.Q),v=function(...e){return i.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=c(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():c(e[t],null)}}}}(...e),e)}(m,null!=(r=null==(t=a.props)?void 0:t.ref)?r:null==a?void 0:a.ref);return(0,i.useInsertionEffect)(()=>{let{width:e,height:t,top:r,left:n,right:i,bottom:a}=g.current;if(o||!1===p||!m.current||!e||!t)return;m.current.dataset.motionPopId=h;let u=document.createElement("style");y&&(u.nonce=y);let c=null!=s?s:document.head;return c.appendChild(u),u.sheet&&u.sheet.insertRule('\n [data-motion-pop-id="'.concat(h,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===l?"left: ".concat(n):"right: ".concat(i),"px !important;\n ").concat("bottom"===d?"bottom: ".concat(a):"top: ".concat(r),"px !important;\n }\n ")),()=>{var e;null==(e=m.current)||e.removeAttribute("data-motion-pop-id"),c.contains(u)&&c.removeChild(u)}},[o]),(0,n.jsx)(f,{isPresent:o,childRef:m,sizeRef:g,pop:p,children:!1===p?a:i.cloneElement(a,{ref:v})})}let h=e=>{let{children:t,initial:r,isPresent:a,onExitComplete:l,custom:s,presenceAffectsLayout:u,mode:c,anchorX:f,anchorY:h,root:g}=e,y=(0,o.M)(m),v=(0,i.useId)(),b=!0,x=(0,i.useMemo)(()=>(b=!1,{id:v,initial:r,isPresent:a,custom:s,onExitComplete:e=>{for(let t of(y.set(e,!0),y.values()))if(!t)return;l&&l()},register:e=>(y.set(e,!1),()=>y.delete(e))}),[a,y,l]);return u&&b&&(x={...x}),(0,i.useMemo)(()=>{y.forEach((e,t)=>y.set(t,!1))},[a]),i.useEffect(()=>{a||y.size||!l||l()},[a]),t=(0,n.jsx)(p,{pop:"popLayout"===c,isPresent:a,anchorX:f,anchorY:h,root:g,children:t}),(0,n.jsx)(d.t.Provider,{value:x,children:t})};function m(){return new Map}var g=r(99672);let y=e=>e.key||"";function v(e){let t=[];return i.Children.forEach(e,e=>{(0,i.isValidElement)(e)&&t.push(e)}),t}let b=e=>{let{children:t,custom:r,initial:d=!0,onExitComplete:s,presenceAffectsLayout:u=!0,mode:c="sync",propagate:f=!1,anchorX:p="left",anchorY:m="top",root:b}=e,[x,w]=(0,g.xQ)(f),_=(0,i.useMemo)(()=>v(t),[t]),j=f&&!x?[]:_.map(y),k=(0,i.useRef)(!0),C=(0,i.useRef)(_),A=(0,o.M)(()=>new Map),M=(0,i.useRef)(new Set),[P,S]=(0,i.useState)(_),[E,R]=(0,i.useState)(_);(0,l.E)(()=>{k.current=!1,C.current=_;for(let e=0;e<E.length;e++){let t=y(E[e]);j.includes(t)?(A.delete(t),M.current.delete(t)):!0!==A.get(t)&&A.set(t,!1)}},[E,j.length,j.join("-")]);let O=[];if(_!==P){let e=[..._];for(let t=0;t<E.length;t++){let r=E[t],n=y(r);j.includes(n)||(e.splice(t,0,r),O.push(r))}return"wait"===c&&O.length&&(e=O),R(v(e)),S(_),null}let{forceRender:z}=(0,i.useContext)(a.L);return(0,n.jsx)(n.Fragment,{children:E.map(e=>{let t=y(e),i=(!f||!!x)&&(_===E||j.includes(t));return(0,n.jsx)(h,{isPresent:i,initial:(!k.current||!!d)&&void 0,custom:r,presenceAffectsLayout:u,mode:c,root:b,onExitComplete:i?void 0:()=>{if(M.current.has(t)||!A.has(t))return;M.current.add(t),A.set(t,!0);let e=!0;A.forEach(t=>{t||(e=!1)}),e&&(null==z||z(),R(C.current),f&&(null==w||w()),s&&s())},anchorX:p,anchorY:m,children:e},t)})})}},70633:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},74961:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(1856),i=n.useLayoutEffect,a=n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let i=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(i,e))}}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},79834:(e,t,r)=>{r.r(t),r.d(t,{Content:()=>R,List:()=>S,Root:()=>P,Tabs:()=>b,TabsContent:()=>C,TabsList:()=>w,TabsTrigger:()=>j,Trigger:()=>E,createTabsScope:()=>m});var n=r(1856),i=r(33328),a=r(21032),o=r(94782),l=r(19900),d=r(93367),s=r(72599),u=r(66249),c=r(40577),f=r(90508),p="Tabs",[h,m]=(0,a.A)(p,[o.RG]),g=(0,o.RG)(),[y,v]=h(p),b=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:i,defaultValue:a,orientation:o="horizontal",dir:l,activationMode:h="automatic",...m}=e,g=(0,s.jH)(l),[v,b]=(0,u.i)({prop:n,onChange:i,defaultProp:null!=a?a:"",caller:p});return(0,f.jsx)(y,{scope:r,baseId:(0,c.B)(),value:v,onValueChange:b,orientation:o,dir:g,activationMode:h,children:(0,f.jsx)(d.sG.div,{dir:g,"data-orientation":o,...m,ref:t})})});b.displayName=p;var x="TabsList",w=n.forwardRef((e,t)=>{let{__scopeTabs:r,loop:n=!0,...i}=e,a=v(x,r),l=g(r);return(0,f.jsx)(o.bL,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:n,children:(0,f.jsx)(d.sG.div,{role:"tablist","aria-orientation":a.orientation,...i,ref:t})})});w.displayName=x;var _="TabsTrigger",j=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,disabled:a=!1,...l}=e,s=v(_,r),u=g(r),c=A(s.baseId,n),p=M(s.baseId,n),h=n===s.value;return(0,f.jsx)(o.q7,{asChild:!0,...u,focusable:!a,active:h,children:(0,f.jsx)(d.sG.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:c,...l,ref:t,onMouseDown:(0,i.mK)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(n)}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(n)}),onFocus:(0,i.mK)(e.onFocus,()=>{let e="manual"!==s.activationMode;h||a||!e||s.onValueChange(n)})})})});j.displayName=_;var k="TabsContent",C=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:i,forceMount:a,children:o,...s}=e,u=v(k,r),c=A(u.baseId,i),p=M(u.baseId,i),h=i===u.value,m=n.useRef(h);return n.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(l.C,{present:a||h,children:r=>{let{present:n}=r;return(0,f.jsx)(d.sG.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!n,id:p,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:m.current?"0s":void 0},children:n&&o})}})});function A(e,t){return"".concat(e,"-trigger-").concat(t)}function M(e,t){return"".concat(e,"-content-").concat(t)}C.displayName=k;var P=b,S=w,E=j,R=C},81896:(e,t)=>{function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:i,blurDataURL:a,objectFit:o}=e,l=n?40*n:t,d=i?40*i:r,s=l&&d?"viewBox='0 0 "+l+" "+d+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+s+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(s?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},90683:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},93114:(e,t,r)=>{r.d(t,{default:()=>i.a});var n=r(13385),i=r.n(n)},94152:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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"}]])},95886:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(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,r)=>{r.d(t,{A:()=>n});let n=(0,r(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([[57362],{30423:(e,t,n)=>{n.d(t,{j:()=>l});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function l(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(l," ").concat(a,":").concat(c)}function l(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>l})},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),l=n(63964);let a=new Map,c=new Map,o=new Map,i=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++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,l=u(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,l){let a=u(e,t,r,l);return"".concat(a,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=c.get(i);if(s&&Date.now()-s<3e3)return;c.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=a.get(l))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(m),a.set(l,p);let f=o.get(i);f&&clearTimeout(f);let x=setTimeout(()=>{let t=a.get(l);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?a.delete(l):a.set(l,n)}c.delete(i),o.delete(i),d()},3e3);o.set(i,x),d()}function p(){return s}function f(e){return i.add(e),()=>{i.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(f,p,p),(0,l.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var l;return null!=(l=a.get(u(e,t,n,r)))?l:[]}let c="".concat(e,":").concat(t),o=new Map;for(let[e,t]of a)if(e===c||e.startsWith(c+":"))for(let e of t){let t=o.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&o.set(e.agentUuid,e)}return[...o.values()]}}}},57362:(e,t,n)=>{n.d(t,{$m:()=>W});var r=n(90508),l=n(1856),a=n(39268),c=n(94903),o=n(85226),i=n(95886),s=n(36755),u=n(5425),d=n(22922),m=n(73693),p=n(42242),f=n(85783),x=n(99783),h=n(24377),g=n(67712),w=n(42305);function v(e){var t;if(!e)return{pinnedHost:null,pinnedCwd:null};let n=new URLSearchParams(e),r=n.has("cwd"),l=n.has("host");if(!r&&!l)return{pinnedHost:null,pinnedCwd:null};let a=null!=(t=n.get("cwd"))?t:"",c=n.get("host");return{pinnedCwd:r&&""!==a?a:null,pinnedHost:l?null!=c?c:"":null}}var y=n(78307),b=n(97438);let C=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})},pinnedHost:{default:null,parseHTML:e=>e.getAttribute("data-pinned-host"),renderHTML:e=>null==e.pinnedHost?{}:{"data-pinned-host":String(e.pinnedHost)}},pinnedCwd:{default:null,parseHTML:e=>e.getAttribute("data-pinned-cwd"),renderHTML:e=>null==e.pinnedCwd?{}:{"data-pinned-cwd":String(e.pinnedCwd)}}}}});function N(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;if(e){var n,r,l,a,c,o,i;return l=e.label||e.id,a=e.mentionType||"user",c=e.id,o=null!=(n=e.pinnedHost)?n:null,i=null!=(r=e.pinnedCwd)?r:null,"@[".concat(l,"](").concat(a,":").concat(c).concat(function(e,t){if(null==e&&null==t)return"";let n=e=>encodeURIComponent(e).replace(/\(/g,"%28").replace(/\)/g,"%29"),r=[];return r.push("cwd=".concat(null==t?"":n(t))),null!=e&&r.push("host=".concat(n(e))),"?".concat(r.join("&"))}(o,i),")")}return""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let s=t.content;return s?s.map(e).join(""):""})(e)).join("\n"):""}function j(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],l=0,a=RegExp(t.source,"g");for(;null!==(n=a.exec(e));){n.index>l&&r.push({type:"text",text:e.slice(l,n.index)});let{pinnedHost:t,pinnedCwd:a}=v(n[4]);r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2],pinnedHost:t,pinnedCwd:a}}),l=n.index+n[0].length}return l<e.length&&r.push({type:"text",text:e.slice(l)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function E(e,t,n,r,l,a,c){if(l.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',l.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",l.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let i=0,s=e=>{if(c)return void c(e,n);n({id:e.uuid,label:e.name,mentionType:e.type})},u=()=>{o.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===i?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="relative shrink-0";let l=document.createElement("div");if(l.className="flex h-6 w-6 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),l.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',r.appendChild(l),"agent"===e.type&&e.online){let e=document.createElement("span");e.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",e.title=a.online,r.appendChild(e)}let c=document.createElement("div");c.className="min-w-0 flex-1";let u=document.createElement("div");if(u.className="truncate text-xs font-medium",u.textContent=e.name,c.appendChild(u),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,c.appendChild(t)}if("agent"===e.type&&e.online){var d;let t=null!=(d=e.activeCount)?d:0,n=document.createElement("div");t>0?(n.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D]",n.textContent="▶ ".concat(a.activeCount(t))):(n.className="mt-0.5 truncate text-[10px] text-[#9A9A9A]",n.textContent=a.idle),c.appendChild(n)}n.appendChild(r),n.appendChild(c),o.appendChild(n)})};u(),l.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,w.P)(n)&&("ArrowUp"===n.key?(i=i<=0?e.length-1:i-1,u(),!0):"ArrowDown"===n.key?(i=i>=e.length-1?0:i+1,u(),!0):"Enter"===n.key?(e[i]&&s(e[i]),!0):"Escape"===n.key)}}}function A(e){var t;let{open:n,agentName:c,instances:o,onConfirm:i,onCancel:s}=e,u=(0,a.c)("mentionInstance"),[m,p]=(0,l.useState)(null);(0,l.useEffect)(()=>{var e;n&&p(null!=(e=o[0])?e:null)},[n,o]);let f=new Set(o.map(e=>e.host)).size;return(0,r.jsx)(b.lG,{open:n,onOpenChange:e=>{e||s()},children:(0,r.jsxs)(b.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,r.jsxs)(b.c7,{className:"shrink-0",children:[(0,r.jsx)(b.L3,{children:u("title")}),(0,r.jsx)(b.rr,{children:u("subtitle",{name:c,count:o.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(),i(m))},children:(0,r.jsx)(y.O,{instances:o,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&&i(m)},children:u("confirm")})]})]})})}let k=(0,l.forwardRef)((e,t)=>{var n,c;let{value:o,onChange:i,placeholder:s,className:u,disabled:d,onSubmit:m}=e,x=(0,l.useRef)([]),v=(0,l.useRef)(!1),y=(0,l.useRef)(null),b=(0,l.useRef)(null),k=(0,l.useRef)(null),S=(0,l.useRef)(null),[,M]=(0,l.useState)(0),R=(0,l.useRef)(!1),T=(0,a.c)("mention"),D=(0,l.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});D.current={online:T("online"),offline:T("offline"),idle:T("idle"),activeCount:e=>T("activeCount",{count:e})};let H=function(e,t){let n=(0,l.useRef)(null),r=(0,l.useRef)(e);r.current=e;let a=(0,l.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,l.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),a}((0,l.useCallback)(async e=>{v.current=!0,M(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10&withInstances=1"));if(t.ok){let e=await t.json();e.success&&(x.current=e.data)}}catch(e){x.current=[]}finally{v.current=!1,M(e=>e+1)}},[]),250),[B,U]=(0,l.useState)(null),F=(0,l.useCallback)((e,t,n)=>{t({id:e.uuid,label:e.name,mentionType:e.type,pinnedHost:n?n.host:null,pinnedCwd:n?n.cwd:null})},[]),_=(0,l.useRef)(()=>{});_.current=(e,t)=>{var n;let r="agent"===e.type?(null!=(n=e.instances)?n:[]).filter(e=>"online"===e.effectiveStatus):[];return r.length>=2?void U({item:e,onlineInstances:r,command:t}):1===r.length?void F(e,t,r[0]):void F(e,t)};let L=(0,l.useCallback)((e,t)=>_.current(e,t),[]);(0,l.useEffect)(()=>{k.current&&S.current&&E(x.current,v.current,S.current,y,k.current,D.current,L)});let z=(0,p.hG)({immediatelyRender:!1,extensions:[f.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),C.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return H(t),x.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",k.current=n,S.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=b.current)?t:document.body).appendChild(n),E(x.current,v.current,e.command,y,n,D.current,L)},onUpdate:e=>{if(S.current=e.command,k.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(k.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(k.current.style.top="",k.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(k.current.style.bottom="",k.current.style.top="".concat(t.bottom+4,"px")))}k.current&&E(x.current,v.current,e.command,y,k.current,D.current,L)},onKeyDown:e=>!!y.current&&y.current.onKeyDown(e),onExit:()=>{var e;null==(e=k.current)||e.remove(),k.current=null,S.current=null,x.current=[],v.current=!1}})}})],content:j(o),editable:!d,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":s||""},handleKeyDown:(e,t)=>!(0,w.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!k.current&&!!m&&(t.preventDefault(),m(),!0)},onUpdate:e=>{let{editor:t}=e;R.current=!0,i(N(t))}});return(0,l.useEffect)(()=>{if(!z||R.current){R.current=!1;return}N(z)!==o&&z.commands.setContent(j(o))},[o,z]),(0,l.useEffect)(()=>{z&&z.setEditable(!d)},[d,z]),(0,l.useImperativeHandle)(t,()=>({focus:()=>null==z?void 0:z.commands.focus(),clear:()=>{null==z||z.commands.clearContent(),i("")}})),(0,r.jsxs)("div",{ref:b,className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",d&&"cursor-not-allowed opacity-50",u),children:[(0,r.jsx)(p.$Z,{editor:z}),(0,r.jsx)(A,{open:null!==B,agentName:null!=(n=null==B?void 0:B.item.name)?n:"",instances:null!=(c=null==B?void 0:B.onlineInstances)?c:[],onConfirm:e=>{!function(e,t,n){n.close(),e&&n.defer(()=>{try{n.focusEditor(),n.insert(e,t)}catch(e){n.onError(e)}})}(B,e,{close:()=>U(null),insert:(e,t)=>F(e.item,e.command,t),defer:e=>requestAnimationFrame(e),focusEditor:()=>null==z?void 0:z.commands.focus(),onError:e=>g.q.error("MentionEditor: cwd-pinned mention insert failed",e)})},onCancel:()=>U(null)}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});k.displayName="MentionEditor";var S=n(95434),M=n(52217);let R=(0,M.createServerReference)("70d59c3a50f38dff0368815ae7719a2db6f6dd8c24",M.callServer,void 0,M.findSourceMapURL,"createCommentAction");var T=n(97261);let D=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,H=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g,B="chorus-mention";function U(e){let{children:t,renderMention:n}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(D.source,D.flags.replace("g","")).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{children:t})});if(n)return(0,r.jsx)(F,{renderMention:n,children:t});let{processed:l,mentions:a}=function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:o,pinnedCwd:i}=v(a),s={displayName:n,type:r,uuid:l};return(null!==o||null!==i)&&(s.pinnedHost=o,s.pinnedCwd=i),t.push(s),"".concat("​​MENTION_").concat(c).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(_,{mentions:a,children:(0,r.jsx)(T.MarkdownContent,{children:l})})}function F(e){let{children:t,renderMention:n}=e,{processed:a,mentions:c}=l.useMemo(()=>(function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:o,pinnedCwd:i}=v(a),s={type:r.toLowerCase(),uuid:l.toLowerCase(),displayName:n};(null!==o||null!==i)&&(s.pinnedHost=o,s.pinnedCwd=i),t.push(s);let u="@".concat(n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return"<".concat(B," ").concat("idx",'="').concat(c,'">').concat(u,"</").concat(B,">")}),mentions:t}})(t),[t]),o=l.useMemo(()=>({[B]:e=>{let{idx:t}=e,l=void 0===t?NaN:parseInt(t,10),a=Number.isInteger(l)?c[l]:void 0;return a?(0,r.jsx)(r.Fragment,{children:n({...a,index:l})}):null}}),[c,n]);return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{components:o,allowedTags:{[B]:["idx"]},literalTagContent:[B],children:a})})}function _(e){let{children:t,mentions:n}=e,a=l.useRef(null);return l.useEffect(()=>{let e;if(!a.current||0===n.length)return;let t=document.createTreeWalker(a.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)H.test(e.textContent||"")&&r.push(e),H.lastIndex=0;for(let e of r){var l;let t,r=e.textContent||"",a=document.createDocumentFragment(),c=0,o=RegExp(H.source,"g");for(;null!==(t=o.exec(r));){t.index>c&&a.appendChild(document.createTextNode(r.slice(c,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),a.appendChild(t)}else a.appendChild(document.createTextNode(t[0]));c=t.index+t[0].length}c<r.length&&a.appendChild(document.createTextNode(r.slice(c))),null==(l=e.parentNode)||l.replaceChild(a,e)}},[n]),(0,r.jsx)("div",{ref:a,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var L=n(84169),z=n(63964),I=n(96213),O=n(30423),P=n(38106),$=n(67587);function q(e){return"agent"===e.type?(0,r.jsx)(L.Gm,{mention:e,displayName:e.displayName},e.index):(0,r.jsxs)("span",{className:"text-blue-600 font-medium",title:"".concat(e.type,": ").concat(e.uuid),children:["@",e.displayName]},e.index)}function K(e,t){let n=new Map;for(let t of e)n.set(t.uuid,t);for(let e of t)n.set(e.uuid,e);return[...n.values()].sort((e,t)=>e.createdAt!==t.createdAt?e.createdAt<t.createdAt?1:-1:e.uuid<t.uuid?1:-1)}async function G(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=new Set(e.map(e=>e.uuid)),l=[],a=null,c=!1,o=0,i=!1,s=null,u=!1;for(let e=0;e<n;e++){let e=await t(a);if(!e)break;if(u=!0,o=e.total,l.push(...e.comments),i=e.hasMore,s=e.nextCursor,e.comments.some(e=>r.has(e.uuid))||!e.hasMore){c=!0;break}a=e.nextCursor}return u?c?{comments:K(e,l),total:o,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],l),total:o,contiguous:!1,resetOldestCursor:s,resetHasMore:i}:null}function W(e){let{targetType:t,targetUuid:n,currentUserUuid:u,onCountChange:p,compact:f=!1}=e,x=(0,a.c)(),[h,g]=(0,l.useState)(""),[w,v]=(0,l.useState)([]),[y,b]=(0,l.useState)(!0),[C,N]=(0,l.useState)(null),[j,E]=(0,l.useState)(!1),[A,M]=(0,l.useState)(!1),[T,D]=(0,l.useState)(null),[H,B]=(0,l.useState)(!1),[U,F]=(0,l.useState)(0),_=(0,l.useRef)(null),L=(0,l.useRef)(null),O=(0,l.useRef)(w);O.current=w;let P=(0,l.useRef)(T);P.current=T;let q=(0,l.useRef)(H);q.current=H;let W=(0,l.useRef)(j);W.current=j;let Q=(0,l.useRef)(y);Q.current=y;let V=f?"h-6 w-6":"h-[30px] w-[30px]",X=f?"gap-2":"gap-2.5",Y=f?"h-3 w-3":"h-[15px] w-[15px]";(0,l.useEffect)(()=>{null==p||p(U)},[U,p]);let Z=(0,l.useCallback)(async()=>{b(!0),N(null);let e=await (0,S.d)(t,n,{limit:10});e.success?(v(e.comments),D(e.nextCursor),B(e.hasMore),F(e.total)):N(e.error),b(!1)},[t,n]);(0,l.useEffect)(()=>{Z()},[Z]);let ee=(0,l.useCallback)(async()=>{if(W.current||Q.current||!q.current||!P.current)return;E(!0);let e=await (0,S.d)(t,n,{cursor:P.current,limit:10});e.success&&(v(t=>K(t,e.comments)),D(e.nextCursor),B(e.hasMore),F(e.total)),E(!1)},[t,n]);(0,l.useEffect)(()=>{let e=L.current;if(!e)return;let t=new IntersectionObserver(e=>{var t;(null==(t=e[0])?void 0:t.isIntersecting)&&ee()},{rootMargin:"120px"});return t.observe(e),()=>t.disconnect()},[ee,y]),(0,z.w0)(t,n,e=>{u&&e.actorUuid===u||G(O.current,async e=>{let r=await (0,S.d)(t,n,{cursor:e,limit:10});return r.success?r:null}).then(e=>{e&&(v(e.comments),F(e.total),e.contiguous||(D(e.resetOldestCursor),B(e.resetHasMore)))})});let et=async()=>{if(!h.trim()||A)return;M(!0);let e=await R(t,n,h);if(M(!1),e.success){var r;let t=!O.current.some(t=>t.uuid===e.comment.uuid);v(t=>K(t,[e.comment])),t&&F(e=>e+1),g(""),null==(r=_.current)||r.clear()}else $.oR.error(e.error)};return(0,r.jsx)(I.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(X," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(f?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(c.A,{className:"".concat(f?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(k,{ref:_,value:h,onChange:g,onSubmit:et,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:A})}),(0,r.jsx)(d.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||A,onClick:et,children:A?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),y?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(o.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):C?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(s.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(d.$,{variant:"outline",size:"sm",onClick:Z,children:x("comments.retry")})]}):0===w.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):(0,r.jsxs)("div",{children:[w.map(e=>(0,r.jsx)(J,{comment:e,compact:f,avatarSize:V,gap:X,iconSize:Y,t:x},e.uuid)),(0,r.jsx)("div",{ref:L,"aria-hidden":"true"}),j?(0,r.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-[#9A9A9A]",children:x("comments.loadingMore")})]}):!H&&(0,r.jsx)("p",{className:"py-4 text-center text-xs text-[#BFBFBF] italic",children:x("comments.noMoreComments")})]})]})})}function J(e){let{comment:t,compact:n,avatarSize:a,gap:c,iconSize:o,t:i}=e,[s,p]=(0,l.useState)(!1),f="agent"===t.author.type,x=f?(0,O.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(c," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(a," shrink-0"),children:(0,r.jsx)(m.q5,{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:f?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:f?(0,r.jsx)(u.A,{className:o}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(f?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(f?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),l=Math.floor(r/6e4),a=Math.floor(r/36e5),c=Math.floor(r/864e5);return l<1?t("time.justNow"):l<60?t("time.minutesAgo",{minutes:l}):a<24?t("time.hoursAgo",{hours:a}):c<7?t("time.daysAgo",{days:c}):(0,P.r)(n)}(t.createdAt,i)})]}),f&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:i("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention: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] text-xs font-medium mt-1",children:i("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention:q,children:t.content}),h&&(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},63964:(e,t,n)=>{n.d(t,{S2:()=>s,eV:()=>i,l9:()=>o,tS:()=>c,w0:()=>u});var r=n(90508),l=n(1856);n(23675);let a=(0,l.createContext)(null);function c(e){let{projectUuid:t,children:n}=e,c=(0,l.useRef)(new Set),o=(0,l.useRef)(new Set),i=(0,l.useRef)(new Set),s=(0,l.useRef)(new Set),u=(0,l.useCallback)(()=>{c.current.forEach(e=>e())},[]),d=(0,l.useCallback)(e=>{o.current.forEach(t=>t(e))},[]);(0,l.useEffect)(()=>{let e,n=null,r=0,l={};function a(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void i.current.forEach(e=>e(n));if("execution"===n.type)return void s.current.forEach(e=>e(n));let a=n;clearTimeout(e);let c=Date.now(),o=c-r;o>=3e3?(r=c,u()):e=setTimeout(()=>{r=Date.now(),u()},Math.max(1e3,3e3-o));let m=a.entityType;clearTimeout(l[m]),l[m]=setTimeout(()=>{d(a)},300)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function o(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(a(),u(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return a(),document.addEventListener("visibilitychange",o),()=>{for(let t in c(),clearTimeout(e),l)clearTimeout(l[t]);document.removeEventListener("visibilitychange",o)}},[t,u,d]);let m=(0,l.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),p=(0,l.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,l.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),x=(0,l.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),h=(0,l.useMemo)(()=>({subscribe:m,subscribeEntity:p,subscribePresence:f,subscribeExecution:x}),[m,p,f,x]);return(0,r.jsx)(a.Provider,{value:h,children:n})}function o(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,l.useContext)(a),r=(0,l.useRef)(t);r.current=t;let c=(0,l.useRef)(e);c.current=e,(0,l.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=c.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function u(e,t,n){let r=(0,l.useContext)(a),c=(0,l.useRef)(n);c.current=n,(0,l.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&c.current(n)})},[r,e,t])}},73693:(e,t,n)=>{n.d(t,{eu:()=>c,q5:()=>o});var r=n(90508);n(1856);var l=n(65514),a=n(24377);function c(e){let{className:t,size:n="default",...c}=e;return(0,r.jsx)(l.Root,{"data-slot":"avatar","data-size":n,className:(0,a.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...c})}function o(e){let{className:t,...n}=e;return(0,r.jsx)(l.Fallback,{"data-slot":"avatar-fallback",className:(0,a.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},95434:(e,t,n)=>{n.d(t,{d:()=>l});var r=n(52217);let l=(0,r.createServerReference)("70f79630de8f0585d1649d0c0b1e05094ccfa65d38",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>o});var r=n(90508),l=n(47754),a=n(30423),c=n(5425);function o(e){let{entityType:t,entityUuid:n,subEntityType:c,subEntityUuid:o,children:s,badgeInside:u}=e,{getPresence:d}=(0,l.xQ)(),m=d(t,n,c,o),p=m.length>0,f=p&&m.some(e=>"mutate"===e.action),x=p?f?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,a.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(f?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(u?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(i,{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 i(e){let{entry:t}=e,n=(0,a.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(c.A,{className:"h-2.5 w-2.5"}),t.agentName]})}}}]);