@chorus-aidlc/chorus 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +348 -395
  3. package/.next/standalone/.next/app-path-routes-manifest.json +29 -30
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +42 -42
  6. package/.next/standalone/.next/routes-manifest.json +8 -17
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +3 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
  44. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  48. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  49. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
  53. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies.rsc +3 -3
  56. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin.html +1 -1
  58. package/.next/standalone/.next/server/app/admin.rsc +3 -3
  59. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/check-default/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -0
  90. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -0
  91. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -0
  92. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  96. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/index.html +1 -1
  139. package/.next/standalone/.next/server/app/index.rsc +2 -2
  140. package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
  141. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  143. package/.next/standalone/.next/server/app/login/admin.rsc +3 -3
  144. package/.next/standalone/.next/server/app/login/callback/page.js +1 -1
  145. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  147. package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
  148. package/.next/standalone/.next/server/app/login/page.js +2 -2
  149. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
  151. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  153. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +3 -3
  154. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  156. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  157. package/.next/standalone/.next/server/app/login.html +1 -1
  158. package/.next/standalone/.next/server/app/login.rsc +3 -3
  159. package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
  160. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  163. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  164. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/projects.html +1 -1
  166. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  167. package/.next/standalone/.next/server/app/settings.html +1 -1
  168. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  169. package/.next/standalone/.next/server/app-paths-manifest.json +29 -30
  170. package/.next/standalone/.next/server/chunks/1615.js +31 -0
  171. package/.next/standalone/.next/server/chunks/{3611.js → 179.js} +1 -1
  172. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  173. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  174. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  175. package/.next/standalone/.next/server/chunks/4879.js +1 -0
  176. package/.next/standalone/.next/server/chunks/4913.js +1 -0
  177. package/.next/standalone/.next/server/chunks/4958.js +1 -1
  178. package/.next/standalone/.next/server/chunks/5561.js +7 -0
  179. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  180. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  181. package/.next/standalone/.next/server/chunks/6643.js +1 -1
  182. package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
  183. package/.next/standalone/.next/server/chunks/7228.js +1 -1
  184. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  185. package/.next/standalone/.next/server/chunks/7859.js +1 -0
  186. package/.next/standalone/.next/server/chunks/8277.js +1 -0
  187. package/.next/standalone/.next/server/chunks/8551.js +1 -1
  188. package/.next/standalone/.next/server/chunks/8637.js +1 -1
  189. package/.next/standalone/.next/server/chunks/920.js +1 -1
  190. package/.next/standalone/.next/server/chunks/9269.js +1 -0
  191. package/.next/standalone/.next/server/chunks/937.js +1 -1
  192. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  193. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  194. package/.next/standalone/.next/server/pages/404.html +1 -1
  195. package/.next/standalone/.next/server/pages/500.html +1 -1
  196. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  198. package/.next/standalone/.next/server/src/middleware.js +2 -2
  199. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
  200. package/.next/standalone/.next/static/chunks/20051-c242544dafd3a690.js +1 -0
  201. package/.next/standalone/.next/static/chunks/23095-5bf481236249fdd8.js +1 -0
  202. package/.next/standalone/.next/static/chunks/45436-c5427023f3f386a1.js +1 -0
  203. package/.next/standalone/.next/static/chunks/4860.e071c0b9e32bd75f.js +1 -0
  204. package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +1 -0
  205. package/.next/standalone/.next/static/chunks/52206-7c1b0c695c8035eb.js +1 -0
  206. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
  207. package/.next/standalone/.next/static/chunks/59296-50e66102d44d9677.js +1 -0
  208. package/.next/standalone/.next/static/chunks/60524-9811b38c62fed16e.js +1 -0
  209. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
  210. package/.next/standalone/.next/static/chunks/68855-5c15991e7cf8dc8a.js +1 -0
  211. package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/74030-3a6a6b75e47f5b96.js +1 -0
  213. package/.next/standalone/.next/static/chunks/78917-ff0fda86a96cfa60.js +1 -0
  214. package/.next/standalone/.next/static/chunks/93346-5489d90bc2d57190.js +1 -0
  215. package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
  216. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
  217. package/.next/standalone/.next/static/chunks/99373.4c336ea9ad07311e.js +1 -0
  218. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-5915ccd1a77ebcf8.js +1 -0
  219. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-94d102d945410b55.js +1 -0
  220. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-cd9411c54c8f5b35.js +1 -0
  221. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-56c45b910f914895.js +1 -0
  222. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
  224. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-d7747749ae6192d8.js +1 -0
  225. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-26488809d26e1daa.js +1 -0
  226. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
  227. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-fcc9baa42e6de4d4.js +1 -0
  228. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-5233748464280e9d.js +1 -0
  229. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-c36345b80cc5bf5c.js → page-f198303c176c6e02.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
  231. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-cc2fe0c5b749cd2f.js +1 -0
  232. package/.next/standalone/.next/static/chunks/app/admin/companies/new/{page-55fb2107f955c9ed.js → page-4f3b3c449c61f6d2.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +1 -0
  234. package/.next/standalone/.next/static/chunks/app/admin/page-0cc8cf246db43e5d.js +1 -0
  235. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  236. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-cd9411c54c8f5b35.js +1 -0
  237. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-cd9411c54c8f5b35.js +1 -0
  238. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-cd9411c54c8f5b35.js +1 -0
  239. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/api/agents/route-cd9411c54c8f5b35.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-cd9411c54c8f5b35.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-cd9411c54c8f5b35.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-cd9411c54c8f5b35.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-cd9411c54c8f5b35.js +1 -0
  247. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-cd9411c54c8f5b35.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-cd9411c54c8f5b35.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-cd9411c54c8f5b35.js +1 -0
  250. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-cd9411c54c8f5b35.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-cd9411c54c8f5b35.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-cd9411c54c8f5b35.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-cd9411c54c8f5b35.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/api/comments/route-cd9411c54c8f5b35.js +1 -0
  255. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-cd9411c54c8f5b35.js +1 -0
  257. package/.next/standalone/.next/static/chunks/app/api/events/route-cd9411c54c8f5b35.js +1 -0
  258. package/.next/standalone/.next/static/chunks/app/api/health/route-cd9411c54c8f5b35.js +1 -0
  259. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-cd9411c54c8f5b35.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-cd9411c54c8f5b35.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-cd9411c54c8f5b35.js +1 -0
  263. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
  264. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  265. package/.next/standalone/.next/static/chunks/app/api/mcp/route-cd9411c54c8f5b35.js +1 -0
  266. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-cd9411c54c8f5b35.js +1 -0
  267. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-cd9411c54c8f5b35.js +1 -0
  268. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-cd9411c54c8f5b35.js +1 -0
  269. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-cd9411c54c8f5b35.js +1 -0
  270. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-cd9411c54c8f5b35.js +1 -0
  271. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-cd9411c54c8f5b35.js +1 -0
  272. package/.next/standalone/.next/static/chunks/app/api/notifications/route-cd9411c54c8f5b35.js +1 -0
  273. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-cd9411c54c8f5b35.js +1 -0
  274. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-cd9411c54c8f5b35.js +1 -0
  275. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  276. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-cd9411c54c8f5b35.js +1 -0
  277. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-cd9411c54c8f5b35.js +1 -0
  278. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-cd9411c54c8f5b35.js +1 -0
  279. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-cd9411c54c8f5b35.js +1 -0
  280. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-cd9411c54c8f5b35.js +1 -0
  281. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-cd9411c54c8f5b35.js +1 -0
  282. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-cd9411c54c8f5b35.js +1 -0
  283. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-cd9411c54c8f5b35.js +1 -0
  284. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-cd9411c54c8f5b35.js +1 -0
  285. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-cd9411c54c8f5b35.js +1 -0
  286. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  287. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-cd9411c54c8f5b35.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-cd9411c54c8f5b35.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-cd9411c54c8f5b35.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/api/projects/route-cd9411c54c8f5b35.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-cd9411c54c8f5b35.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-cd9411c54c8f5b35.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-cd9411c54c8f5b35.js +1 -0
  294. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-cd9411c54c8f5b35.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/api/search/route-cd9411c54c8f5b35.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-cd9411c54c8f5b35.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-cd9411c54c8f5b35.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-cd9411c54c8f5b35.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/login/admin/page-d470135f7aab6c5e.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/login/callback/{page-48a34c31a0f8e58c.js → page-0edd93f50cb4f6ea.js} +1 -1
  306. package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-e0444ad8b50121f5.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/onboarding/page-d9dbd817391b462b.js +1 -0
  309. package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-5bb5740df10ed622.js} +1 -1
  310. package/.next/standalone/.next/static/css/4279f38594ac772a.css +1 -0
  311. package/.next/standalone/package.json +1 -1
  312. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  313. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +7 -7
  314. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
  315. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  316. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +48 -34
  317. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  318. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  319. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  320. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  321. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +8 -5
  322. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
  323. package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
  324. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  325. package/.next/standalone/public/skill/idea-chorus/SKILL.md +48 -34
  326. package/.next/standalone/public/skill/package.json +1 -1
  327. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  328. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  329. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  330. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  331. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  332. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +7 -5
  333. package/README.md +2 -0
  334. package/README.zh.md +2 -0
  335. package/package.json +1 -1
  336. package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
  337. package/prisma/migrations/20260611101056_add_idea_lineage/migration.sql +5 -0
  338. package/prisma/schema.prisma +7 -1
  339. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +0 -2
  340. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +0 -1
  341. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +0 -1
  342. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +0 -2
  343. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +0 -1
  344. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +0 -1
  345. package/.next/standalone/.next/server/chunks/1854.js +0 -7
  346. package/.next/standalone/.next/server/chunks/2990.js +0 -1
  347. package/.next/standalone/.next/server/chunks/3139.js +0 -1
  348. package/.next/standalone/.next/server/chunks/3576.js +0 -1
  349. package/.next/standalone/.next/server/chunks/4974.js +0 -1
  350. package/.next/standalone/.next/server/chunks/5491.js +0 -1
  351. package/.next/standalone/.next/server/chunks/6878.js +0 -1
  352. package/.next/standalone/.next/server/chunks/7621.js +0 -1
  353. package/.next/standalone/.next/server/chunks/8144.js +0 -1
  354. package/.next/standalone/.next/server/chunks/9508.js +0 -2
  355. package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +0 -1
  356. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
  357. package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
  358. package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
  359. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
  360. package/.next/standalone/.next/static/chunks/37880-4395be5cee4112fa.js +0 -1
  361. package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +0 -1
  362. package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
  363. package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +0 -1
  364. package/.next/standalone/.next/static/chunks/4860.60152a625f2a714f.js +0 -1
  365. package/.next/standalone/.next/static/chunks/51841-0e4e0e63b437dcfd.js +0 -1
  366. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
  367. package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
  368. package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +0 -1
  369. package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
  370. package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
  371. package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +0 -1
  372. package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +0 -1
  373. package/.next/standalone/.next/static/chunks/99373.4d93aaaf56fe7819.js +0 -1
  374. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-dd7eb66bb4ffd252.js +0 -1
  375. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-63a6a5b6cf9ecf87.js +0 -1
  376. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-99297f77cce24151.js +0 -1
  377. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-6d92b9867caf0fe1.js +0 -1
  378. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
  379. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
  380. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
  381. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
  382. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-414b398806324ad1.js +0 -1
  383. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
  384. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
  385. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
  386. package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-81682b4aa6859615.js +0 -1
  387. package/.next/standalone/.next/static/chunks/app/admin/companies/page-bbd92a7b214ddbf5.js +0 -1
  388. package/.next/standalone/.next/static/chunks/app/admin/page-c4167418611b4a6b.js +0 -1
  389. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-99297f77cce24151.js +0 -1
  390. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-99297f77cce24151.js +0 -1
  391. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-99297f77cce24151.js +0 -1
  392. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-99297f77cce24151.js +0 -1
  393. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-99297f77cce24151.js +0 -1
  394. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  395. package/.next/standalone/.next/static/chunks/app/api/agents/route-99297f77cce24151.js +0 -1
  396. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-99297f77cce24151.js +0 -1
  397. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-99297f77cce24151.js +0 -1
  398. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-99297f77cce24151.js +0 -1
  399. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-99297f77cce24151.js +0 -1
  400. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-99297f77cce24151.js +0 -1
  401. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-99297f77cce24151.js +0 -1
  402. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-99297f77cce24151.js +0 -1
  403. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-99297f77cce24151.js +0 -1
  404. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-99297f77cce24151.js +0 -1
  405. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-99297f77cce24151.js +0 -1
  406. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-99297f77cce24151.js +0 -1
  407. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-99297f77cce24151.js +0 -1
  408. package/.next/standalone/.next/static/chunks/app/api/comments/route-99297f77cce24151.js +0 -1
  409. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-99297f77cce24151.js +0 -1
  410. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-99297f77cce24151.js +0 -1
  411. package/.next/standalone/.next/static/chunks/app/api/events/route-99297f77cce24151.js +0 -1
  412. package/.next/standalone/.next/static/chunks/app/api/health/route-99297f77cce24151.js +0 -1
  413. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-99297f77cce24151.js +0 -1
  414. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-99297f77cce24151.js +0 -1
  415. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-99297f77cce24151.js +0 -1
  416. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-99297f77cce24151.js +0 -1
  417. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-99297f77cce24151.js +0 -1
  418. package/.next/standalone/.next/static/chunks/app/api/mcp/route-99297f77cce24151.js +0 -1
  419. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-99297f77cce24151.js +0 -1
  420. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-99297f77cce24151.js +0 -1
  421. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-99297f77cce24151.js +0 -1
  422. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-99297f77cce24151.js +0 -1
  423. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-99297f77cce24151.js +0 -1
  424. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-99297f77cce24151.js +0 -1
  425. package/.next/standalone/.next/static/chunks/app/api/notifications/route-99297f77cce24151.js +0 -1
  426. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-99297f77cce24151.js +0 -1
  427. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-99297f77cce24151.js +0 -1
  428. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-99297f77cce24151.js +0 -1
  429. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-99297f77cce24151.js +0 -1
  430. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-99297f77cce24151.js +0 -1
  431. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-99297f77cce24151.js +0 -1
  432. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-99297f77cce24151.js +0 -1
  433. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-99297f77cce24151.js +0 -1
  434. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-99297f77cce24151.js +0 -1
  435. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-99297f77cce24151.js +0 -1
  436. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-99297f77cce24151.js +0 -1
  437. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-99297f77cce24151.js +0 -1
  438. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-99297f77cce24151.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-99297f77cce24151.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-99297f77cce24151.js +0 -1
  441. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-99297f77cce24151.js +0 -1
  442. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-99297f77cce24151.js +0 -1
  443. package/.next/standalone/.next/static/chunks/app/api/projects/route-99297f77cce24151.js +0 -1
  444. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-99297f77cce24151.js +0 -1
  445. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-99297f77cce24151.js +0 -1
  446. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-99297f77cce24151.js +0 -1
  447. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-99297f77cce24151.js +0 -1
  448. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-99297f77cce24151.js +0 -1
  449. package/.next/standalone/.next/static/chunks/app/api/search/route-99297f77cce24151.js +0 -1
  450. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-99297f77cce24151.js +0 -1
  451. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-99297f77cce24151.js +0 -1
  452. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-99297f77cce24151.js +0 -1
  453. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-99297f77cce24151.js +0 -1
  454. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-99297f77cce24151.js +0 -1
  455. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-99297f77cce24151.js +0 -1
  456. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-99297f77cce24151.js +0 -1
  457. package/.next/standalone/.next/static/chunks/app/login/admin/page-4e72e6e4327ee7cd.js +0 -1
  458. package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +0 -1
  459. package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +0 -1
  460. package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
  461. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
  462. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → AKJHlhCKd44_-khht8nN0}/_buildManifest.js +0 -0
  463. /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → AKJHlhCKd44_-khht8nN0}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
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":"查看全部","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} 更改了想法状态","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":"重试"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","ideas":"想法","documents":"文档","proposals":"提案","tasks":"任务","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","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":"将一并移动:{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 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":"请立即复制此密钥。您将无法再次查看它!","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 失败,请重试。"}},"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":"已回答","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","elaborationRequiredHint":"完成或跳过需求澄清后才能创建方案","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准..."},"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":"想法","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节..."},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"}}')}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51841],{9160:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17475:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},17730:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},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"}]])},30825:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]])},37915:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},43057:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},57893:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},60532:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},62898:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},64731:(e,t,r)=>{r.d(t,{uB:()=>z});var n=/[\\\/_+.#"@\[\(\{&]/,l=/[\\\/_+.#"@\[\(\{&]/g,a=/[\s-]/,o=/[\s-]/g;function i(e){return e.toLowerCase().replace(o," ")}var u=r(71350),c=r(1856),d=r(81597),s=r(40577),f=r(34124),p='[cmdk-group=""]',h='[cmdk-group-items=""]',m='[cmdk-item=""]',v="".concat(m,':not([aria-disabled="true"])'),g="cmdk-item-select",y="data-value",b=(e,t,r)=>(function(e,t,r){return function e(t,r,i,u,c,d,s){if(d===r.length)return c===t.length?1:.99;var f=`${c},${d}`;if(void 0!==s[f])return s[f];for(var p,h,m,v,g=u.charAt(d),y=i.indexOf(g,c),b=0;y>=0;)(p=e(t,r,i,u,y+1,d+1,s))>b&&(y===c?p*=1:n.test(t.charAt(y-1))?(p*=.8,(m=t.slice(c,y-1).match(l))&&c>0&&(p*=Math.pow(.999,m.length))):a.test(t.charAt(y-1))?(p*=.9,(v=t.slice(c,y-1).match(o))&&c>0&&(p*=Math.pow(.999,v.length))):(p*=.17,c>0&&(p*=Math.pow(.999,y-c))),t.charAt(y)!==r.charAt(d)&&(p*=.9999)),(p<.1&&i.charAt(y-1)===u.charAt(d+1)||u.charAt(d+1)===u.charAt(d)&&i.charAt(y-1)!==u.charAt(d))&&.1*(h=e(t,r,i,u,y+1,d+2,s))>p&&(p=.1*h),p>b&&(b=p),y=i.indexOf(g,y+1);return s[f]=b,b}(e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,t,i(e),i(t),0,0,{})})(e,t,r),k=c.createContext(void 0),w=()=>c.useContext(k),E=c.createContext(void 0),A=()=>c.useContext(E),x=c.createContext(void 0),C=c.forwardRef((e,t)=>{let r=V(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=V(()=>new Set),l=V(()=>new Map),a=V(()=>new Map),o=V(()=>new Set),i=D(e),{label:u,children:f,value:w,onValueChange:A,filter:x,shouldFilter:C,loop:S,disablePointerSelection:R=!1,vimBindings:I=!0,...M}=e,j=(0,s.B)(),P=(0,s.B)(),z=(0,s.B)(),B=c.useRef(null),F=L();_(()=>{if(void 0!==w){let e=w.trim();r.current.value=e,N.emit()}},[w]),_(()=>{F(6,U)},[]);let N=c.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>r.current,setState:(e,t,n)=>{var l,a,o,u;if(!Object.is(r.current[e],t)){if(r.current[e]=t,"search"===e)H(),K(),F(1,W);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(z);e?e.focus():null==(l=document.getElementById(j))||l.focus()}if(F(7,()=>{var e;r.current.selectedItemId=null==(e=Q())?void 0:e.id,N.emit()}),n||F(5,U),(null==(a=i.current)?void 0:a.value)!==void 0){null==(u=(o=i.current).onValueChange)||u.call(o,null!=t?t:"");return}}N.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),$=c.useMemo(()=>({value:(e,t,n)=>{var l;t!==(null==(l=a.current.get(e))?void 0:l.value)&&(a.current.set(e,{value:t,keywords:n}),r.current.filtered.items.set(e,G(t,n)),F(2,()=>{K(),N.emit()}))},item:(e,t)=>(n.current.add(e),t&&(l.current.has(t)?l.current.get(t).add(e):l.current.set(t,new Set([e]))),F(3,()=>{H(),K(),r.current.value||W(),N.emit()}),()=>{a.current.delete(e),n.current.delete(e),r.current.filtered.items.delete(e);let t=Q();F(4,()=>{H(),(null==t?void 0:t.getAttribute("id"))===e&&W(),N.emit()})}),group:e=>(l.current.has(e)||l.current.set(e,new Set),()=>{a.current.delete(e),l.current.delete(e)}),filter:()=>i.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:j,inputId:z,labelId:P,listInnerRef:B}),[]);function G(e,t){var n,l;let a=null!=(l=null==(n=i.current)?void 0:n.filter)?l:b;return e?a(e,r.current.search,t):0}function K(){if(!r.current.search||!1===i.current.shouldFilter)return;let e=r.current.filtered.items,t=[];r.current.filtered.groups.forEach(r=>{let n=l.current.get(r),a=0;n.forEach(t=>{a=Math.max(e.get(t),a)}),t.push([r,a])});let n=B.current;X().sort((t,r)=>{var n,l;let a=t.getAttribute("id"),o=r.getAttribute("id");return(null!=(n=e.get(o))?n:0)-(null!=(l=e.get(a))?l:0)}).forEach(e=>{let t=e.closest(h);t?t.appendChild(e.parentElement===t?e:e.closest("".concat(h," > *"))):n.appendChild(e.parentElement===n?e:e.closest("".concat(h," > *")))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=B.current)?void 0:t.querySelector("".concat(p,"[").concat(y,'="').concat(encodeURIComponent(e[0]),'"]'));null==r||r.parentElement.appendChild(r)})}function W(){let e=X().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(y);N.setState("value",t||void 0)}function H(){var e,t,o,u;if(!r.current.search||!1===i.current.shouldFilter){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let c=0;for(let l of n.current){let n=G(null!=(t=null==(e=a.current.get(l))?void 0:e.value)?t:"",null!=(u=null==(o=a.current.get(l))?void 0:o.keywords)?u:[]);r.current.filtered.items.set(l,n),n>0&&c++}for(let[e,t]of l.current)for(let n of t)if(r.current.filtered.items.get(n)>0){r.current.filtered.groups.add(e);break}r.current.filtered.count=c}function U(){var e,t,r;let n=Q();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(p))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function Q(){var e;return null==(e=B.current)?void 0:e.querySelector("".concat(m,'[aria-selected="true"]'))}function X(){var e;return Array.from((null==(e=B.current)?void 0:e.querySelectorAll(v))||[])}function Y(e){let t=X()[e];t&&N.setState("value",t.getAttribute(y))}function T(e){var t;let r=Q(),n=X(),l=n.findIndex(e=>e===r),a=n[l+e];null!=(t=i.current)&&t.loop&&(a=l+e<0?n[n.length-1]:l+e===n.length?n[0]:n[l+e]),a&&N.setState("value",a.getAttribute(y))}function Z(e){let t=Q(),r=null==t?void 0:t.closest(p),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,p):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,p))?void 0:r.querySelector(v);n?N.setState("value",n.getAttribute(y)):T(e)}let J=()=>Y(X().length-1),ee=e=>{e.preventDefault(),e.metaKey?J():e.altKey?Z(1):T(1)},et=e=>{e.preventDefault(),e.metaKey?Y(0):e.altKey?Z(-1):T(-1)};return c.createElement(d.sG.div,{ref:t,tabIndex:-1,...M,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=M.onKeyDown)||t.call(M,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":I&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":I&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),Y(0);break;case"End":e.preventDefault(),J();break;case"Enter":{e.preventDefault();let t=Q();if(t){let e=new Event(g);t.dispatchEvent(e)}}}}},c.createElement("label",{"cmdk-label":"",htmlFor:$.inputId,id:$.labelId,style:q},u),O(e,e=>c.createElement(E.Provider,{value:N},c.createElement(k.Provider,{value:$},e))))}),S=c.forwardRef((e,t)=>{var r,n;let l=(0,s.B)(),a=c.useRef(null),o=c.useContext(x),i=w(),u=D(e),p=null!=(n=null==(r=u.current)?void 0:r.forceMount)?n:null==o?void 0:o.forceMount;_(()=>{if(!p)return i.item(l,null==o?void 0:o.id)},[p]);let h=F(l,a,[e.value,e.children,a],e.keywords),m=A(),v=B(e=>e.value&&e.value===h.current),y=B(e=>!!p||!1===i.filter()||!e.search||e.filtered.items.get(l)>0);function b(){var e,t;k(),null==(t=(e=u.current).onSelect)||t.call(e,h.current)}function k(){m.setState("value",h.current,!0)}if(c.useEffect(()=>{let t=a.current;if(!(!t||e.disabled))return t.addEventListener(g,b),()=>t.removeEventListener(g,b)},[y,e.onSelect,e.disabled]),!y)return null;let{disabled:E,value:C,onSelect:S,forceMount:R,keywords:I,...M}=e;return c.createElement(d.sG.div,{ref:(0,f.t)(a,t),...M,id:l,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!v,"data-disabled":!!E,"data-selected":!!v,onPointerMove:E||i.getDisablePointerSelection()?void 0:k,onClick:E?void 0:b},e.children)}),R=c.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:l,...a}=e,o=(0,s.B)(),i=c.useRef(null),u=c.useRef(null),p=(0,s.B)(),h=w(),m=B(e=>!!l||!1===h.filter()||!e.search||e.filtered.groups.has(o));_(()=>h.group(o),[]),F(o,i,[e.value,e.heading,u]);let v=c.useMemo(()=>({id:o,forceMount:l}),[l]);return c.createElement(d.sG.div,{ref:(0,f.t)(i,t),...a,"cmdk-group":"",role:"presentation",hidden:!m||void 0},r&&c.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),O(e,e=>c.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},c.createElement(x.Provider,{value:v},e))))}),I=c.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,l=c.useRef(null),a=B(e=>!e.search);return r||a?c.createElement(d.sG.div,{ref:(0,f.t)(l,t),...n,"cmdk-separator":"",role:"separator"}):null}),M=c.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,l=null!=e.value,a=A(),o=B(e=>e.search),i=B(e=>e.selectedItemId),u=w();return c.useEffect(()=>{null!=e.value&&a.setState("search",e.value)},[e.value]),c.createElement(d.sG.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":i,id:u.inputId,type:"text",value:l?e.value:o,onChange:e=>{l||a.setState("search",e.target.value),null==r||r(e.target.value)}})}),j=c.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...l}=e,a=c.useRef(null),o=c.useRef(null),i=B(e=>e.selectedItemId),u=w();return c.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),c.createElement(d.sG.div,{ref:(0,f.t)(a,t),...l,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":n,id:u.listId},O(e,e=>c.createElement("div",{ref:(0,f.t)(o,u.listInnerRef),"cmdk-list-sizer":""},e)))}),P=c.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:l,contentClassName:a,container:o,...i}=e;return c.createElement(u.Root,{open:r,onOpenChange:n},c.createElement(u.Portal,{container:o},c.createElement(u.Overlay,{"cmdk-overlay":"",className:l}),c.createElement(u.Content,{"aria-label":e.label,"cmdk-dialog":"",className:a},c.createElement(C,{ref:t,...i}))))}),z=Object.assign(C,{List:j,Item:S,Input:M,Group:R,Separator:I,Dialog:P,Empty:c.forwardRef((e,t)=>B(e=>0===e.filtered.count)?c.createElement(d.sG.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:c.forwardRef((e,t)=>{let{progress:r,children:n,label:l="Loading...",...a}=e;return c.createElement(d.sG.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l},O(e,e=>c.createElement("div",{"aria-hidden":!0},e)))})});function D(e){let t=c.useRef(e);return _(()=>{t.current=e}),t}var _="undefined"==typeof window?c.useEffect:c.useLayoutEffect;function V(e){let t=c.useRef();return void 0===t.current&&(t.current=e()),t}function B(e){let t=A(),r=()=>e(t.snapshot());return c.useSyncExternalStore(t.subscribe,r,r)}function F(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],l=c.useRef(),a=w();return _(()=>{var o;let i=(()=>{var e;for(let t of r){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():l.current}})(),u=n.map(e=>e.trim());a.value(e,i,u),null==(o=t.current)||o.setAttribute(y,i),l.current=i}),l}var L=()=>{let[e,t]=c.useState(),r=V(()=>new Map);return _(()=>{r.current.forEach(e=>e()),r.current=new Map},[e]),(e,n)=>{r.current.set(e,n),t({})}};function O(e,t){let r,{asChild:n,children:l}=e;return n&&c.isValidElement(l)?c.cloneElement("function"==typeof(r=l.type)?r(l.props):"render"in r?r.render(l.props):l,{ref:l.ref},t(l.props.children)):t(l)}var q={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"}},67103:(e,t,r)=>{r.d(t,{N:()=>b});var n=r(90508),l=r(1856),a=r(43827),o=r(66071),i=r(66506),u=r(95535),c=r(63605),d=r(8334);function s(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class f extends l.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,c.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,r=(0,c.s)(e)&&e.offsetWidth||0,n=(0,c.s)(e)&&e.offsetHeight||0,l=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(l.height),a.width=parseFloat(l.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:i,anchorY:u,root:c,pop:p}=e,h=(0,l.useId)(),m=(0,l.useRef)(null),v=(0,l.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:g}=(0,l.useContext)(d.Q),y=function(...e){return l.useCallback(function(...e){return t=>{let r=!1,n=e.map(e=>{let n=s(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():s(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,l.useInsertionEffect)(()=>{let{width:e,height:t,top:r,left:n,right:l,bottom:a}=v.current;if(o||!1===p||!m.current||!e||!t)return;m.current.dataset.motionPopId=h;let d=document.createElement("style");g&&(d.nonce=g);let s=null!=c?c:document.head;return s.appendChild(d),d.sheet&&d.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"===i?"left: ".concat(n):"right: ".concat(l),"px !important;\n ").concat("bottom"===u?"bottom: ".concat(a):"top: ".concat(r),"px !important;\n }\n ")),()=>{var e;null==(e=m.current)||e.removeAttribute("data-motion-pop-id"),s.contains(d)&&s.removeChild(d)}},[o]),(0,n.jsx)(f,{isPresent:o,childRef:m,sizeRef:v,pop:p,children:!1===p?a:l.cloneElement(a,{ref:y})})}let h=e=>{let{children:t,initial:r,isPresent:a,onExitComplete:i,custom:c,presenceAffectsLayout:d,mode:s,anchorX:f,anchorY:h,root:v}=e,g=(0,o.M)(m),y=(0,l.useId)(),b=!0,k=(0,l.useMemo)(()=>(b=!1,{id:y,initial:r,isPresent:a,custom:c,onExitComplete:e=>{for(let t of(g.set(e,!0),g.values()))if(!t)return;i&&i()},register:e=>(g.set(e,!1),()=>g.delete(e))}),[a,g,i]);return d&&b&&(k={...k}),(0,l.useMemo)(()=>{g.forEach((e,t)=>g.set(t,!1))},[a]),l.useEffect(()=>{a||g.size||!i||i()},[a]),t=(0,n.jsx)(p,{pop:"popLayout"===s,isPresent:a,anchorX:f,anchorY:h,root:v,children:t}),(0,n.jsx)(u.t.Provider,{value:k,children:t})};function m(){return new Map}var v=r(99672);let g=e=>e.key||"";function y(e){let t=[];return l.Children.forEach(e,e=>{(0,l.isValidElement)(e)&&t.push(e)}),t}let b=e=>{let{children:t,custom:r,initial:u=!0,onExitComplete:c,presenceAffectsLayout:d=!0,mode:s="sync",propagate:f=!1,anchorX:p="left",anchorY:m="top",root:b}=e,[k,w]=(0,v.xQ)(f),E=(0,l.useMemo)(()=>y(t),[t]),A=f&&!k?[]:E.map(g),x=(0,l.useRef)(!0),C=(0,l.useRef)(E),S=(0,o.M)(()=>new Map),R=(0,l.useRef)(new Set),[I,M]=(0,l.useState)(E),[j,P]=(0,l.useState)(E);(0,i.E)(()=>{x.current=!1,C.current=E;for(let e=0;e<j.length;e++){let t=g(j[e]);A.includes(t)?(S.delete(t),R.current.delete(t)):!0!==S.get(t)&&S.set(t,!1)}},[j,A.length,A.join("-")]);let z=[];if(E!==I){let e=[...E];for(let t=0;t<j.length;t++){let r=j[t],n=g(r);A.includes(n)||(e.splice(t,0,r),z.push(r))}return"wait"===s&&z.length&&(e=z),P(y(e)),M(E),null}let{forceRender:D}=(0,l.useContext)(a.L);return(0,n.jsx)(n.Fragment,{children:j.map(e=>{let t=g(e),l=(!f||!!k)&&(E===j||A.includes(t));return(0,n.jsx)(h,{isPresent:l,initial:(!x.current||!!u)&&void 0,custom:r,presenceAffectsLayout:d,mode:s,root:b,onExitComplete:l?void 0:()=>{if(R.current.has(t)||!S.has(t))return;R.current.add(t),S.set(t,!0);let e=!0;S.forEach(t=>{t||(e=!1)}),e&&(null==D||D(),P(C.current),f&&(null==w||w()),c&&c())},anchorX:p,anchorY:m,children:e},t)})})}},78948:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81597:(e,t,r)=>{r.d(t,{sG:()=>f});var n=r(1856),l=r.t(n,2);r(38129);var a=r(34124),o=r(90508),i=Symbol.for("react.lazy"),u=l[" use ".trim().toString()];function c(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var d=Symbol("radix.slottable");function s(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}var f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=function(e){let t=function(e){let t=n.forwardRef((e,t)=>{let{children:r,...l}=e;if(c(r)&&"function"==typeof u&&(r=u(r._payload)),n.isValidElement(r)){var o;let e,i,u=(o=r,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),c=function(e,t){let r={...t};for(let n in t){let l=e[n],a=t[n];/^on[A-Z]/.test(n)?l&&a?r[n]=(...e)=>{let t=a(...e);return l(...e),t}:l&&(r[n]=l):"style"===n?r[n]={...l,...a}:"className"===n&&(r[n]=[l,a].filter(Boolean).join(" "))}return{...e,...r}}(l,r.props);return r.type!==n.Fragment&&(c.ref=t?(0,a.t)(t,u):u),n.cloneElement(r,c)}return n.Children.count(r)>1?n.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=n.forwardRef((e,r)=>{let{children:l,...a}=e;c(l)&&"function"==typeof u&&(l=u(l._payload));let i=n.Children.toArray(l),d=i.find(s);if(d){let e=d.props.children,l=i.map(t=>t!==d?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...a,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,l):null})}return(0,o.jsx)(t,{...a,ref:r,children:l})});return r.displayName=`${e}.Slot`,r}(`Primitive.${t}`),l=n.forwardRef((e,n)=>{let{asChild:l,...a}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(l?r:t,{...a,ref:n})});return l.displayName=`Primitive.${t}`,{...e,[t]:l}},{})},89967:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},95900:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},97964:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(66206).A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52206],{5810:(e,t,n)=>{n.d(t,{$:()=>U});var r=n(90508),a=n(1856),o=n(39268),s=n(94903),l=n(85226),i=n(95886),c=n(36755),d=n(5425),u=n(22922),m=n(73693),f=n(42242),p=n(85783),x=n(99783),h=n(24377),g=n(42305);let v=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"})}}}});function y(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;return e?"@[".concat(e.label||e.id,"](").concat(e.mentionType||"user",":").concat(e.id,")"):""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let n=t.content;return n?n.map(e).join(""):""})(e)).join("\n"):""}function b(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],a=0,o=RegExp(t.source,"g");for(;null!==(n=o.exec(e));)n.index>a&&r.push({type:"text",text:e.slice(a,n.index)}),r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2]}}),a=n.index+n[0].length;return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function w(e,t,n,r,a){if(a.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",a.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let s=0,l=e=>{n({id:e.uuid,label:e.name,mentionType:e.type})},i=()=>{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===s?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>l(e);let r=document.createElement("div");r.className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),r.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>';let a=document.createElement("div");a.className="min-w-0 flex-1";let i=document.createElement("div");if(i.className="truncate text-xs font-medium",i.textContent=e.name,a.appendChild(i),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,a.appendChild(t)}if("agent"===e.type&&e.roles&&e.roles.length>0){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.roles.join(", "),a.appendChild(t)}n.appendChild(r),n.appendChild(a),o.appendChild(n)})};i(),a.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,g.P)(n)&&("ArrowUp"===n.key?(s=s<=0?e.length-1:s-1,i(),!0):"ArrowDown"===n.key?(s=s>=e.length-1?0:s+1,i(),!0):"Enter"===n.key?(e[s]&&l(e[s]),!0):"Escape"===n.key)}}}let j=(0,a.forwardRef)((e,t)=>{let{value:n,onChange:o,placeholder:s,className:l,disabled:i,onSubmit:c}=e,d=(0,a.useRef)([]),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),x=(0,a.useRef)(null),j=(0,a.useRef)(null),N=(0,a.useRef)(null),[,E]=(0,a.useState)(0),C=(0,a.useRef)(!1),A=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let o=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}((0,a.useCallback)(async e=>{u.current=!0,E(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10"));if(t.ok){let e=await t.json();e.success&&(d.current=e.data)}}catch(e){d.current=[]}finally{u.current=!1,E(e=>e+1)}},[]),250);(0,a.useEffect)(()=>{j.current&&N.current&&w(d.current,u.current,N.current,m,j.current)});let k=(0,f.hG)({immediatelyRender:!1,extensions:[p.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),v.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 A(t),d.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",j.current=n,N.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=x.current)?t:document.body).appendChild(n),w(d.current,u.current,e.command,m,n)},onUpdate:e=>{if(N.current=e.command,j.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(j.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(j.current.style.top="",j.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(j.current.style.bottom="",j.current.style.top="".concat(t.bottom+4,"px")))}j.current&&w(d.current,u.current,e.command,m,j.current)},onKeyDown:e=>!!m.current&&m.current.onKeyDown(e),onExit:()=>{var e;null==(e=j.current)||e.remove(),j.current=null,N.current=null,d.current=[],u.current=!1}})}})],content:b(n),editable:!i,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,g.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!j.current&&!!c&&(t.preventDefault(),c(),!0)},onUpdate:e=>{let{editor:t}=e;C.current=!0,o(y(t))}});return(0,a.useEffect)(()=>{if(!k||C.current){C.current=!1;return}y(k)!==n&&k.commands.setContent(b(n))},[n,k]),(0,a.useEffect)(()=>{k&&k.setEditable(!i)},[i,k]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==k?void 0:k.commands.focus(),clear:()=>{null==k||k.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:x,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]",i&&"cursor-not-allowed opacity-50",l),children:[(0,r.jsx)(f.$Z,{editor:k}),(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 "})]})});j.displayName="MentionEditor";var N=n(75024),E=n(52217);let C=(0,E.createServerReference)("7030e5bddb8203c1a4309d65deac0510675de0ade6",E.callServer,void 0,E.findSourceMapURL,"createCommentAction");var A=n(97261);let k=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g,T=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g;function z(e){let{children:t}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(k.source).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{children:t})});let{processed:n,mentions:a}=function(e){let t=[],n=RegExp(k.source,"g");return{processed:e.replace(n,(e,n,r,a)=>{let o=t.length;return t.push({displayName:n,type:r,uuid:a}),"".concat("​​MENTION_").concat(o).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(R,{mentions:a,children:(0,r.jsx)(A.MarkdownContent,{children:n})})}function R(e){let{children:t,mentions:n}=e,o=a.useRef(null);return a.useEffect(()=>{let e;if(!o.current||0===n.length)return;let t=document.createTreeWalker(o.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)T.test(e.textContent||"")&&r.push(e),T.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",o=document.createDocumentFragment(),s=0,l=RegExp(T.source,"g");for(;null!==(t=l.exec(r));){t.index>s&&o.appendChild(document.createTextNode(r.slice(s,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),o.appendChild(t)}else o.appendChild(document.createTextNode(t[0]));s=t.index+t[0].length}s<r.length&&o.appendChild(document.createTextNode(r.slice(s))),null==(a=e.parentNode)||a.replaceChild(o,e)}},[n]),(0,r.jsx)("div",{ref:o,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var S=n(63964),_=n(96213),D=n(30423),M=n(38106),B=n(67587);function U(e){let{targetType:t,targetUuid:n,currentUserUuid:d,onCountChange:f,compact:p=!1}=e,x=(0,o.c)(),[h,g]=(0,a.useState)(""),[v,y]=(0,a.useState)([]),[b,w]=(0,a.useState)(!0),[E,A]=(0,a.useState)(null),[k,T]=(0,a.useState)(!1),z=(0,a.useRef)(null),R=p?"h-6 w-6":"h-[30px] w-[30px]",D=p?"gap-2":"gap-2.5",M=p?"h-3 w-3":"h-[15px] w-[15px]";(0,a.useEffect)(()=>{null==f||f(v.length)},[v.length,f]);let U=(0,a.useCallback)(async()=>{w(!0),A(null);let e=await (0,N.d)(t,n);e.success?y(e.comments):A(e.error),w(!1)},[t,n]);(0,a.useEffect)(()=>{U()},[U]),(0,S.w0)(t,n,e=>{d&&e.actorUuid===d||(0,N.d)(t,n).then(e=>{e.success&&y(e.comments)})});let L=async()=>{if(!h.trim()||k)return;T(!0);let e=await C(t,n,h);if(T(!1),e.success){var r;y(t=>[...t,e.comment]),g(""),null==(r=z.current)||r.clear()}else B.oR.error(e.error)},H=[...v].reverse();return(0,r.jsx)(_.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(D," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(p?"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)(s.A,{className:"".concat(p?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(j,{ref:z,value:h,onChange:g,onSubmit:L,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:k})}),(0,r.jsx)(u.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:L,children:k?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(l.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):E?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:U,children:x("comments.retry")})]}):0===H.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):H.map(e=>(0,r.jsx)(F,{comment:e,compact:p,avatarSize:R,gap:D,iconSize:M,t:x},e.uuid))})]})})}function F(e){let{comment:t,compact:n,avatarSize:o,gap:s,iconSize:l,t:i}=e,[c,f]=(0,a.useState)(!1),p="agent"===t.author.type,x=p?(0,D.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(s," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(o," shrink-0"),children:(0,r.jsx)(m.q5,{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:p?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:p?(0,r.jsx)(d.A,{className:l}):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:p?{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(p?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(p?"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(),a=Math.floor(r/6e4),o=Math.floor(r/36e5),s=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):o<24?t("time.hoursAgo",{hours:o}):s<7?t("time.daysAgo",{days:s}):(0,M.r)(n)}(t.createdAt,i)})]}),p&&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&&!c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content.slice(0,200)+"..."}),(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!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)(z,{children:t.content}),h&&(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},22922:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(90508);n(1856);var a=n(49499),o=n(54154),s=n(24377);let l=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:n="default",size:a="default",asChild:i=!1,...c}=e,d=i?o.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,s.cn)(l({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(o,":").concat(s)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let o=new Map,s=new Map,l=new Map,i=new Set,c=0;function d(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 u(){c++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=d(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,a){let o=d(e,t,r,a);return"".concat(o,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),c=s.get(i);if(c&&Date.now()-c<3e3)return;s.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=o.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),o.set(a,f);let p=l.get(i);p&&clearTimeout(p);let x=setTimeout(()=>{let t=o.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?o.delete(a):o.set(a,n)}s.delete(i),l.delete(i),u()},3e3);l.set(i,x),u()}function f(){return c}function p(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)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=o.get(d(e,t,n,r)))?a:[]}let s="".concat(e,":").concat(t),l=new Map;for(let[e,t]of o)if(e===s||e.startsWith(s+":"))for(let e of t){let t=l.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&l.set(e.agentUuid,e)}return[...l.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>i,Wu:()=>d,X9:()=>c,ZB:()=>l,Zp:()=>o,aR:()=>s,wL:()=>u});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-action",className:(0,a.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...n})}function d(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}function u(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-footer",className:(0,a.cn)("flex items-center px-6 [.border-t]:pt-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>x,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>g,ck:()=>f,r7:()=>p,tv:()=>i,wd:()=>m});var r=n(90508);n(1856);var a=n(90299),o=n(24377),s=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"alert-dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(a.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(a.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...s}=e;return(0,r.jsxs)(c,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(a.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...s})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,o.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(a.Title,{"data-slot":"alert-dialog-title",className:(0,o.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(a.Description,{"data-slot":"alert-dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}function h(e){let{className:t,variant:n="default",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Action,{"data-slot":"alert-dialog-action",className:(0,o.cn)(t),...i})})}function g(e){let{className:t,variant:n="outline",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,o.cn)(t),...i})})}},63964:(e,t,n)=>{n.d(t,{S2:()=>c,eV:()=>i,l9:()=>l,tS:()=>s,w0:()=>d});var r=n(90508),a=n(1856);n(23675);let o=(0,a.createContext)(null);function s(e){let{projectUuid:t,children:n}=e,s=(0,a.useRef)(new Set),l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{s.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{l.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function o(){s(),(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));let o=n;clearTimeout(e);let s=Date.now(),l=s-r;l>=3e3?(r=s,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-l));let u=o.entityType;clearTimeout(a[u]),a[u]=setTimeout(()=>{d(o)},300)},n.onerror=()=>{}}function s(){n&&(n.close(),n=null)}function l(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(o(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return o(),document.addEventListener("visibilitychange",l),()=>{for(let t in s(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",l)}},[t,c,d]);let u=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:f}),[u,m,f]);return(0,r.jsx)(o.Provider,{value:p,children:n})}function l(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,a.useContext)(o),r=(0,a.useRef)(t);r.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function c(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function d(e,t,n){let r=(0,a.useContext)(o),s=(0,a.useRef)(n);s.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&s.current(n)})},[r,e,t])}},67712:(e,t,n)=>{n.d(t,{q:()=>l});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},o=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function s(e){return a[e]>=a[o]}let l={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("error")&&console.error("[Chorus] ".concat(e),...n)}}},73693:(e,t,n)=>{n.d(t,{eu:()=>s,q5:()=>l});var r=n(90508);n(1856);var a=n(65514),o=n(24377);function s(e){let{className:t,size:n="default",...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,o.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),...s})}function l(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,o.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})}},75024:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>l});var r=n(90508),a=n(47754),o=n(30423),s=n(5425);function l(e){let{entityType:t,entityUuid:n,subEntityType:s,subEntityUuid:l,children:c,badgeInside:d}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,s,l),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,o.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(d?"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]})]}),c]})}function i(e){let{entry:t}=e,n=(0,o.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)(s.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var r=n(90508),a=n(1856),o=n(65700),s=n(19169),l=n(26190);let i={code:s.a,mermaid:l.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t}=e,n=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),s=(0,a.useMemo)(()=>({config:{theme:n?"dark":"default"}}),[n]);return(0,r.jsx)(o.jH,{plugins:i,controls:c,mermaid:s,children:t},n?"dark":"light")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[53298],{3705:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(1856),l=r(99457);function o(e){let[t,r]=n.useState(void 0);return(0,l.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,l;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,l=t.blockSize}else n=e.offsetWidth,l=e.offsetHeight;r({width:n,height:l})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}},48218:(e,t,r)=>{r.r(t),r.d(t,{Arrow:()=>eU,Content:()=>eD,Group:()=>eB,Icon:()=>eM,Item:()=>eF,ItemIndicator:()=>eK,ItemText:()=>e_,Label:()=>ez,Portal:()=>eI,Root:()=>eO,ScrollDownButton:()=>eW,ScrollUpButton:()=>eV,Select:()=>F,SelectArrow:()=>eT,SelectContent:()=>X,SelectGroup:()=>es,SelectIcon:()=>G,SelectItem:()=>eh,SelectItemIndicator:()=>ew,SelectItemText:()=>ev,SelectLabel:()=>ec,SelectPortal:()=>U,SelectScrollDownButton:()=>eS,SelectScrollUpButton:()=>ex,SelectSeparator:()=>eC,SelectTrigger:()=>K,SelectValue:()=>W,SelectViewport:()=>el,Separator:()=>eG,Trigger:()=>eL,Value:()=>eN,Viewport:()=>eH,createSelectScope:()=>M});var n=r(1856),l=r(38129),o=r(91722),i=r(33328),a=r(81369),s=r(34124),u=r(21032),c=r(72599),f=r(63569),d=r(12139),p=r(80491),h=r(40577),m=r(67221),v=r(17533),g=r(93367),w=r(54154),y=r(32313),x=r(66249),b=r(99457),S=r(72009),R=r(78134),C=r(2188),A=r(46523),T=r(90508),j=[" ","Enter","ArrowUp","ArrowDown"],P=[" ","Enter"],E="Select",[k,O,L]=(0,a.N)(E),[N,M]=(0,u.A)(E,[L,m.Bk]),I=(0,m.Bk)(),[D,H]=N(E),[B,z]=N(E),F=e=>{let{__scopeSelect:t,children:r,open:l,defaultOpen:o,onOpenChange:i,value:a,defaultValue:s,onValueChange:u,dir:f,name:d,autoComplete:p,disabled:v,required:g,form:w}=e,y=I(t),[b,S]=n.useState(null),[R,C]=n.useState(null),[A,j]=n.useState(!1),P=(0,c.jH)(f),[O,L]=(0,x.i)({prop:l,defaultProp:null!=o&&o,onChange:i,caller:E}),[N,M]=(0,x.i)({prop:a,defaultProp:s,onChange:u,caller:E}),H=n.useRef(null),z=!b||w||!!b.closest("form"),[F,_]=n.useState(new Set),K=Array.from(F).map(e=>e.props.value).join(";");return(0,T.jsx)(m.bL,{...y,children:(0,T.jsxs)(D,{required:g,scope:t,trigger:b,onTriggerChange:S,valueNode:R,onValueNodeChange:C,valueNodeHasChildren:A,onValueNodeHasChildrenChange:j,contentId:(0,h.B)(),value:N,onValueChange:M,open:O,onOpenChange:L,dir:P,triggerPointerDownPosRef:H,disabled:v,children:[(0,T.jsx)(k.Provider,{scope:t,children:(0,T.jsx)(B,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{_(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{_(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),z?(0,T.jsxs)(ej,{"aria-hidden":!0,required:g,tabIndex:-1,name:d,autoComplete:p,value:N,onChange:e=>M(e.target.value),disabled:v,form:w,children:[void 0===N?(0,T.jsx)("option",{value:""}):null,Array.from(F)]},K):null]})})};F.displayName=E;var _="SelectTrigger",K=n.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:l=!1,...o}=e,a=I(r),u=H(_,r),c=u.disabled||l,f=(0,s.s)(t,u.onTriggerChange),d=O(r),p=n.useRef("touch"),[h,v,w]=eE(e=>{let t=d().filter(e=>!e.disabled),r=t.find(e=>e.value===u.value),n=ek(t,e,r);void 0!==n&&u.onValueChange(n.value)}),y=e=>{c||(u.onOpenChange(!0),w()),e&&(u.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,T.jsx)(m.Mz,{asChild:!0,...a,children:(0,T.jsx)(g.sG.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eP(u.value)?"":void 0,...o,ref:f,onClick:(0,i.mK)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&y(e)}),onPointerDown:(0,i.mK)(o.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,i.mK)(o.onKeyDown,e=>{let t=""!==h.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||v(e.key),(!t||" "!==e.key)&&j.includes(e.key)&&(y(),e.preventDefault())})})})});K.displayName=_;var V="SelectValue",W=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:l,children:o,placeholder:i="",...a}=e,u=H(V,r),{onValueNodeHasChildrenChange:c}=u,f=void 0!==o,d=(0,s.s)(t,u.onValueNodeChange);return(0,b.N)(()=>{c(f)},[c,f]),(0,T.jsx)(g.sG.span,{...a,ref:d,style:{pointerEvents:"none"},children:eP(u.value)?(0,T.jsx)(T.Fragment,{children:i}):o})});W.displayName=V;var G=n.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...l}=e;return(0,T.jsx)(g.sG.span,{"aria-hidden":!0,...l,ref:t,children:n||"▼"})});G.displayName="SelectIcon";var U=e=>(0,T.jsx)(v.Portal,{asChild:!0,...e});U.displayName="SelectPortal";var q="SelectContent",X=n.forwardRef((e,t)=>{let r=H(q,e.__scopeSelect),[o,i]=n.useState();return((0,b.N)(()=>{i(new DocumentFragment)},[]),r.open)?(0,T.jsx)(Q,{...e,ref:t}):o?l.createPortal((0,T.jsx)(Y,{scope:e.__scopeSelect,children:(0,T.jsx)(k.Slot,{scope:e.__scopeSelect,children:(0,T.jsx)("div",{children:e.children})})}),o):null});X.displayName=q;var[Y,Z]=N(q),$=(0,w.TL)("SelectContent.RemoveScroll"),Q=n.forwardRef((e,t)=>{let{__scopeSelect:r,position:l="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:u,side:c,sideOffset:h,align:m,alignOffset:v,arrowPadding:g,collisionBoundary:w,collisionPadding:y,sticky:x,hideWhenDetached:b,avoidCollisions:S,...R}=e,j=H(q,r),[P,E]=n.useState(null),[k,L]=n.useState(null),N=(0,s.s)(t,e=>E(e)),[M,I]=n.useState(null),[D,B]=n.useState(null),z=O(r),[F,_]=n.useState(!1),K=n.useRef(!1);n.useEffect(()=>{if(P)return(0,C.Eq)(P)},[P]),(0,d.Oh)();let V=n.useCallback(e=>{let[t,...r]=z().map(e=>e.ref.current),[n]=r.slice(-1),l=document.activeElement;for(let r of e)if(r===l||(null==r||r.scrollIntoView({block:"nearest"}),r===t&&k&&(k.scrollTop=0),r===n&&k&&(k.scrollTop=k.scrollHeight),null==r||r.focus(),document.activeElement!==l))return},[z,k]),W=n.useCallback(()=>V([M,P]),[V,M,P]);n.useEffect(()=>{F&&W()},[F,W]);let{onOpenChange:G,triggerPointerDownPosRef:U}=j;n.useEffect(()=>{if(P){let e={x:0,y:0},t=t=>{var r,n,l,o;e={x:Math.abs(Math.round(t.pageX)-(null!=(l=null==(r=U.current)?void 0:r.x)?l:0)),y:Math.abs(Math.round(t.pageY)-(null!=(o=null==(n=U.current)?void 0:n.y)?o:0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():P.contains(r.target)||G(!1),document.removeEventListener("pointermove",t),U.current=null};return null!==U.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[P,G,U]),n.useEffect(()=>{let e=()=>G(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[G]);let[X,Z]=eE(e=>{let t=z().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=ek(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),Q=n.useCallback((e,t,r)=>{let n=!K.current&&!r;(void 0!==j.value&&j.value===t||n)&&(I(e),n&&(K.current=!0))},[j.value]),et=n.useCallback(()=>null==P?void 0:P.focus(),[P]),er=n.useCallback((e,t,r)=>{let n=!K.current&&!r;(void 0!==j.value&&j.value===t||n)&&B(e)},[j.value]),en="popper"===l?ee:J,el=en===ee?{side:c,sideOffset:h,align:m,alignOffset:v,arrowPadding:g,collisionBoundary:w,collisionPadding:y,sticky:x,hideWhenDetached:b,avoidCollisions:S}:{};return(0,T.jsx)(Y,{scope:r,content:P,viewport:k,onViewportChange:L,itemRefCallback:Q,selectedItem:M,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:W,selectedItemText:D,position:l,isPositioned:F,searchRef:X,children:(0,T.jsx)(A.A,{as:$,allowPinchZoom:!0,children:(0,T.jsx)(p.n,{asChild:!0,trapped:j.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,i.mK)(o,e=>{var t;null==(t=j.trigger)||t.focus({preventScroll:!0}),e.preventDefault()}),children:(0,T.jsx)(f.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:(0,T.jsx)(en,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:e=>e.preventDefault(),...R,...el,onPlaced:()=>_(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:(0,i.mK)(R.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Z(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=z().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})});Q.displayName="SelectContentImpl";var J=n.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:l,...i}=e,a=H(q,r),u=Z(q,r),[c,f]=n.useState(null),[d,p]=n.useState(null),h=(0,s.s)(t,e=>p(e)),m=O(r),v=n.useRef(!1),w=n.useRef(!0),{viewport:y,selectedItem:x,selectedItemText:S,focusSelectedItem:R}=u,C=n.useCallback(()=>{if(a.trigger&&a.valueNode&&c&&d&&y&&x&&S){let e=a.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),r=a.valueNode.getBoundingClientRect(),n=S.getBoundingClientRect();if("rtl"!==a.dir){let l=n.left-t.left,i=r.left-l,a=e.left-i,s=e.width+a,u=Math.max(s,t.width),f=window.innerWidth-10,d=(0,o.q)(i,[10,Math.max(10,f-u)]);c.style.minWidth=s+"px",c.style.left=d+"px"}else{let l=t.right-n.right,i=window.innerWidth-r.right-l,a=window.innerWidth-e.right-i,s=e.width+a,u=Math.max(s,t.width),f=window.innerWidth-10,d=(0,o.q)(i,[10,Math.max(10,f-u)]);c.style.minWidth=s+"px",c.style.right=d+"px"}let i=m(),s=window.innerHeight-20,u=y.scrollHeight,f=window.getComputedStyle(d),p=parseInt(f.borderTopWidth,10),h=parseInt(f.paddingTop,10),g=parseInt(f.borderBottomWidth,10),w=p+h+u+parseInt(f.paddingBottom,10)+g,b=Math.min(5*x.offsetHeight,w),R=window.getComputedStyle(y),C=parseInt(R.paddingTop,10),A=parseInt(R.paddingBottom,10),T=e.top+e.height/2-10,j=x.offsetHeight/2,P=p+h+(x.offsetTop+j);if(P<=T){let e=i.length>0&&x===i[i.length-1].ref.current;c.style.bottom="0px";let t=Math.max(s-T,j+(e?A:0)+(d.clientHeight-y.offsetTop-y.offsetHeight)+g);c.style.height=P+t+"px"}else{let e=i.length>0&&x===i[0].ref.current;c.style.top="0px";let t=Math.max(T,p+y.offsetTop+(e?C:0)+j);c.style.height=t+(w-P)+"px",y.scrollTop=P-T+y.offsetTop}c.style.margin="".concat(10,"px 0"),c.style.minHeight=b+"px",c.style.maxHeight=s+"px",null==l||l(),requestAnimationFrame(()=>v.current=!0)}},[m,a.trigger,a.valueNode,c,d,y,x,S,a.dir,l]);(0,b.N)(()=>C(),[C]);let[A,j]=n.useState();(0,b.N)(()=>{d&&j(window.getComputedStyle(d).zIndex)},[d]);let P=n.useCallback(e=>{e&&!0===w.current&&(C(),null==R||R(),w.current=!1)},[C,R]);return(0,T.jsx)(et,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:v,onScrollButtonChange:P,children:(0,T.jsx)("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,T.jsx)(g.sG.div,{...i,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});J.displayName="SelectItemAlignedPosition";var ee=n.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:l=10,...o}=e,i=I(r);return(0,T.jsx)(m.UC,{...i,...o,ref:t,align:n,collisionPadding:l,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ee.displayName="SelectPopperPosition";var[et,er]=N(q,{}),en="SelectViewport",el=n.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:l,...o}=e,a=Z(en,r),u=er(en,r),c=(0,s.s)(t,a.onViewportChange),f=n.useRef(0);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,T.jsx)(k.Slot,{scope:r,children:(0,T.jsx)(g.sG.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,i.mK)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=u;if((null==n?void 0:n.current)&&r){let e=Math.abs(f.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,l=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(l<n){let o=l+e,i=Math.min(n,o),a=o-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=a>0?a:0,r.style.justifyContent="flex-end")}}}f.current=t.scrollTop})})})]})});el.displayName=en;var eo="SelectGroup",[ei,ea]=N(eo),es=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=(0,h.B)();return(0,T.jsx)(ei,{scope:r,id:l,children:(0,T.jsx)(g.sG.div,{role:"group","aria-labelledby":l,...n,ref:t})})});es.displayName=eo;var eu="SelectLabel",ec=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=ea(eu,r);return(0,T.jsx)(g.sG.div,{id:l.id,...n,ref:t})});ec.displayName=eu;var ef="SelectItem",[ed,ep]=N(ef),eh=n.forwardRef((e,t)=>{let{__scopeSelect:r,value:l,disabled:o=!1,textValue:a,...u}=e,c=H(ef,r),f=Z(ef,r),d=c.value===l,[p,m]=n.useState(null!=a?a:""),[v,w]=n.useState(!1),y=(0,s.s)(t,e=>{var t;return null==(t=f.itemRefCallback)?void 0:t.call(f,e,l,o)}),x=(0,h.B)(),b=n.useRef("touch"),S=()=>{o||(c.onValueChange(l),c.onOpenChange(!1))};if(""===l)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,T.jsx)(ed,{scope:r,value:l,disabled:o,textId:x,isSelected:d,onItemTextChange:n.useCallback(e=>{m(t=>{var r;return t||(null!=(r=null==e?void 0:e.textContent)?r:"").trim()})},[]),children:(0,T.jsx)(k.ItemSlot,{scope:r,value:l,disabled:o,textValue:p,children:(0,T.jsx)(g.sG.div,{role:"option","aria-labelledby":x,"data-highlighted":v?"":void 0,"aria-selected":d&&v,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...u,ref:y,onFocus:(0,i.mK)(u.onFocus,()=>w(!0)),onBlur:(0,i.mK)(u.onBlur,()=>w(!1)),onClick:(0,i.mK)(u.onClick,()=>{"mouse"!==b.current&&S()}),onPointerUp:(0,i.mK)(u.onPointerUp,()=>{"mouse"===b.current&&S()}),onPointerDown:(0,i.mK)(u.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:(0,i.mK)(u.onPointerMove,e=>{if(b.current=e.pointerType,o){var t;null==(t=f.onItemLeave)||t.call(f)}else"mouse"===b.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,i.mK)(u.onPointerLeave,e=>{if(e.currentTarget===document.activeElement){var t;null==(t=f.onItemLeave)||t.call(f)}}),onKeyDown:(0,i.mK)(u.onKeyDown,e=>{var t;((null==(t=f.searchRef)?void 0:t.current)===""||" "!==e.key)&&(P.includes(e.key)&&S()," "===e.key&&e.preventDefault())})})})})});eh.displayName=ef;var em="SelectItemText",ev=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:o,style:i,...a}=e,u=H(em,r),c=Z(em,r),f=ep(em,r),d=z(em,r),[p,h]=n.useState(null),m=(0,s.s)(t,e=>h(e),f.onItemTextChange,e=>{var t;return null==(t=c.itemTextRefCallback)?void 0:t.call(c,e,f.value,f.disabled)}),v=null==p?void 0:p.textContent,w=n.useMemo(()=>(0,T.jsx)("option",{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:y,onNativeOptionRemove:x}=d;return(0,b.N)(()=>(y(w),()=>x(w)),[y,x,w]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(g.sG.span,{id:f.textId,...a,ref:m}),f.isSelected&&u.valueNode&&!u.valueNodeHasChildren?l.createPortal(a.children,u.valueNode):null]})});ev.displayName=em;var eg="SelectItemIndicator",ew=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return ep(eg,r).isSelected?(0,T.jsx)(g.sG.span,{"aria-hidden":!0,...n,ref:t}):null});ew.displayName=eg;var ey="SelectScrollUpButton",ex=n.forwardRef((e,t)=>{let r=Z(ey,e.__scopeSelect),l=er(ey,e.__scopeSelect),[o,i]=n.useState(!1),a=(0,s.s)(t,l.onScrollButtonChange);return(0,b.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){i(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,T.jsx)(eR,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ex.displayName=ey;var eb="SelectScrollDownButton",eS=n.forwardRef((e,t)=>{let r=Z(eb,e.__scopeSelect),l=er(eb,e.__scopeSelect),[o,i]=n.useState(!1),a=(0,s.s)(t,l.onScrollButtonChange);return(0,b.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;i(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,T.jsx)(eR,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eS.displayName=eb;var eR=n.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:l,...o}=e,a=Z("SelectScrollButton",r),s=n.useRef(null),u=O(r),c=n.useCallback(()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)},[]);return n.useEffect(()=>()=>c(),[c]),(0,b.N)(()=>{var e;let t=u().find(e=>e.ref.current===document.activeElement);null==t||null==(e=t.ref.current)||e.scrollIntoView({block:"nearest"})},[u]),(0,T.jsx)(g.sG.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:(0,i.mK)(o.onPointerDown,()=>{null===s.current&&(s.current=window.setInterval(l,50))}),onPointerMove:(0,i.mK)(o.onPointerMove,()=>{var e;null==(e=a.onItemLeave)||e.call(a),null===s.current&&(s.current=window.setInterval(l,50))}),onPointerLeave:(0,i.mK)(o.onPointerLeave,()=>{c()})})}),eC=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,T.jsx)(g.sG.div,{"aria-hidden":!0,...n,ref:t})});eC.displayName="SelectSeparator";var eA="SelectArrow",eT=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=I(r),o=H(eA,r),i=Z(eA,r);return o.open&&"popper"===i.position?(0,T.jsx)(m.i3,{...l,...n,ref:t}):null});eT.displayName=eA;var ej=n.forwardRef((e,t)=>{let{__scopeSelect:r,value:l,...o}=e,i=n.useRef(null),a=(0,s.s)(t,i),u=(0,S.Z)(l);return n.useEffect(()=>{let e=i.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(u!==l&&t){let r=new Event("change",{bubbles:!0});t.call(e,l),e.dispatchEvent(r)}},[u,l]),(0,T.jsx)(g.sG.select,{...o,style:{...R.Qg,...o.style},ref:a,defaultValue:l})});function eP(e){return""===e||void 0===e}function eE(e){let t=(0,y.c)(e),r=n.useRef(""),l=n.useRef(0),o=n.useCallback(e=>{let n=r.current+e;t(n),function e(t){r.current=t,window.clearTimeout(l.current),""!==t&&(l.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),i=n.useCallback(()=>{r.current="",window.clearTimeout(l.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(l.current),[]),[r,o,i]}function ek(e,t,r){var n,l;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,a=(n=e,l=Math.max(i,0),n.map((e,t)=>n[(l+t)%n.length]));1===o.length&&(a=a.filter(e=>e!==r));let s=a.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==r?s:void 0}ej.displayName="SelectBubbleInput";var eO=F,eL=K,eN=W,eM=G,eI=U,eD=X,eH=el,eB=es,ez=ec,eF=eh,e_=ev,eK=ew,eV=ex,eW=eS,eG=eC,eU=eT},52217:(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,{callServer:function(){return n.callServer},createServerReference:function(){return o.createServerReference},findSourceMapURL:function(){return l.findSourceMapURL}});let n=r(53874),l=r(11550),o=r(31802)},67221:(e,t,r)=>{r.d(t,{Mz:()=>e1,i3:()=>e5,UC:()=>e2,bL:()=>e0,Bk:()=>eB});var n=r(1856);let l=["top","right","bottom","left"],o=Math.min,i=Math.max,a=Math.round,s=Math.floor,u=e=>({x:e,y:e}),c={left:"right",right:"left",bottom:"top",top:"bottom"},f={start:"end",end:"start"};function d(e,t){return"function"==typeof e?e(t):e}function p(e){return e.split("-")[0]}function h(e){return e.split("-")[1]}function m(e){return"x"===e?"y":"x"}function v(e){return"y"===e?"height":"width"}let g=new Set(["top","bottom"]);function w(e){return g.has(p(e))?"y":"x"}function y(e){return e.replace(/start|end/g,e=>f[e])}let x=["left","right"],b=["right","left"],S=["top","bottom"],R=["bottom","top"];function C(e){return e.replace(/left|right|bottom|top/g,e=>c[e])}function A(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function T(e){let{x:t,y:r,width:n,height:l}=e;return{width:n,height:l,top:r,left:t,right:t+n,bottom:r+l,x:t,y:r}}function j(e,t,r){let n,{reference:l,floating:o}=e,i=w(t),a=m(w(t)),s=v(a),u=p(t),c="y"===i,f=l.x+l.width/2-o.width/2,d=l.y+l.height/2-o.height/2,g=l[s]/2-o[s]/2;switch(u){case"top":n={x:f,y:l.y-o.height};break;case"bottom":n={x:f,y:l.y+l.height};break;case"right":n={x:l.x+l.width,y:d};break;case"left":n={x:l.x-o.width,y:d};break;default:n={x:l.x,y:l.y}}switch(h(t)){case"start":n[a]-=g*(r&&c?-1:1);break;case"end":n[a]+=g*(r&&c?-1:1)}return n}async function P(e,t){var r;void 0===t&&(t={});let{x:n,y:l,platform:o,rects:i,elements:a,strategy:s}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:p=!1,padding:h=0}=d(t,e),m=A(h),v=a[p?"floating"===f?"reference":"floating":f],g=T(await o.getClippingRect({element:null==(r=await (null==o.isElement?void 0:o.isElement(v)))||r?v:v.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:s})),w="floating"===f?{x:n,y:l,width:i.floating.width,height:i.floating.height}:i.reference,y=await (null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),x=await (null==o.isElement?void 0:o.isElement(y))&&await (null==o.getScale?void 0:o.getScale(y))||{x:1,y:1},b=T(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:y,strategy:s}):w);return{top:(g.top-b.top+m.top)/x.y,bottom:(b.bottom-g.bottom+m.bottom)/x.y,left:(g.left-b.left+m.left)/x.x,right:(b.right-g.right+m.right)/x.x}}let E=async(e,t,r)=>{let{placement:n="bottom",strategy:l="absolute",middleware:o=[],platform:i}=r,a=o.filter(Boolean),s=await (null==i.isRTL?void 0:i.isRTL(t)),u=await i.getElementRects({reference:e,floating:t,strategy:l}),{x:c,y:f}=j(u,n,s),d=n,p={},h=0;for(let r=0;r<a.length;r++){var m;let{name:o,fn:v}=a[r],{x:g,y:w,data:y,reset:x}=await v({x:c,y:f,initialPlacement:n,placement:d,strategy:l,middlewareData:p,rects:u,platform:{...i,detectOverflow:null!=(m=i.detectOverflow)?m:P},elements:{reference:e,floating:t}});c=null!=g?g:c,f=null!=w?w:f,p={...p,[o]:{...p[o],...y}},x&&h<=50&&(h++,"object"==typeof x&&(x.placement&&(d=x.placement),x.rects&&(u=!0===x.rects?await i.getElementRects({reference:e,floating:t,strategy:l}):x.rects),{x:c,y:f}=j(u,d,s)),r=-1)}return{x:c,y:f,placement:d,strategy:l,middlewareData:p}};function k(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function O(e){return l.some(t=>e[t]>=0)}let L=new Set(["left","top"]);async function N(e,t){let{placement:r,platform:n,elements:l}=e,o=await (null==n.isRTL?void 0:n.isRTL(l.floating)),i=p(r),a=h(r),s="y"===w(r),u=L.has(i)?-1:1,c=o&&s?-1:1,f=d(t,e),{mainAxis:m,crossAxis:v,alignmentAxis:g}="number"==typeof f?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&"number"==typeof g&&(v="end"===a?-1*g:g),s?{x:v*c,y:m*u}:{x:m*u,y:v*c}}function M(){return"undefined"!=typeof window}function I(e){return B(e)?(e.nodeName||"").toLowerCase():"#document"}function D(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function H(e){var t;return null==(t=(B(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function B(e){return!!M()&&(e instanceof Node||e instanceof D(e).Node)}function z(e){return!!M()&&(e instanceof Element||e instanceof D(e).Element)}function F(e){return!!M()&&(e instanceof HTMLElement||e instanceof D(e).HTMLElement)}function _(e){return!!M()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof D(e).ShadowRoot)}let K=new Set(["inline","contents"]);function V(e){let{overflow:t,overflowX:r,overflowY:n,display:l}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!K.has(l)}let W=new Set(["table","td","th"]),G=[":popover-open",":modal"];function U(e){return G.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let q=["transform","translate","scale","rotate","perspective"],X=["transform","translate","scale","rotate","perspective","filter"],Y=["paint","layout","strict","content"];function Z(e){let t=$(),r=z(e)?ee(e):e;return q.some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||X.some(e=>(r.willChange||"").includes(e))||Y.some(e=>(r.contain||"").includes(e))}function $(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let Q=new Set(["html","body","#document"]);function J(e){return Q.has(I(e))}function ee(e){return D(e).getComputedStyle(e)}function et(e){return z(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function er(e){if("html"===I(e))return e;let t=e.assignedSlot||e.parentNode||_(e)&&e.host||H(e);return _(t)?t.host:t}function en(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let l=function e(t){let r=er(t);return J(r)?t.ownerDocument?t.ownerDocument.body:t.body:F(r)&&V(r)?r:e(r)}(e),o=l===(null==(n=e.ownerDocument)?void 0:n.body),i=D(l);if(o){let e=el(i);return t.concat(i,i.visualViewport||[],V(l)?l:[],e&&r?en(e):[])}return t.concat(l,en(l,[],r))}function el(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eo(e){let t=ee(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,l=F(e),o=l?e.offsetWidth:r,i=l?e.offsetHeight:n,s=a(r)!==o||a(n)!==i;return s&&(r=o,n=i),{width:r,height:n,$:s}}function ei(e){return z(e)?e:e.contextElement}function ea(e){let t=ei(e);if(!F(t))return u(1);let r=t.getBoundingClientRect(),{width:n,height:l,$:o}=eo(t),i=(o?a(r.width):r.width)/n,s=(o?a(r.height):r.height)/l;return i&&Number.isFinite(i)||(i=1),s&&Number.isFinite(s)||(s=1),{x:i,y:s}}let es=u(0);function eu(e){let t=D(e);return $()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:es}function ec(e,t,r,n){var l;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),i=ei(e),a=u(1);t&&(n?z(n)&&(a=ea(n)):a=ea(e));let s=(void 0===(l=r)&&(l=!1),n&&(!l||n===D(i))&&l)?eu(i):u(0),c=(o.left+s.x)/a.x,f=(o.top+s.y)/a.y,d=o.width/a.x,p=o.height/a.y;if(i){let e=D(i),t=n&&z(n)?D(n):n,r=e,l=el(r);for(;l&&n&&t!==r;){let e=ea(l),t=l.getBoundingClientRect(),n=ee(l),o=t.left+(l.clientLeft+parseFloat(n.paddingLeft))*e.x,i=t.top+(l.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,f*=e.y,d*=e.x,p*=e.y,c+=o,f+=i,l=el(r=D(l))}}return T({width:d,height:p,x:c,y:f})}function ef(e,t){let r=et(e).scrollLeft;return t?t.left+r:ec(H(e)).left+r}function ed(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-ef(e,r),y:r.top+t.scrollTop}}let ep=new Set(["absolute","fixed"]);function eh(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=D(e),n=H(e),l=r.visualViewport,o=n.clientWidth,i=n.clientHeight,a=0,s=0;if(l){o=l.width,i=l.height;let e=$();(!e||e&&"fixed"===t)&&(a=l.offsetLeft,s=l.offsetTop)}let u=ef(n);if(u<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),l="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,i=Math.abs(n.clientWidth-t.clientWidth-l);i<=25&&(o-=i)}else u<=25&&(o+=u);return{width:o,height:i,x:a,y:s}}(e,r);else if("document"===t)n=function(e){let t=H(e),r=et(e),n=e.ownerDocument.body,l=i(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=i(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),a=-r.scrollLeft+ef(e),s=-r.scrollTop;return"rtl"===ee(n).direction&&(a+=i(t.clientWidth,n.clientWidth)-l),{width:l,height:o,x:a,y:s}}(H(e));else if(z(t))n=function(e,t){let r=ec(e,!0,"fixed"===t),n=r.top+e.clientTop,l=r.left+e.clientLeft,o=F(e)?ea(e):u(1),i=e.clientWidth*o.x,a=e.clientHeight*o.y;return{width:i,height:a,x:l*o.x,y:n*o.y}}(t,r);else{let r=eu(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return T(n)}function em(e){return"static"===ee(e).position}function ev(e,t){if(!F(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let r=e.offsetParent;return H(e)===r&&(r=r.ownerDocument.body),r}function eg(e,t){var r;let n=D(e);if(U(e))return n;if(!F(e)){let t=er(e);for(;t&&!J(t);){if(z(t)&&!em(t))return t;t=er(t)}return n}let l=ev(e,t);for(;l&&(r=l,W.has(I(r)))&&em(l);)l=ev(l,t);return l&&J(l)&&em(l)&&!Z(l)?n:l||function(e){let t=er(e);for(;F(t)&&!J(t);){if(Z(t))return t;if(U(t))break;t=er(t)}return null}(e)||n}let ew=async function(e){let t=this.getOffsetParent||eg,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=F(t),l=H(t),o="fixed"===r,i=ec(e,!0,o,t),a={scrollLeft:0,scrollTop:0},s=u(0);if(n||!n&&!o)if(("body"!==I(t)||V(l))&&(a=et(t)),n){let e=ec(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else l&&(s.x=ef(l));o&&!n&&l&&(s.x=ef(l));let c=!l||n||o?u(0):ed(l,a);return{x:i.left+a.scrollLeft-s.x-c.x,y:i.top+a.scrollTop-s.y-c.y,width:i.width,height:i.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},ey={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:l}=e,o="fixed"===l,i=H(n),a=!!t&&U(t.floating);if(n===i||a&&o)return r;let s={scrollLeft:0,scrollTop:0},c=u(1),f=u(0),d=F(n);if((d||!d&&!o)&&(("body"!==I(n)||V(i))&&(s=et(n)),F(n))){let e=ec(n);c=ea(n),f.x=e.x+n.clientLeft,f.y=e.y+n.clientTop}let p=!i||d||o?u(0):ed(i,s);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-s.scrollLeft*c.x+f.x+p.x,y:r.y*c.y-s.scrollTop*c.y+f.y+p.y}},getDocumentElement:H,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:l}=e,a=[..."clippingAncestors"===r?U(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=en(e,[],!1).filter(e=>z(e)&&"body"!==I(e)),l=null,o="fixed"===ee(e).position,i=o?er(e):e;for(;z(i)&&!J(i);){let t=ee(i),r=Z(i);r||"fixed"!==t.position||(l=null),(o?!r&&!l:!r&&"static"===t.position&&!!l&&ep.has(l.position)||V(i)&&!r&&function e(t,r){let n=er(t);return!(n===r||!z(n)||J(n))&&("fixed"===ee(n).position||e(n,r))}(e,i))?n=n.filter(e=>e!==i):l=t,i=er(i)}return t.set(e,n),n}(t,this._c):[].concat(r),n],s=a[0],u=a.reduce((e,r)=>{let n=eh(t,r,l);return e.top=i(n.top,e.top),e.right=o(n.right,e.right),e.bottom=o(n.bottom,e.bottom),e.left=i(n.left,e.left),e},eh(t,s,l));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:eg,getElementRects:ew,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=eo(e);return{width:t,height:r}},getScale:ea,isElement:z,isRTL:function(e){return"rtl"===ee(e).direction}};function ex(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let eb=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:l,rects:a,platform:s,elements:u,middlewareData:c}=t,{element:f,padding:p=0}=d(e,t)||{};if(null==f)return{};let g=A(p),y={x:r,y:n},x=m(w(l)),b=v(x),S=await s.getDimensions(f),R="y"===x,C=R?"clientHeight":"clientWidth",T=a.reference[b]+a.reference[x]-y[x]-a.floating[b],j=y[x]-a.reference[x],P=await (null==s.getOffsetParent?void 0:s.getOffsetParent(f)),E=P?P[C]:0;E&&await (null==s.isElement?void 0:s.isElement(P))||(E=u.floating[C]||a.floating[b]);let k=E/2-S[b]/2-1,O=o(g[R?"top":"left"],k),L=o(g[R?"bottom":"right"],k),N=E-S[b]-L,M=E/2-S[b]/2+(T/2-j/2),I=i(O,o(M,N)),D=!c.arrow&&null!=h(l)&&M!==I&&a.reference[b]/2-(M<O?O:L)-S[b]/2<0,H=D?M<O?M-O:M-N:0;return{[x]:y[x]+H,data:{[x]:I,centerOffset:M-I-H,...D&&{alignmentOffset:H}},reset:D}}});var eS=r(38129),eR="undefined"!=typeof document?n.useLayoutEffect:function(){};function eC(e,t){let r,n,l;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!eC(e[n],t[n]))return!1;return!0}if((r=(l=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,l[n]))return!1;for(n=r;0!=n--;){let r=l[n];if(("_owner"!==r||!e.$$typeof)&&!eC(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function eA(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eT(e,t){let r=eA(e);return Math.round(t*r)/r}function ej(e){let t=n.useRef(e);return eR(()=>{t.current=e}),t}var eP=r(93367),eE=r(90508),ek=n.forwardRef((e,t)=>{let{children:r,width:n=10,height:l=5,...o}=e;return(0,eE.jsx)(eP.sG.svg,{...o,ref:t,width:n,height:l,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,eE.jsx)("polygon",{points:"0,0 30,0 15,10"})})});ek.displayName="Arrow";var eO=r(34124),eL=r(21032),eN=r(32313),eM=r(99457),eI=r(3705),eD="Popper",[eH,eB]=(0,eL.A)(eD),[ez,eF]=eH(eD),e_=e=>{let{__scopePopper:t,children:r}=e,[l,o]=n.useState(null);return(0,eE.jsx)(ez,{scope:t,anchor:l,onAnchorChange:o,children:r})};e_.displayName=eD;var eK="PopperAnchor",eV=n.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:l,...o}=e,i=eF(eK,r),a=n.useRef(null),s=(0,eO.s)(t,a),u=n.useRef(null);return n.useEffect(()=>{let e=u.current;u.current=(null==l?void 0:l.current)||a.current,e!==u.current&&i.onAnchorChange(u.current)}),l?null:(0,eE.jsx)(eP.sG.div,{...o,ref:s})});eV.displayName=eK;var eW="PopperContent",[eG,eU]=eH(eW),eq=n.forwardRef((e,t)=>{var r,l,a,u,c,f,g,A;let{__scopePopper:T,side:j="bottom",sideOffset:P=0,align:M="center",alignOffset:I=0,arrowPadding:D=0,avoidCollisions:B=!0,collisionBoundary:z=[],collisionPadding:F=0,sticky:_="partial",hideWhenDetached:K=!1,updatePositionStrategy:V="optimized",onPlaced:W,...G}=e,U=eF(eW,T),[q,X]=n.useState(null),Y=(0,eO.s)(t,e=>X(e)),[Z,$]=n.useState(null),Q=(0,eI.X)(Z),J=null!=(g=null==Q?void 0:Q.width)?g:0,ee=null!=(A=null==Q?void 0:Q.height)?A:0,et="number"==typeof F?F:{top:0,right:0,bottom:0,left:0,...F},er=Array.isArray(z)?z:[z],el=er.length>0,eo={padding:et,boundary:er.filter(e$),altBoundary:el},{refs:ea,floatingStyles:es,placement:eu,isPositioned:ef,middlewareData:ed}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:l=[],platform:o,elements:{reference:i,floating:a}={},transform:s=!0,whileElementsMounted:u,open:c}=e,[f,d]=n.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=n.useState(l);eC(p,l)||h(l);let[m,v]=n.useState(null),[g,w]=n.useState(null),y=n.useCallback(e=>{e!==R.current&&(R.current=e,v(e))},[]),x=n.useCallback(e=>{e!==C.current&&(C.current=e,w(e))},[]),b=i||m,S=a||g,R=n.useRef(null),C=n.useRef(null),A=n.useRef(f),T=null!=u,j=ej(u),P=ej(o),k=ej(c),O=n.useCallback(()=>{if(!R.current||!C.current)return;let e={placement:t,strategy:r,middleware:p};P.current&&(e.platform=P.current),((e,t,r)=>{let n=new Map,l={platform:ey,...r},o={...l.platform,_c:n};return E(e,t,{...l,platform:o})})(R.current,C.current,e).then(e=>{let t={...e,isPositioned:!1!==k.current};L.current&&!eC(A.current,t)&&(A.current=t,eS.flushSync(()=>{d(t)}))})},[p,t,r,P,k]);eR(()=>{!1===c&&A.current.isPositioned&&(A.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let L=n.useRef(!1);eR(()=>(L.current=!0,()=>{L.current=!1}),[]),eR(()=>{if(b&&(R.current=b),S&&(C.current=S),b&&S){if(j.current)return j.current(b,S,O);O()}},[b,S,O,j,T]);let N=n.useMemo(()=>({reference:R,floating:C,setReference:y,setFloating:x}),[y,x]),M=n.useMemo(()=>({reference:b,floating:S}),[b,S]),I=n.useMemo(()=>{let e={position:r,left:0,top:0};if(!M.floating)return e;let t=eT(M.floating,f.x),n=eT(M.floating,f.y);return s?{...e,transform:"translate("+t+"px, "+n+"px)",...eA(M.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,s,M.floating,f.x,f.y]);return n.useMemo(()=>({...f,update:O,refs:N,elements:M,floatingStyles:I}),[f,O,N,M,I])}({strategy:"fixed",placement:j+("center"!==M?"-"+M:""),whileElementsMounted:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e,t,r,n){let l;void 0===n&&(n={});let{ancestorScroll:a=!0,ancestorResize:u=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:f="function"==typeof IntersectionObserver,animationFrame:d=!1}=n,p=ei(e),h=a||u?[...p?en(p):[],...en(t)]:[];h.forEach(e=>{a&&e.addEventListener("scroll",r,{passive:!0}),u&&e.addEventListener("resize",r)});let m=p&&f?function(e,t){let r,n=null,l=H(e);function a(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return!function u(c,f){void 0===c&&(c=!1),void 0===f&&(f=1),a();let d=e.getBoundingClientRect(),{left:p,top:h,width:m,height:v}=d;if(c||t(),!m||!v)return;let g=s(h),w=s(l.clientWidth-(p+m)),y={rootMargin:-g+"px "+-w+"px "+-s(l.clientHeight-(h+v))+"px "+-s(p)+"px",threshold:i(0,o(1,f))||1},x=!0;function b(t){let n=t[0].intersectionRatio;if(n!==f){if(!x)return u();n?u(!1,n):r=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==n||ex(d,e.getBoundingClientRect())||u(),x=!1}try{n=new IntersectionObserver(b,{...y,root:l.ownerDocument})}catch(e){n=new IntersectionObserver(b,y)}n.observe(e)}(!0),a}(p,r):null,v=-1,g=null;c&&(g=new ResizeObserver(e=>{let[n]=e;n&&n.target===p&&g&&(g.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var e;null==(e=g)||e.observe(t)})),r()}),p&&!d&&g.observe(p),g.observe(t));let w=d?ec(e):null;return d&&function t(){let n=ec(e);w&&!ex(w,n)&&r(),w=n,l=requestAnimationFrame(t)}(),r(),()=>{var e;h.forEach(e=>{a&&e.removeEventListener("scroll",r),u&&e.removeEventListener("resize",r)}),null==m||m(),null==(e=g)||e.disconnect(),g=null,d&&cancelAnimationFrame(l)}}(...t,{animationFrame:"always"===V})},elements:{reference:U.anchor},middleware:[((e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:l,y:o,placement:i,middlewareData:a}=t,s=await N(t,e);return i===(null==(r=a.offset)?void 0:r.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:l+s.x,y:o+s.y,data:{...s,placement:i}}}}}(e),options:[e,t]}))({mainAxis:P+ee,alignmentAxis:I}),B&&((e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:l,platform:a}=t,{mainAxis:s=!0,crossAxis:u=!1,limiter:c={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...f}=d(e,t),h={x:r,y:n},v=await a.detectOverflow(t,f),g=w(p(l)),y=m(g),x=h[y],b=h[g];if(s){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",r=x+v[e],n=x-v[t];x=i(r,o(x,n))}if(u){let e="y"===g?"top":"left",t="y"===g?"bottom":"right",r=b+v[e],n=b-v[t];b=i(r,o(b,n))}let S=c.fn({...t,[y]:x,[g]:b});return{...S,data:{x:S.x-r,y:S.y-n,enabled:{[y]:s,[g]:u}}}}}}(e),options:[e,t]}))({mainAxis:!0,crossAxis:!1,limiter:"partial"===_?((e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:r,y:n,placement:l,rects:o,middlewareData:i}=t,{offset:a=0,mainAxis:s=!0,crossAxis:u=!0}=d(e,t),c={x:r,y:n},f=w(l),h=m(f),v=c[h],g=c[f],y=d(a,t),x="number"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(s){let e="y"===h?"height":"width",t=o.reference[h]-o.floating[e]+x.mainAxis,r=o.reference[h]+o.reference[e]-x.mainAxis;v<t?v=t:v>r&&(v=r)}if(u){var b,S;let e="y"===h?"width":"height",t=L.has(p(l)),r=o.reference[f]-o.floating[e]+(t&&(null==(b=i.offset)?void 0:b[f])||0)+(t?0:x.crossAxis),n=o.reference[f]+o.reference[e]+(t?0:(null==(S=i.offset)?void 0:S[f])||0)-(t?x.crossAxis:0);g<r?g=r:g>n&&(g=n)}return{[h]:v,[f]:g}}}}(e),options:[e,t]}))():void 0,...eo}),B&&((e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,l,o,i;let{placement:a,middlewareData:s,rects:u,initialPlacement:c,platform:f,elements:g}=t,{mainAxis:A=!0,crossAxis:T=!0,fallbackPlacements:j,fallbackStrategy:P="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:k=!0,...O}=d(e,t);if(null!=(r=s.arrow)&&r.alignmentOffset)return{};let L=p(a),N=w(c),M=p(c)===c,I=await (null==f.isRTL?void 0:f.isRTL(g.floating)),D=j||(M||!k?[C(c)]:function(e){let t=C(e);return[y(e),t,y(t)]}(c)),H="none"!==E;!j&&H&&D.push(...function(e,t,r,n){let l=h(e),o=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?b:x;return t?x:b;case"left":case"right":return t?S:R;default:return[]}}(p(e),"start"===r,n);return l&&(o=o.map(e=>e+"-"+l),t&&(o=o.concat(o.map(y)))),o}(c,k,E,I));let B=[c,...D],z=await f.detectOverflow(t,O),F=[],_=(null==(n=s.flip)?void 0:n.overflows)||[];if(A&&F.push(z[L]),T){let e=function(e,t,r){void 0===r&&(r=!1);let n=h(e),l=m(w(e)),o=v(l),i="x"===l?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(i=C(i)),[i,C(i)]}(a,u,I);F.push(z[e[0]],z[e[1]])}if(_=[..._,{placement:a,overflows:F}],!F.every(e=>e<=0)){let e=((null==(l=s.flip)?void 0:l.index)||0)+1,t=B[e];if(t&&("alignment"!==T||N===w(t)||_.every(e=>w(e.placement)!==N||e.overflows[0]>0)))return{data:{index:e,overflows:_},reset:{placement:t}};let r=null==(o=_.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!r)switch(P){case"bestFit":{let e=null==(i=_.filter(e=>{if(H){let t=w(e.placement);return t===N||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:i[0];e&&(r=e);break}case"initialPlacement":r=c}if(a!==r)return{reset:{placement:r}}}return{}}}}(e),options:[e,t]}))({...eo}),((e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;let l,a,{placement:s,rects:u,platform:c,elements:f}=t,{apply:m=()=>{},...v}=d(e,t),g=await c.detectOverflow(t,v),y=p(s),x=h(s),b="y"===w(s),{width:S,height:R}=u.floating;"top"===y||"bottom"===y?(l=y,a=x===(await (null==c.isRTL?void 0:c.isRTL(f.floating))?"start":"end")?"left":"right"):(a=y,l="end"===x?"top":"bottom");let C=R-g.top-g.bottom,A=S-g.left-g.right,T=o(R-g[l],C),j=o(S-g[a],A),P=!t.middlewareData.shift,E=T,k=j;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(k=A),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(E=C),P&&!x){let e=i(g.left,0),t=i(g.right,0),r=i(g.top,0),n=i(g.bottom,0);b?k=S-2*(0!==e||0!==t?e+t:i(g.left,g.right)):E=R-2*(0!==r||0!==n?r+n:i(g.top,g.bottom))}await m({...t,availableWidth:k,availableHeight:E});let O=await c.getDimensions(f.floating);return S!==O.width||R!==O.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}))({...eo,apply:e=>{let{elements:t,rects:r,availableWidth:n,availableHeight:l}=e,{width:o,height:i}=r.reference,a=t.floating.style;a.setProperty("--radix-popper-available-width","".concat(n,"px")),a.setProperty("--radix-popper-available-height","".concat(l,"px")),a.setProperty("--radix-popper-anchor-width","".concat(o,"px")),a.setProperty("--radix-popper-anchor-height","".concat(i,"px"))}}),Z&&((e,t)=>({...(e=>({name:"arrow",options:e,fn(t){let{element:r,padding:n}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?eb({element:r.current,padding:n}).fn(t):{}:r?eb({element:r,padding:n}).fn(t):{}}}))(e),options:[e,t]}))({element:Z,padding:D}),eQ({arrowWidth:J,arrowHeight:ee}),K&&((e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r,platform:n}=t,{strategy:l="referenceHidden",...o}=d(e,t);switch(l){case"referenceHidden":{let e=k(await n.detectOverflow(t,{...o,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:O(e)}}}case"escaped":{let e=k(await n.detectOverflow(t,{...o,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:O(e)}}}default:return{}}}}}(e),options:[e,t]}))({strategy:"referenceHidden",...eo})]}),[ep,eh]=eJ(eu),em=(0,eN.c)(W);(0,eM.N)(()=>{ef&&(null==em||em())},[ef,em]);let ev=null==(r=ed.arrow)?void 0:r.x,eg=null==(l=ed.arrow)?void 0:l.y,ew=(null==(a=ed.arrow)?void 0:a.centerOffset)!==0,[ek,eL]=n.useState();return(0,eM.N)(()=>{q&&eL(window.getComputedStyle(q).zIndex)},[q]),(0,eE.jsx)("div",{ref:ea.setFloating,"data-radix-popper-content-wrapper":"",style:{...es,transform:ef?es.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ek,"--radix-popper-transform-origin":[null==(u=ed.transformOrigin)?void 0:u.x,null==(c=ed.transformOrigin)?void 0:c.y].join(" "),...(null==(f=ed.hide)?void 0:f.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eE.jsx)(eG,{scope:T,placedSide:ep,onArrowChange:$,arrowX:ev,arrowY:eg,shouldHideArrow:ew,children:(0,eE.jsx)(eP.sG.div,{"data-side":ep,"data-align":eh,...G,ref:Y,style:{...G.style,animation:ef?void 0:"none"}})})})});eq.displayName=eW;var eX="PopperArrow",eY={top:"bottom",right:"left",bottom:"top",left:"right"},eZ=n.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,l=eU(eX,r),o=eY[l.placedSide];return(0,eE.jsx)("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:(0,eE.jsx)(ek,{...n,ref:t,style:{...n.style,display:"block"}})})});function e$(e){return null!==e}eZ.displayName=eX;var eQ=e=>({name:"transformOrigin",options:e,fn(t){var r,n,l,o,i;let{placement:a,rects:s,middlewareData:u}=t,c=(null==(r=u.arrow)?void 0:r.centerOffset)!==0,f=c?0:e.arrowWidth,d=c?0:e.arrowHeight,[p,h]=eJ(a),m={start:"0%",center:"50%",end:"100%"}[h],v=(null!=(o=null==(n=u.arrow)?void 0:n.x)?o:0)+f/2,g=(null!=(i=null==(l=u.arrow)?void 0:l.y)?i:0)+d/2,w="",y="";return"bottom"===p?(w=c?m:"".concat(v,"px"),y="".concat(-d,"px")):"top"===p?(w=c?m:"".concat(v,"px"),y="".concat(s.floating.height+d,"px")):"right"===p?(w="".concat(-d,"px"),y=c?m:"".concat(g,"px")):"left"===p&&(w="".concat(s.floating.width+d,"px"),y=c?m:"".concat(g,"px")),{data:{x:w,y}}}});function eJ(e){let[t,r="center"]=e.split("-");return[t,r]}var e0=e_,e1=eV,e2=eq,e5=eZ},72009:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(1856);function l(e){let t=n.useRef({value:e,previous:e});return n.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},72599:(e,t,r)=>{r.d(t,{jH:()=>o});var n=r(1856);r(90508);var l=n.createContext(void 0);function o(e){let t=n.useContext(l);return e||t||"ltr"}},78134:(e,t,r)=>{r.d(t,{Qg:()=>i,bL:()=>s,s6:()=>a});var n=r(1856),l=r(93367),o=r(90508),i=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),a=n.forwardRef((e,t)=>(0,o.jsx)(l.sG.span,{...e,ref:t,style:{...i,...e.style}}));a.displayName="VisuallyHidden";var s=a},81369:(e,t,r)=>{function n(e,t,r){if(!t.has(e))throw TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function l(e,t){var r=n(e,t,"get");return r.get?r.get.call(e):r.value}function o(e,t,r){var l=n(e,t,"set");if(l.set)l.set.call(e,r);else{if(!l.writable)throw TypeError("attempted to set read only private field");l.value=r}return r}r.d(t,{N:()=>d,C:()=>g});var i,a=r(1856),s=r(21032),u=r(34124),c=r(54154),f=r(90508);function d(e){let t=e+"CollectionProvider",[r,n]=(0,s.A)(t),[l,o]=r(t,{collectionRef:{current:null},itemMap:new Map}),i=e=>{let{scope:t,children:r}=e,n=a.useRef(null),o=a.useRef(new Map).current;return(0,f.jsx)(l,{scope:t,itemMap:o,collectionRef:n,children:r})};i.displayName=t;let d=e+"CollectionSlot",p=(0,c.TL)(d),h=a.forwardRef((e,t)=>{let{scope:r,children:n}=e,l=o(d,r),i=(0,u.s)(t,l.collectionRef);return(0,f.jsx)(p,{ref:i,children:n})});h.displayName=d;let m=e+"CollectionItemSlot",v="data-radix-collection-item",g=(0,c.TL)(m),w=a.forwardRef((e,t)=>{let{scope:r,children:n,...l}=e,i=a.useRef(null),s=(0,u.s)(t,i),c=o(m,r);return a.useEffect(()=>(c.itemMap.set(i,{ref:i,...l}),()=>void c.itemMap.delete(i))),(0,f.jsx)(g,{...{[v]:""},ref:s,children:n})});return w.displayName=m,[{Provider:i,Slot:h,ItemSlot:w},function(t){let r=o(e+"CollectionConsumer",t);return a.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(v,"]")));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}var p=new WeakMap,h=(i=new WeakMap,class e extends Map{set(e,t){return p.get(this)&&(this.has(e)?l(this,i)[l(this,i).indexOf(e)]=e:l(this,i).push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),a=l(this,i).length,s=v(e),u=s>=0?s:a+s,c=u<0||u>=a?-1:u;if(c===this.size||o&&c===this.size-1||-1===c)return this.set(t,r),this;let f=this.size+ +!o;s<0&&u++;let d=[...l(this,i)],p=!1;for(let e=u;e<f;e++)if(u===e){let l=d[e];d[e]===t&&(l=d[e+1]),o&&this.delete(t),n=this.get(l),this.set(t,r)}else{p||d[e-1]!==t||(p=!0);let r=d[p?e:e-1],l=n;n=this.get(r),this.delete(r),this.set(r,l)}return this}with(t,r,n){let l=new e(this);return l.insert(t,r,n),l}before(e){let t=l(this,i).indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=l(this,i).indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=l(this,i).indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=l(this,i).indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return o(this,i,[]),super.clear()}delete(e){let t=super.delete(e);return t&&l(this,i).splice(l(this,i).indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=m(l(this,i),e);if(void 0!==t)return this.get(t)}entryAt(e){let t=m(l(this,i),e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return l(this,i).indexOf(e)}keyAt(e){return m(l(this,i),e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&n.push(e),l++;return new e(n)}map(t,r){let n=[],l=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(n)}reduce(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let[n,l]=t,o=0,i=null!=l?l:this.at(0);for(let e of this)i=0===o&&1===t.length?e:Reflect.apply(n,this,[i,e,o,this]),o++;return i}reduceRight(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let[n,l]=t,o=null!=l?l:this.at(-1);for(let e=this.size-1;e>=0;e--){let r=this.at(e);o=e===this.size-1&&1===t.length?r:Reflect.apply(n,this,[o,r,e,this])}return o}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let l=[...this.entries()];return l.splice(...r),new e(l)}slice(t,r){let n=new e,l=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}constructor(e){super(e),function(e,t,r){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}(this,i,{writable:!0,value:void 0}),o(this,i,[...super.keys()]),p.set(this,!0)}});function m(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let r=function(e,t){let r=e.length,n=v(t),l=n>=0?n:r+n;return l<0||l>=r?-1:l}(e,t);return -1===r?void 0:e[r]}function v(e){return e!=e||0===e?0:Math.trunc(e)}function g(e){let t=e+"CollectionProvider",[r,n]=(0,s.A)(t),[l,o]=r(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new h,setItemMap:()=>void 0}),i=e=>{let{state:t,...r}=e;return t?(0,f.jsx)(p,{...r,state:t}):(0,f.jsx)(d,{...r})};i.displayName=t;let d=e=>{let t=S();return(0,f.jsx)(p,{...e,state:t})};d.displayName=t+"Init";let p=e=>{let{scope:t,children:r,state:n}=e,o=a.useRef(null),[i,s]=a.useState(null),c=(0,u.s)(o,s),[d,p]=n;return a.useEffect(()=>{var e;if(!i)return;let t=(e=()=>{},new MutationObserver(t=>{for(let r of t)if("childList"===r.type)return void e()}));return t.observe(i,{childList:!0,subtree:!0}),()=>{t.disconnect()}},[i]),(0,f.jsx)(l,{scope:t,itemMap:d,setItemMap:p,collectionRef:c,collectionRefObject:o,collectionElement:i,children:r})};p.displayName=t+"Impl";let m=e+"CollectionSlot",v=(0,c.TL)(m),g=a.forwardRef((e,t)=>{let{scope:r,children:n}=e,l=o(m,r),i=(0,u.s)(t,l.collectionRef);return(0,f.jsx)(v,{ref:i,children:n})});g.displayName=m;let y=e+"CollectionItemSlot",x=(0,c.TL)(y),b=a.forwardRef((e,t)=>{let{scope:r,children:n,...l}=e,i=a.useRef(null),[s,c]=a.useState(null),d=(0,u.s)(t,i,c),{setItemMap:p}=o(y,r),m=a.useRef(l);!function(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(!Object.prototype.hasOwnProperty.call(t,n)||e[n]!==t[n])return!1;return!0}(m.current,l)&&(m.current=l);let v=m.current;return a.useEffect(()=>(p(e=>s?e.has(s)?e.set(s,{...v,element:s}).toSorted(w):(e.set(s,{...v,element:s}),e.toSorted(w)):e),()=>{p(e=>s&&e.has(s)?(e.delete(s),new h(e)):e)}),[s,v,p]),(0,f.jsx)(x,{"data-radix-collection-item":"",ref:d,children:n})});function S(){return a.useState(new h)}return b.displayName=y,[{Provider:i,Slot:g,ItemSlot:b},{createCollectionScope:n,useCollection:function(t){let{itemMap:r}=o(e+"CollectionConsumer",t);return r},useInitCollection:S}]}function w(e,t){var r;return e[1].element&&t[1].element?(r=e[1].element,t[1].element.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING)?-1:1:0}},91722:(e,t,r)=>{r.d(t,{q:()=>n});function n(e,[t,r]){return Math.min(r,Math.max(t,e))}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60011],{4365:(e,t,s)=>{"use strict";s.d(t,{G7:()=>o,L$:()=>u,h_:()=>x,oI:()=>d,uB:()=>l,xL:()=>c});var a=s(90508);s(1856);var r=s(64731),n=s(30044),i=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(r.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function d(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function c(e){let{...t}=e;return(0,a.jsx)(r.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...s})}function x(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...s})}},14554:(e,t,s)=>{"use strict";s.d(t,{p:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,type:s,...n}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},15972:(e,t,s)=>{"use strict";s.d(t,{T:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...s})}},17001:(e,t,s)=>{"use strict";s.d(t,{AM:()=>i,Wv:()=>l,hl:()=>o});var a=s(90508);s(1856);var r=s(79919),n=s(24377);function i(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"popover",...t})}function l(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"popover-trigger",...t})}function o(e){let{className:t,align:s="center",sideOffset:i=4,...l}=e;return(0,a.jsx)(r.Portal,{children:(0,a.jsx)(r.Content,{"data-slot":"popover-content",align:s,sideOffset:i,className:(0,n.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}},18670:(e,t,s)=>{"use strict";s.d(t,{TaskViewToggle:()=>eo});var a=s(90508),r=s(1856),n=s(23675),i=s(39268),l=s(83064),o=s(18789),d=s(76111),c=s(5616),u=s(22922),x=s(57731),p=s(48416),m=s(62205),g=s(81531),f=s(56770),h=s(30825),b=s(60532),v=s(9160),j=s(24377),y=s(17001),w=s(4365);function N(e){let{projectUuid:t}=e,s=(0,i.c)("tasks"),l=(0,n.useRouter)(),o=(0,n.usePathname)(),d=(0,n.useSearchParams)(),[c,p]=(0,r.useState)(!1),[m,g]=(0,r.useState)([]),[N,k]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{let e=d.get("proposalUuids");e?k(new Set(e.split(",").filter(Boolean))):k(new Set)},[d]),(0,r.useEffect)(()=>{let e=!1;return async function(){try{let s=await fetch("/api/projects/".concat(t,"/proposals/summary"));if(!s.ok)return;let a=await s.json();!e&&a.success&&g(a.data)}catch(e){}}(),()=>{e=!0}},[t]);let C=(0,r.useCallback)(e=>{let t=new URLSearchParams(d.toString());e.size>0?t.set("proposalUuids",Array.from(e).join(",")):t.delete("proposalUuids");let s=t.toString();l.replace("".concat(o).concat(s?"?".concat(s):""),{scroll:!1})},[l,o,d]),F=(0,r.useCallback)(e=>{k(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),C(s),s})},[C]),A=(0,r.useCallback)(()=>{k(new Set),C(new Set)},[C]),E=N.size>0;return(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,a.jsx)(f.A,{className:"size-4"}),(0,a.jsxs)("span",{children:[s("proposalFilter.label"),":"]})]}),(0,a.jsxs)(y.AM,{open:c,onOpenChange:p,children:[(0,a.jsx)(y.Wv,{asChild:!0,children:(0,a.jsxs)(u.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":c,className:(0,j.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",E&&"border-[#C67A52] bg-[#FFF8F4]"),children:[(0,a.jsx)("span",{className:"truncate",children:E?s("proposalFilter.filtered",{filtered:N.size,total:m.length}):s("proposalFilter.allProposals")}),(0,a.jsx)(h.A,{className:"size-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(y.hl,{className:"w-[300px] p-0",align:"start",children:(0,a.jsxs)(w.uB,{children:[(0,a.jsx)(w.G7,{placeholder:s("proposalFilter.search")}),(0,a.jsxs)(w.oI,{children:[(0,a.jsx)(w.xL,{children:s("proposalFilter.noResults")}),(0,a.jsx)(w.L$,{children:m.map(e=>{let t=N.has(e.uuid);return(0,a.jsxs)(w.h_,{value:e.title,onSelect:()=>F(e.uuid),className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:(0,j.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",t?"border-[#C67A52] bg-[#C67A52] text-white":"border-muted-foreground/30"),children:t&&(0,a.jsx)(b.A,{className:"size-3"})}),(0,a.jsx)("span",{className:"truncate",children:e.title})]}),(0,a.jsx)(x.E,{variant:"secondary",className:"ml-2 shrink-0",children:s("proposalFilter.taskCount",{count:e.taskCount})})]},e.uuid)})})]})]})})]}),E&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:m.filter(e=>N.has(e.uuid)).map(e=>(0,a.jsxs)(x.E,{variant:"outline",className:"gap-1 border-[#C67A52] bg-[#FFF8F4] text-[#C67A52]",children:[e.title,(0,a.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-[#C67A52]/20",onClick:()=>F(e.uuid),children:(0,a.jsx)(v.A,{className:"size-3"})})]},e.uuid))}),(0,a.jsx)(u.$,{variant:"ghost",size:"xs",onClick:A,className:"text-muted-foreground",children:s("proposalFilter.clear")})]})]})}var k=s(1976),C=s(96213),F=s(66206);let A=(0,F.A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var E=s(17475);let B=(0,F.A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var S=s(43827);let z=(0,r.createContext)(null);var _=s(95725),U=s(66506);let D=e=>!e.isLayoutDirty&&e.willUpdate(!1),L=e=>{let{children:t,id:s,inherit:n=!0}=e,i=(0,r.useContext)(S.L),l=(0,r.useContext)(z),[o,d]=function(){let e=function(){let e=(0,r.useRef)(!1);return(0,U.E)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}(),[t,s]=(0,r.useState)(0),a=(0,r.useCallback)(()=>{e.current&&s(t+1)},[t]);return[(0,r.useCallback)(()=>_.Gt.postRender(a),[a]),t]}(),c=(0,r.useRef)(null),u=i.id||l;null===c.current&&((e=>!0==(!0===e)||"id"===e)(n)&&u&&(s=s?u+"-"+s:u),c.current={id:s,group:!0===n&&i.group||function(){let e=new Set,t=new WeakMap,s=()=>e.forEach(D);return{add:a=>{e.add(a),t.set(a,a.addEventListener("willUpdate",s))},remove:a=>{e.delete(a);let r=t.get(a);r&&(r(),t.delete(a)),s()},dirty:s}}()});let x=(0,r.useMemo)(()=>({...c.current,forceRender:o}),[d]);return(0,a.jsx)(S.L.Provider,{value:x,children:t})};var P=s(16544),T=s(65626),O=s(97438),R=s(52217);let M=(0,R.createServerReference)("404c827587d084b705d5e681300d5efc7c4a15884c",R.callServer,void 0,R.findSourceMapURL,"fetchTasksAction"),I=(0,R.createServerReference)("70e6a324a0ad35e72e953ad68512d76a27ccf22d2d",R.callServer,void 0,R.findSourceMapURL,"moveTaskToColumnAction"),V=(0,R.createServerReference)("603b5cf9e54f8696551b0046467e7d00f4ed79dbe0",R.callServer,void 0,R.findSourceMapURL,"forceMoveTaskToColumnAction");var K=s(67712),$=s(17156),q=s(41111),G=s(63964);let W={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},H={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},Z={in_progress:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E8F5E9] text-[#2E7D32]",open:"bg-[#F5F5F5] text-[#6B6B6B]",to_verify:"bg-[#E3F2FD] text-[#1565C0]"},Y=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function J(e){let{projectUuid:t,initialTasks:s,currentUserUuid:n,selectedTaskUuid:l,onTaskSelect:o,onPanelClose:d,proposalUuidFilter:c}=e,m=(0,i.c)(),[g,f]=(0,r.useState)(s),[h,b]=(0,r.useState)({}),[v,j]=(0,r.useState)(!1),[y,w]=(0,r.useState)(null),[N,F]=(0,r.useState)([]),[S,z]=(0,r.useState)(!1),[_,U]=(0,r.useState)([]),[D,R]=(0,r.useState)(!1),[J,Q]=(0,r.useState)(!1),X=(0,r.useCallback)(async()=>{let e=await M(t);if(e.success){let t=c?e.data.filter(e=>e.proposalUuid&&c.has(e.proposalUuid)):e.data;f(t);let s=await (0,q.h)(t.map(e=>e.uuid));s.success&&s.data&&b(s.data)}},[t,c]);(0,G.eV)("task",X);let ee=(0,r.useRef)(c);(0,r.useEffect)(()=>{ee.current!==c&&(ee.current=c,X())},[c,X]),(0,r.useEffect)(()=>{0!==s.length&&(0,q.h)(s.map(e=>e.uuid)).then(e=>{e.success&&e.data&&b(e.data)})},[s]);let et=(0,r.useMemo)(()=>{var e;return l&&null!=(e=g.find(e=>e.uuid===l))?e:null},[l,g]),es=e=>g.filter(t=>e.includes(t.status)),ea=e=>es(e).reduce((e,t)=>e+(t.storyPoints||0),0),er=async e=>{let s;Q(!1);let{destination:a,source:r,draggableId:n}=e;if(!a||a.droppableId===r.droppableId&&a.index===r.index)return;let i=a.droppableId;r.droppableId;let l=g.find(e=>e.uuid===n);if(!l)return;if(Y.find(e=>e.id===i),"todo"===i)s="assigned"===l.status?"assigned":"open";else if("in_progress"===i)s="in_progress";else if("to_verify"===i)s="to_verify";else{if("done"!==i)return;s="to_verify"===l.status?"done":"to_verify"}f(e=>e.map(e=>e.uuid===n?{...e,status:s}:e));let o=await I(n,i,t);if(o.success)X();else{if("blocked"in o&&o.blocked&&"blockers"in o){f(e=>e.map(e=>e.uuid===n?{...e,status:l.status}:e)),w(l),F(o.blockers),j(!0);return}f(e=>e.map(e=>e.uuid===n?{...e,status:l.status}:e)),"gateBlocked"in o&&o.gateBlocked&&(U("unresolvedCriteria"in o&&Array.isArray(o.unresolvedCriteria)?o.unresolvedCriteria:[]),z(!0))}},en=async()=>{if(y){R(!0);try{let e=await V(y.uuid,"in_progress");e.success?(j(!1),w(null),F([]),X()):K.q.error("Failed to force move task:",e.error)}finally{R(!1)}}},ei=()=>{j(!1),w(null),F([])};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.JY,{onDragStart:()=>{Q(!0)},onDragEnd:er,children:(0,a.jsx)(L,{children:(0,a.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:Y.map(e=>{let t=es(e.statuses);return(0,a.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:m("status.".concat(e.labelKey))}),(0,a.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:t.length})]}),ea(e.statuses)>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ea(e.statuses),"h"]})]}),(0,a.jsx)(k.gL,{droppableId:e.id,children:(e,s)=>(0,a.jsxs)("div",{ref:e.innerRef,...e.droppableProps,className:"flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ".concat(s.isDraggingOver?"bg-[#E5E0D8]":""),children:[0!==t.length||s.isDraggingOver?t.map((e,t)=>{let s=!!e.dependsOn&&0!==e.dependsOn.length&&e.dependsOn.some(e=>"done"!==e.status&&"closed"!==e.status),r=(s?!e.dependsOn?[]:e.dependsOn.filter(e=>"done"!==e.status&&"closed"!==e.status):[]).map(e=>e.title).join(", ");return(0,a.jsx)(k.sx,{draggableId:e.uuid,index:t,children:(t,n)=>(0,a.jsx)("div",{ref:t.innerRef,...t.draggableProps,...t.dragHandleProps,onClick:()=>{n.isDragging||o(e.uuid)},style:t.draggableProps.style,children:(0,a.jsxs)(P.P.div,{className:"relative",layoutId:J?void 0:"task-card-".concat(e.uuid),transition:T.Yv.spring,children:[h[e.uuid]>0&&(0,a.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-white shadow-sm",children:(0,a.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,a.jsx)(C.D,{entityType:"task",entityUuid:e.uuid,children:(0,a.jsxs)(p.Zp,{className:"cursor-pointer p-4 transition-all ".concat(s?"border-dashed border-[#D1D1D1] opacity-60":"border-[#E5E0D8] hover:border-[#C67A52]"," bg-white hover:shadow-sm ").concat(n.isDragging?"shadow-lg rotate-2":""),children:[(0,a.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,a.jsx)(x.E,{className:W[e.status]||"",children:m("status.".concat(H[e.status]||e.status))}),(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:e.storyPoints&&(0,a.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),e.storyPoints,"h"]})})]}),(0,a.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:e.description}),s&&(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] px-2 py-1",children:[(0,a.jsx)(A,{className:"h-3 w-3 shrink-0 text-[#E65100]"}),(0,a.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] line-clamp-1",children:m("tasks.blockedBy",{tasks:r})})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:[e.assignee?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("path",{d:"M12 8V4H8"}),(0,a.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),e.assignee.name]}):"open"===e.status?(0,a.jsx)("span",{className:"text-[#C67A52]",children:m("common.assign")}):(0,a.jsx)("span",{children:m("common.unassigned")}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[h[e.uuid]>0&&(0,a.jsxs)(x.E,{variant:"outline",className:"h-4 gap-1 border-green-300 px-1.5 text-[10px] text-green-700",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),m("sessions.workerCount",{count:h[e.uuid]})]}),e.acceptanceSummary&&e.acceptanceSummary.total>0&&(()=>{let t=e.acceptanceSummary,s="to_verify"===e.status,r=t.requiredPassed===t.required&&t.required>0,n=t.requiredFailed>0,i="bg-[#F5F2EC] text-[#9A9A9A]";return s&&(i=r?"bg-green-50 text-green-700":n?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),(0,a.jsxs)(x.E,{className:"h-4 gap-1 border-0 px-1.5 text-[9px] ".concat(i),children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,a.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,a.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),t.passed,"/",t.total]})})()]})]})]})})]})})},e.uuid)}):(0,a.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:m("tasks.noTasks")}),e.placeholder]})})]},e.id)})})})}),et&&(0,a.jsx)($.v,{task:et,projectUuid:t,currentUserUuid:n,onClose:d}),(0,a.jsx)(O.lG,{open:v,onOpenChange:e=>{e||ei()},children:(0,a.jsxs)(O.Cf,{className:"max-w-md rounded-2xl",children:[(0,a.jsxs)(O.c7,{children:[(0,a.jsxs)(O.L3,{className:"flex items-center gap-2",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#E65100]"}),m("tasks.dependencyBlocked")]}),(0,a.jsx)(O.rr,{children:m("tasks.dependencyBlockedDescription")})]}),(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-medium text-[#6B6B6B]",children:m("tasks.blockerList")}),(0,a.jsx)("div",{className:"space-y-2",children:N.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-[#E5E0D8] bg-white p-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-sm font-medium text-[#2C2C2C]",children:e.title}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[e.assignee&&(0,a.jsx)("span",{className:"text-xs text-[#6B6B6B]",children:e.assignee.name}),e.sessionCheckin&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#6B6B6B]",children:[(0,a.jsx)(B,{className:"h-3 w-3"}),e.sessionCheckin.sessionName]})]})]}),(0,a.jsx)(x.E,{className:"shrink-0 ".concat(Z[e.status]||"bg-[#F5F5F5] text-[#6B6B6B]"),children:m("status.".concat(H[e.status]||e.status))})]},e.uuid))})]}),(0,a.jsxs)(O.Es,{className:"gap-2 sm:gap-0",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:ei,children:m("common.cancel")}),(0,a.jsx)(u.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:en,disabled:D,children:D?m("common.processing"):m("tasks.forceMove")})]})]})}),(0,a.jsx)(O.lG,{open:S,onOpenChange:z,children:(0,a.jsxs)(O.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,a.jsxs)(O.c7,{className:"px-6 pt-6 pb-4",children:[(0,a.jsxs)(O.L3,{className:"flex items-center gap-2.5",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#C4574C]"}),m("acceptanceCriteria.title")]}),(0,a.jsx)(O.rr,{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:m("acceptanceCriteria.gateBlocked",{count:_.filter(e=>e.required&&"passed"!==e.status).length})})]}),(0,a.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:m("acceptanceCriteria.title")}),_.map(e=>(0,a.jsxs)("div",{className:"rounded-lg border p-3 space-y-2 ".concat("failed"===e.status?"border-red-200 bg-white":"border-[#E5E0D8] bg-white"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full shrink-0 ".concat("failed"===e.status?"bg-[#C4574C]":"bg-[#F59E0B]")}),(0,a.jsx)("span",{className:"text-xs font-semibold text-[#2C2C2C]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,a.jsx)(x.E,{className:"text-[10px] border-0 ".concat("failed"===e.status?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),children:m("acceptanceCriteria.status.".concat(e.status))}),(0,a.jsx)(x.E,{className:"text-[10px] border-0 bg-[#FAF8F4] text-[#9A9A9A]",children:e.required?m("acceptanceCriteria.required"):m("acceptanceCriteria.optional")}),!e.evidence&&(0,a.jsx)("span",{className:"text-[10px] italic text-[#9A9A9A]",children:m("acceptanceCriteria.noEvidence")})]}),e.evidence&&(0,a.jsxs)("div",{className:"rounded-md bg-red-50 p-2 ml-4",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:m("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]})]},e.uuid))]}),(0,a.jsx)(O.Es,{className:"border-t border-[#E5E2DC] px-6 py-4",children:(0,a.jsx)(u.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>z(!1),children:m("acceptanceCriteria.dismiss")})})]})})]})}var Q=s(26145);s(33805);var X=s(85226),ee=s(92745);let et=(0,R.createServerReference)("409104618de392f8717da94eecea67506658f87b2f",R.callServer,void 0,R.findSourceMapURL,"getProjectDependenciesAction");var es=s(32700);function ea(e){let{projectUuid:t,onTaskSelect:s,refreshKey:l}=e,o=(0,i.c)(),d=(0,n.useSearchParams)(),[c,x,p]=(0,Q.ck)([]),[m,g,f]=(0,Q.fM)([]),[h,b]=(0,r.useState)(!0),[j,y]=(0,r.useState)(null),w=(0,r.useMemo)(()=>{let e=d.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[d]),N=(0,r.useCallback)(async()=>{b(!0);let e=await et(t),s=e.nodes,a=e.edges;if(w){let t=new Set((s=e.nodes.filter(e=>null!==e.proposalUuid&&w.has(e.proposalUuid))).map(e=>e.uuid));a=e.edges.filter(e=>t.has(e.from)&&t.has(e.to))}let r=s.map(e=>({id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:e.proposalUuid}})),n=a.map((e,t)=>({id:"e-".concat(t),source:e.to,target:e.from,...ee.qK})),{nodes:i,edges:l}=(0,ee.nF)(r,n);x(i),g(l),b(!1)},[t,w,x,g]);(0,r.useEffect)(()=>{N()},[N,l]);let k=(0,r.useCallback)(async e=>{if(!e.source||!e.target)return;y(null);let t=e.target,s=e.source,a=await (0,es.w)(t,s);if(!a.success)return void y(a.error||o("tasks.failedToAddDep"));await N()},[N]),C=(0,r.useCallback)((e,t)=>{s(t.id)},[s]);return h?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(X.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):0===c.length?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[#9A9A9A]",children:o("tasks.noTasksToDisplay")}):(0,a.jsxs)("div",{className:"flex-1 rounded-xl border border-[#E5E0D8] bg-[#FAFAF8] relative",children:[j&&(0,a.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 border border-red-200 px-4 py-2 text-xs text-red-700 shadow-sm",children:[j,(0,a.jsx)(u.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900",onClick:()=>y(null),children:(0,a.jsx)(v.A,{className:"h-3 w-3"})})]}),(0,a.jsxs)(Q.Gc,{nodes:c,edges:m,onNodesChange:p,onEdgesChange:f,onConnect:k,onNodeClick:C,nodeTypes:ee.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(Q.VS,{color:"#E5E0D8",gap:20}),(0,a.jsx)(Q.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]})}let er={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},en={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ei=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],el={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function eo(e){let{projectUuid:t,initialTasks:s,currentUserUuid:f,initialSelectedTaskUuid:h}=e,b=(0,i.c)(),v=(0,m.a)(),j=(0,n.useSearchParams)(),[y,w]=(0,r.useState)("kanban"),k="/projects/".concat(t,"/tasks"),{selectedId:C,openPanel:F,closePanel:A}=(0,g.T)(k,h),E=(0,r.useMemo)(()=>{let e=j.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[j]);(0,r.useEffect)(()=>{v&&"kanban"===y&&w("list")},[v]);let[B,S]=(0,r.useState)(!1),[z,_]=(0,r.useState)(0),[U,D]=(0,r.useState)("all"),L=(0,r.useMemo)(()=>{var e;return C&&null!=(e=s.find(e=>e.uuid===C))?e:null},[C,s]),T=(0,r.useCallback)(()=>{_(e=>e+1)},[]),O=(0,r.useMemo)(()=>E?s.filter(e=>e.proposalUuid&&E.has(e.proposalUuid)):s,[s,E]),R=(0,r.useMemo)(()=>{let e=ei.find(e=>e.id===U);return e&&0!==e.statuses.length?O.filter(t=>e.statuses.includes(t.status)):O},[O,U]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,a.jsx)(N,{projectUuid:t})}),(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-[#F5F2EC] p-1 w-fit",children:[v&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("list"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("list"),children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"}),b("tasks.listView")]}),!v&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("kanban"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("kanban"),children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),b("tasks.kanbanView")]}),(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("dag"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("dag"),children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),b("tasks.dagView")]})]}),(0,a.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{A(),S(!0)},children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4"}),b("tasks.newTask")]})]}),"list"===y?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-[#E5E0D8] pb-2",children:ei.map(e=>{let t=0===e.statuses.length?O.length:O.filter(t=>e.statuses.includes(t.status)).length;return(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 shrink-0 rounded-md px-3 text-xs ".concat(U===e.id?"bg-[#F5F2EC] text-[#2C2C2C] font-medium":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>D(e.id),children:["all"===e.id?b("tasks.".concat(e.labelKey)):b("status.".concat(e.labelKey)),(0,a.jsx)("span",{className:"ml-1.5 rounded-full bg-white px-1.5 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:t})]},e.id)})}),(0,a.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===R.length?(0,a.jsx)(P.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:b("tasks.noTasks")}):R.map(e=>(0,a.jsxs)(p.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",onClick:()=>F(e.uuid),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h4",{className:"font-medium text-[#2C2C2C] truncate",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-[#6B6B6B]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=e.storyPoints&&e.storyPoints>0&&(0,a.jsxs)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[e.storyPoints,"h"]}),(0,a.jsx)(x.E,{className:el[e.priority]||"",children:b("priority.".concat(e.priority))}),(0,a.jsx)(x.E,{className:er[e.status]||"",children:b("status.".concat(en[e.status]||e.status))})]})]}),e.assignee&&(0,a.jsx)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:(0,a.jsx)("span",{className:"truncate",children:e.assignee.name})})]},e.uuid))}),L&&(0,a.jsx)($.v,{task:L,projectUuid:t,currentUserUuid:f,onClose:A,onDependencyChange:T})]}):"kanban"===y?(0,a.jsx)(J,{projectUuid:t,initialTasks:O,currentUserUuid:f,selectedTaskUuid:C,onTaskSelect:F,onPanelClose:A,proposalUuidFilter:E}):(0,a.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,a.jsx)(ea,{projectUuid:t,onTaskSelect:e=>F(e),refreshKey:z}),L&&(0,a.jsx)($.v,{task:L,projectUuid:t,currentUserUuid:f,onClose:A,onDependencyChange:T})]}),B&&!L&&(0,a.jsx)($.v,{task:null,projectUuid:t,currentUserUuid:f,onClose:()=>S(!1),onCreated:()=>S(!1)})]})}},41033:(e,t,s)=>{"use strict";s.d(t,{C:()=>o,z:()=>l});var a=s(90508);s(1856);var r=s(97964),n=s(63197),i=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)(n.Root,{"data-slot":"radio-group",className:(0,i.cn)("grid gap-3",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsx)(n.Item,{"data-slot":"radio-group-item",className:(0,i.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(n.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,a.jsx)(r.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},57731:(e,t,s)=>{"use strict";s.d(t,{E:()=>o});var a=s(90508);s(1856);var r=s(49499),n=s(54154),i=s(24377);let l=(0,r.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:s="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,a.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,i.cn)(l({variant:s}),t),...o})}},62205:(e,t,s)=>{"use strict";s.d(t,{a:()=>r});var a=s(1856);function r(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let s=e=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}},64993:(e,t,s)=>{"use strict";s.d(t,{F:()=>i});var a=s(90508);s(1856);var r=s(65326),n=s(24377);function i(e){let{className:t,children:s,...i}=e;return(0,a.jsxs)(r.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...i,children:[(0,a.jsx)(r.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:s}),(0,a.jsx)(l,{}),(0,a.jsx)(r.Corner,{})]})}function l(e){let{className:t,orientation:s="vertical",...i}=e;return(0,a.jsx)(r.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:s,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===s&&"h-full w-2.5 border-l border-l-transparent","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent",t),...i,children:(0,a.jsx)(r.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,s)=>{"use strict";s.d(t,{K5:()=>o,Rf:()=>l,Yv:()=>a,bK:()=>i,qG:()=>n,tE:()=>r});let a={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,y:-4,transition:{duration:a.fast,ease:a.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,transition:{duration:a.fast,ease:a.easeOut}}};a.normal,a.easeOut,a.fast,a.easeOut;let i={initial:{},animate:{transition:{staggerChildren:a.stagger}}},l={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}}},o={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:a.fast,ease:a.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:a.fast,ease:a.easeOut}}}},78917:(e,t,s)=>{Promise.resolve().then(s.bind(s,18670))},88064:(e,t,s)=>{"use strict";s.d(t,{J:()=>i});var a=s(90508);s(1856);var r=s(58057),n=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(r.Root,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...s})}},91846:(e,t,s)=>{"use strict";s.d(t,{bq:()=>u,eb:()=>p,gC:()=>x,l6:()=>d,yv:()=>c});var a=s(90508);s(1856);var r=s(17730),n=s(60532),i=s(89967),l=s(48218),o=s(24377);function d(e){let{...t}=e;return(0,a.jsx)(l.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:s="default",children:n,...i}=e;return(0,a.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":s,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...i,children:[n,(0,a.jsx)(l.Icon,{asChild:!0,children:(0,a.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function x(e){let{className:t,children:s,position:r="item-aligned",align:n="center",...i}=e;return(0,a.jsx)(l.Portal,{children:(0,a.jsxs)(l.Content,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,align:n,...i,children:[(0,a.jsx)(m,{}),(0,a.jsx)(l.Viewport,{className:(0,o.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,a.jsx)(g,{})]})})}function p(e){let{className:t,children:s,...r}=e;return(0,a.jsxs)(l.Item,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...r,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(l.ItemIndicator,{children:(0,a.jsx)(n.A,{className:"size-4"})})}),(0,a.jsx)(l.ItemText,{children:s})]})}function m(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(i.A,{className:"size-4"})})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(r.A,{className:"size-4"})})}},97438:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>x,Es:()=>m,L3:()=>g,c7:()=>p,lG:()=>o,rr:()=>f,zM:()=>d});var a=s(90508);s(1856);var r=s(9160),n=s(71350),i=s(24377),l=s(22922);function o(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(n.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(n.Overlay,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function x(e){let{className:t,children:s,showCloseButton:l=!0,...o}=e;return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{}),(0,a.jsxs)(n.Content,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...o,children:[s,l&&(0,a.jsxs)(n.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(r.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...s})}function m(e){let{className:t,showCloseButton:s=!1,children:r,...o}=e;return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[r,s&&(0,a.jsx)(n.Close,{asChild:!0,children:(0,a.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(n.Title,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...s})}function f(e){let{className:t,...s}=e;return(0,a.jsx)(n.Description,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...s})}}}]);