@chorus-aidlc/chorus 0.14.0 → 0.14.2

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 (592) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +459 -424
  3. package/.next/standalone/.next/app-path-routes-manifest.json +49 -45
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +33 -33
  6. package/.next/standalone/.next/routes-manifest.json +8 -0
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  51. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  56. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  58. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  59. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/admin.html +2 -2
  61. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  62. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/me/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.js +1 -1
  82. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  112. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  114. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  117. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  121. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  127. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -0
  129. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -0
  130. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -0
  131. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
  134. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  136. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  142. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js +1 -0
  155. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js.nft.json +1 -0
  156. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -0
  157. package/.next/standalone/.next/server/app/api/project-visits/route.js +1 -0
  158. package/.next/standalone/.next/server/app/api/project-visits/route.js.nft.json +1 -0
  159. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -0
  160. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js +1 -0
  161. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js.nft.json +1 -0
  162. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -0
  163. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  169. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  176. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  182. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  187. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  194. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  196. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  200. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  202. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  204. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  207. package/.next/standalone/.next/server/app/index.html +2 -2
  208. package/.next/standalone/.next/server/app/index.rsc +2 -2
  209. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  211. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  212. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  214. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  215. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  217. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  218. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  219. package/.next/standalone/.next/server/app/login.html +2 -2
  220. package/.next/standalone/.next/server/app/login.rsc +2 -2
  221. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  223. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  224. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/app/projects.html +2 -2
  226. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  227. package/.next/standalone/.next/server/app/settings.html +2 -2
  228. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  229. package/.next/standalone/.next/server/app-paths-manifest.json +49 -45
  230. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  231. package/.next/standalone/.next/server/chunks/1173.js +1 -1
  232. package/.next/standalone/.next/server/chunks/1286.js +3 -2
  233. package/.next/standalone/.next/server/chunks/1318.js +1 -0
  234. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  235. package/.next/standalone/.next/server/chunks/2463.js +1 -0
  236. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  237. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  238. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  239. package/.next/standalone/.next/server/chunks/3407.js +1 -0
  240. package/.next/standalone/.next/server/chunks/3419.js +1 -1
  241. package/.next/standalone/.next/server/chunks/457.js +1 -0
  242. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  243. package/.next/standalone/.next/server/chunks/{1343.js → 5201.js} +2 -2
  244. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  245. package/.next/standalone/.next/server/chunks/595.js +1 -0
  246. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  247. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  248. package/.next/standalone/.next/server/chunks/6449.js +1 -0
  249. package/.next/standalone/.next/server/chunks/{8577.js → 6506.js} +3 -3
  250. package/.next/standalone/.next/server/chunks/6515.js +6 -0
  251. package/.next/standalone/.next/server/chunks/7364.js +1 -1
  252. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  253. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  254. package/.next/standalone/.next/server/chunks/7762.js +1 -1
  255. package/.next/standalone/.next/server/chunks/8454.js +1 -1
  256. package/.next/standalone/.next/server/chunks/920.js +1 -1
  257. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  258. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  259. package/.next/standalone/.next/server/chunks/951.js +1 -0
  260. package/.next/standalone/.next/server/instrumentation.js +1 -1
  261. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  262. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  263. package/.next/standalone/.next/server/pages/404.html +2 -2
  264. package/.next/standalone/.next/server/pages/500.html +1 -1
  265. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  267. package/.next/standalone/.next/static/XTQkt8fOQEK4mZkZTFQ_E/_buildManifest.js +1 -0
  268. package/.next/standalone/.next/static/chunks/11595.fbbfc784ff9ee566.js +1 -0
  269. package/.next/standalone/.next/static/chunks/13867-a95a4555fcb7b13b.js +1 -0
  270. package/.next/standalone/.next/static/chunks/24537-7d71bf10329d1be1.js +1 -0
  271. package/.next/standalone/.next/static/chunks/27030-19cd50b9d47b3be6.js +1 -0
  272. package/.next/standalone/.next/static/chunks/28680-f9c5e04f67982cb6.js +1 -0
  273. package/.next/standalone/.next/static/chunks/31308-bb4a97b3f39c22dd.js +1 -0
  274. package/.next/standalone/.next/static/chunks/32331-87ae9bc7517c7947.js +1 -0
  275. package/.next/standalone/.next/static/chunks/33277-9926b461045318b3.js +10 -0
  276. package/.next/standalone/.next/static/chunks/33456.b67f1146831e9f2b.js +1 -0
  277. package/.next/standalone/.next/static/chunks/37035-514bbb31cd13bda1.js +1 -0
  278. package/.next/standalone/.next/static/chunks/38526-7ffc4b7351c15bc4.js +1 -0
  279. package/.next/standalone/.next/static/chunks/{42605-029b5426175cdee9.js → 39479-5af3460208d8cc56.js} +1 -1
  280. package/.next/standalone/.next/static/chunks/4860.3491d748fdde968e.js +1 -0
  281. package/.next/standalone/.next/static/chunks/51603-7fa00971493ae223.js +1 -0
  282. package/.next/standalone/.next/static/chunks/73510-c338cef00ca3cfaf.js +1 -0
  283. package/.next/standalone/.next/static/chunks/78917-a297b76c6daa9f5d.js +1 -0
  284. package/.next/standalone/.next/static/chunks/84219-09970ab1b85c61f0.js +1 -0
  285. package/.next/standalone/.next/static/chunks/86155-c9b7c2c08d3fa80e.js +1 -0
  286. package/.next/standalone/.next/static/chunks/99373.827383575665ce2f.js +1 -0
  287. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-12d81eedb519461c.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2af5f2f159c8e32b.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-d1c49cfe592deeb8.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-996b8a87b4b986f1.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-77771ef395e19922.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-c231207c3674aa54.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-2b13a2224c3b6d6d.js → page-c62c7d7cf9833060.js} +1 -1
  294. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-d098269dcaa06de7.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-7948aa8db4813091.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-8eea1e0cea60758f.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-658f31ac6a28ec82.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-6df01fa989cca27b.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-7fbf5bc58d3dd5b0.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-d1c49cfe592deeb8.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-d1c49cfe592deeb8.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-d1c49cfe592deeb8.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-d1c49cfe592deeb8.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  306. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-d1c49cfe592deeb8.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/api/agents/route-d1c49cfe592deeb8.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  309. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-d1c49cfe592deeb8.js +1 -0
  310. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-d1c49cfe592deeb8.js +1 -0
  311. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-d1c49cfe592deeb8.js +1 -0
  312. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-d1c49cfe592deeb8.js +1 -0
  313. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-d1c49cfe592deeb8.js +1 -0
  314. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-d1c49cfe592deeb8.js +1 -0
  315. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-d1c49cfe592deeb8.js +1 -0
  316. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-d1c49cfe592deeb8.js +1 -0
  317. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-d1c49cfe592deeb8.js +1 -0
  318. package/.next/standalone/.next/static/chunks/app/api/comments/route-d1c49cfe592deeb8.js +1 -0
  319. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-d1c49cfe592deeb8.js +1 -0
  320. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-d1c49cfe592deeb8.js +1 -0
  321. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-d1c49cfe592deeb8.js +1 -0
  322. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-d1c49cfe592deeb8.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-d1c49cfe592deeb8.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-d1c49cfe592deeb8.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-d1c49cfe592deeb8.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-d1c49cfe592deeb8.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-d1c49cfe592deeb8.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-d1c49cfe592deeb8.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-d1c49cfe592deeb8.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-d1c49cfe592deeb8.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-d1c49cfe592deeb8.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-d1c49cfe592deeb8.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-d1c49cfe592deeb8.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/events/route-d1c49cfe592deeb8.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/health/route-d1c49cfe592deeb8.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-d1c49cfe592deeb8.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-d1c49cfe592deeb8.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-d1c49cfe592deeb8.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-d1c49cfe592deeb8.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-d1c49cfe592deeb8.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-d1c49cfe592deeb8.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-d1c49cfe592deeb8.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/mcp/route-d1c49cfe592deeb8.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-d1c49cfe592deeb8.js +1 -0
  347. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-d1c49cfe592deeb8.js +1 -0
  348. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-d1c49cfe592deeb8.js +1 -0
  349. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-d1c49cfe592deeb8.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-d1c49cfe592deeb8.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-d1c49cfe592deeb8.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/notifications/route-d1c49cfe592deeb8.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-d1c49cfe592deeb8.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-d1c49cfe592deeb8.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-d1c49cfe592deeb8.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-d1c49cfe592deeb8.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-d1c49cfe592deeb8.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-d1c49cfe592deeb8.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-d1c49cfe592deeb8.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-d1c49cfe592deeb8.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-d1c49cfe592deeb8.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-d1c49cfe592deeb8.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-d1c49cfe592deeb8.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-d1c49cfe592deeb8.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-d1c49cfe592deeb8.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-d1c49cfe592deeb8.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-d1c49cfe592deeb8.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-d1c49cfe592deeb8.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-d1c49cfe592deeb8.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-d1c49cfe592deeb8.js +1 -0
  373. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-d1c49cfe592deeb8.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/api/projects/route-d1c49cfe592deeb8.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-d1c49cfe592deeb8.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-d1c49cfe592deeb8.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-d1c49cfe592deeb8.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-d1c49cfe592deeb8.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/api/references/route-d1c49cfe592deeb8.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/api/search/route-d1c49cfe592deeb8.js +1 -0
  383. package/.next/standalone/.next/static/chunks/app/api/session/route-d1c49cfe592deeb8.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-d1c49cfe592deeb8.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-d1c49cfe592deeb8.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-d1c49cfe592deeb8.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-d1c49cfe592deeb8.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-d1c49cfe592deeb8.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-d1c49cfe592deeb8.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/onboarding/page-b178eb3215360d91.js +1 -0
  392. package/.next/standalone/.next/static/chunks/{webpack-9dda6192665a5c8d.js → webpack-567d9ffe31a0a5ee.js} +1 -1
  393. package/.next/standalone/.next/static/css/617133917710c831.css +1 -0
  394. package/.next/standalone/package.json +1 -1
  395. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  396. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +1 -1
  397. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +29 -5
  398. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  399. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +23 -2
  400. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -2
  401. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -1
  402. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  403. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  404. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  405. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  406. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +2 -2
  407. package/.next/standalone/public/install-kiro.sh +350 -0
  408. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +10 -0
  409. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +10 -0
  410. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +10 -0
  411. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.json +50 -0
  412. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.md +62 -0
  413. package/.next/standalone/public/kiro-plugin/.kiro/settings/mcp.json +12 -0
  414. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +158 -0
  415. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +421 -0
  416. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +332 -0
  417. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +434 -0
  418. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +386 -0
  419. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +193 -0
  420. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +360 -0
  421. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +547 -0
  422. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +404 -0
  423. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +392 -0
  424. package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +81 -0
  425. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-for-verify.sh +68 -0
  426. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-proposal.sh +76 -0
  427. package/.next/standalone/public/kiro-plugin/bin/on-post-verify-task.sh +119 -0
  428. package/.next/standalone/public/kiro-plugin/bin/on-stop.sh +45 -0
  429. package/.next/standalone/public/kiro-plugin/bin/test-syntax.sh +108 -0
  430. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  431. package/.next/standalone/public/skill/chorus/SKILL.md +8 -2
  432. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  433. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -2
  434. package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -1
  435. package/.next/standalone/public/skill/package.json +1 -1
  436. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  437. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  438. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  439. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  440. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  441. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +3 -3
  442. package/README.ja.md +14 -11
  443. package/README.ko.md +14 -11
  444. package/README.md +14 -11
  445. package/README.zh.md +14 -11
  446. package/chorus.mjs +4 -0
  447. package/cli/client-args.mjs +19 -8
  448. package/cli/codex-session-map.mjs +9 -79
  449. package/cli/daemon-agent.mjs +12 -7
  450. package/cli/daemon-config.mjs +2 -2
  451. package/cli/daemon-install-config.mjs +213 -0
  452. package/cli/daemon-service.mjs +12 -7
  453. package/cli/daemon.mjs +68 -9
  454. package/cli/kiro-session-map.mjs +49 -0
  455. package/cli/kiro-spawner.mjs +409 -0
  456. package/cli/kiro-transcript.mjs +262 -0
  457. package/cli/lineage.mjs +20 -0
  458. package/cli/prompts.mjs +19 -2
  459. package/cli/session-map.mjs +126 -0
  460. package/cli/spawner-select.mjs +7 -1
  461. package/cli/waker.mjs +18 -3
  462. package/package.json +1 -1
  463. package/prisma/migrations/20260714091007_add_daemon_execution_direct_idea/migration.sql +2 -0
  464. package/prisma/migrations/20260718062756_add_project_visit/migration.sql +29 -0
  465. package/prisma/schema.prisma +30 -0
  466. package/.next/standalone/.next/server/chunks/1388.js +0 -1
  467. package/.next/standalone/.next/server/chunks/2382.js +0 -1
  468. package/.next/standalone/.next/server/chunks/3373.js +0 -1
  469. package/.next/standalone/.next/server/chunks/4797.js +0 -1
  470. package/.next/standalone/.next/server/chunks/5011.js +0 -1
  471. package/.next/standalone/.next/server/chunks/5891.js +0 -1
  472. package/.next/standalone/.next/server/chunks/7131.js +0 -6
  473. package/.next/standalone/.next/static/chunks/11595.c932231a36943893.js +0 -1
  474. package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +0 -1
  475. package/.next/standalone/.next/static/chunks/24537-7988a894f20f8dae.js +0 -1
  476. package/.next/standalone/.next/static/chunks/2709-8f25369aeb5701a4.js +0 -1
  477. package/.next/standalone/.next/static/chunks/33456.f1c7b6bd0a6a65e4.js +0 -1
  478. package/.next/standalone/.next/static/chunks/43111-7a4e08dc82bb3022.js +0 -1
  479. package/.next/standalone/.next/static/chunks/4860.9313590c6c8c8f56.js +0 -1
  480. package/.next/standalone/.next/static/chunks/4939-ff22e2b42ad57f7f.js +0 -1
  481. package/.next/standalone/.next/static/chunks/55963-b2804d30cfbbe669.js +0 -1
  482. package/.next/standalone/.next/static/chunks/56608-92ab6704b364eb17.js +0 -1
  483. package/.next/standalone/.next/static/chunks/75252-29e0e25cb5a94f7f.js +0 -10
  484. package/.next/standalone/.next/static/chunks/80350-0d34e756f4aebdfc.js +0 -1
  485. package/.next/standalone/.next/static/chunks/84169-affac07755ace386.js +0 -1
  486. package/.next/standalone/.next/static/chunks/9178-182934f9127eed4e.js +0 -1
  487. package/.next/standalone/.next/static/chunks/93346-1d4cd71b8713a8a6.js +0 -1
  488. package/.next/standalone/.next/static/chunks/96752-ad15cc38599f12e2.js +0 -1
  489. package/.next/standalone/.next/static/chunks/99373.9756d8f45fee79a7.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-00ff2f6753bb4603.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-5824e6affe244f83.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-9cc7c62013897acb.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-21571e747883b956.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-f763dec99ba41f1c.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-f13281a5806b6b4b.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6c577e521c61f718.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-078f21255acdf752.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-d37d5adabc60a16c.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-8212e69e806cab35.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-85665683f67eebc7.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2ab18a236a0c7f7b.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-9cc7c62013897acb.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-9cc7c62013897acb.js +0 -1
  504. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-9cc7c62013897acb.js +0 -1
  505. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-9cc7c62013897acb.js +0 -1
  506. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-9cc7c62013897acb.js +0 -1
  507. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-9cc7c62013897acb.js +0 -1
  508. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-9cc7c62013897acb.js +0 -1
  509. package/.next/standalone/.next/static/chunks/app/api/agents/route-9cc7c62013897acb.js +0 -1
  510. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-9cc7c62013897acb.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-9cc7c62013897acb.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-9cc7c62013897acb.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-9cc7c62013897acb.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-9cc7c62013897acb.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-9cc7c62013897acb.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-9cc7c62013897acb.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-9cc7c62013897acb.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-9cc7c62013897acb.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-9cc7c62013897acb.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/comments/route-9cc7c62013897acb.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-9cc7c62013897acb.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-9cc7c62013897acb.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-9cc7c62013897acb.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-9cc7c62013897acb.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-9cc7c62013897acb.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-9cc7c62013897acb.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-9cc7c62013897acb.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-9cc7c62013897acb.js +0 -1
  529. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-9cc7c62013897acb.js +0 -1
  530. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-9cc7c62013897acb.js +0 -1
  531. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-9cc7c62013897acb.js +0 -1
  532. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-9cc7c62013897acb.js +0 -1
  533. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-9cc7c62013897acb.js +0 -1
  534. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-9cc7c62013897acb.js +0 -1
  535. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-9cc7c62013897acb.js +0 -1
  536. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-9cc7c62013897acb.js +0 -1
  537. package/.next/standalone/.next/static/chunks/app/api/events/route-9cc7c62013897acb.js +0 -1
  538. package/.next/standalone/.next/static/chunks/app/api/health/route-9cc7c62013897acb.js +0 -1
  539. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-9cc7c62013897acb.js +0 -1
  540. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-9cc7c62013897acb.js +0 -1
  541. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-9cc7c62013897acb.js +0 -1
  542. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-9cc7c62013897acb.js +0 -1
  543. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-9cc7c62013897acb.js +0 -1
  544. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-9cc7c62013897acb.js +0 -1
  545. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-9cc7c62013897acb.js +0 -1
  546. package/.next/standalone/.next/static/chunks/app/api/mcp/route-9cc7c62013897acb.js +0 -1
  547. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-9cc7c62013897acb.js +0 -1
  548. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-9cc7c62013897acb.js +0 -1
  549. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-9cc7c62013897acb.js +0 -1
  550. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-9cc7c62013897acb.js +0 -1
  551. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-9cc7c62013897acb.js +0 -1
  552. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-9cc7c62013897acb.js +0 -1
  553. package/.next/standalone/.next/static/chunks/app/api/notifications/route-9cc7c62013897acb.js +0 -1
  554. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-9cc7c62013897acb.js +0 -1
  555. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-9cc7c62013897acb.js +0 -1
  556. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-9cc7c62013897acb.js +0 -1
  557. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-9cc7c62013897acb.js +0 -1
  558. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-9cc7c62013897acb.js +0 -1
  559. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-9cc7c62013897acb.js +0 -1
  560. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-9cc7c62013897acb.js +0 -1
  561. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-9cc7c62013897acb.js +0 -1
  562. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-9cc7c62013897acb.js +0 -1
  563. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-9cc7c62013897acb.js +0 -1
  564. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-9cc7c62013897acb.js +0 -1
  565. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-9cc7c62013897acb.js +0 -1
  566. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-9cc7c62013897acb.js +0 -1
  567. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-9cc7c62013897acb.js +0 -1
  568. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-9cc7c62013897acb.js +0 -1
  569. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-9cc7c62013897acb.js +0 -1
  570. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-9cc7c62013897acb.js +0 -1
  571. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-9cc7c62013897acb.js +0 -1
  572. package/.next/standalone/.next/static/chunks/app/api/projects/route-9cc7c62013897acb.js +0 -1
  573. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-9cc7c62013897acb.js +0 -1
  574. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-9cc7c62013897acb.js +0 -1
  575. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-9cc7c62013897acb.js +0 -1
  576. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-9cc7c62013897acb.js +0 -1
  577. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-9cc7c62013897acb.js +0 -1
  578. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-9cc7c62013897acb.js +0 -1
  579. package/.next/standalone/.next/static/chunks/app/api/references/route-9cc7c62013897acb.js +0 -1
  580. package/.next/standalone/.next/static/chunks/app/api/search/route-9cc7c62013897acb.js +0 -1
  581. package/.next/standalone/.next/static/chunks/app/api/session/route-9cc7c62013897acb.js +0 -1
  582. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-9cc7c62013897acb.js +0 -1
  583. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-9cc7c62013897acb.js +0 -1
  584. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-9cc7c62013897acb.js +0 -1
  585. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-9cc7c62013897acb.js +0 -1
  586. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-9cc7c62013897acb.js +0 -1
  587. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-9cc7c62013897acb.js +0 -1
  588. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-9cc7c62013897acb.js +0 -1
  589. package/.next/standalone/.next/static/chunks/app/onboarding/page-455d693daccb65df.js +0 -1
  590. package/.next/standalone/.next/static/css/5f09fa856a63632f.css +0 -1
  591. package/.next/standalone/.next/static/sOwBl2wYTfQ3B0DrB18aB/_buildManifest.js +0 -1
  592. /package/.next/standalone/.next/static/{sOwBl2wYTfQ3B0DrB18aB → XTQkt8fOQEK4mZkZTFQ_E}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","showMore":"展开","showLess":"收起","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"theme":{"toggleLabel":"主题","light":"浅色","dark":"深色","system":"跟随系统"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试","loadingMore":"加载更多...","noMoreComments":"没有更多评论"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"assignInstance":{"workingDirectory":"工作目录","loadingInstances":"正在加载工作目录…","noInstances":"该智能体没有在线的守护进程。任务已分配并已通知该智能体,它将在下次上线时领取。","pinNote":"自主唤醒会将此任务路由到你在此固定的确切(主机,路径)实例。只能固定在线实例。路径绝不会从项目推断。","ideaPinNote":"想法是固定的根:该智能体的提案、任务和自主唤醒都会继承你在此固定的(主机,路径)。只能固定在线实例。留空则分配给普通智能体。","assignTo":"分配到 {path}","assignToWithHost":"分配到 {path} \xb7 {host}","sendingTo":"发送到 {path}","sendingToWithHost":"发送到 {path} \xb7 {host}","liveSendNote":"立即发送指令。实时发送要求该路径处于在线状态。","offlineCantRun":"离线 — 重新连接前无法运行"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","graph":"图谱","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"references":{"title":"参考资料","empty":"链接官方文档、参考实现或 issue 讨论,为它提供佐证。","loading":"加载参考资料中...","add":"添加","addReference":"添加参考资料","editReference":"编辑参考资料","deleteReference":"删除参考资料","deleteConfirm":"此操作将永久删除参考资料「{title}」,无法恢复。","typeLabel":"类型","typeDocs":"文档","typeRepo":"代码仓库","typeIssuePr":"Issue / PR","typePaperBlog":"论文 / 博客","urlLabel":"链接","urlPlaceholder":"https://example.com/...","urlRequired":"链接不能为空","titleLabel":"标题","titlePlaceholder":"输入简短的标题","titleRequired":"标题不能为空","notesLabel":"备注","notesPlaceholder":"可选的摘要或相关性说明","addFailed":"添加参考资料失败","updateFailed":"更新参考资料失败","deleteFailed":"删除参考资料失败","countLabel":"{count, plural, other {# 条参考资料}}","toggleNotes":"显示完整说明"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"startDevelopment":{"button":"开始开发","starting":"启动中...","startedHint":"开发已启动 —— agent 正在执行剩余任务","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再开始开发。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再开始开发。","errorNoApprovedProposal":"该 idea 还没有已批准的 proposal","errorNoUnfinishedTasks":"所有任务都已完成","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"开始开发失败"},"yolo":{"button":"Yolo","cancel":"取消","confirmTitle":"对这个 idea 执行 Yolo?","confirmDescription":"Yolo 会唤醒被分配的 agent,按 yolo skill 全自动把这个 idea 推进到完成 —— 需求澄清、方案、执行、验收。未经你确认不会合并或推送 PR。是否继续?","confirmCta":"执行 Yolo","starting":"启动中...","startedHint":"Yolo 已启动 —— agent 正在推进这个 idea 到完成","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再执行 Yolo。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再执行 Yolo。","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"启动 Yolo 失败"},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","kiro":"Kiro","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"kiro":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,Kiro CLI 会在启动时读取这两个变量。","step2Title":"第 2 步:运行 Kiro 安装脚本","step2Tip":"默认全局安装到 ~/.kiro/,Chorus 在任意目录下均可用。若只想安装到当前项目目录下的 .kiro/,请追加参数:bash -s -- --workspace。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Kiro CLI 并激活 /chorus-idea 技能,或直接以 Chorus agent 启动:kiro-cli --agent chorus。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败","container":"主题","containerDescription":"主题用于归拢一组相关的子想法、确立共同方向。它可以细化,但真正的交付发生在你从它派生的子想法里——主题本身不写提案。","containerBadge":"主题","typeIdea":"想法","typeTheme":"主题","makeContainer":"设为主题","containerHint":"主题通过派生子想法向前推进。","childrenDone":"{done}/{total} 已完成"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节...","modeForm":"填写表单","modeConversation":"对智能体描述","modeConversationOfflineHint":"对智能体描述需要一个在线的守护进程。","decompose":"帮我拆解为子想法","decomposeHint":"创建一个主题,并让智能体提出候选子想法供你确认。"},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"},"agentConnections":{"title":"智能体连接","subtitle":"在你名下、实时连接到 Chorus 的本地智能体。仅展示你自己的连接。","summary":"{online} / {total} 在线","loading":"正在加载连接...","railHeader":"连接","statusOnline":"在线","statusOffline":"离线","fieldHost":"主机","fieldUptime":"在线时长","fieldLastActive":"最近活跃","fieldStarted":"启动于","hostUnknown":"未知主机","startedUnknown":"未知","versionUnknown":"?","unknownAgent":"未命名智能体","clientClaudeCode":"Claude Code","clientOpenclaw":"OpenClaw","clientCodex":"Codex","clientKiro":"Kiro","clientUnknown":"未知客户端","uptimeMonoDays":"{days}天 {time}","mobileBack":"返回连接列表","selectPrompt":"选择一个连接以查看详情。","execTitle":"执行状态","execRunning":"正在运行","execQueued":"排队中","execInterrupted":"已打断","execInterruptedUser":"已打断","execInterruptedCrash":"已崩溃","execCrashExited":"异常退出","execWaiting":"等待中","execLoading":"正在加载执行状态...","execElapsedLabel":"已运行时长","execSession":"Idea:{idea}","execEmptyTitle":"暂无运行中的任务","execEmptyBody":"该连接当前没有正在处理或排队的工作。派发的工作会在 daemon 接手时显示在这里。","empty":{"title":"暂无智能体连接"},"loadErrorTitle":"无法加载连接","loadErrorBody":"无法连接到连接服务。这是加载失败,并非列表为空——你的智能体可能仍在线。正在自动重试。","execEntityUnknown":"未知资源","execConversation":"对话","entityTask":"任务","entityIdea":"想法","entityProposal":"提案","entityDocument":"文档","entityUnknown":"资源","interrupt":"打断","interrupting":"正在打断…","interruptAria":"打断此正在运行的执行","interruptConfirmTitle":"确定打断此执行?","interruptConfirmBody":"这会停止 daemon 中针对「{title}」正在运行的会话。系统会先请求智能体优雅停止,若未停止则强制结束。之后你可以在本页恢复它。","interruptConfirmAction":"打断","interruptSuccess":"已请求打断「{title}」。","interruptError":"请求打断失败,请重试。","resume":"恢复","resuming":"正在恢复…","resumeAria":"恢复这个已打断的执行","resumeSuccess":"已请求恢复「{title}」。","resumeError":"请求恢复失败,请重试。","sendInstruction":"发送指令","sendInstructionPlaceholder":"为这个会话输入一条指令…","send":"发送","instructionHint":"按 Cmd/Ctrl + Enter 发送。","instructionCounter":"{count} / {max}","instructionSent":"指令已发送。","instructionError":"指令发送失败,请重试。","instructionEmpty":"请先输入指令再发送。","instructionTooLong":"指令过长。请精简到 {max} 个字符以内。","originOnlineTag":"源端在线","originOfflineTag":"源端离线","originOffline":"该会话的源端守护进程已离线,因此为只读状态。请改为开启一个新会话。","noOnlineConnection":"该智能体没有可发送的在线连接。请先启动它的守护进程,再发送指令。","targetConversation":"会话","newConversation":"新会话","sessionIdeaLabel":"想法 {id}","sessionAdHocLabel":"会话 {id}","adHocTitle":"开启新会话","adHocBody":"选择一个在线连接并发送第一条指令。新会话会在该连接的启动目录中运行。","pickConnection":"连接","pickConnectionPlaceholder":"选择一个在线连接","startSession":"开启会话","adHocSessionStarted":"会话已开启,智能体稍后会接手。","entityConversation":"对话"},"daemonChat":{"title":"对话","subtitle":"逐回合查看智能体做了什么。可在对话内继续发送或中断。","agentSelectLabel":"智能体","agentSelectPlaceholder":"选择一个智能体","agentSessionCount":"{count, plural, other {# 个对话}}","listHeader":"对话","loadMore":"加载更多","loadEarlier":"加载更早的消息","loadingEarlier":"正在加载更早…","loading":"正在加载对话…","transcriptLoading":"正在加载记录…","mobileBack":"对话","conversationAdHoc":"对话 {id}","conversationIdea":"想法 {id}","badgeIdea":"想法","running":"运行中","runningElapsedLabel":"本次运行已用时","statusActive":"进行中","statusEnded":"已结束","statusInterrupted":"已打断","statusError":"错误","turnStatusPending":"排队中","turnStatusRunning":"运行中","turnStatusInterrupted":"已中断","turnStatusEnded":"已结束","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","privacyNote":"对话记录由智能体的守护进程上报,可能包含本地文件路径。仅保留最近的消息。","noAgents":{"title":"暂无对话","body":"当智能体被唤醒时(因任务、提及、澄清或你发送的指令),它的对话会显示在这里。"},"noSessions":{"title":"该智能体暂无对话","body":"在下方输入框发送一条指令以开启对话。"},"newConversationButton":"新建对话","newConversationTitle":"新建对话","newConversationBody":"向 {agent} 发送第一条指令。它会在你选择的连接上开启一个新会话。","newConversationNoAgent":"先在左侧选择一个智能体,然后发送第一条指令以开启对话。","newConversationNoOnlineTitle":"没有在线连接","newConversationNoOnlineBody":"该智能体当前没有在线的守护进程可对话。请先启动它的守护进程,再在此发送指令。","replyPlaceholder":"在此对话中回复…","selectPrompt":"选择一个对话以查看其记录。","loadErrorTitle":"无法加载该对话","loadErrorBody":"无法连接到记录服务。这是加载问题,而非空对话。重新打开时会自动重试。","originOfflineNote":"该对话的来源守护进程已离线,因此为只读。历史记录仍会显示;如需发送,请在某个在线目录中继续。","continueOnlineAction":"在在线目录中继续","continueOnlineHelp":"保留本对话,并在该智能体的某个在线工作目录中继续。它会在该目录中以全新状态接续(上方历史记录将保留为只读上下文)。","continueOnlineStarted":"正在该在线目录中继续","detailsLabel":"连接详情","detailsHostUnknown":"未知主机","detailUptime":"运行时长","detailHost":"主机","detailStarted":"启动于","copySessionId":"复制 session ID","sessionIdCopied":"已复制!"},"agentPresence":{"online":"在线","onlineUnit":"{count, plural, other {智能体在线}}","loading":"正在检查智能体…","unavailable":"智能体不可用","pillAria":"在线智能体 — 打开详情","popoverTitle":"在线智能体","connectionIdle":"空闲 — 没有正在运行或排队的工作。","openChat":"打开会话","openPixelWorkspace":"打开像素工作区","unknownPath":"未知路径","unknownHost":"未知主机","drilldown":{"instancesCount":"{count, plural, other {# 个实例}}","hostsCount":"{count, plural, other {# 台主机}}","expandAgent":"展开 {agent} 的工作目录","collapseAgent":"收起 {agent} 的工作目录","idle":"空闲","runningFor":"运行中 \xb7 {time}","queuedCount":"{count, plural, other {# 个排队}}","offlineSince":"离线 \xb7 {time}","fieldPath":"工作目录"}},"transcriptHeader":{"cwdAriaLabel":"工作目录","hostAriaLabel":"主机"},"conversationalEntry":{"noOnlineDaemon":"当前没有在线的智能体守护进程。启动一个即可用对话方式描述你的想法:","agentLabel":"智能体","agentPlaceholder":"选择智能体","instanceLabel":"工作目录","pickAgentFirst":"先选择一个智能体,查看它在线的工作目录。","placeholder":"描述你想做什么——接下来交给智能体…","charCounter":"{count} / {max}","connectionWentOffline":"该守护进程刚刚离线了。请换一个实例后重试。","sendError":"无法联系到智能体,请重试。","send":"发送给智能体","retry":"重试"},"daemonConnectCta":{"headline":"下一步:让你的智能体保持在线","body":"运行一个常驻守护进程,让你的智能体保持在线并自动接收派发的工作。","bodyLong":"安装插件只是建立一次性连接,并不能让智能体常驻在线。在终端运行一个常驻守护进程,智能体才会保持连接并自动接收派发的工作。","loginNote":"首次使用?先用 {command} 登录一次。","copy":"复制","copied":"已复制!","learnMore":"了解如何连接智能体"},"mention":{"online":"在线","offline":"离线","activeCount":"进行中 {count}","idle":"空闲","openConversation":"打开对话","host":"主机","workingDirectory":"工作目录","badgeAria":"{name} — {status}"},"mentionInstance":{"title":"选择工作目录?","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。","confirm":"固定实例","cancel":"取消","noInstances":"没有在线实例"},"wakeCwdPicker":{"title":"选择要运行的工作目录","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。请选择要固定并唤醒的实例。","confirm":"固定并继续","cancel":"取消"},"graph":{"title":"图谱","subtitle":"本项目想法、提案、任务与文档的思维导图。","emptyTitle":"暂时没有可绘制的内容","emptyDesc":"当本项目出现想法、提案、任务或文档后,它们将以相互连接的思维导图展现在这里。","loading":"正在加载图谱…","loadFailed":"无法加载项目图谱。","expandAll":"全部展开","collapseAll":"全部收起","filters":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"nodeType":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"edgeKind":{"derive":"派生","lineage":"脉络","depends":"依赖"},"controls":{"open":"显示图谱控制面板","close":"隐藏图谱控制面板"},"search":{"placeholder":"搜索节点…","clear":"清除搜索","noMatches":"无匹配结果","count":"{current} / {total}","prev":"上一个匹配","next":"下一个匹配"},"tooltip":{"loading":"加载中…"},"zoom":{"in":"放大","out":"缩小","fit":"适应视图"},"status":{"unknown":"未知"}},"quickAccess":{"title":"最近项目","pin":"置顶","unpin":"取消置顶","pinProject":"置顶 {name}","unpinProject":"取消置顶 {name}","pinToSidebar":"置顶到侧边栏","removeFromRecent":"从最近移除","moreActions":"{name} 的更多操作"}}')}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51603],{4374:(e,t,r)=>{r.r(t),r.d(t,{HiddenInput:()=>M,Input:()=>P,OneTimePasswordField:()=>S,OneTimePasswordFieldHiddenInput:()=>M,OneTimePasswordFieldInput:()=>P,Root:()=>S});var n=r(93367),o=r(34124),a=r(66249),i=r(33328),l=r(81369),u=r(94782),s=r(45477),d=r(1856),c=r(38129),f=r(21032),p=r(72599),v=r(91722),m=r(82540),g=r(90508),h={numeric:{type:"numeric",regexp:/[^\d]/g,pattern:"\\d{1}",inputMode:"numeric"},alpha:{type:"alpha",regexp:/[^a-zA-Z]/g,pattern:"[a-zA-Z]{1}",inputMode:"text"},alphanumeric:{type:"alphanumeric",regexp:/[^a-zA-Z0-9]/g,pattern:"[a-zA-Z0-9]{1}",inputMode:"text"},none:null},w="OneTimePasswordField",[x,{useCollection:b,createCollectionScope:y,useInitCollection:C}]=(0,l.C)(w),[R]=(0,f.A)(w,[y,u.RG]),T=(0,u.RG)(),[E,j]=R(w),S=d.forwardRef(function(e,t){var r;let{__scopeOneTimePasswordField:l,defaultValue:f,value:v,onValueChange:w,autoSubmit:b=!1,children:y,onPaste:R,onAutoSubmit:j,disabled:S=!1,readOnly:M=!1,autoComplete:P="one-time-code",autoFocus:N=!1,form:D,name:A,placeholder:K,type:F="text",orientation:L="horizontal",dir:_,validationType:G="numeric",sanitizeValue:O,...H}=e,V=T(l),z=(0,p.jH)(_),B=C(),[U]=B,q=h[G]?h[G]:null,W=d.useCallback(e=>{if(e=Array.isArray(e)?e.map(k).join(""):k(e),q){let t=new RegExp(q.regexp);e=e.replace(t,"")}else O&&(e=O(e));return e.split("")},[q,O]),X=d.useMemo(()=>null!=v?W(v):void 0,[v,W]),[Y,Z]=(0,a.i)({caller:"OneTimePasswordField",prop:X,defaultProp:null!=f?W(f):[],onChange:d.useCallback(e=>null==w?void 0:w(e.join("")),[w])}),J=(0,m.J)(e=>{var t,r,n,o,a,i,l,u,s;switch(e.type){case"SET_CHAR":{let{index:i,char:l}=e,u=null==(t=U.at(i))?void 0:t.element;if(Y[i]===l)return void I(u&&(null==(n=U.from(u,1))?void 0:n.element));if(""===l)return;if(q){let e=new RegExp(q.regexp);if(l.replace(e,"")!==l)return}if(Y.length>=U.size){let e=[...Y];e[i]=l,(0,c.flushSync)(()=>Z(e)),I(u&&(null==(o=U.from(u,1))?void 0:o.element));return}let s=[...Y];s[i]=l;let d=null==(r=U.at(-1))?void 0:r.element;(0,c.flushSync)(()=>Z(s)),u!==d?I(u&&(null==(a=U.from(u,1))?void 0:a.element)):null==u||u.select();return}case"CLEAR_CHAR":{let{index:t,reason:r}=e;if(!Y[t])return;let n=Y.filter((e,r)=>r!==t),o=null==(i=U.at(t))?void 0:i.element,a=o&&(null==(l=U.from(o,-1))?void 0:l.element);(0,c.flushSync)(()=>Z(n)),"Backspace"===r?I(a):("Delete"===r||"Cut"===r)&&I(o);return}case"CLEAR":if(0===Y.length)return;"Backspace"===e.reason||"Delete"===e.reason?((0,c.flushSync)(()=>Z([])),I(null==(u=U.at(0))?void 0:u.element)):Z([]);return;case"PASTE":{let{value:t}=e,r=W(t);if(!r)return;(0,c.flushSync)(()=>Z(r)),I(null==(s=U.at(r.length-1))?void 0:s.element);return}}}),Q=d.useRef(q);d.useEffect(()=>{var e;q&&(null==(e=Q.current)?void 0:e.type)!==q.type&&(Q.current=q,Z(W(Y.join(""))))},[W,Z,q,Y]);let $=d.useRef(null),ee=d.useRef(null),et=d.useRef(null),er=(0,o.s)(t,et),en=null==(r=U.at(0))?void 0:r.element,eo=d.useCallback(()=>{let e;if(D){var t,r,n;let o=(null!=(r=null==(t=et.current)?void 0:t.ownerDocument)?r:document).getElementById(D);(null==(n=o)?void 0:n.tagName)==="FORM"&&(e=o)}else $.current?e=$.current.form:en&&(e=en.form);return null!=e?e:null},[D,en]),ea=d.useCallback(()=>{let e=eo();null==e||e.requestSubmit()},[eo]);d.useEffect(()=>{let e=eo();if(e){let t=()=>J({type:"CLEAR",reason:"Reset"});return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[J,eo]);let ei=Y.join(""),el=d.useRef(ei),eu=U.size;d.useEffect(()=>{let e=el.current;el.current=ei,e!==ei&&b&&Y.every(e=>""!==e)&&Y.length===eu&&(null==j||j(Y.join("")),ea())},[ea,b,ei,eu,j,Y]);let es=(0,s.z)();return(0,g.jsx)(E,{scope:l,value:Y,attemptSubmit:ea,disabled:S,readOnly:M,autoComplete:P,autoFocus:N,form:D,name:A,placeholder:K,type:F,hiddenInputRef:$,userActionRef:ee,dispatch:J,validationType:G,orientation:L,isHydrated:es,sanitizeValue:W,children:(0,g.jsx)(x.Provider,{scope:l,state:B,children:(0,g.jsx)(x.Slot,{scope:l,children:(0,g.jsx)(u.bL,{asChild:!0,...V,orientation:L,dir:z,children:(0,g.jsx)(n.bL.div,{...H,role:"group",ref:er,onPaste:(0,i.mK)(R,e=>{e.preventDefault(),J({type:"PASTE",value:e.clipboardData.getData("Text")})}),children:y})})})})})}),M=d.forwardRef(function(e,t){let{__scopeOneTimePasswordField:r,...n}=e,{value:a,hiddenInputRef:i,name:l}=j("OneTimePasswordFieldHiddenInput",r),u=(0,o.s)(i,t);return(0,g.jsx)("input",{ref:u,name:l,value:a.join("").trim(),autoComplete:"off",autoFocus:!1,autoCapitalize:"off",autoCorrect:"off",autoSave:"off",spellCheck:!1,...n,type:"hidden",readOnly:!0})}),P=d.forwardRef(function(e,t){var r;let a,{__scopeOneTimePasswordField:l,onInvalidChange:s,index:c,...f}=e,{value:p,defaultValue:m,disabled:w,readOnly:y,autoComplete:C,autoFocus:R,form:E,name:S,placeholder:M,type:P,...k}=f,N=j("OneTimePasswordFieldInput",l),{dispatch:D,userActionRef:A,validationType:K,isHydrated:F,disabled:L}=N,_=b(l),G=T(l),O=d.useRef(null),[H,V]=d.useState(null),z=null!=c?c:H?_.indexOf(H):-1;(null!=c||F)&&N.placeholder&&0===N.value.length&&(a=N.placeholder[z]);let B=(0,o.s)(t,O,V),U=null!=(r=N.value[z])?r:"",q=d.useRef(null);d.useEffect(()=>()=>{window.clearTimeout(q.current)},[]);let W=N.value.join("").trim(),X=(0,v.q)(W.length,[0,_.size-1]),Y=z<=X,Z=K in h?h[K]:void 0;return(0,g.jsx)(x.ItemSlot,{scope:l,children:(0,g.jsx)(u.q7,{...G,asChild:!0,focusable:!N.disabled&&Y,active:z===X,children:e=>{let{hasTabStop:t,isCurrentTabStop:r}=e,o=t?r:0===z;return(0,g.jsx)(n.bL.input,{ref:B,type:N.type,disabled:L,"aria-label":"Character ".concat(z+1," of ").concat(_.size),autoComplete:o?N.autoComplete:"off","data-1p-ignore":o?void 0:"true","data-lpignore":o?void 0:"true","data-protonpass-ignore":o?void 0:"true","data-bwignore":o?void 0:"true",inputMode:null==Z?void 0:Z.inputMode,maxLength:1,pattern:null==Z?void 0:Z.pattern,readOnly:N.readOnly,value:U,placeholder:a,"data-radix-otp-input":"","data-radix-index":z,...k,onFocus:(0,i.mK)(f.onFocus,e=>{e.currentTarget.select()}),onCut:(0,i.mK)(f.onCut,e=>{""!==e.currentTarget.value&&(A.current={type:"cut"},q.current=window.setTimeout(()=>{A.current=null},10))}),onInput:(0,i.mK)(f.onInput,e=>{let t=e.currentTarget.value;t.length>1&&(e.preventDefault(),D({type:"PASTE",value:t}))}),onChange:(0,i.mK)(f.onChange,e=>{let t=e.target.value;e.preventDefault();let r=A.current;if(A.current=null,r)switch(r.type){case"cut":D({type:"CLEAR_CHAR",index:z,reason:"Cut"});return;case"keydown":{if("Char"===r.key)return;let e="Backspace"===r.key&&(r.metaKey||r.ctrlKey);"Clear"===r.key||e?D({type:"CLEAR",reason:"Backspace"}):D({type:"CLEAR_CHAR",index:z,reason:r.key});return}default:return}if(e.target.validity.valid)if(""===t){let t="Backspace";if("input"===e.nativeEvent.type){let r=e.nativeEvent.inputType;"deleteContentBackward"===r?t="Backspace":"deleteByCut"===r&&(t="Cut")}D({type:"CLEAR_CHAR",index:z,reason:t})}else D({type:"SET_CHAR",char:t,index:z,event:e});else{let t=e.target;null==s||s(t.value),requestAnimationFrame(()=>{t.ownerDocument.activeElement===t&&t.select()})}}),onKeyDown:(0,i.mK)(f.onKeyDown,e=>{switch(e.key){case"Clear":case"Delete":case"Backspace":if(""===e.currentTarget.value){if("Delete"===e.key)return;if("Clear"===e.key||e.metaKey||e.ctrlKey)D({type:"CLEAR",reason:"Backspace"});else{let t=e.currentTarget;requestAnimationFrame(()=>{var e;I(null==(e=_.from(t,-1))?void 0:e.element)})}}else A.current={type:"keydown",key:e.key,metaKey:e.metaKey,ctrlKey:e.ctrlKey},q.current=window.setTimeout(()=>{A.current=null},10);return;case"Enter":e.preventDefault(),N.attemptSubmit();return;case"ArrowDown":case"ArrowUp":"horizontal"===N.orientation&&e.preventDefault();return;default:var t,r,n;if(e.currentTarget.value===e.key){let r=e.currentTarget;e.preventDefault(),I(null==(t=_.from(r,1))?void 0:t.element);return}if(e.currentTarget.value&&!(0===e.currentTarget.selectionStart&&null!=e.currentTarget.selectionEnd&&e.currentTarget.selectionEnd>0)){let t=e.key;if(e.key.length>1||" "===e.key)return;{let o=null==(r=_.from(e.currentTarget,1))?void 0:r.element,a=null==(n=_.at(-1))?void 0:n.element;o!==a&&e.currentTarget!==a&&(0===e.currentTarget.selectionStart?D({type:"SET_CHAR",char:t,index:z,event:e}):D({type:"SET_CHAR",char:t,index:z+1,event:e}),A.current={type:"keydown",key:"Char",metaKey:e.metaKey,ctrlKey:e.ctrlKey},q.current=window.setTimeout(()=>{A.current=null},10))}}}}),onPointerDown:(0,i.mK)(f.onPointerDown,e=>{var t;e.preventDefault();let r=Math.min(z,X);I(null==(t=_.at(r))?void 0:t.element)})})}})})});function k(e){return e.replace(/\s/g,"")}function I(e){e&&(e.ownerDocument.activeElement===e?window.requestAnimationFrame(()=>{var t;null==(t=e.select)||t.call(e)}):e.focus())}},5725:(e,t,r)=>{r.d(t,{b:()=>s});var n=r(1856),o=r(93367),a=r(90508),i="horizontal",l=["horizontal","vertical"],u=n.forwardRef((e,t)=>{var r;let{decorative:n,orientation:u=i,...s}=e,d=(r=u,l.includes(r))?u:i;return(0,a.jsx)(o.sG.div,{"data-orientation":d,...n?{role:"none"}:{"aria-orientation":"vertical"===d?d:void 0,role:"separator"},...s,ref:t})});u.displayName="Separator";var s=u},6512:(e,t,r)=>{r.r(t),r.d(t,{Arrow:()=>el,CheckboxItem:()=>er,Content:()=>Q,Group:()=>$,Item:()=>et,ItemIndicator:()=>ea,Label:()=>ee,Menu:()=>Y,Menubar:()=>E,MenubarArrow:()=>z,MenubarCheckboxItem:()=>_,MenubarContent:()=>A,MenubarGroup:()=>K,MenubarItem:()=>L,MenubarItemIndicator:()=>H,MenubarLabel:()=>F,MenubarMenu:()=>P,MenubarPortal:()=>N,MenubarRadioGroup:()=>G,MenubarRadioItem:()=>O,MenubarSeparator:()=>V,MenubarSub:()=>U,MenubarSubContent:()=>W,MenubarSubTrigger:()=>q,MenubarTrigger:()=>I,Portal:()=>J,RadioGroup:()=>en,RadioItem:()=>eo,Root:()=>X,Separator:()=>ei,Sub:()=>eu,SubContent:()=>ed,SubTrigger:()=>es,Trigger:()=>Z,createMenubarScope:()=>b});var n=r(1856),o=r(81369),a=r(72599),i=r(33328),l=r(34124),u=r(21032),s=r(40577),d=r(67764),c=r(94782),f=r(93367),p=r(66249),v=r(90508),m="Menubar",[g,h,w]=(0,o.N)(m),[x,b]=(0,u.A)(m,[w,c.RG]),y=(0,d.UE)(),C=(0,c.RG)(),[R,T]=x(m),E=n.forwardRef((e,t)=>{let{__scopeMenubar:r,value:o,onValueChange:i,defaultValue:l,loop:u=!0,dir:s,...d}=e,h=(0,a.jH)(s),w=C(r),[x,b]=(0,p.i)({prop:o,onChange:i,defaultProp:null!=l?l:"",caller:m}),[y,T]=n.useState(null);return(0,v.jsx)(R,{scope:r,value:x,onMenuOpen:n.useCallback(e=>{b(e),T(e)},[b]),onMenuClose:n.useCallback(()=>b(""),[b]),onMenuToggle:n.useCallback(e=>{b(t=>t?"":e),T(e)},[b]),dir:h,loop:u,children:(0,v.jsx)(g.Provider,{scope:r,children:(0,v.jsx)(g.Slot,{scope:r,children:(0,v.jsx)(c.bL,{asChild:!0,...w,orientation:"horizontal",loop:u,dir:h,currentTabStopId:y,onCurrentTabStopIdChange:T,children:(0,v.jsx)(f.sG.div,{role:"menubar",...d,ref:t})})})})})});E.displayName=m;var j="MenubarMenu",[S,M]=x(j),P=e=>{let{__scopeMenubar:t,value:r,...o}=e,a=(0,s.B)(),i=r||a||"LEGACY_REACT_AUTO_VALUE",l=T(j,t),u=y(t),c=n.useRef(null),f=n.useRef(!1),p=l.value===i;return n.useEffect(()=>{p||(f.current=!1)},[p]),(0,v.jsx)(S,{scope:t,value:i,triggerId:(0,s.B)(),triggerRef:c,contentId:(0,s.B)(),wasKeyboardTriggerOpenRef:f,children:(0,v.jsx)(d.bL,{...u,open:p,onOpenChange:e=>{e||l.onMenuClose()},modal:!1,dir:l.dir,...o})})};P.displayName=j;var k="MenubarTrigger",I=n.forwardRef((e,t)=>{let{__scopeMenubar:r,disabled:o=!1,...a}=e,u=C(r),s=y(r),p=T(k,r),m=M(k,r),h=n.useRef(null),w=(0,l.s)(t,h,m.triggerRef),[x,b]=n.useState(!1),R=p.value===m.value;return(0,v.jsx)(g.ItemSlot,{scope:r,value:m.value,disabled:o,children:(0,v.jsx)(c.q7,{asChild:!0,...u,focusable:!o,tabStopId:m.value,children:(0,v.jsx)(d.Mz,{asChild:!0,...s,children:(0,v.jsx)(f.sG.button,{type:"button",role:"menuitem",id:m.triggerId,"aria-haspopup":"menu","aria-expanded":R,"aria-controls":R?m.contentId:void 0,"data-highlighted":x?"":void 0,"data-state":R?"open":"closed","data-disabled":o?"":void 0,disabled:o,...a,ref:w,onPointerDown:(0,i.mK)(e.onPointerDown,e=>{!o&&0===e.button&&!1===e.ctrlKey&&(p.onMenuOpen(m.value),R||e.preventDefault())}),onPointerEnter:(0,i.mK)(e.onPointerEnter,()=>{if(p.value&&!R){var e;p.onMenuOpen(m.value),null==(e=h.current)||e.focus()}}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{!o&&(["Enter"," "].includes(e.key)&&p.onMenuToggle(m.value),"ArrowDown"===e.key&&p.onMenuOpen(m.value),["Enter"," ","ArrowDown"].includes(e.key)&&(m.wasKeyboardTriggerOpenRef.current=!0,e.preventDefault()))}),onFocus:(0,i.mK)(e.onFocus,()=>b(!0)),onBlur:(0,i.mK)(e.onBlur,()=>b(!1))})})})})});I.displayName=k;var N=e=>{let{__scopeMenubar:t,...r}=e,n=y(t);return(0,v.jsx)(d.ZL,{...n,...r})};N.displayName="MenubarPortal";var D="MenubarContent",A=n.forwardRef((e,t)=>{let{__scopeMenubar:r,align:o="start",...a}=e,l=y(r),u=T(D,r),s=M(D,r),c=h(r),f=n.useRef(!1);return(0,v.jsx)(d.UC,{id:s.contentId,"aria-labelledby":s.triggerId,"data-radix-menubar-content":"",...l,...a,ref:t,align:o,onCloseAutoFocus:(0,i.mK)(e.onCloseAutoFocus,e=>{if(!u.value&&!f.current){var t;null==(t=s.triggerRef.current)||t.focus()}f.current=!1,e.preventDefault()}),onFocusOutside:(0,i.mK)(e.onFocusOutside,e=>{let t=e.target;c().some(e=>{var r;return null==(r=e.ref.current)?void 0:r.contains(t)})&&e.preventDefault()}),onInteractOutside:(0,i.mK)(e.onInteractOutside,()=>{f.current=!0}),onEntryFocus:e=>{s.wasKeyboardTriggerOpenRef.current||e.preventDefault()},onKeyDown:(0,i.mK)(e.onKeyDown,e=>{if(["ArrowRight","ArrowLeft"].includes(e.key)){let t=e.target,r=t.hasAttribute("data-radix-menubar-subtrigger"),n=t.closest("[data-radix-menubar-content]")!==e.currentTarget,o=("rtl"===u.dir?"ArrowRight":"ArrowLeft")===e.key;if(!o&&r||n&&o)return;let a=c().filter(e=>!e.disabled).map(e=>e.value);o&&a.reverse();let i=a.indexOf(s.value),[l]=a=u.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(a,i+1):a.slice(i+1);l&&u.onMenuOpen(l)}},{checkForDefaultPrevented:!1}),style:{...e.style,"--radix-menubar-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-menubar-content-available-width":"var(--radix-popper-available-width)","--radix-menubar-content-available-height":"var(--radix-popper-available-height)","--radix-menubar-trigger-width":"var(--radix-popper-anchor-width)","--radix-menubar-trigger-height":"var(--radix-popper-anchor-height)"}})});A.displayName=D;var K=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.YJ,{...o,...n,ref:t})});K.displayName="MenubarGroup";var F=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.JU,{...o,...n,ref:t})});F.displayName="MenubarLabel";var L=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.q7,{...o,...n,ref:t})});L.displayName="MenubarItem";var _=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.H_,{...o,...n,ref:t})});_.displayName="MenubarCheckboxItem";var G=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.z6,{...o,...n,ref:t})});G.displayName="MenubarRadioGroup";var O=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.hN,{...o,...n,ref:t})});O.displayName="MenubarRadioItem";var H=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.VF,{...o,...n,ref:t})});H.displayName="MenubarItemIndicator";var V=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.wv,{...o,...n,ref:t})});V.displayName="MenubarSeparator";var z=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.i3,{...o,...n,ref:t})});z.displayName="MenubarArrow";var B="MenubarSub",U=e=>{let{__scopeMenubar:t,children:r,open:n,onOpenChange:o,defaultOpen:a}=e,i=y(t),[l,u]=(0,p.i)({prop:n,defaultProp:null!=a&&a,onChange:o,caller:B});return(0,v.jsx)(d.Pb,{...i,open:l,onOpenChange:u,children:r})};U.displayName=B;var q=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.ZP,{"data-radix-menubar-subtrigger":"",...o,...n,ref:t})});q.displayName="MenubarSubTrigger";var W=n.forwardRef((e,t)=>{let{__scopeMenubar:r,...n}=e,o=y(r);return(0,v.jsx)(d.G5,{...o,"data-radix-menubar-content":"",...n,ref:t,style:{...e.style,"--radix-menubar-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-menubar-content-available-width":"var(--radix-popper-available-width)","--radix-menubar-content-available-height":"var(--radix-popper-available-height)","--radix-menubar-trigger-width":"var(--radix-popper-anchor-width)","--radix-menubar-trigger-height":"var(--radix-popper-anchor-height)"}})});W.displayName="MenubarSubContent";var X=E,Y=P,Z=I,J=N,Q=A,$=K,ee=F,et=L,er=_,en=G,eo=O,ea=H,ei=V,el=z,eu=U,es=q,ed=W},6947:(e,t,r)=>{r.r(t),r.d(t,{Action:()=>et,Close:()=>er,Description:()=>ee,Provider:()=>Z,Root:()=>Q,Title:()=>$,Toast:()=>K,ToastAction:()=>z,ToastClose:()=>U,ToastDescription:()=>H,ToastProvider:()=>j,ToastTitle:()=>O,ToastViewport:()=>I,Viewport:()=>J,createToastScope:()=>R});var n=r(1856),o=r(38129),a=r(33328),i=r(34124),l=r(81369),u=r(21032),s=r(63569),d=r(17533),c=r(19900),f=r(93367),p=r(32313),v=r(66249),m=r(99457),g=r(78134),h=r(90508),w="ToastProvider",[x,b,y]=(0,l.N)("Toast"),[C,R]=(0,u.A)("Toast",[y]),[T,E]=C(w),j=e=>{let{__scopeToast:t,label:r="Notification",duration:o=5e3,swipeDirection:a="right",swipeThreshold:i=50,children:l}=e,[u,s]=n.useState(null),[d,c]=n.useState(0),f=n.useRef(!1),p=n.useRef(!1);return r.trim()||console.error("Invalid prop `label` supplied to `".concat(w,"`. Expected non-empty `string`.")),(0,h.jsx)(x.Provider,{scope:t,children:(0,h.jsx)(T,{scope:t,label:r,duration:o,swipeDirection:a,swipeThreshold:i,toastCount:d,viewport:u,onViewportChange:s,onToastAdd:n.useCallback(()=>c(e=>e+1),[]),onToastRemove:n.useCallback(()=>c(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:f,isClosePausedRef:p,children:l})})};j.displayName=w;var S="ToastViewport",M=["F8"],P="toast.viewportPause",k="toast.viewportResume",I=n.forwardRef((e,t)=>{let{__scopeToast:r,hotkey:o=M,label:a="Notifications ({hotkey})",...l}=e,u=E(S,r),d=b(r),c=n.useRef(null),p=n.useRef(null),v=n.useRef(null),m=n.useRef(null),g=(0,i.s)(t,m,u.onViewportChange),w=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=u.toastCount>0;n.useEffect(()=>{let e=e=>{var t;0!==o.length&&o.every(t=>e[t]||e.code===t)&&(null==(t=m.current)||t.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]),n.useEffect(()=>{let e=c.current,t=m.current;if(y&&e&&t){let r=()=>{if(!u.isClosePausedRef.current){let e=new CustomEvent(P);t.dispatchEvent(e),u.isClosePausedRef.current=!0}},n=()=>{if(u.isClosePausedRef.current){let e=new CustomEvent(k);t.dispatchEvent(e),u.isClosePausedRef.current=!1}},o=t=>{e.contains(t.relatedTarget)||n()},a=()=>{e.contains(document.activeElement)||n()};return e.addEventListener("focusin",r),e.addEventListener("focusout",o),e.addEventListener("pointermove",r),e.addEventListener("pointerleave",a),window.addEventListener("blur",r),window.addEventListener("focus",n),()=>{e.removeEventListener("focusin",r),e.removeEventListener("focusout",o),e.removeEventListener("pointermove",r),e.removeEventListener("pointerleave",a),window.removeEventListener("blur",r),window.removeEventListener("focus",n)}}},[y,u.isClosePausedRef]);let C=n.useCallback(e=>{let{tabbingDirection:t}=e,r=d().map(e=>{let r=e.ref.current,n=[r,...function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}(r)];return"forwards"===t?n:n.reverse()});return("forwards"===t?r.reverse():r).flat()},[d]);return n.useEffect(()=>{let e=m.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){var n,o,a;let r=document.activeElement,i=t.shiftKey;if(t.target===e&&i){null==(n=p.current)||n.focus();return}let l=C({tabbingDirection:i?"backwards":"forwards"}),u=l.findIndex(e=>e===r);Y(l.slice(u+1))?t.preventDefault():i?null==(o=p.current)||o.focus():null==(a=v.current)||a.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[d,C]),(0,h.jsxs)(s.lg,{ref:c,role:"region","aria-label":a.replace("{hotkey}",w),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&(0,h.jsx)(D,{ref:p,onFocusFromOutsideViewport:()=>{Y(C({tabbingDirection:"forwards"}))}}),(0,h.jsx)(x.Slot,{scope:r,children:(0,h.jsx)(f.sG.ol,{tabIndex:-1,...l,ref:g})}),y&&(0,h.jsx)(D,{ref:v,onFocusFromOutsideViewport:()=>{Y(C({tabbingDirection:"backwards"}))}})]})});I.displayName=S;var N="ToastFocusProxy",D=n.forwardRef((e,t)=>{let{__scopeToast:r,onFocusFromOutsideViewport:n,...o}=e,a=E(N,r);return(0,h.jsx)(g.s6,{tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:e=>{var t;let r=e.relatedTarget;(null==(t=a.viewport)?void 0:t.contains(r))||n()}})});D.displayName=N;var A="Toast",K=n.forwardRef((e,t)=>{let{forceMount:r,open:n,defaultOpen:o,onOpenChange:i,...l}=e,[u,s]=(0,v.i)({prop:n,defaultProp:null==o||o,onChange:i,caller:A});return(0,h.jsx)(c.C,{present:r||u,children:(0,h.jsx)(_,{open:u,...l,ref:t,onClose:()=>s(!1),onPause:(0,p.c)(e.onPause),onResume:(0,p.c)(e.onResume),onSwipeStart:(0,a.mK)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,a.mK)(e.onSwipeMove,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y","".concat(r,"px"))}),onSwipeCancel:(0,a.mK)(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:(0,a.mK)(e.onSwipeEnd,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y","".concat(r,"px")),s(!1)})})})});K.displayName=A;var[F,L]=C(A,{onClose(){}}),_=n.forwardRef((e,t)=>{let{__scopeToast:r,type:l="foreground",duration:u,open:d,onClose:c,onEscapeKeyDown:v,onPause:m,onResume:g,onSwipeStart:w,onSwipeMove:b,onSwipeCancel:y,onSwipeEnd:C,...R}=e,T=E(A,r),[j,S]=n.useState(null),M=(0,i.s)(t,e=>S(e)),I=n.useRef(null),N=n.useRef(null),D=u||T.duration,K=n.useRef(0),L=n.useRef(D),_=n.useRef(0),{onToastAdd:O,onToastRemove:H}=T,V=(0,p.c)(()=>{var e;(null==j?void 0:j.contains(document.activeElement))&&(null==(e=T.viewport)||e.focus()),c()}),z=n.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(_.current),K.current=new Date().getTime(),_.current=window.setTimeout(V,e))},[V]);n.useEffect(()=>{let e=T.viewport;if(e){let t=()=>{z(L.current),null==g||g()},r=()=>{let e=new Date().getTime()-K.current;L.current=L.current-e,window.clearTimeout(_.current),null==m||m()};return e.addEventListener(P,r),e.addEventListener(k,t),()=>{e.removeEventListener(P,r),e.removeEventListener(k,t)}}},[T.viewport,D,m,g,z]),n.useEffect(()=>{d&&!T.isClosePausedRef.current&&z(D)},[d,D,T.isClosePausedRef,z]),n.useEffect(()=>(O(),()=>H()),[O,H]);let B=n.useMemo(()=>j?function e(t){let r=[];return Array.from(t.childNodes).forEach(t=>{var n;if(t.nodeType===t.TEXT_NODE&&t.textContent&&r.push(t.textContent),(n=t).nodeType===n.ELEMENT_NODE){let n=t.ariaHidden||t.hidden||"none"===t.style.display,o=""===t.dataset.radixToastAnnounceExclude;if(!n)if(o){let e=t.dataset.radixToastAnnounceAlt;e&&r.push(e)}else r.push(...e(t))}}),r}(j):null,[j]);return T.viewport?(0,h.jsxs)(h.Fragment,{children:[B&&(0,h.jsx)(G,{__scopeToast:r,role:"status","aria-live":"foreground"===l?"assertive":"polite",children:B}),(0,h.jsx)(F,{scope:r,onClose:V,children:o.createPortal((0,h.jsx)(x.ItemSlot,{scope:r,children:(0,h.jsx)(s.bL,{asChild:!0,onEscapeKeyDown:(0,a.mK)(v,()=>{T.isFocusedToastEscapeKeyDownRef.current||V(),T.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,h.jsx)(f.sG.li,{tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":T.swipeDirection,...R,ref:M,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,a.mK)(e.onKeyDown,e=>{"Escape"===e.key&&(null==v||v(e.nativeEvent),e.nativeEvent.defaultPrevented||(T.isFocusedToastEscapeKeyDownRef.current=!0,V()))}),onPointerDown:(0,a.mK)(e.onPointerDown,e=>{0===e.button&&(I.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,a.mK)(e.onPointerMove,e=>{if(!I.current)return;let t=e.clientX-I.current.x,r=e.clientY-I.current.y,n=!!N.current,o=["left","right"].includes(T.swipeDirection),a=["left","up"].includes(T.swipeDirection)?Math.min:Math.max,i=o?a(0,t):0,l=o?0:a(0,r),u="touch"===e.pointerType?10:2,s={x:i,y:l},d={originalEvent:e,delta:s};n?(N.current=s,W("toast.swipeMove",b,d,{discrete:!1})):X(s,T.swipeDirection,u)?(N.current=s,W("toast.swipeStart",w,d,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>u||Math.abs(r)>u)&&(I.current=null)}),onPointerUp:(0,a.mK)(e.onPointerUp,e=>{let t=N.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),N.current=null,I.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};X(t,T.swipeDirection,T.swipeThreshold)?W("toast.swipeEnd",C,n,{discrete:!0}):W("toast.swipeCancel",y,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),T.viewport)})]}):null}),G=e=>{let{__scopeToast:t,children:r,...o}=e,a=E(A,t),[i,l]=n.useState(!1),[u,s]=n.useState(!1);return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{},t=(0,p.c)(e);(0,m.N)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>l(!0)),n.useEffect(()=>{let e=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(e)},[]),u?null:(0,h.jsx)(d.Portal,{asChild:!0,children:(0,h.jsx)(g.s6,{...o,children:i&&(0,h.jsxs)(h.Fragment,{children:[a.label," ",r]})})})},O=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,h.jsx)(f.sG.div,{...n,ref:t})});O.displayName="ToastTitle";var H=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,h.jsx)(f.sG.div,{...n,ref:t})});H.displayName="ToastDescription";var V="ToastAction",z=n.forwardRef((e,t)=>{let{altText:r,...n}=e;return r.trim()?(0,h.jsx)(q,{altText:r,asChild:!0,children:(0,h.jsx)(U,{...n,ref:t})}):(console.error("Invalid prop `altText` supplied to `".concat(V,"`. Expected non-empty `string`.")),null)});z.displayName=V;var B="ToastClose",U=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e,o=L(B,r);return(0,h.jsx)(q,{asChild:!0,children:(0,h.jsx)(f.sG.button,{type:"button",...n,ref:t,onClick:(0,a.mK)(e.onClick,o.onClose)})})});U.displayName=B;var q=n.forwardRef((e,t)=>{let{__scopeToast:r,altText:n,...o}=e;return(0,h.jsx)(f.sG.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...o,ref:t})});function W(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),o?(0,f.hO)(a,i):a.dispatchEvent(i)}var X=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.abs(e.x),o=Math.abs(e.y),a=n>o;return"left"===t||"right"===t?a&&n>r:!a&&o>r};function Y(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var Z=j,J=I,Q=K,$=O,ee=H,et=z,er=U},19345:(e,t,r)=>{r.r(t),r.d(t,{Icon:()=>S,Input:()=>y,PasswordToggleField:()=>x,PasswordToggleFieldIcon:()=>S,PasswordToggleFieldInput:()=>y,PasswordToggleFieldSlot:()=>E,PasswordToggleFieldToggle:()=>R,Root:()=>x,Slot:()=>E,Toggle:()=>R});var n=r(1856),o=r(38129),a=r(33328),i=r(66249),l=r(93367),u=r(34124),s=r(40577),d=r(45477),c=r(82540),f=r(21032),p=r(90508),v="PasswordToggleField",[m]=(0,f.A)(v),[g,h]=m(v),w={clickTriggered:!1,selectionStart:null,selectionEnd:null},x=e=>{let{__scopePasswordToggleField:t,...r}=e,o=(0,s.B)(r.id),a="".concat(o,"-input"),[l,u]=n.useState(a),d=null!=l?l:a,c=n.useCallback(e=>u(null!=e?String(e):null),[]),{visible:f,defaultVisible:m,onVisiblityChange:h,children:x}=r,[b=!1,y]=(0,i.i)({caller:v,prop:f,defaultProp:null!=m&&m,onChange:h}),C=n.useRef(null),R=n.useRef(w);return(0,p.jsx)(g,{scope:t,inputId:d,inputRef:C,setVisible:y,syncInputId:c,visible:b,focusState:R,children:x})};x.displayName=v;var b=v+"Input",y=n.forwardRef((e,t)=>{let{__scopePasswordToggleField:r,autoComplete:o="current-password",autoCapitalize:i="off",spellCheck:s=!1,id:d,...f}=e,{visible:v,inputRef:m,inputId:g,syncInputId:w,setVisible:x,focusState:y}=h(b,r);n.useEffect(()=>{w(d)},[d,w]);let C=(0,c.J)(x);return n.useEffect(()=>{let e=m.current,t=null==e?void 0:e.form;if(!t)return;let r=new AbortController;return t.addEventListener("reset",e=>{e.defaultPrevented||C(!1)},{signal:r.signal}),t.addEventListener("submit",()=>{C(!1)},{signal:r.signal}),()=>{r.abort()}},[m,C]),(0,p.jsx)(l.sG.input,{...f,id:null!=d?d:g,autoCapitalize:i,autoComplete:o,ref:(0,u.s)(t,m),spellCheck:s,type:v?"text":"password",onBlur:(0,a.mK)(f.onBlur,e=>{let{selectionStart:t,selectionEnd:r}=e.currentTarget;y.current.selectionStart=t,y.current.selectionEnd=r})})});y.displayName=b;var C=v+"Toggle",R=n.forwardRef((e,t)=>{let{__scopePasswordToggleField:r,onClick:i,onPointerDown:s,onPointerCancel:c,onPointerUp:f,onFocus:v,children:m,"aria-label":g,"aria-controls":x,"aria-hidden":b,tabIndex:y,...R}=e,{setVisible:T,visible:E,inputRef:j,inputId:S,focusState:M}=h(C,r),[P,k]=n.useState(void 0),I=n.useRef(null),N=(0,u.s)(t,I),D=(0,d.z)();n.useEffect(()=>{let e=I.current;if(!e||g)return void k(void 0);let t=E?"Hide password":"Show password";function r(e){k(e?void 0:t)}r(e.textContent);let n=new MutationObserver(t=>{let n;for(let r of t)"characterData"===r.type&&e.textContent&&(n=e.textContent);r(n)});return n.observe(e,{characterData:!0,subtree:!0}),()=>{n.disconnect()}},[E,g]);let A=g||P;return D?null!=x||(x=S):(null!=b||(b=!0),null!=y||(y=-1)),n.useEffect(()=>{var e,t;let r=()=>{},n=(null==(t=I.current)||null==(e=t.ownerDocument)?void 0:e.defaultView)||window,o=()=>M.current.clickTriggered=!1,a=()=>r=function(e,t,r){if(e.requestIdleCallback){let r=e.requestIdleCallback(t,void 0);return()=>{e.cancelIdleCallback(r)}}let n=Date.now(),o=e.setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},1);return()=>{e.clearTimeout(o)}}(n,o);return n.addEventListener("pointerup",a),()=>{r(),n.removeEventListener("pointerup",a)}},[M]),(0,p.jsx)(l.sG.button,{"aria-controls":x,"aria-hidden":b,"aria-label":A,ref:N,id:S,...R,onPointerDown:(0,a.mK)(s,()=>{M.current.clickTriggered=!0}),onPointerCancel:e=>{null==c||c(e),M.current=w},onClick:e=>{if(null==i||i(e),e.defaultPrevented){M.current=w;return}if((0,o.flushSync)(()=>{T(e=>!e)}),M.current.clickTriggered){let e=j.current;if(e){let{selectionStart:t,selectionEnd:r}=M.current;e.focus(),(null!==t||null!==r)&&requestAnimationFrame(()=>{e.ownerDocument.activeElement===e&&(e.selectionStart=t,e.selectionEnd=r)})}}M.current=w},onPointerUp:e=>{null==f||f(e),setTimeout(()=>{M.current=w},50)},type:"button",children:m})});R.displayName=C;var T=v+"Slot",E=e=>{let{__scopePasswordToggleField:t,...r}=e,{visible:n}=h(T,t);return"render"in r?r.render({visible:n}):n?r.visible:r.hidden};E.displayName=T;var j=v+"Icon",S=n.forwardRef((e,t)=>{let{__scopePasswordToggleField:r,children:n,...o}=e,{visible:a}=h(j,r),{visible:i,hidden:u,...s}=o;return(0,p.jsx)(l.sG.svg,{...s,ref:t,"aria-hidden":!0,asChild:!0,children:a?i:u})});S.displayName=j},25051:(e,t,r)=>{r.r(t),r.d(t,{Content:()=>ey,Indicator:()=>eb,Item:()=>eh,Link:()=>ex,List:()=>eg,NavigationMenu:()=>D,NavigationMenuContent:()=>J,NavigationMenuIndicator:()=>X,NavigationMenuItem:()=>V,NavigationMenuLink:()=>q,NavigationMenuList:()=>_,NavigationMenuSub:()=>K,NavigationMenuTrigger:()=>B,NavigationMenuViewport:()=>er,Root:()=>ev,Sub:()=>em,Trigger:()=>ew,Viewport:()=>eC,createNavigationMenuScope:()=>M});var n=r(1856),o=r(38129),a=r(21032),i=r(33328),l=r(93367),u=r(66249),s=r(34124),d=r(72599),c=r(19900),f=r(40577),p=r(81369),v=r(63569),m=r(72009),g=r(99457),h=r(32313),w=r(78134),x=r(90508),b="NavigationMenu",[y,C,R]=(0,p.N)(b),[T,E,j]=(0,p.N)(b),[S,M]=(0,a.A)(b,[R,j]),[P,k]=S(b),[I,N]=S(b),D=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,value:o,onValueChange:a,defaultValue:i,delayDuration:c=200,skipDelayDuration:f=300,orientation:p="horizontal",dir:v,...m}=e,[g,h]=n.useState(null),w=(0,s.s)(t,e=>h(e)),y=(0,d.jH)(v),C=n.useRef(0),R=n.useRef(0),T=n.useRef(0),[E,j]=n.useState(!0),[S,M]=(0,u.i)({prop:o,onChange:e=>{let t=f>0;""!==e?(window.clearTimeout(T.current),t&&j(!1)):(window.clearTimeout(T.current),T.current=window.setTimeout(()=>j(!0),f)),null==a||a(e)},defaultProp:null!=i?i:"",caller:b}),P=n.useCallback(()=>{window.clearTimeout(R.current),R.current=window.setTimeout(()=>M(""),150)},[M]),k=n.useCallback(e=>{window.clearTimeout(R.current),M(e)},[M]),I=n.useCallback(e=>{S===e?window.clearTimeout(R.current):C.current=window.setTimeout(()=>{window.clearTimeout(R.current),M(e)},c)},[S,M,c]);return n.useEffect(()=>()=>{window.clearTimeout(C.current),window.clearTimeout(R.current),window.clearTimeout(T.current)},[]),(0,x.jsx)(F,{scope:r,isRootMenu:!0,value:S,dir:y,orientation:p,rootNavigationMenu:g,onTriggerEnter:e=>{window.clearTimeout(C.current),E?I(e):k(e)},onTriggerLeave:()=>{window.clearTimeout(C.current),P()},onContentEnter:()=>window.clearTimeout(R.current),onContentLeave:P,onItemSelect:e=>{M(t=>t===e?"":e)},onItemDismiss:()=>M(""),children:(0,x.jsx)(l.sG.nav,{"aria-label":"Main","data-orientation":p,dir:y,...m,ref:w})})});D.displayName=b;var A="NavigationMenuSub",K=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,value:n,onValueChange:o,defaultValue:a,orientation:i="horizontal",...s}=e,d=k(A,r),[c,f]=(0,u.i)({prop:n,onChange:o,defaultProp:null!=a?a:"",caller:A});return(0,x.jsx)(F,{scope:r,isRootMenu:!1,value:c,dir:d.dir,orientation:i,rootNavigationMenu:d.rootNavigationMenu,onTriggerEnter:e=>f(e),onItemSelect:e=>f(e),onItemDismiss:()=>f(""),children:(0,x.jsx)(l.sG.div,{"data-orientation":i,...s,ref:t})})});K.displayName=A;var F=e=>{let{scope:t,isRootMenu:r,rootNavigationMenu:o,dir:a,orientation:i,children:l,value:u,onItemSelect:s,onItemDismiss:d,onTriggerEnter:c,onTriggerLeave:p,onContentEnter:v,onContentLeave:g}=e,[w,b]=n.useState(null),[C,R]=n.useState(new Map),[T,E]=n.useState(null);return(0,x.jsx)(P,{scope:t,isRootMenu:r,rootNavigationMenu:o,value:u,previousValue:(0,m.Z)(u),baseId:(0,f.B)(),dir:a,orientation:i,viewport:w,onViewportChange:b,indicatorTrack:T,onIndicatorTrackChange:E,onTriggerEnter:(0,h.c)(c),onTriggerLeave:(0,h.c)(p),onContentEnter:(0,h.c)(v),onContentLeave:(0,h.c)(g),onItemSelect:(0,h.c)(s),onItemDismiss:(0,h.c)(d),onViewportContentChange:n.useCallback((e,t)=>{R(r=>(r.set(e,t),new Map(r)))},[]),onViewportContentRemove:n.useCallback(e=>{R(t=>t.has(e)?(t.delete(e),new Map(t)):t)},[]),children:(0,x.jsx)(y.Provider,{scope:t,children:(0,x.jsx)(I,{scope:t,items:C,children:l})})})},L="NavigationMenuList",_=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,...n}=e,o=k(L,r),a=(0,x.jsx)(l.sG.ul,{"data-orientation":o.orientation,...n,ref:t});return(0,x.jsx)(l.sG.div,{style:{position:"relative"},ref:o.onIndicatorTrackChange,children:(0,x.jsx)(y.Slot,{scope:r,children:o.isRootMenu?(0,x.jsx)(eo,{asChild:!0,children:a}):a})})});_.displayName=L;var G="NavigationMenuItem",[O,H]=S(G),V=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,value:o,...a}=e,i=(0,f.B)(),u=n.useRef(null),s=n.useRef(null),d=n.useRef(null),c=n.useRef(()=>{}),p=n.useRef(!1),v=n.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"start";if(u.current){c.current();let t=el(u.current);t.length&&eu("start"===e?t:t.reverse())}},[]),m=n.useCallback(()=>{if(u.current){let e=el(u.current);e.length&&(c.current=function(e){return e.forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")}),()=>{e.forEach(e=>{let t=e.dataset.tabindex;e.setAttribute("tabindex",t)})}}(e))}},[]);return(0,x.jsx)(O,{scope:r,value:o||i||"LEGACY_REACT_AUTO_VALUE",triggerRef:s,contentRef:u,focusProxyRef:d,wasEscapeCloseRef:p,onEntryKeyDown:v,onFocusProxyEnter:v,onRootContentClose:m,onContentFocusOutside:m,children:(0,x.jsx)(l.sG.li,{...a,ref:t})})});V.displayName=G;var z="NavigationMenuTrigger",B=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,disabled:o,...a}=e,u=k(z,e.__scopeNavigationMenu),d=H(z,e.__scopeNavigationMenu),c=n.useRef(null),f=(0,s.s)(c,d.triggerRef,t),p=ec(u.baseId,d.value),v=ef(u.baseId,d.value),m=n.useRef(!1),g=n.useRef(!1),h=d.value===u.value;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(y.ItemSlot,{scope:r,value:d.value,children:(0,x.jsx)(ei,{asChild:!0,children:(0,x.jsx)(l.sG.button,{id:p,disabled:o,"data-disabled":o?"":void 0,"data-state":ed(h),"aria-expanded":h,"aria-controls":v,...a,ref:f,onPointerEnter:(0,i.mK)(e.onPointerEnter,()=>{g.current=!1,d.wasEscapeCloseRef.current=!1}),onPointerMove:(0,i.mK)(e.onPointerMove,ep(()=>{o||g.current||d.wasEscapeCloseRef.current||m.current||(u.onTriggerEnter(d.value),m.current=!0)})),onPointerLeave:(0,i.mK)(e.onPointerLeave,ep(()=>{o||(u.onTriggerLeave(),m.current=!1)})),onClick:(0,i.mK)(e.onClick,()=>{u.onItemSelect(d.value),g.current=h}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{let t={horizontal:"ArrowDown",vertical:"rtl"===u.dir?"ArrowLeft":"ArrowRight"}[u.orientation];h&&e.key===t&&(d.onEntryKeyDown(),e.preventDefault())})})})}),h&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(w.bL,{"aria-hidden":!0,tabIndex:0,ref:d.focusProxyRef,onFocus:e=>{let t=d.contentRef.current,r=e.relatedTarget,n=r===c.current,o=null==t?void 0:t.contains(r);(n||!o)&&d.onFocusProxyEnter(n?"start":"end")}}),u.viewport&&(0,x.jsx)("span",{"aria-owns":v})]})]})});B.displayName=z;var U="navigationMenu.linkSelect",q=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,active:n,onSelect:o,...a}=e;return(0,x.jsx)(ei,{asChild:!0,children:(0,x.jsx)(l.sG.a,{"data-active":n?"":void 0,"aria-current":n?"page":void 0,...a,ref:t,onClick:(0,i.mK)(e.onClick,e=>{let t=e.target,r=new CustomEvent(U,{bubbles:!0,cancelable:!0});if(t.addEventListener(U,e=>null==o?void 0:o(e),{once:!0}),(0,l.hO)(t,r),!r.defaultPrevented&&!e.metaKey){let e=new CustomEvent($,{bubbles:!0,cancelable:!0});(0,l.hO)(t,e)}},{checkForDefaultPrevented:!1})})})});q.displayName="NavigationMenuLink";var W="NavigationMenuIndicator",X=n.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=k(W,e.__scopeNavigationMenu),i=!!a.value;return a.indicatorTrack?o.createPortal((0,x.jsx)(c.C,{present:r||i,children:(0,x.jsx)(Y,{...n,ref:t})}),a.indicatorTrack):null});X.displayName=W;var Y=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,...o}=e,a=k(W,r),i=C(r),[u,s]=n.useState(null),[d,c]=n.useState(null),f="horizontal"===a.orientation,p=!!a.value;n.useEffect(()=>{var e;let t=null==(e=i().find(e=>e.value===a.value))?void 0:e.ref.current;t&&s(t)},[i,a.value]);let v=()=>{u&&c({size:f?u.offsetWidth:u.offsetHeight,offset:f?u.offsetLeft:u.offsetTop})};return es(u,v),es(a.indicatorTrack,v),d?(0,x.jsx)(l.sG.div,{"aria-hidden":!0,"data-state":p?"visible":"hidden","data-orientation":a.orientation,...o,ref:t,style:{position:"absolute",...f?{left:0,width:d.size+"px",transform:"translateX(".concat(d.offset,"px)")}:{top:0,height:d.size+"px",transform:"translateY(".concat(d.offset,"px)")},...o.style}}):null}),Z="NavigationMenuContent",J=n.forwardRef((e,t)=>{let{forceMount:r,...n}=e,o=k(Z,e.__scopeNavigationMenu),a=H(Z,e.__scopeNavigationMenu),l=(0,s.s)(a.contentRef,t),u=a.value===o.value,d={value:a.value,triggerRef:a.triggerRef,focusProxyRef:a.focusProxyRef,wasEscapeCloseRef:a.wasEscapeCloseRef,onContentFocusOutside:a.onContentFocusOutside,onRootContentClose:a.onRootContentClose,...n};return o.viewport?(0,x.jsx)(Q,{forceMount:r,...d,ref:l}):(0,x.jsx)(c.C,{present:r||u,children:(0,x.jsx)(ee,{"data-state":ed(u),...d,ref:l,onPointerEnter:(0,i.mK)(e.onPointerEnter,o.onContentEnter),onPointerLeave:(0,i.mK)(e.onPointerLeave,ep(o.onContentLeave)),style:{pointerEvents:!u&&o.isRootMenu?"none":void 0,...d.style}})})});J.displayName=Z;var Q=n.forwardRef((e,t)=>{let{onViewportContentChange:r,onViewportContentRemove:n}=k(Z,e.__scopeNavigationMenu);return(0,g.N)(()=>{r(e.value,{ref:t,...e})},[e,t,r]),(0,g.N)(()=>()=>n(e.value),[e.value,n]),null}),$="navigationMenu.rootContentDismiss",ee=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,value:o,triggerRef:a,focusProxyRef:l,wasEscapeCloseRef:u,onRootContentClose:d,onContentFocusOutside:c,...f}=e,p=k(Z,r),m=n.useRef(null),g=(0,s.s)(m,t),h=ec(p.baseId,o),w=ef(p.baseId,o),b=C(r),y=n.useRef(null),{onItemDismiss:R}=p;n.useEffect(()=>{let e=m.current;if(p.isRootMenu&&e){let t=()=>{var t;R(),d(),e.contains(document.activeElement)&&(null==(t=a.current)||t.focus())};return e.addEventListener($,t),()=>e.removeEventListener($,t)}},[p.isRootMenu,e.value,a,R,d]);let T=n.useMemo(()=>{let e=b().map(e=>e.value);"rtl"===p.dir&&e.reverse();let t=e.indexOf(p.value),r=e.indexOf(p.previousValue),n=o===p.value,a=r===e.indexOf(o);if(!n&&!a)return y.current;let i=(()=>{if(t!==r){if(n&&-1!==r)return t>r?"from-end":"from-start";if(a&&-1!==t)return t>r?"to-start":"to-end"}return null})();return y.current=i,i},[p.previousValue,p.value,p.dir,b,o]);return(0,x.jsx)(eo,{asChild:!0,children:(0,x.jsx)(v.qW,{id:w,"aria-labelledby":h,"data-motion":T,"data-orientation":p.orientation,...f,ref:g,disableOutsidePointerEvents:!1,onDismiss:()=>{var e;let t=new Event($,{bubbles:!0,cancelable:!0});null==(e=m.current)||e.dispatchEvent(t)},onFocusOutside:(0,i.mK)(e.onFocusOutside,e=>{var t;c();let r=e.target;(null==(t=p.rootNavigationMenu)?void 0:t.contains(r))&&e.preventDefault()}),onPointerDownOutside:(0,i.mK)(e.onPointerDownOutside,e=>{var t;let r=e.target,n=b().some(e=>{var t;return null==(t=e.ref.current)?void 0:t.contains(r)}),o=p.isRootMenu&&(null==(t=p.viewport)?void 0:t.contains(r));(n||o||!p.isRootMenu)&&e.preventDefault()}),onKeyDown:(0,i.mK)(e.onKeyDown,e=>{let t=e.altKey||e.ctrlKey||e.metaKey;if("Tab"===e.key&&!t){let t=el(e.currentTarget),n=document.activeElement,o=t.findIndex(e=>e===n);if(eu(e.shiftKey?t.slice(0,o).reverse():t.slice(o+1,t.length)))e.preventDefault();else{var r;null==(r=l.current)||r.focus()}}}),onEscapeKeyDown:(0,i.mK)(e.onEscapeKeyDown,e=>{u.current=!0})})})}),et="NavigationMenuViewport",er=n.forwardRef((e,t)=>{let{forceMount:r,...n}=e,o=!!k(et,e.__scopeNavigationMenu).value;return(0,x.jsx)(c.C,{present:r||o,children:(0,x.jsx)(en,{...n,ref:t})})});er.displayName=et;var en=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,children:o,...a}=e,u=k(et,r),d=(0,s.s)(t,u.onViewportChange),f=N(Z,e.__scopeNavigationMenu),[p,v]=n.useState(null),[m,g]=n.useState(null),h=p?(null==p?void 0:p.width)+"px":void 0,w=p?(null==p?void 0:p.height)+"px":void 0,b=!!u.value,y=b?u.value:u.previousValue;return es(m,()=>{m&&v({width:m.offsetWidth,height:m.offsetHeight})}),(0,x.jsx)(l.sG.div,{"data-state":ed(b),"data-orientation":u.orientation,...a,ref:d,style:{pointerEvents:!b&&u.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":h,"--radix-navigation-menu-viewport-height":w,...a.style},onPointerEnter:(0,i.mK)(e.onPointerEnter,u.onContentEnter),onPointerLeave:(0,i.mK)(e.onPointerLeave,ep(u.onContentLeave)),children:Array.from(f.items).map(e=>{let[t,{ref:r,forceMount:n,...o}]=e,a=y===t;return(0,x.jsx)(c.C,{present:n||a,children:(0,x.jsx)(ee,{...o,ref:(0,s.t)(r,e=>{a&&e&&g(e)})})},t)})})}),eo=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,...n}=e,o=k("FocusGroup",r);return(0,x.jsx)(T.Provider,{scope:r,children:(0,x.jsx)(T.Slot,{scope:r,children:(0,x.jsx)(l.sG.div,{dir:o.dir,...n,ref:t})})})}),ea=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],ei=n.forwardRef((e,t)=>{let{__scopeNavigationMenu:r,...n}=e,o=E(r),a=k("FocusGroupItem",r);return(0,x.jsx)(T.ItemSlot,{scope:r,children:(0,x.jsx)(l.sG.button,{...n,ref:t,onKeyDown:(0,i.mK)(e.onKeyDown,e=>{if(["Home","End",...ea].includes(e.key)){let t=o().map(e=>e.ref.current);if(["rtl"===a.dir?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(e.key)&&t.reverse(),ea.includes(e.key)){let r=t.indexOf(e.currentTarget);t=t.slice(r+1)}setTimeout(()=>eu(t)),e.preventDefault()}})})})});function el(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function eu(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}function es(e,t){let r=(0,h.c)(t);(0,g.N)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}function ed(e){return e?"open":"closed"}function ec(e,t){return"".concat(e,"-trigger-").concat(t)}function ef(e,t){return"".concat(e,"-content-").concat(t)}function ep(e){return t=>"mouse"===t.pointerType?e(t):void 0}var ev=D,em=K,eg=_,eh=V,ew=B,ex=q,eb=X,ey=J,eC=er},34857:(e,t,r)=>{r.r(t),r.d(t,{Root:()=>d,Toggle:()=>s});var n=r(1856),o=r(33328),a=r(66249),i=r(93367),l=r(90508),u="Toggle",s=n.forwardRef((e,t)=>{let{pressed:r,defaultPressed:n,onPressedChange:s,...d}=e,[c,f]=(0,a.i)({prop:r,onChange:s,defaultProp:null!=n&&n,caller:u});return(0,l.jsx)(i.sG.button,{type:"button","aria-pressed":c,"data-state":c?"on":"off","data-disabled":e.disabled?"":void 0,...d,ref:t,onClick:(0,o.mK)(e.onClick,()=>{e.disabled||f(!c)})})});s.displayName=u;var d=s},52053:(e,t,r)=>{r.r(t),r.d(t,{Accordion:()=>C,AccordionContent:()=>H,AccordionHeader:()=>L,AccordionItem:()=>K,AccordionTrigger:()=>G,Content:()=>W,Header:()=>U,Item:()=>B,Root:()=>z,Trigger:()=>q,createAccordionScope:()=>b});var n=r(1856),o=r(21032),a=r(81369),i=r(34124),l=r(33328),u=r(66249),s=r(93367),d=r(38476),c=r(40577),f=r(72599),p=r(90508),v="Accordion",m=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[g,h,w]=(0,a.N)(v),[x,b]=(0,o.A)(v,[w,d.createCollapsibleScope]),y=(0,d.createCollapsibleScope)(),C=n.forwardRef((e,t)=>{let{type:r,...n}=e;return(0,p.jsx)(g.Provider,{scope:e.__scopeAccordion,children:"multiple"===r?(0,p.jsx)(M,{...n,ref:t}):(0,p.jsx)(S,{...n,ref:t})})});C.displayName=v;var[R,T]=x(v),[E,j]=x(v,{collapsible:!1}),S=n.forwardRef((e,t)=>{let{value:r,defaultValue:o,onValueChange:a=()=>{},collapsible:i=!1,...l}=e,[s,d]=(0,u.i)({prop:r,defaultProp:null!=o?o:"",onChange:a,caller:v});return(0,p.jsx)(R,{scope:e.__scopeAccordion,value:n.useMemo(()=>s?[s]:[],[s]),onItemOpen:d,onItemClose:n.useCallback(()=>i&&d(""),[i,d]),children:(0,p.jsx)(E,{scope:e.__scopeAccordion,collapsible:i,children:(0,p.jsx)(I,{...l,ref:t})})})}),M=n.forwardRef((e,t)=>{let{value:r,defaultValue:o,onValueChange:a=()=>{},...i}=e,[l,s]=(0,u.i)({prop:r,defaultProp:null!=o?o:[],onChange:a,caller:v}),d=n.useCallback(e=>s(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...t,e]}),[s]),c=n.useCallback(e=>s(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t.filter(t=>t!==e)}),[s]);return(0,p.jsx)(R,{scope:e.__scopeAccordion,value:l,onItemOpen:d,onItemClose:c,children:(0,p.jsx)(E,{scope:e.__scopeAccordion,collapsible:!0,children:(0,p.jsx)(I,{...i,ref:t})})})}),[P,k]=x(v),I=n.forwardRef((e,t)=>{let{__scopeAccordion:r,disabled:o,dir:a,orientation:u="vertical",...d}=e,c=n.useRef(null),v=(0,i.s)(c,t),w=h(r),x="ltr"===(0,f.jH)(a),b=(0,l.mK)(e.onKeyDown,e=>{var t;if(!m.includes(e.key))return;let r=e.target,n=w().filter(e=>{var t;return!(null==(t=e.ref.current)?void 0:t.disabled)}),o=n.findIndex(e=>e.ref.current===r),a=n.length;if(-1===o)return;e.preventDefault();let i=o,l=a-1,s=()=>{(i=o+1)>l&&(i=0)},d=()=>{(i=o-1)<0&&(i=l)};switch(e.key){case"Home":i=0;break;case"End":i=l;break;case"ArrowRight":"horizontal"===u&&(x?s():d());break;case"ArrowDown":"vertical"===u&&s();break;case"ArrowLeft":"horizontal"===u&&(x?d():s());break;case"ArrowUp":"vertical"===u&&d()}null==(t=n[i%a].ref.current)||t.focus()});return(0,p.jsx)(P,{scope:r,disabled:o,direction:a,orientation:u,children:(0,p.jsx)(g.Slot,{scope:r,children:(0,p.jsx)(s.sG.div,{...d,"data-orientation":u,ref:v,onKeyDown:o?void 0:b})})})}),N="AccordionItem",[D,A]=x(N),K=n.forwardRef((e,t)=>{let{__scopeAccordion:r,value:n,...o}=e,a=k(N,r),i=T(N,r),l=y(r),u=(0,c.B)(),s=n&&i.value.includes(n)||!1,f=a.disabled||e.disabled;return(0,p.jsx)(D,{scope:r,open:s,disabled:f,triggerId:u,children:(0,p.jsx)(d.Root,{"data-orientation":a.orientation,"data-state":V(s),...l,...o,ref:t,disabled:f,open:s,onOpenChange:e=>{e?i.onItemOpen(n):i.onItemClose(n)}})})});K.displayName=N;var F="AccordionHeader",L=n.forwardRef((e,t)=>{let{__scopeAccordion:r,...n}=e,o=k(v,r),a=A(F,r);return(0,p.jsx)(s.sG.h3,{"data-orientation":o.orientation,"data-state":V(a.open),"data-disabled":a.disabled?"":void 0,...n,ref:t})});L.displayName=F;var _="AccordionTrigger",G=n.forwardRef((e,t)=>{let{__scopeAccordion:r,...n}=e,o=k(v,r),a=A(_,r),i=j(_,r),l=y(r);return(0,p.jsx)(g.ItemSlot,{scope:r,children:(0,p.jsx)(d.Trigger,{"aria-disabled":a.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:a.triggerId,...l,...n,ref:t})})});G.displayName=_;var O="AccordionContent",H=n.forwardRef((e,t)=>{let{__scopeAccordion:r,...n}=e,o=k(v,r),a=A(O,r),i=y(r);return(0,p.jsx)(d.Content,{role:"region","aria-labelledby":a.triggerId,"data-orientation":o.orientation,...i,...n,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function V(e){return e?"open":"closed"}H.displayName=O;var z=C,B=K,U=L,q=G,W=H},56260:(e,t,r)=>{r.r(t),r.d(t,{Range:()=>B,Root:()=>V,Slider:()=>j,SliderRange:()=>K,SliderThumb:()=>L,SliderTrack:()=>D,Thumb:()=>U,Track:()=>z,createSliderScope:()=>R});var n=r(1856),o=r(91722),a=r(33328),i=r(34124),l=r(21032),u=r(66249),s=r(72599),d=r(72009),c=r(3705),f=r(93367),p=r(81369),v=r(90508),m=["PageUp","PageDown"],g=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],h={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},w="Slider",[x,b,y]=(0,p.N)(w),[C,R]=(0,l.A)(w,[y]),[T,E]=C(w),j=n.forwardRef((e,t)=>{let{name:r,min:i=0,max:l=100,step:s=1,orientation:d="horizontal",disabled:c=!1,minStepsBetweenThumbs:f=0,defaultValue:p=[i],value:h,onValueChange:w=()=>{},onValueCommit:b=()=>{},inverted:y=!1,form:C,...R}=e,E=n.useRef(new Set),j=n.useRef(0),S="horizontal"===d,[M=[],I]=(0,u.i)({prop:h,defaultProp:p,onChange:e=>{var t;null==(t=[...E.current][j.current])||t.focus(),w(e)}}),N=n.useRef(M);function D(e,t){let{commit:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{commit:!1},n=(String(s).split(".")[1]||"").length,a=function(e,t){let r=Math.pow(10,t);return Math.round(e*r)/r}(Math.round((e-i)/s)*s+i,n),u=(0,o.q)(a,[i,l]);I(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=[...e];return n[r]=t,n.sort((e,t)=>e-t)}(e,u,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,r)=>e[r+1]-t))>=t;return!0}(n,f*s))return e;{j.current=n.indexOf(u);let t=String(n)!==String(e);return t&&r&&b(n),t?n:e}})}return(0,v.jsx)(T,{scope:e.__scopeSlider,name:r,disabled:c,min:i,max:l,valueIndexToChangeRef:j,thumbs:E.current,values:M,orientation:d,form:C,children:(0,v.jsx)(x.Provider,{scope:e.__scopeSlider,children:(0,v.jsx)(x.Slot,{scope:e.__scopeSlider,children:(0,v.jsx)(S?P:k,{"aria-disabled":c,"data-disabled":c?"":void 0,...R,ref:t,onPointerDown:(0,a.mK)(R.onPointerDown,()=>{c||(N.current=M)}),min:i,max:l,inverted:y,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let r=e.map(e=>Math.abs(e-t)),n=Math.min(...r);return r.indexOf(n)}(M,e);D(e,t)},onSlideMove:c?void 0:function(e){D(e,j.current)},onSlideEnd:c?void 0:function(){let e=N.current[j.current];M[j.current]!==e&&b(M)},onHomeKeyDown:()=>!c&&D(i,0,{commit:!0}),onEndKeyDown:()=>!c&&D(l,M.length-1,{commit:!0}),onStepKeyDown:e=>{let{event:t,direction:r}=e;if(!c){let e=m.includes(t.key)||t.shiftKey&&g.includes(t.key),n=j.current;D(M[n]+s*(e?10:1)*r,n,{commit:!0})}}})})})})});j.displayName=w;var[S,M]=C(w,{startEdge:"left",endEdge:"right",size:"width",direction:1}),P=n.forwardRef((e,t)=>{let{min:r,max:o,dir:a,inverted:l,onSlideStart:u,onSlideMove:d,onSlideEnd:c,onStepKeyDown:f,...p}=e,[m,g]=n.useState(null),w=(0,i.s)(t,e=>g(e)),x=n.useRef(void 0),b=(0,s.jH)(a),y="ltr"===b,C=y&&!l||!y&&l;function R(e){let t=x.current||m.getBoundingClientRect(),n=H([0,t.width],C?[r,o]:[o,r]);return x.current=t,n(e-t.left)}return(0,v.jsx)(S,{scope:e.__scopeSlider,startEdge:C?"left":"right",endEdge:C?"right":"left",direction:C?1:-1,size:"width",children:(0,v.jsx)(I,{dir:b,"data-orientation":"horizontal",...p,ref:w,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=R(e.clientX);null==u||u(t)},onSlideMove:e=>{let t=R(e.clientX);null==d||d(t)},onSlideEnd:()=>{x.current=void 0,null==c||c()},onStepKeyDown:e=>{let t=h[C?"from-left":"from-right"].includes(e.key);null==f||f({event:e,direction:t?-1:1})}})})}),k=n.forwardRef((e,t)=>{let{min:r,max:o,inverted:a,onSlideStart:l,onSlideMove:u,onSlideEnd:s,onStepKeyDown:d,...c}=e,f=n.useRef(null),p=(0,i.s)(t,f),m=n.useRef(void 0),g=!a;function w(e){let t=m.current||f.current.getBoundingClientRect(),n=H([0,t.height],g?[o,r]:[r,o]);return m.current=t,n(e-t.top)}return(0,v.jsx)(S,{scope:e.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:(0,v.jsx)(I,{"data-orientation":"vertical",...c,ref:p,style:{...c.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=w(e.clientY);null==l||l(t)},onSlideMove:e=>{let t=w(e.clientY);null==u||u(t)},onSlideEnd:()=>{m.current=void 0,null==s||s()},onStepKeyDown:e=>{let t=h[g?"from-bottom":"from-top"].includes(e.key);null==d||d({event:e,direction:t?-1:1})}})})}),I=n.forwardRef((e,t)=>{let{__scopeSlider:r,onSlideStart:n,onSlideMove:o,onSlideEnd:i,onHomeKeyDown:l,onEndKeyDown:u,onStepKeyDown:s,...d}=e,c=E(w,r);return(0,v.jsx)(f.sG.span,{...d,ref:t,onKeyDown:(0,a.mK)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(u(e),e.preventDefault()):m.concat(g).includes(e.key)&&(s(e),e.preventDefault())}),onPointerDown:(0,a.mK)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),c.thumbs.has(t)?t.focus():n(e)}),onPointerMove:(0,a.mK)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&o(e)}),onPointerUp:(0,a.mK)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),i(e))})})}),N="SliderTrack",D=n.forwardRef((e,t)=>{let{__scopeSlider:r,...n}=e,o=E(N,r);return(0,v.jsx)(f.sG.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...n,ref:t})});D.displayName=N;var A="SliderRange",K=n.forwardRef((e,t)=>{let{__scopeSlider:r,...o}=e,a=E(A,r),l=M(A,r),u=n.useRef(null),s=(0,i.s)(t,u),d=a.values.length,c=a.values.map(e=>O(e,a.min,a.max)),p=d>1?Math.min(...c):0,m=100-Math.max(...c);return(0,v.jsx)(f.sG.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...o,ref:s,style:{...e.style,[l.startEdge]:p+"%",[l.endEdge]:m+"%"}})});K.displayName=A;var F="SliderThumb",L=n.forwardRef((e,t)=>{let r=b(e.__scopeSlider),[o,a]=n.useState(null),l=(0,i.s)(t,e=>a(e)),u=n.useMemo(()=>o?r().findIndex(e=>e.ref.current===o):-1,[r,o]);return(0,v.jsx)(_,{...e,ref:l,index:u})}),_=n.forwardRef((e,t)=>{let{__scopeSlider:r,index:o,name:l,...u}=e,s=E(F,r),d=M(F,r),[p,m]=n.useState(null),g=(0,i.s)(t,e=>m(e)),h=!p||s.form||!!p.closest("form"),w=(0,c.X)(p),b=s.values[o],y=void 0===b?0:O(b,s.min,s.max),C=function(e,t){return t>2?"Value ".concat(e+1," of ").concat(t):2===t?["Minimum","Maximum"][e]:void 0}(o,s.values.length),R=null==w?void 0:w[d.size],T=R?function(e,t,r){let n=e/2,o=H([0,50],[0,n]);return(n-o(t)*r)*r}(R,y,d.direction):0;return n.useEffect(()=>{if(p)return s.thumbs.add(p),()=>{s.thumbs.delete(p)}},[p,s.thumbs]),(0,v.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[d.startEdge]:"calc(".concat(y,"% + ").concat(T,"px)")},children:[(0,v.jsx)(x.ItemSlot,{scope:e.__scopeSlider,children:(0,v.jsx)(f.sG.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":s.min,"aria-valuenow":b,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...u,ref:g,style:void 0===b?{display:"none"}:e.style,onFocus:(0,a.mK)(e.onFocus,()=>{s.valueIndexToChangeRef.current=o})})}),h&&(0,v.jsx)(G,{name:null!=l?l:s.name?s.name+(s.values.length>1?"[]":""):void 0,form:s.form,value:b},o)]})});L.displayName=F;var G=n.forwardRef((e,t)=>{let{__scopeSlider:r,value:o,...a}=e,l=n.useRef(null),u=(0,i.s)(l,t),s=(0,d.Z)(o);return n.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(s!==o&&t){let r=new Event("input",{bubbles:!0});t.call(e,o),e.dispatchEvent(r)}},[s,o]),(0,v.jsx)(f.sG.input,{style:{display:"none"},...a,ref:u,defaultValue:o})});function O(e,t,r){return(0,o.q)(100/(r-t)*(e-t),[0,100])}function H(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}G.displayName="RadioBubbleInput";var V=j,z=D,B=K,U=L},74542:(e,t,r)=>{r.r(t),r.d(t,{Arrow:()=>Y,CheckboxItem:()=>B,Content:()=>O,ContextMenu:()=>h,ContextMenuArrow:()=>I,ContextMenuCheckboxItem:()=>j,ContextMenuContent:()=>C,ContextMenuGroup:()=>R,ContextMenuItem:()=>E,ContextMenuItemIndicator:()=>P,ContextMenuLabel:()=>T,ContextMenuPortal:()=>b,ContextMenuRadioGroup:()=>S,ContextMenuRadioItem:()=>M,ContextMenuSeparator:()=>k,ContextMenuSub:()=>D,ContextMenuSubContent:()=>K,ContextMenuSubTrigger:()=>A,ContextMenuTrigger:()=>x,Group:()=>H,Item:()=>z,ItemIndicator:()=>W,Label:()=>V,Portal:()=>G,RadioGroup:()=>U,RadioItem:()=>q,Root:()=>L,Separator:()=>X,Sub:()=>Z,SubContent:()=>Q,SubTrigger:()=>J,Trigger:()=>_,createContextMenuScope:()=>p});var n=r(1856),o=r(33328),a=r(21032),i=r(93367),l=r(67764),u=r(32313),s=r(66249),d=r(90508),c="ContextMenu",[f,p]=(0,a.A)(c,[l.UE]),v=(0,l.UE)(),[m,g]=f(c),h=e=>{let{__scopeContextMenu:t,children:r,onOpenChange:o,dir:a,modal:i=!0}=e,[s,c]=n.useState(!1),f=v(t),p=(0,u.c)(o),g=n.useCallback(e=>{c(e),p(e)},[p]);return(0,d.jsx)(m,{scope:t,open:s,onOpenChange:g,modal:i,children:(0,d.jsx)(l.bL,{...f,dir:a,open:s,onOpenChange:g,modal:i,children:r})})};h.displayName=c;var w="ContextMenuTrigger",x=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,disabled:a=!1,...u}=e,s=g(w,r),c=v(r),f=n.useRef({x:0,y:0}),p=n.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...f.current})}),m=n.useRef(0),h=n.useCallback(()=>window.clearTimeout(m.current),[]),x=e=>{f.current={x:e.clientX,y:e.clientY},s.onOpenChange(!0)};return n.useEffect(()=>h,[h]),n.useEffect(()=>void(a&&h()),[a,h]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.Mz,{...c,virtualRef:p}),(0,d.jsx)(i.sG.span,{"data-state":s.open?"open":"closed","data-disabled":a?"":void 0,...u,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:a?e.onContextMenu:(0,o.mK)(e.onContextMenu,e=>{h(),x(e),e.preventDefault()}),onPointerDown:a?e.onPointerDown:(0,o.mK)(e.onPointerDown,F(e=>{h(),m.current=window.setTimeout(()=>x(e),700)})),onPointerMove:a?e.onPointerMove:(0,o.mK)(e.onPointerMove,F(h)),onPointerCancel:a?e.onPointerCancel:(0,o.mK)(e.onPointerCancel,F(h)),onPointerUp:a?e.onPointerUp:(0,o.mK)(e.onPointerUp,F(h))})]})});x.displayName=w;var b=e=>{let{__scopeContextMenu:t,...r}=e,n=v(t);return(0,d.jsx)(l.ZL,{...n,...r})};b.displayName="ContextMenuPortal";var y="ContextMenuContent",C=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...o}=e,a=g(y,r),i=v(r),u=n.useRef(!1);return(0,d.jsx)(l.UC,{...i,...o,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:t=>{var r;null==(r=e.onCloseAutoFocus)||r.call(e,t),!t.defaultPrevented&&u.current&&t.preventDefault(),u.current=!1},onInteractOutside:t=>{var r;null==(r=e.onInteractOutside)||r.call(e,t),t.defaultPrevented||a.modal||(u.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});C.displayName=y;var R=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.YJ,{...o,...n,ref:t})});R.displayName="ContextMenuGroup";var T=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.JU,{...o,...n,ref:t})});T.displayName="ContextMenuLabel";var E=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.q7,{...o,...n,ref:t})});E.displayName="ContextMenuItem";var j=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.H_,{...o,...n,ref:t})});j.displayName="ContextMenuCheckboxItem";var S=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.z6,{...o,...n,ref:t})});S.displayName="ContextMenuRadioGroup";var M=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.hN,{...o,...n,ref:t})});M.displayName="ContextMenuRadioItem";var P=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.VF,{...o,...n,ref:t})});P.displayName="ContextMenuItemIndicator";var k=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.wv,{...o,...n,ref:t})});k.displayName="ContextMenuSeparator";var I=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.i3,{...o,...n,ref:t})});I.displayName="ContextMenuArrow";var N="ContextMenuSub",D=e=>{let{__scopeContextMenu:t,children:r,onOpenChange:n,open:o,defaultOpen:a}=e,i=v(t),[u,c]=(0,s.i)({prop:o,defaultProp:null!=a&&a,onChange:n,caller:N});return(0,d.jsx)(l.Pb,{...i,open:u,onOpenChange:c,children:r})};D.displayName=N;var A=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.ZP,{...o,...n,ref:t})});A.displayName="ContextMenuSubTrigger";var K=n.forwardRef((e,t)=>{let{__scopeContextMenu:r,...n}=e,o=v(r);return(0,d.jsx)(l.G5,{...o,...n,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});function F(e){return t=>"mouse"!==t.pointerType?e(t):void 0}K.displayName="ContextMenuSubContent";var L=h,_=x,G=b,O=C,H=R,V=T,z=E,B=j,U=S,q=M,W=P,X=k,Y=I,Z=D,J=A,Q=K},75368:(e,t,r)=>{r.r(t),r.d(t,{Control:()=>W,Field:()=>U,Form:()=>w,FormControl:()=>j,FormField:()=>C,FormLabel:()=>T,FormMessage:()=>k,FormSubmit:()=>F,FormValidityState:()=>K,Label:()=>q,Message:()=>X,Root:()=>B,Submit:()=>Z,ValidityState:()=>Y,createFormScope:()=>f});var n=r(1856),o=r(33328),a=r(34124),i=r(21032),l=r(40577),u=r(58057),s=r(93367),d=r(90508),[c,f]=(0,i.A)("Form"),p="Form",[v,m]=c(p),[g,h]=c(p),w=n.forwardRef((e,t)=>{let{__scopeForm:r,onClearServerErrors:i=()=>{},...l}=e,u=n.useRef(null),c=(0,a.s)(t,u),[f,p]=n.useState({}),m=n.useCallback(e=>f[e],[f]),h=n.useCallback((e,t)=>p(r=>{var n;return{...r,[e]:{...null!=(n=r[e])?n:{},...t}}}),[]),w=n.useCallback(e=>{p(t=>({...t,[e]:void 0})),E(t=>({...t,[e]:{}}))},[]),[x,b]=n.useState({}),y=n.useCallback(e=>{var t;return null!=(t=x[e])?t:[]},[x]),C=n.useCallback((e,t)=>{b(r=>{var n;return{...r,[e]:[...null!=(n=r[e])?n:[],t]}})},[]),R=n.useCallback((e,t)=>{b(r=>{var n;return{...r,[e]:(null!=(n=r[e])?n:[]).filter(e=>e.id!==t)}})},[]),[T,E]=n.useState({}),j=n.useCallback(e=>{var t;return null!=(t=T[e])?t:{}},[T]),S=n.useCallback((e,t)=>{E(r=>{var n;return{...r,[e]:{...null!=(n=r[e])?n:{},...t}}})},[]),[M,P]=n.useState({}),k=n.useCallback((e,t)=>{P(r=>{let n=new Set(r[e]).add(t);return{...r,[e]:n}})},[]),I=n.useCallback((e,t)=>{P(r=>{let n=new Set(r[e]);return n.delete(t),{...r,[e]:n}})},[]),N=n.useCallback(e=>{var t;return Array.from(null!=(t=M[e])?t:[]).join(" ")||void 0},[M]);return(0,d.jsx)(v,{scope:r,getFieldValidity:m,onFieldValidityChange:h,getFieldCustomMatcherEntries:y,onFieldCustomMatcherEntryAdd:C,onFieldCustomMatcherEntryRemove:R,getFieldCustomErrors:j,onFieldCustomErrorsChange:S,onFieldValiditionClear:w,children:(0,d.jsx)(g,{scope:r,onFieldMessageIdAdd:k,onFieldMessageIdRemove:I,getFieldDescription:N,children:(0,d.jsx)(s.sG.form,{...l,ref:c,onInvalid:(0,o.mK)(e.onInvalid,e=>{let t=O(e.currentTarget);t===e.target&&t.focus(),e.preventDefault()}),onSubmit:(0,o.mK)(e.onSubmit,i,{checkForDefaultPrevented:!1}),onReset:(0,o.mK)(e.onReset,i)})})})});w.displayName=p;var x="FormField",[b,y]=c(x),C=n.forwardRef((e,t)=>{let{__scopeForm:r,name:n,serverInvalid:o=!1,...a}=e,i=m(x,r).getFieldValidity(n),u=(0,l.B)();return(0,d.jsx)(b,{scope:r,id:u,name:n,serverInvalid:o,children:(0,d.jsx)(s.sG.div,{"data-valid":V(i,o),"data-invalid":z(i,o),...a,ref:t})})});C.displayName=x;var R="FormLabel",T=n.forwardRef((e,t)=>{let{__scopeForm:r,...n}=e,o=m(R,r),a=y(R,r),i=n.htmlFor||a.id,l=o.getFieldValidity(a.name);return(0,d.jsx)(u.Label,{"data-valid":V(l,a.serverInvalid),"data-invalid":z(l,a.serverInvalid),...n,ref:t,htmlFor:i})});T.displayName=R;var E="FormControl",j=n.forwardRef((e,t)=>{let{__scopeForm:r,...i}=e,l=m(E,r),u=y(E,r),c=h(E,r),f=n.useRef(null),p=(0,a.s)(t,f),v=i.name||u.name,g=i.id||u.id,w=l.getFieldCustomMatcherEntries(v),{onFieldValidityChange:x,onFieldCustomErrorsChange:b,onFieldValiditionClear:C}=l,R=n.useCallback(async e=>{if(H(e.validity))return void x(v,L(e.validity));let t=e.form?new FormData(e.form):new FormData,r=[e.value,t],n=[],o=[];w.forEach(e=>{!function(e,t){var r;return"AsyncFunction"===e.match.constructor.name||(r=e.match,r(...t)instanceof Promise)}(e,r)?"Function"===e.match.constructor.name&&n.push(e):o.push(e)});let a=Object.fromEntries(n.map(e=>{let{id:t,match:n}=e;return[t,n(...r)]})),i=Object.values(a).some(Boolean);if(e.setCustomValidity(i?S:""),x(v,L(e.validity)),b(v,a),!i&&o.length>0){let t=o.map(e=>{let{id:t,match:n}=e;return n(...r).then(e=>[t,e])}),n=Object.fromEntries(await Promise.all(t)),a=Object.values(n).some(Boolean);e.setCustomValidity(a?S:""),x(v,L(e.validity)),b(v,n)}},[w,v,b,x]);n.useEffect(()=>{let e=f.current;if(e){let t=()=>R(e);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}},[R]);let T=n.useCallback(()=>{let e=f.current;e&&(e.setCustomValidity(""),C(v))},[v,C]);n.useEffect(()=>{var e;let t=null==(e=f.current)?void 0:e.form;if(t)return t.addEventListener("reset",T),()=>t.removeEventListener("reset",T)},[T]),n.useEffect(()=>{let e=f.current,t=null==e?void 0:e.closest("form");if(t&&u.serverInvalid){let r=O(t);r===e&&r.focus()}},[u.serverInvalid]);let j=l.getFieldValidity(v);return(0,d.jsx)(s.sG.input,{"data-valid":V(j,u.serverInvalid),"data-invalid":z(j,u.serverInvalid),"aria-invalid":!!u.serverInvalid||void 0,"aria-describedby":c.getFieldDescription(v),title:"",...i,ref:p,id:g,name:v,onInvalid:(0,o.mK)(e.onInvalid,e=>{R(e.currentTarget)}),onChange:(0,o.mK)(e.onChange,e=>{T()})})});j.displayName=E;var S="This value is not valid",M={badInput:S,patternMismatch:"This value does not match the required pattern",rangeOverflow:"This value is too large",rangeUnderflow:"This value is too small",stepMismatch:"This value does not match the required step",tooLong:"This value is too long",tooShort:"This value is too short",typeMismatch:"This value does not match the required type",valid:void 0,valueMissing:"This value is missing"},P="FormMessage",k=n.forwardRef((e,t)=>{let{match:r,name:n,...o}=e,a=y(P,e.__scopeForm),i=null!=n?n:a.name;return void 0===r?(0,d.jsx)(D,{...o,ref:t,name:i,children:e.children||S}):"function"==typeof r?(0,d.jsx)(N,{match:r,...o,ref:t,name:i}):(0,d.jsx)(I,{match:r,...o,ref:t,name:i})});k.displayName=P;var I=n.forwardRef((e,t)=>{let{match:r,forceMatch:n=!1,name:o,children:a,...i}=e,l=m(P,i.__scopeForm).getFieldValidity(o);return n||(null==l?void 0:l[r])?(0,d.jsx)(D,{ref:t,...i,name:o,children:null!=a?a:M[r]}):null}),N=n.forwardRef((e,t)=>{let{match:r,forceMatch:o=!1,name:i,id:u,children:s,...c}=e,f=m(P,c.__scopeForm),p=n.useRef(null),v=(0,a.s)(t,p),g=(0,l.B)(),h=null!=u?u:g,w=n.useMemo(()=>({id:h,match:r}),[h,r]),{onFieldCustomMatcherEntryAdd:x,onFieldCustomMatcherEntryRemove:b}=f;n.useEffect(()=>(x(i,w),()=>b(i,w.id)),[w,i,x,b]);let y=f.getFieldValidity(i),C=f.getFieldCustomErrors(i)[h];return o||y&&!H(y)&&C?(0,d.jsx)(D,{id:h,ref:v,...c,name:i,children:null!=s?s:S}):null}),D=n.forwardRef((e,t)=>{let{__scopeForm:r,id:o,name:a,...i}=e,u=h(P,r),c=(0,l.B)(),f=null!=o?o:c,{onFieldMessageIdAdd:p,onFieldMessageIdRemove:v}=u;return n.useEffect(()=>(p(a,f),()=>v(a,f)),[a,f,p,v]),(0,d.jsx)(s.sG.span,{id:f,...i,ref:t})}),A="FormValidityState",K=e=>{let{__scopeForm:t,name:r,children:n}=e,o=m(A,t),a=y(A,t),i=null!=r?r:a.name,l=o.getFieldValidity(i);return(0,d.jsx)(d.Fragment,{children:n(l)})};K.displayName=A;var F=n.forwardRef((e,t)=>{let{__scopeForm:r,...n}=e;return(0,d.jsx)(s.sG.button,{type:"submit",...n,ref:t})});function L(e){let t={};for(let r in e)t[r]=e[r];return t}function _(e){return e instanceof HTMLElement}function G(e){return"validity"in e&&(!1===e.validity.valid||"true"===e.getAttribute("aria-invalid"))}function O(e){let[t]=Array.from(e.elements).filter(_).filter(G);return t}function H(e){let t=!1;for(let r in e)if("valid"!==r&&"customError"!==r&&e[r]){t=!0;break}return t}function V(e,t){if((null==e?void 0:e.valid)===!0&&!t)return!0}function z(e,t){if((null==e?void 0:e.valid)===!1||t)return!0}F.displayName="FormSubmit";var B=w,U=C,q=T,W=j,X=k,Y=K,Z=F},79834:(e,t,r)=>{r.r(t),r.d(t,{Content:()=>I,List:()=>P,Root:()=>M,Tabs:()=>x,TabsContent:()=>E,TabsList:()=>y,TabsTrigger:()=>R,Trigger:()=>k,createTabsScope:()=>m});var n=r(1856),o=r(33328),a=r(21032),i=r(94782),l=r(19900),u=r(93367),s=r(72599),d=r(66249),c=r(40577),f=r(90508),p="Tabs",[v,m]=(0,a.A)(p,[i.RG]),g=(0,i.RG)(),[h,w]=v(p),x=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:v="automatic",...m}=e,g=(0,s.jH)(l),[w,x]=(0,d.i)({prop:n,onChange:o,defaultProp:null!=a?a:"",caller:p});return(0,f.jsx)(h,{scope:r,baseId:(0,c.B)(),value:w,onValueChange:x,orientation:i,dir:g,activationMode:v,children:(0,f.jsx)(u.sG.div,{dir:g,"data-orientation":i,...m,ref:t})})});x.displayName=p;var b="TabsList",y=n.forwardRef((e,t)=>{let{__scopeTabs:r,loop:n=!0,...o}=e,a=w(b,r),l=g(r);return(0,f.jsx)(i.bL,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:n,children:(0,f.jsx)(u.sG.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});y.displayName=b;var C="TabsTrigger",R=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,disabled:a=!1,...l}=e,s=w(C,r),d=g(r),c=j(s.baseId,n),p=S(s.baseId,n),v=n===s.value;return(0,f.jsx)(i.q7,{asChild:!0,...d,focusable:!a,active:v,children:(0,f.jsx)(u.sG.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:c,...l,ref:t,onMouseDown:(0,o.mK)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(n)}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(n)}),onFocus:(0,o.mK)(e.onFocus,()=>{let e="manual"!==s.activationMode;v||a||!e||s.onValueChange(n)})})})});R.displayName=C;var T="TabsContent",E=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:o,forceMount:a,children:i,...s}=e,d=w(T,r),c=j(d.baseId,o),p=S(d.baseId,o),v=o===d.value,m=n.useRef(v);return n.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(l.C,{present:a||v,children:r=>{let{present:n}=r;return(0,f.jsx)(u.sG.div,{"data-state":v?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":c,hidden:!n,id:p,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:m.current?"0s":void 0},children:n&&i})}})});function j(e,t){return"".concat(e,"-trigger-").concat(t)}function S(e,t){return"".concat(e,"-content-").concat(t)}E.displayName=T;var M=x,P=y,k=R,I=E},82540:(e,t,r)=>{r.d(t,{J:()=>u});var n,o=r(99457),a=r(1856),i=(n||(n=r.t(a,2)))[" useEffectEvent ".trim().toString()],l=(n||(n=r.t(a,2)))[" useInsertionEffect ".trim().toString()];function u(e){if("function"==typeof i)return i(e);let t=a.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof l?l(()=>{t.current=e}):(0,o.N)(()=>{t.current=e}),a.useMemo(()=>(...e)=>t.current?.(...e),[])}},88878:(e,t,r)=>{r.r(t),r.d(t,{Item:()=>S,Root:()=>j,ToggleGroup:()=>m,ToggleGroupItem:()=>T,createToggleGroupScope:()=>p});var n=r(1856),o=r(21032),a=r(93367),i=r(94782),l=r(34857),u=r(66249),s=r(72599),d=r(90508),c="ToggleGroup",[f,p]=(0,o.A)(c,[i.RG]),v=(0,i.RG)(),m=n.forwardRef((e,t)=>{let{type:r,...n}=e;if("single"===r)return(0,d.jsx)(w,{...n,ref:t});if("multiple"===r)return(0,d.jsx)(x,{...n,ref:t});throw Error("Missing prop `type` expected on `".concat(c,"`"))});m.displayName=c;var[g,h]=f(c),w=n.forwardRef((e,t)=>{let{value:r,defaultValue:o,onValueChange:a=()=>{},...i}=e,[l,s]=(0,u.i)({prop:r,defaultProp:null!=o?o:"",onChange:a,caller:c});return(0,d.jsx)(g,{scope:e.__scopeToggleGroup,type:"single",value:n.useMemo(()=>l?[l]:[],[l]),onItemActivate:s,onItemDeactivate:n.useCallback(()=>s(""),[s]),children:(0,d.jsx)(C,{...i,ref:t})})}),x=n.forwardRef((e,t)=>{let{value:r,defaultValue:o,onValueChange:a=()=>{},...i}=e,[l,s]=(0,u.i)({prop:r,defaultProp:null!=o?o:[],onChange:a,caller:c}),f=n.useCallback(e=>s(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...t,e]}),[s]),p=n.useCallback(e=>s(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t.filter(t=>t!==e)}),[s]);return(0,d.jsx)(g,{scope:e.__scopeToggleGroup,type:"multiple",value:l,onItemActivate:f,onItemDeactivate:p,children:(0,d.jsx)(C,{...i,ref:t})})});m.displayName=c;var[b,y]=f(c),C=n.forwardRef((e,t)=>{let{__scopeToggleGroup:r,disabled:n=!1,rovingFocus:o=!0,orientation:l,dir:u,loop:c=!0,...f}=e,p=v(r),m=(0,s.jH)(u),g={role:"group",dir:m,...f};return(0,d.jsx)(b,{scope:r,rovingFocus:o,disabled:n,children:o?(0,d.jsx)(i.bL,{asChild:!0,...p,orientation:l,dir:m,loop:c,children:(0,d.jsx)(a.sG.div,{...g,ref:t})}):(0,d.jsx)(a.sG.div,{...g,ref:t})})}),R="ToggleGroupItem",T=n.forwardRef((e,t)=>{let r=h(R,e.__scopeToggleGroup),o=y(R,e.__scopeToggleGroup),a=v(e.__scopeToggleGroup),l=r.value.includes(e.value),u=o.disabled||e.disabled,s={...e,pressed:l,disabled:u},c=n.useRef(null);return o.rovingFocus?(0,d.jsx)(i.q7,{asChild:!0,...a,focusable:!u,active:l,ref:c,children:(0,d.jsx)(E,{...s,ref:t})}):(0,d.jsx)(E,{...s,ref:t})});T.displayName=R;var E=n.forwardRef((e,t)=>{let{__scopeToggleGroup:r,value:n,...o}=e,a=h(R,r),i={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},u="single"===a.type?i:void 0;return(0,d.jsx)(l.Toggle,{...u,...o,ref:t,onPressedChange:e=>{e?a.onItemActivate(n):a.onItemDeactivate(n)}})}),j=m,S=T},89684:(e,t,r)=>{r.r(t),r.d(t,{Arrow:()=>L,Content:()=>F,HoverCard:()=>y,HoverCardArrow:()=>I,HoverCardContent:()=>P,HoverCardPortal:()=>S,HoverCardTrigger:()=>R,Portal:()=>K,Root:()=>D,Trigger:()=>A,createHoverCardScope:()=>h});var n,o=r(1856),a=r(33328),i=r(21032),l=r(66249),u=r(34124),s=r(67221),d=r(17533),c=r(19900),f=r(93367),p=r(63569),v=r(90508),m="HoverCard",[g,h]=(0,i.A)(m,[s.Bk]),w=(0,s.Bk)(),[x,b]=g(m),y=e=>{let{__scopeHoverCard:t,children:r,open:n,defaultOpen:a,onOpenChange:i,openDelay:u=700,closeDelay:d=300}=e,c=w(t),f=o.useRef(0),p=o.useRef(0),g=o.useRef(!1),h=o.useRef(!1),[b,y]=(0,l.i)({prop:n,defaultProp:null!=a&&a,onChange:i,caller:m}),C=o.useCallback(()=>{clearTimeout(p.current),f.current=window.setTimeout(()=>y(!0),u)},[u,y]),R=o.useCallback(()=>{clearTimeout(f.current),g.current||h.current||(p.current=window.setTimeout(()=>y(!1),d))},[d,y]),T=o.useCallback(()=>y(!1),[y]);return o.useEffect(()=>()=>{clearTimeout(f.current),clearTimeout(p.current)},[]),(0,v.jsx)(x,{scope:t,open:b,onOpenChange:y,onOpen:C,onClose:R,onDismiss:T,hasSelectionRef:g,isPointerDownOnContentRef:h,children:(0,v.jsx)(s.bL,{...c,children:r})})};y.displayName=m;var C="HoverCardTrigger",R=o.forwardRef((e,t)=>{let{__scopeHoverCard:r,...n}=e,o=b(C,r),i=w(r);return(0,v.jsx)(s.Mz,{asChild:!0,...i,children:(0,v.jsx)(f.sG.a,{"data-state":o.open?"open":"closed",...n,ref:t,onPointerEnter:(0,a.mK)(e.onPointerEnter,N(o.onOpen)),onPointerLeave:(0,a.mK)(e.onPointerLeave,N(o.onClose)),onFocus:(0,a.mK)(e.onFocus,o.onOpen),onBlur:(0,a.mK)(e.onBlur,o.onClose),onTouchStart:(0,a.mK)(e.onTouchStart,e=>e.preventDefault())})})});R.displayName=C;var T="HoverCardPortal",[E,j]=g(T,{forceMount:void 0}),S=e=>{let{__scopeHoverCard:t,forceMount:r,children:n,container:o}=e,a=b(T,t);return(0,v.jsx)(E,{scope:t,forceMount:r,children:(0,v.jsx)(c.C,{present:r||a.open,children:(0,v.jsx)(d.Portal,{asChild:!0,container:o,children:n})})})};S.displayName=T;var M="HoverCardContent",P=o.forwardRef((e,t)=>{let r=j(M,e.__scopeHoverCard),{forceMount:n=r.forceMount,...o}=e,i=b(M,e.__scopeHoverCard);return(0,v.jsx)(c.C,{present:n||i.open,children:(0,v.jsx)(k,{"data-state":i.open?"open":"closed",...o,onPointerEnter:(0,a.mK)(e.onPointerEnter,N(i.onOpen)),onPointerLeave:(0,a.mK)(e.onPointerLeave,N(i.onClose)),ref:t})})});P.displayName=M;var k=o.forwardRef((e,t)=>{let{__scopeHoverCard:r,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:d,onInteractOutside:c,...f}=e,m=b(M,r),g=w(r),h=o.useRef(null),x=(0,u.s)(t,h),[y,C]=o.useState(!1);return o.useEffect(()=>{if(y){let e=document.body;return n=e.style.userSelect||e.style.webkitUserSelect,e.style.userSelect="none",e.style.webkitUserSelect="none",()=>{e.style.userSelect=n,e.style.webkitUserSelect=n}}},[y]),o.useEffect(()=>{if(h.current){let e=()=>{C(!1),m.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var e;(null==(e=document.getSelection())?void 0:e.toString())!==""&&(m.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",e),()=>{document.removeEventListener("pointerup",e),m.hasSelectionRef.current=!1,m.isPointerDownOnContentRef.current=!1}}},[m.isPointerDownOnContentRef,m.hasSelectionRef]),o.useEffect(()=>{h.current&&(function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;r.nextNode();)t.push(r.currentNode);return t})(h.current).forEach(e=>e.setAttribute("tabindex","-1"))}),(0,v.jsx)(p.qW,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:c,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:(0,a.mK)(d,e=>{e.preventDefault()}),onDismiss:m.onDismiss,children:(0,v.jsx)(s.UC,{...g,...f,onPointerDown:(0,a.mK)(f.onPointerDown,e=>{e.currentTarget.contains(e.target)&&C(!0),m.hasSelectionRef.current=!1,m.isPointerDownOnContentRef.current=!0}),ref:x,style:{...f.style,userSelect:y?"text":void 0,WebkitUserSelect:y?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),I=o.forwardRef((e,t)=>{let{__scopeHoverCard:r,...n}=e,o=w(r);return(0,v.jsx)(s.i3,{...o,...n,ref:t})});function N(e){return t=>"touch"===t.pointerType?void 0:e()}I.displayName="HoverCardArrow";var D=y,A=R,K=S,F=P,L=I},97006:(e,t,r)=>{r.r(t),r.d(t,{Button:()=>P,Link:()=>k,Root:()=>S,Separator:()=>M,ToggleGroup:()=>I,ToggleItem:()=>N,Toolbar:()=>x,ToolbarButton:()=>C,ToolbarLink:()=>R,ToolbarSeparator:()=>y,ToolbarToggleGroup:()=>E,ToolbarToggleItem:()=>j,createToolbarScope:()=>v});var n=r(1856),o=r(33328),a=r(21032),i=r(94782),l=r(93367),u=r(5725),s=r(88878),d=r(72599),c=r(90508),f="Toolbar",[p,v]=(0,a.A)(f,[i.RG,s.createToggleGroupScope]),m=(0,i.RG)(),g=(0,s.createToggleGroupScope)(),[h,w]=p(f),x=n.forwardRef((e,t)=>{let{__scopeToolbar:r,orientation:n="horizontal",dir:o,loop:a=!0,...u}=e,s=m(r),f=(0,d.jH)(o);return(0,c.jsx)(h,{scope:r,orientation:n,dir:f,children:(0,c.jsx)(i.bL,{asChild:!0,...s,orientation:n,dir:f,loop:a,children:(0,c.jsx)(l.sG.div,{role:"toolbar","aria-orientation":n,dir:f,...u,ref:t})})})});x.displayName=f;var b="ToolbarSeparator",y=n.forwardRef((e,t)=>{let{__scopeToolbar:r,...n}=e,o=w(b,r);return(0,c.jsx)(u.b,{orientation:"horizontal"===o.orientation?"vertical":"horizontal",...n,ref:t})});y.displayName=b;var C=n.forwardRef((e,t)=>{let{__scopeToolbar:r,...n}=e,o=m(r);return(0,c.jsx)(i.q7,{asChild:!0,...o,focusable:!e.disabled,children:(0,c.jsx)(l.sG.button,{type:"button",...n,ref:t})})});C.displayName="ToolbarButton";var R=n.forwardRef((e,t)=>{let{__scopeToolbar:r,...n}=e,a=m(r);return(0,c.jsx)(i.q7,{asChild:!0,...a,focusable:!0,children:(0,c.jsx)(l.sG.a,{...n,ref:t,onKeyDown:(0,o.mK)(e.onKeyDown,e=>{" "===e.key&&e.currentTarget.click()})})})});R.displayName="ToolbarLink";var T="ToolbarToggleGroup",E=n.forwardRef((e,t)=>{let{__scopeToolbar:r,...n}=e,o=w(T,r),a=g(r);return(0,c.jsx)(s.Root,{"data-orientation":o.orientation,dir:o.dir,...a,...n,ref:t,rovingFocus:!1})});E.displayName=T;var j=n.forwardRef((e,t)=>{let{__scopeToolbar:r,...n}=e,o=g(r),a={__scopeToolbar:e.__scopeToolbar};return(0,c.jsx)(C,{asChild:!0,...a,children:(0,c.jsx)(s.Item,{...o,...n,ref:t})})});j.displayName="ToolbarToggleItem";var S=x,M=y,P=C,k=R,I=E,N=j},98861:(e,t,r)=>{r.r(t),r.d(t,{Checkbox:()=>y,CheckboxIndicator:()=>R,Indicator:()=>R,Root:()=>y,createCheckboxScope:()=>m,unstable_BubbleInput:()=>E,unstable_CheckboxBubbleInput:()=>E,unstable_CheckboxProvider:()=>w,unstable_CheckboxTrigger:()=>b,unstable_Provider:()=>w,unstable_Trigger:()=>b});var n=r(1856),o=r(34124),a=r(21032),i=r(33328),l=r(66249),u=r(72009),s=r(3705),d=r(19900),c=r(93367),f=r(90508),p="Checkbox",[v,m]=(0,a.A)(p),[g,h]=v(p);function w(e){let{__scopeCheckbox:t,checked:r,children:o,defaultChecked:a,disabled:i,form:u,name:s,onCheckedChange:d,required:c,value:v="on",internal_do_not_use_render:m}=e,[h,w]=(0,l.i)({prop:r,defaultProp:null!=a&&a,onChange:d,caller:p}),[x,b]=n.useState(null),[y,C]=n.useState(null),R=n.useRef(!1),T=!x||!!u||!!x.closest("form"),E={checked:h,disabled:i,setChecked:w,control:x,setControl:b,name:s,form:u,value:v,hasConsumerStoppedPropagationRef:R,required:c,defaultChecked:!j(a)&&a,isFormControl:T,bubbleInput:y,setBubbleInput:C};return(0,f.jsx)(g,{scope:t,...E,children:"function"==typeof m?m(E):o})}var x="CheckboxTrigger",b=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,onKeyDown:a,onClick:l,...u}=e,{control:s,value:d,disabled:p,checked:v,required:m,setControl:g,setChecked:w,hasConsumerStoppedPropagationRef:b,isFormControl:y,bubbleInput:C}=h(x,r),R=(0,o.s)(t,g),T=n.useRef(v);return n.useEffect(()=>{let e=null==s?void 0:s.form;if(e){let t=()=>w(T.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[s,w]),(0,f.jsx)(c.sG.button,{type:"button",role:"checkbox","aria-checked":j(v)?"mixed":v,"aria-required":m,"data-state":S(v),"data-disabled":p?"":void 0,disabled:p,value:d,...u,ref:R,onKeyDown:(0,i.mK)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.mK)(l,e=>{w(e=>!!j(e)||!e),C&&y&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())})})});b.displayName=x;var y=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:o,defaultChecked:a,required:i,disabled:l,value:u,onCheckedChange:s,form:d,...c}=e;return(0,f.jsx)(w,{__scopeCheckbox:r,checked:o,defaultChecked:a,disabled:l,required:i,onCheckedChange:s,name:n,form:d,value:u,internal_do_not_use_render:e=>{let{isFormControl:n}=e;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(b,{...c,ref:t,__scopeCheckbox:r}),n&&(0,f.jsx)(E,{__scopeCheckbox:r})]})}})});y.displayName=p;var C="CheckboxIndicator",R=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...o}=e,a=h(C,r);return(0,f.jsx)(d.C,{present:n||j(a.checked)||!0===a.checked,children:(0,f.jsx)(c.sG.span,{"data-state":S(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})});R.displayName=C;var T="CheckboxBubbleInput",E=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,...a}=e,{control:i,hasConsumerStoppedPropagationRef:l,checked:d,defaultChecked:p,required:v,disabled:m,name:g,value:w,form:x,bubbleInput:b,setBubbleInput:y}=h(T,r),C=(0,o.s)(t,y),R=(0,u.Z)(d),E=(0,s.X)(i);n.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(R!==d&&e){let r=new Event("click",{bubbles:t});b.indeterminate=j(d),e.call(b,!j(d)&&d),b.dispatchEvent(r)}},[b,R,d,l]);let S=n.useRef(!j(d)&&d);return(0,f.jsx)(c.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:S.current,required:v,disabled:m,name:g,value:w,form:x,...a,tabIndex:-1,ref:C,style:{...a.style,...E,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function j(e){return"indeterminate"===e}function S(e){return j(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=T},99545:(e,t,r)=>{r.r(t),r.d(t,{Indicator:()=>y,Progress:()=>f,ProgressIndicator:()=>v,Root:()=>b,createProgressScope:()=>s});var n=r(1856),o=r(21032),a=r(93367),i=r(90508),l="Progress",[u,s]=(0,o.A)(l),[d,c]=u(l),f=n.forwardRef((e,t)=>{var r,n,o,l;let{__scopeProgress:u,value:s=null,max:c,getValueLabel:f=m,...p}=e;(c||0===c)&&!w(c)&&console.error((r="".concat(c),n="Progress","Invalid prop `max` of value `".concat(r,"` supplied to `").concat(n,"`. Only numbers greater than 0 are valid max values. Defaulting to `").concat(100,"`.")));let v=w(c)?c:100;null===s||x(s,v)||console.error((o="".concat(s),l="Progress","Invalid prop `value` of value `".concat(o,"` supplied to `").concat(l,"`. The `value` prop must be:\n - a positive number\n - less than the value passed to `max` (or ").concat(100," if no `max` prop is set)\n - `null` or `undefined` if the progress is indeterminate.\n\nDefaulting to `null`.")));let b=x(s,v)?s:null,y=h(b)?f(b,v):void 0;return(0,i.jsx)(d,{scope:u,value:b,max:v,children:(0,i.jsx)(a.sG.div,{"aria-valuemax":v,"aria-valuemin":0,"aria-valuenow":h(b)?b:void 0,"aria-valuetext":y,role:"progressbar","data-state":g(b,v),"data-value":null!=b?b:void 0,"data-max":v,...p,ref:t})})});f.displayName=l;var p="ProgressIndicator",v=n.forwardRef((e,t)=>{var r;let{__scopeProgress:n,...o}=e,l=c(p,n);return(0,i.jsx)(a.sG.div,{"data-state":g(l.value,l.max),"data-value":null!=(r=l.value)?r:void 0,"data-max":l.max,...o,ref:t})});function m(e,t){return"".concat(Math.round(e/t*100),"%")}function g(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function h(e){return"number"==typeof e}function w(e){return h(e)&&!isNaN(e)&&e>0}function x(e,t){return h(e)&&!isNaN(e)&&e<=t&&e>=0}v.displayName=p;var b=f,y=v}}]);