@chorus-aidlc/chorus 0.9.4 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +294 -360
- package/.next/standalone/.next/app-path-routes-manifest.json +31 -32
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +27 -27
- package/.next/standalone/.next/routes-manifest.json +8 -17
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +3 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +3 -3
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/login/admin/page.js +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +3 -3
- package/.next/standalone/.next/server/app/login/callback/page.js +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
- package/.next/standalone/.next/server/app/login/page.js +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +3 -3
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +3 -3
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +31 -32
- package/.next/standalone/.next/server/chunks/1615.js +1 -1
- package/.next/standalone/.next/server/chunks/{3611.js → 179.js} +1 -1
- package/.next/standalone/.next/server/chunks/1871.js +1 -1
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/4879.js +1 -0
- package/.next/standalone/.next/server/chunks/4913.js +1 -0
- package/.next/standalone/.next/server/chunks/4958.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6643.js +1 -1
- package/.next/standalone/.next/server/chunks/7228.js +1 -1
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7859.js +1 -0
- package/.next/standalone/.next/server/chunks/8277.js +1 -0
- package/.next/standalone/.next/server/chunks/8551.js +1 -1
- package/.next/standalone/.next/server/chunks/8637.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9269.js +1 -0
- package/.next/standalone/.next/server/chunks/937.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/src/middleware.js +2 -2
- package/.next/standalone/.next/static/chunks/20051-c242544dafd3a690.js +1 -0
- package/.next/standalone/.next/static/chunks/23095-5bf481236249fdd8.js +1 -0
- package/.next/standalone/.next/static/chunks/45436-c5427023f3f386a1.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.e071c0b9e32bd75f.js +1 -0
- package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +1 -0
- package/.next/standalone/.next/static/chunks/{52206-6048525f57a21502.js → 52206-7c1b0c695c8035eb.js} +1 -1
- package/.next/standalone/.next/static/chunks/59296-50e66102d44d9677.js +1 -0
- package/.next/standalone/.next/static/chunks/60524-9811b38c62fed16e.js +1 -0
- package/.next/standalone/.next/static/chunks/68855-5c15991e7cf8dc8a.js +1 -0
- package/.next/standalone/.next/static/chunks/74030-3a6a6b75e47f5b96.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-ff0fda86a96cfa60.js +1 -0
- package/.next/standalone/.next/static/chunks/93346-5489d90bc2d57190.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.4c336ea9ad07311e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-5915ccd1a77ebcf8.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-94d102d945410b55.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-56c45b910f914895.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-d7747749ae6192d8.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-26488809d26e1daa.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-f6814f25bbacdbea.js → page-fcc9baa42e6de4d4.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-92e8980da0d98d48.js → page-5233748464280e9d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-c36345b80cc5bf5c.js → page-f198303c176c6e02.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-cc2fe0c5b749cd2f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/admin/companies/new/{page-55fb2107f955c9ed.js → page-4f3b3c449c61f6d2.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/page-ef720c2b0856166c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/admin/page-0cc8cf246db43e5d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-cd9411c54c8f5b35.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/admin/page-d470135f7aab6c5e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/callback/{page-48a34c31a0f8e58c.js → page-0edd93f50cb4f6ea.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-e0444ad8b50121f5.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-d9dbd817391b462b.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-4a8c75a0d40c2106.js → webpack-5bb5740df10ed622.js} +1 -1
- package/.next/standalone/.next/static/css/4279f38594ac772a.css +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +18 -3
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +18 -3
- package/.next/standalone/public/skill/package.json +1 -1
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/package.json +1 -1
- package/prisma/migrations/20260611101056_add_idea_lineage/migration.sql +5 -0
- package/prisma/schema.prisma +5 -0
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +0 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +0 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/chunks/2990.js +0 -1
- package/.next/standalone/.next/server/chunks/3139.js +0 -1
- package/.next/standalone/.next/server/chunks/3576.js +0 -1
- package/.next/standalone/.next/server/chunks/4974.js +0 -1
- package/.next/standalone/.next/server/chunks/5491.js +0 -1
- package/.next/standalone/.next/server/chunks/7621.js +0 -1
- package/.next/standalone/.next/server/chunks/8144.js +0 -1
- package/.next/standalone/.next/server/chunks/9508.js +0 -2
- package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +0 -1
- package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +0 -1
- package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +0 -1
- package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +0 -1
- package/.next/standalone/.next/static/chunks/37880-4395be5cee4112fa.js +0 -1
- package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +0 -1
- package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.1bebb2a898b170f6.js +0 -1
- package/.next/standalone/.next/static/chunks/51841-0e4e0e63b437dcfd.js +0 -1
- package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +0 -1
- package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +0 -1
- package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +0 -1
- package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.13c8ac5da1ddabe9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b55a8d6d9bd27276.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-63a6a5b6cf9ecf87.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-fd10bca891f0f73a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-414b398806324ad1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/[uuid]/page-81682b4aa6859615.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/companies/page-bbd92a7b214ddbf5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/admin/page-c4167418611b4a6b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-99297f77cce24151.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/admin/page-4e72e6e4327ee7cd.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +0 -1
- package/.next/standalone/.next/static/css/bfe962487ee66da7.css +0 -1
- /package/.next/standalone/.next/static/{YJZurE1onX9K-RDNIplc5 → AKJHlhCKd44_-khht8nN0}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{YJZurE1onX9K-RDNIplc5 → AKJHlhCKd44_-khht8nN0}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[20051],{14554:(e,t,s)=>{s.d(t,{p:()=>r});var a=s(90508);s(1856);var n=s(24377);function r(e){let{className:t,type:s,...r}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input",className:(0,n.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...r})}},15972:(e,t,s)=>{s.d(t,{T:()=>r});var a=s(90508);s(1856);var n=s(24377);function r(e){let{className:t,...s}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,n.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...s})}},22922:(e,t,s)=>{s.d(t,{$:()=>l});var a=s(90508);s(1856);var n=s(49499),r=s(54154),i=s(24377);let o=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:s="default",size:n="default",asChild:l=!1,...d}=e,c=l?r.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":s,"data-size":n,className:(0,i.cn)(o({variant:s,size:n,className:t})),...d})}},24377:(e,t,s)=>{s.d(t,{cn:()=>r});var a=s(49251),n=s(58849);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}},26965:(e,t,s)=>{s.d(t,{L:()=>j});var a=s(90508),n=s(1856),r=s(39268),i=s(14554),o=s(88064),l=s(15972),d=s(60532),c=s(98861),u=s(24377);function m(e){let{className:t,...s}=e;return(0,a.jsx)(c.Root,{"data-slot":"checkbox",className:(0,u.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(c.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,a.jsx)(d.A,{className:"size-3.5"})})})}var x=s(91846),p=s(44775),g=s(93810);let h={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},f={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},b=["admin_agent","pm_agent","developer_agent","custom"];function v(e){let{preset:t,permissions:s,onChange:n,readOnly:i=!1}=e,l=(0,r.c)(),d=null!=t?t:"custom",c=new Set("custom"===d?s:p.o[d]);return(0,a.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(o.J,{className:"text-[13px] font-medium",children:l("agent.permissions.title")}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:l("agent.permissions.description")})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(o.J,{htmlFor:"agent-permission-preset",children:l("agent.permissions.presetLabel")}),(0,a.jsxs)(x.l6,{value:d,onValueChange:function(e){if("custom"===e)return void n({preset:"custom",roles:[],permissions:Array.from(c)});e in p.o&&n({preset:e,roles:[e],permissions:[]})},disabled:i,children:[(0,a.jsx)(x.bq,{id:"agent-permission-preset",className:"w-full","aria-label":l("agent.permissions.presetLabel"),children:(0,a.jsx)(x.yv,{placeholder:l(h[d]),children:l(h[d])})}),(0,a.jsx)(x.gC,{children:b.map(e=>(0,a.jsx)(x.eb,{value:e,textValue:l(h[e]),children:(0,a.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,a.jsx)("span",{className:"text-sm font-semibold",children:l(h[e])}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:l(f[e])})]})},e))})]})]}),(0,a.jsxs)("div",{role:"grid","aria-label":l("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,a.jsxs)("div",{role:"row",className:"bg-muted/50 text-muted-foreground grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-xs font-medium",children:[(0,a.jsx)("div",{role:"columnheader",children:l("agent.permissions.resourceHeader")}),g.kl.map(e=>(0,a.jsx)("div",{role:"columnheader",className:"text-center",children:l("agent.permissions.actions.".concat(e))},e))]}),g.eZ.map(e=>(0,a.jsxs)("div",{role:"row",className:"border-t grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-sm",children:[(0,a.jsx)("div",{role:"rowheader",className:"font-medium",children:l("agent.permissions.resources.".concat(e))}),g.kl.map(t=>{let s="".concat(e,":").concat(t),r="perm-".concat(e,"-").concat(t);return(0,a.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,a.jsx)(m,{id:r,checked:c.has(s),disabled:i,"aria-label":"".concat(l("agent.permissions.resources.".concat(e))," ").concat(l("agent.permissions.actions.".concat(t))),onCheckedChange:e=>{if(!i){let t=new Set(c);!0===e?t.add(s):t.delete(s),n({preset:"custom",roles:[],permissions:Array.from(t)})}}})},t)})]},e))]})]})]})}function j(e){let{name:t,onNameChange:s,preset:d,permissions:c,onPermissionsChange:u,persona:m,onPersonaChange:x,nameInputId:g="agent-form-name",personaInputId:h="agent-form-persona",readOnly:f=!1}=e,b=(0,r.c)(),j=(0,n.useMemo)(()=>"custom"===d?c:[...p.o[d]],[d,c]);return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(o.J,{htmlFor:g,className:"text-[13px]",children:b("settings.name")}),(0,a.jsx)(i.p,{id:g,value:t,onChange:e=>s(e.target.value),placeholder:b("settings.namePlaceholder"),className:"border-[#E5E0D8]",required:!0,disabled:f})]}),(0,a.jsx)(v,{preset:d,permissions:j,onChange:u,readOnly:f}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(o.J,{htmlFor:h,className:"text-[13px]",children:b("settings.agentPersona")}),(0,a.jsx)(l.T,{id:h,value:m,onChange:e=>x(e.target.value),placeholder:b("settings.personaPlaceholder"),rows:4,disabled:f}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:b("settings.personaHint")})]})]})}},37750:(e,t,s)=>{s.d(t,{Y:()=>m});var a=s(90508),n=s(1856),r=s(39268),i=s(22922),o=s(60532),l=s(9160),d=s(67712),c=s(26965),u=s(83792);function m(e){let{onAgentCreated:t,createAgentAndKey:s,onClose:m,embedded:x=!1,submitLabel:p,submittingLabel:g}=e,h=(0,r.c)(),[f,b]=(0,n.useState)(""),[v,j]=(0,n.useState)("admin_agent"),[N,w]=(0,n.useState)(["admin_agent"]),[y,k]=(0,n.useState)([]),[C,_]=(0,n.useState)(""),[z,A]=(0,n.useState)(!1),[T,S]=(0,n.useState)(null),[I,R]=(0,n.useState)(!1),L=async e=>{if((e.preventDefault(),f)&&("custom"!==v||0!==y.length)){A(!0);try{let e=await s({name:f,roles:N,permissions:"custom"===v?y:[],persona:C||null});e.success&&e.key?(x||S(e.key),t({uuid:e.agentUuid||"",name:f,roles:N,permissions:"custom"===v?y:[]},e.key)):d.q.error("Failed to create API key:",e.error)}catch(e){d.q.error("Failed to create API key:",e)}finally{A(!1)}}},P=async e=>{try{await navigator.clipboard.writeText(e),R(!0),setTimeout(()=>R(!1),2e3)}catch(e){d.q.error("Failed to copy to clipboard:",e)}},U=()=>{b(""),j("admin_agent"),w(["admin_agent"]),k([]),_(""),S(null),null==m||m()};return T&&!x?(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,a.jsx)(o.A,{className:"h-5 w-5"}),(0,a.jsx)("span",{className:"font-medium",children:h("settings.apiKeyCreated")})]}),(0,a.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:h("settings.apiKeyCreatedDesc")}),(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,a.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:T}),(0,a.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>P(T),children:h(I?"common.copied":"common.copy")})]}),(0,a.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:h("settings.installGuideIntro")}),(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(u.Z,{apiKey:T})}),(0,a.jsx)(i.$,{onClick:U,className:"w-full",children:h("common.done")})]}):(0,a.jsxs)("form",{onSubmit:L,children:[!x&&(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:h("settings.createApiKey")}),m&&(0,a.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",onClick:U,className:"h-8 w-8",children:(0,a.jsx)(l.A,{className:"h-4 w-4"})})]}),(0,a.jsx)("div",{className:x?void 0:"p-6",children:(0,a.jsx)(c.L,{name:f,onNameChange:b,preset:v,permissions:y,onPermissionsChange:function(e){j(e.preset),w(e.roles),k(e.permissions)},persona:C,onPersonaChange:_,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,a.jsxs)("div",{className:x?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!x&&m&&(0,a.jsx)(i.$,{type:"button",variant:"outline",onClick:U,children:h("common.cancel")}),(0,a.jsx)(i.$,{type:"submit",disabled:!f||"custom"===v&&0===y.length||z,className:x?"w-full":void 0,size:x?"lg":"default",children:z?null!=g?g:h("settings.creating"):null!=p?p:h("settings.createApiKey")})]})]})}},39674:(e,t,s)=>{s.d(t,{Xi:()=>l,av:()=>d,j7:()=>o,tU:()=>i});var a=s(90508);s(1856);var n=s(79834),r=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(n.Root,{"data-slot":"tabs",className:(0,r.cn)("flex flex-col gap-2",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsx)(n.List,{"data-slot":"tabs-list",className:(0,r.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...s})}function l(e){let{className:t,...s}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"tabs-trigger",className:(0,r.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}function d(e){let{className:t,...s}=e;return(0,a.jsx)(n.Content,{"data-slot":"tabs-content",className:(0,r.cn)("flex-1 outline-none",t),...s})}},44775:(e,t,s)=>{s.d(t,{o:()=>a});let a={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]}},48416:(e,t,s)=>{s.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>o,Zp:()=>r,aR:()=>i});var a=s(90508);s(1856);var n=s(24377);function r(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...s})}function i(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...s})}function o(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...s})}function l(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...s})}function d(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...s})}},50006:(e,t,s)=>{s.d(t,{N:()=>r});var a=s(90508),n=s(97261);function r(e){let{code:t,language:s}=e,r="```".concat(s||"","\n").concat(t,"\n```");return(0,a.jsx)(n.MarkdownContent,{children:r})}},67712:(e,t,s)=>{s.d(t,{q:()=>o});var a=s(55036);let n={debug:0,info:1,warn:2,error:3},r=a.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function i(e){return n[e]>=n[r]}let o={debug:function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];i("debug")&&console.debug("[Chorus] ".concat(e),...s)},info:function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];i("info")&&console.info("[Chorus] ".concat(e),...s)},warn:function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];i("warn")&&console.warn("[Chorus] ".concat(e),...s)},error:function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];i("error")&&console.error("[Chorus] ".concat(e),...s)}}},81750:(e,t,s)=>{s.d(t,{Ke:()=>l,Nt:()=>i,R6:()=>o});var a=s(90508),n=s(38476),r=s(24377);function i(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"collapsible",...t})}function o(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"collapsible-trigger",...t})}function l(e){let{className:t,...s}=e;return(0,a.jsx)(n.Content,{"data-slot":"collapsible-content",className:(0,r.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",t),...s})}},83792:(e,t,s)=>{s.d(t,{Z:()=>c});var a=s(90508),n=s(39268),r=s(48416),i=s(39674),o=s(81750),l=s(17730),d=s(50006);function c(e){let{apiKey:t}=e,s=(0,n.c)("onboarding"),c=window.location.origin,u=t||"<YOUR_API_KEY>";return(0,a.jsx)(r.Zp,{className:"w-full",children:(0,a.jsx)(r.Wu,{className:"p-6",children:(0,a.jsxs)(i.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,a.jsxs)(i.j7,{className:"w-full",children:[(0,a.jsx)(i.Xi,{value:"claude-code",className:"flex-1",children:s("install.tabs.claudeCode")}),(0,a.jsx)(i.Xi,{value:"codex",className:"flex-1",children:s("install.tabs.codex")}),(0,a.jsx)(i.Xi,{value:"opencode",className:"flex-1",children:s("install.tabs.opencode")}),(0,a.jsx)(i.Xi,{value:"openclaw",className:"flex-1",children:s("install.tabs.openClaw")}),(0,a.jsx)(i.Xi,{value:"other",className:"flex-1",children:s("install.tabs.other")})]}),(0,a.jsxs)(i.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.claudeCode.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(u,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("install.claudeCode.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.claudeCode.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"/plugin marketplace add Chorus-AIDLC/chorus\n/plugin install chorus@chorus-plugins"})]})]}),(0,a.jsxs)(i.av,{value:"codex",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.codex.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(u,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("install.codex.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.codex.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"curl -fsSL ".concat(c,"/install-codex.sh | bash")}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("install.codex.step2Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.codex.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s("install.codex.step3Desc")})]})]}),(0,a.jsxs)(i.av,{value:"opencode",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.opencode.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(u,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("install.opencode.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.opencode.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"curl -fsSL ".concat(c,"/install-opencode.sh | bash")}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:s("install.opencode.step2Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.opencode.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s("install.opencode.step3Desc")})]}),(0,a.jsxs)(o.Nt,{children:[(0,a.jsxs)(o.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,a.jsx)(l.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),s("install.opencode.troubleshootingTitle")]}),(0,a.jsx)(o.Ke,{children:(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:s("install.opencode.issueCache.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:s("install.opencode.issueCache.fix")})]}),(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:s("install.opencode.issueEnv.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:s("install.opencode.issueEnv.fix")})]}),(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:s("install.opencode.issueCheckin.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:s("install.opencode.issueCheckin.fix")})]})]})})]})]}),(0,a.jsxs)(i.av,{value:"openclaw",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.openClaw.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:"openclaw plugins install @chorus-aidlc/chorus-openclaw-plugin"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.openClaw.step2Title")}),(0,a.jsx)(d.N,{language:"json",code:'{\n "hooks": { "enabled": true, "token": "<your-token>" },\n "plugins": {\n "enabled": true,\n "entries": {\n "chorus-openclaw-plugin": {\n "enabled": true,\n "config": {\n "chorusUrl": "'.concat(c,'",\n "apiKey": "').concat(u,'",\n "autoStart": true\n }\n }\n }\n }\n}')})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.openClaw.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s("install.openClaw.step3Desc")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:s("install.openClaw.step4Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s("install.openClaw.step4Desc")}),(0,a.jsx)(d.N,{code:"/chorus status"})]}),(0,a.jsxs)(o.Nt,{children:[(0,a.jsxs)(o.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,a.jsx)(l.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),s("install.openClaw.troubleshootingTitle")]}),(0,a.jsx)(o.Ke,{children:(0,a.jsxs)("div",{className:"mt-2 rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:s("install.openClaw.troubleshootingError")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:s("install.openClaw.troubleshootingFix")})]})})]})]}),(0,a.jsxs)(i.av,{value:"other",className:"mt-4 space-y-4",children:[(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s("install.other.description")}),(0,a.jsx)(d.N,{code:"Please install and configure the Chorus AI-DLC collaboration platform.\n\nChorus URL: ".concat(c,"\nAPI Key: ").concat(u,"\n\nRead the setup instructions from:\n").concat(c,'/skill/chorus/SKILL.md\n\nFollow the "Setup" section to configure the MCP server,\nthen call chorus_checkin() to verify the connection.')})]})]})})})}},88064:(e,t,s)=>{s.d(t,{J:()=>i});var a=s(90508);s(1856);var n=s(58057),r=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(n.Root,{"data-slot":"label",className:(0,r.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...s})}},91846:(e,t,s)=>{s.d(t,{bq:()=>u,eb:()=>x,gC:()=>m,l6:()=>d,yv:()=>c});var a=s(90508);s(1856);var n=s(17730),r=s(60532),i=s(89967),o=s(48218),l=s(24377);function d(e){let{...t}=e;return(0,a.jsx)(o.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(o.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:s="default",children:r,...i}=e;return(0,a.jsxs)(o.Trigger,{"data-slot":"select-trigger","data-size":s,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...i,children:[r,(0,a.jsx)(o.Icon,{asChild:!0,children:(0,a.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:s,position:n="item-aligned",align:r="center",...i}=e;return(0,a.jsx)(o.Portal,{children:(0,a.jsxs)(o.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,align:r,...i,children:[(0,a.jsx)(p,{}),(0,a.jsx)(o.Viewport,{className:(0,l.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,a.jsx)(g,{})]})})}function x(e){let{className:t,children:s,...n}=e;return(0,a.jsxs)(o.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...n,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(o.ItemIndicator,{children:(0,a.jsx)(r.A,{className:"size-4"})})}),(0,a.jsx)(o.ItemText,{children:s})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)(o.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(i.A,{className:"size-4"})})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(o.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...s,children:(0,a.jsx)(n.A,{className:"size-4"})})}},93810:(e,t,s)=>{s.d(t,{eZ:()=>a,kl:()=>n,lp:()=>r});let a=["idea","proposal","document","task","project"],n=["read","write","admin"],r=a.flatMap(e=>n.map(t=>"".concat(e,":").concat(t)))},97261:(e,t,s)=>{s.d(t,{MarkdownContent:()=>c});var a=s(90508),n=s(1856),r=s(65700),i=s(19169),o=s(26190);let l={code:i.a,mermaid:o.a},d={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function c(e){let{children:t}=e,s=function(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=document.documentElement,s=()=>t(e.classList.contains("dark"));s();let a=new MutationObserver(s);return a.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>a.disconnect()},[]),e}(),i=(0,n.useMemo)(()=>({config:{theme:s?"dark":"default"}}),[s]);return(0,a.jsx)(r.jH,{plugins:l,controls:d,mermaid:i,children:t},s?"dark":"light")}},97778:(e,t,s)=>{s.d(t,{I:()=>n});var a=s(52217);let n=(0,a.createServerReference)("409416a9a40d3f468437edaa5351370e8ab6f95386",a.callServer,void 0,a.findSourceMapURL,"createAgentAndKeyAction")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[23095],{18347:(e,t,s)=>{s.d(t,{Z:()=>r});var a=s(52217);let r=(0,a.createServerReference)("60617c2383c242812e8771091926b3985cdc54198d",a.callServer,void 0,a.findSourceMapURL,"deleteIdeaAction")},27939:(e,t,s)=>{s.d(t,{z:()=>r});var a=s(52217);let r=(0,a.createServerReference)("40eba34de2272666c8403c4c673feb198e9f0be2e2",a.callServer,void 0,a.findSourceMapURL,"getElaborationAction")},29767:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},30028:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},32260:(e,t,s)=>{s.d(t,{J:()=>r});var a=s(52217);let r=(0,a.createServerReference)("40f255f3f891818c05b96831d0a86f6089de5d8a43",a.callServer,void 0,a.findSourceMapURL,"updateIdeaAction")},32470:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])},37915:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},38476:(e,t,s)=>{s.r(t),s.d(t,{Collapsible:()=>g,CollapsibleContent:()=>N,CollapsibleTrigger:()=>j,Content:()=>S,Root:()=>y,Trigger:()=>E,createCollapsibleScope:()=>h});var a=s(1856),r=s(33328),n=s(21032),l=s(66249),i=s(99457),c=s(34124),d=s(93367),o=s(19900),u=s(40577),x=s(90508),m="Collapsible",[p,h]=(0,n.A)(m),[f,v]=p(m),g=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,open:r,defaultOpen:n,disabled:i,onOpenChange:c,...o}=e,[p,h]=(0,l.i)({prop:r,defaultProp:null!=n&&n,onChange:c,caller:m});return(0,x.jsx)(f,{scope:s,disabled:i,contentId:(0,u.B)(),open:p,onOpenToggle:a.useCallback(()=>h(e=>!e),[h]),children:(0,x.jsx)(d.sG.div,{"data-state":C(p),"data-disabled":i?"":void 0,...o,ref:t})})});g.displayName=m;var b="CollapsibleTrigger",j=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,...a}=e,n=v(b,s);return(0,x.jsx)(d.sG.button,{type:"button","aria-controls":n.contentId,"aria-expanded":n.open||!1,"data-state":C(n.open),"data-disabled":n.disabled?"":void 0,disabled:n.disabled,...a,ref:t,onClick:(0,r.mK)(e.onClick,n.onOpenToggle)})});j.displayName=b;var A="CollapsibleContent",N=a.forwardRef((e,t)=>{let{forceMount:s,...a}=e,r=v(A,e.__scopeCollapsible);return(0,x.jsx)(o.C,{present:s||r.open,children:e=>{let{present:s}=e;return(0,x.jsx)(w,{...a,ref:t,present:s})}})});N.displayName=A;var w=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,present:r,children:n,...l}=e,o=v(A,s),[u,m]=a.useState(r),p=a.useRef(null),h=(0,c.s)(t,p),f=a.useRef(0),g=f.current,b=a.useRef(0),j=b.current,N=o.open||u,w=a.useRef(N),y=a.useRef(void 0);return a.useEffect(()=>{let e=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.N)(()=>{let e=p.current;if(e){y.current=y.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,b.current=t.width,w.current||(e.style.transitionDuration=y.current.transitionDuration,e.style.animationName=y.current.animationName),m(r)}},[o.open,r]),(0,x.jsx)(d.sG.div,{"data-state":C(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!N,...l,ref:h,style:{"--radix-collapsible-content-height":g?"".concat(g,"px"):void 0,"--radix-collapsible-content-width":j?"".concat(j,"px"):void 0,...e.style},children:N&&n})});function C(e){return e?"open":"closed"}var y=g,E=j,S=N},57223:(e,t,s)=>{s.d(t,{E:()=>n});var a=s(90508),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,r.cn)("bg-accent animate-pulse rounded-md",t),...s})}},62929:(e,t,s)=>{s.d(t,{R:()=>N});var a=s(90508),r=s(1856),n=s(23675),l=s(39268),i=s(17730),c=s(78948),d=s(37915),o=s(62898),u=s(57893),x=s(60532),m=s(85226),p=s(22922),h=s(14554),f=s(81750),v=s(52217);let g=(0,v.createServerReference)("7064838059846ed59cbec509f45f72c827ff4bde6d",v.callServer,void 0,v.findSourceMapURL,"submitElaborationAnswersAction");var b=s(42305);let j="__other__",A={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function N(e){let{ideaUuid:t,elaboration:s,onRefresh:r}=e,i=(0,l.c)("elaboration"),c=(0,n.useRouter)();if(!s||0===s.rounds.length)return null;let{summary:d,rounds:o}=s;return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:i("title")}),(0,a.jsx)("span",{className:"text-xs font-medium text-[#C67A52]",children:i("answeredCounter",{answered:d.answeredQuestions,total:d.totalQuestions})})]}),(0,a.jsx)("div",{className:"space-y-2.5",children:o.map(e=>(0,a.jsx)(w,{round:e,ideaUuid:t,onAnswered:async()=>{await (null==r?void 0:r()),c.refresh()}},e.uuid))})]})}function w(e){let{round:t,ideaUuid:s,onAnswered:n}=e,d=(0,l.c)("elaboration"),o="pending_answers"===t.status,u="answered"===t.status||"validated"===t.status||"needs_followup"===t.status,[x,m]=(0,r.useState)(o);return(0,a.jsx)(f.Nt,{open:x,onOpenChange:m,children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-xl border border-[#E5E0D8] bg-white",children:[(0,a.jsx)(f.R6,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-[#FAF8F4] ".concat(x?"bg-[#F7F6F3] border-b border-[#E5E0D8]":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[x?(0,a.jsx)(i.A,{className:"h-4 w-4 text-[#6B6B6B]"}):(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ".concat(o?"bg-[#C67A52]":"bg-[#888780]"),children:t.roundNumber}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:d("roundLabel",{number:t.roundNumber})}),t.isAppended&&(0,a.jsx)("span",{className:"rounded bg-[#EDE7F6] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6]",children:d("appendedBadge")}),!x&&(0,a.jsxs)("span",{className:"text-xs text-[#9A9A9A]",children:["\xb7 ",d("questionCount",{count:t.questions.length})]})]}),u?(0,a.jsx)("span",{className:"rounded bg-[#E8F5E9] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32]",children:d("statusAnswered")}):(0,a.jsx)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-[10px] font-medium text-[#E65100]",children:d("pendingAnswers")})]})}),(0,a.jsx)(f.Ke,{children:o?(0,a.jsx)(y,{round:t,ideaUuid:s,onAnswered:n}):(0,a.jsx)(C,{round:t})})]})})}function C(e){let{round:t}=e,s=(0,l.c)("elaboration");return(0,a.jsx)("div",{className:"space-y-4 px-4 py-4",children:t.questions.map((e,r)=>{var n,l;let i=(null==(n=e.answer)?void 0:n.selectedOptionId)?e.options.find(t=>{var s;return t.id===(null==(s=e.answer)?void 0:s.selectedOptionId)}):null,c=(null==(l=e.answer)?void 0:l.customText)||(null==i?void 0:i.label)||s("noAnswer"),d=A[e.category]||e.category;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"text-xs leading-relaxed text-[#6B6B6B]",children:["Q: ",e.text]}),(0,a.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:s("category.".concat(d))})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-[#2C2C2C]",children:["A: ",c]}),r<t.questions.length-1&&(0,a.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA]"})]},e.uuid)})})}function y(e){var t,s,n;let{round:i,ideaUuid:f,onAnswered:v}=e,N=(0,l.c)("elaboration"),[w,C]=(0,r.useState)(0),y=(0,r.useRef)(w),[E,S]=(0,r.useState)("right"),[F,k]=(0,r.useState)({}),[B,D]=(0,r.useState)(!1),[R,I]=(0,r.useState)(null);(0,r.useEffect)(()=>{y.current=w},[w]);let M=(0,r.useCallback)((e,t)=>{S("left"===t?"right":"left"),C(e)},[]),U=i.questions,T=U[w],q=A[T.category]||T.category,_=(0,r.useCallback)((e,t)=>{if(k(s=>{var a;return{...s,[e]:{questionId:e,selectedOptionId:t===j?null:t,customText:t===j?(null==(a=s[e])?void 0:a.customText)||"":null}}}),t!==j){let e=Math.min(U.length-1,y.current+1);e!==y.current&&setTimeout(()=>M(e,"left"),200)}},[U.length,M]),L=(0,r.useCallback)((e,t)=>{k(s=>({...s,[e]:{...s[e],questionId:e,selectedOptionId:null,customText:t}}))},[]),P=U.filter(e=>e.required).every(e=>{let t=F[e.questionId];return!!t&&!!(t.selectedOptionId||t.customText&&t.customText.trim())}),z=async()=>{D(!0),I(null);let e=Object.values(F),t=await g(f,i.uuid,e);t.success?(await v(),D(!1)):(D(!1),I(t.error||N("submitFailed")))},O=(e=>{let t=F[e];return t?null===t.selectedOptionId&&null!==t.customText&&void 0!==t.customText?j:t.selectedOptionId||null:null})(T.questionId),$=O===j,K=w===U.length-1,G=!!(null!=(n=null==(t=F[T.questionId])?void 0:t.customText)?n:"").trim();return(0,a.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,a.jsxs)("div",{className:"right"===E?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsx)("div",{className:"flex-1 text-sm text-[#6B6B6B]",children:T.text}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsx)(p.$,{variant:"ghost",size:"icon",onClick:()=>M(w-1,"right"),disabled:0===w,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-4 w-4"})}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:N("navCounter",{current:w+1,total:U.length})}),(0,a.jsx)(p.$,{variant:"ghost",size:"icon",onClick:()=>M(w+1,"left"),disabled:w===U.length-1,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(c.A,{className:"h-4 w-4"})})]})]}),(0,a.jsxs)("div",{className:"mt-3",children:[T.options.map((e,t)=>{let s=O===e.id;return(0,a.jsxs)("div",{children:[(0,a.jsxs)(p.$,{variant:"ghost",onClick:()=>_(T.questionId,e.id),className:"flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ".concat(s?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[#E5E0D8] text-xs font-medium text-[#5F5E5A]",children:t+1}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-[#2C2C2A]",children:e.label}),e.description&&(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-[#9A9A9A]",children:e.description})]})]}),s&&(0,a.jsx)(o.A,{className:"mt-1 h-4 w-4 shrink-0 text-[#888780]"})]}),t<T.options.length-1&&(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"})]},e.id)}),(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"}),(0,a.jsxs)("div",{className:"flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ".concat($?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[#E5E0D8]",onClick:()=>_(T.questionId,j),children:(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#B4B2A9]"})}),$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.p,{type:"text",value:(null==(s=F[T.questionId])?void 0:s.customText)||"",onChange:e=>L(T.questionId,e.target.value),onKeyDown:e=>{if((0,b.P)(e)||"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),K||!G))return;let t=y.current+1;setTimeout(()=>M(t,"left"),200)},placeholder:N("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-[#2C2C2A] placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!K&&(0,a.jsx)(p.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(K||!G)return;let e=y.current+1;setTimeout(()=>M(e,"left"),200)},disabled:!G,"aria-label":N("confirmAnswerAria"),className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(x.A,{className:"h-4 w-4"})})]}):(0,a.jsx)(p.$,{variant:"ghost",onClick:()=>_(T.questionId,j),className:"flex-1 justify-start text-left text-[13px] italic text-[#B4B2A9] h-auto p-0 hover:bg-transparent",children:N("somethingElse")})]})]})]},w),R&&(0,a.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:R}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[#C67A52]"}),N("category.".concat(q))]}),(0,a.jsx)(p.$,{onClick:z,disabled:!P||B,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px]",children:B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),N("submitting")]}):N("submitAnswers")})]})]})}},78948:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81750:(e,t,s)=>{s.d(t,{Ke:()=>c,Nt:()=>l,R6:()=>i});var a=s(90508),r=s(38476),n=s(24377);function l(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"collapsible",...t})}function i(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"collapsible-trigger",...t})}function c(e){let{className:t,...s}=e;return(0,a.jsx)(r.Content,{"data-slot":"collapsible-content",className:(0,n.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",t),...s})}},84103:(e,t,s)=>{s.d(t,{h:()=>w});var a=s(90508),r=s(1856),n=s(39268),l=s(23675),i=s(67587),c=s(85226),d=s(30825),o=s(60532),u=s(17475),x=s(22922),m=s(88064),p=s(97438),h=s(4365),f=s(17001),v=s(24377),g=s(52217);let b=(0,g.createServerReference)("00007d98eddea70ac03aa46cc211972042863bdbcf",g.callServer,void 0,g.findSourceMapURL,"getProjectsAndGroupsAction"),j=(0,g.createServerReference)("6031b83c7e48a3a21624e15c0e003377117809671a",g.callServer,void 0,g.findSourceMapURL,"moveIdeaPreviewAction"),A=(0,g.createServerReference)("60bfd14cca7aaa2de736b5b6da202109f13fe3c61a",g.callServer,void 0,g.findSourceMapURL,"moveIdeaAction");var N=s(67712);function w(e){let{open:t,onOpenChange:s,ideaUuid:g,projectUuid:w,onMoved:C}=e,y=(0,n.c)("ideas"),E=(0,n.c)("common"),S=(0,l.useRouter)(),[F,k]=(0,r.useState)([]),[B,D]=(0,r.useState)(!1),[R,I]=(0,r.useState)(null),[M,U]=(0,r.useState)(!1),T=(()=>{if(!R)return null;for(let e of F){let t=e.projects.find(e=>e.uuid===R);if(t)return t.name}return null})(),[q,_]=(0,r.useState)(null),[L,P]=(0,r.useState)(!1),[z,O]=(0,r.useState)(null),[$,K]=(0,r.useState)(!1),[G,J]=(0,r.useState)(null),Q=(0,r.useRef)(0),V=(0,r.useCallback)(e=>{e&&e.addEventListener("wheel",e=>e.stopPropagation(),{passive:!0})},[]),W=(0,r.useCallback)(async()=>{I(null),_(null),O(null),J(null),D(!0);try{let e=await b();if(e.success){let{projects:t,groups:s}=e.data,a=t.filter(e=>e.uuid!==w).map(e=>({uuid:e.uuid,name:e.name,groupUuid:e.groupUuid})),r=new Map;for(let e of s)r.set(e.uuid,e.name);let n=new Map,l=[];for(let e of a)e.groupUuid&&r.has(e.groupUuid)?(n.has(e.groupUuid)||n.set(e.groupUuid,{uuid:e.groupUuid,name:r.get(e.groupUuid),projects:[]}),n.get(e.groupUuid).projects.push({uuid:e.uuid,name:e.name})):l.push({uuid:e.uuid,name:e.name});let i=[...n.values()];l.length>0&&i.push({uuid:"ungrouped",name:y("ungrouped"),projects:l}),k(i)}}catch(e){N.q.error("Failed to load projects for move dialog:",e),k([])}D(!1)},[w,y]);(0,r.useEffect)(()=>{t&&W()},[t,W]),(0,r.useEffect)(()=>{if(!R){_(null),O(null);return}let e=++Q.current;P(!0),O(null),_(null),j(g,R).then(t=>{e===Q.current&&(t.success?_(t.moved):O(t.error||y("moveDialog.error",{message:""})))}).catch(t=>{e===Q.current&&(N.q.error("Failed to fetch move preview:",t),O(y("moveDialog.error",{message:t instanceof Error?t.message:String(t)})))}).finally(()=>{e===Q.current&&P(!1)})},[R,g,y]);let H=async()=>{if(R&&q&&!$){K(!0),J(null);try{let e=await A(g,R);if(e.success){let t=e.moved;i.oR.success(y("moveDialog.successToast",{...t}),{action:{label:y("moveDialog.viewMovedIdea"),onClick:()=>{S.push("/projects/".concat(R,"/dashboard?panel=").concat(g,"&tab=overview"))}}}),s(!1),S.refresh(),C(t)}else J(y("moveDialog.error",{message:e.error||y("moveFailed")}))}catch(e){J(y("moveDialog.error",{message:e instanceof Error?e.message:y("moveFailed")}))}K(!1)}};return(0,a.jsx)(p.lG,{open:t,onOpenChange:s,children:(0,a.jsxs)(p.Cf,{children:[(0,a.jsxs)(p.c7,{children:[(0,a.jsx)(p.L3,{children:y("moveDialog.title")}),(0,a.jsx)(p.rr,{children:y("moveDialog.description")})]}),(0,a.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,a.jsx)(m.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-[#2C2C2C]",children:y("moveDialog.targetProjectLabel")}),B?(0,a.jsx)("div",{className:"flex items-center justify-center h-10 border border-[#E5E0D8] rounded-md",children:(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(f.AM,{open:M,onOpenChange:U,children:[(0,a.jsx)(f.Wv,{asChild:!0,children:(0,a.jsxs)(x.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":M,className:(0,v.cn)("w-full justify-between border-[#E5E0D8] font-normal",!T&&"text-[#9A9A9A]"),children:[null!=T?T:y("moveDialog.targetProjectPlaceholder"),(0,a.jsx)(d.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(f.hl,{ref:V,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,a.jsxs)(h.uB,{children:[(0,a.jsx)(h.G7,{placeholder:y("moveDialog.searchProjects")}),(0,a.jsxs)(h.oI,{children:[(0,a.jsx)(h.xL,{children:y("noProjectsFound")}),F.map(e=>(0,a.jsx)(h.L$,{heading:e.name,children:e.projects.map(t=>(0,a.jsxs)(h.h_,{value:"".concat(t.name," ").concat(e.name),onSelect:()=>{I(t.uuid),U(!1)},children:[(0,a.jsx)(o.A,{className:(0,v.cn)("mr-2 h-4 w-4",R===t.uuid?"opacity-100":"opacity-0")}),t.name]},t.uuid))},e.uuid))]})]})})]}),R&&(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-[#E5E0D8] bg-[#FAF8F4] p-3 text-[13px] text-[#2C2C2C]",children:L?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[#6B6B6B]",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:y("moveDialog.previewLoading")})]}):z?(0,a.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,a.jsx)(u.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:z})]}):q?(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{children:y("moveDialog.previewSummary",{...q})}),(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:y("moveDialog.previewWarning")})]}):null}),G&&(0,a.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:G})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>s(!1),disabled:$,children:E("cancel")}),(0,a.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:H,disabled:!R||!q||$||L,children:$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("moving")]}):y("moveDialog.confirm")})]})]})})}},84247:(e,t,s)=>{s.d(t,{Separator:()=>l});var a=s(90508);s(1856);var r=s(5725),n=s(24377);function l(e){let{className:t,orientation:s="horizontal",decorative:l=!0,...i}=e;return(0,a.jsx)(r.b,{"data-slot":"separator",decorative:l,orientation:s,className:(0,n.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...i})}},88179:(e,t,s)=>{s.d(t,{x:()=>r});var a=s(52217);let r=(0,a.createServerReference)("40dd39ef3975ba7aaeedf05316839e53aa3ca3048c",a.callServer,void 0,a.findSourceMapURL,"getIdeaActivitiesAction")},92715:(e,t,s)=>{s.d(t,{i:()=>A});var a=s(90508),r=s(1856),n=s(23675),l=s(39268),i=s(9160),c=s(85226),d=s(5425),o=s(94903),u=s(22922),x=s(88064),m=s(41033),p=s(91846),h=s(52217);let f=(0,h.createServerReference)("008127e61d1a2b93414427d9254894b652bf634a1c",h.callServer,void 0,h.findSourceMapURL,"getPmAgentsAction"),v=(0,h.createServerReference)("40acf33fcac9689fd03b4b47f5b3613edd2d7c0eac",h.callServer,void 0,h.findSourceMapURL,"claimIdeaAction"),g=(0,h.createServerReference)("60cc0ca7e086e5de740232d9ba14b99f5f787e61ed",h.callServer,void 0,h.findSourceMapURL,"claimIdeaToAgentAction"),b=(0,h.createServerReference)("60fce9c195a035f568667c03dc3c3707f77f06673f",h.callServer,void 0,h.findSourceMapURL,"claimIdeaToUserAction"),j=(0,h.createServerReference)("40a7b8275d5a0c936ee891fcb08d82c1c035c4e85f",h.callServer,void 0,h.findSourceMapURL,"releaseIdeaAction");function A(e){var t;let{idea:s,projectUuid:h,currentUserUuid:A,onClose:N}=e,w=(0,l.c)(),C=(0,n.useRouter)(),[y,E]=(0,r.useState)(!1),[S,F]=(0,r.useState)("self"),[k,B]=(0,r.useState)(""),[D,R]=(0,r.useState)(""),[I,M]=(0,r.useState)([]),[U,T]=(0,r.useState)([]),[q,_]=(0,r.useState)(!0),L=!!s.assignee;(0,r.useEffect)(()=>{!async function(){_(!0);let e=await f();M(e.agents||[]),T((e.users||[]).filter(e=>e.uuid!==A)),_(!1)}()},[A]);let P=async()=>{let e;if(E(!0),"self"===S)e=await v(s.uuid);else if("agent"===S&&k)e=await g(s.uuid,k);else if("user"===S&&D)e=await b(s.uuid,D);else{if("release"!==S)return void E(!1);e=await j(s.uuid)}E(!1),(null==e?void 0:e.success)&&(C.refresh(),N())},z="self"===S||"agent"===S&&k||"user"===S&&D||"release"===S&&L;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:N}),(0,a.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:w("ideas.assignIdea")}),(0,a.jsx)("button",{onClick:N,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,a.jsx)(i.A,{className:"h-5 w-5"})})]}),(0,a.jsxs)("div",{className:"p-6 space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:s.title}),s.content&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:s.content})]}),L&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[w("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(t=s.assignee)?void 0:t.name})]})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:w("ideas.selectIdeaAssignee")}),q?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(c.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(m.z,{value:S,onValueChange:e=>F(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>F("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(m.C,{value:"self",id:"idea-self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(x.J,{htmlFor:"idea-self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:w("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:w("ideas.assignToMyselfIdeaDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>F("agent"),children:[(0,a.jsx)(m.C,{value:"agent",id:"idea-agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(x.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:w("ideas.orAssignToPmAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:w("ideas.onlySelectedPmAgentCanWork")}),"agent"===S&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(p.l6,{value:k,onValueChange:B,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:w("ideas.selectPmAgent")})}),(0,a.jsx)(p.gC,{children:I.length>0?I.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:w("ideas.noPmAgentsAvailable")})})]})})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>F("user"),children:[(0,a.jsx)(m.C,{value:"user",id:"idea-user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(x.J,{htmlFor:"idea-user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:w("assign.orAssignToUser")})]}),"user"===S&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(p.l6,{value:D,onValueChange:R,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:w("tasks.selectUser")})}),(0,a.jsx)(p.gC,{children:U.length>0?U.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:w("tasks.noUsersAvailable")})})]})})]}),L&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===S?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>F("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(m.C,{value:"release",id:"idea-release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(x.J,{htmlFor:"idea-release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:w("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:w("ideas.releaseIdeaAssigneeDesc")})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:N,disabled:y,className:"border-[#E5E0D8]",children:w("common.cancel")}),(0,a.jsx)(u.$,{onClick:P,disabled:y||!z,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:y?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):w("release"===S?"common.release":"common.assign")})]})]})]})}},95900:(e,t,s)=>{s.d(t,{A:()=>a});let a=(0,s(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[45436],{5616:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},23675:(e,t,n)=>{var r=n(84675);n.o(r,"useParams")&&n.d(t,{useParams:function(){return r.useParams}}),n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},58057:(e,t,n)=>{n.r(t),n.d(t,{Label:()=>a,Root:()=>i});var r=n(1856),o=n(93367),l=n(90508),a=r.forwardRef((e,t)=>(0,l.jsx)(o.sG.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null==(n=e.onMouseDown)||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label";var i=a},60532:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},67103:(e,t,n)=>{n.d(t,{N:()=>D});var r=n(90508),o=n(1856),l=n(43827),a=n(66071),i=n(66506),s=n(95535),u=n(63605),c=n(8334);function d(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class p extends o.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,u.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,n=(0,u.s)(e)&&e.offsetWidth||0,r=(0,u.s)(e)&&e.offsetHeight||0,o=getComputedStyle(t),l=this.props.sizeRef.current;l.height=parseFloat(o.height),l.width=parseFloat(o.width),l.top=t.offsetTop,l.left=t.offsetLeft,l.right=n-l.width-l.left,l.bottom=r-l.height-l.top}return null}componentDidUpdate(){}render(){return this.props.children}}function f(e){var t,n;let{children:l,isPresent:a,anchorX:i,anchorY:s,root:u,pop:f}=e,h=(0,o.useId)(),g=(0,o.useRef)(null),m=(0,o.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:v}=(0,o.useContext)(c.Q),y=function(...e){return o.useCallback(function(...e){return t=>{let n=!1,r=e.map(e=>{let r=d(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():d(e[t],null)}}}}(...e),e)}(g,null!=(n=null==(t=l.props)?void 0:t.ref)?n:null==l?void 0:l.ref);return(0,o.useInsertionEffect)(()=>{let{width:e,height:t,top:n,left:r,right:o,bottom:l}=m.current;if(a||!1===f||!g.current||!e||!t)return;g.current.dataset.motionPopId=h;let c=document.createElement("style");v&&(c.nonce=v);let d=null!=u?u:document.head;return d.appendChild(c),c.sheet&&c.sheet.insertRule('\n [data-motion-pop-id="'.concat(h,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===i?"left: ".concat(r):"right: ".concat(o),"px !important;\n ").concat("bottom"===s?"bottom: ".concat(l):"top: ".concat(n),"px !important;\n }\n ")),()=>{var e;null==(e=g.current)||e.removeAttribute("data-motion-pop-id"),d.contains(c)&&d.removeChild(c)}},[a]),(0,r.jsx)(p,{isPresent:a,childRef:g,sizeRef:m,pop:f,children:!1===f?l:o.cloneElement(l,{ref:y})})}let h=e=>{let{children:t,initial:n,isPresent:l,onExitComplete:i,custom:u,presenceAffectsLayout:c,mode:d,anchorX:p,anchorY:h,root:m}=e,v=(0,a.M)(g),y=(0,o.useId)(),D=!0,x=(0,o.useMemo)(()=>(D=!1,{id:y,initial:n,isPresent:l,custom:u,onExitComplete:e=>{for(let t of(v.set(e,!0),v.values()))if(!t)return;i&&i()},register:e=>(v.set(e,!1),()=>v.delete(e))}),[l,v,i]);return c&&D&&(x={...x}),(0,o.useMemo)(()=>{v.forEach((e,t)=>v.set(t,!1))},[l]),o.useEffect(()=>{l||v.size||!i||i()},[l]),t=(0,r.jsx)(f,{pop:"popLayout"===d,isPresent:l,anchorX:p,anchorY:h,root:m,children:t}),(0,r.jsx)(s.t.Provider,{value:x,children:t})};function g(){return new Map}var m=n(99672);let v=e=>e.key||"";function y(e){let t=[];return o.Children.forEach(e,e=>{(0,o.isValidElement)(e)&&t.push(e)}),t}let D=e=>{let{children:t,custom:n,initial:s=!0,onExitComplete:u,presenceAffectsLayout:c=!0,mode:d="sync",propagate:p=!1,anchorX:f="left",anchorY:g="top",root:D}=e,[x,R]=(0,m.xQ)(p),C=(0,o.useMemo)(()=>y(t),[t]),b=p&&!x?[]:C.map(v),w=(0,o.useRef)(!0),P=(0,o.useRef)(C),j=(0,a.M)(()=>new Map),E=(0,o.useRef)(new Set),[A,k]=(0,o.useState)(C),[I,M]=(0,o.useState)(C);(0,i.E)(()=>{w.current=!1,P.current=C;for(let e=0;e<I.length;e++){let t=v(I[e]);b.includes(t)?(j.delete(t),E.current.delete(t)):!0!==j.get(t)&&j.set(t,!1)}},[I,b.length,b.join("-")]);let N=[];if(C!==A){let e=[...C];for(let t=0;t<I.length;t++){let n=I[t],r=v(n);b.includes(r)||(e.splice(t,0,n),N.push(n))}return"wait"===d&&N.length&&(e=N),M(y(e)),k(C),null}let{forceRender:O}=(0,o.useContext)(l.L);return(0,r.jsx)(r.Fragment,{children:I.map(e=>{let t=v(e),o=(!p||!!x)&&(C===I||b.includes(t));return(0,r.jsx)(h,{isPresent:o,initial:(!w.current||!!s)&&void 0,custom:n,presenceAffectsLayout:c,mode:d,root:D,onExitComplete:o?void 0:()=>{if(E.current.has(t)||!j.has(t))return;E.current.add(t),j.set(t,!0);let e=!0;j.forEach(t=>{t||(e=!1)}),e&&(null==O||O(),M(P.current),p&&(null==R||R()),u&&u())},anchorX:f,anchorY:g,children:e},t)})})}},71350:(e,t,n)=>{n.r(t),n.d(t,{Close:()=>el,Content:()=>en,Description:()=>eo,Dialog:()=>w,DialogClose:()=>H,DialogContent:()=>S,DialogDescription:()=>q,DialogOverlay:()=>N,DialogPortal:()=>I,DialogTitle:()=>K,DialogTrigger:()=>j,Overlay:()=>et,Portal:()=>ee,Root:()=>J,Title:()=>er,Trigger:()=>$,WarningProvider:()=>Q,createDialogScope:()=>R});var r=n(1856),o=n(33328),l=n(34124),a=n(21032),i=n(40577),s=n(66249),u=n(63569),c=n(80491),d=n(17533),p=n(19900),f=n(93367),h=n(12139),g=n(46523),m=n(2188),v=n(54154),y=n(90508),D="Dialog",[x,R]=(0,a.A)(D),[C,b]=x(D),w=e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:l,onOpenChange:a,modal:u=!0}=e,c=r.useRef(null),d=r.useRef(null),[p,f]=(0,s.i)({prop:o,defaultProp:null!=l&&l,onChange:a,caller:D});return(0,y.jsx)(C,{scope:t,triggerRef:c,contentRef:d,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:p,onOpenChange:f,onOpenToggle:r.useCallback(()=>f(e=>!e),[f]),modal:u,children:n})};w.displayName=D;var P="DialogTrigger",j=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=b(P,n),i=(0,l.s)(t,a.triggerRef);return(0,y.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":U(a.open),...r,ref:i,onClick:(0,o.mK)(e.onClick,a.onOpenToggle)})});j.displayName=P;var E="DialogPortal",[A,k]=x(E,{forceMount:void 0}),I=e=>{let{__scopeDialog:t,forceMount:n,children:o,container:l}=e,a=b(E,t);return(0,y.jsx)(A,{scope:t,forceMount:n,children:r.Children.map(o,e=>(0,y.jsx)(p.C,{present:n||a.open,children:(0,y.jsx)(d.Portal,{asChild:!0,container:l,children:e})}))})};I.displayName=E;var M="DialogOverlay",N=r.forwardRef((e,t)=>{let n=k(M,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,l=b(M,e.__scopeDialog);return l.modal?(0,y.jsx)(p.C,{present:r||l.open,children:(0,y.jsx)(F,{...o,ref:t})}):null});N.displayName=M;var O=(0,v.TL)("DialogOverlay.RemoveScroll"),F=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=b(M,n);return(0,y.jsx)(g.A,{as:O,allowPinchZoom:!0,shards:[o.contentRef],children:(0,y.jsx)(f.sG.div,{"data-state":U(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),_="DialogContent",S=r.forwardRef((e,t)=>{let n=k(_,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,l=b(_,e.__scopeDialog);return(0,y.jsx)(p.C,{present:r||l.open,children:l.modal?(0,y.jsx)(T,{...o,ref:t}):(0,y.jsx)(L,{...o,ref:t})})});S.displayName=_;var T=r.forwardRef((e,t)=>{let n=b(_,e.__scopeDialog),a=r.useRef(null),i=(0,l.s)(t,n.contentRef,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,m.Eq)(e)},[]),(0,y.jsx)(B,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=n.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,o.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault())})}),L=r.forwardRef((e,t)=>{let n=b(_,e.__scopeDialog),o=r.useRef(!1),l=r.useRef(!1);return(0,y.jsx)(B,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var r,a;null==(r=e.onCloseAutoFocus)||r.call(e,t),t.defaultPrevented||(o.current||null==(a=n.triggerRef.current)||a.focus(),t.preventDefault()),o.current=!1,l.current=!1},onInteractOutside:t=>{var r,a;null==(r=e.onInteractOutside)||r.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(l.current=!0));let i=t.target;(null==(a=n.triggerRef.current)?void 0:a.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&l.current&&t.preventDefault()}})}),B=r.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,...s}=e,d=b(_,n),p=r.useRef(null),f=(0,l.s)(t,p);return(0,h.Oh)(),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(c.n,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,y.jsx)(u.qW,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":U(d.open),...s,ref:f,onDismiss:()=>d.onOpenChange(!1)})}),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Y,{titleId:d.titleId}),(0,y.jsx)(Z,{contentRef:p,descriptionId:d.descriptionId})]})]})}),G="DialogTitle",K=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=b(G,n);return(0,y.jsx)(f.sG.h2,{id:o.titleId,...r,ref:t})});K.displayName=G;var W="DialogDescription",q=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=b(W,n);return(0,y.jsx)(f.sG.p,{id:o.descriptionId,...r,ref:t})});q.displayName=W;var z="DialogClose",H=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,l=b(z,n);return(0,y.jsx)(f.sG.button,{type:"button",...r,ref:t,onClick:(0,o.mK)(e.onClick,()=>l.onOpenChange(!1))})});function U(e){return e?"open":"closed"}H.displayName=z;var V="DialogTitleWarning",[Q,X]=(0,a.q)(V,{contentName:_,titleName:G,docsSlug:"dialog"}),Y=e=>{let{titleId:t}=e,n=X(V),o="`".concat(n.contentName,"` requires a `").concat(n.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(n.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(n.docsSlug);return r.useEffect(()=>{t&&(document.getElementById(t)||console.error(o))},[o,t]),null},Z=e=>{let{contentRef:t,descriptionId:n}=e,o=X("DialogDescriptionWarning"),l="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(o.contentName,"}.");return r.useEffect(()=>{var e;let r=null==(e=t.current)?void 0:e.getAttribute("aria-describedby");n&&r&&(document.getElementById(n)||console.warn(l))},[l,t,n]),null},J=w,$=j,ee=I,et=N,en=S,er=K,eo=q,el=H},71388:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},78948:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},85226:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}}]);
|
|
@@ -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":"查看全部","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","completed":"已完成","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","elaborationRequiredHint":"完成或跳过需求澄清后才能创建方案","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节..."},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"}}')}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[49852],{5425:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},10263:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},17730:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},23217:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},25373:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},29767:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},38476:(e,t,a)=>{a.r(t),a.d(t,{Collapsible:()=>x,CollapsibleContent:()=>w,CollapsibleTrigger:()=>b,Content:()=>j,Root:()=>M,Trigger:()=>N,createCollapsibleScope:()=>y});var r=a(1856),n=a(33328),l=a(21032),o=a(66249),i=a(99457),d=a(34124),s=a(93367),u=a(19900),p=a(40577),c=a(90508),f="Collapsible",[h,y]=(0,l.A)(f),[m,v]=h(f),x=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,open:n,defaultOpen:l,disabled:i,onOpenChange:d,...u}=e,[h,y]=(0,o.i)({prop:n,defaultProp:null!=l&&l,onChange:d,caller:f});return(0,c.jsx)(m,{scope:a,disabled:i,contentId:(0,p.B)(),open:h,onOpenToggle:r.useCallback(()=>y(e=>!e),[y]),children:(0,c.jsx)(s.sG.div,{"data-state":C(h),"data-disabled":i?"":void 0,...u,ref:t})})});x.displayName=f;var g="CollapsibleTrigger",b=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,...r}=e,l=v(g,a);return(0,c.jsx)(s.sG.button,{type:"button","aria-controls":l.contentId,"aria-expanded":l.open||!1,"data-state":C(l.open),"data-disabled":l.disabled?"":void 0,disabled:l.disabled,...r,ref:t,onClick:(0,n.mK)(e.onClick,l.onOpenToggle)})});b.displayName=g;var k="CollapsibleContent",w=r.forwardRef((e,t)=>{let{forceMount:a,...r}=e,n=v(k,e.__scopeCollapsible);return(0,c.jsx)(u.C,{present:a||n.open,children:e=>{let{present:a}=e;return(0,c.jsx)(A,{...r,ref:t,present:a})}})});w.displayName=k;var A=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,present:n,children:l,...o}=e,u=v(k,a),[p,f]=r.useState(n),h=r.useRef(null),y=(0,d.s)(t,h),m=r.useRef(0),x=m.current,g=r.useRef(0),b=g.current,w=u.open||p,A=r.useRef(w),M=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>A.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.N)(()=>{let e=h.current;if(e){M.current=M.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();m.current=t.height,g.current=t.width,A.current||(e.style.transitionDuration=M.current.transitionDuration,e.style.animationName=M.current.animationName),f(n)}},[u.open,n]),(0,c.jsx)(s.sG.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...o,ref:y,style:{"--radix-collapsible-content-height":x?"".concat(x,"px"):void 0,"--radix-collapsible-content-width":b?"".concat(b,"px"):void 0,...e.style},children:w&&l})});function C(e){return e?"open":"closed"}var M=x,N=b,j=w},38931:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},51581:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]])},55764:(e,t,a)=>{a.d(t,{C1:()=>b,bL:()=>g});var r=a(1856),n=a(90508),l=a(81597),o="Progress",[i,d]=function(e,t=[]){let a=[],l=()=>{let t=a.map(e=>r.createContext(e));return function(a){let n=a?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...a,[e]:n}}),[a,n])}};return l.scopeName=e,[function(t,l){let o=r.createContext(l);o.displayName=t+"Context";let i=a.length;a=[...a,l];let d=t=>{let{scope:a,children:l,...d}=t,s=a?.[e]?.[i]||o,u=r.useMemo(()=>d,Object.values(d));return(0,n.jsx)(s.Provider,{value:u,children:l})};return d.displayName=t+"Provider",[d,function(a,n){let d=n?.[e]?.[i]||o,s=r.useContext(d);if(s)return s;if(void 0!==l)return l;throw Error(`\`${a}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let a=()=>{let a=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=a.reduce((t,{useScope:a,scopeName:r})=>{let n=a(e)[`__scope${r}`];return{...t,...n}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return a.scopeName=t.scopeName,a}(l,...t)]}(o),[s,u]=i(o),p=r.forwardRef((e,t)=>{var a,r,o,i;let{__scopeProgress:d,value:u=null,max:p,getValueLabel:c=h,...f}=e;(p||0===p)&&!v(p)&&console.error((a="".concat(p),r="Progress","Invalid prop `max` of value `".concat(a,"` supplied to `").concat(r,"`. Only numbers greater than 0 are valid max values. Defaulting to `").concat(100,"`.")));let g=v(p)?p:100;null===u||x(u,g)||console.error((o="".concat(u),i="Progress","Invalid prop `value` of value `".concat(o,"` supplied to `").concat(i,"`. 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(u,g)?u:null,k=m(b)?c(b,g):void 0;return(0,n.jsx)(s,{scope:d,value:b,max:g,children:(0,n.jsx)(l.sG.div,{"aria-valuemax":g,"aria-valuemin":0,"aria-valuenow":m(b)?b:void 0,"aria-valuetext":k,role:"progressbar","data-state":y(b,g),"data-value":null!=b?b:void 0,"data-max":g,...f,ref:t})})});p.displayName=o;var c="ProgressIndicator",f=r.forwardRef((e,t)=>{var a;let{__scopeProgress:r,...o}=e,i=u(c,r);return(0,n.jsx)(l.sG.div,{"data-state":y(i.value,i.max),"data-value":null!=(a=i.value)?a:void 0,"data-max":i.max,...o,ref:t})});function h(e,t){return"".concat(Math.round(e/t*100),"%")}function y(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function m(e){return"number"==typeof e}function v(e){return m(e)&&!isNaN(e)&&e>0}function x(e,t){return m(e)&&!isNaN(e)&&e<=t&&e>=0}f.displayName=c;var g=p,b=f},56770:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},62898:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},81597:(e,t,a)=>{a.d(t,{sG:()=>c});var r=a(1856),n=a.t(r,2);a(38129);var l=a(34124),o=a(90508),i=Symbol.for("react.lazy"),d=n[" use ".trim().toString()];function s(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var u=Symbol("radix.slottable");function p(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u}var c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let a=function(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:a,...n}=e;if(s(a)&&"function"==typeof d&&(a=d(a._payload)),r.isValidElement(a)){var o;let e,i,d=(o=a,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let a={...t};for(let r in t){let n=e[r],l=t[r];/^on[A-Z]/.test(r)?n&&l?a[r]=(...e)=>{let t=l(...e);return n(...e),t}:n&&(a[r]=n):"style"===r?a[r]={...n,...l}:"className"===r&&(a[r]=[n,l].filter(Boolean).join(" "))}return{...e,...a}}(n,a.props);return a.type!==r.Fragment&&(s.ref=t?(0,l.t)(t,d):d),r.cloneElement(a,s)}return r.Children.count(a)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),a=r.forwardRef((e,a)=>{let{children:n,...l}=e;s(n)&&"function"==typeof d&&(n=d(n._payload));let i=r.Children.toArray(n),u=i.find(p);if(u){let e=u.props.children,n=i.map(t=>t!==u?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...l,ref:a,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,o.jsx)(t,{...l,ref:a,children:n})});return a.displayName=`${e}.Slot`,a}(`Primitive.${t}`),n=r.forwardRef((e,r)=>{let{asChild:n,...l}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(n?a:t,{...l,ref:r})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{})},88634:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},95900:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}}]);
|
package/.next/standalone/.next/static/chunks/{52206-6048525f57a21502.js → 52206-7c1b0c695c8035eb.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52206,59296],{5810:(e,t,n)=>{n.d(t,{$:()=>U});var r=n(90508),a=n(1856),o=n(39268),s=n(94903),l=n(85226),i=n(95886),c=n(36755),d=n(5425),u=n(22922),m=n(73693),f=n(42242),p=n(85783),x=n(99783),h=n(24377),g=n(42305);let v=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})}}}});function y(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;return e?"@[".concat(e.label||e.id,"](").concat(e.mentionType||"user",":").concat(e.id,")"):""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let n=t.content;return n?n.map(e).join(""):""})(e)).join("\n"):""}function b(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],a=0,o=RegExp(t.source,"g");for(;null!==(n=o.exec(e));)n.index>a&&r.push({type:"text",text:e.slice(a,n.index)}),r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2]}}),a=n.index+n[0].length;return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function w(e,t,n,r,a){if(a.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",a.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let s=0,l=e=>{n({id:e.uuid,label:e.name,mentionType:e.type})},i=()=>{o.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===s?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>l(e);let r=document.createElement("div");r.className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),r.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>';let a=document.createElement("div");a.className="min-w-0 flex-1";let i=document.createElement("div");if(i.className="truncate text-xs font-medium",i.textContent=e.name,a.appendChild(i),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,a.appendChild(t)}if("agent"===e.type&&e.roles&&e.roles.length>0){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.roles.join(", "),a.appendChild(t)}n.appendChild(r),n.appendChild(a),o.appendChild(n)})};i(),a.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,g.P)(n)&&("ArrowUp"===n.key?(s=s<=0?e.length-1:s-1,i(),!0):"ArrowDown"===n.key?(s=s>=e.length-1?0:s+1,i(),!0):"Enter"===n.key?(e[s]&&l(e[s]),!0):"Escape"===n.key)}}}let j=(0,a.forwardRef)((e,t)=>{let{value:n,onChange:o,placeholder:s,className:l,disabled:i,onSubmit:c}=e,d=(0,a.useRef)([]),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),x=(0,a.useRef)(null),j=(0,a.useRef)(null),N=(0,a.useRef)(null),[,E]=(0,a.useState)(0),C=(0,a.useRef)(!1),A=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let o=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}((0,a.useCallback)(async e=>{u.current=!0,E(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10"));if(t.ok){let e=await t.json();e.success&&(d.current=e.data)}}catch(e){d.current=[]}finally{u.current=!1,E(e=>e+1)}},[]),250);(0,a.useEffect)(()=>{j.current&&N.current&&w(d.current,u.current,N.current,m,j.current)});let k=(0,f.hG)({immediatelyRender:!1,extensions:[p.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),v.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return A(t),d.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",j.current=n,N.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=x.current)?t:document.body).appendChild(n),w(d.current,u.current,e.command,m,n)},onUpdate:e=>{if(N.current=e.command,j.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(j.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(j.current.style.top="",j.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(j.current.style.bottom="",j.current.style.top="".concat(t.bottom+4,"px")))}j.current&&w(d.current,u.current,e.command,m,j.current)},onKeyDown:e=>!!m.current&&m.current.onKeyDown(e),onExit:()=>{var e;null==(e=j.current)||e.remove(),j.current=null,N.current=null,d.current=[],u.current=!1}})}})],content:b(n),editable:!i,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":s||""},handleKeyDown:(e,t)=>!(0,g.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!j.current&&!!c&&(t.preventDefault(),c(),!0)},onUpdate:e=>{let{editor:t}=e;C.current=!0,o(y(t))}});return(0,a.useEffect)(()=>{if(!k||C.current){C.current=!1;return}y(k)!==n&&k.commands.setContent(b(n))},[n,k]),(0,a.useEffect)(()=>{k&&k.setEditable(!i)},[i,k]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==k?void 0:k.commands.focus(),clear:()=>{null==k||k.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:x,className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",i&&"cursor-not-allowed opacity-50",l),children:[(0,r.jsx)(f.$Z,{editor:k}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});j.displayName="MentionEditor";var N=n(75024),E=n(52217);let C=(0,E.createServerReference)("7030e5bddb8203c1a4309d65deac0510675de0ade6",E.callServer,void 0,E.findSourceMapURL,"createCommentAction");var A=n(97261);let k=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g,T=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g;function z(e){let{children:t}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(k.source).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{children:t})});let{processed:n,mentions:a}=function(e){let t=[],n=RegExp(k.source,"g");return{processed:e.replace(n,(e,n,r,a)=>{let o=t.length;return t.push({displayName:n,type:r,uuid:a}),"".concat("MENTION_").concat(o).concat("")}),mentions:t}}(t);return(0,r.jsx)(R,{mentions:a,children:(0,r.jsx)(A.MarkdownContent,{children:n})})}function R(e){let{children:t,mentions:n}=e,o=a.useRef(null);return a.useEffect(()=>{let e;if(!o.current||0===n.length)return;let t=document.createTreeWalker(o.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)T.test(e.textContent||"")&&r.push(e),T.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",o=document.createDocumentFragment(),s=0,l=RegExp(T.source,"g");for(;null!==(t=l.exec(r));){t.index>s&&o.appendChild(document.createTextNode(r.slice(s,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),o.appendChild(t)}else o.appendChild(document.createTextNode(t[0]));s=t.index+t[0].length}s<r.length&&o.appendChild(document.createTextNode(r.slice(s))),null==(a=e.parentNode)||a.replaceChild(o,e)}},[n]),(0,r.jsx)("div",{ref:o,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var S=n(63964),_=n(96213),D=n(30423),M=n(38106),B=n(67587);function U(e){let{targetType:t,targetUuid:n,currentUserUuid:d,onCountChange:f,compact:p=!1}=e,x=(0,o.c)(),[h,g]=(0,a.useState)(""),[v,y]=(0,a.useState)([]),[b,w]=(0,a.useState)(!0),[E,A]=(0,a.useState)(null),[k,T]=(0,a.useState)(!1),z=(0,a.useRef)(null),R=p?"h-6 w-6":"h-[30px] w-[30px]",D=p?"gap-2":"gap-2.5",M=p?"h-3 w-3":"h-[15px] w-[15px]";(0,a.useEffect)(()=>{null==f||f(v.length)},[v.length,f]);let U=(0,a.useCallback)(async()=>{w(!0),A(null);let e=await (0,N.d)(t,n);e.success?y(e.comments):A(e.error),w(!1)},[t,n]);(0,a.useEffect)(()=>{U()},[U]),(0,S.w0)(t,n,e=>{d&&e.actorUuid===d||(0,N.d)(t,n).then(e=>{e.success&&y(e.comments)})});let L=async()=>{if(!h.trim()||k)return;T(!0);let e=await C(t,n,h);if(T(!1),e.success){var r;y(t=>[...t,e.comment]),g(""),null==(r=z.current)||r.clear()}else B.oR.error(e.error)},H=[...v].reverse();return(0,r.jsx)(_.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(D," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(p?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(s.A,{className:"".concat(p?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(j,{ref:z,value:h,onChange:g,onSubmit:L,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:k})}),(0,r.jsx)(u.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:L,children:k?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(l.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):E?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:U,children:x("comments.retry")})]}):0===H.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):H.map(e=>(0,r.jsx)(F,{comment:e,compact:p,avatarSize:R,gap:D,iconSize:M,t:x},e.uuid))})]})})}function F(e){let{comment:t,compact:n,avatarSize:o,gap:s,iconSize:l,t:i}=e,[c,f]=(0,a.useState)(!1),p="agent"===t.author.type,x=p?(0,D.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(s," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(o," shrink-0"),children:(0,r.jsx)(m.q5,{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:p?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:p?(0,r.jsx)(d.A,{className:l}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(p?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(p?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/6e4),o=Math.floor(r/36e5),s=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):o<24?t("time.hoursAgo",{hours:o}):s<7?t("time.daysAgo",{days:s}):(0,M.r)(n)}(t.createdAt,i)})]}),p&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:i("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content.slice(0,200)+"..."}),(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content}),h&&(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},22922:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(90508);n(1856);var a=n(49499),o=n(54154),s=n(24377);let l=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:n="default",size:a="default",asChild:i=!1,...c}=e,d=i?o.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,s.cn)(l({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(o,":").concat(s)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let o=new Map,s=new Map,l=new Map,i=new Set,c=0;function d(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){c++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=d(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,a){let o=d(e,t,r,a);return"".concat(o,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),c=s.get(i);if(c&&Date.now()-c<3e3)return;s.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=o.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),o.set(a,f);let p=l.get(i);p&&clearTimeout(p);let x=setTimeout(()=>{let t=o.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?o.delete(a):o.set(a,n)}s.delete(i),l.delete(i),u()},3e3);l.set(i,x),u()}function f(){return c}function p(e){return i.add(e),()=>{i.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=o.get(d(e,t,n,r)))?a:[]}let s="".concat(e,":").concat(t),l=new Map;for(let[e,t]of o)if(e===s||e.startsWith(s+":"))for(let e of t){let t=l.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&l.set(e.agentUuid,e)}return[...l.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>i,Wu:()=>d,X9:()=>c,ZB:()=>l,Zp:()=>o,aR:()=>s,wL:()=>u});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-action",className:(0,a.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...n})}function d(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}function u(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-footer",className:(0,a.cn)("flex items-center px-6 [.border-t]:pt-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>x,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>g,ck:()=>f,r7:()=>p,tv:()=>i,wd:()=>m});var r=n(90508);n(1856);var a=n(90299),o=n(24377),s=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"alert-dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(a.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(a.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...s}=e;return(0,r.jsxs)(c,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(a.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...s})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,o.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(a.Title,{"data-slot":"alert-dialog-title",className:(0,o.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(a.Description,{"data-slot":"alert-dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}function h(e){let{className:t,variant:n="default",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Action,{"data-slot":"alert-dialog-action",className:(0,o.cn)(t),...i})})}function g(e){let{className:t,variant:n="outline",size:l="default",...i}=e;return(0,r.jsx)(s.$,{variant:n,size:l,asChild:!0,children:(0,r.jsx)(a.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,o.cn)(t),...i})})}},63964:(e,t,n)=>{n.d(t,{S2:()=>c,eV:()=>i,l9:()=>l,tS:()=>s,w0:()=>d});var r=n(90508),a=n(1856);n(23675);let o=(0,a.createContext)(null);function s(e){let{projectUuid:t,children:n}=e,s=(0,a.useRef)(new Set),l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{s.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{l.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function o(){s(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void i.current.forEach(e=>e(n));let o=n;clearTimeout(e);let s=Date.now(),l=s-r;l>=3e3?(r=s,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-l));let u=o.entityType;clearTimeout(a[u]),a[u]=setTimeout(()=>{d(o)},300)},n.onerror=()=>{}}function s(){n&&(n.close(),n=null)}function l(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(o(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return o(),document.addEventListener("visibilitychange",l),()=>{for(let t in s(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",l)}},[t,c,d]);let u=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:f}),[u,m,f]);return(0,r.jsx)(o.Provider,{value:p,children:n})}function l(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,a.useContext)(o),r=(0,a.useRef)(t);r.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function c(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function d(e,t,n){let r=(0,a.useContext)(o),s=(0,a.useRef)(n);s.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&s.current(n)})},[r,e,t])}},67712:(e,t,n)=>{n.d(t,{q:()=>l});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},o=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function s(e){return a[e]>=a[o]}let l={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];s("error")&&console.error("[Chorus] ".concat(e),...n)}}},73693:(e,t,n)=>{n.d(t,{eu:()=>s,q5:()=>l});var r=n(90508);n(1856);var a=n(65514),o=n(24377);function s(e){let{className:t,size:n="default",...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,o.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...s})}function l(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,o.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},75024:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>l});var r=n(90508),a=n(47754),o=n(30423),s=n(5425);function l(e){let{entityType:t,entityUuid:n,subEntityType:s,subEntityUuid:l,children:c,badgeInside:d}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,s,l),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,o.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(d?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(i,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),c]})}function i(e){let{entry:t}=e,n=(0,o.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(s.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var r=n(90508),a=n(1856),o=n(65700),s=n(19169),l=n(26190);let i={code:s.a,mermaid:l.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t}=e,n=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),s=(0,a.useMemo)(()=>({config:{theme:n?"dark":"default"}}),[n]);return(0,r.jsx)(o.jH,{plugins:i,controls:c,mermaid:s,children:t},n?"dark":"light")}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52206,59296],{5810:(e,t,n)=>{n.d(t,{$:()=>U});var r=n(90508),a=n(1856),o=n(39268),l=n(94903),s=n(85226),i=n(95886),c=n(36755),d=n(5425),u=n(22922),m=n(73693),f=n(42242),p=n(85783),x=n(99783),h=n(24377),g=n(42305);let v=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})}}}});function y(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;return e?"@[".concat(e.label||e.id,"](").concat(e.mentionType||"user",":").concat(e.id,")"):""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let n=t.content;return n?n.map(e).join(""):""})(e)).join("\n"):""}function b(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],a=0,o=RegExp(t.source,"g");for(;null!==(n=o.exec(e));)n.index>a&&r.push({type:"text",text:e.slice(a,n.index)}),r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2]}}),a=n.index+n[0].length;return a<e.length&&r.push({type:"text",text:e.slice(a)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function w(e,t,n,r,a){if(a.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',a.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",a.appendChild(e);return}let o=document.createElement("div");o.className="py-1";let l=0,s=e=>{n({id:e.uuid,label:e.name,mentionType:e.type})},i=()=>{o.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===l?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="flex h-6 w-6 shrink-0 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),r.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>';let a=document.createElement("div");a.className="min-w-0 flex-1";let i=document.createElement("div");if(i.className="truncate text-xs font-medium",i.textContent=e.name,a.appendChild(i),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,a.appendChild(t)}if("agent"===e.type&&e.roles&&e.roles.length>0){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.roles.join(", "),a.appendChild(t)}n.appendChild(r),n.appendChild(a),o.appendChild(n)})};i(),a.appendChild(o),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,g.P)(n)&&("ArrowUp"===n.key?(l=l<=0?e.length-1:l-1,i(),!0):"ArrowDown"===n.key?(l=l>=e.length-1?0:l+1,i(),!0):"Enter"===n.key?(e[l]&&s(e[l]),!0):"Escape"===n.key)}}}let j=(0,a.forwardRef)((e,t)=>{let{value:n,onChange:o,placeholder:l,className:s,disabled:i,onSubmit:c}=e,d=(0,a.useRef)([]),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),x=(0,a.useRef)(null),j=(0,a.useRef)(null),N=(0,a.useRef)(null),[,E]=(0,a.useState)(0),C=(0,a.useRef)(!1),A=function(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(e);r.current=e;let o=(0,a.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,a.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}((0,a.useCallback)(async e=>{u.current=!0,E(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10"));if(t.ok){let e=await t.json();e.success&&(d.current=e.data)}}catch(e){d.current=[]}finally{u.current=!1,E(e=>e+1)}},[]),250);(0,a.useEffect)(()=>{j.current&&N.current&&w(d.current,u.current,N.current,m,j.current)});let k=(0,f.hG)({immediatelyRender:!1,extensions:[p.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),v.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return A(t),d.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",j.current=n,N.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=x.current)?t:document.body).appendChild(n),w(d.current,u.current,e.command,m,n)},onUpdate:e=>{if(N.current=e.command,j.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(j.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(j.current.style.top="",j.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(j.current.style.bottom="",j.current.style.top="".concat(t.bottom+4,"px")))}j.current&&w(d.current,u.current,e.command,m,j.current)},onKeyDown:e=>!!m.current&&m.current.onKeyDown(e),onExit:()=>{var e;null==(e=j.current)||e.remove(),j.current=null,N.current=null,d.current=[],u.current=!1}})}})],content:b(n),editable:!i,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":l||""},handleKeyDown:(e,t)=>!(0,g.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!j.current&&!!c&&(t.preventDefault(),c(),!0)},onUpdate:e=>{let{editor:t}=e;C.current=!0,o(y(t))}});return(0,a.useEffect)(()=>{if(!k||C.current){C.current=!1;return}y(k)!==n&&k.commands.setContent(b(n))},[n,k]),(0,a.useEffect)(()=>{k&&k.setEditable(!i)},[i,k]),(0,a.useImperativeHandle)(t,()=>({focus:()=>null==k?void 0:k.commands.focus(),clear:()=>{null==k||k.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:x,className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",i&&"cursor-not-allowed opacity-50",s),children:[(0,r.jsx)(f.$Z,{editor:k}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});j.displayName="MentionEditor";var N=n(75024),E=n(52217);let C=(0,E.createServerReference)("7030e5bddb8203c1a4309d65deac0510675de0ade6",E.callServer,void 0,E.findSourceMapURL,"createCommentAction");var A=n(97261);let k=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g,T=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g;function z(e){let{children:t}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(k.source).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(A.MarkdownContent,{children:t})});let{processed:n,mentions:a}=function(e){let t=[],n=RegExp(k.source,"g");return{processed:e.replace(n,(e,n,r,a)=>{let o=t.length;return t.push({displayName:n,type:r,uuid:a}),"".concat("MENTION_").concat(o).concat("")}),mentions:t}}(t);return(0,r.jsx)(R,{mentions:a,children:(0,r.jsx)(A.MarkdownContent,{children:n})})}function R(e){let{children:t,mentions:n}=e,o=a.useRef(null);return a.useEffect(()=>{let e;if(!o.current||0===n.length)return;let t=document.createTreeWalker(o.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)T.test(e.textContent||"")&&r.push(e),T.lastIndex=0;for(let e of r){var a;let t,r=e.textContent||"",o=document.createDocumentFragment(),l=0,s=RegExp(T.source,"g");for(;null!==(t=s.exec(r));){t.index>l&&o.appendChild(document.createTextNode(r.slice(l,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),o.appendChild(t)}else o.appendChild(document.createTextNode(t[0]));l=t.index+t[0].length}l<r.length&&o.appendChild(document.createTextNode(r.slice(l))),null==(a=e.parentNode)||a.replaceChild(o,e)}},[n]),(0,r.jsx)("div",{ref:o,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var S=n(63964),_=n(96213),D=n(30423),M=n(38106),B=n(67587);function U(e){let{targetType:t,targetUuid:n,currentUserUuid:d,onCountChange:f,compact:p=!1}=e,x=(0,o.c)(),[h,g]=(0,a.useState)(""),[v,y]=(0,a.useState)([]),[b,w]=(0,a.useState)(!0),[E,A]=(0,a.useState)(null),[k,T]=(0,a.useState)(!1),z=(0,a.useRef)(null),R=p?"h-6 w-6":"h-[30px] w-[30px]",D=p?"gap-2":"gap-2.5",M=p?"h-3 w-3":"h-[15px] w-[15px]";(0,a.useEffect)(()=>{null==f||f(v.length)},[v.length,f]);let U=(0,a.useCallback)(async()=>{w(!0),A(null);let e=await (0,N.d)(t,n);e.success?y(e.comments):A(e.error),w(!1)},[t,n]);(0,a.useEffect)(()=>{U()},[U]),(0,S.w0)(t,n,e=>{d&&e.actorUuid===d||(0,N.d)(t,n).then(e=>{e.success&&y(e.comments)})});let L=async()=>{if(!h.trim()||k)return;T(!0);let e=await C(t,n,h);if(T(!1),e.success){var r;y(t=>[...t,e.comment]),g(""),null==(r=z.current)||r.clear()}else B.oR.error(e.error)},H=[...v].reverse();return(0,r.jsx)(_.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(D," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(p?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(l.A,{className:"".concat(p?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(j,{ref:z,value:h,onChange:g,onSubmit:L,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:k})}),(0,r.jsx)(u.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||k,onClick:L,children:k?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(s.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):E?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:U,children:x("comments.retry")})]}):0===H.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):H.map(e=>(0,r.jsx)(F,{comment:e,compact:p,avatarSize:R,gap:D,iconSize:M,t:x},e.uuid))})]})})}function F(e){let{comment:t,compact:n,avatarSize:o,gap:l,iconSize:s,t:i}=e,[c,f]=(0,a.useState)(!1),p="agent"===t.author.type,x=p?(0,D.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(l," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(o," shrink-0"),children:(0,r.jsx)(m.q5,{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:p?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:p?(0,r.jsx)(d.A,{className:s}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:p?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(p?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:i(p?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/6e4),o=Math.floor(r/36e5),l=Math.floor(r/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):o<24?t("time.hoursAgo",{hours:o}):l<7?t("time.daysAgo",{days:l}):(0,M.r)(n)}(t.createdAt,i)})]}),p&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:i("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content.slice(0,200)+"..."}),(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(z,{children:t.content}),h&&(0,r.jsx)(u.$,{variant:"link",size:"sm",onClick:()=>f(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:i("comments.showLess")})]})})]})]})}},22922:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(90508);n(1856);var a=n(49499),o=n(54154),l=n(24377);let s=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i(e){let{className:t,variant:n="default",size:a="default",asChild:i=!1,...c}=e,d=i?o.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,l.cn)(s({variant:n,size:a,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>o});var r=n(49251),a=n(58849);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(o,":").concat(l)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},42305:(e,t,n)=>{n.d(t,{P:()=>r});function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),a=n(63964);let o=new Map,l=new Map,s=new Map,i=new Set,c=0;function d(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){c++,i.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=d(e.entityType,e.entityUuid,n,r),i=function(e,t,n,r,a){let o=d(e,t,r,a);return"".concat(o,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),c=l.get(i);if(c&&Date.now()-c<3e3)return;l.set(i,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=o.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),o.set(a,f);let p=s.get(i);p&&clearTimeout(p);let x=setTimeout(()=>{let t=o.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?o.delete(a):o.set(a,n)}l.delete(i),s.delete(i),u()},3e3);s.set(i,x),u()}function f(){return c}function p(e){return i.add(e),()=>{i.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=o.get(d(e,t,n,r)))?a:[]}let l="".concat(e,":").concat(t),s=new Map;for(let[e,t]of o)if(e===l||e.startsWith(l+":"))for(let e of t){let t=s.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&s.set(e.agentUuid,e)}return[...s.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>i,Wu:()=>c,ZB:()=>s,Zp:()=>o,aR:()=>l});var r=n(90508);n(1856);var a=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>x,EO:()=>u,Lt:()=>s,Rx:()=>h,Zr:()=>g,ck:()=>f,r7:()=>p,tv:()=>i,wd:()=>m});var r=n(90508);n(1856);var a=n(90299),o=n(24377),l=n(22922);function s(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"alert-dialog",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(a.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,r.jsx)(a.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...l}=e;return(0,r.jsxs)(c,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(a.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...l})]})}function m(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,o.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(a.Title,{"data-slot":"alert-dialog-title",className:(0,o.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(a.Description,{"data-slot":"alert-dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}function h(e){let{className:t,variant:n="default",size:s="default",...i}=e;return(0,r.jsx)(l.$,{variant:n,size:s,asChild:!0,children:(0,r.jsx)(a.Action,{"data-slot":"alert-dialog-action",className:(0,o.cn)(t),...i})})}function g(e){let{className:t,variant:n="outline",size:s="default",...i}=e;return(0,r.jsx)(l.$,{variant:n,size:s,asChild:!0,children:(0,r.jsx)(a.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,o.cn)(t),...i})})}},63964:(e,t,n)=>{n.d(t,{S2:()=>c,eV:()=>i,l9:()=>s,tS:()=>l,w0:()=>d});var r=n(90508),a=n(1856);n(23675);let o=(0,a.createContext)(null);function l(e){let{projectUuid:t,children:n}=e,l=(0,a.useRef)(new Set),s=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{l.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{s.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function o(){l(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void i.current.forEach(e=>e(n));let o=n;clearTimeout(e);let l=Date.now(),s=l-r;s>=3e3?(r=l,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-s));let u=o.entityType;clearTimeout(a[u]),a[u]=setTimeout(()=>{d(o)},300)},n.onerror=()=>{}}function l(){n&&(n.close(),n=null)}function s(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(o(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return o(),document.addEventListener("visibilitychange",s),()=>{for(let t in l(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",s)}},[t,c,d]);let u=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:f}),[u,m,f]);return(0,r.jsx)(o.Provider,{value:p,children:n})}function s(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function i(e,t){let n=(0,a.useContext)(o),r=(0,a.useRef)(t);r.current=t;let l=(0,a.useRef)(e);l.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=l.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function c(e){let t=(0,a.useContext)(o),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function d(e,t,n){let r=(0,a.useContext)(o),l=(0,a.useRef)(n);l.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&l.current(n)})},[r,e,t])}},67712:(e,t,n)=>{n.d(t,{q:()=>s});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},o=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function l(e){return a[e]>=a[o]}let s={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];l("error")&&console.error("[Chorus] ".concat(e),...n)}}},73693:(e,t,n)=>{n.d(t,{eu:()=>l,q5:()=>s});var r=n(90508);n(1856);var a=n(65514),o=n(24377);function l(e){let{className:t,size:n="default",...l}=e;return(0,r.jsx)(a.Root,{"data-slot":"avatar","data-size":n,className:(0,o.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...l})}function s(e){let{className:t,...n}=e;return(0,r.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,o.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},75024:(e,t,n)=>{n.d(t,{d:()=>a});var r=n(52217);let a=(0,r.createServerReference)("60f6e47a0c3981cac67a3f6ce39eb2c02aa9566f71",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},96213:(e,t,n)=>{n.d(t,{D:()=>s});var r=n(90508),a=n(47754),o=n(30423),l=n(5425);function s(e){let{entityType:t,entityUuid:n,subEntityType:l,subEntityUuid:s,children:c,badgeInside:d}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,l,s),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,o.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(d?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(i,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),c]})}function i(e){let{entry:t}=e,n=(0,o.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(l.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var r=n(90508),a=n(1856),o=n(65700),l=n(19169),s=n(26190);let i={code:l.a,mermaid:s.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t}=e,n=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>r.disconnect()},[]),e}(),l=(0,a.useMemo)(()=>({config:{theme:n?"dark":"default"}}),[n]);return(0,r.jsx)(o.jH,{plugins:i,controls:c,mermaid:l,children:t},n?"dark":"light")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[59296],{24377:(e,t,n)=>{n.d(t,{cn:()=>u});var r=n(49251),a=n(58849);function u(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},47754:(e,t,n)=>{n.d(t,{fv:()=>g,xQ:()=>x});var r=n(1856),a=n(63964);let u=new Map,c=new Map,i=new Map,o=new Set,s=0;function l(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function d(){s++,o.forEach(e=>e())}function f(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=l(e.entityType,e.entityUuid,n,r),o=function(e,t,n,r,a){let u=l(e,t,r,a);return"".concat(u,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=c.get(o);if(s&&Date.now()-s<3e3)return;c.set(o,Date.now());let f={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=u.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(f),u.set(a,p);let m=i.get(o);m&&clearTimeout(m);let g=setTimeout(()=>{let t=u.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?u.delete(a):u.set(a,n)}c.delete(o),i.delete(o),d()},3e3);i.set(o,g),d()}function p(){return s}function m(e){return o.add(e),()=>{o.delete(e)}}function g(e){f({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,r.useSyncExternalStore)(m,p,p),(0,a.S2)(f),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=u.get(l(e,t,n,r)))?a:[]}let c="".concat(e,":").concat(t),i=new Map;for(let[e,t]of u)if(e===c||e.startsWith(c+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,n)=>{n.d(t,{BT:()=>o,Wu:()=>s,ZB:()=>i,Zp:()=>u,aR:()=>c});var r=n(90508);n(1856);var a=n(24377);function u(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},63964:(e,t,n)=>{n.d(t,{S2:()=>s,eV:()=>o,l9:()=>i,tS:()=>c,w0:()=>l});var r=n(90508),a=n(1856);n(23675);let u=(0,a.createContext)(null);function c(e){let{projectUuid:t,children:n}=e,c=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),o=(0,a.useRef)(new Set),s=(0,a.useCallback)(()=>{c.current.forEach(e=>e())},[]),l=(0,a.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function u(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void o.current.forEach(e=>e(n));let u=n;clearTimeout(e);let c=Date.now(),i=c-r;i>=3e3?(r=c,s()):e=setTimeout(()=>{r=Date.now(),s()},Math.max(1e3,3e3-i));let d=u.entityType;clearTimeout(a[d]),a[d]=setTimeout(()=>{l(u)},300)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(u(),s(),["task","idea","proposal","document","project","project_group"]))l({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return u(),document.addEventListener("visibilitychange",i),()=>{for(let t in c(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",i)}},[t,s,l]);let d=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),m=(0,a.useMemo)(()=>({subscribe:d,subscribeEntity:f,subscribePresence:p}),[d,f,p]);return(0,r.jsx)(u.Provider,{value:m,children:n})}function i(e){let t=(0,a.useContext)(u),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function o(e,t){let n=(0,a.useContext)(u),r=(0,a.useRef)(t);r.current=t;let c=(0,a.useRef)(e);c.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=c.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,a.useContext)(u),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function l(e,t,n){let r=(0,a.useContext)(u),c=(0,a.useRef)(n);c.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&c.current(n)})},[r,e,t])}},96213:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(90508),a=n(47754),u=n(30423),c=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:c,subEntityUuid:i,children:s,badgeInside:l}=e,{getPresence:d}=(0,a.xQ)(),f=d(t,n,c,i),p=f.length>0,m=p&&f.some(e=>"mutate"===e.action),g=p?m?f.find(e=>"mutate"===e.action):f[f.length-1]:null,x=g?(0,u.j)(g.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(m?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(l?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[f.slice(0,3).map(e=>(0,r.jsx)(o,{entry:e},e.agentUuid)),f.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",f.length-3]})]}),s]})}function o(e){let{entry:t}=e,n=(0,u.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(c.A,{className:"h-2.5 w-2.5"}),t.agentName]})}}}]);
|