@chorus-aidlc/chorus 0.6.8 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +335 -333
- package/.next/standalone/.next/app-path-routes-manifest.json +38 -38
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +36 -36
- package/.next/standalone/.next/react-loadable-manifest.json +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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]/ideas/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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.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.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_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_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.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.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/route.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]/release/route.js +1 -1
- 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 +6 -6
- 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_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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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_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 +2 -2
- 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 +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_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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js +5 -4
- 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 +38 -38
- package/.next/standalone/.next/server/chunks/1596.js +1 -1
- package/.next/standalone/.next/server/chunks/1639.js +1 -0
- package/.next/standalone/.next/server/chunks/1871.js +1 -0
- package/.next/standalone/.next/server/chunks/2570.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/{3408.js → 3300.js} +1 -1
- package/.next/standalone/.next/server/chunks/3611.js +158 -0
- package/.next/standalone/.next/server/chunks/3890.js +1 -1
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/5869.js +16 -0
- 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/6753.js +3 -3
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/8251.js +1 -0
- package/.next/standalone/.next/server/chunks/8584.js +1 -0
- package/.next/standalone/.next/server/chunks/9051.js +1 -0
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +1 -1
- package/.next/standalone/.next/server/chunks/9508.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +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/static/chunks/10739-5c185aa0432f5d56.js +1 -0
- package/.next/standalone/.next/static/chunks/{14945-45ab8dcd7d1460b0.js → 14945-0bc0086add441ba7.js} +1 -1
- package/.next/standalone/.next/static/chunks/19126-858a24cab6fd338a.js +1 -0
- package/.next/standalone/.next/static/chunks/21932-bce5ba937d1603e1.js +1 -0
- package/.next/standalone/.next/static/chunks/29445-04c4ab36da85b7da.js +1 -0
- package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +1 -0
- package/.next/standalone/.next/static/chunks/39611-cc227784ed679a6d.js +1 -0
- package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +1 -0
- package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.15c9ae5b6268c6fc.js +1 -0
- package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +1 -0
- package/.next/standalone/.next/static/chunks/{72156-693a7612a0a1927c.js → 53664-a2be2eaacce03f0f.js} +1 -1
- package/.next/standalone/.next/static/chunks/55434-622522b242e7747f.js +1 -0
- package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +1 -0
- package/.next/standalone/.next/static/chunks/96919-8cbf6310c703e7af.js +1 -0
- package/.next/standalone/.next/static/chunks/{52162.90c7520be06645a7.js → 96924.93f7dab7363f09ac.js} +1 -1
- package/.next/standalone/.next/static/chunks/{99373.dddf0d83066106d0.js → 99373.9939e11f5b4e0615.js} +1 -1
- package/.next/standalone/.next/static/chunks/99513-24849ff68a8098e1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-bf420c745be7631b.js → layout-acddb9c84f5d1607.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/{page-cb9454c2d5a8390c.js → page-63a6a5b6cf9ecf87.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-b4c6141dd26cc506.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-4bf7bff8d68509f9.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-37a0cea0ba40c31b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-2d820769aa7bcaf6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-dec0e71221d77928.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-355321010dd82e56.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-59f6f1967c3dfcad.js → page-bc66567cb9c40bf0.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-a4995a788651e9bc.js → page-86cfeb421fa97830.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-7fe70579023330da.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-8c51993bb3866a55.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-7c30b3f9f2b8f520.js → page-80566dcc1cd42bee.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-8db25385236a9bbf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-8d755192f0f67938.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-121b5a7960550fef.js → webpack-1bb984dd0934fa96.js} +1 -1
- package/.next/standalone/.next/static/css/ca9796ac54f96058.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/bin/on-session-start.sh +11 -4
- package/.next/standalone/public/chorus-plugin/bin/on-subagent-start.sh +1 -1
- package/.next/standalone/public/chorus-plugin/bin/on-subagent-stop.sh +5 -5
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +43 -18
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +3 -3
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +15 -18
- package/.next/standalone/public/install-opencode.sh +284 -0
- package/.next/standalone/public/skill/chorus/SKILL.md +44 -19
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +2 -2
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +3 -3
- package/README.md +12 -5
- package/README.zh.md +12 -5
- package/package.json +1 -1
- package/prisma/migrations/20260430034110_add_agent_permissions/migration.sql +2 -0
- package/prisma/schema.prisma +1 -0
- package/.next/standalone/.next/server/chunks/1386.js +0 -1
- package/.next/standalone/.next/server/chunks/1526.js +0 -1
- package/.next/standalone/.next/server/chunks/3088.js +0 -1
- package/.next/standalone/.next/server/chunks/4152.js +0 -1
- package/.next/standalone/.next/server/chunks/4772.js +0 -158
- package/.next/standalone/.next/server/chunks/8104.js +0 -16
- package/.next/standalone/.next/server/chunks/9408.js +0 -1
- package/.next/standalone/.next/static/chunks/10739-f8a95983c740edff.js +0 -1
- package/.next/standalone/.next/static/chunks/19126-ce11a472a7b46715.js +0 -1
- package/.next/standalone/.next/static/chunks/192-2fe41d1be4cf52c7.js +0 -1
- package/.next/standalone/.next/static/chunks/36940-1a052dcfd7a51c42.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.32370b32f23e5ea7.js +0 -1
- package/.next/standalone/.next/static/chunks/53011-6c6e5c3c761b4229.js +0 -1
- package/.next/standalone/.next/static/chunks/55203-e226f28d874a003b.js +0 -1
- package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +0 -1
- package/.next/standalone/.next/static/chunks/59703-726546958cd4cf44.js +0 -1
- package/.next/standalone/.next/static/chunks/62326-65d43abf563d7ce2.js +0 -1
- package/.next/standalone/.next/static/chunks/67312-2b0c88796d8a1f83.js +0 -1
- package/.next/standalone/.next/static/chunks/71350-88c2649fc693c1e8.js +0 -1
- package/.next/standalone/.next/static/chunks/89310-e7dd1f2b9518aeb2.js +0 -1
- package/.next/standalone/.next/static/chunks/96924-847b528f7abad0e5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-61ad25356f1bcf61.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-cfd59c5238497200.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-9d721a820e1058b5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-9199629492f0d6cc.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-164acb03167c8257.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-642981c5c760bfef.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-38e4430e5591fbff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-cb3978ef57e7197a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-94169bdcca8cb817.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-1aadff0d5227df18.js +0 -1
- package/.next/standalone/.next/static/css/5d7e316311e46db1.css +0 -1
- /package/.next/standalone/.next/static/{oJIidfE9Dj5iwDkFfuZP9 → TJ6qFSxjQGUSajvwbI2qu}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{oJIidfE9Dj5iwDkFfuZP9 → TJ6qFSxjQGUSajvwbI2qu}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=9408,exports.ids=[9408],exports.modules={466:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hu:()=>o,Yt:()=>n,eT:()=>m,fg:()=>l,uA:()=>r});var e=c(71255),f=c(92633),g=c(34923),h=c(67738),i=c(62729),j=c(97307),k=a([e,f,g,h]);async function l({companyUuid:a,targetType:b,targetUuid:c,skip:d,take:g}){if(!await (0,f._9)(b,c,a))return{comments:[],total:0};let h={companyUuid:a,targetType:b,targetUuid:c},[i,j]=await Promise.all([e.z.comment.findMany({where:h,skip:d,take:g,orderBy:{createdAt:"asc"},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),e.z.comment.count({where:h})]);return{comments:await Promise.all(i.map(async a=>{let b=await (0,f.lR)(a.authorType,a.authorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,content:a.content,author:{type:a.authorType,uuid:a.authorUuid,name:b??"Unknown"},createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})),total:j}}async function m({companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h}){if(!await (0,f._9)(b,c,a))throw Error(`Target ${b} with UUID ${c} not found`);let k=await e.z.comment.create({data:{companyUuid:a,targetType:b,targetUuid:c,content:d,authorType:g,authorUuid:h},select:{uuid:!0,targetType:!0,targetUuid:!0,content:!0,authorType:!0,authorUuid:!0,createdAt:!0,updatedAt:!0}}),l=await (0,f.lR)(k.authorType,k.authorUuid);return o(b,c).then(d=>{d&&i.B.emitChange({companyUuid:a,projectUuid:d,entityType:b,entityUuid:c,action:"updated",actorUuid:h})}).catch(()=>{}),q(a,b,c,k.uuid,d,g,h).catch(a=>j.A.error({err:a},"Failed to process comment mentions")),{uuid:k.uuid,targetType:k.targetType,targetUuid:k.targetUuid,content:k.content,author:{type:k.authorType,uuid:k.authorUuid,name:l??"Unknown"},createdAt:k.createdAt.toISOString(),updatedAt:k.updatedAt.toISOString()}}async function n(a){let b=[...new Set(a.filter(a=>"agent"===a.author.type).map(a=>a.author.uuid))];if(0===b.length)return a.map(a=>({...a,author:{...a.author}}));let c=await e.z.agent.findMany({where:{uuid:{in:b}},select:{uuid:!0,ownerUuid:!0}}),d=new Map,f=[];for(let a of c)a.ownerUuid&&(d.set(a.uuid,a.ownerUuid),f.push(a.ownerUuid));let g=new Map;if(f.length>0)for(let a of(await e.z.user.findMany({where:{uuid:{in:[...new Set(f)]}},select:{uuid:!0,name:!0,email:!0}})))g.set(a.uuid,a.name||a.email||"Unknown");return a.map(a=>{let b={...a.author};if("agent"===a.author.type){let c=d.get(a.author.uuid);if(c){let a=g.get(c);a&&(b.owner={uuid:c,name:a})}}return{...a,author:b}})}async function o(a,b,c){let d=c?{companyUuid:c}:{};switch(a){case"task":{let a=await e.z.task.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"idea":{let a=await e.z.idea.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"proposal":{let a=await e.z.proposal.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}case"document":{let a=await e.z.document.findFirst({where:{uuid:b,...d},select:{projectUuid:!0}});return a?.projectUuid??null}default:return null}}async function p(a,b){switch(a){case"task":{let a=await e.z.task.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Task"}case"idea":{let a=await e.z.idea.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Idea"}case"proposal":{let a=await e.z.proposal.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Proposal"}case"document":{let a=await e.z.document.findUnique({where:{uuid:b},select:{title:!0}});return a?.title??"Unknown Document"}default:return"Unknown"}}async function q(a,b,c,d,e,f,i){let j=g.Xs(e);if(0===j.length)return;let k=await o(b,c);if(!k)return;let l=await p(b,c);for(let m of(await g.AM({companyUuid:a,sourceType:"comment",sourceUuid:d,content:e,actorType:f,actorUuid:i,projectUuid:k,entityTitle:l}),j))(m.type!==f||m.uuid!==i)&&await h.createActivity({companyUuid:a,projectUuid:k,targetType:b,targetUuid:c,actorType:f,actorUuid:i,action:"mentioned",value:{mentionedType:m.type,mentionedUuid:m.uuid,mentionedName:m.displayName,sourceType:"comment",sourceUuid:d}})}async function r(a,b,c){if(0===c.length)return{};let d=await e.z.comment.groupBy({by:["targetUuid"],where:{companyUuid:a,targetType:b,targetUuid:{in:c}},_count:{targetUuid:!0}}),f={};for(let a of c)f[a]=0;for(let a of d)f[a.targetUuid]=a._count.targetUuid;return f}[e,f,g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},2978:(a,b,c)=>{Promise.resolve().then(c.bind(c,69187))},5134:(a,b,c)=>{"use strict";c.d(b,{Ik:()=>f,Yy:()=>d,nm:()=>e});class d extends Error{constructor(a){super(`${a} is already claimed`),this.name="AlreadyClaimedError"}}class e extends Error{constructor(a){super(`${a} is not currently claimed`),this.name="NotClaimedError"}}function f(a){return"object"==typeof a&&null!==a&&"code"in a&&"P2025"===a.code}},9259:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(41290),f=c(86963),g=c(79793),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.Q)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},9994:(a,b,c)=>{"use strict";c.d(b,{p:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.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",a),...c})}},18151:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,29723,23)),Promise.resolve().then(c.t.bind(c,31706,23)),Promise.resolve().then(c.t.bind(c,75324,23)),Promise.resolve().then(c.t.bind(c,20227,23)),Promise.resolve().then(c.t.bind(c,2931,23)),Promise.resolve().then(c.t.bind(c,17531,23)),Promise.resolve().then(c.t.bind(c,69357,23)),Promise.resolve().then(c.t.bind(c,69442,23)),Promise.resolve().then(c.t.bind(c,99875,23))},18421:(a,b,c)=>{var d={"./en.json":[50920,920],"./zh.json":[86113,6113]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=18421,a.exports=e},21130:(a,b,c)=>{Promise.resolve().then(c.bind(c,58857))},30457:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OU:()=>l,UL:()=>o,Vu:()=>k,Xo:()=>j,aQ:()=>m,y_:()=>n});var e=c(71255),f=c(62729),g=c(50530),h=a([e,g]);function i(a){return{uuid:a.uuid,agentUuid:a.agentUuid,name:a.name,description:a.description,status:a.status,lastActiveAt:a.lastActiveAt.toISOString(),expiresAt:a.expiresAt?.toISOString()??null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString(),checkins:(a.taskCheckins||[]).map(a=>({taskUuid:a.taskUuid,checkinAt:a.checkinAt.toISOString(),checkoutAt:a.checkoutAt?.toISOString()??null}))}}async function j(a,b,c){return(await e.z.agentSession.findMany({where:{companyUuid:a,agentUuid:b,...c&&{status:c}},include:{taskCheckins:{where:{checkoutAt:null},select:{taskUuid:!0,checkinAt:!0,checkoutAt:!0}}},orderBy:{createdAt:"desc"}})).map(i)}async function k(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");let d=await e.z.sessionTaskCheckin.findMany({where:{sessionUuid:b,checkoutAt:null},select:{task:{select:{uuid:!0,projectUuid:!0}}}});await e.z.sessionTaskCheckin.updateMany({where:{sessionUuid:b,checkoutAt:null},data:{checkoutAt:new Date}});let g=await e.z.agentSession.update({where:{uuid:b},data:{status:"closed"},include:{taskCheckins:{select:{taskUuid:!0,checkinAt:!0,checkoutAt:!0}}}});for(let a of d)f.B.emitChange({companyUuid:c.companyUuid,projectUuid:a.task.projectUuid,entityType:"task",entityUuid:a.task.uuid,action:"updated"});return i(g)}async function l(a,b){return(await e.z.sessionTaskCheckin.findMany({where:{taskUuid:b,checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},include:{session:{select:{uuid:!0,name:!0,agentUuid:!0,agent:{select:{name:!0}}}}}})).map(a=>({sessionUuid:a.session.uuid,sessionName:a.session.name,agentUuid:a.session.agentUuid,agentName:a.session.agent.name,checkinAt:a.checkinAt.toISOString()}))}async function m(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");if("closed"!==c.status)throw Error("Only closed sessions can be reopened");let d=await e.z.agentSession.update({where:{uuid:b},data:{status:"active",lastActiveAt:new Date},include:{taskCheckins:{where:{checkoutAt:null},select:{taskUuid:!0,checkinAt:!0,checkoutAt:!0}}}});return i(d)}async function n(a,b){if(0===b.length)return{};let c=await e.z.sessionTaskCheckin.groupBy({by:["taskUuid"],where:{taskUuid:{in:b},checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},_count:{taskUuid:!0}}),d={};for(let a of c)d[a.taskUuid]=a._count.taskUuid;return d}async function o(a,b){let c=await e.z.sessionTaskCheckin.findMany({where:{checkoutAt:null,task:{projectUuid:b},session:{companyUuid:a,status:{in:["active","inactive"]}}},include:{session:{select:{uuid:!0,name:!0,agentUuid:!0,agent:{select:{name:!0}}}}},orderBy:{checkinAt:"asc"}}),d=new Set,f=[],g=new Set;for(let a of c)if(g.add(a.taskUuid),!d.has(a.session.uuid)&&(d.add(a.session.uuid),f.push({sessionUuid:a.session.uuid,sessionName:a.session.name,agentUuid:a.session.agentUuid,agentName:a.session.agent.name,checkinAt:a.checkinAt.toISOString()}),f.length>=7))return f;let h=await e.z.task.findMany({where:{projectUuid:b,companyUuid:a,status:"in_progress",assigneeType:"agent",assigneeUuid:{not:null},...g.size>0?{uuid:{notIn:[...g]}}:{}},select:{uuid:!0,assigneeUuid:!0,updatedAt:!0},orderBy:{updatedAt:"asc"}}),i=new Set,j=[];for(let a of h)if(!(!a.assigneeUuid||i.has(a.assigneeUuid))&&(i.add(a.assigneeUuid),j.push(a),f.length+j.length>=7))break;if(j.length>0){let a=await e.z.agent.findMany({where:{uuid:{in:j.map(a=>a.assigneeUuid)}},select:{uuid:!0,name:!0}}),b=new Map(a.map(a=>[a.uuid,a.name]));for(let a of j){let c=b.get(a.assigneeUuid);c&&f.push({sessionUuid:"",sessionName:c,agentUuid:a.assigneeUuid,agentName:c,checkinAt:a.updatedAt.toISOString()})}}return f}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},32376:()=>{},33367:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(10948);let e=async a=>[{type:"image/x-icon",sizes:"256x256",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+""}]},34923:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AM:()=>j,Xs:()=>i});var e=c(71255),f=c(92633),g=c(92592),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let l=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)/gi;function i(a){let b,c=[],d=new Set;for(l.lastIndex=0;null!==(b=l.exec(a))&&!(c.length>=10);){let a=b[1],e=b[2].toLowerCase(),f=b[3].toLowerCase(),g=`${e}:${f}`;d.has(g)||(d.add(g),c.push({type:e,uuid:f,displayName:a}))}return c}async function j(a){let{companyUuid:b,sourceType:c,sourceUuid:d,content:h,actorType:j,actorUuid:m,projectUuid:n,entityTitle:o}=a,p=i(h);if(0===p.length)return;let q=p.filter(a=>a.type!==j||a.uuid!==m);if(0===q.length)return;let r=[];for(let a of q)await k(b,a.type,a.uuid)&&r.push(a);if(0===r.length)return;await e.z.mention.createMany({data:r.map(a=>({companyUuid:b,sourceType:c,sourceUuid:d,mentionedType:a.type,mentionedUuid:a.uuid,actorType:j,actorUuid:m}))});let s=await (0,f.lR)(j,m)??"Someone",t=await e.z.project.findUnique({where:{uuid:n},select:{name:!0}}),u=t?.name??"Unknown Project",v=function(a){let b=a.replace(l,"@$1");return b.length<=120?b:b.substring(0,117)+"..."}(h),w=c,x=d;if("comment"===c){let a=await e.z.comment.findUnique({where:{uuid:d},select:{targetType:!0,targetUuid:!0}});a&&(w=a.targetType,x=a.targetUuid)}let y=[];for(let a of r){if(!(await g.lX(b,a.type,a.uuid)).mentioned)continue;let c=`${s} mentioned you: "${v}"`;y.push({companyUuid:b,projectUuid:n,recipientType:a.type,recipientUuid:a.uuid,entityType:w,entityUuid:x,entityTitle:o,projectName:u,action:"mentioned",message:c,actorType:j,actorUuid:m,actorName:s})}y.length>0&&await g.Xm(y)}async function k(a,b,c){return"user"===b?!!await e.z.user.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}}):!!await e.z.agent.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}})}d()}catch(a){d(a)}})},40340:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,metadata:()=>j});var d=c(10023),e=c(28103),f=c.n(e),g=c(85355),h=c.n(g),i=c(69187);c(32376);let j={title:{default:"Chorus",template:"%s | Chorus"},description:"AI Agent & Human collaboration platform for the AI-Driven Development Lifecycle",openGraph:{title:"Chorus",description:"AI Agent & Human collaboration platform for the AI-Driven Development Lifecycle",type:"website",siteName:"Chorus"}};function k({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased`,children:(0,d.jsx)(i.LocaleProvider,{children:a})})})}},42424:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(10837);c(21968);var e=c(35973),f=c(11156),g=c(96307);let h=(0,e.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({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},45148:(a,b,c)=>{"use strict";c.d(b,{K5:()=>i,Rf:()=>h,Yv:()=>d,bK:()=>g,qG:()=>f,tE:()=>e});let d={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},e={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:d.normal,ease:d.easeOut}},exit:{opacity:0,y:-4,transition:{duration:d.fast,ease:d.easeOut}}},f={initial:{opacity:0},animate:{opacity:1,transition:{duration:d.normal,ease:d.easeOut}},exit:{opacity:0,transition:{duration:d.fast,ease:d.easeOut}}};d.normal,d.easeOut,d.fast,d.easeOut;let g={initial:{},animate:{transition:{staggerChildren:d.stagger}}},h={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:d.normal,ease:d.easeOut}}},i={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:d.fast,ease:d.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:d.fast,ease:d.easeOut}}}},48415:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,16885,23)),Promise.resolve().then(c.t.bind(c,30892,23)),Promise.resolve().then(c.t.bind(c,89410,23)),Promise.resolve().then(c.t.bind(c,99349,23)),Promise.resolve().then(c.t.bind(c,41105,23)),Promise.resolve().then(c.t.bind(c,89065,23)),Promise.resolve().then(c.t.bind(c,403,23)),Promise.resolve().then(c.t.bind(c,33532,23)),Promise.resolve().then(c.bind(c,41905))},50530:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cm:()=>K,Ew:()=>D,Fp:()=>x,IM:()=>J,K4:()=>t,QK:()=>w,QL:()=>G,Qi:()=>B,UT:()=>u,Vk:()=>r,_T:()=>z,cn:()=>A,gg:()=>s,j9:()=>H,lC:()=>v,vQ:()=>I,vq:()=>y});var e=c(71255),f=c(92633),g=c(62729),h=c(5134),i=c(466),j=c(34923),k=c(67738),l=c(97307),m=a([e,f,i,j,k]);[e,f,i,j,k]=m.then?(await m)():m;let L={total:0,required:0,passed:0,failed:0,pending:0,requiredPassed:0,requiredFailed:0,requiredPending:0};function n(a){if(0===a.length)return{status:"not_started",summary:{...L}};let b={...L,total:a.length};for(let c of a)c.required&&b.required++,"passed"===c.status?(b.passed++,c.required&&b.requiredPassed++):"failed"===c.status?(b.failed++,c.required&&b.requiredFailed++):(b.pending++,c.required&&b.requiredPending++);return b.requiredFailed>0?{status:"failed",summary:b}:b.requiredPassed===b.required&&b.required>0?{status:"passed",summary:b}:b.passed>0||b.failed>0?{status:"in_progress",summary:b}:{status:"not_started",summary:b}}function o(a){return{uuid:a.uuid,description:a.description,required:a.required,devStatus:a.devStatus,devEvidence:a.devEvidence,devMarkedByType:a.devMarkedByType,devMarkedBy:a.devMarkedBy,devMarkedAt:a.devMarkedAt?.toISOString()??null,status:a.status,evidence:a.evidence,markedByType:a.markedByType,markedBy:a.markedBy,markedAt:a.markedAt?.toISOString()??null,sortOrder:a.sortOrder}}async function p(a,b=0){let[c,d]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid),(0,f.LS)(a.createdByUuid)]),e=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),g=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),h=(a.acceptanceCriteriaItems||[]).map(o),{status:i,summary:j}=n(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:h,acceptanceStatus:i,acceptanceSummary:j,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:e,dependedBy:g,commentCount:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function q(a,b){if(0===a.length)return[];let c=[],d=[];for(let b of a)b.assigneeType&&b.assigneeUuid&&c.push({type:b.assigneeType,uuid:b.assigneeUuid}),b.assignedByUuid&&c.push({type:"user",uuid:b.assignedByUuid}),d.push(b.createdByUuid);let[e,g]=await Promise.all([(0,f.Uo)(c),(0,f.Xx)(d)]);return a.map(a=>{let c=null;if(a.assigneeType&&a.assigneeUuid){let b=e.get(a.assigneeUuid);if(b){let d=null;if(a.assignedByUuid){let b=e.get(a.assignedByUuid);b&&(d={type:"user",uuid:a.assignedByUuid,name:b})}c={type:a.assigneeType,uuid:a.assigneeUuid,name:b,assignedAt:a.assignedAt?.toISOString()??null,assignedBy:d}}}let d=g.get(a.createdByUuid)??null,f=(a.dependsOn||[]).map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),h=(a.dependedBy||[]).map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status})),i=(a.acceptanceCriteriaItems||[]).map(o),{status:j,summary:k}=n(a.acceptanceCriteriaItems||[]);return{uuid:a.uuid,title:a.title,description:a.description,status:a.status,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,acceptanceCriteriaItems:i,acceptanceStatus:j,acceptanceSummary:k,assignee:c,proposalUuid:a.proposalUuid,...a.project&&{project:a.project},createdBy:d,dependsOn:f,dependedBy:h,commentCount:b[a.uuid]??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}})}let M={dependsOn:{select:{dependsOn:{select:{uuid:!0,title:!0,status:!0}}}},dependedBy:{select:{task:{select:{uuid:!0,title:!0,status:!0}}}},acceptanceCriteriaItems:{orderBy:{sortOrder:"asc"}}};async function r({companyUuid:a,projectUuid:b,skip:c,take:d,status:f,priority:g,proposalUuids:h}){let j={projectUuid:b,companyUuid:a,...f&&{status:f},...g&&{priority:g},...h&&h.length>0&&{proposalUuid:{in:h}}},[k,l]=await Promise.all([e.z.task.findMany({where:j,skip:c,take:d,orderBy:[{priority:"desc"},{createdAt:"desc"}],select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0,...M}}),e.z.task.count({where:j})]),m=await (0,i.uA)(a,"task",k.map(a=>a.uuid));return{tasks:await q(k,m),total:l}}async function s(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:{project:{select:{uuid:!0,name:!0}},...M}});if(!c)return null;let d=await e.z.comment.count({where:{companyUuid:a,targetType:"task",targetUuid:b}});return p(c,d)}async function t(a,b){return e.z.task.findFirst({where:{uuid:b,companyUuid:a}})}async function u(a){let b=await e.z.task.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description,status:"open",priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,proposalUuid:a.proposalUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,title:!0,description:!0,status:!0,priority:!0,storyPoints:!0,acceptanceCriteria:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,proposalUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,projectUuid:a.projectUuid,entityType:"task",entityUuid:b.uuid,action:"created"}),p(b)}async function v(a,b,c){let d=null;if(void 0!==b.description&&c){let b=await e.z.task.findUnique({where:{uuid:a},select:{description:!0}});d=b?.description??null}let f=await e.z.$transaction(async c=>{if(b.status&&"done"!==b.status){let b=await c.task.findUnique({where:{uuid:a},select:{status:!0}});b?.status==="to_verify"&&await c.acceptanceCriterion.updateMany({where:{taskUuid:a},data:{status:"pending",evidence:null,markedByType:null,markedBy:null,markedAt:null,devStatus:"pending",devEvidence:null,devMarkedByType:null,devMarkedBy:null,devMarkedAt:null}})}return c.task.update({where:{uuid:a},data:b,include:{project:{select:{uuid:!0,name:!0}}}})});return g.B.emitChange({companyUuid:f.companyUuid,projectUuid:f.project.uuid,entityType:"task",entityUuid:f.uuid,action:"updated"}),void 0!==b.description&&c&&b.description&&E(f.companyUuid,f.project.uuid,"task",f.uuid,f.title,d,b.description,c.actorType,c.actorUuid).catch(a=>l.A.error({err:a},"Failed to process task mentions")),p(f)}async function w({taskUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f}){try{let b=await e.z.task.update({where:{uuid:a,status:{in:["open","assigned"]}},data:{status:"assigned",assigneeType:c,assigneeUuid:d,assignedAt:new Date,assignedByUuid:f},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),p(b)}catch(a){if((0,h.Ik)(a))throw new h.Yy("Task");throw a}}async function x(a){try{let b=await e.z.task.update({where:{uuid:a,status:"assigned"},data:{status:"open",assigneeType:null,assigneeUuid:null,assignedAt:null,assignedByUuid:null},include:{project:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.project.uuid,entityType:"task",entityUuid:b.uuid,action:"updated"}),p(b)}catch(a){if((0,h.Ik)(a))throw new h.nm("Task");throw a}}async function y(a){let b=await e.z.task.delete({where:{uuid:a}});return g.B.emitChange({companyUuid:b.companyUuid,projectUuid:b.projectUuid,entityType:"task",entityUuid:b.uuid,action:"deleted"}),b}async function z(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{status:a.status,evidence:a.evidence??null,markedByType:d.type,markedBy:d.actorUuid,markedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),C(a,b)}async function A(a,b,c,d){let f=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!f)throw Error("Task not found");let h=new Set((await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},select:{uuid:!0}})).map(a=>a.uuid));for(let a of c)if(!h.has(a.uuid))throw Error(`Criterion ${a.uuid} does not belong to task ${b}`);for(let a of c)await e.z.acceptanceCriterion.update({where:{uuid:a.uuid},data:{devStatus:a.devStatus,devEvidence:a.devEvidence??null,devMarkedByType:d.type,devMarkedBy:d.actorUuid,devMarkedAt:new Date}});return g.B.emitChange({companyUuid:a,projectUuid:f.projectUuid,entityType:"task",entityUuid:b,action:"updated"}),C(a,b)}async function B(a,b,c){let d=await e.z.task.findFirst({where:{uuid:b,companyUuid:a}});if(!d)throw Error("Task not found");if(!await e.z.acceptanceCriterion.findFirst({where:{uuid:c,taskUuid:b}}))throw Error("Criterion not found for this task");await e.z.acceptanceCriterion.update({where:{uuid:c},data:{status:"pending",evidence:null,markedByType:null,markedBy:null,markedAt:null}}),g.B.emitChange({companyUuid:a,projectUuid:d.projectUuid,entityType:"task",entityUuid:b,action:"updated"})}async function C(a,b){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");let c=await e.z.acceptanceCriterion.findMany({where:{taskUuid:b},orderBy:{sortOrder:"asc"}}),d=c.map(o),{status:f,summary:g}=n(c);return{items:d,status:f,summary:g}}async function D(a){let b=await e.z.acceptanceCriterion.findMany({where:{taskUuid:a},orderBy:{sortOrder:"asc"}});if(0===b.length||b.filter(a=>a.required).every(a=>"passed"===a.status))return{allowed:!0};let{summary:c}=n(b),d=b.filter(a=>a.required&&"passed"!==a.status).map(o);return{allowed:!1,reason:`Not all required acceptance criteria are passed. Required: ${c.required}, Passed: ${c.requiredPassed}, Failed: ${c.requiredFailed}, Pending: ${c.requiredPending}`,summary:c,unresolvedCriteria:d}}async function E(a,b,c,d,e,f,g,h,i){let l=f?j.Xs(f):[],m=j.Xs(g),n=new Set(l.map(a=>`${a.type}:${a.uuid}`)),o=m.filter(a=>!n.has(`${a.type}:${a.uuid}`));if(0!==o.length)for(let f of(await j.AM({companyUuid:a,sourceType:c,sourceUuid:d,content:g,actorType:h,actorUuid:i,projectUuid:b,entityTitle:e}),o))(f.type!==h||f.uuid!==i)&&await k.createActivity({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:h,actorUuid:i,action:"mentioned",value:{mentionedType:f.type,mentionedUuid:f.uuid,mentionedName:f.displayName,sourceType:c,sourceUuid:d}})}async function F(a,b){let c=await e.z.taskDependency.findMany({select:{taskUuid:!0,dependsOnUuid:!0}}),d=new Map;for(let a of c)d.has(a.taskUuid)||d.set(a.taskUuid,[]),d.get(a.taskUuid).push(a.dependsOnUuid);let f=new Set,g=[a];for(;g.length>0;){let a=g.pop();if(a===b)return!0;if(!f.has(a))for(let b of(f.add(a),d.get(a)||[]))f.has(b)||g.push(b)}return!1}async function G(a,b,c){if(b===c)throw Error("A task cannot depend on itself");let[d,f]=await Promise.all([e.z.task.findFirst({where:{uuid:b,companyUuid:a}}),e.z.task.findFirst({where:{uuid:c,companyUuid:a}})]);if(!d)throw Error("Task not found");if(!f)throw Error("Dependency task not found");if(d.projectUuid!==f.projectUuid)throw Error("Tasks must belong to the same project");if(await F(c,b))throw Error("Adding this dependency would create a cycle");let g=await e.z.taskDependency.create({data:{taskUuid:b,dependsOnUuid:c}});return{taskUuid:g.taskUuid,dependsOnUuid:g.dependsOnUuid,createdAt:g.createdAt}}async function H(a,b,c){if(!await e.z.task.findFirst({where:{uuid:b,companyUuid:a}}))throw Error("Task not found");await e.z.taskDependency.deleteMany({where:{taskUuid:b,dependsOnUuid:c}})}async function I(a,b){let c=await e.z.task.findFirst({where:{uuid:b,companyUuid:a},include:M});if(!c)throw Error("Task not found");return{dependsOn:c.dependsOn.map(a=>({uuid:a.dependsOn.uuid,title:a.dependsOn.title,status:a.dependsOn.status})),dependedBy:c.dependedBy.map(a=>({uuid:a.task.uuid,title:a.task.title,status:a.task.status}))}}async function J(a){let b=await e.z.taskDependency.findMany({where:{taskUuid:a},select:{dependsOn:{select:{uuid:!0,title:!0,status:!0,assigneeType:!0,assigneeUuid:!0}}}});if(0===b.length)return{resolved:!0,blockers:[]};let c=b.filter(a=>"done"!==a.dependsOn.status&&"closed"!==a.dependsOn.status);if(0===c.length)return{resolved:!0,blockers:[]};let d=c.map(a=>a.dependsOn.uuid),[g,h]=await Promise.all([e.z.sessionTaskCheckin.findMany({where:{taskUuid:{in:d},checkoutAt:null},select:{taskUuid:!0,sessionUuid:!0,session:{select:{name:!0}}}}),(0,f.Uo)(c.filter(a=>a.dependsOn.assigneeType&&a.dependsOn.assigneeUuid).map(a=>({type:a.dependsOn.assigneeType,uuid:a.dependsOn.assigneeUuid})))]),i=new Map;for(let a of g)i.set(a.taskUuid,{sessionUuid:a.sessionUuid,sessionName:a.session.name});let j=c.map(a=>{let b=a.dependsOn,c=null;if(b.assigneeType&&b.assigneeUuid){let a=h.get(b.assigneeUuid);a&&(c={type:b.assigneeType,uuid:b.assigneeUuid,name:a})}return{uuid:b.uuid,title:b.title,status:b.status,assignee:c,sessionCheckin:i.get(b.uuid)??null}});return{resolved:!1,blockers:j}}async function K(a,b){let[c,d]=await Promise.all([e.z.task.findMany({where:{companyUuid:a,projectUuid:b},select:{uuid:!0,title:!0,status:!0,priority:!0,proposalUuid:!0}}),e.z.taskDependency.findMany({where:{task:{companyUuid:a,projectUuid:b}},select:{taskUuid:!0,dependsOnUuid:!0}})]);return{nodes:c.map(a=>({uuid:a.uuid,title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null})),edges:d.map(a=>({from:a.taskUuid,to:a.dependsOnUuid}))}}d()}catch(a){d(a)}})},54722:(a,b,c)=>{"use strict";c.d(b,{q:()=>g});let d={debug:0,info:1,warn:2,error:3},e=process.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function f(a){return d[a]>=d[e]}let g={debug:(a,...b)=>{f("debug")&&console.debug(`[Chorus] ${a}`,...b)},info:(a,...b)=>{f("info")&&console.info(`[Chorus] ${a}`,...b)},warn:(a,...b)=>{f("warn")&&console.warn(`[Chorus] ${a}`,...b)},error:(a,...b)=>{f("error")&&console.error(`[Chorus] ${a}`,...b)}}},58857:(a,b,c)=>{"use strict";c.d(b,{LocaleProvider:()=>j,Y:()=>i});var d=c(10837),e=c(21968),f=c(13256),g=c(97553);c(54722);let h=(0,e.createContext)(null);function i(){let a=(0,e.useContext)(h);if(!a)throw Error("useLocale must be used within LocaleProvider");return a}function j({children:a}){let[b,c]=(0,e.useState)(g.q),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(!1),m=(0,e.useCallback)(a=>{c(a),localStorage.setItem("chorus-locale",a),document.cookie=`chorus-locale=${a};path=/;max-age=31536000;SameSite=Lax`,document.documentElement.lang=a},[]);return k&&i?(0,d.jsx)(h.Provider,{value:{locale:b,setLocale:m},children:(0,d.jsx)(f.A,{locale:b,messages:i,children:a})}):null}},62729:(a,b,c)=>{"use strict";c.d(b,{B:()=>s});var d=c(94735),e=c(55511),f=c(9686),g=c.n(f),h=c(97307);let i=h.A.child({module:"redis"}),j=function(){if(process.env.REDIS_URL)return process.env.REDIS_URL;let a=process.env.REDIS_HOST;if(!a)return;let b=process.env.REDIS_PORT||"6379",c=process.env.REDIS_USERNAME||"default",d=process.env.REDIS_PASSWORD,e="rediss";return d?`${e}://${c}:${encodeURIComponent(d)}@${a}:${b}`:`${e}://${a}:${b}`}(),k=globalThis;function l(a){let b=new(g())(j,{lazyConnect:!0,maxRetriesPerRequest:null,retryStrategy(b){let c=Math.min(200*b,5e3);return i.warn({name:a,delay:c,attempt:b},"Reconnecting"),c}});return b.on("error",b=>{i.error({name:a,err:b},"Redis error")}),b.on("connect",()=>{i.info({name:a},"Connected")}),b}function m(){return j?(k.redisPub||(k.redisPub=l("pub")),k.redisPub):null}function n(){return j?(k.redisSub||(k.redisSub=l("sub")),k.redisSub):null}let o=h.A.child({module:"event-bus"}),p="chorus:events";class q extends d.EventEmitter{static{this.THROTTLE_WINDOW_MS=2e3}static{this.EVICTION_INTERVAL_MS=3e4}static{this.EVICTION_TTL_MS=3e4}async connect(){if(this._connected||!j)return;this._connected=!0;let a=n(),b=m();a&&(await a.connect(),b&&await b.connect(),await a.subscribe(p),a.on("message",(a,b)=>{try{let a=JSON.parse(b);if(a._origin===this._instanceId)return;let c=null!==a.data&&"object"==typeof a.data?{...a.data,_remote:!0}:a.data;super.emit(a.channel,c)}catch{}}))}emit(a,...b){if("string"==typeof a&&j){let c=m();if(c&&"ready"===c.status){let d={_origin:this._instanceId,channel:a,data:b[0]};c.publish(p,JSON.stringify(d)).catch(()=>{})}}return super.emit(a,...b)}emitPresence(a){let b=`${a.agentUuid}:${a.entityType}:${a.entityUuid}${a.subEntityType?`:${a.subEntityType}`:""}${a.subEntityUuid?`:${a.subEntityUuid}`:""}`,c=Date.now(),d=this._presenceThrottle.get(b);d&&c-d<q.THROTTLE_WINDOW_MS||(this._presenceThrottle.set(b,c),this._ensureEvictionTimer(),this.emit("presence",a))}_ensureEvictionTimer(){!this._evictionTimer&&(this._evictionTimer=setInterval(()=>{let a=Date.now();for(let[b,c]of this._presenceThrottle)a-c>=q.EVICTION_TTL_MS&&this._presenceThrottle.delete(b);0===this._presenceThrottle.size&&(clearInterval(this._evictionTimer),this._evictionTimer=null)},q.EVICTION_INTERVAL_MS),this._evictionTimer&&"object"==typeof this._evictionTimer&&"unref"in this._evictionTimer&&this._evictionTimer.unref())}get _throttleMapSize(){return this._presenceThrottle.size}_resetPresenceState(){this._presenceThrottle.clear(),this._evictionTimer&&(clearInterval(this._evictionTimer),this._evictionTimer=null)}emitChange(a){this.emit("change",a)}async disconnect(){let a=m(),b=n();b&&await b.quit().catch(()=>{}),a&&await a.quit().catch(()=>{}),this._connected=!1}constructor(...a){super(...a),this._connected=!1,this._instanceId=(0,e.randomUUID)(),this._presenceThrottle=new Map,this._evictionTimer=null}}let r=globalThis,s=r.chorusEventBus??=new q;j&&s.connect().catch(a=>{o.error({err:a},"Redis connect failed, falling back to memory")})},67738:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{createActivity:()=>k,listActivities:()=>i,listActivitiesWithActorNames:()=>j});var e=c(71255),f=c(62729),g=c(92633),h=a([e,g]);async function i({companyUuid:a,projectUuid:b,skip:c,take:d,targetType:f,targetUuid:g}){let h={projectUuid:b,companyUuid:a,...f&&{targetType:f},...g&&{targetUuid:g}},[i,j]=await Promise.all([e.z.activity.findMany({where:h,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,targetType:!0,targetUuid:!0,actorType:!0,actorUuid:!0,action:!0,value:!0,sessionUuid:!0,sessionName:!0,createdAt:!0}}),e.z.activity.count({where:h})]);return{activities:i,total:j}}async function j(a){let{activities:b,total:c}=await i(a);return{activities:await Promise.all(b.map(async a=>{let b=await (0,g.lR)(a.actorType,a.actorUuid);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,action:a.action,actorType:a.actorType,actorName:b||"Unknown",value:a.value,sessionUuid:a.sessionUuid,sessionName:a.sessionName,createdAt:a.createdAt.toISOString()}})),total:c}}async function k({companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l}){let m=await e.z.activity.create({data:{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j||void 0,sessionUuid:k||void 0,sessionName:l||void 0}});return f.B.emit("activity",{companyUuid:a,projectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l,uuid:m.uuid}),m}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},69187:(a,b,c)=>{"use strict";c.d(b,{LocaleProvider:()=>e});var d=c(37143);(0,d.registerClientReference)(function(){throw Error("Attempted to call useLocale() from the server but useLocale is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/contexts/locale-context.tsx","useLocale");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call LocaleProvider() from the server but LocaleProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/contexts/locale-context.tsx","LocaleProvider")},69996:(a,b,c)=>{"use strict";c.d(b,{D1:()=>d,m3:()=>k});var d={};c.r(d),c.d(d,{Fj:()=>j});var e=c(76760),f=c(73136),g=c(26849);let h={previewFeatures:[],clientVersion:"7.3.0",engineVersion:"9d6ad21cbbceab97458517b147a6a09ff43aa735",activeProvider:"postgresql",inlineSchema:'// prisma/schema.prisma\n\ngenerator client {\n provider = "prisma-client"\n output = "../src/generated/prisma"\n}\n\ndatasource db {\n provider = "postgresql"\n relationMode = "prisma" // Relations managed by Prisma, no DB-level foreign key constraints\n}\n\n// Tenant\nmodel Company {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n name String\n // Email domain matching (used to identify Company during login)\n emailDomains String[] @default([]) // e.g., ["example.com", "example.org"]\n // OIDC configuration (per-Company login, PKCE only, no Client Secret)\n oidcIssuer String? // OIDC Provider URL\n oidcClientId String? // Client ID\n oidcEnabled Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n users User[]\n agents Agent[]\n apiKeys ApiKey[]\n projects Project[]\n ideas Idea[]\n documents Document[]\n tasks Task[]\n proposals Proposal[]\n activities Activity[]\n comments Comment[]\n sessions AgentSession[]\n}\n\n// User (human, OIDC login)\nmodel User {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n oidcSub String // OIDC subject\n email String?\n name String?\n avatarUrl String?\n createdAt DateTime @default(now())\n\n ownedAgents Agent[]\n\n @@unique([companyUuid, oidcSub])\n @@index([companyUuid])\n}\n\n// Agent (e.g., Claude Code)\nmodel Agent {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n name String\n roles String[] @default(["developer"]) // pm | developer (multi-select)\n // Agent persona definition (Zero Context Injection)\n persona String? // Custom persona description (brief)\n systemPrompt String? // Full system prompt (optional, overrides default template)\n ownerUuid String? // User\'s UUID\n owner User? @relation(fields: [ownerUuid], references: [uuid])\n lastActiveAt DateTime?\n createdAt DateTime @default(now())\n\n apiKeys ApiKey[]\n sessions AgentSession[]\n\n @@index([companyUuid])\n @@index([ownerUuid])\n}\n\n// API Key (independently managed, supports rotation and revocation)\nmodel ApiKey {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n agentUuid String // Agent\'s UUID\n agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)\n keyHash String @unique // API Key stored as hash\n keyPrefix String // Key prefix for display (e.g., "cho_xxx...")\n name String? // Optional descriptive name\n lastUsed DateTime?\n expiresAt DateTime?\n revokedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([companyUuid])\n @@index([agentUuid])\n}\n\n// Project Group (single-level grouping of projects)\nmodel ProjectGroup {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n name String\n description String? @default("")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([companyUuid])\n}\n\n// Project\nmodel Project {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n name String\n description String?\n groupUuid String? // nullable FK → ProjectGroup.uuid\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n ideas Idea[]\n documents Document[]\n tasks Task[]\n proposals Proposal[]\n activities Activity[]\n\n @@index([companyUuid])\n @@index([groupUuid])\n}\n\n// Idea (raw human input)\nmodel Idea {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n projectUuid String\n project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)\n title String\n content String? // Text content\n attachments Json? // Attachment list [{type, url, name}]\n // Status and assignment (ARCHITECTURE.md \xa77.3)\n status String @default("open") // open | elaborating | elaborated (3-state model; post-elaboration status derived from Proposal+Task)\n assigneeType String? // user | agent\n assigneeUuid String? // User or Agent UUID (polymorphic)\n assignedAt DateTime? // Assignment timestamp\n assignedByUuid String? // User UUID (human assignment)\n // Elaboration (AI-DLC Stage 3 — structured requirements clarification)\n elaborationDepth String? // "minimal" | "standard" | "comprehensive"\n elaborationStatus String? // "pending_answers" | "validating" | "resolved"\n createdByUuid String // User UUID\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([companyUuid])\n @@index([projectUuid])\n @@index([status])\n @@index([assigneeUuid])\n}\n\n// Document (PRD, tech design, etc. — Proposal output)\nmodel Document {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n projectUuid String\n project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)\n type String // prd | tech_design | adr | ...\n title String\n content String? // Markdown content\n version Int @default(1)\n proposalUuid String? // Source Proposal UUID (traceable)\n createdByUuid String // User or Agent UUID\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([companyUuid])\n @@index([projectUuid])\n @@index([proposalUuid])\n}\n\n// Task (Proposal output or manually created)\nmodel Task {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n projectUuid String\n project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)\n title String\n description String?\n // Status and assignment (ARCHITECTURE.md \xa77.2)\n status String @default("open") // open | assigned | in_progress | to_verify | done | closed\n priority String @default("medium") // low | medium | high\n storyPoints Float? // Effort estimate (unit: Agent hours)\n acceptanceCriteria String? // Acceptance criteria (Markdown)\n assigneeType String? // user | agent\n assigneeUuid String? // User or Agent UUID (polymorphic)\n assignedAt DateTime? // Assignment timestamp\n assignedByUuid String? // User UUID (human assignment)\n proposalUuid String? // Source Proposal UUID (traceable, optional)\n createdByUuid String // User or Agent UUID\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n // Task dependencies (DAG)\n dependsOn TaskDependency[] @relation("taskDependencies")\n dependedBy TaskDependency[] @relation("taskDependedBy")\n // Session checkins\n sessionCheckins SessionTaskCheckin[]\n // Structured acceptance criteria (independent table)\n acceptanceCriteriaItems AcceptanceCriterion[]\n\n @@index([companyUuid])\n @@index([projectUuid])\n @@index([proposalUuid])\n @@index([assigneeUuid])\n @@index([status])\n}\n\n// Task dependency (DAG edge)\nmodel TaskDependency {\n id Int @id @default(autoincrement())\n taskUuid String\n dependsOnUuid String\n task Task @relation("taskDependencies", fields: [taskUuid], references: [uuid], onDelete: Cascade)\n dependsOn Task @relation("taskDependedBy", fields: [dependsOnUuid], references: [uuid], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@unique([taskUuid, dependsOnUuid])\n @@index([taskUuid])\n @@index([dependsOnUuid])\n}\n\n// Acceptance Criterion (independent table — per-row atomic updates, no concurrent write conflicts)\nmodel AcceptanceCriterion {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n taskUuid String\n task Task @relation(fields: [taskUuid], references: [uuid], onDelete: Cascade)\n description String\n required Boolean @default(true)\n // Dev self-check (developer fills during work)\n devStatus String @default("pending") // pending | passed | failed\n devEvidence String?\n devMarkedByType String? // "user" | "agent"\n devMarkedBy String? // UUID of marker\n devMarkedAt DateTime?\n // Admin verification (admin/user fills during verify)\n status String @default("pending") // pending | passed | failed\n evidence String?\n markedByType String? // "user" | "agent"\n markedBy String? // UUID of marker\n markedAt DateTime?\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([taskUuid])\n}\n\n// Proposal (container model: created by Agent/human, approved by human, contains document drafts and task drafts)\nmodel Proposal {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n projectUuid String\n project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)\n title String\n description String?\n\n // Input source (what the Proposal is based on)\n inputType String // idea | document\n inputUuids Json // Array of UUID strings\n\n // Container contents (can include both documents and tasks)\n documentDrafts Json? // Document draft list [{type, title, content}]\n taskDrafts Json? // Task draft list [{title, description, storyPoints, priority, acceptanceCriteria}]\n\n // Status and approval\n status String @default("draft") // draft | pending | approved | rejected | revised\n createdByUuid String // Agent or User UUID\n createdByType String @default("agent") // agent | user\n reviewedByUuid String? // User UUID\n reviewNote String? // Review note\n reviewedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([companyUuid])\n @@index([projectUuid])\n @@index([status])\n}\n\n// Comment (can comment on Idea, Proposal, Task, Document)\nmodel Comment {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n targetType String // idea | proposal | task | document\n targetUuid String // UUID of target entity (idea/proposal/task/document)\n content String\n authorType String // user | agent\n authorUuid String // User or Agent UUID\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([companyUuid])\n @@index([targetType, targetUuid])\n}\n\n// Activity stream (project-level) — generic design\nmodel Activity {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n projectUuid String\n project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)\n // Target entity (generic design)\n targetType String // idea | task | proposal | document\n targetUuid String // Target entity UUID\n // Action info\n actorType String // user | agent\n actorUuid String // Actor UUID\n action String // created | assigned | released | status_changed | submitted | approved | rejected | comment_added\n value Json? // Action result value (e.g., new status, assignment target info)\n // Session attribution (denormalized to avoid joins)\n sessionUuid String?\n sessionName String?\n createdAt DateTime @default(now())\n\n @@index([companyUuid])\n @@index([projectUuid])\n @@index([targetType, targetUuid])\n @@index([createdAt])\n}\n\n// Agent Session (sub-session for swarm mode observability)\nmodel AgentSession {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n company Company @relation(fields: [companyUuid], references: [uuid])\n agentUuid String\n agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)\n name String\n description String?\n status String @default("active") // active | inactive | closed\n lastActiveAt DateTime @default(now())\n expiresAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n taskCheckins SessionTaskCheckin[]\n\n @@index([companyUuid])\n @@index([agentUuid])\n @@index([status])\n}\n\n// Session-Task checkin relation (many-to-many)\nmodel SessionTaskCheckin {\n id Int @id @default(autoincrement())\n sessionUuid String\n session AgentSession @relation(fields: [sessionUuid], references: [uuid], onDelete: Cascade)\n taskUuid String\n task Task @relation(fields: [taskUuid], references: [uuid], onDelete: Cascade)\n checkinAt DateTime @default(now())\n checkoutAt DateTime?\n\n @@unique([sessionUuid, taskUuid])\n @@index([sessionUuid])\n @@index([taskUuid])\n}\n\n// Notification\nmodel Notification {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n projectUuid String\n // Recipient (polymorphic: user | agent)\n recipientType String // user | agent\n recipientUuid String\n // Related entity\n entityType String // task | idea | proposal | document | comment\n entityUuid String\n entityTitle String // Denormalized to avoid joins\n projectName String // Denormalized for project badge UI\n // Action info\n action String // assigned | status_changed | verified | reopened | submitted | approved | rejected | claimed | comment_added\n message String // Human-readable message\n actorType String // user | agent\n actorUuid String\n actorName String // Denormalized to avoid joins\n // Status\n readAt DateTime?\n archivedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([recipientType, recipientUuid, readAt])\n @@index([companyUuid, recipientUuid])\n @@index([entityType, entityUuid])\n @@index([projectUuid])\n}\n\n// Notification preferences\nmodel NotificationPreference {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n ownerType String // user | agent\n ownerUuid String\n // Toggle for each notification type (all enabled by default)\n taskAssigned Boolean @default(true)\n taskStatusChanged Boolean @default(true)\n taskVerified Boolean @default(true)\n taskReopened Boolean @default(true)\n proposalSubmitted Boolean @default(true)\n proposalApproved Boolean @default(true)\n proposalRejected Boolean @default(true)\n ideaClaimed Boolean @default(true)\n commentAdded Boolean @default(true)\n elaborationRequested Boolean @default(true)\n elaborationAnswered Boolean @default(true)\n mentioned Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([ownerType, ownerUuid])\n @@index([companyUuid])\n}\n\n// Mention (tracks @mentions in comments, tasks, ideas)\nmodel Mention {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n // Source: where the mention occurred\n sourceType String // comment | task | idea\n sourceUuid String // UUID of the comment, task, or idea\n // Target: who was mentioned\n mentionedType String // user | agent\n mentionedUuid String\n // Actor: who wrote the mention\n actorType String // user | agent\n actorUuid String\n createdAt DateTime @default(now())\n\n @@index([companyUuid])\n @@index([mentionedType, mentionedUuid])\n @@index([sourceType, sourceUuid])\n}\n\n// Elaboration Round (AI-DLC Stage 3 — structured requirements clarification)\nmodel ElaborationRound {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n companyUuid String\n ideaUuid String\n roundNumber Int\n status String @default("pending_answers") // pending_answers | answered | validated | needs_followup\n createdByType String // agent | user\n createdByUuid String\n validatedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n questions ElaborationQuestion[]\n\n @@index([ideaUuid])\n @@index([companyUuid])\n}\n\n// Elaboration Question (individual Q&A item within a round)\nmodel ElaborationQuestion {\n id Int @id @default(autoincrement())\n uuid String @unique @default(uuid())\n roundUuid String\n round ElaborationRound @relation(fields: [roundUuid], references: [uuid], onDelete: Cascade)\n questionId String // Round-scoped ID: "q1", "q2", etc.\n text String\n category String // functional | non_functional | business_context | technical_context | user_scenario | scope\n options Json // [{id, label, description?}] — 2-5 options\n required Boolean @default(true)\n // Answer (null = unanswered)\n selectedOptionId String?\n customText String?\n answeredAt DateTime?\n answeredByType String? // user | agent\n answeredByUuid String?\n // Validation issue (null = no issue)\n issueType String? // contradiction | ambiguity | incomplete\n issueDescription String?\n\n @@unique([roundUuid, questionId])\n @@index([roundUuid])\n}\n',runtimeDataModel:{models:{},enums:{},types:{}}};async function i(a){let{Buffer:b}=await Promise.resolve().then(c.t.bind(c,4573,23)),d=b.from(a,"base64");return new WebAssembly.Module(d)}h.runtimeDataModel=JSON.parse('{"models":{"Company":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"emailDomains","kind":"scalar","type":"String"},{"name":"oidcIssuer","kind":"scalar","type":"String"},{"name":"oidcClientId","kind":"scalar","type":"String"},{"name":"oidcEnabled","kind":"scalar","type":"Boolean"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"users","kind":"object","type":"User","relationName":"CompanyToUser"},{"name":"agents","kind":"object","type":"Agent","relationName":"AgentToCompany"},{"name":"apiKeys","kind":"object","type":"ApiKey","relationName":"ApiKeyToCompany"},{"name":"projects","kind":"object","type":"Project","relationName":"CompanyToProject"},{"name":"ideas","kind":"object","type":"Idea","relationName":"CompanyToIdea"},{"name":"documents","kind":"object","type":"Document","relationName":"CompanyToDocument"},{"name":"tasks","kind":"object","type":"Task","relationName":"CompanyToTask"},{"name":"proposals","kind":"object","type":"Proposal","relationName":"CompanyToProposal"},{"name":"activities","kind":"object","type":"Activity","relationName":"ActivityToCompany"},{"name":"comments","kind":"object","type":"Comment","relationName":"CommentToCompany"},{"name":"sessions","kind":"object","type":"AgentSession","relationName":"AgentSessionToCompany"}],"dbName":null},"User":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToUser"},{"name":"oidcSub","kind":"scalar","type":"String"},{"name":"email","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"avatarUrl","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"ownedAgents","kind":"object","type":"Agent","relationName":"AgentToUser"}],"dbName":null},"Agent":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"AgentToCompany"},{"name":"name","kind":"scalar","type":"String"},{"name":"roles","kind":"scalar","type":"String"},{"name":"persona","kind":"scalar","type":"String"},{"name":"systemPrompt","kind":"scalar","type":"String"},{"name":"ownerUuid","kind":"scalar","type":"String"},{"name":"owner","kind":"object","type":"User","relationName":"AgentToUser"},{"name":"lastActiveAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"apiKeys","kind":"object","type":"ApiKey","relationName":"AgentToApiKey"},{"name":"sessions","kind":"object","type":"AgentSession","relationName":"AgentToAgentSession"}],"dbName":null},"ApiKey":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"ApiKeyToCompany"},{"name":"agentUuid","kind":"scalar","type":"String"},{"name":"agent","kind":"object","type":"Agent","relationName":"AgentToApiKey"},{"name":"keyHash","kind":"scalar","type":"String"},{"name":"keyPrefix","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"lastUsed","kind":"scalar","type":"DateTime"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"revokedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ProjectGroup":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Project":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToProject"},{"name":"name","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"groupUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"ideas","kind":"object","type":"Idea","relationName":"IdeaToProject"},{"name":"documents","kind":"object","type":"Document","relationName":"DocumentToProject"},{"name":"tasks","kind":"object","type":"Task","relationName":"ProjectToTask"},{"name":"proposals","kind":"object","type":"Proposal","relationName":"ProjectToProposal"},{"name":"activities","kind":"object","type":"Activity","relationName":"ActivityToProject"}],"dbName":null},"Idea":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToIdea"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"project","kind":"object","type":"Project","relationName":"IdeaToProject"},{"name":"title","kind":"scalar","type":"String"},{"name":"content","kind":"scalar","type":"String"},{"name":"attachments","kind":"scalar","type":"Json"},{"name":"status","kind":"scalar","type":"String"},{"name":"assigneeType","kind":"scalar","type":"String"},{"name":"assigneeUuid","kind":"scalar","type":"String"},{"name":"assignedAt","kind":"scalar","type":"DateTime"},{"name":"assignedByUuid","kind":"scalar","type":"String"},{"name":"elaborationDepth","kind":"scalar","type":"String"},{"name":"elaborationStatus","kind":"scalar","type":"String"},{"name":"createdByUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Document":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToDocument"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"project","kind":"object","type":"Project","relationName":"DocumentToProject"},{"name":"type","kind":"scalar","type":"String"},{"name":"title","kind":"scalar","type":"String"},{"name":"content","kind":"scalar","type":"String"},{"name":"version","kind":"scalar","type":"Int"},{"name":"proposalUuid","kind":"scalar","type":"String"},{"name":"createdByUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Task":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToTask"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"project","kind":"object","type":"Project","relationName":"ProjectToTask"},{"name":"title","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"status","kind":"scalar","type":"String"},{"name":"priority","kind":"scalar","type":"String"},{"name":"storyPoints","kind":"scalar","type":"Float"},{"name":"acceptanceCriteria","kind":"scalar","type":"String"},{"name":"assigneeType","kind":"scalar","type":"String"},{"name":"assigneeUuid","kind":"scalar","type":"String"},{"name":"assignedAt","kind":"scalar","type":"DateTime"},{"name":"assignedByUuid","kind":"scalar","type":"String"},{"name":"proposalUuid","kind":"scalar","type":"String"},{"name":"createdByUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"dependsOn","kind":"object","type":"TaskDependency","relationName":"taskDependencies"},{"name":"dependedBy","kind":"object","type":"TaskDependency","relationName":"taskDependedBy"},{"name":"sessionCheckins","kind":"object","type":"SessionTaskCheckin","relationName":"SessionTaskCheckinToTask"},{"name":"acceptanceCriteriaItems","kind":"object","type":"AcceptanceCriterion","relationName":"AcceptanceCriterionToTask"}],"dbName":null},"TaskDependency":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"taskUuid","kind":"scalar","type":"String"},{"name":"dependsOnUuid","kind":"scalar","type":"String"},{"name":"task","kind":"object","type":"Task","relationName":"taskDependencies"},{"name":"dependsOn","kind":"object","type":"Task","relationName":"taskDependedBy"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null},"AcceptanceCriterion":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"taskUuid","kind":"scalar","type":"String"},{"name":"task","kind":"object","type":"Task","relationName":"AcceptanceCriterionToTask"},{"name":"description","kind":"scalar","type":"String"},{"name":"required","kind":"scalar","type":"Boolean"},{"name":"devStatus","kind":"scalar","type":"String"},{"name":"devEvidence","kind":"scalar","type":"String"},{"name":"devMarkedByType","kind":"scalar","type":"String"},{"name":"devMarkedBy","kind":"scalar","type":"String"},{"name":"devMarkedAt","kind":"scalar","type":"DateTime"},{"name":"status","kind":"scalar","type":"String"},{"name":"evidence","kind":"scalar","type":"String"},{"name":"markedByType","kind":"scalar","type":"String"},{"name":"markedBy","kind":"scalar","type":"String"},{"name":"markedAt","kind":"scalar","type":"DateTime"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Proposal":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CompanyToProposal"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"project","kind":"object","type":"Project","relationName":"ProjectToProposal"},{"name":"title","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"inputType","kind":"scalar","type":"String"},{"name":"inputUuids","kind":"scalar","type":"Json"},{"name":"documentDrafts","kind":"scalar","type":"Json"},{"name":"taskDrafts","kind":"scalar","type":"Json"},{"name":"status","kind":"scalar","type":"String"},{"name":"createdByUuid","kind":"scalar","type":"String"},{"name":"createdByType","kind":"scalar","type":"String"},{"name":"reviewedByUuid","kind":"scalar","type":"String"},{"name":"reviewNote","kind":"scalar","type":"String"},{"name":"reviewedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Comment":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"CommentToCompany"},{"name":"targetType","kind":"scalar","type":"String"},{"name":"targetUuid","kind":"scalar","type":"String"},{"name":"content","kind":"scalar","type":"String"},{"name":"authorType","kind":"scalar","type":"String"},{"name":"authorUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Activity":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"ActivityToCompany"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"project","kind":"object","type":"Project","relationName":"ActivityToProject"},{"name":"targetType","kind":"scalar","type":"String"},{"name":"targetUuid","kind":"scalar","type":"String"},{"name":"actorType","kind":"scalar","type":"String"},{"name":"actorUuid","kind":"scalar","type":"String"},{"name":"action","kind":"scalar","type":"String"},{"name":"value","kind":"scalar","type":"Json"},{"name":"sessionUuid","kind":"scalar","type":"String"},{"name":"sessionName","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null},"AgentSession":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"company","kind":"object","type":"Company","relationName":"AgentSessionToCompany"},{"name":"agentUuid","kind":"scalar","type":"String"},{"name":"agent","kind":"object","type":"Agent","relationName":"AgentToAgentSession"},{"name":"name","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"status","kind":"scalar","type":"String"},{"name":"lastActiveAt","kind":"scalar","type":"DateTime"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"taskCheckins","kind":"object","type":"SessionTaskCheckin","relationName":"AgentSessionToSessionTaskCheckin"}],"dbName":null},"SessionTaskCheckin":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"sessionUuid","kind":"scalar","type":"String"},{"name":"session","kind":"object","type":"AgentSession","relationName":"AgentSessionToSessionTaskCheckin"},{"name":"taskUuid","kind":"scalar","type":"String"},{"name":"task","kind":"object","type":"Task","relationName":"SessionTaskCheckinToTask"},{"name":"checkinAt","kind":"scalar","type":"DateTime"},{"name":"checkoutAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Notification":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"projectUuid","kind":"scalar","type":"String"},{"name":"recipientType","kind":"scalar","type":"String"},{"name":"recipientUuid","kind":"scalar","type":"String"},{"name":"entityType","kind":"scalar","type":"String"},{"name":"entityUuid","kind":"scalar","type":"String"},{"name":"entityTitle","kind":"scalar","type":"String"},{"name":"projectName","kind":"scalar","type":"String"},{"name":"action","kind":"scalar","type":"String"},{"name":"message","kind":"scalar","type":"String"},{"name":"actorType","kind":"scalar","type":"String"},{"name":"actorUuid","kind":"scalar","type":"String"},{"name":"actorName","kind":"scalar","type":"String"},{"name":"readAt","kind":"scalar","type":"DateTime"},{"name":"archivedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"NotificationPreference":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"ownerType","kind":"scalar","type":"String"},{"name":"ownerUuid","kind":"scalar","type":"String"},{"name":"taskAssigned","kind":"scalar","type":"Boolean"},{"name":"taskStatusChanged","kind":"scalar","type":"Boolean"},{"name":"taskVerified","kind":"scalar","type":"Boolean"},{"name":"taskReopened","kind":"scalar","type":"Boolean"},{"name":"proposalSubmitted","kind":"scalar","type":"Boolean"},{"name":"proposalApproved","kind":"scalar","type":"Boolean"},{"name":"proposalRejected","kind":"scalar","type":"Boolean"},{"name":"ideaClaimed","kind":"scalar","type":"Boolean"},{"name":"commentAdded","kind":"scalar","type":"Boolean"},{"name":"elaborationRequested","kind":"scalar","type":"Boolean"},{"name":"elaborationAnswered","kind":"scalar","type":"Boolean"},{"name":"mentioned","kind":"scalar","type":"Boolean"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null},"Mention":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"sourceType","kind":"scalar","type":"String"},{"name":"sourceUuid","kind":"scalar","type":"String"},{"name":"mentionedType","kind":"scalar","type":"String"},{"name":"mentionedUuid","kind":"scalar","type":"String"},{"name":"actorType","kind":"scalar","type":"String"},{"name":"actorUuid","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null},"ElaborationRound":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"companyUuid","kind":"scalar","type":"String"},{"name":"ideaUuid","kind":"scalar","type":"String"},{"name":"roundNumber","kind":"scalar","type":"Int"},{"name":"status","kind":"scalar","type":"String"},{"name":"createdByType","kind":"scalar","type":"String"},{"name":"createdByUuid","kind":"scalar","type":"String"},{"name":"validatedAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"questions","kind":"object","type":"ElaborationQuestion","relationName":"ElaborationQuestionToElaborationRound"}],"dbName":null},"ElaborationQuestion":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"uuid","kind":"scalar","type":"String"},{"name":"roundUuid","kind":"scalar","type":"String"},{"name":"round","kind":"object","type":"ElaborationRound","relationName":"ElaborationQuestionToElaborationRound"},{"name":"questionId","kind":"scalar","type":"String"},{"name":"text","kind":"scalar","type":"String"},{"name":"category","kind":"scalar","type":"String"},{"name":"options","kind":"scalar","type":"Json"},{"name":"required","kind":"scalar","type":"Boolean"},{"name":"selectedOptionId","kind":"scalar","type":"String"},{"name":"customText","kind":"scalar","type":"String"},{"name":"answeredAt","kind":"scalar","type":"DateTime"},{"name":"answeredByType","kind":"scalar","type":"String"},{"name":"answeredByUuid","kind":"scalar","type":"String"},{"name":"issueType","kind":"scalar","type":"String"},{"name":"issueDescription","kind":"scalar","type":"String"}],"dbName":null}},"enums":{},"types":{}}'),h.compilerWasm={getRuntime:async()=>await Promise.resolve().then(c.bind(c,75811)),getQueryCompilerWasmModule:async()=>{let{wasm:a}=await Promise.resolve().then(c.bind(c,44865));return await i(a)},importName:"./query_compiler_fast_bg.js"},g.PrismaClientKnownRequestError,g.PrismaClientUnknownRequestError,g.PrismaClientRustPanicError,g.PrismaClientInitializationError,g.PrismaClientValidationError,g.sqltag,g.empty,g.join,g.raw,g.Sql,g.Decimal,g.Extensions.getExtensionContext,g.NullTypes.DbNull,g.NullTypes.JsonNull,g.NullTypes.AnyNull,g.DbNull;let j=g.JsonNull;g.AnyNull,g.makeStrictEnum({ReadUncommitted:"ReadUncommitted",ReadCommitted:"ReadCommitted",RepeatableRead:"RepeatableRead",Serializable:"Serializable"}),g.Extensions.defineExtension,globalThis.__dirname=e.dirname((0,f.fileURLToPath)("file:///home/ubuntu/dev/ai-pm/src/generated/prisma/client.ts"));let k=g.getPrismaClient(h)},71255:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z:()=>q});var e=c(69996),f=c(58078),g=c(64939),h=c(97307),i=a([g,f]);[g,f]=i.then?(await i)():i;let j=process.env.DATABASE_URL||(process.env.DB_HOST?`postgresql://${process.env.DB_USERNAME}:${encodeURIComponent(process.env.DB_PASSWORD||"")}@${process.env.DB_HOST}:${process.env.DB_PORT||"5432"}/${process.env.DB_NAME||"chorus"}`:void 0),k=globalThis,l=k.pool??new g.default.Pool({connectionString:j,...process.env.DB_HOST?{ssl:{rejectUnauthorized:!1}}:{}});k.pool||l.on("error",a=>{h.A.child({module:"pg-pool"}).warn({err:a.message},"Idle connection evicted")});let m=new f.M(l),n=h.A.child({module:"prisma"}),o=k.prisma??new e.m3({adapter:m,log:[{emit:"event",level:"error"}]}),p=h.A.child({module:"pg-pool"}),q=o.$extends({query:{async $allOperations({args:a,query:b}){let c;for(let d=0;d<=3;d++)try{return await b(a)}catch(a){if(a instanceof Error&&("code"in a&&"P1017"===a.code||a.message.includes("Connection terminated")||a.message.includes("Server has closed the connection"))&&d<3){p.warn("Stale connection evicted (attempt %d/%d)",d+1,3),c=a;continue}throw a}throw c}}});k.prisma||"function"!=typeof o.$on||(o.$on("query",a=>{n.debug({duration:a.duration},a.query)}),o.$on("warn",a=>{n.warn(a.message)}),o.$on("error",a=>{n.error(a.message)})),d()}catch(a){d(a)}})},79793:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>e});var d=c(86053);async function e(a){try{let{payload:b}=await (0,d.V)(a,function(){let a=process.env.NEXTAUTH_SECRET;if(!a)throw Error("NEXTAUTH_SECRET is not set");return new TextEncoder().encode(a)}());if("user"===b.type&&"access"===b.tokenType)return{type:"user",userUuid:b.userUuid,companyUuid:b.companyUuid,email:b.email,name:b.name,oidcSub:b.oidcSub,oidcAccessToken:b.oidcAccessToken,oidcRefreshToken:b.oidcRefreshToken,oidcExpiresAt:b.oidcExpiresAt};return null}catch{return null}}},86963:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>j});var e=c(51514),f=c(86053),g=c(71255),h=c(97307),i=a([g]);g=(i.then?(await i)():i)[0];let k=new Map;async function j(a){try{let b=a.split(".");if(3!==b.length)return null;let c=JSON.parse(Buffer.from(b[1],"base64url").toString("utf-8")).iss;if(!c)return null;let d=function(a){if(!k.has(a)){let b=new URL(`${a.replace(/\/$/,"")}/.well-known/jwks.json`);k.set(a,(0,e.RD)(b))}return k.get(a)}(c),{payload:h}=await (0,f.V)(a,d,{issuer:c});if(h.token_use&&"access"!==h.token_use)return null;let i=await g.z.company.findFirst({where:{oidcEnabled:!0,oidcIssuer:c}});if(!i)return null;let j=await g.z.user.findFirst({where:{companyUuid:i.uuid,oidcSub:h.sub}});if(!j)return null;return{type:"user",companyUuid:i.uuid,actorUuid:j.uuid,email:j.email||h.email,name:j.name||h.name}}catch(a){return h.A.error({err:a},"OIDC token verification failed"),null}}d()}catch(a){d(a)}})},92592:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Xm:()=>i,lX:()=>k});var e=c(71255),f=c(62729),g=a([e]);function h(a){return{uuid:a.uuid,projectUuid:a.projectUuid,projectName:a.projectName,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName,readAt:a.readAt?.toISOString()??null,archivedAt:a.archivedAt?.toISOString()??null,createdAt:a.createdAt.toISOString()}}async function i(a){let b=await Promise.all(a.map(a=>e.z.notification.create({data:{companyUuid:a.companyUuid,projectUuid:a.projectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName}}))),c=new Set;for(let b of a)c.add(`${b.recipientType}:${b.recipientUuid}:${b.companyUuid}`);for(let d of c){let[c,e,g]=d.split(":"),h=await j(g,c,e),i=b.find(a=>a.recipientType===c&&a.recipientUuid===e),k=a.find(a=>a.recipientType===c&&a.recipientUuid===e);f.B.emit(`notification:${c}:${e}`,{type:"new_notification",notificationUuid:i?.uuid,unreadCount:h,action:k?.action,actorName:k?.actorName,entityTitle:k?.entityTitle,entityType:k?.entityType,entityUuid:k?.entityUuid,projectUuid:k?.projectUuid})}return b.map(h)}async function j(a,b,c){return e.z.notification.count({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,archivedAt:null}})}async function k(a,b,c){let d=await e.z.notificationPreference.findUnique({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}}});return d||(d=await e.z.notificationPreference.create({data:{companyUuid:a,ownerType:b,ownerUuid:c}})),{uuid:d.uuid,ownerType:d.ownerType,ownerUuid:d.ownerUuid,taskAssigned:d.taskAssigned,taskStatusChanged:d.taskStatusChanged,taskVerified:d.taskVerified,taskReopened:d.taskReopened,proposalSubmitted:d.proposalSubmitted,proposalApproved:d.proposalApproved,proposalRejected:d.proposalRejected,ideaClaimed:d.ideaClaimed,commentAdded:d.commentAdded,elaborationRequested:d.elaborationRequested,elaborationAnswered:d.elaborationAnswered,mentioned:d.mentioned}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},92633:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>h,SJ:()=>j,Uo:()=>k,Xx:()=>l,_9:()=>m,ir:()=>i,lR:()=>g});var e=c(71255),f=a([e]);async function g(a,b){if("user"===a){let a=await e.z.user.findUnique({where:{uuid:b},select:{name:!0,email:!0}});return a&&(a.name||a.email)||"Unknown"}if("agent"===a){let a=await e.z.agent.findUnique({where:{uuid:b},select:{name:!0}});return a?.name??null}return null}async function h(a,b){if(b){let c=await g(b,a);return c?{type:b,uuid:a,name:c}:null}let c=await e.z.user.findUnique({where:{uuid:a},select:{name:!0,email:!0}});if(c)return{type:"user",uuid:a,name:c.name||c.email||"Unknown"};let d=await e.z.agent.findUnique({where:{uuid:a},select:{name:!0}});return d?{type:"agent",uuid:a,name:d.name}:null}async function i(a,b,c,d){if(!a||!b)return null;let e=await g(a,b);if(!e)return null;let f=null;if(d){let a=await g("user",d);a&&(f={type:"user",uuid:d,name:a})}return{type:a,uuid:b,name:e,assignedAt:c?.toISOString()??null,assignedBy:f}}async function j(a,b,c){if(!a)return null;let d=await g("user",a);if(d&&"Unknown"!==d)return{reviewedBy:{type:"user",uuid:a,name:d},reviewNote:b,reviewedAt:c?.toISOString()??null};let e=await g("agent",a);return e?{reviewedBy:{type:"agent",uuid:a,name:e},reviewNote:b,reviewedAt:c?.toISOString()??null}:null}async function k(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a.filter(a=>"user"===a.type).map(a=>a.uuid))],d=[...new Set(a.filter(a=>"agent"===a.type).map(a=>a.uuid))],[f,g]=await Promise.all([c.length>0?e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}):[],d.length>0?e.z.agent.findMany({where:{uuid:{in:d}},select:{uuid:!0,name:!0}}):[]]);for(let a of f)b.set(a.uuid,a.name||a.email||"Unknown");for(let a of g)b.set(a.uuid,a.name);return b}async function l(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a)],d=await e.z.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}),f=new Set;for(let a of d)f.add(a.uuid),b.set(a.uuid,{type:"user",uuid:a.uuid,name:a.name||a.email||"Unknown"});let g=c.filter(a=>!f.has(a));if(g.length>0)for(let a of(await e.z.agent.findMany({where:{uuid:{in:g}},select:{uuid:!0,name:!0}})))b.set(a.uuid,{type:"agent",uuid:a.uuid,name:a.name});return b}async function m(a,b,c){let d={uuid:b,companyUuid:c};switch(a){case"idea":return!!await e.z.idea.findFirst({where:d,select:{uuid:!0}});case"proposal":return!!await e.z.proposal.findFirst({where:d,select:{uuid:!0}});case"task":return!!await e.z.task.findFirst({where:d,select:{uuid:!0}});case"document":return!!await e.z.document.findFirst({where:d,select:{uuid:!0}});default:return!1}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},94372:(a,b,c)=>{"use strict";c.d(b,{Xi:()=>i,av:()=>j,j7:()=>h,tU:()=>g});var d=c(10837);c(21968);var e=c(25400),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"tabs",className:(0,f.cn)("flex flex-col gap-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)(e.List,{"data-slot":"tabs-list",className:(0,f.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",a),...b})}function i({className:a,...b}){return(0,d.jsx)(e.Trigger,{"data-slot":"tabs-trigger",className:(0,f.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",a),...b})}function j({className:a,...b}){return(0,d.jsx)(e.Content,{"data-slot":"tabs-content",className:(0,f.cn)("flex-1 outline-none",a),...b})}},96307:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(25335),e=c(30393);function f(...a){return(0,e.QP)((0,d.$)(a))}},97307:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(74552);let e=c.n(d)()({level:process.env.LOG_LEVEL||"info",base:{service:"chorus"},...{}})},97553:(a,b,c)=>{"use strict";c.d(b,{AL:()=>g,IB:()=>d,L$:()=>f,q:()=>e});let d=["en","zh"],e="en",f={en:"English",zh:"中文"};function g(){if("undefined"==typeof navigator)return e;let a=navigator.language.split("-")[0];return d.includes(a)?a:e}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[10739],{4365:(e,t,s)=>{"use strict";s.d(t,{G7:()=>l,L$:()=>u,h_:()=>p,oI:()=>d,uB:()=>o,xL:()=>c});var a=s(90508);s(1856);var r=s(64731),n=s(30044),i=s(24377);function o(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...s})}function l(e){let{className:t,...s}=e;return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(r.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...s})]})}function d(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...s})}function c(e){let{...t}=e;return(0,a.jsx)(r.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...s})}function p(e){let{className:t,...s}=e;return(0,a.jsx)(r.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...s})}},14554:(e,t,s)=>{"use strict";s.d(t,{p:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,type:s,...n}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},15972:(e,t,s)=>{"use strict";s.d(t,{T:()=>n});var a=s(90508);s(1856);var r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...s})}},17001:(e,t,s)=>{"use strict";s.d(t,{AM:()=>i,Wv:()=>o,hl:()=>l});var a=s(90508);s(1856);var r=s(79919),n=s(24377);function i(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"popover",...t})}function o(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"popover-trigger",...t})}function l(e){let{className:t,align:s="center",sideOffset:i=4,...o}=e;return(0,a.jsx)(r.Portal,{children:(0,a.jsx)(r.Content,{"data-slot":"popover-content",align:s,sideOffset:i,className:(0,n.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...o})})}},33188:(e,t,s)=>{"use strict";s.d(t,{TaskViewToggle:()=>el});var a=s(90508),r=s(1856),n=s(23675),i=s(39268),o=s(83064),l=s(18789),d=s(76111),c=s(5616),u=s(22922),p=s(57731),x=s(48416),m=s(62205),g=s(81531),f=s(56770),h=s(66206);let v=(0,h.A)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var b=s(60532),j=s(9160),y=s(24377),w=s(17001),C=s(4365);function N(e){let{projectUuid:t}=e,s=(0,i.c)("tasks"),o=(0,n.useRouter)(),l=(0,n.usePathname)(),d=(0,n.useSearchParams)(),[c,x]=(0,r.useState)(!1),[m,g]=(0,r.useState)([]),[h,N]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{let e=d.get("proposalUuids");e?N(new Set(e.split(",").filter(Boolean))):N(new Set)},[d]),(0,r.useEffect)(()=>{let e=!1;return async function(){try{let s=await fetch("/api/projects/".concat(t,"/proposals/summary"));if(!s.ok)return;let a=await s.json();!e&&a.success&&g(a.data)}catch(e){}}(),()=>{e=!0}},[t]);let k=(0,r.useCallback)(e=>{let t=new URLSearchParams(d.toString());e.size>0?t.set("proposalUuids",Array.from(e).join(",")):t.delete("proposalUuids");let s=t.toString();o.replace("".concat(l).concat(s?"?".concat(s):""),{scroll:!1})},[o,l,d]),A=(0,r.useCallback)(e=>{N(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),k(s),s})},[k]),F=(0,r.useCallback)(()=>{N(new Set),k(new Set)},[k]),E=h.size>0;return(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground shrink-0",children:[(0,a.jsx)(f.A,{className:"size-4"}),(0,a.jsxs)("span",{children:[s("proposalFilter.label"),":"]})]}),(0,a.jsxs)(w.AM,{open:c,onOpenChange:x,children:[(0,a.jsx)(w.Wv,{asChild:!0,children:(0,a.jsxs)(u.$,{variant:"outline",size:"sm",role:"combobox","aria-expanded":c,className:(0,y.cn)("justify-between gap-1 min-w-[120px] max-w-[200px] md:min-w-[160px] md:max-w-none",E&&"border-[#C67A52] bg-[#FFF8F4]"),children:[(0,a.jsx)("span",{className:"truncate",children:E?s("proposalFilter.filtered",{filtered:h.size,total:m.length}):s("proposalFilter.allProposals")}),(0,a.jsx)(v,{className:"size-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(w.hl,{className:"w-[300px] p-0",align:"start",children:(0,a.jsxs)(C.uB,{children:[(0,a.jsx)(C.G7,{placeholder:s("proposalFilter.search")}),(0,a.jsxs)(C.oI,{children:[(0,a.jsx)(C.xL,{children:s("proposalFilter.noResults")}),(0,a.jsx)(C.L$,{children:m.map(e=>{let t=h.has(e.uuid);return(0,a.jsxs)(C.h_,{value:e.title,onSelect:()=>A(e.uuid),className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)("div",{className:(0,y.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm border",t?"border-[#C67A52] bg-[#C67A52] text-white":"border-muted-foreground/30"),children:t&&(0,a.jsx)(b.A,{className:"size-3"})}),(0,a.jsx)("span",{className:"truncate",children:e.title})]}),(0,a.jsx)(p.E,{variant:"secondary",className:"ml-2 shrink-0",children:s("proposalFilter.taskCount",{count:e.taskCount})})]},e.uuid)})})]})]})})]}),E&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-1 max-w-full",children:m.filter(e=>h.has(e.uuid)).map(e=>(0,a.jsxs)(p.E,{variant:"outline",className:"gap-1 border-[#C67A52] bg-[#FFF8F4] text-[#C67A52]",children:[e.title,(0,a.jsx)("button",{type:"button",className:"ml-0.5 rounded-full hover:bg-[#C67A52]/20",onClick:()=>A(e.uuid),children:(0,a.jsx)(j.A,{className:"size-3"})})]},e.uuid))}),(0,a.jsx)(u.$,{variant:"ghost",size:"xs",onClick:F,className:"text-muted-foreground",children:s("proposalFilter.clear")})]})]})}var k=s(1976),A=s(96213);let F=(0,h.A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var E=s(17475);let B=(0,h.A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var z=s(43827);let P=(0,r.createContext)(null);var S=s(95725),_=s(66506);let D=e=>!e.isLayoutDirty&&e.willUpdate(!1),R=e=>{let{children:t,id:s,inherit:n=!0}=e,i=(0,r.useContext)(z.L),o=(0,r.useContext)(P),[l,d]=function(){let e=function(){let e=(0,r.useRef)(!1);return(0,_.E)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}(),[t,s]=(0,r.useState)(0),a=(0,r.useCallback)(()=>{e.current&&s(t+1)},[t]);return[(0,r.useCallback)(()=>S.Gt.postRender(a),[a]),t]}(),c=(0,r.useRef)(null),u=i.id||o;null===c.current&&((e=>!0==(!0===e)||"id"===e)(n)&&u&&(s=s?u+"-"+s:u),c.current={id:s,group:!0===n&&i.group||function(){let e=new Set,t=new WeakMap,s=()=>e.forEach(D);return{add:a=>{e.add(a),t.set(a,a.addEventListener("willUpdate",s))},remove:a=>{e.delete(a);let r=t.get(a);r&&(r(),t.delete(a)),s()},dirty:s}}()});let p=(0,r.useMemo)(()=>({...c.current,forceRender:l}),[d]);return(0,a.jsx)(z.L.Provider,{value:p,children:t})};var U=s(16544),O=s(65626),T=s(97438),L=s(52217);let M=(0,L.createServerReference)("40b53dde2a5b26473091311fd9e0bef4f2f9ce3267",L.callServer,void 0,L.findSourceMapURL,"fetchTasksAction"),I=(0,L.createServerReference)("70374bb782995e3ff6414e8ec52d4adb967f1fdfc3",L.callServer,void 0,L.findSourceMapURL,"moveTaskToColumnAction"),K=(0,L.createServerReference)("60c5d2f45e60e14024eeb27c0961bbf0e543bd2290",L.callServer,void 0,L.findSourceMapURL,"forceMoveTaskToColumnAction");var V=s(67712),$=s(3081),q=s(1248),G=s(63964);let W={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},Z={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},H={in_progress:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E8F5E9] text-[#2E7D32]",open:"bg-[#F5F5F5] text-[#6B6B6B]",to_verify:"bg-[#E3F2FD] text-[#1565C0]"},Y=[{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}];function J(e){let{projectUuid:t,initialTasks:s,currentUserUuid:n,selectedTaskUuid:o,onTaskSelect:l,onPanelClose:d,proposalUuidFilter:c}=e,m=(0,i.c)(),[g,f]=(0,r.useState)(s),[h,v]=(0,r.useState)({}),[b,j]=(0,r.useState)(!1),[y,w]=(0,r.useState)(null),[C,N]=(0,r.useState)([]),[z,P]=(0,r.useState)(!1),[S,_]=(0,r.useState)([]),[D,L]=(0,r.useState)(!1),[J,Q]=(0,r.useState)(!1),X=(0,r.useCallback)(async()=>{let e=await M(t);if(e.success){let t=c?e.data.filter(e=>e.proposalUuid&&c.has(e.proposalUuid)):e.data;f(t);let s=await (0,q.h)(t.map(e=>e.uuid));s.success&&s.data&&v(s.data)}},[t,c]);(0,G.eV)("task",X);let ee=(0,r.useRef)(c);(0,r.useEffect)(()=>{ee.current!==c&&(ee.current=c,X())},[c,X]),(0,r.useEffect)(()=>{0!==s.length&&(0,q.h)(s.map(e=>e.uuid)).then(e=>{e.success&&e.data&&v(e.data)})},[s]);let et=(0,r.useMemo)(()=>{var e;return o&&null!=(e=g.find(e=>e.uuid===o))?e:null},[o,g]),es=e=>g.filter(t=>e.includes(t.status)),ea=e=>es(e).reduce((e,t)=>e+(t.storyPoints||0),0),er=async e=>{let s;Q(!1);let{destination:a,source:r,draggableId:n}=e;if(!a||a.droppableId===r.droppableId&&a.index===r.index)return;let i=a.droppableId;r.droppableId;let o=g.find(e=>e.uuid===n);if(!o)return;if(Y.find(e=>e.id===i),"todo"===i)s="assigned"===o.status?"assigned":"open";else if("in_progress"===i)s="in_progress";else if("to_verify"===i)s="to_verify";else{if("done"!==i)return;s="to_verify"===o.status?"done":"to_verify"}f(e=>e.map(e=>e.uuid===n?{...e,status:s}:e));let l=await I(n,i,t);if(l.success)X();else{if("blocked"in l&&l.blocked&&"blockers"in l){f(e=>e.map(e=>e.uuid===n?{...e,status:o.status}:e)),w(o),N(l.blockers),j(!0);return}f(e=>e.map(e=>e.uuid===n?{...e,status:o.status}:e)),"gateBlocked"in l&&l.gateBlocked&&(_("unresolvedCriteria"in l&&Array.isArray(l.unresolvedCriteria)?l.unresolvedCriteria:[]),P(!0))}},en=async()=>{if(y){L(!0);try{let e=await K(y.uuid,"in_progress");e.success?(j(!1),w(null),N([]),X()):V.q.error("Failed to force move task:",e.error)}finally{L(!1)}}},ei=()=>{j(!1),w(null),N([])};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.JY,{onDragStart:()=>{Q(!0)},onDragEnd:er,children:(0,a.jsx)(R,{children:(0,a.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:Y.map(e=>{let t=es(e.statuses);return(0,a.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-[#F5F2EC] p-4",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h3",{className:"font-medium text-[#2C2C2C]",children:m("status.".concat(e.labelKey))}),(0,a.jsx)("span",{className:"rounded-full bg-white px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:t.length})]}),ea(e.statuses)>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#9A9A9A]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),ea(e.statuses),"h"]})]}),(0,a.jsx)(k.gL,{droppableId:e.id,children:(e,s)=>(0,a.jsxs)("div",{ref:e.innerRef,...e.droppableProps,className:"flex-1 space-y-3 overflow-y-auto min-h-[100px] rounded-lg pt-3 pr-3 transition-colors ".concat(s.isDraggingOver?"bg-[#E5E0D8]":""),children:[0!==t.length||s.isDraggingOver?t.map((e,t)=>{let s=!!e.dependsOn&&0!==e.dependsOn.length&&e.dependsOn.some(e=>"done"!==e.status&&"closed"!==e.status),r=(s?!e.dependsOn?[]:e.dependsOn.filter(e=>"done"!==e.status&&"closed"!==e.status):[]).map(e=>e.title).join(", ");return(0,a.jsx)(k.sx,{draggableId:e.uuid,index:t,children:(t,n)=>(0,a.jsx)("div",{ref:t.innerRef,...t.draggableProps,...t.dragHandleProps,onClick:()=>{n.isDragging||l(e.uuid)},style:t.draggableProps.style,children:(0,a.jsxs)(U.P.div,{className:"relative",layoutId:J?void 0:"task-card-".concat(e.uuid),transition:O.Yv.spring,children:[h[e.uuid]>0&&(0,a.jsx)("div",{className:"absolute -top-3 -right-3 z-10 flex h-11 w-11 items-center justify-center rounded-full border-2 border-green-400 bg-white shadow-sm",children:(0,a.jsx)("img",{src:"/typing-animation.gif",alt:"",className:"h-8 w-8"})}),(0,a.jsx)(A.D,{entityType:"task",entityUuid:e.uuid,children:(0,a.jsxs)(x.Zp,{className:"cursor-pointer p-4 transition-all ".concat(s?"border-dashed border-[#D1D1D1] opacity-60":"border-[#E5E0D8] hover:border-[#C67A52]"," bg-white hover:shadow-sm ").concat(n.isDragging?"shadow-lg rotate-2":""),children:[(0,a.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,a.jsx)(p.E,{className:W[e.status]||"",children:m("status.".concat(Z[e.status]||e.status))}),(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:e.storyPoints&&(0,a.jsxs)("span",{className:"flex items-center gap-1 rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),e.storyPoints,"h"]})})]}),(0,a.jsx)("h4",{className:"mb-1 font-medium text-[#2C2C2C]",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mb-2 line-clamp-2 text-sm text-[#6B6B6B]",children:e.description}),s&&(0,a.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 rounded-md bg-[#FFF3E0] px-2 py-1",children:[(0,a.jsx)(F,{className:"h-3 w-3 shrink-0 text-[#E65100]"}),(0,a.jsx)("span",{className:"text-[9px] font-medium leading-tight text-[#E65100] line-clamp-1",children:m("tasks.blockedBy",{tasks:r})})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:[e.assignee?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-3 w-3",children:[(0,a.jsx)("path",{d:"M12 8V4H8"}),(0,a.jsx)("rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"})]}),e.assignee.name]}):"open"===e.status?(0,a.jsx)("span",{className:"text-[#C67A52]",children:m("common.assign")}):(0,a.jsx)("span",{children:m("common.unassigned")}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[h[e.uuid]>0&&(0,a.jsxs)(p.E,{variant:"outline",className:"h-4 gap-1 border-green-300 px-1.5 text-[10px] text-green-700",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500"}),m("sessions.workerCount",{count:h[e.uuid]})]}),e.acceptanceSummary&&e.acceptanceSummary.total>0&&(()=>{let t=e.acceptanceSummary,s="to_verify"===e.status,r=t.requiredPassed===t.required&&t.required>0,n=t.requiredFailed>0,i="bg-[#F5F2EC] text-[#9A9A9A]";return s&&(i=r?"bg-green-50 text-green-700":n?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),(0,a.jsxs)(p.E,{className:"h-4 gap-1 border-0 px-1.5 text-[9px] ".concat(i),children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-2.5 w-2.5",children:[(0,a.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,a.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]}),t.passed,"/",t.total]})})()]})]})]})})]})})},e.uuid)}):(0,a.jsx)("div",{className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:m("tasks.noTasks")}),e.placeholder]})})]},e.id)})})})}),et&&(0,a.jsx)($.v,{task:et,projectUuid:t,currentUserUuid:n,onClose:d}),(0,a.jsx)(T.lG,{open:b,onOpenChange:e=>{e||ei()},children:(0,a.jsxs)(T.Cf,{className:"max-w-md rounded-2xl",children:[(0,a.jsxs)(T.c7,{children:[(0,a.jsxs)(T.L3,{className:"flex items-center gap-2",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#E65100]"}),m("tasks.dependencyBlocked")]}),(0,a.jsx)(T.rr,{children:m("tasks.dependencyBlockedDescription")})]}),(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-medium text-[#6B6B6B]",children:m("tasks.blockerList")}),(0,a.jsx)("div",{className:"space-y-2",children:C.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-[#E5E0D8] bg-white p-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-sm font-medium text-[#2C2C2C]",children:e.title}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[e.assignee&&(0,a.jsx)("span",{className:"text-xs text-[#6B6B6B]",children:e.assignee.name}),e.sessionCheckin&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-[#6B6B6B]",children:[(0,a.jsx)(B,{className:"h-3 w-3"}),e.sessionCheckin.sessionName]})]})]}),(0,a.jsx)(p.E,{className:"shrink-0 ".concat(H[e.status]||"bg-[#F5F5F5] text-[#6B6B6B]"),children:m("status.".concat(Z[e.status]||e.status))})]},e.uuid))})]}),(0,a.jsxs)(T.Es,{className:"gap-2 sm:gap-0",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:ei,children:m("common.cancel")}),(0,a.jsx)(u.$,{className:"bg-[#E65100] hover:bg-[#BF4400] text-white",onClick:en,disabled:D,children:D?m("common.processing"):m("tasks.forceMove")})]})]})}),(0,a.jsx)(T.lG,{open:z,onOpenChange:P,children:(0,a.jsxs)(T.Cf,{className:"max-w-[520px] rounded-2xl p-0 gap-0",children:[(0,a.jsxs)(T.c7,{className:"px-6 pt-6 pb-4",children:[(0,a.jsxs)(T.L3,{className:"flex items-center gap-2.5",children:[(0,a.jsx)(E.A,{className:"h-5 w-5 text-[#C4574C]"}),m("acceptanceCriteria.title")]}),(0,a.jsx)(T.rr,{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:m("acceptanceCriteria.gateBlocked",{count:S.filter(e=>e.required&&"passed"!==e.status).length})})]}),(0,a.jsxs)("div",{className:"px-6 pb-4 space-y-3",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-[#9A9A9A] uppercase tracking-wide",children:m("acceptanceCriteria.title")}),S.map(e=>(0,a.jsxs)("div",{className:"rounded-lg border p-3 space-y-2 ".concat("failed"===e.status?"border-red-200 bg-white":"border-[#E5E0D8] bg-white"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full shrink-0 ".concat("failed"===e.status?"bg-[#C4574C]":"bg-[#F59E0B]")}),(0,a.jsx)("span",{className:"text-xs font-semibold text-[#2C2C2C]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 pl-4",children:[(0,a.jsx)(p.E,{className:"text-[10px] border-0 ".concat("failed"===e.status?"bg-red-50 text-[#C4574C]":"bg-amber-50 text-[#D97706]"),children:m("acceptanceCriteria.status.".concat(e.status))}),(0,a.jsx)(p.E,{className:"text-[10px] border-0 bg-[#FAF8F4] text-[#9A9A9A]",children:e.required?m("acceptanceCriteria.required"):m("acceptanceCriteria.optional")}),!e.evidence&&(0,a.jsx)("span",{className:"text-[10px] italic text-[#9A9A9A]",children:m("acceptanceCriteria.noEvidence")})]}),e.evidence&&(0,a.jsxs)("div",{className:"rounded-md bg-red-50 p-2 ml-4",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:m("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]})]},e.uuid))]}),(0,a.jsx)(T.Es,{className:"border-t border-[#E5E2DC] px-6 py-4",children:(0,a.jsx)(u.$,{className:"rounded-lg bg-[#C4574C] hover:bg-[#A3433A] text-white",onClick:()=>P(!1),children:m("acceptanceCriteria.dismiss")})})]})})]})}var Q=s(26145);s(33805);var X=s(85226),ee=s(92745);let et=(0,L.createServerReference)("404eb0bd5641543a0625e2baec7420b276ffa4d44b",L.callServer,void 0,L.findSourceMapURL,"getProjectDependenciesAction");var es=s(62376);function ea(e){let{projectUuid:t,onTaskSelect:s,refreshKey:o}=e,l=(0,i.c)(),d=(0,n.useSearchParams)(),[c,p,x]=(0,Q.ck)([]),[m,g,f]=(0,Q.fM)([]),[h,v]=(0,r.useState)(!0),[b,y]=(0,r.useState)(null),w=(0,r.useMemo)(()=>{let e=d.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[d]),C=(0,r.useCallback)(async()=>{v(!0);let e=await et(t),s=e.nodes,a=e.edges;if(w){let t=new Set((s=e.nodes.filter(e=>null!==e.proposalUuid&&w.has(e.proposalUuid))).map(e=>e.uuid));a=e.edges.filter(e=>t.has(e.from)&&t.has(e.to))}let r=s.map(e=>({id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:e.proposalUuid}})),n=a.map((e,t)=>({id:"e-".concat(t),source:e.to,target:e.from,...ee.qK})),{nodes:i,edges:o}=(0,ee.nF)(r,n);p(i),g(o),v(!1)},[t,w,p,g]);(0,r.useEffect)(()=>{C()},[C,o]);let N=(0,r.useCallback)(async e=>{if(!e.source||!e.target)return;y(null);let t=e.target,s=e.source,a=await (0,es.w)(t,s);if(!a.success)return void y(a.error||l("tasks.failedToAddDep"));await C()},[C]),k=(0,r.useCallback)((e,t)=>{s(t.id)},[s]);return h?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(X.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):0===c.length?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[#9A9A9A]",children:l("tasks.noTasksToDisplay")}):(0,a.jsxs)("div",{className:"flex-1 rounded-xl border border-[#E5E0D8] bg-[#FAFAF8] relative",children:[b&&(0,a.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 border border-red-200 px-4 py-2 text-xs text-red-700 shadow-sm",children:[b,(0,a.jsx)(u.$,{variant:"ghost",size:"icon",className:"ml-2 h-5 w-5 font-medium hover:text-red-900",onClick:()=>y(null),children:(0,a.jsx)(j.A,{className:"h-3 w-3"})})]}),(0,a.jsxs)(Q.Gc,{nodes:c,edges:m,onNodesChange:x,onEdgesChange:f,onConnect:N,onNodeClick:k,nodeTypes:ee.c_,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(Q.VS,{color:"#E5E0D8",gap:20}),(0,a.jsx)(Q.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})]})}let er={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},en={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ei=[{id:"all",labelKey:"allStatuses",statuses:[]},{id:"todo",labelKey:"todo",statuses:["open","assigned"]},{id:"in_progress",labelKey:"inProgress",statuses:["in_progress"]},{id:"to_verify",labelKey:"toVerify",statuses:["to_verify"]},{id:"done",labelKey:"done",statuses:["done","closed"]}],eo={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-blue-100 text-blue-700"};function el(e){let{projectUuid:t,initialTasks:s,currentUserUuid:f,initialSelectedTaskUuid:h}=e,v=(0,i.c)(),b=(0,m.a)(),j=(0,n.useSearchParams)(),[y,w]=(0,r.useState)("kanban"),C="/projects/".concat(t,"/tasks"),{selectedId:k,openPanel:A,closePanel:F}=(0,g.T)(C,h),E=(0,r.useMemo)(()=>{let e=j.get("proposalUuids");if(!e)return null;let t=e.split(",").filter(Boolean);return t.length>0?new Set(t):null},[j]);(0,r.useEffect)(()=>{b&&"kanban"===y&&w("list")},[b]);let[B,z]=(0,r.useState)(!1),[P,S]=(0,r.useState)(0),[_,D]=(0,r.useState)("all"),R=(0,r.useMemo)(()=>{var e;return k&&null!=(e=s.find(e=>e.uuid===k))?e:null},[k,s]),O=(0,r.useCallback)(()=>{S(e=>e+1)},[]),T=(0,r.useMemo)(()=>E?s.filter(e=>e.proposalUuid&&E.has(e.proposalUuid)):s,[s,E]),L=(0,r.useMemo)(()=>{let e=ei.find(e=>e.id===_);return e&&0!==e.statuses.length?T.filter(t=>e.statuses.includes(t.status)):T},[T,_]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 overflow-x-auto",children:(0,a.jsx)(N,{projectUuid:t})}),(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-[#F5F2EC] p-1 w-fit",children:[b&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("list"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("list"),children:[(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),v("tasks.listView")]}),!b&&(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("kanban"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("kanban"),children:[(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("tasks.kanbanView")]}),(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 gap-1.5 rounded-md px-3 text-xs ".concat("dag"===y?"bg-white text-[#2C2C2C] shadow-sm":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>w("dag"),children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"}),v("tasks.dagView")]})]}),(0,a.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:()=>{F(),z(!0)},children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4"}),v("tasks.newTask")]})]}),"list"===y?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4 flex gap-1 overflow-x-auto border-b border-[#E5E0D8] pb-2",children:ei.map(e=>{let t=0===e.statuses.length?T.length:T.filter(t=>e.statuses.includes(t.status)).length;return(0,a.jsxs)(u.$,{variant:"ghost",size:"sm",className:"h-8 shrink-0 rounded-md px-3 text-xs ".concat(_===e.id?"bg-[#F5F2EC] text-[#2C2C2C] font-medium":"text-[#6B6B6B] hover:text-[#2C2C2C]"),onClick:()=>D(e.id),children:["all"===e.id?v("tasks.".concat(e.labelKey)):v("status.".concat(e.labelKey)),(0,a.jsx)("span",{className:"ml-1.5 rounded-full bg-white px-1.5 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:t})]},e.id)})}),(0,a.jsx)("div",{className:"flex-1 space-y-2 overflow-y-auto",children:0===L.length?(0,a.jsx)(U.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-[#E5E0D8] text-sm text-[#9A9A9A]",children:v("tasks.noTasks")}):L.map(e=>(0,a.jsxs)(x.Zp,{className:"cursor-pointer border-[#E5E0D8] bg-white p-4 transition-all hover:border-[#C67A52] hover:shadow-sm",onClick:()=>A(e.uuid),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h4",{className:"font-medium text-[#2C2C2C] truncate",children:e.title}),e.description&&(0,a.jsx)("p",{className:"mt-1 line-clamp-1 text-sm text-[#6B6B6B]",children:e.description})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[null!=e.storyPoints&&e.storyPoints>0&&(0,a.jsxs)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-xs font-medium text-[#E65100]",children:[e.storyPoints,"h"]}),(0,a.jsx)(p.E,{className:eo[e.priority]||"",children:v("priority.".concat(e.priority))}),(0,a.jsx)(p.E,{className:er[e.status]||"",children:v("status.".concat(en[e.status]||e.status))})]})]}),e.assignee&&(0,a.jsx)("div",{className:"mt-2 flex items-center gap-1.5 text-xs text-[#9A9A9A]",children:(0,a.jsx)("span",{className:"truncate",children:e.assignee.name})})]},e.uuid))}),R&&(0,a.jsx)($.v,{task:R,projectUuid:t,currentUserUuid:f,onClose:F,onDependencyChange:O})]}):"kanban"===y?(0,a.jsx)(J,{projectUuid:t,initialTasks:T,currentUserUuid:f,selectedTaskUuid:k,onTaskSelect:A,onPanelClose:F,proposalUuidFilter:E}):(0,a.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,a.jsx)(ea,{projectUuid:t,onTaskSelect:e=>A(e),refreshKey:P}),R&&(0,a.jsx)($.v,{task:R,projectUuid:t,currentUserUuid:f,onClose:F,onDependencyChange:O})]}),B&&!R&&(0,a.jsx)($.v,{task:null,projectUuid:t,currentUserUuid:f,onClose:()=>z(!1),onCreated:()=>z(!1)})]})}},41033:(e,t,s)=>{"use strict";s.d(t,{C:()=>l,z:()=>o});var a=s(90508);s(1856);var r=s(97964),n=s(63197),i=s(24377);function o(e){let{className:t,...s}=e;return(0,a.jsx)(n.Root,{"data-slot":"radio-group",className:(0,i.cn)("grid gap-3",t),...s})}function l(e){let{className:t,...s}=e;return(0,a.jsx)(n.Item,{"data-slot":"radio-group-item",className:(0,i.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...s,children:(0,a.jsx)(n.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,a.jsx)(r.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},51817:(e,t,s)=>{"use strict";s.d(t,{$v:()=>g,EO:()=>u,Lt:()=>o,Rx:()=>f,Zr:()=>h,ck:()=>x,r7:()=>m,tv:()=>l,wd:()=>p});var a=s(90508);s(1856);var r=s(90299),n=s(24377),i=s(22922);function o(e){let{...t}=e;return(0,a.jsx)(r.Root,{"data-slot":"alert-dialog",...t})}function l(e){let{...t}=e;return(0,a.jsx)(r.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function d(e){let{...t}=e;return(0,a.jsx)(r.Portal,{"data-slot":"alert-dialog-portal",...t})}function c(e){let{className:t,...s}=e;return(0,a.jsx)(r.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,n.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function u(e){let{className:t,size:s="default",...i}=e;return(0,a.jsxs)(d,{children:[(0,a.jsx)(c,{}),(0,a.jsx)(r.Content,{"data-slot":"alert-dialog-content","data-size":s,className:(0,n.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),...i})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,n.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),...s})}function x(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,n.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),...s})}function m(e){let{className:t,...s}=e;return(0,a.jsx)(r.Title,{"data-slot":"alert-dialog-title",className:(0,n.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),...s})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(r.Description,{"data-slot":"alert-dialog-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...s})}function f(e){let{className:t,variant:s="default",size:o="default",...l}=e;return(0,a.jsx)(i.$,{variant:s,size:o,asChild:!0,children:(0,a.jsx)(r.Action,{"data-slot":"alert-dialog-action",className:(0,n.cn)(t),...l})})}function h(e){let{className:t,variant:s="outline",size:o="default",...l}=e;return(0,a.jsx)(i.$,{variant:s,size:o,asChild:!0,children:(0,a.jsx)(r.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,n.cn)(t),...l})})}},57731:(e,t,s)=>{"use strict";s.d(t,{E:()=>l});var a=s(90508);s(1856);var r=s(49499),n=s(54154),i=s(24377);let o=(0,r.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:s="default",asChild:r=!1,...l}=e,d=r?n.bL:"span";return(0,a.jsx)(d,{"data-slot":"badge","data-variant":s,className:(0,i.cn)(o({variant:s}),t),...l})}},62205:(e,t,s)=>{"use strict";s.d(t,{a:()=>r});var a=s(1856);function r(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let s=e=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}},64993:(e,t,s)=>{"use strict";s.d(t,{F:()=>i});var a=s(90508);s(1856);var r=s(65326),n=s(24377);function i(e){let{className:t,children:s,...i}=e;return(0,a.jsxs)(r.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...i,children:[(0,a.jsx)(r.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:s}),(0,a.jsx)(o,{}),(0,a.jsx)(r.Corner,{})]})}function o(e){let{className:t,orientation:s="vertical",...i}=e;return(0,a.jsx)(r.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:s,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===s&&"h-full w-2.5 border-l border-l-transparent","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent",t),...i,children:(0,a.jsx)(r.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,s)=>{"use strict";s.d(t,{K5:()=>l,Rf:()=>o,Yv:()=>a,bK:()=>i,qG:()=>n,tE:()=>r});let a={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,y:-4,transition:{duration:a.fast,ease:a.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:a.normal,ease:a.easeOut}},exit:{opacity:0,transition:{duration:a.fast,ease:a.easeOut}}};a.normal,a.easeOut,a.fast,a.easeOut;let i={initial:{},animate:{transition:{staggerChildren:a.stagger}}},o={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:a.normal,ease:a.easeOut}}},l={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:a.fast,ease:a.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:a.fast,ease:a.easeOut}}}},78917:(e,t,s)=>{Promise.resolve().then(s.bind(s,33188))},79919:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Anchor:()=>G,Arrow:()=>J,Close:()=>Y,Content:()=>H,Popover:()=>A,PopoverAnchor:()=>E,PopoverArrow:()=>V,PopoverClose:()=>K,PopoverContent:()=>U,PopoverPortal:()=>D,PopoverTrigger:()=>z,Portal:()=>Z,Root:()=>q,Trigger:()=>W,createPopoverScope:()=>w});var a=s(1856),r=s(33328),n=s(34124),i=s(21032),o=s(63569),l=s(12139),d=s(80491),c=s(40577),u=s(67221),p=s(17533),x=s(19900),m=s(93367),g=s(54154),f=s(66249),h=s(2188),v=s(46523),b=s(90508),j="Popover",[y,w]=(0,i.A)(j,[u.Bk]),C=(0,u.Bk)(),[N,k]=y(j),A=e=>{let{__scopePopover:t,children:s,open:r,defaultOpen:n,onOpenChange:i,modal:o=!1}=e,l=C(t),d=a.useRef(null),[p,x]=a.useState(!1),[m,g]=(0,f.i)({prop:r,defaultProp:null!=n&&n,onChange:i,caller:j});return(0,b.jsx)(u.bL,{...l,children:(0,b.jsx)(N,{scope:t,contentId:(0,c.B)(),triggerRef:d,open:m,onOpenChange:g,onOpenToggle:a.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:p,onCustomAnchorAdd:a.useCallback(()=>x(!0),[]),onCustomAnchorRemove:a.useCallback(()=>x(!1),[]),modal:o,children:s})})};A.displayName=j;var F="PopoverAnchor",E=a.forwardRef((e,t)=>{let{__scopePopover:s,...r}=e,n=k(F,s),i=C(s),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=n;return a.useEffect(()=>(o(),()=>l()),[o,l]),(0,b.jsx)(u.Mz,{...i,...r,ref:t})});E.displayName=F;var B="PopoverTrigger",z=a.forwardRef((e,t)=>{let{__scopePopover:s,...a}=e,i=k(B,s),o=C(s),l=(0,n.s)(t,i.triggerRef),d=(0,b.jsx)(m.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...a,ref:l,onClick:(0,r.mK)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?d:(0,b.jsx)(u.Mz,{asChild:!0,...o,children:d})});z.displayName=B;var P="PopoverPortal",[S,_]=y(P,{forceMount:void 0}),D=e=>{let{__scopePopover:t,forceMount:s,children:a,container:r}=e,n=k(P,t);return(0,b.jsx)(S,{scope:t,forceMount:s,children:(0,b.jsx)(x.C,{present:s||n.open,children:(0,b.jsx)(p.Portal,{asChild:!0,container:r,children:a})})})};D.displayName=P;var R="PopoverContent",U=a.forwardRef((e,t)=>{let s=_(R,e.__scopePopover),{forceMount:a=s.forceMount,...r}=e,n=k(R,e.__scopePopover);return(0,b.jsx)(x.C,{present:a||n.open,children:n.modal?(0,b.jsx)(T,{...r,ref:t}):(0,b.jsx)(L,{...r,ref:t})})});U.displayName=R;var O=(0,g.TL)("PopoverContent.RemoveScroll"),T=a.forwardRef((e,t)=>{let s=k(R,e.__scopePopover),i=a.useRef(null),o=(0,n.s)(t,i),l=a.useRef(!1);return a.useEffect(()=>{let e=i.current;if(e)return(0,h.Eq)(e)},[]),(0,b.jsx)(v.A,{as:O,allowPinchZoom:!0,children:(0,b.jsx)(M,{...e,ref:o,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),l.current||null==(t=s.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,r.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,s=0===t.button&&!0===t.ctrlKey;l.current=2===t.button||s},{checkForDefaultPrevented:!1}),onFocusOutside:(0,r.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),L=a.forwardRef((e,t)=>{let s=k(R,e.__scopePopover),r=a.useRef(!1),n=a.useRef(!1);return(0,b.jsx)(M,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,i;null==(a=e.onCloseAutoFocus)||a.call(e,t),t.defaultPrevented||(r.current||null==(i=s.triggerRef.current)||i.focus(),t.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:t=>{var a,i;null==(a=e.onInteractOutside)||a.call(e,t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(n.current=!0));let o=t.target;(null==(i=s.triggerRef.current)?void 0:i.contains(o))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&n.current&&t.preventDefault()}})}),M=a.forwardRef((e,t)=>{let{__scopePopover:s,trapFocus:a,onOpenAutoFocus:r,onCloseAutoFocus:n,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:x,onInteractOutside:m,...g}=e,f=k(R,s),h=C(s);return(0,l.Oh)(),(0,b.jsx)(d.n,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:r,onUnmountAutoFocus:n,children:(0,b.jsx)(o.qW,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:m,onEscapeKeyDown:c,onPointerDownOutside:p,onFocusOutside:x,onDismiss:()=>f.onOpenChange(!1),children:(0,b.jsx)(u.UC,{"data-state":$(f.open),role:"dialog",id:f.contentId,...h,...g,ref:t,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),I="PopoverClose",K=a.forwardRef((e,t)=>{let{__scopePopover:s,...a}=e,n=k(I,s);return(0,b.jsx)(m.sG.button,{type:"button",...a,ref:t,onClick:(0,r.mK)(e.onClick,()=>n.onOpenChange(!1))})});K.displayName=I;var V=a.forwardRef((e,t)=>{let{__scopePopover:s,...a}=e,r=C(s);return(0,b.jsx)(u.i3,{...r,...a,ref:t})});function $(e){return e?"open":"closed"}V.displayName="PopoverArrow";var q=A,G=E,W=z,Z=D,H=U,Y=K,J=V},88064:(e,t,s)=>{"use strict";s.d(t,{J:()=>i});var a=s(90508);s(1856);var r=s(58057),n=s(24377);function i(e){let{className:t,...s}=e;return(0,a.jsx)(r.Root,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...s})}},91846:(e,t,s)=>{"use strict";s.d(t,{bq:()=>u,eb:()=>x,gC:()=>p,l6:()=>d,yv:()=>c});var a=s(90508);s(1856);var r=s(17730),n=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:n,...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:[n,(0,a.jsx)(o.Icon,{asChild:!0,children:(0,a.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function p(e){let{className:t,children:s,position:r="item-aligned",align:n="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"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,align:n,...i,children:[(0,a.jsx)(m,{}),(0,a.jsx)(o.Viewport,{className:(0,l.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:s}),(0,a.jsx)(g,{})]})})}function x(e){let{className:t,children:s,...r}=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),...r,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(o.ItemIndicator,{children:(0,a.jsx)(n.A,{className:"size-4"})})}),(0,a.jsx)(o.ItemText,{children:s})]})}function m(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)(r.A,{className:"size-4"})})}},97438:(e,t,s)=>{"use strict";s.d(t,{Cf:()=>p,Es:()=>m,L3:()=>g,c7:()=>x,lG:()=>l,rr:()=>f,zM:()=>d});var a=s(90508);s(1856);var r=s(9160),n=s(71350),i=s(24377),o=s(22922);function l(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(n.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...s}=e;return(0,a.jsx)(n.Overlay,{"data-slot":"dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function p(e){let{className:t,children:s,showCloseButton:o=!0,...l}=e;return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{}),(0,a.jsxs)(n.Content,{"data-slot":"dialog-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...l,children:[s,o&&(0,a.jsxs)(n.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(r.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function x(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",t),...s})}function m(e){let{className:t,showCloseButton:s=!1,children:r,...l}=e;return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[r,s&&(0,a.jsx)(n.Close,{asChild:!0,children:(0,a.jsx)(o.$,{variant:"outline",children:"Close"})})]})}function g(e){let{className:t,...s}=e;return(0,a.jsx)(n.Title,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",t),...s})}function f(e){let{className:t,...s}=e;return(0,a.jsx)(n.Description,{"data-slot":"dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...s})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19126],{3389:(e,t,s)=>{"use strict";s.d(t,{IdeasList:()=>R});var n=s(90508),a=s(1856),r=s(12790),i=s.n(r),l=s(39268),o=s(5425),c=s(94903),d=s(43057),u=s(56770),m=s(48416),p=s(57731),h=s(73693),x=s(37021),f=s(51708),b=s(72156),v=s(63964),g=s(81531),j=s(96213),N=s(16544),P=s(65626);function w(e){let{children:t,className:s}=e;return(0,n.jsx)(N.P.div,{variants:P.bK,initial:"initial",animate:"animate",className:s,children:t})}function y(e){let{children:t,className:s}=e;return(0,n.jsx)(N.P.div,{variants:P.Rf,className:s,children:t})}var E=s(52217);let C=(0,E.createServerReference)("409bf475361eb370f4354b0769530ad8868031cccb",E.callServer,void 0,E.findSourceMapURL,"fetchIdeasAction");var A=s(38106);let S={open:{dot:"bg-[#2563EB]",className:"bg-[#DBEAFE] text-[#1D4ED8] border-transparent"},elaborating:{dot:"bg-[#1976D2]",className:"bg-[#E3F2FD] text-[#1976D2] border-transparent"},proposal_created:{dot:"bg-[#FF9800]",className:"bg-[#FFF3E0] text-[#E65100] border-transparent"},completed:{dot:"bg-[#4CAF50]",className:"bg-[#E8F5E9] text-[#2E7D32] border-transparent"},closed:{dot:"bg-[#9A9A9A]",className:"bg-[#F5F5F5] text-[#6B6B6B] border-transparent"}},F={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};function R(e){let{ideas:t,projectUuid:s,currentUserUuid:r,usedIdeaUuids:N,ideaProposalMap:P,initialSelectedIdeaUuid:E}=e,R=(0,l.c)(),[D,B]=(0,a.useState)(t),[M,k]=(0,a.useState)(N),[L,U]=(0,a.useState)(P);(0,a.useEffect)(()=>{B(t)},[t]),(0,a.useEffect)(()=>{k(N)},[N]),(0,a.useEffect)(()=>{U(P)},[P]);let I=(0,a.useCallback)(async()=>{let e=await C(s);e.success&&(B(e.data.ideas),k(e.data.usedIdeaUuids),U(e.data.ideaProposalMap))},[s]);(0,v.eV)("idea",I);let T="/projects/".concat(s,"/ideas"),{selectedId:z,openPanel:_,closePanel:q}=(0,g.T)(T,E),H=new Set(M);(0,a.useEffect)(()=>{z&&!D.some(e=>e.uuid===z)&&q()},[z,D,q]);let V=(0,a.useMemo)(()=>{var e;return z&&null!=(e=D.find(e=>e.uuid===z))?e:null},[z,D]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(w,{className:"space-y-4",children:D.map(e=>{var t,a;let r=S[e.status]||S.open,l=H.has(e.uuid);return(0,n.jsx)(y,{children:(0,n.jsx)(j.D,{entityType:"idea",entityUuid:e.uuid,children:(0,n.jsxs)(m.Zp,{className:"cursor-pointer border-[#E5E0D8] py-4 transition-all hover:border-[#C67A52]/50 hover:shadow-sm",onClick:()=>_(e.uuid),children:[(0,n.jsxs)(m.aR,{className:"gap-0 py-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.eu,{size:"sm",children:(0,n.jsx)(h.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(null==(t=e.createdBy)?void 0:t.type)==="agent"?(0,n.jsx)(o.A,{className:"h-3 w-3"}):(0,n.jsx)(c.A,{className:"h-3 w-3"})})}),(0,n.jsx)("span",{className:"text-[11px] text-[#6B6B6B]",children:(null==(a=e.createdBy)?void 0:a.name)||R("common.unknown")}),(0,n.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:"•"}),(0,n.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:function(e,t){let s=new Date(e),n=new Date().getTime()-s.getTime(),a=Math.floor(n/6e4),r=Math.floor(n/36e5),i=Math.floor(n/864e5);return a<1?t("time.justNow"):a<60?t("time.minutesAgo",{minutes:a}):r<24?t("time.hoursAgo",{hours:r}):i<7?t("time.daysAgo",{days:i}):(0,A.r)(s)}(e.createdAt,R)})]}),(0,n.jsx)(m.X9,{children:(0,n.jsxs)(p.E,{className:"gap-1.5 text-[10px] ".concat(r.className),children:[(0,n.jsx)("span",{className:"h-1.5 w-1.5 rounded-full ".concat(r.dot)}),l?R("ideas.proposalGenerated"):R("status.".concat(F[e.status]||e.status))]})})]}),(0,n.jsxs)(m.Wu,{className:"space-y-2 py-0",children:[e.assignee&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("span",{className:"text-[11px] text-[#9A9A9A]",children:[R("ideas.assignedTo"),":"]}),(0,n.jsxs)(p.E,{className:"gap-1.5 bg-[#F0F9FF] text-[#0284C7] border-transparent text-[10px]",children:[(0,n.jsx)(o.A,{className:"h-3 w-3"}),e.assignee.name]})]}),(0,n.jsx)("h3",{className:"text-sm font-medium text-[#2C2C2C]",children:e.title}),e.content&&(0,n.jsx)("div",{className:"prose prose-sm max-w-none line-clamp-3 text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,n.jsx)(x.jH,{plugins:{code:f.a},children:e.content})})]}),(0,n.jsxs)(m.wL,{className:"gap-4 py-0 text-[#6B6B6B]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(d.A,{className:"h-3.5 w-3.5"}),(0,n.jsxs)("span",{className:"text-xs",children:[e.commentCount," ",R("comments.title").toLowerCase()]})]}),l&&L[e.uuid]&&(0,n.jsxs)(i(),{href:"/projects/".concat(s,"/proposals/").concat(L[e.uuid]),onClick:e=>e.stopPropagation(),className:"flex items-center gap-1.5 text-[#C67A52] hover:text-[#B56A42] transition-colors",children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"text-xs font-medium",children:R("ideas.viewProposal")})]})]})]})})},e.uuid)})}),V&&(0,n.jsx)(b.D,{idea:V,projectUuid:s,currentUserUuid:r,isUsedInProposal:H.has(V.uuid),onClose:q,onDeleted:q})]})}},19126:(e,t,s)=>{Promise.resolve().then(s.bind(s,52053)),Promise.resolve().then(s.bind(s,90299)),Promise.resolve().then(s.bind(s,65514)),Promise.resolve().then(s.bind(s,98861)),Promise.resolve().then(s.bind(s,38476)),Promise.resolve().then(s.bind(s,74542)),Promise.resolve().then(s.bind(s,71350)),Promise.resolve().then(s.bind(s,39025)),Promise.resolve().then(s.bind(s,75368)),Promise.resolve().then(s.bind(s,89684)),Promise.resolve().then(s.bind(s,58057)),Promise.resolve().then(s.bind(s,6512)),Promise.resolve().then(s.bind(s,25051)),Promise.resolve().then(s.bind(s,4374)),Promise.resolve().then(s.bind(s,19345)),Promise.resolve().then(s.bind(s,79919)),Promise.resolve().then(s.bind(s,17533)),Promise.resolve().then(s.bind(s,99545)),Promise.resolve().then(s.bind(s,63197)),Promise.resolve().then(s.bind(s,65326)),Promise.resolve().then(s.bind(s,48218)),Promise.resolve().then(s.bind(s,56260)),Promise.resolve().then(s.bind(s,60322)),Promise.resolve().then(s.bind(s,79834)),Promise.resolve().then(s.bind(s,6947)),Promise.resolve().then(s.bind(s,88878)),Promise.resolve().then(s.bind(s,34857)),Promise.resolve().then(s.bind(s,97006)),Promise.resolve().then(s.bind(s,45841)),Promise.resolve().then(s.t.bind(s,12790,23)),Promise.resolve().then(s.bind(s,97900)),Promise.resolve().then(s.bind(s,3389)),Promise.resolve().then(s.bind(s,58866))},43057:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(66206).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},58866:(e,t,s)=>{"use strict";s.d(t,{AnimatedEmptyState:()=>r});var n=s(90508),a=s(16544);function r(e){let{children:t}=e;return(0,n.jsx)(a.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},67103:(e,t,s)=>{"use strict";s.d(t,{N:()=>g});var n=s(90508),a=s(1856),r=s(43827),i=s(66071),l=s(66506),o=s(95535),c=s(63605),d=s(8334);function u(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class m extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,c.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,s=(0,c.s)(e)&&e.offsetWidth||0,n=(0,c.s)(e)&&e.offsetHeight||0,a=getComputedStyle(t),r=this.props.sizeRef.current;r.height=parseFloat(a.height),r.width=parseFloat(a.width),r.top=t.offsetTop,r.left=t.offsetLeft,r.right=s-r.width-r.left,r.bottom=n-r.height-r.top}return null}componentDidUpdate(){}render(){return this.props.children}}function p(e){var t,s;let{children:r,isPresent:i,anchorX:l,anchorY:o,root:c,pop:p}=e,h=(0,a.useId)(),x=(0,a.useRef)(null),f=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:b}=(0,a.useContext)(d.Q),v=function(...e){return a.useCallback(function(...e){return t=>{let s=!1,n=e.map(e=>{let n=u(e,t);return s||"function"!=typeof n||(s=!0),n});if(s)return()=>{for(let t=0;t<n.length;t++){let s=n[t];"function"==typeof s?s():u(e[t],null)}}}}(...e),e)}(x,null!=(s=null==(t=r.props)?void 0:t.ref)?s:null==r?void 0:r.ref);return(0,a.useInsertionEffect)(()=>{let{width:e,height:t,top:s,left:n,right:a,bottom:r}=f.current;if(i||!1===p||!x.current||!e||!t)return;x.current.dataset.motionPopId=h;let d=document.createElement("style");b&&(d.nonce=b);let u=null!=c?c:document.head;return u.appendChild(d),d.sheet&&d.sheet.insertRule('\n [data-motion-pop-id="'.concat(h,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===l?"left: ".concat(n):"right: ".concat(a),"px !important;\n ").concat("bottom"===o?"bottom: ".concat(r):"top: ".concat(s),"px !important;\n }\n ")),()=>{var e;null==(e=x.current)||e.removeAttribute("data-motion-pop-id"),u.contains(d)&&u.removeChild(d)}},[i]),(0,n.jsx)(m,{isPresent:i,childRef:x,sizeRef:f,pop:p,children:!1===p?r:a.cloneElement(r,{ref:v})})}let h=e=>{let{children:t,initial:s,isPresent:r,onExitComplete:l,custom:c,presenceAffectsLayout:d,mode:u,anchorX:m,anchorY:h,root:f}=e,b=(0,i.M)(x),v=(0,a.useId)(),g=!0,j=(0,a.useMemo)(()=>(g=!1,{id:v,initial:s,isPresent:r,custom:c,onExitComplete:e=>{for(let t of(b.set(e,!0),b.values()))if(!t)return;l&&l()},register:e=>(b.set(e,!1),()=>b.delete(e))}),[r,b,l]);return d&&g&&(j={...j}),(0,a.useMemo)(()=>{b.forEach((e,t)=>b.set(t,!1))},[r]),a.useEffect(()=>{r||b.size||!l||l()},[r]),t=(0,n.jsx)(p,{pop:"popLayout"===u,isPresent:r,anchorX:m,anchorY:h,root:f,children:t}),(0,n.jsx)(o.t.Provider,{value:j,children:t})};function x(){return new Map}var f=s(99672);let b=e=>e.key||"";function v(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}let g=e=>{let{children:t,custom:s,initial:o=!0,onExitComplete:c,presenceAffectsLayout:d=!0,mode:u="sync",propagate:m=!1,anchorX:p="left",anchorY:x="top",root:g}=e,[j,N]=(0,f.xQ)(m),P=(0,a.useMemo)(()=>v(t),[t]),w=m&&!j?[]:P.map(b),y=(0,a.useRef)(!0),E=(0,a.useRef)(P),C=(0,i.M)(()=>new Map),A=(0,a.useRef)(new Set),[S,F]=(0,a.useState)(P),[R,D]=(0,a.useState)(P);(0,l.E)(()=>{y.current=!1,E.current=P;for(let e=0;e<R.length;e++){let t=b(R[e]);w.includes(t)?(C.delete(t),A.current.delete(t)):!0!==C.get(t)&&C.set(t,!1)}},[R,w.length,w.join("-")]);let B=[];if(P!==S){let e=[...P];for(let t=0;t<R.length;t++){let s=R[t],n=b(s);w.includes(n)||(e.splice(t,0,s),B.push(s))}return"wait"===u&&B.length&&(e=B),D(v(e)),F(P),null}let{forceRender:M}=(0,a.useContext)(r.L);return(0,n.jsx)(n.Fragment,{children:R.map(e=>{let t=b(e),a=(!m||!!j)&&(P===R||w.includes(t));return(0,n.jsx)(h,{isPresent:a,initial:(!y.current||!!o)&&void 0,custom:s,presenceAffectsLayout:d,mode:u,root:g,onExitComplete:a?void 0:()=>{if(A.current.has(t)||!C.has(t))return;A.current.add(t),C.set(t,!0);let e=!0;C.forEach(t=>{t||(e=!1)}),e&&(null==M||M(),D(E.current),m&&(null==N||N()),c&&c())},anchorX:p,anchorY:x,children:e},t)})})}},81531:(e,t,s)=>{"use strict";s.d(t,{T:()=>a});var n=s(1856);function a(e,t){let[s,a]=(0,n.useState)(null!=t?t:null),[r,i]=(0,n.useState)(()=>new URLSearchParams(window.location.search).get("tab")),l=(0,n.useCallback)((t,s)=>{let n=new URLSearchParams(window.location.search);t?n.set("panel",t):n.delete("panel"),s?n.set("tab",s):n.delete("tab");let a=n.toString();return a?"".concat(e,"?").concat(a):e},[e]),o=(0,n.useCallback)((e,t)=>{let s=l(e,t);window.history.replaceState(null,"",s),a(e),i(null!=t?t:null)},[l]),c=(0,n.useCallback)(()=>{let e=l(null);window.history.replaceState(null,"",e),a(null),i(null)},[l]),d=(0,n.useCallback)(e=>{if(!s)return;let t=l(s,e);window.history.replaceState(null,"",t),i(e)},[l,s]);return(0,n.useEffect)(()=>{function e(){let e=new URLSearchParams(window.location.search),t=e.get("panel");t?(a(t),i(e.get("tab"))):(a(null),i(null))}return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),{selectedId:s,selectedTab:r,openPanel:o,closePanel:c,switchTab:d}}},97900:(e,t,s)=>{"use strict";s.d(t,{IdeaCreateForm:()=>v});var n=s(90508),a=s(1856),r=s(23675),i=s(39268),l=s(22922),o=s(14554),c=s(15972),d=s(88064),u=s(48416),m=s(67103),p=s(16544),h=s(60532),x=s(85226),f=s(52217);let b=(0,f.createServerReference)("40e6ae68c4b35afee4979600dba9f9ab11eeab5369",f.callServer,void 0,f.findSourceMapURL,"createIdeaAction");function v(e){let{projectUuid:t}=e,s=(0,i.c)(),f=(0,r.useRouter)(),[v,g]=(0,a.useTransition)(),[j,N]=(0,a.useState)(""),[P,w]=(0,a.useState)(""),[y,E]=(0,a.useState)(null),[C,A]=(0,a.useState)(!1),S=async e=>{if(e.preventDefault(),E(null),!j.trim())return void E(s("ideas.titleRequired"));g(async()=>{try{let e=await b({projectUuid:t,title:j.trim(),content:P.trim()||void 0});e.success?(A(!0),setTimeout(()=>{N(""),w(""),f.refresh(),A(!1)},600)):E(e.error||s("ideas.createFailed"))}catch(e){E(s("common.genericError"))}})};return(0,n.jsx)(u.Zp,{className:"border-[#E5E0D8] rounded-2xl py-5",children:(0,n.jsx)(u.Wu,{children:(0,n.jsxs)("form",{onSubmit:S,className:"space-y-4",children:[y&&(0,n.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:y}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(d.J,{htmlFor:"idea-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:s("ideas.titleLabel")}),(0,n.jsx)(o.p,{id:"idea-title",value:j,onChange:e=>N(e.target.value),placeholder:s("ideas.whatIsYourIdea"),className:"border-[#E5E0D8] text-sm",required:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(d.J,{htmlFor:"idea-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:s("common.content")}),(0,n.jsx)(c.T,{id:"idea-content",value:P,onChange:e=>w(e.target.value),placeholder:s("ideas.addMoreDetails"),rows:2,className:"border-[#E5E0D8] text-sm resize-none"})]})]}),(0,n.jsx)("div",{className:"flex justify-end",children:(0,n.jsx)(l.$,{type:"submit",disabled:v||C||!j.trim(),size:"sm",className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:(0,n.jsx)(m.N,{mode:"wait",children:C?(0,n.jsx)(p.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,n.jsx)(h.A,{className:"h-3.5 w-3.5"})},"success"):v?(0,n.jsxs)(p.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 animate-spin"}),s("common.creating")]},"loading"):(0,n.jsx)(p.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:s("ideas.submit")},"idle")})})})]})})})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[192],{3705:(e,t,r)=>{r.d(t,{X:()=>l});var a=r(1856),n=r(99457);function l(e){let[t,r]=a.useState(void 0);return(0,n.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let a,n;if(!Array.isArray(t)||!t.length)return;let l=t[0];if("borderBoxSize"in l){let e=l.borderBoxSize,t=Array.isArray(e)?e[0]:e;a=t.inlineSize,n=t.blockSize}else a=e.offsetWidth,n=e.offsetHeight;r({width:a,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}},5616:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},12714:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},17475:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},17730:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},36557:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},52217:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return a.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return n.findSourceMapURL}});let a=r(53874),n=r(11550),l=r(31802)},57472:(e,t,r)=>{r.d(t,{A:()=>l});var a=r(12079),n=r(90508);function l(e){let{locale:t,...r}=e;if(!t)throw Error(void 0);return(0,n.jsx)(a.Dk,{locale:t,...r})}},57893:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},58057:(e,t,r)=>{r.r(t),r.d(t,{Label:()=>o,Root:()=>i});var a=r(1856),n=r(93367),l=r(90508),o=a.forwardRef((e,t)=>(0,l.jsx)(n.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var i=o},60322:(e,t,r)=>{r.r(t),r.d(t,{Root:()=>x,Switch:()=>b,SwitchThumb:()=>g,Thumb:()=>w,createSwitchScope:()=>h});var a=r(1856),n=r(33328),l=r(34124),o=r(21032),i=r(66249),s=r(72009),c=r(3705),d=r(93367),u=r(90508),p="Switch",[f,h]=(0,o.A)(p),[y,v]=f(p),b=a.forwardRef((e,t)=>{let{__scopeSwitch:r,name:o,checked:s,defaultChecked:c,required:f,disabled:h,value:v="on",onCheckedChange:b,form:k,...g}=e,[x,w]=a.useState(null),D=(0,l.s)(t,e=>w(e)),j=a.useRef(!1),C=!x||k||!!x.closest("form"),[R,S]=(0,i.i)({prop:s,defaultProp:null!=c&&c,onChange:b,caller:p});return(0,u.jsxs)(y,{scope:r,checked:R,disabled:h,children:[(0,u.jsx)(d.sG.button,{type:"button",role:"switch","aria-checked":R,"aria-required":f,"data-state":A(R),"data-disabled":h?"":void 0,disabled:h,value:v,...g,ref:D,onClick:(0,n.mK)(e.onClick,e=>{S(e=>!e),C&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),C&&(0,u.jsx)(m,{control:x,bubbles:!j.current,name:o,value:v,checked:R,required:f,disabled:h,form:k,style:{transform:"translateX(-100%)"}})]})});b.displayName=p;var k="SwitchThumb",g=a.forwardRef((e,t)=>{let{__scopeSwitch:r,...a}=e,n=v(k,r);return(0,u.jsx)(d.sG.span,{"data-state":A(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:t})});g.displayName=k;var m=a.forwardRef((e,t)=>{let{__scopeSwitch:r,control:n,checked:o,bubbles:i=!0,...d}=e,p=a.useRef(null),f=(0,l.s)(p,t),h=(0,s.Z)(o),y=(0,c.X)(n);return a.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==o&&t){let r=new Event("click",{bubbles:i});t.call(e,o),e.dispatchEvent(r)}},[h,o,i]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...d,tabIndex:-1,ref:f,style:{...d.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function A(e){return e?"checked":"unchecked"}m.displayName="SwitchBubbleInput";var x=b,w=g},60532:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},72009:(e,t,r)=>{r.d(t,{Z:()=>n});var a=r(1856);function n(e){let t=a.useRef({value:e,previous:e});return a.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},78948:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81149:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},84052:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},85619:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},90299:(e,t,r)=>{r.r(t),r.d(t,{Action:()=>z,AlertDialog:()=>h,AlertDialogAction:()=>R,AlertDialogCancel:()=>M,AlertDialogContent:()=>x,AlertDialogDescription:()=>C,AlertDialogOverlay:()=>b,AlertDialogPortal:()=>v,AlertDialogTitle:()=>D,AlertDialogTrigger:()=>y,Cancel:()=>I,Content:()=>O,Description:()=>q,Overlay:()=>_,Portal:()=>T,Root:()=>E,Title:()=>L,Trigger:()=>P,createAlertDialogScope:()=>p});var a=r(1856),n=r(21032),l=r(34124),o=r(71350),i=r(33328),s=r(54154),c=r(90508),d="AlertDialog",[u,p]=(0,n.A)(d,[o.createDialogScope]),f=(0,o.createDialogScope)(),h=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(o.Root,{...a,...r,modal:!0})};h.displayName=d;var y=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(o.Trigger,{...n,...a,ref:t})});y.displayName="AlertDialogTrigger";var v=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(o.Portal,{...a,...r})};v.displayName="AlertDialogPortal";var b=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(o.Overlay,{...n,...a,ref:t})});b.displayName="AlertDialogOverlay";var k="AlertDialogContent",[g,m]=u(k),A=(0,s.Dc)("AlertDialogContent"),x=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:n,...s}=e,d=f(r),u=a.useRef(null),p=(0,l.s)(t,u),h=a.useRef(null);return(0,c.jsx)(o.WarningProvider,{contentName:k,titleName:w,docsSlug:"alert-dialog",children:(0,c.jsx)(g,{scope:r,cancelRef:h,children:(0,c.jsxs)(o.Content,{role:"alertdialog",...d,...s,ref:p,onOpenAutoFocus:(0,i.mK)(s.onOpenAutoFocus,e=>{var t;e.preventDefault(),null==(t=h.current)||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,c.jsx)(A,{children:n}),(0,c.jsx)(N,{contentRef:u})]})})})});x.displayName=k;var w="AlertDialogTitle",D=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(o.Title,{...n,...a,ref:t})});D.displayName=w;var j="AlertDialogDescription",C=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(o.Description,{...n,...a,ref:t})});C.displayName=j;var R=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(o.Close,{...n,...a,ref:t})});R.displayName="AlertDialogAction";var S="AlertDialogCancel",M=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,{cancelRef:n}=m(S,r),i=f(r),s=(0,l.s)(t,n);return(0,c.jsx)(o.Close,{...i,...a,ref:s})});M.displayName=S;var N=e=>{let{contentRef:t}=e,r="`".concat(k,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(k,"` by passing a `").concat(j,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(k,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=t.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},E=h,P=y,T=v,_=b,O=x,z=R,I=M,L=D,q=C},97645:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},98861:(e,t,r)=>{r.r(t),r.d(t,{Checkbox:()=>A,CheckboxIndicator:()=>w,Indicator:()=>w,Root:()=>A,createCheckboxScope:()=>y,unstable_BubbleInput:()=>j,unstable_CheckboxBubbleInput:()=>j,unstable_CheckboxProvider:()=>k,unstable_CheckboxTrigger:()=>m,unstable_Provider:()=>k,unstable_Trigger:()=>m});var a=r(1856),n=r(34124),l=r(21032),o=r(33328),i=r(66249),s=r(72009),c=r(3705),d=r(19900),u=r(93367),p=r(90508),f="Checkbox",[h,y]=(0,l.A)(f),[v,b]=h(f);function k(e){let{__scopeCheckbox:t,checked:r,children:n,defaultChecked:l,disabled:o,form:s,name:c,onCheckedChange:d,required:u,value:h="on",internal_do_not_use_render:y}=e,[b,k]=(0,i.i)({prop:r,defaultProp:null!=l&&l,onChange:d,caller:f}),[g,m]=a.useState(null),[A,x]=a.useState(null),w=a.useRef(!1),D=!g||!!s||!!g.closest("form"),j={checked:b,disabled:o,setChecked:k,control:g,setControl:m,name:c,form:s,value:h,hasConsumerStoppedPropagationRef:w,required:u,defaultChecked:!C(l)&&l,isFormControl:D,bubbleInput:A,setBubbleInput:x};return(0,p.jsx)(v,{scope:t,...j,children:"function"==typeof y?y(j):n})}var g="CheckboxTrigger",m=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,onKeyDown:l,onClick:i,...s}=e,{control:c,value:d,disabled:f,checked:h,required:y,setControl:v,setChecked:k,hasConsumerStoppedPropagationRef:m,isFormControl:A,bubbleInput:x}=b(g,r),w=(0,n.s)(t,v),D=a.useRef(h);return a.useEffect(()=>{let e=null==c?void 0:c.form;if(e){let t=()=>k(D.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,k]),(0,p.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":C(h)?"mixed":h,"aria-required":y,"data-state":R(h),"data-disabled":f?"":void 0,disabled:f,value:d,...s,ref:w,onKeyDown:(0,o.mK)(l,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,o.mK)(i,e=>{k(e=>!!C(e)||!e),x&&A&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});m.displayName=g;var A=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:a,checked:n,defaultChecked:l,required:o,disabled:i,value:s,onCheckedChange:c,form:d,...u}=e;return(0,p.jsx)(k,{__scopeCheckbox:r,checked:n,defaultChecked:l,disabled:i,required:o,onCheckedChange:c,name:a,form:d,value:s,internal_do_not_use_render:e=>{let{isFormControl:a}=e;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(m,{...u,ref:t,__scopeCheckbox:r}),a&&(0,p.jsx)(j,{__scopeCheckbox:r})]})}})});A.displayName=f;var x="CheckboxIndicator",w=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:a,...n}=e,l=b(x,r);return(0,p.jsx)(d.C,{present:a||C(l.checked)||!0===l.checked,children:(0,p.jsx)(u.sG.span,{"data-state":R(l.checked),"data-disabled":l.disabled?"":void 0,...n,ref:t,style:{pointerEvents:"none",...e.style}})})});w.displayName=x;var D="CheckboxBubbleInput",j=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,...l}=e,{control:o,hasConsumerStoppedPropagationRef:i,checked:d,defaultChecked:f,required:h,disabled:y,name:v,value:k,form:g,bubbleInput:m,setBubbleInput:A}=b(D,r),x=(0,n.s)(t,A),w=(0,s.Z)(d),j=(0,c.X)(o);a.useEffect(()=>{if(!m)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(w!==d&&e){let r=new Event("click",{bubbles:t});m.indeterminate=C(d),e.call(m,!C(d)&&d),m.dispatchEvent(r)}},[m,w,d,i]);let R=a.useRef(!C(d)&&d);return(0,p.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=f?f:R.current,required:h,disabled:y,name:v,value:k,form:g,...l,tabIndex:-1,ref:x,style:{...l.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function R(e){return C(e)?"indeterminate":e?"checked":"unchecked"}j.displayName=D}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[36940],{12714:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},17475:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},19900:(e,t,n)=>{n.d(t,{C:()=>i});var r=n(1856),a=n(34124),o=n(99457),i=e=>{let{present:t,children:n}=e,i=function(e){var t,n;let[a,i]=r.useState(),d=r.useRef(null),u=r.useRef(e),s=r.useRef("none"),[c,p]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=l(d.current);s.current="mounted"===c?e:"none"},[c]),(0,o.N)(()=>{let t=d.current,n=u.current;if(n!==e){let r=s.current,a=l(t);e?p("MOUNT"):"none"===a||(null==t?void 0:t.display)==="none"?p("UNMOUNT"):n&&r!==a?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,o.N)(()=>{if(a){var e;let t,n=null!=(e=a.ownerDocument.defaultView)?e:window,r=e=>{let r=l(d.current).includes(CSS.escape(e.animationName));if(e.target===a&&r&&(p("ANIMATION_END"),!u.current)){let e=a.style.animationFillMode;a.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=e)})}},o=e=>{e.target===a&&(s.current=l(d.current))};return a.addEventListener("animationstart",o),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{n.clearTimeout(t),a.removeEventListener("animationstart",o),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}p("ANIMATION_END")},[a,p]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:r.useCallback(e=>{d.current=e?getComputedStyle(e):null,i(e)},[])}}(t),d="function"==typeof n?n({present:i.isPresent}):r.Children.only(n),u=(0,a.s)(i.ref,function(e){var t,n;let r=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,a=r&&"isReactWarning"in r&&r.isReactWarning;return a?e.ref:(a=(r=null==(n=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:n.get)&&"isReactWarning"in r&&r.isReactWarning)?e.props.ref:e.props.ref||e.ref}(d));return"function"==typeof n||i.isPresent?r.cloneElement(d,{ref:u}):null};function l(e){return(null==e?void 0:e.animationName)||"none"}i.displayName="Presence"},21032:(e,t,n)=>{n.d(t,{A:()=>i,q:()=>o});var r=n(1856),a=n(90508);function o(e,t){let n=r.createContext(t),o=e=>{let{children:t,...o}=e,i=r.useMemo(()=>o,Object.values(o));return(0,a.jsx)(n.Provider,{value:i,children:t})};return o.displayName=e+"Provider",[o,function(a){let o=r.useContext(n);if(o)return o;if(void 0!==t)return t;throw Error(`\`${a}\` must be used within \`${e}\``)}]}function i(e,t=[]){let n=[],o=()=>{let t=n.map(e=>r.createContext(e));return function(n){let a=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:a}}),[n,a])}};return o.scopeName=e,[function(t,o){let i=r.createContext(o),l=n.length;n=[...n,o];let d=t=>{let{scope:n,children:o,...d}=t,u=n?.[e]?.[l]||i,s=r.useMemo(()=>d,Object.values(d));return(0,a.jsx)(u.Provider,{value:s,children:o})};return d.displayName=t+"Provider",[d,function(n,a){let d=a?.[e]?.[l]||i,u=r.useContext(d);if(u)return u;if(void 0!==o)return o;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let a=n.reduce((t,{useScope:n,scopeName:r})=>{let a=n(e)[`__scope${r}`];return{...t,...a}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}(o,...t)]}},21104:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},24705:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]])},25373:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(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"}]])},32313:(e,t,n)=>{n.d(t,{c:()=>a});var r=n(1856);function a(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}},33328:(e,t,n)=>{function r(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}n.d(t,{mK:()=>r}),"undefined"!=typeof window&&window.document&&window.document.createElement},38476:(e,t,n)=>{n.r(t),n.d(t,{Collapsible:()=>b,CollapsibleContent:()=>C,CollapsibleTrigger:()=>g,Content:()=>R,Root:()=>M,Trigger:()=>A,createCollapsibleScope:()=>h});var r=n(1856),a=n(33328),o=n(21032),i=n(66249),l=n(99457),d=n(34124),u=n(93367),s=n(19900),c=n(40577),p=n(90508),f="Collapsible",[m,h]=(0,o.A)(f),[y,v]=m(f),b=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:a,defaultOpen:o,disabled:l,onOpenChange:d,...s}=e,[m,h]=(0,i.i)({prop:a,defaultProp:null!=o&&o,onChange:d,caller:f});return(0,p.jsx)(y,{scope:n,disabled:l,contentId:(0,c.B)(),open:m,onOpenToggle:r.useCallback(()=>h(e=>!e),[h]),children:(0,p.jsx)(u.sG.div,{"data-state":w(m),"data-disabled":l?"":void 0,...s,ref:t})})});b.displayName=f;var k="CollapsibleTrigger",g=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,o=v(k,n);return(0,p.jsx)(u.sG.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":w(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:(0,a.mK)(e.onClick,o.onOpenToggle)})});g.displayName=k;var x="CollapsibleContent",C=r.forwardRef((e,t)=>{let{forceMount:n,...r}=e,a=v(x,e.__scopeCollapsible);return(0,p.jsx)(s.C,{present:n||a.open,children:e=>{let{present:n}=e;return(0,p.jsx)(N,{...r,ref:t,present:n})}})});C.displayName=x;var N=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:a,children:o,...i}=e,s=v(x,n),[c,f]=r.useState(a),m=r.useRef(null),h=(0,d.s)(t,m),y=r.useRef(0),b=y.current,k=r.useRef(0),g=k.current,C=s.open||c,N=r.useRef(C),M=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,l.N)(()=>{let e=m.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();y.current=t.height,k.current=t.width,N.current||(e.style.transitionDuration=M.current.transitionDuration,e.style.animationName=M.current.animationName),f(a)}},[s.open,a]),(0,p.jsx)(u.sG.div,{"data-state":w(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!C,...i,ref:h,style:{"--radix-collapsible-content-height":b?"".concat(b,"px"):void 0,"--radix-collapsible-content-width":g?"".concat(g,"px"):void 0,...e.style},children:C&&o})});function w(e){return e?"open":"closed"}var M=b,A=g,R=C},40577:(e,t,n)=>{n.d(t,{B:()=>d});var r,a=n(1856),o=n(99457),i=(r||(r=n.t(a,2)))[" useId ".trim().toString()]||(()=>void 0),l=0;function d(e){let[t,n]=a.useState(i());return(0,o.N)(()=>{e||n(e=>e??String(l++))},[e]),e||(t?`radix-${t}`:"")}},42533:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},52309:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},56770:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(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"}]])},62482:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},62898:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},66249:(e,t,n)=>{n.d(t,{i:()=>l});var r,a=n(1856),o=n(99457),i=(r||(r=n.t(a,2)))[" useInsertionEffect ".trim().toString()]||o.N;function l({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,l,d]=function({defaultProp:e,onChange:t}){let[n,r]=a.useState(e),o=a.useRef(n),l=a.useRef(t);return i(()=>{l.current=t},[t]),a.useEffect(()=>{o.current!==n&&(l.current?.(n),o.current=n)},[n,o]),[n,r,l]}({defaultProp:t,onChange:n}),u=void 0!==e,s=u?e:o;{let t=a.useRef(void 0!==e);a.useEffect(()=>{let e=t.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=u},[u,r])}return[s,a.useCallback(t=>{if(u){let n="function"==typeof t?t(e):t;n!==e&&d.current?.(n)}else l(t)},[u,e,l,d])]}Symbol("RADIX:SYNC_STATE")},79834:(e,t,n)=>{n.r(t),n.d(t,{Content:()=>I,List:()=>j,Root:()=>T,Tabs:()=>k,TabsContent:()=>M,TabsList:()=>x,TabsTrigger:()=>N,Trigger:()=>E,createTabsScope:()=>h});var r=n(1856),a=n(33328),o=n(21032),i=n(94782),l=n(19900),d=n(93367),u=n(72599),s=n(66249),c=n(40577),p=n(90508),f="Tabs",[m,h]=(0,o.A)(f,[i.RG]),y=(0,i.RG)(),[v,b]=m(f),k=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:a,defaultValue:o,orientation:i="horizontal",dir:l,activationMode:m="automatic",...h}=e,y=(0,u.jH)(l),[b,k]=(0,s.i)({prop:r,onChange:a,defaultProp:null!=o?o:"",caller:f});return(0,p.jsx)(v,{scope:n,baseId:(0,c.B)(),value:b,onValueChange:k,orientation:i,dir:y,activationMode:m,children:(0,p.jsx)(d.sG.div,{dir:y,"data-orientation":i,...h,ref:t})})});k.displayName=f;var g="TabsList",x=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...a}=e,o=b(g,n),l=y(n);return(0,p.jsx)(i.bL,{asChild:!0,...l,orientation:o.orientation,dir:o.dir,loop:r,children:(0,p.jsx)(d.sG.div,{role:"tablist","aria-orientation":o.orientation,...a,ref:t})})});x.displayName=g;var C="TabsTrigger",N=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...l}=e,u=b(C,n),s=y(n),c=A(u.baseId,r),f=R(u.baseId,r),m=r===u.value;return(0,p.jsx)(i.q7,{asChild:!0,...s,focusable:!o,active:m,children:(0,p.jsx)(d.sG.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...l,ref:t,onMouseDown:(0,a.mK)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():u.onValueChange(r)}),onKeyDown:(0,a.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&u.onValueChange(r)}),onFocus:(0,a.mK)(e.onFocus,()=>{let e="manual"!==u.activationMode;m||o||!e||u.onValueChange(r)})})})});N.displayName=C;var w="TabsContent",M=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:a,forceMount:o,children:i,...u}=e,s=b(w,n),c=A(s.baseId,a),f=R(s.baseId,a),m=a===s.value,h=r.useRef(m);return r.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,p.jsx)(l.C,{present:o||m,children:n=>{let{present:r}=n;return(0,p.jsx)(d.sG.div,{"data-state":m?"active":"inactive","data-orientation":s.orientation,role:"tabpanel","aria-labelledby":c,hidden:!r,id:f,tabIndex:0,...u,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:r&&i})}})});function A(e,t){return"".concat(e,"-trigger-").concat(t)}function R(e,t){return"".concat(e,"-content-").concat(t)}M.displayName=w;var T=k,j=x,E=N,I=M},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"}]])},93367:(e,t,n)=>{n.d(t,{bL:()=>u,hO:()=>d,sG:()=>l});var r=n(1856),a=n(38129),o=n(54154),i=n(90508),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=(0,o.TL)(`Primitive.${t}`),a=r.forwardRef((e,r)=>{let{asChild:a,...o}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(a?n:t,{...o,ref:r})});return a.displayName=`Primitive.${t}`,{...e,[t]:a}},{});function d(e,t){e&&a.flushSync(()=>e.dispatchEvent(t))}var u=l},94152:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])},98861:(e,t,n)=>{n.r(t),n.d(t,{Checkbox:()=>x,CheckboxIndicator:()=>N,Indicator:()=>N,Root:()=>x,createCheckboxScope:()=>h,unstable_BubbleInput:()=>M,unstable_CheckboxBubbleInput:()=>M,unstable_CheckboxProvider:()=>b,unstable_CheckboxTrigger:()=>g,unstable_Provider:()=>b,unstable_Trigger:()=>g});var r=n(1856),a=n(34124),o=n(21032),i=n(33328),l=n(66249),d=n(72009),u=n(3705),s=n(19900),c=n(93367),p=n(90508),f="Checkbox",[m,h]=(0,o.A)(f),[y,v]=m(f);function b(e){let{__scopeCheckbox:t,checked:n,children:a,defaultChecked:o,disabled:i,form:d,name:u,onCheckedChange:s,required:c,value:m="on",internal_do_not_use_render:h}=e,[v,b]=(0,l.i)({prop:n,defaultProp:null!=o&&o,onChange:s,caller:f}),[k,g]=r.useState(null),[x,C]=r.useState(null),N=r.useRef(!1),w=!k||!!d||!!k.closest("form"),M={checked:v,disabled:i,setChecked:b,control:k,setControl:g,name:u,form:d,value:m,hasConsumerStoppedPropagationRef:N,required:c,defaultChecked:!A(o)&&o,isFormControl:w,bubbleInput:x,setBubbleInput:C};return(0,p.jsx)(y,{scope:t,...M,children:"function"==typeof h?h(M):a})}var k="CheckboxTrigger",g=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,onKeyDown:o,onClick:l,...d}=e,{control:u,value:s,disabled:f,checked:m,required:h,setControl:y,setChecked:b,hasConsumerStoppedPropagationRef:g,isFormControl:x,bubbleInput:C}=v(k,n),N=(0,a.s)(t,y),w=r.useRef(m);return r.useEffect(()=>{let e=null==u?void 0:u.form;if(e){let t=()=>b(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[u,b]),(0,p.jsx)(c.sG.button,{type:"button",role:"checkbox","aria-checked":A(m)?"mixed":m,"aria-required":h,"data-state":R(m),"data-disabled":f?"":void 0,disabled:f,value:s,...d,ref:N,onKeyDown:(0,i.mK)(o,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.mK)(l,e=>{b(e=>!!A(e)||!e),C&&x&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});g.displayName=k;var x=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:a,defaultChecked:o,required:i,disabled:l,value:d,onCheckedChange:u,form:s,...c}=e;return(0,p.jsx)(b,{__scopeCheckbox:n,checked:a,defaultChecked:o,disabled:l,required:i,onCheckedChange:u,name:r,form:s,value:d,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(g,{...c,ref:t,__scopeCheckbox:n}),r&&(0,p.jsx)(M,{__scopeCheckbox:n})]})}})});x.displayName=f;var C="CheckboxIndicator",N=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...a}=e,o=v(C,n);return(0,p.jsx)(s.C,{present:r||A(o.checked)||!0===o.checked,children:(0,p.jsx)(c.sG.span,{"data-state":R(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});N.displayName=C;var w="CheckboxBubbleInput",M=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,...o}=e,{control:i,hasConsumerStoppedPropagationRef:l,checked:s,defaultChecked:f,required:m,disabled:h,name:y,value:b,form:k,bubbleInput:g,setBubbleInput:x}=v(w,n),C=(0,a.s)(t,x),N=(0,d.Z)(s),M=(0,u.X)(i);r.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(N!==s&&e){let n=new Event("click",{bubbles:t});g.indeterminate=A(s),e.call(g,!A(s)&&s),g.dispatchEvent(n)}},[g,N,s,l]);let R=r.useRef(!A(s)&&s);return(0,p.jsx)(c.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=f?f:R.current,required:m,disabled:h,name:y,value:b,form:k,...o,tabIndex:-1,ref:C,style:{...o.style,...M,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(e){return"indeterminate"===e}function R(e){return A(e)?"indeterminate":e?"checked":"unchecked"}M.displayName=w},99457:(e,t,n)=>{n.d(t,{N:()=>a});var r=n(1856),a=globalThis?.document?r.useLayoutEffect:()=>{}}}]);
|