@chorus-aidlc/chorus 0.13.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +410 -425
- package/.next/standalone/.next/app-path-routes-manifest.json +39 -41
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +33 -57
- package/.next/standalone/.next/routes-manifest.json +0 -6
- 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]/graph/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +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 +1 -1
- 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/agent-connections/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route.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.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/sync-token/route.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.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/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.js.nft.json +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/entities/[type]/[uuid]/root-idea/route.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +4 -4
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +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.js +6 -6
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/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.js.nft.json +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.js.nft.json +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/ideas/conversational/route.js +1 -0
- package/.next/standalone/.next/server/app/api/{auth/refresh → ideas/conversational}/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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]/resource-graph/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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/session/route.js +1 -0
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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 +3 -3
- package/.next/standalone/.next/server/app/login/admin/page.js +2 -2
- package/.next/standalone/.next/server/app/login/admin/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
- package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
- package/.next/standalone/.next/server/app/login/page.js +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +3 -3
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +3 -3
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- 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 +39 -41
- package/.next/standalone/.next/server/chunks/1114.js +1 -0
- package/.next/standalone/.next/server/chunks/1559.js +2 -2
- package/.next/standalone/.next/server/chunks/{7258.js → 2516.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/3219.js +1 -1
- package/.next/standalone/.next/server/chunks/3371.js +1 -0
- package/.next/standalone/.next/server/chunks/3373.js +1 -1
- package/.next/standalone/.next/server/chunks/3419.js +1 -1
- package/.next/standalone/.next/server/chunks/4827.js +1 -0
- package/.next/standalone/.next/server/chunks/4958.js +1 -0
- package/.next/standalone/.next/server/chunks/{9855.js → 5095.js} +2 -2
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6496.js +1 -0
- package/.next/standalone/.next/server/chunks/679.js +1 -1
- package/.next/standalone/.next/server/chunks/6817.js +1 -0
- package/.next/standalone/.next/server/chunks/{178.js → 704.js} +3 -3
- package/.next/standalone/.next/server/chunks/7160.js +1 -1
- package/.next/standalone/.next/server/chunks/7364.js +1 -1
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/8448.js +1 -0
- package/.next/standalone/.next/server/chunks/{8267.js → 8481.js} +1 -1
- package/.next/standalone/.next/server/chunks/8497.js +1 -0
- package/.next/standalone/.next/server/chunks/8577.js +153 -0
- package/.next/standalone/.next/server/chunks/8895.js +1 -0
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9726.js +1 -0
- package/.next/standalone/.next/server/instrumentation.js +1 -1
- 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/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/src/middleware.js +5 -5
- package/.next/standalone/.next/static/chunks/15653-31c406c41bf58048.js +1 -0
- package/.next/standalone/.next/static/chunks/1892-9c03d4d3560ff572.js +1 -0
- package/.next/standalone/.next/static/chunks/225-8a41a800021f3d11.js +1 -0
- package/.next/standalone/.next/static/chunks/24459-3bc9657d71c77b47.js +1 -0
- package/.next/standalone/.next/static/chunks/38296-316ba18af72385fb.js +1 -0
- package/.next/standalone/.next/static/chunks/46055-f786ace4b994dc40.js +1 -0
- package/.next/standalone/.next/static/chunks/{4860.c3c83713d1f163a5.js → 4860.7844c573cb3914f3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{49965-fa11628d5ac8fbbe.js → 52064-74d81c8d682deb6b.js} +1 -1
- package/.next/standalone/.next/static/chunks/57362-9ece5cc290dab705.js +1 -0
- package/.next/standalone/.next/static/chunks/{14655-4f3bc7f3044c42c1.js → 58037-55d7422c6b808356.js} +1 -1
- package/.next/standalone/.next/static/chunks/58262-395c00e04f610a32.js +1 -0
- package/.next/standalone/.next/static/chunks/68255-05c42a26602c6b37.js +1 -0
- package/.next/standalone/.next/static/chunks/75752-cc8fafe132943baa.js +1 -0
- package/.next/standalone/.next/static/chunks/80350-8ac8d602965bb4df.js +1 -0
- package/.next/standalone/.next/static/chunks/84169-71a87d06871ec9df.js +1 -0
- package/.next/standalone/.next/static/chunks/94528-ed3f03485480f5e5.js +1 -0
- package/.next/standalone/.next/static/chunks/94743-aff8a51a7f7970a9.js +1 -0
- package/.next/standalone/.next/static/chunks/{36493-5326c14a7240edc8.js → 97306-8834e12cdbeed920.js} +1 -1
- package/.next/standalone/.next/static/chunks/{99373.2b68fce200cc323e.js → 99373.6f0ec031fb759d88.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-a3747bde1ddaba52.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-87b79c98e46fbd04.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-f72f17eb58614d2b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-0467d744b84aa2c2.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-7ebb779f0db4c58b.js → page-7abff55f9bfebab3.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-3238e0b5474c60f6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-9f0ebba7e855b2f9.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-6dbfbe5d97855e42.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-b8fbcac7224342db.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-0a04a31e1b383094.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-e2a69b645ec9ae13.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-0bc22273214e522f.js → page-b760877bfcd12dff.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-111aed4d3319d64b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/session/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-47e1d397c5fcef9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/callback/page-39a43f6d0245f8ca.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/page-acda3a31dc6a8280.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-10683852baf17426.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/{page-500aded75bf11ed6.js → page-8e20c8aa8ff90326.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/page-000b1349c8d5b652.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-7483083a976ed3d7.js → webpack-fe12dfe2e0d0e4f3.js} +1 -1
- package/.next/standalone/.next/static/css/3f3ae2bdc9e55259.css +1 -0
- package/.next/standalone/.next/static/eORNzMShbzkJbNfQT8MbW/_buildManifest.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -0
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +2 -0
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -0
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +2 -0
- package/README.md +15 -2
- package/README.zh.md +15 -2
- package/cli/client-args.mjs +31 -9
- package/cli/control-handler.mjs +22 -5
- package/cli/daemon-lifecycle.mjs +192 -25
- package/cli/daemon-rest-client.mjs +6 -2
- package/cli/daemon-service.mjs +422 -0
- package/cli/daemon.mjs +181 -13
- package/cli/event-router.mjs +29 -10
- package/cli/prompts.mjs +61 -0
- package/cli/turn-reporter.mjs +26 -5
- package/cli/wake-queue.mjs +30 -0
- package/cli/waker.mjs +91 -22
- package/package.json +1 -1
- package/prisma/migrations/20260704023331_add_turn_interrupted_state/migration.sql +2 -0
- package/prisma/schema.prisma +9 -2
- package/.next/standalone/.next/server/app/api/auth/refresh/route.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js +0 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/keepalive/route.js +0 -1
- package/.next/standalone/.next/server/app/api/keepalive/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/login/silent-refresh/page.js +0 -2
- package/.next/standalone/.next/server/app/login/silent-refresh/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +0 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.meta +0 -7
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +0 -24
- package/.next/standalone/.next/server/chunks/1463.js +0 -1
- package/.next/standalone/.next/server/chunks/298.js +0 -1
- package/.next/standalone/.next/server/chunks/5011.js +0 -1
- package/.next/standalone/.next/server/chunks/6813.js +0 -1
- package/.next/standalone/.next/server/chunks/7421.js +0 -1
- package/.next/standalone/.next/server/chunks/7515.js +0 -1
- package/.next/standalone/.next/server/chunks/7912.js +0 -1
- package/.next/standalone/.next/server/chunks/8821.js +0 -1
- package/.next/standalone/.next/server/chunks/9273.js +0 -1
- package/.next/standalone/.next/server/chunks/937.js +0 -153
- package/.next/standalone/.next/static/W3KEB0tOAICVtfAUfR_M9/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/10919-7f63b2801a92b8c6.js +0 -1
- package/.next/standalone/.next/static/chunks/1891-d4a9e756fefba3a9.js +0 -1
- package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +0 -1
- package/.next/standalone/.next/static/chunks/26394-4af487a51dd62832.js +0 -1
- package/.next/standalone/.next/static/chunks/2987-c15f09093b821b24.js +0 -1
- package/.next/standalone/.next/static/chunks/37784-95dee37276b1067b.js +0 -1
- package/.next/standalone/.next/static/chunks/43741-aeea04ab873ac4e9.js +0 -1
- package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +0 -1
- package/.next/standalone/.next/static/chunks/56812-a6fe5225adc0b2ff.js +0 -1
- package/.next/standalone/.next/static/chunks/64894-71b047ae8ef2f3d8.js +0 -1
- package/.next/standalone/.next/static/chunks/8796-69e708cb8603d8b4.js +0 -1
- package/.next/standalone/.next/static/chunks/91666-3fd4f3512a53ff20.js +0 -1
- package/.next/standalone/.next/static/chunks/97263-018d631416efa5cd.js +0 -1
- package/.next/standalone/.next/static/chunks/97868-55f18a05fe483d85.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-6061b60d52262d3c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-78ab05c72bcd04fd.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-478cce81afbfc145.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-494b80e61b485870.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-bfbfc5005de2be13.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-fbb4dd4124525f97.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-164fe175720b24a1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-2742c745a90f843f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f2313bf05387b39b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-955e8fd8d7b0b7c8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-960ab78b5055780c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/keepalive/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-31ae6abada6e6a64.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/callback/page-6cad93f5c610b047.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-d2513f477211dd6f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-597e0f3377f18d29.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/silent-refresh/page-a26d1af61578c96e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-075afd218994d377.js +0 -1
- package/.next/standalone/.next/static/css/ed6baccd62b81c4e.css +0 -1
- /package/.next/standalone/.next/static/{W3KEB0tOAICVtfAUfR_M9 → eORNzMShbzkJbNfQT8MbW}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14997],{17475:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(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"}]])},30509:(e,t,s)=>{"use strict";s.d(t,{HB:()=>r,JK:()=>c,XQ:()=>l,bN:()=>o,vh:()=>n});var a=s(14655);function r(e){let t=function(e){let t=window.location.origin,s=new a.O({store:window.localStorage});return{authority:e.issuer,client_id:e.clientId,redirect_uri:"".concat(t,"/login/callback"),post_logout_redirect_uri:"".concat(t,"/login"),response_type:"code",scope:"openid profile email",automaticSilentRenew:!1,userStore:s,extraQueryParams:{company:e.companyUuid}}}(e);return new a.$5(t)}function n(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function l(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function c(){localStorage.removeItem("oidc_config")}function o(e){return{sub:e.profile.sub,email:e.profile.email,name:e.profile.name,picture:e.profile.picture,accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_at,idToken:e.id_token}}},38106:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let s=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return"".concat(s,"-").concat(a,"-").concat(r," ").concat(n,":").concat(l)}function r(e,t){let s="string"==typeof e?new Date(e):e;return isNaN(s.getTime())?"":s.toLocaleDateString(t,{month:"short",day:"numeric"})}s.d(t,{r:()=>a,s:()=>r})},52309:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(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"}]])},62990:(e,t,s)=>{"use strict";s.d(t,{IT:()=>i,cC:()=>u,hj:()=>l,ri:()=>p,tm:()=>d,w9:()=>c});var a=s(30509);let r=null;function n(){if(!r){let e=(0,a.XQ)();e&&(r=(0,a.HB)(e))}return r}function l(e){return(0,a.vh)(e),r=(0,a.HB)(e)}function c(){r=null}async function o(){let e=n();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function i(){let e=await o();if(!(null==e?void 0:e.refresh_token)||!e.access_token)return!1;try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e.access_token,refreshToken:e.refresh_token})})).ok}catch(e){return!1}}async function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return fetch(e,{...t,credentials:"same-origin"})}async function u(){let e=n();if(e)try{await e.removeUser()}catch(e){}c(),(0,a.JK)()}async function p(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=n();if(e)try{await e.removeUser()}catch(e){}c(),(0,a.JK)()}},77298:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>k});var a=s(90508),r=s(1856),n=s(23675),l=s(39268),c=s(12790),o=s.n(c),i=s(48416),d=s(22922),u=s(71388),p=s(52309),x=s(5616),m=s(78948),h=s(62990),g=s(97438),f=s(14554),j=s(88064),b=s(97413),C=s(17475);function v(e){let{open:t,onOpenChange:s,groupUuid:c,groupName:o,groupDescription:i,projectCount:u,onUpdated:x}=e,m=(0,l.c)("projectGroups"),v=(0,n.useRouter)(),[N,y]=(0,r.useState)(o),[A,w]=(0,r.useState)(null!=i?i:""),[k,D]=(0,r.useState)(!1),[E,S]=(0,r.useState)(!1),[_,T]=(0,r.useState)(!1),[O,P]=(0,r.useState)(!1),M=async()=>{if(N.trim()){D(!0);try{let e=await (0,h.tm)("/api/project-groups/".concat(c),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N.trim(),description:A.trim()||null})});(await e.json()).success&&x()}finally{D(!1)}}},B=async()=>{S(!0);try{let e=await (0,h.tm)(O?"/api/project-groups/".concat(c,"?deleteProjects=true"):"/api/project-groups/".concat(c),{method:"DELETE"});(await e.json()).success&&(s(!1),v.push("/projects"))}finally{S(!1)}};return(0,a.jsx)(g.lG,{open:t,onOpenChange:e=>{e&&(y(o),w(null!=i?i:""),T(!1),P(!1)),s(e)},children:(0,a.jsxs)(g.Cf,{className:"max-w-[480px] gap-0 p-0",children:[(0,a.jsx)(g.c7,{className:"border-b border-[#E5E2DC] px-6 py-5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(p.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,a.jsx)(g.L3,{className:"text-[18px] font-semibold tracking-tight text-[#2C2C2C]",children:m("manageGroup")})]})}),(0,a.jsxs)("div",{className:"space-y-5 px-6 py-5",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(j.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:m("groupName")}),(0,a.jsx)(f.p,{value:N,onChange:e=>y(e.target.value),className:"h-10 rounded-lg border-[#E5E2DC] text-[13px] focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(j.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:m("descriptionOptional")}),(0,a.jsx)("textarea",{value:A,onChange:e=>w(e.target.value),rows:3,className:"w-full rounded-lg border border-[#E5E2DC] px-3 py-2.5 text-[13px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#C67A52] focus-visible:ring-offset-1",placeholder:m("descriptionPlaceholder")})]}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)(d.$,{onClick:M,disabled:k||!N.trim()||N===o&&A===(null!=i?i:""),className:"rounded-lg bg-[#C67A52] text-[13px] font-medium text-white hover:bg-[#B56A42]",children:m(k?"saving":"saveChanges")})})]}),(0,a.jsx)("div",{className:"border-t border-[#E5E2DC] px-6 py-5",children:_?(0,a.jsxs)("div",{className:"space-y-3 rounded-lg border border-red-200 bg-red-50 p-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-semibold text-red-700",children:[(0,a.jsx)(C.A,{className:"h-4 w-4"}),m("deleteConfirmTitle")]}),(0,a.jsx)("p",{className:"text-[12px] text-red-600",children:m("deleteConfirmDesc")}),u>0&&(0,a.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-[#2C2C2C]",children:[(0,a.jsx)("input",{type:"radio",name:"deleteOption",checked:!O,onChange:()=>P(!1),className:"accent-[#C67A52]"}),m("deleteKeepProjects",{count:u})]}),(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-red-600",children:[(0,a.jsx)("input",{type:"radio",name:"deleteOption",checked:O,onChange:()=>P(!0),className:"accent-red-600"}),m("deleteWithProjects",{count:u})]})]}),(0,a.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,a.jsx)(d.$,{variant:"outline",size:"sm",onClick:()=>T(!1),className:"rounded-lg border-[#E5E2DC] text-[12px]",children:m("cancel")}),(0,a.jsxs)(d.$,{size:"sm",onClick:B,disabled:E,className:"rounded-lg bg-red-600 text-[12px] text-white hover:bg-red-700",children:[(0,a.jsx)(b.A,{className:"mr-1 h-3 w-3"}),m(E?"deleting":"confirmDelete")]})]})]}):(0,a.jsxs)("button",{onClick:()=>T(!0),className:"flex w-full cursor-pointer items-center gap-2 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-left text-[13px] font-medium text-red-600 transition-colors hover:border-red-300 hover:bg-red-100",children:[(0,a.jsx)(b.A,{className:"h-4 w-4"}),m("deleteGroup")]})})]})})}var N=s(88738),y=s(38280),A=s(38106);let w={task:"#5A9E6F",idea:"#C67A52",proposal:"#1976D2",document:"#9A9A9A"};function k(){let e=(0,n.useParams)(),t=(0,n.useRouter)(),s=(0,l.c)(),[c,g]=(0,r.useState)(null),[f,j]=(0,r.useState)(!0),[b,C]=(0,r.useState)(null),[k,D]=(0,r.useState)(!1),[E,S]=(0,r.useState)(!1),_=async()=>{try{let a=await (0,h.tm)("/api/project-groups/".concat(e.uuid,"/dashboard"));if(!a.ok){if(404===a.status)return void t.push("/projects");C(s("common.genericError"));return}let r=await a.json();r.success?g(r.data):C(r.error||s("common.genericError"))}catch(e){C(s("common.genericError"))}finally{j(!1)}};if((0,r.useEffect)(()=>{_()},[e.uuid]),f)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:s("common.loading")})});if(b||!c)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:b||s("common.genericError")})});let{group:T,stats:O,projects:P,recentActivity:M}=c,B=[{label:s("groupDashboard.statProjects"),value:O.projectCount,valueColor:"text-[#2C2C2C]"},{label:s("groupDashboard.statTotalTasks"),value:O.totalTasks,valueColor:"text-[#C67A52]"},{label:s("groupDashboard.statCompletionRate"),value:"".concat(O.completionRate,"%"),valueColor:"text-[#5A9E6F]"},{label:s("groupDashboard.statOpenIdeas"),value:O.openIdeas,valueColor:"text-[#2C2C2C]"},{label:s("groupDashboard.statActiveProposals"),value:O.activeProposals,valueColor:"text-[#C67A52]"}];return(0,a.jsxs)("div",{className:"flex h-full flex-col gap-6 bg-[#FAF8F4] p-4 md:p-6 lg:p-8",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px]",children:[(0,a.jsx)(o(),{href:"/projects",className:"text-[#C67A52] hover:underline",children:s("nav.projects")}),(0,a.jsx)("span",{className:"text-[#9A9A9A]",children:"/"}),(0,a.jsx)("span",{className:"text-[#9A9A9A]",children:T.name})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3.5",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-[#C67A52]",children:(0,a.jsx)(u.A,{className:"h-[22px] w-[22px] text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-[24px] font-semibold tracking-tight text-[#2C2C2C]",children:T.name}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:s("groupDashboard.subtitle",{count:O.projectCount})})]})]}),(0,a.jsxs)(d.$,{variant:"outline",size:"sm",onClick:()=>D(!0),className:"gap-2 rounded-lg border-[#E5E2DC] bg-white text-[13px] font-medium text-[#2C2C2C] hover:border-[#C67A52] hover:bg-white",children:[(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),s("projectGroups.manageGroup")]})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:B.map(e=>(0,a.jsxs)(i.Zp,{className:"rounded-2xl border-[#E5E2DC] bg-white !gap-1 p-4 !py-4 shadow-none",children:[(0,a.jsx)("p",{className:"text-[12px] font-normal text-[#9A9A9A]",children:e.label}),(0,a.jsx)("p",{className:"mt-1.5 text-[32px] font-semibold leading-none tracking-tight ".concat(e.valueColor),children:e.value})]},e.label))}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-6 lg:flex-row",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:s("groupDashboard.projectsInGroup")}),(0,a.jsxs)(d.$,{size:"sm",onClick:()=>S(!0),className:"gap-1.5 rounded-lg bg-[#C67A52] text-[12px] font-medium text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}),s("groupDashboard.newProject")]})]}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:P.length>0?P.map(e=>{let t=(0,y.D)(e.name),r=(0,y.g)(e.name);return(0,a.jsx)(o(),{href:"/projects/".concat(e.uuid,"/dashboard"),children:(0,a.jsxs)("div",{className:"flex cursor-pointer items-center justify-between rounded-xl border border-[#E5E2DC] bg-white py-3 px-4 transition-all hover:border-[#C67A52] hover:shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[11px] font-bold",style:{backgroundColor:r.bg,color:r.text},children:t}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:e.name}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:s("groupDashboard.projectStats",{tasks:e.taskCount,completion:e.completionRate})})]})]}),(0,a.jsx)(m.A,{className:"h-4 w-4 text-[#9A9A9A]"})]})},e.uuid)}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed border-[#E5E2DC] bg-[#FAF8F4] px-8 py-12",children:[(0,a.jsx)(u.A,{className:"mb-3 h-8 w-8 text-[#D0CCC4]"}),(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#9A9A9A]",children:s("groupDashboard.noProjects")}),(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#C0BDB7]",children:s("groupDashboard.noProjectsHint")})]})})]}),(0,a.jsxs)("div",{className:"flex w-full flex-col gap-4 lg:w-[420px] lg:shrink-0",children:[(0,a.jsx)("h2",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:s("dashboard.recentActivity")}),(0,a.jsx)(i.Zp,{className:"flex flex-col overflow-hidden rounded-2xl border-[#E5E2DC] bg-white !gap-0 !py-0 shadow-none",children:M.length>0?M.slice(0,5).map((e,t)=>{var r;let n=null!=(r=w[e.targetType])?r:"#9A9A9A";return(0,a.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3.5 ".concat(t<Math.min(M.length,5)-1?"border-b border-[#E5E2DC]":""),children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded",style:{backgroundColor:n}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"text-[12px] leading-[1.4] text-[#2C2C2C]",children:function(e){var t;let s=null!=(t=({created:"created",updated:"updated",approved:"approved",rejected:"rejected",claimed:"claimed",completed:"completed",verified:"verified",submitted:"submitted",assigned:"assigned",status_changed:"updated"})[e.action])?t:e.action,a=e.targetType;return"".concat(a.charAt(0).toUpperCase()+a.slice(1)," ").concat(s)}(e)}),(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[#9A9A9A]",children:[e.projectName," \xb7"," ",function(e,t){let s=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(s<1)return t("time.justNow");if(s<60)return t("time.minutesAgo",{minutes:s});let a=Math.floor(s/60);if(a<24)return t("time.hoursAgo",{hours:a});let r=Math.floor(a/24);return r<7?t("time.daysAgo",{days:r}):(0,A.r)(e)}(e.createdAt,s)]})]})]},e.uuid)}):(0,a.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,a.jsx)("p",{className:"text-[13px] text-[#9A9A9A]",children:s("dashboard.noRecentActivity")})})})]})]}),(0,a.jsx)(N.C,{open:E,onOpenChange:S,groupUuid:T.uuid,groupName:T.name,onCreated:()=>{S(!1),_()}}),(0,a.jsx)(v,{open:k,onOpenChange:D,groupUuid:T.uuid,groupName:T.name,groupDescription:T.description,projectCount:O.projectCount,onUpdated:()=>{D(!1),_()}})]})}},96967:(e,t,s)=>{Promise.resolve().then(s.bind(s,77298))},97413:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])}},e=>{e.O(0,[12079,18944,12790,58037,71350,16544,15653,93346,74951,65496,77358],()=>e(e.s=96967)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2734,4342,4977,5869,6476,6623,7719,8489,11140,12015,12170,12662,13056,13566,14966,17453,17948,21220,23519,24869,27406,27819,29246,30754,31025,32515,33004,33105,33157,33836,34561,37624,38189,38629,38764,39672,40494,40568,41654,42129,42371,44192,44533,44843,48597,48653,48673,50575,52451,52703,52772,55223,56202,56856,57128,58118,59442,60523,65580,66469,68928,70473,70637,70703,71406,73708,73804,78301,80064,80272,82641,82765,85879,86384,86759,87188,87682,90090,90113,90469,91946,93184,93691,97629,97636,98400],{51540:()=>{}},_=>{_.O(0,[74951,65496,77358],()=>_(_.s=51540)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[85e3],{5725:(e,t,s)=>{"use strict";s.d(t,{b:()=>c});var a=s(1856),r=s(93367),n=s(90508),l="horizontal",i=["horizontal","vertical"],o=a.forwardRef((e,t)=>{var s;let{decorative:a,orientation:o=l,...c}=e,d=(s=o,i.includes(s))?o:l;return(0,n.jsx)(r.sG.div,{"data-orientation":d,...a?{role:"none"}:{"aria-orientation":"vertical"===d?d:void 0,role:"separator"},...c,ref:t})});o.displayName="Separator";var c=o},6985:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},14741:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},18789:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},29767:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},41644:(e,t,s)=>{Promise.resolve().then(s.bind(s,70742)),Promise.resolve().then(s.bind(s,62790)),Promise.resolve().then(s.bind(s,97723))},45841:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Arrow:()=>J,Content:()=>Z,Portal:()=>$,Provider:()=>U,Root:()=>K,Tooltip:()=>T,TooltipArrow:()=>H,TooltipContent:()=>P,TooltipPortal:()=>F,TooltipProvider:()=>k,TooltipTrigger:()=>B,Trigger:()=>G,createTooltipScope:()=>v});var a=s(1856),r=s(33328),n=s(34124),l=s(21032),i=s(63569),o=s(40577),c=s(67221),d=s(17533),u=s(19900),x=s(93367),p=s(54154),h=s(66249),m=s(78134),g=s(90508),[f,v]=(0,l.A)("Tooltip",[c.Bk]),b=(0,c.Bk)(),y="TooltipProvider",j="tooltip.open",[C,w]=f(y),k=e=>{let{__scopeTooltip:t,delayDuration:s=700,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:l}=e,i=a.useRef(!0),o=a.useRef(!1),c=a.useRef(0);return a.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,g.jsx)(C,{scope:t,isOpenDelayedRef:i,delayDuration:s,onOpen:a.useCallback(()=>{window.clearTimeout(c.current),i.current=!1},[]),onClose:a.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.current=!0,r)},[r]),isPointerInTransitRef:o,onPointerInTransitChange:a.useCallback(e=>{o.current=e},[]),disableHoverableContent:n,children:l})};k.displayName=y;var A="Tooltip",[N,E]=f(A),T=e=>{let{__scopeTooltip:t,children:s,open:r,defaultOpen:n,onOpenChange:l,disableHoverableContent:i,delayDuration:d}=e,u=w(A,e.__scopeTooltip),x=b(t),[p,m]=a.useState(null),f=(0,o.B)(),v=a.useRef(0),y=null!=i?i:u.disableHoverableContent,C=null!=d?d:u.delayDuration,k=a.useRef(!1),[E,T]=(0,h.i)({prop:r,defaultProp:null!=n&&n,onChange:e=>{e?(u.onOpen(),document.dispatchEvent(new CustomEvent(j))):u.onClose(),null==l||l(e)},caller:A}),M=a.useMemo(()=>E?k.current?"delayed-open":"instant-open":"closed",[E]),B=a.useCallback(()=>{window.clearTimeout(v.current),v.current=0,k.current=!1,T(!0)},[T]),_=a.useCallback(()=>{window.clearTimeout(v.current),v.current=0,T(!1)},[T]),D=a.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{k.current=!0,T(!0),v.current=0},C)},[C,T]);return a.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,g.jsx)(c.bL,{...x,children:(0,g.jsx)(N,{scope:t,contentId:f,open:E,stateAttribute:M,trigger:p,onTriggerChange:m,onTriggerEnter:a.useCallback(()=>{u.isOpenDelayedRef.current?D():B()},[u.isOpenDelayedRef,D,B]),onTriggerLeave:a.useCallback(()=>{y?_():(window.clearTimeout(v.current),v.current=0)},[_,y]),onOpen:B,onClose:_,disableHoverableContent:y,children:s})})};T.displayName=A;var M="TooltipTrigger",B=a.forwardRef((e,t)=>{let{__scopeTooltip:s,...l}=e,i=E(M,s),o=w(M,s),d=b(s),u=a.useRef(null),p=(0,n.s)(t,u,i.onTriggerChange),h=a.useRef(!1),m=a.useRef(!1),f=a.useCallback(()=>h.current=!1,[]);return a.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),(0,g.jsx)(c.Mz,{asChild:!0,...d,children:(0,g.jsx)(x.sG.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...l,ref:p,onPointerMove:(0,r.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(m.current||o.isPointerInTransitRef.current||(i.onTriggerEnter(),m.current=!0))}),onPointerLeave:(0,r.mK)(e.onPointerLeave,()=>{i.onTriggerLeave(),m.current=!1}),onPointerDown:(0,r.mK)(e.onPointerDown,()=>{i.open&&i.onClose(),h.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:(0,r.mK)(e.onFocus,()=>{h.current||i.onOpen()}),onBlur:(0,r.mK)(e.onBlur,i.onClose),onClick:(0,r.mK)(e.onClick,i.onClose)})})});B.displayName=M;var _="TooltipPortal",[D,S]=f(_,{forceMount:void 0}),F=e=>{let{__scopeTooltip:t,forceMount:s,children:a,container:r}=e,n=E(_,t);return(0,g.jsx)(D,{scope:t,forceMount:s,children:(0,g.jsx)(u.C,{present:s||n.open,children:(0,g.jsx)(d.Portal,{asChild:!0,container:r,children:a})})})};F.displayName=_;var R="TooltipContent",P=a.forwardRef((e,t)=>{let s=S(R,e.__scopeTooltip),{forceMount:a=s.forceMount,side:r="top",...n}=e,l=E(R,e.__scopeTooltip);return(0,g.jsx)(u.C,{present:a||l.open,children:l.disableHoverableContent?(0,g.jsx)(V,{side:r,...n,ref:t}):(0,g.jsx)(z,{side:r,...n,ref:t})})}),z=a.forwardRef((e,t)=>{let s=E(R,e.__scopeTooltip),r=w(R,e.__scopeTooltip),l=a.useRef(null),i=(0,n.s)(t,l),[o,c]=a.useState(null),{trigger:d,onClose:u}=s,x=l.current,{onPointerInTransitChange:p}=r,h=a.useCallback(()=>{c(null),p(!1)},[p]),m=a.useCallback((e,t)=>{let s=e.currentTarget,a={x:e.clientX,y:e.clientY},r=function(e,t){let s=Math.abs(t.top-e.y),a=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),n=Math.abs(t.left-e.x);switch(Math.min(s,a,r,n)){case n:return"left";case r:return"right";case s:return"top";case a:return"bottom";default:throw Error("unreachable")}}(a,s.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let s=0;s<e.length;s++){let a=e[s];for(;t.length>=2;){let e=t[t.length-1],s=t[t.length-2];if((e.x-s.x)*(a.y-s.y)>=(e.y-s.y)*(a.x-s.x))t.pop();else break}t.push(a)}t.pop();let s=[];for(let t=e.length-1;t>=0;t--){let a=e[t];for(;s.length>=2;){let e=s[s.length-1],t=s[s.length-2];if((e.x-t.x)*(a.y-t.y)>=(e.y-t.y)*(a.x-t.x))s.pop();else break}s.push(a)}return(s.pop(),1===t.length&&1===s.length&&t[0].x===s[0].x&&t[0].y===s[0].y)?t:t.concat(s)}(t)}([...function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,a=[];switch(t){case"top":a.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":a.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":a.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":a.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s})}return a}(a,r),...function(e){let{top:t,right:s,bottom:a,left:r}=e;return[{x:r,y:t},{x:s,y:t},{x:s,y:a},{x:r,y:a}]}(t.getBoundingClientRect())])),p(!0)},[p]);return a.useEffect(()=>()=>h(),[h]),a.useEffect(()=>{if(d&&x){let e=e=>m(e,x),t=e=>m(e,d);return d.addEventListener("pointerleave",e),x.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),x.removeEventListener("pointerleave",t)}}},[d,x,m,h]),a.useEffect(()=>{if(o){let e=e=>{let t=e.target,s={x:e.clientX,y:e.clientY},a=(null==d?void 0:d.contains(t))||(null==x?void 0:x.contains(t)),r=!function(e,t){let{x:s,y:a}=e,r=!1;for(let e=0,n=t.length-1;e<t.length;n=e++){let l=t[e],i=t[n],o=l.x,c=l.y,d=i.x,u=i.y;c>a!=u>a&&s<(d-o)*(a-c)/(u-c)+o&&(r=!r)}return r}(s,o);a?h():r&&(h(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,x,o,u,h]),(0,g.jsx)(V,{...e,ref:i})}),[I,L]=f(A,{isInside:!1}),O=(0,p.Dc)("TooltipContent"),V=a.forwardRef((e,t)=>{let{__scopeTooltip:s,children:r,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:o,...d}=e,u=E(R,s),x=b(s),{onClose:p}=u;return a.useEffect(()=>(document.addEventListener(j,p),()=>document.removeEventListener(j,p)),[p]),a.useEffect(()=>{if(u.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(u.trigger))&&p()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[u.trigger,p]),(0,g.jsx)(i.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:p,children:(0,g.jsxs)(c.UC,{"data-state":u.stateAttribute,...x,...d,ref:t,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,g.jsx)(O,{children:r}),(0,g.jsx)(I,{scope:s,isInside:!0,children:(0,g.jsx)(m.bL,{id:u.contentId,role:"tooltip",children:n||r})})]})})});P.displayName=R;var q="TooltipArrow",H=a.forwardRef((e,t)=>{let{__scopeTooltip:s,...a}=e,r=b(s);return L(q,s).isInside?null:(0,g.jsx)(c.i3,{...r,...a,ref:t})});H.displayName=q;var U=k,K=T,G=B,$=F,Z=P,J=H},48127:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]])},52309:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(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"}]])},53881:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("corner-left-up",[["path",{d:"M14 9 9 4 4 9",key:"1af5af"}],["path",{d:"M20 20h-7a4 4 0 0 1-4-4V4",key:"1blwi3"}]])},57223:(e,t,s)=>{"use strict";s.d(t,{E:()=>n});var a=s(90508),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,r.cn)("bg-accent animate-pulse rounded-md",t),...s})}},62790:(e,t,s)=>{"use strict";s.d(t,{ProjectSettingsModal:()=>b});var a=s(90508),r=s(1856),n=s(23675),l=s(39268),i=s(52309),o=s(85226),c=s(22922),d=s(14554),u=s(88064),x=s(15972),p=s(97438),h=s(84247),m=s(51817),g=s(52217);let f=(0,g.createServerReference)("60d4bd3862ef552da3de66c9983d52afb9d67450e6",g.callServer,void 0,g.findSourceMapURL,"updateProjectAction"),v=(0,g.createServerReference)("402c1162f2756b401c752e800868f5009dca55e118",g.callServer,void 0,g.findSourceMapURL,"deleteProjectAction");function b(e){let{projectUuid:t,projectName:s,projectDescription:g}=e,b=(0,l.c)(),y=(0,n.useRouter)(),[j,C]=(0,r.useState)(!1),[w,k]=(0,r.useState)(s),[A,N]=(0,r.useState)(g||""),[E,T]=(0,r.useState)(!1),[M,B]=(0,r.useState)(!1),_=async()=>{T(!0);let e=await f(t,{name:w,description:A||null});T(!1),e.success&&(C(!1),y.refresh())},D=async()=>{B(!0);let e=await v(t);e&&!e.success&&B(!1)};return(0,a.jsxs)(p.lG,{open:j,onOpenChange:C,children:[(0,a.jsx)(p.zM,{asChild:!0,children:(0,a.jsxs)(c.$,{variant:"outline",size:"sm",className:"gap-1.5 rounded-lg border-[#E5E2DC] bg-white text-[12px] font-normal text-[#2C2C2C] hover:border-[#C67A52] hover:bg-white",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),b("dashboard.settings")]})}),(0,a.jsxs)(p.Cf,{className:"gap-0 overflow-hidden rounded-2xl border-0 p-0 sm:max-w-[520px]",children:[(0,a.jsx)(p.c7,{className:"px-7 py-6",children:(0,a.jsx)(p.L3,{className:"text-[20px] font-semibold tracking-tight text-[#2C2C2C]",children:b("projectSettings.title")})}),(0,a.jsx)(h.Separator,{className:"bg-[#E5E2DC]"}),(0,a.jsxs)("div",{className:"flex flex-col gap-7 p-7",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:b("projectSettings.basicInfo")}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(u.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:b("projectSettings.projectName")}),(0,a.jsx)(d.p,{value:w,onChange:e=>k(e.target.value),className:"h-11 rounded-[10px] border-[#E5E2DC] text-[14px] text-[#2C2C2C] focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(u.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:b("projectSettings.description")}),(0,a.jsx)(x.T,{value:A,onChange:e=>N(e.target.value),rows:3,className:"resize-none rounded-[10px] border-[#E5E2DC] text-[14px] text-[#2C2C2C] focus-visible:ring-[#C67A52]"})]}),(0,a.jsx)(c.$,{onClick:_,disabled:E||!w.trim(),className:"w-fit rounded-[10px] bg-[#C67A52] px-6 text-[13px] font-semibold text-white hover:bg-[#B56A42]",children:E?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),b("projectSettings.saving")]}):b("projectSettings.saveChanges")})]}),(0,a.jsx)(h.Separator,{className:"bg-[#E5E2DC]"}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#C4574C]",children:b("projectSettings.dangerZone")}),(0,a.jsx)("div",{className:"rounded-xl border border-[#C4574C40] bg-[#C4574C08] px-[18px] py-4",children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:b("projectSettings.deleteTitle")}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:b("projectSettings.deleteDescription")})]}),(0,a.jsxs)(m.Lt,{children:[(0,a.jsx)(m.tv,{asChild:!0,children:(0,a.jsx)(c.$,{variant:"destructive",size:"sm",className:"ml-4 shrink-0 rounded-lg bg-[#C4574C] px-[18px] text-[12px] font-medium hover:bg-[#B3463B]",children:b("common.delete")})}),(0,a.jsxs)(m.EO,{children:[(0,a.jsxs)(m.wd,{children:[(0,a.jsx)(m.r7,{children:b("projectOverview.deleteProject")}),(0,a.jsx)(m.$v,{children:b("projectOverview.deleteProjectConfirm",{name:s})})]}),(0,a.jsxs)(m.ck,{children:[(0,a.jsx)(m.Zr,{children:b("common.cancel")}),(0,a.jsx)(m.Rx,{variant:"destructive",onClick:D,disabled:M,children:M?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),b("common.delete")]}):b("common.delete")})]})]})]})]})})]})]})]})]})}},63273:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},64131:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]])},69443:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("message-square-text",[["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"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]])},70633:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},70742:(e,t,s)=>{"use strict";s.d(t,{IdeaTracker:()=>G});var a=s(90508),r=s(39268),n=s(1856),l=s(83064),i=s(64131);let o=(0,s(66206).A)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var c=s(5616),d=s(22922),u=s(81531),x=s(36755),p=s(29767),h=s(57223),m=s(63964),g=s(17730),f=s(78948),v=s(81750),b=s(96213),y=s(48127),j=s(38106);let C={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done",closed:"closed"},w={open:"text-[#888780]",researching:"text-[#7F77DD]",answer_questions:"text-[#C47A20]",planning:"text-[#7F77DD]",review_proposal:"text-[#C47A20]",building:"text-[#7F77DD]",verify_work:"text-[#C47A20]",done:"text-[#1D9E75]",closed:"text-[#888780]"};function k(e){var t;let{idea:s,onClick:n,depth:l=0,showConnector:o=!1}=e,c=(0,r.c)("ideaTracker"),d=s.badgeHint?C[s.badgeHint]:null,u=s.badgeHint&&w[s.badgeHint]||"text-[#888780]",x=null!=(t=s.childCount)?t:0;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-3.5 py-3 transition-colors ".concat(n?"cursor-pointer hover:bg-[#FAF8F4]":""),onClick:n?()=>n(s.uuid):void 0,style:l>0?{paddingLeft:"".concat(14+22*l,"px")}:void 0,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[o&&(0,a.jsx)(y.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C2BDB2]","aria-hidden":!0}),(0,a.jsx)("span",{className:"shrink-0 text-[11px] text-[#B4B2A9]",children:"IDEA"}),(0,a.jsx)("span",{className:"truncate text-[13px] text-[#2C2C2A] ".concat(0===l&&x>0?"font-medium":""),children:s.title}),d&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-[#F0EEEA] px-1.5 py-0.5 text-[11px] ".concat(u),children:c("badge.".concat(d))}),x>0&&(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1 rounded bg-[#F3E7DD] px-1.5 py-0.5 text-[11px] font-medium text-[#B26B3D]",children:[(0,a.jsx)(i.A,{className:"h-2.5 w-2.5","aria-hidden":!0}),c("lineage.derivedCount",{count:x})]})]}),(0,a.jsx)("span",{className:"shrink-0 pl-4 text-[12px] text-[#888780]",children:(0,j.s)(s.createdAt)})]})}let A={human_conduct_required:{fill:"#7F77DD"},in_progress:{fill:"#378ADD"},todo:{stroke:"#888780"},done:{fill:"#1D9E75"}},N={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"};function E(e){let{status:t,ideas:s,defaultOpen:l=!0,onIdeaClick:i}=e,o=(0,r.c)("ideaTracker"),c=s.length>0,[d,u]=(0,n.useState)(!!c&&l),x=N[t]||"todo",p=A[t]||A.todo;return(0,a.jsxs)(v.Nt,{open:d,onOpenChange:u,children:[(0,a.jsxs)(v.R6,{className:"group flex w-full cursor-pointer items-center gap-2 px-0 pb-1.5 pt-0",children:[d?(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 shrink-0 text-[#888780] transition-colors group-hover:text-[#2C2C2A]"}):(0,a.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0 text-[#888780] transition-colors group-hover:text-[#2C2C2A]"}),(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:p.fill,border:p.stroke?"1.5px solid ".concat(p.stroke):void 0}}),(0,a.jsx)("span",{className:"text-[13px] font-medium transition-colors group-hover:text-[#2C2C2A] ".concat(c?"text-[#5F5E5A]":"text-[#B4B2A9]"),children:o("status.".concat(x))}),(0,a.jsx)("span",{className:"text-[12px] text-[#888780] transition-colors group-hover:text-[#2C2C2A]",children:s.length})]}),c&&(0,a.jsx)(v.Ke,{children:(0,a.jsx)("div",{className:"overflow-hidden rounded-lg bg-white",children:s.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"mx-0 h-px bg-[#F0EEEA]"}),(0,a.jsx)(b.D,{entityType:"idea",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(k,{idea:e,onClick:i})})]},e.uuid))})})]})}function T(e){let{ideas:t,onIdeaClick:s}=e,r=(0,n.useMemo)(()=>(function(e){let t=new Map(e.map(e=>[e.uuid,e])),s=new Map,a=[];for(let l of e){var r,n;let e=null!=(r=l.parentUuid)?r:null;if(e&&t.has(e)){let t=null!=(n=s.get(e))?n:[];t.push(l),s.set(e,t)}else a.push(l)}let l=[],i=new Set,o=(e,t,a)=>{var r;if(!i.has(e.uuid))for(let n of(i.add(e.uuid),a.push({idea:e,depth:t,showConnector:t>0}),null!=(r=s.get(e.uuid))?r:[]))o(n,t+1,a)};for(let e of a){let t=[];o(e,0,t),t.length>0&&l.push(t)}for(let t of e)i.has(t.uuid)||(i.add(t.uuid),l.push([{idea:t,depth:0,showConnector:!1}]));return l})(t),[t]);return(0,a.jsx)("div",{className:"space-y-2.5",children:r.map(e=>(0,a.jsx)("div",{"data-testid":"lineage-tree-group",className:"overflow-hidden rounded-lg bg-white",children:e.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"mx-0 h-px bg-[#F0EEEA]"}),(0,a.jsx)(b.D,{entityType:"idea",entityUuid:e.idea.uuid,badgeInside:!0,children:(0,a.jsx)(k,{idea:e.idea,onClick:s,depth:e.depth,showConnector:e.showConnector})})]},e.idea.uuid))},e[0].idea.uuid))})}let M=["human_conduct_required","in_progress","todo","done"];function B(e){var t;let{projectUuid:s,initialData:l,viewMode:i,onIdeaClick:o,onNewIdea:u,onEmptyChange:g}=e,f=(0,r.c)("ideaTracker"),[v,b]=(0,n.useState)(null!=(t=null==l?void 0:l.groups)?t:{}),[y,j]=(0,n.useState)(!l),[C,w]=(0,n.useState)(null),k=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(s,"/ideas/tracker")),t=await e.json();t.success&&t.data?(b(t.data.groups),w(null)):w(t.error||f("error.loadFailed"))}catch(e){w(f("error.loadFailed"))}finally{j(!1)}},[s,f]);(0,m.eV)("idea",k),(0,m.eV)("proposal",k),(0,m.eV)("task",k),(0,n.useEffect)(()=>{l||k()},[k,l]);let A=M.reduce((e,t)=>e+(v[t]||[]).length,0);(0,n.useEffect)(()=>{y||null==g||g(0===A)},[A,y,g]);let N=M.flatMap(e=>v[e]||[]);return y?(0,a.jsx)("div",{className:"space-y-4",children:[1,2,3].map(e=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(h.E,{className:"h-5 w-32"}),(0,a.jsx)(h.E,{className:"h-12 w-full rounded-lg"}),(0,a.jsx)(h.E,{className:"h-12 w-full rounded-lg"})]},e))}):C&&0===Object.keys(v).length?(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4 py-16",children:[(0,a.jsx)(x.A,{className:"h-10 w-10 text-[#E65100]"}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:C}),(0,a.jsx)(d.$,{variant:"outline",size:"sm",onClick:()=>{j(!0),w(null),k()},className:"border-[#E5E0D8] text-[#2C2C2C]",children:f("actions.retry")})]}):0===A?(0,a.jsxs)("div",{className:"flex min-h-[60vh] flex-col items-center justify-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,a.jsx)(p.A,{className:"h-5 w-5 text-[#B4B2A9]"})}),(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#6B6B6B]",children:f("empty.noIdeas")}),(0,a.jsx)("p",{className:"max-w-[260px] text-center text-[12px] leading-relaxed text-[#9A9A9A]",children:f("empty.getStarted")}),u&&(0,a.jsxs)(d.$,{onClick:u,size:"sm",className:"mt-2 gap-1.5 rounded-md bg-[#C67A52] px-4 py-2 text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(c.A,{className:"h-4 w-4"}),f("actions.newIdea")]})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[C&&Object.keys(v).length>0&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:C}),"tree"===i?(0,a.jsx)(T,{ideas:N,onIdeaClick:o}):(0,a.jsx)("div",{className:"space-y-4",children:M.map(e=>{let t=v[e]||[];return 0===t.length?null:(0,a.jsx)(E,{status:e,ideas:t,defaultOpen:"done"!==e,onIdeaClick:o},e)})})]})}var _=s(12790),D=s.n(_),S=s(48416),F=s(90795),R=s(85226),P=s(18789),z=s(71921),I=s(56770);let L=[{key:"todo",bg:"#E65100"},{key:"inProgress",bg:"#5A9E6F"},{key:"toVerify",bg:"#7B1FA2"},{key:"done",bg:"#00796B"}],O={idea:"bg-[#C67A52]",task:"bg-[#5A9E6F]",proposal:"bg-[#1976D2]",document:"bg-[#9A9A9A]"};function V(e){let{projectUuid:t,initialData:s}=e,l=(0,r.c)(),i=(0,r.c)("ideaTracker"),[o,c]=(0,n.useState)(null!=s?s:null),[d,u]=(0,n.useState)(!s),x=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(t,"/stats"));if(!e.ok)return;let s=await e.json();s.success&&c(s.data)}finally{u(!1)}},[t]);if((0,n.useEffect)(()=>{s||x()},[x,s]),(0,m.eV)(["idea","task","proposal","document"],x),d)return(0,a.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,a.jsx)(R.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})});if(!o)return null;let{stats:h,recentActivities:g}=o,f=[{label:i("stats.totalIdeas"),value:h.ideas.total,badge:h.ideas.open>0?i("stats.openCount",{count:h.ideas.open}):null,badgeStyle:"bg-[#C67A5220] text-[#C67A52]",href:"/projects/".concat(t,"/dashboard"),iconBg:"bg-[#FFF3E0]",icon:(0,a.jsx)(p.A,{className:"h-5 w-5 text-[#E65100]"})},{label:i("stats.totalTasks"),value:h.tasks.total,badge:h.tasks.inProgress>0?i("stats.activeCount",{count:h.tasks.inProgress}):null,badgeStyle:"bg-[#5A9E6F20] text-[#5A9E6F]",href:"/projects/".concat(t,"/tasks"),iconBg:"bg-[#E3F2FD]",icon:(0,a.jsx)(P.A,{className:"h-5 w-5 text-[#1976D2]"})},{label:i("stats.totalProposals"),value:h.proposals.total,badge:h.proposals.pending>0?i("stats.pendingCount",{count:h.proposals.pending}):null,badgeStyle:"bg-[#C67A5220] text-[#C67A52]",href:"/projects/".concat(t,"/proposals"),iconBg:"bg-[#F3E5F5]",icon:(0,a.jsx)(z.A,{className:"h-5 w-5 text-[#7B1FA2]"})},{label:i("stats.totalDocuments"),value:h.documents.total,badge:null,badgeStyle:"",href:"/projects/".concat(t,"/documents"),iconBg:"bg-[#E8F5E9]",icon:(0,a.jsx)(I.A,{className:"h-5 w-5 text-[#5A9E6F]"})}],v=[h.tasks.todo,h.tasks.inProgress,h.tasks.toVerify,h.tasks.done],b=h.tasks.total,y=[{label:i("stats.todoCount",{count:h.tasks.todo}),color:"#E65100"},{label:i("stats.inProgressCount",{count:h.tasks.inProgress}),color:"#5A9E6F"},{label:i("stats.toVerifyCount",{count:h.tasks.toVerify}),color:"#7B1FA2"},{label:i("stats.doneCount",{count:h.tasks.done}),color:"#00796B"}];return(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 md:gap-4 lg:grid-cols-4",children:f.map(e=>(0,a.jsx)(D(),{href:e.href,children:(0,a.jsxs)(S.Zp,{className:"cursor-pointer rounded-2xl border-0 bg-white p-3 shadow-none transition-all hover:shadow-md md:p-5",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between md:mb-3.5",children:[(0,a.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg md:h-10 md:w-10 md:rounded-xl ".concat(e.iconBg),children:e.icon}),e.badge&&(0,a.jsx)("span",{className:"hidden rounded-lg px-2.5 py-1 text-[11px] font-medium sm:inline ".concat(e.badgeStyle),children:e.badge})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold leading-none tracking-tight text-[#2C2C2C] md:text-[32px]",children:e.value}),(0,a.jsx)("div",{className:"mt-0.5 text-[12px] text-[#6B6B6B] md:text-[13px]",children:e.label})]})},e.label))}),(0,a.jsxs)("div",{className:"grid min-h-0 gap-5 lg:grid-cols-2",children:[(0,a.jsxs)(S.Zp,{className:"flex flex-col rounded-2xl border-0 bg-white p-6 shadow-none",children:[(0,a.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[16px] font-semibold text-[#2C2C2C]",children:i("stats.taskPipeline")}),(0,a.jsx)("span",{className:"text-[12px] text-[#9A9A9A]",children:i("stats.totalCount",{count:b})})]}),b>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-5 flex h-3 w-full overflow-hidden rounded-md",children:v.map((e,t)=>e>0?(0,a.jsx)("div",{className:"h-full",style:{width:"".concat(e/b*100,"%"),backgroundColor:L[t].bg}},L[t].key):null)}),(0,a.jsx)("div",{className:"flex flex-wrap gap-5",children:y.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"h-2.5 w-2.5 rounded-sm",style:{backgroundColor:e.color}}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:e.label})]},e.color))})]}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-[#9A9A9A]",children:i("stats.noTasks")})]}),(0,a.jsxs)(S.Zp,{className:"flex flex-col rounded-2xl border-0 bg-white p-6 shadow-none",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[16px] font-semibold text-[#2C2C2C]",children:i("stats.recentActivity")}),(0,a.jsx)(D(),{href:"/projects/".concat(t,"/activity"),className:"text-[12px] font-medium text-[#C67A52] hover:underline",children:i("stats.viewAll")})]}),g.length>0?(0,a.jsx)("div",{className:"flex flex-col",children:g.map((e,t)=>{let s=O[e.targetType]||"bg-[#9A9A9A]";return(0,a.jsxs)("div",{className:"flex items-start gap-3 py-3 ".concat(t<g.length-1?"border-b border-[#F5F2EC]":""),children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full ".concat(s)}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"text-[13px] text-[#2C2C2C]",children:[e.actorName," ",e.action]}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:(0,F.fw)(e.createdAt,l)})]})]},e.uuid)})}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-[#9A9A9A]",children:i("stats.noActivity")})]})]})]})}var q=s(225),H=s(875);let U=["ideas","lineage","stats"],K=e=>"chorus:dashboard-view:".concat(e);function G(e){let{projectUuid:t,projectName:s,currentUserUuid:x,initialTrackerData:p,initialStatsData:h,initialSelectedIdeaUuid:m}=e,g=(0,r.c)("ideaTracker"),[f,v]=(0,n.useState)(()=>{var e;return(e=null==p?void 0:p.groups)&&Object.values(e).some(e=>e.some(e=>{var t;return!!e.parentUuid||(null!=(t=e.childCount)?t:0)>0}))?"lineage":"ideas"}),[b,y]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=function(e){let t=null;try{t=window.localStorage.getItem(K(e))}catch(e){return null}return U.includes(t)?t:null}(t);e&&v(e)},[t]);let[j,C]=(0,n.useState)(()=>!!p&&0===Object.values(p.groups).reduce((e,t)=>e+t.length,0)),w="/projects/".concat(t,"/dashboard"),{selectedId:k,openPanel:A,closePanel:N}=(0,u.T)(w,m),E=[{id:"ideas",label:g("tabs.ideas"),icon:l.A},{id:"lineage",label:g("tabs.lineage"),icon:i.A},{id:"stats",label:g("tabs.stats"),icon:o}];return(0,a.jsxs)("div",{className:"flex h-full flex-col",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("div",{className:"inline-flex items-center gap-0.5 rounded-lg bg-[#EFEBE3] p-0.5",children:E.map(e=>{let{id:s,label:r,icon:n}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>(e=>{v(e);try{window.localStorage.setItem(K(t),e)}catch(e){}})(s),"aria-pressed":f===s,className:"flex cursor-pointer items-center gap-1.5 rounded-md px-3 py-1.5 text-[12px] transition-colors ".concat(f===s?"bg-white font-medium text-[#2C2C2A] shadow-sm":"text-[#888780] hover:text-[#2C2C2A]"),children:[(0,a.jsx)(n,{className:"h-3.5 w-3.5"}),r]},s)})}),"stats"!==f&&!j&&(0,a.jsxs)(d.$,{onClick:()=>y(!0),size:"sm",className:"gap-1.5 rounded-md bg-[#C67A52] px-3.5 py-2 text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(c.A,{className:"h-4 w-4"}),g("actions.newIdea")]})]}),"stats"===f?(0,a.jsx)(V,{projectUuid:t,initialData:h}):(0,a.jsx)(B,{projectUuid:t,initialData:p,viewMode:"lineage"===f?"tree":"flat",onIdeaClick:A,onNewIdea:()=>y(!0),onEmptyChange:C}),(0,a.jsx)(H.i,{open:b,onOpenChange:y,projectUuid:t,projectName:s,onCreated:e=>A(e)}),k&&(0,a.jsx)(q.D,{ideaUuid:k,projectUuid:t,currentUserUuid:x,onClose:N,onNavigate:A})]})}},71921:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},78948:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},79834:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Content:()=>_,List:()=>M,Root:()=>T,Tabs:()=>b,TabsContent:()=>A,TabsList:()=>j,TabsTrigger:()=>w,Trigger:()=>B,createTabsScope:()=>m});var a=s(1856),r=s(33328),n=s(21032),l=s(94782),i=s(19900),o=s(93367),c=s(72599),d=s(66249),u=s(40577),x=s(90508),p="Tabs",[h,m]=(0,n.A)(p,[l.RG]),g=(0,l.RG)(),[f,v]=h(p),b=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:a,onValueChange:r,defaultValue:n,orientation:l="horizontal",dir:i,activationMode:h="automatic",...m}=e,g=(0,c.jH)(i),[v,b]=(0,d.i)({prop:a,onChange:r,defaultProp:null!=n?n:"",caller:p});return(0,x.jsx)(f,{scope:s,baseId:(0,u.B)(),value:v,onValueChange:b,orientation:l,dir:g,activationMode:h,children:(0,x.jsx)(o.sG.div,{dir:g,"data-orientation":l,...m,ref:t})})});b.displayName=p;var y="TabsList",j=a.forwardRef((e,t)=>{let{__scopeTabs:s,loop:a=!0,...r}=e,n=v(y,s),i=g(s);return(0,x.jsx)(l.bL,{asChild:!0,...i,orientation:n.orientation,dir:n.dir,loop:a,children:(0,x.jsx)(o.sG.div,{role:"tablist","aria-orientation":n.orientation,...r,ref:t})})});j.displayName=y;var C="TabsTrigger",w=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:a,disabled:n=!1,...i}=e,c=v(C,s),d=g(s),u=N(c.baseId,a),p=E(c.baseId,a),h=a===c.value;return(0,x.jsx)(l.q7,{asChild:!0,...d,focusable:!n,active:h,children:(0,x.jsx)(o.sG.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:u,...i,ref:t,onMouseDown:(0,r.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(a)}),onKeyDown:(0,r.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(a)}),onFocus:(0,r.mK)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||n||!e||c.onValueChange(a)})})})});w.displayName=C;var k="TabsContent",A=a.forwardRef((e,t)=>{let{__scopeTabs:s,value:r,forceMount:n,children:l,...c}=e,d=v(k,s),u=N(d.baseId,r),p=E(d.baseId,r),h=r===d.value,m=a.useRef(h);return a.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,x.jsx)(i.C,{present:n||h,children:s=>{let{present:a}=s;return(0,x.jsx)(o.sG.div,{"data-state":h?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!a,id:p,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:m.current?"0s":void 0},children:a&&l})}})});function N(e,t){return"".concat(e,"-trigger-").concat(t)}function E(e,t){return"".concat(e,"-content-").concat(t)}A.displayName=k;var T=b,M=j,B=w,_=A},83064:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])},84052:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(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"}]])},90382:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},95900:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},97723:(e,t,s)=>{"use strict";s.d(t,{CollapsibleMarkdown:()=>o});var a=s(90508),r=s(1856),n=s(39268),l=s(22922),i=s(97261);function o(e){let{content:t,className:s}=e,o=(0,n.c)(),[c,d]=(0,r.useState)(!1),[u,x]=(0,r.useState)(!1),p=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=p.current;if(!e)return;let t=()=>x(e.scrollHeight>81);t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[t]),(0,a.jsxs)("div",{className:s,children:[(0,a.jsx)("div",{ref:p,className:"overflow-hidden [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_p:first-child]:mt-0 [&_p:last-child]:mb-0",style:c?void 0:{maxHeight:80},children:(0,a.jsx)(i.MarkdownContent,{children:t})}),u&&(0,a.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>d(e=>!e),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:o(c?"common.showLess":"common.showMore")})]})}}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,12790,26885,58037,71350,30724,16544,27201,16551,97784,14753,89644,45532,70552,15183,38296,27378,64187,94743,84169,57362,1892,94528,225,74951,65496,77358],()=>e(e.s=41644)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[61461],{6493:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(66206).A)("file-spreadsheet",[["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:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]])},6841:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(66206).A)("file-type",[["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:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]])},12294:(e,t,n)=>{Promise.resolve().then(n.bind(n,52053)),Promise.resolve().then(n.bind(n,90299)),Promise.resolve().then(n.bind(n,65514)),Promise.resolve().then(n.bind(n,98861)),Promise.resolve().then(n.bind(n,38476)),Promise.resolve().then(n.bind(n,74542)),Promise.resolve().then(n.bind(n,71350)),Promise.resolve().then(n.bind(n,39025)),Promise.resolve().then(n.bind(n,75368)),Promise.resolve().then(n.bind(n,89684)),Promise.resolve().then(n.bind(n,58057)),Promise.resolve().then(n.bind(n,6512)),Promise.resolve().then(n.bind(n,25051)),Promise.resolve().then(n.bind(n,4374)),Promise.resolve().then(n.bind(n,19345)),Promise.resolve().then(n.bind(n,79919)),Promise.resolve().then(n.bind(n,17533)),Promise.resolve().then(n.bind(n,99545)),Promise.resolve().then(n.bind(n,63197)),Promise.resolve().then(n.bind(n,65326)),Promise.resolve().then(n.bind(n,48218)),Promise.resolve().then(n.bind(n,56260)),Promise.resolve().then(n.bind(n,60322)),Promise.resolve().then(n.bind(n,79834)),Promise.resolve().then(n.bind(n,6947)),Promise.resolve().then(n.bind(n,88878)),Promise.resolve().then(n.bind(n,34857)),Promise.resolve().then(n.bind(n,97006)),Promise.resolve().then(n.bind(n,45841)),Promise.resolve().then(n.t.bind(n,12790,23)),Promise.resolve().then(n.bind(n,25936)),Promise.resolve().then(n.bind(n,89971)),Promise.resolve().then(n.bind(n,71831)),Promise.resolve().then(n.bind(n,76546))},15044:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(66206).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},25936:(e,t,n)=>{"use strict";n.d(t,{DocumentActions:()=>x});var r=n(90508),s=n(69386),o=n(1856),a=n(23675),i=n(39268),d=n(97413),l=n(85226),c=n(67587),m=n(22922),u=n(51817),h=n(52217);let p=(0,h.createServerReference)("402101d3400f71444c124e6ec47fe1d8c9918e668a",h.callServer,void 0,h.findSourceMapURL,"deleteDocumentAction");function v(e){let{documentUuid:t,documentTitle:n,projectUuid:s}=e,h=(0,i.c)("documents"),v=(0,i.c)("common"),x=(0,a.useRouter)(),[f,b]=o.useState(!1),[j,g]=o.useState(!1),[w,y]=o.useState(null),P=async()=>{g(!0),y(null);let e=await p(t);if(e.success){c.oR.success(h("deleteSuccess")),b(!1),g(!1),x.replace("/projects/".concat(e.projectUuid,"/documents")),x.refresh();return}let n="not_found"===e.error?h("deleteFailedNotFound"):h("deleteFailed");y(n),c.oR.error(n),g(!1)};return(0,r.jsxs)(u.Lt,{open:f,onOpenChange:e=>{!j&&(b(e),e||y(null))},children:[(0,r.jsx)(u.tv,{asChild:!0,children:(0,r.jsxs)(m.$,{variant:"destructive",size:"sm",children:[(0,r.jsx)(d.A,{className:"mr-2 h-4 w-4"}),v("delete")]})}),(0,r.jsxs)(u.EO,{children:[(0,r.jsxs)(u.wd,{children:[(0,r.jsx)(u.r7,{children:h("deleteDocument")}),(0,r.jsx)(u.$v,{children:h("deleteDocumentDescription",{title:n})})]}),w&&(0,r.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:w}),(0,r.jsxs)(u.ck,{children:[(0,r.jsx)(u.Zr,{disabled:j,children:v("cancel")}),(0,r.jsx)(m.$,{variant:"destructive",disabled:j,onClick:P,children:j?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.A,{className:"mr-2 h-4 w-4 animate-spin"}),v("delete")]}):v("delete")})]})]})]})}function x(e){let{documentUuid:t,projectUuid:n,documentTitle:o,canDelete:a,exportDoc:i}=e;return(0,r.jsxs)("div",{className:"flex gap-2",children:[i?(0,r.jsx)(s.E,{document:i}):(0,r.jsx)(s.E,{documentUuid:t}),a&&(0,r.jsx)(v,{documentUuid:t,documentTitle:o,projectUuid:n})]})}},66343:(e,t,n)=>{"use strict";n.d(t,{SQ:()=>d,_2:()=>l,mB:()=>c,rI:()=>a,ty:()=>i});var r=n(90508);n(1856);var s=n(39025),o=n(24377);function a(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"dropdown-menu",...t})}function i(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function d(e){let{className:t,sideOffset:n=4,...a}=e;return(0,r.jsx)(s.Portal,{children:(0,r.jsx)(s.Content,{"data-slot":"dropdown-menu-content",sideOffset:n,className:(0,o.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",t),...a})})}function l(e){let{className:t,inset:n,variant:a="default",...i}=e;return(0,r.jsx)(s.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":a,className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",t),...i})}function c(e){let{className:t,...n}=e;return(0,r.jsx)(s.Separator,{"data-slot":"dropdown-menu-separator",className:(0,o.cn)("bg-border -mx-1 my-1 h-px",t),...n})}},69386:(e,t,n)=>{"use strict";n.d(t,{E:()=>v});var r=n(90508),s=n(1856),o=n(67587),a=n(56770),i=n(6841),d=n(6493),l=n(85226),c=n(15044),m=n(39268),u=n(66343),h=n(22922),p=n(67712);function v(e){let{document:t,documentUuid:v,variant:x="default"}=e,f=(0,m.c)(),{exportDocument:b,isExporting:j,exportError:g}=function(){let[e,t]=(0,s.useState)(!1),[r,o]=(0,s.useState)(null);return{exportDocument:(0,s.useCallback)(async(e,r)=>{t(!0),o(null);try{let t,o,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===r){let{exportAsMarkdownBlob:r}=await n.e(50681).then(n.bind(n,50681));t=r(e),o="md"}else if("pdf"===r){let{exportAsPdf:r}=await n.e(34966).then(n.bind(n,34966));t=await r(e),o="pdf"}else if("docx"===r){let{exportAsDocx:r}=await n.e(9634).then(n.bind(n,9634));t=await r(e),o="docx"}else throw Error("Unsupported export format: ".concat(String(r)));var s=t,a="".concat(i,".").concat(o);let d=URL.createObjectURL(s),l=document.createElement("a");l.href=d,l.download=a,l.rel="noopener",l.style.display="none",document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(d),1e3)}catch(e){o(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:r}}(),[w,y]=(0,s.useState)(null);async function P(e){y(e);try{let d=t;if(!d&&v){var n,r,s,a,i;let e=await fetch("/api/documents/".concat(v)),t=await e.json();if(!t.success||!t.data)return void o.oR.error(f("export.exportError"));let l=t.data;d={title:l.title,content:null!=(s=l.content)?s:"",type:l.type,version:l.version,createdAt:l.createdAt,updatedAt:l.updatedAt,createdByName:null!=(a=null==(n=l.createdBy)?void 0:n.name)?a:"",projectName:null!=(i=null==(r=l.project)?void 0:r.name)?i:""}}d&&await b(d,e)}finally{y(null),g&&o.oR.error(g)}}let k=[{format:"md",labelKey:"export.formatMd",icon:a.A},{format:"pdf",labelKey:"export.formatPdf",icon:i.A},{format:"docx",labelKey:"export.formatDocx",icon:d.A}],A="compact"===x;return(0,r.jsxs)(u.rI,{children:[(0,r.jsx)(u.ty,{asChild:!0,children:(0,r.jsxs)(h.$,{variant:"ghost"===x?"ghost":"outline",size:A?"sm":"default",className:A?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:j,children:[j?(0,r.jsx)(l.A,{className:"".concat(A?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,r.jsx)(c.A,{className:A?"h-3 w-3":"h-4 w-4"}),!A&&f("export.exportDocument")]})}),(0,r.jsx)(u.SQ,{align:"end",className:"w-48",children:k.map(e=>{let{format:t,labelKey:n,icon:s}=e;return(0,r.jsxs)(u._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),P(t)},disabled:j,children:[w===t?(0,r.jsx)(l.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(s,{className:"h-4 w-4"}),f(n)]},t)})})]})}},71831:(e,t,n)=>{"use strict";n.d(t,{DocumentContent:()=>u});var r=n(90508),s=n(1856),o=n(23675),a=n(39268),i=n(97261),d=n(48416),l=n(22922),c=n(52217);let m=(0,c.createServerReference)("701d1729a6df03b5c70ed36379a3e8407c18ef0cbb",c.callServer,void 0,c.findSourceMapURL,"updateDocumentAction");function u(e){let{documentUuid:t,projectUuid:n,initialContent:c}=e,u=(0,a.c)(),h=(0,o.useRouter)(),[p,v]=(0,s.useState)(!1),[x,f]=(0,s.useState)(c),[b,j]=(0,s.useTransition)();return(0,r.jsxs)(d.Zp,{className:"flex-1 overflow-auto border-[#E5E0D8] p-6",children:[(0,r.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-lg font-medium text-[#2C2C2C]",children:u("common.content")}),p?(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(l.$,{variant:"outline",onClick:()=>{f(c),v(!1)},disabled:b,className:"border-[#E5E0D8] text-[#6B6B6B]",children:u("common.cancel")}),(0,r.jsx)(l.$,{onClick:()=>{j(async()=>{(await m(t,n,x)).success&&(v(!1),h.refresh())})},disabled:b,className:"bg-[#5A9E6F] hover:bg-[#4A8E5F] text-white",children:u(b?"common.processing":"documents.saveChanges")})]}):(0,r.jsxs)(l.$,{onClick:()=>v(!0),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"mr-2 h-4 w-4",children:(0,r.jsx)("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"})}),u("common.edit")]})]}),p?(0,r.jsx)("textarea",{value:x,onChange:e=>f(e.target.value),className:"h-full w-full resize-none rounded-lg border border-[#E5E0D8] p-4 font-mono text-sm focus:border-[#C67A52] focus:outline-none focus:ring-1 focus:ring-[#C67A52]",placeholder:u("documents.documentContent")}):(0,r.jsx)("div",{className:"prose prose-sm max-w-none text-[#2C2C2C]",children:c?(0,r.jsx)(i.MarkdownContent,{children:c}):(0,r.jsx)("span",{className:"text-[#9A9A9A] italic",children:u("common.noContent")})})]})}},76546:(e,t,n)=>{"use strict";n.d(t,{FormattedDateTime:()=>o});var r=n(90508),s=n(38106);function o(e){let{date:t}=e;return(0,r.jsx)(r.Fragment,{children:(0,s.r)(t)})}},89971:(e,t,n)=>{"use strict";n.d(t,{DocumentComments:()=>o});var r=n(90508),s=n(57362);function o(e){let{documentUuid:t,currentUserUuid:n}=e;return(0,r.jsx)(s.$m,{targetType:"document",targetUuid:t,currentUserUuid:n,compact:!0})}}},e=>{e.O(0,[93151,41752,30996,57084,12079,18944,12790,26885,58037,71350,30724,27201,16551,97784,14753,89644,45532,70552,15183,38296,27378,64187,16467,84169,57362,74951,65496,77358],()=>e(e.s=12294)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{14554:(e,t,n)=>{"use strict";n.d(t,{p:()=>s});var r=n(90508);n(1856);var a=n(24377);function s(e){let{className:t,type:n,...s}=e;return(0,r.jsx)("input",{type:n,"data-slot":"input",className:(0,a.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),...s})}},22922:(e,t,n)=>{"use strict";n.d(t,{$:()=>l});var r=n(90508);n(1856);var a=n(49499),s=n(54154),o=n(24377);let i=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:n="default",size:a="default",asChild:l=!1,...d}=e,c=l?s.bL:"button";return(0,r.jsx)(c,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,o.cn)(i({variant:n,size:a,className:t})),...d})}},24377:(e,t,n)=>{"use strict";n.d(t,{cn:()=>s});var r=n(49251),a=n(58849);function s(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{"use strict";n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{"use strict";function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(s,":").concat(o)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},47754:(e,t,n)=>{"use strict";n.d(t,{fv:()=>x,xQ:()=>g});var r=n(1856),a=n(63964);let s=new Map,o=new Map,i=new Map,l=new Set,d=0;function c(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){d++,l.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=c(e.entityType,e.entityUuid,n,r),l=function(e,t,n,r,a){let s=c(e,t,r,a);return"".concat(s,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),d=o.get(l);if(d&&Date.now()-d<3e3)return;o.set(l,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),s.set(a,f);let p=i.get(l);p&&clearTimeout(p);let x=setTimeout(()=>{let t=s.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?s.delete(a):s.set(a,n)}o.delete(l),i.delete(l),u()},3e3);i.set(l,x),u()}function f(){return d}function p(e){return l.add(e),()=>{l.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function g(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=s.get(c(e,t,n,r)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,n)=>{"use strict";n.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>i,Zp:()=>s,aR:()=>o});var r=n(90508);n(1856);var a=n(24377);function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function d(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},55160:(e,t,n)=>{"use strict";n.d(t,{CreateDocumentDialog:()=>h});var r=n(90508),a=n(1856),s=n(23675),o=n(39268),i=n(5616),l=n(56770),d=n(78853),c=n(85226),u=n(22922),m=n(14554),f=n(88064),p=n(97438),x=n(91846),g=n(52217);let v=(0,g.createServerReference)("407a1279d865f4239ab11a5b83770f955afd0cf2f5",g.callServer,void 0,g.findSourceMapURL,"createDocumentAction");function h(e){let{projectUuid:t,trigger:n}=e,g=(0,o.c)(),h=(0,s.useRouter)(),b=(0,a.useRef)(null),[y,j]=(0,a.useState)(!1),[w,N]=(0,a.useState)(""),[C,A]=(0,a.useState)("prd"),[E,k]=(0,a.useState)(null),[P,S]=(0,a.useState)(""),[z,D]=(0,a.useState)(null),[F,U]=(0,a.useState)(!1),_=()=>{N(""),A("prd"),k(null),S(""),D(null),b.current&&(b.current.value="")},R=async()=>{if(!w.trim())return void D(g("documents.titleRequired"));U(!0),D(null);let e=await v({projectUuid:t,title:w.trim(),type:C,content:P});U(!1),e.success?(j(!1),_(),h.refresh(),e.documentUuid&&h.push("/projects/".concat(t,"/documents/").concat(e.documentUuid))):D(e.error||g("documents.createFailed"))};return(0,r.jsxs)(p.lG,{open:y,onOpenChange:e=>{j(e),e||_()},children:[(0,r.jsx)(p.zM,{asChild:!0,children:n||(0,r.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4"}),g("documents.newDocument")]})}),(0,r.jsxs)(p.Cf,{className:"sm:max-w-[480px]",children:[(0,r.jsx)(p.c7,{children:(0,r.jsx)(p.L3,{children:g("documents.createDocument")})}),(0,r.jsxs)("div",{className:"space-y-4 py-2",children:[z&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:z}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)(f.J,{htmlFor:"doc-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:[g("documents.titleLabel")," *"]}),(0,r.jsx)(m.p,{id:"doc-title",value:w,onChange:e=>N(e.target.value),placeholder:g("documents.titlePlaceholder"),className:"border-[#E5E0D8] focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(f.J,{htmlFor:"doc-type",className:"text-[13px] font-medium text-[#2C2C2C]",children:g("documents.typeLabel")}),(0,r.jsxs)(x.l6,{value:C,onValueChange:A,children:[(0,r.jsx)(x.bq,{className:"border-[#E5E0D8] focus:ring-[#C67A52]",children:(0,r.jsx)(x.yv,{})}),(0,r.jsxs)(x.gC,{children:[(0,r.jsx)(x.eb,{value:"prd",children:"PRD"}),(0,r.jsx)(x.eb,{value:"spec",children:"Spec"}),(0,r.jsx)(x.eb,{value:"design",children:"Design"}),(0,r.jsx)(x.eb,{value:"note",children:"Note"}),(0,r.jsx)(x.eb,{value:"other",children:"Other"})]})]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(f.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:g("documents.uploadMarkdown")}),(0,r.jsx)("div",{className:"flex cursor-pointer items-center gap-3 rounded-lg border border-dashed border-[#E5E0D8] p-4 transition-colors hover:border-[#C67A52] hover:bg-[#FFFBF8]",onClick:()=>{var e;return null==(e=b.current)?void 0:e.click()},children:E?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C] truncate",children:E}),(0,r.jsxs)("p",{className:"text-xs text-[#9A9A9A]",children:[P.length.toLocaleString()," ",g("documents.characters")]})]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:"h-5 w-5 text-[#9A9A9A]"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:g("documents.clickToUpload")}),(0,r.jsx)("p",{className:"text-xs text-[#9A9A9A]",children:".md, .txt, .markdown"})]})]})}),(0,r.jsx)("input",{ref:b,type:"file",accept:".md,.txt,.markdown",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];if(!n)return;k(n.name);let r=new FileReader;r.onload=e=>{var t;S(null==(t=e.target)?void 0:t.result)},r.readAsText(n)},className:"hidden"})]})]}),(0,r.jsxs)(p.Es,{children:[(0,r.jsx)(u.$,{variant:"outline",onClick:()=>j(!1),disabled:F,className:"border-[#E5E0D8]",children:g("common.cancel")}),(0,r.jsx)(u.$,{onClick:R,disabled:F||!w.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:F?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),g("common.creating")]}):g("common.create")})]})]})]})}},57731:(e,t,n)=>{"use strict";n.d(t,{E:()=>l});var r=n(90508);n(1856);var a=n(49499),s=n(54154),o=n(24377);let i=(0,a.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:n="default",asChild:a=!1,...l}=e,d=a?s.bL:"span";return(0,r.jsx)(d,{"data-slot":"badge","data-variant":n,className:(0,o.cn)(i({variant:n}),t),...l})}},58866:(e,t,n)=>{"use strict";n.d(t,{AnimatedEmptyState:()=>s});var r=n(90508),a=n(16544);function s(e){let{children:t}=e;return(0,r.jsx)(a.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},63964:(e,t,n)=>{"use strict";n.d(t,{S2:()=>d,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>c});var r=n(90508),a=n(1856);n(23675);let s=(0,a.createContext)(null);function o(e){let{projectUuid:t,children:n}=e,o=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),l=(0,a.useRef)(new Set),d=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{o.current.forEach(e=>e())},[]),u=(0,a.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function s(){o(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void l.current.forEach(e=>e(n));if("execution"===n.type)return void d.current.forEach(e=>e(n));let s=n;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-i));let m=s.entityType;clearTimeout(a[m]),a[m]=setTimeout(()=>{u(s)},300)},n.onerror=()=>{}}function o(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(s(),c(),["task","idea","proposal","document","project","project_group"]))u({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return s(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",i)}},[t,c,u]);let m=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),x=(0,a.useCallback)(e=>(d.current.add(e),()=>{d.current.delete(e)}),[]),g=(0,a.useMemo)(()=>({subscribe:m,subscribeEntity:f,subscribePresence:p,subscribeExecution:x}),[m,f,p,x]);return(0,r.jsx)(s.Provider,{value:g,children:n})}function i(e){let t=(0,a.useContext)(s),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function l(e,t){let n=(0,a.useContext)(s),r=(0,a.useRef)(t);r.current=t;let o=(0,a.useRef)(e);o.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function d(e){let t=(0,a.useContext)(s),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function c(e,t,n){let r=(0,a.useContext)(s),o=(0,a.useRef)(n);o.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&o.current(n)})},[r,e,t])}},66343:(e,t,n)=>{"use strict";n.d(t,{SQ:()=>l,_2:()=>d,mB:()=>c,rI:()=>o,ty:()=>i});var r=n(90508);n(1856);var a=n(39025),s=n(24377);function o(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"dropdown-menu",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function l(e){let{className:t,sideOffset:n=4,...o}=e;return(0,r.jsx)(a.Portal,{children:(0,r.jsx)(a.Content,{"data-slot":"dropdown-menu-content",sideOffset:n,className:(0,s.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",t),...o})})}function d(e){let{className:t,inset:n,variant:o="default",...i}=e;return(0,r.jsx)(a.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":o,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",t),...i})}function c(e){let{className:t,...n}=e;return(0,r.jsx)(a.Separator,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("bg-border -mx-1 my-1 h-px",t),...n})}},67712:(e,t,n)=>{"use strict";n.d(t,{q:()=>i});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},s=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return a[e]>=a[s]}let i={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("error")&&console.error("[Chorus] ".concat(e),...n)}}},69386:(e,t,n)=>{"use strict";n.d(t,{E:()=>x});var r=n(90508),a=n(1856),s=n(67587),o=n(56770),i=n(6841),l=n(6493),d=n(85226),c=n(15044),u=n(39268),m=n(66343),f=n(22922),p=n(67712);function x(e){let{document:t,documentUuid:x,variant:g="default"}=e,v=(0,u.c)(),{exportDocument:h,isExporting:b,exportError:y}=function(){let[e,t]=(0,a.useState)(!1),[r,s]=(0,a.useState)(null);return{exportDocument:(0,a.useCallback)(async(e,r)=>{t(!0),s(null);try{let t,s,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===r){let{exportAsMarkdownBlob:r}=await n.e(50681).then(n.bind(n,50681));t=r(e),s="md"}else if("pdf"===r){let{exportAsPdf:r}=await n.e(34966).then(n.bind(n,34966));t=await r(e),s="pdf"}else if("docx"===r){let{exportAsDocx:r}=await n.e(9634).then(n.bind(n,9634));t=await r(e),s="docx"}else throw Error("Unsupported export format: ".concat(String(r)));var a=t,o="".concat(i,".").concat(s);let l=URL.createObjectURL(a),d=document.createElement("a");d.href=l,d.download=o,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(l),1e3)}catch(e){s(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:r}}(),[j,w]=(0,a.useState)(null);async function N(e){w(e);try{let l=t;if(!l&&x){var n,r,a,o,i;let e=await fetch("/api/documents/".concat(x)),t=await e.json();if(!t.success||!t.data)return void s.oR.error(v("export.exportError"));let d=t.data;l={title:d.title,content:null!=(a=d.content)?a:"",type:d.type,version:d.version,createdAt:d.createdAt,updatedAt:d.updatedAt,createdByName:null!=(o=null==(n=d.createdBy)?void 0:n.name)?o:"",projectName:null!=(i=null==(r=d.project)?void 0:r.name)?i:""}}l&&await h(l,e)}finally{w(null),y&&s.oR.error(y)}}let C=[{format:"md",labelKey:"export.formatMd",icon:o.A},{format:"pdf",labelKey:"export.formatPdf",icon:i.A},{format:"docx",labelKey:"export.formatDocx",icon:l.A}],A="compact"===g;return(0,r.jsxs)(m.rI,{children:[(0,r.jsx)(m.ty,{asChild:!0,children:(0,r.jsxs)(f.$,{variant:"ghost"===g?"ghost":"outline",size:A?"sm":"default",className:A?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:b,children:[b?(0,r.jsx)(d.A,{className:"".concat(A?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,r.jsx)(c.A,{className:A?"h-3 w-3":"h-4 w-4"}),!A&&v("export.exportDocument")]})}),(0,r.jsx)(m.SQ,{align:"end",className:"w-48",children:C.map(e=>{let{format:t,labelKey:n,icon:a}=e;return(0,r.jsxs)(m._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),N(t)},disabled:b,children:[j===t?(0,r.jsx)(d.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(a,{className:"h-4 w-4"}),v(n)]},t)})})]})}},86108:(e,t,n)=>{Promise.resolve().then(n.bind(n,52053)),Promise.resolve().then(n.bind(n,90299)),Promise.resolve().then(n.bind(n,65514)),Promise.resolve().then(n.bind(n,98861)),Promise.resolve().then(n.bind(n,38476)),Promise.resolve().then(n.bind(n,74542)),Promise.resolve().then(n.bind(n,71350)),Promise.resolve().then(n.bind(n,39025)),Promise.resolve().then(n.bind(n,75368)),Promise.resolve().then(n.bind(n,89684)),Promise.resolve().then(n.bind(n,58057)),Promise.resolve().then(n.bind(n,6512)),Promise.resolve().then(n.bind(n,25051)),Promise.resolve().then(n.bind(n,4374)),Promise.resolve().then(n.bind(n,19345)),Promise.resolve().then(n.bind(n,79919)),Promise.resolve().then(n.bind(n,17533)),Promise.resolve().then(n.bind(n,99545)),Promise.resolve().then(n.bind(n,63197)),Promise.resolve().then(n.bind(n,65326)),Promise.resolve().then(n.bind(n,48218)),Promise.resolve().then(n.bind(n,56260)),Promise.resolve().then(n.bind(n,60322)),Promise.resolve().then(n.bind(n,79834)),Promise.resolve().then(n.bind(n,6947)),Promise.resolve().then(n.bind(n,88878)),Promise.resolve().then(n.bind(n,34857)),Promise.resolve().then(n.bind(n,97006)),Promise.resolve().then(n.bind(n,45841)),Promise.resolve().then(n.t.bind(n,12790,23)),Promise.resolve().then(n.bind(n,55160)),Promise.resolve().then(n.bind(n,99917)),Promise.resolve().then(n.bind(n,58866))},88064:(e,t,n)=>{"use strict";n.d(t,{J:()=>o});var r=n(90508);n(1856);var a=n(58057),s=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)(a.Root,{"data-slot":"label",className:(0,s.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),...n})}},91846:(e,t,n)=>{"use strict";n.d(t,{bq:()=>u,eb:()=>f,gC:()=>m,l6:()=>d,yv:()=>c});var r=n(90508);n(1856);var a=n(17730),s=n(60532),o=n(89967),i=n(48218),l=n(24377);function d(e){let{...t}=e;return(0,r.jsx)(i.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,r.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:n="default",children:s,...o}=e;return(0,r.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":n,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),...o,children:[s,(0,r.jsx)(i.Icon,{asChild:!0,children:(0,r.jsx)(a.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:n,position:a="item-aligned",align:s="center",...o}=e;return(0,r.jsx)(i.Portal,{children:(0,r.jsxs)(i.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"===a&&"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:a,align:s,...o,children:[(0,r.jsx)(p,{}),(0,r.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),(0,r.jsx)(x,{})]})})}function f(e){let{className:t,children:n,...a}=e;return(0,r.jsxs)(i.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),...a,children:[(0,r.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(i.ItemIndicator,{children:(0,r.jsx)(s.A,{className:"size-4"})})}),(0,r.jsx)(i.ItemText,{children:n})]})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,r.jsx)(o.A,{className:"size-4"})})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,r.jsx)(a.A,{className:"size-4"})})}},96213:(e,t,n)=>{"use strict";n.d(t,{D:()=>i});var r=n(90508),a=n(47754),s=n(30423),o=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:o,subEntityUuid:i,children:d,badgeInside:c}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,o,i),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,g=x?(0,s.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(g),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(c?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(l,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),d]})}function l(e){let{entry:t}=e,n=(0,s.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(o.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97438:(e,t,n)=>{"use strict";n.d(t,{Cf:()=>m,Es:()=>p,L3:()=>x,c7:()=>f,lG:()=>l,rr:()=>g,zM:()=>d});var r=n(90508);n(1856);var a=n(9160),s=n(71350),o=n(24377),i=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...n}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function m(e){let{className:t,overlayClassName:n,children:i,showCloseButton:l=!0,...d}=e;return(0,r.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,r.jsx)(u,{className:n}),(0,r.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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),...d,children:[i,l&&(0,r.jsxs)(s.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,r.jsx)(a.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...n})}function p(e){let{className:t,showCloseButton:n=!1,children:a,...l}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[a,n&&(0,r.jsx)(s.Close,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...n})}function g(e){let{className:t,...n}=e;return(0,r.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}},99917:(e,t,n)=>{"use strict";n.d(t,{DocumentGrid:()=>h});var r=n(90508),a=n(12790),s=n.n(a),o=n(48416),i=n(57731),l=n(56770),d=n(39268),c=n(96213),u=n(69386),m=n(38106),f=n(71921),p=n(15584),x=n(59551),g=n(75320);let v={prd:{labelKey:"documents.typePrd",color:"bg-[#E3F2FD] text-[#1976D2]",icon:f.A},spec:{labelKey:"documents.typeSpec",color:"bg-[#E8F5E9] text-[#5A9E6F]",icon:p.A},design:{labelKey:"documents.typeDesign",color:"bg-[#F3E5F5] text-[#7B1FA2]",icon:x.A},note:{labelKey:"documents.typeNote",color:"bg-[#FFF3E0] text-[#E65100]",icon:g.A},report:{labelKey:"documents.typeReport",color:"bg-[#FFF8E1] text-[#9A6B00]",icon:l.A},other:{labelKey:"documents.typeOther",color:"bg-[#F5F5F5] text-[#6B6B6B]",icon:l.A}};function h(e){let{documents:t,projectUuid:n}=e,a=(0,d.c)();return(0,r.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:t.map(e=>{let t=v[e.type],d=(null==t?void 0:t.icon)||l.A;return(0,r.jsx)(c.D,{entityType:"document",entityUuid:e.uuid,children:(0,r.jsxs)(o.Zp,{className:"group relative flex flex-col border-[#E5E0D8] transition-all hover:border-[#C67A52] hover:shadow-md",children:[(0,r.jsx)(s(),{href:"/projects/".concat(n,"/documents/").concat(e.uuid),className:"flex flex-1 flex-col p-5 pb-0",children:(0,r.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,r.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[#F5F2EC]",children:(0,r.jsx)(d,{className:"h-5 w-5 text-[#6B6B6B]"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("h3",{className:"font-medium text-[#2C2C2C] leading-snug group-hover:text-[#C67A52] line-clamp-2",children:e.title}),(0,r.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-[#9A9A9A]",children:[(0,r.jsxs)("span",{children:["v",e.version]}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:a("documents.updated",{date:(0,m.r)(e.updatedAt)})})]})]})]})}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-t border-[#F5F2EC] px-5 py-2.5",children:[(0,r.jsx)(i.E,{className:"text-[11px] ".concat((null==t?void 0:t.color)||""),children:a((null==t?void 0:t.labelKey)||"documents.typeOther")}),(0,r.jsx)("div",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,r.jsx)(u.E,{documentUuid:e.uuid,variant:"compact"})})]})]})},e.uuid)})})}}},e=>{e.O(0,[12079,18944,12790,71350,16544,89644,26394,27378,16467,20081,74951,65496,77358],()=>e(e.s=86108)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{14554:(e,t,n)=>{"use strict";n.d(t,{p:()=>s});var r=n(90508);n(1856);var a=n(24377);function s(e){let{className:t,type:n,...s}=e;return(0,r.jsx)("input",{type:n,"data-slot":"input",className:(0,a.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),...s})}},20953:(e,t,n)=>{"use strict";n.d(t,{CreateDocumentDialog:()=>h});var r=n(90508),a=n(1856),s=n(23675),o=n(39268),i=n(5616),l=n(56770),d=n(78853),c=n(85226),u=n(22922),m=n(14554),f=n(88064),p=n(97438),x=n(91846),g=n(52217);let v=(0,g.createServerReference)("4091489f73e2e6f102eb2e384eeffc34dd9ec110fe",g.callServer,void 0,g.findSourceMapURL,"createDocumentAction");function h(e){let{projectUuid:t,trigger:n}=e,g=(0,o.c)(),h=(0,s.useRouter)(),b=(0,a.useRef)(null),[y,j]=(0,a.useState)(!1),[w,N]=(0,a.useState)(""),[C,A]=(0,a.useState)("prd"),[E,k]=(0,a.useState)(null),[P,S]=(0,a.useState)(""),[z,D]=(0,a.useState)(null),[F,U]=(0,a.useState)(!1),_=()=>{N(""),A("prd"),k(null),S(""),D(null),b.current&&(b.current.value="")},R=async()=>{if(!w.trim())return void D(g("documents.titleRequired"));U(!0),D(null);let e=await v({projectUuid:t,title:w.trim(),type:C,content:P});U(!1),e.success?(j(!1),_(),h.refresh(),e.documentUuid&&h.push("/projects/".concat(t,"/documents/").concat(e.documentUuid))):D(e.error||g("documents.createFailed"))};return(0,r.jsxs)(p.lG,{open:y,onOpenChange:e=>{j(e),e||_()},children:[(0,r.jsx)(p.zM,{asChild:!0,children:n||(0,r.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4"}),g("documents.newDocument")]})}),(0,r.jsxs)(p.Cf,{className:"sm:max-w-[480px]",children:[(0,r.jsx)(p.c7,{children:(0,r.jsx)(p.L3,{children:g("documents.createDocument")})}),(0,r.jsxs)("div",{className:"space-y-4 py-2",children:[z&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:z}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)(f.J,{htmlFor:"doc-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:[g("documents.titleLabel")," *"]}),(0,r.jsx)(m.p,{id:"doc-title",value:w,onChange:e=>N(e.target.value),placeholder:g("documents.titlePlaceholder"),className:"border-[#E5E0D8] focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(f.J,{htmlFor:"doc-type",className:"text-[13px] font-medium text-[#2C2C2C]",children:g("documents.typeLabel")}),(0,r.jsxs)(x.l6,{value:C,onValueChange:A,children:[(0,r.jsx)(x.bq,{className:"border-[#E5E0D8] focus:ring-[#C67A52]",children:(0,r.jsx)(x.yv,{})}),(0,r.jsxs)(x.gC,{children:[(0,r.jsx)(x.eb,{value:"prd",children:"PRD"}),(0,r.jsx)(x.eb,{value:"spec",children:"Spec"}),(0,r.jsx)(x.eb,{value:"design",children:"Design"}),(0,r.jsx)(x.eb,{value:"note",children:"Note"}),(0,r.jsx)(x.eb,{value:"other",children:"Other"})]})]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(f.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:g("documents.uploadMarkdown")}),(0,r.jsx)("div",{className:"flex cursor-pointer items-center gap-3 rounded-lg border border-dashed border-[#E5E0D8] p-4 transition-colors hover:border-[#C67A52] hover:bg-[#FFFBF8]",onClick:()=>{var e;return null==(e=b.current)?void 0:e.click()},children:E?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C] truncate",children:E}),(0,r.jsxs)("p",{className:"text-xs text-[#9A9A9A]",children:[P.length.toLocaleString()," ",g("documents.characters")]})]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.A,{className:"h-5 w-5 text-[#9A9A9A]"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:g("documents.clickToUpload")}),(0,r.jsx)("p",{className:"text-xs text-[#9A9A9A]",children:".md, .txt, .markdown"})]})]})}),(0,r.jsx)("input",{ref:b,type:"file",accept:".md,.txt,.markdown",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];if(!n)return;k(n.name);let r=new FileReader;r.onload=e=>{var t;S(null==(t=e.target)?void 0:t.result)},r.readAsText(n)},className:"hidden"})]})]}),(0,r.jsxs)(p.Es,{children:[(0,r.jsx)(u.$,{variant:"outline",onClick:()=>j(!1),disabled:F,className:"border-[#E5E0D8]",children:g("common.cancel")}),(0,r.jsx)(u.$,{onClick:R,disabled:F||!w.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:F?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),g("common.creating")]}):g("common.create")})]})]})]})}},22922:(e,t,n)=>{"use strict";n.d(t,{$:()=>l});var r=n(90508);n(1856);var a=n(49499),s=n(54154),o=n(24377);let i=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:n="default",size:a="default",asChild:l=!1,...d}=e,c=l?s.bL:"button";return(0,r.jsx)(c,{"data-slot":"button","data-variant":n,"data-size":a,className:(0,o.cn)(i({variant:n,size:a,className:t})),...d})}},24377:(e,t,n)=>{"use strict";n.d(t,{cn:()=>s});var r=n(49251),a=n(58849);function s(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,r.$)(t))}},30423:(e,t,n)=>{"use strict";n.d(t,{j:()=>a});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{"use strict";function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(s,":").concat(o)}function a(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>a})},47754:(e,t,n)=>{"use strict";n.d(t,{fv:()=>x,xQ:()=>g});var r=n(1856),a=n(63964);let s=new Map,o=new Map,i=new Map,l=new Set,d=0;function c(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function u(){d++,l.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,a=c(e.entityType,e.entityUuid,n,r),l=function(e,t,n,r,a){let s=c(e,t,r,a);return"".concat(s,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),d=o.get(l);if(d&&Date.now()-d<3e3)return;o.set(l,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),s.set(a,f);let p=i.get(l);p&&clearTimeout(p);let x=setTimeout(()=>{let t=s.get(a);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?s.delete(a):s.set(a,n)}o.delete(l),i.delete(l),u()},3e3);i.set(l,x),u()}function f(){return d}function p(e){return l.add(e),()=>{l.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function g(){return(0,r.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var a;return null!=(a=s.get(c(e,t,n,r)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,n)=>{"use strict";n.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>i,Zp:()=>s,aR:()=>o});var r=n(90508);n(1856);var a=n(24377);function s(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function o(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...n})}function l(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...n})}function d(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...n})}},57731:(e,t,n)=>{"use strict";n.d(t,{E:()=>l});var r=n(90508);n(1856);var a=n(49499),s=n(54154),o=n(24377);let i=(0,a.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:n="default",asChild:a=!1,...l}=e,d=a?s.bL:"span";return(0,r.jsx)(d,{"data-slot":"badge","data-variant":n,className:(0,o.cn)(i({variant:n}),t),...l})}},58866:(e,t,n)=>{"use strict";n.d(t,{AnimatedEmptyState:()=>s});var r=n(90508),a=n(16544);function s(e){let{children:t}=e;return(0,r.jsx)(a.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},63964:(e,t,n)=>{"use strict";n.d(t,{S2:()=>d,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>c});var r=n(90508),a=n(1856);n(23675);let s=(0,a.createContext)(null);function o(e){let{projectUuid:t,children:n}=e,o=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),l=(0,a.useRef)(new Set),d=(0,a.useRef)(new Set),c=(0,a.useCallback)(()=>{o.current.forEach(e=>e())},[]),u=(0,a.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,a.useEffect)(()=>{let e,n=null,r=0,a={};function s(){o(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void l.current.forEach(e=>e(n));if("execution"===n.type)return void d.current.forEach(e=>e(n));let s=n;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-i));let m=s.entityType;clearTimeout(a[m]),a[m]=setTimeout(()=>{u(s)},300)},n.onerror=()=>{}}function o(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(s(),c(),["task","idea","proposal","document","project","project_group"]))u({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return s(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),a)clearTimeout(a[t]);document.removeEventListener("visibilitychange",i)}},[t,c,u]);let m=(0,a.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),x=(0,a.useCallback)(e=>(d.current.add(e),()=>{d.current.delete(e)}),[]),g=(0,a.useMemo)(()=>({subscribe:m,subscribeEntity:f,subscribePresence:p,subscribeExecution:x}),[m,f,p,x]);return(0,r.jsx)(s.Provider,{value:g,children:n})}function i(e){let t=(0,a.useContext)(s),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function l(e,t){let n=(0,a.useContext)(s),r=(0,a.useRef)(t);r.current=t;let o=(0,a.useRef)(e);o.current=e,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function d(e){let t=(0,a.useContext)(s),n=(0,a.useRef)(e);n.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function c(e,t,n){let r=(0,a.useContext)(s),o=(0,a.useRef)(n);o.current=n,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&o.current(n)})},[r,e,t])}},66343:(e,t,n)=>{"use strict";n.d(t,{SQ:()=>l,_2:()=>d,mB:()=>c,rI:()=>o,ty:()=>i});var r=n(90508);n(1856);var a=n(39025),s=n(24377);function o(e){let{...t}=e;return(0,r.jsx)(a.Root,{"data-slot":"dropdown-menu",...t})}function i(e){let{...t}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function l(e){let{className:t,sideOffset:n=4,...o}=e;return(0,r.jsx)(a.Portal,{children:(0,r.jsx)(a.Content,{"data-slot":"dropdown-menu-content",sideOffset:n,className:(0,s.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",t),...o})})}function d(e){let{className:t,inset:n,variant:o="default",...i}=e;return(0,r.jsx)(a.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":o,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",t),...i})}function c(e){let{className:t,...n}=e;return(0,r.jsx)(a.Separator,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("bg-border -mx-1 my-1 h-px",t),...n})}},67712:(e,t,n)=>{"use strict";n.d(t,{q:()=>i});var r=n(55036);let a={debug:0,info:1,warn:2,error:3},s=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return a[e]>=a[s]}let i={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o("error")&&console.error("[Chorus] ".concat(e),...n)}}},69386:(e,t,n)=>{"use strict";n.d(t,{E:()=>x});var r=n(90508),a=n(1856),s=n(67587),o=n(56770),i=n(6841),l=n(6493),d=n(85226),c=n(15044),u=n(39268),m=n(66343),f=n(22922),p=n(67712);function x(e){let{document:t,documentUuid:x,variant:g="default"}=e,v=(0,u.c)(),{exportDocument:h,isExporting:b,exportError:y}=function(){let[e,t]=(0,a.useState)(!1),[r,s]=(0,a.useState)(null);return{exportDocument:(0,a.useCallback)(async(e,r)=>{t(!0),s(null);try{let t,s,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===r){let{exportAsMarkdownBlob:r}=await n.e(50681).then(n.bind(n,50681));t=r(e),s="md"}else if("pdf"===r){let{exportAsPdf:r}=await n.e(34966).then(n.bind(n,34966));t=await r(e),s="pdf"}else if("docx"===r){let{exportAsDocx:r}=await n.e(9634).then(n.bind(n,9634));t=await r(e),s="docx"}else throw Error("Unsupported export format: ".concat(String(r)));var a=t,o="".concat(i,".").concat(s);let l=URL.createObjectURL(a),d=document.createElement("a");d.href=l,d.download=o,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(l),1e3)}catch(e){s(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:r}}(),[j,w]=(0,a.useState)(null);async function N(e){w(e);try{let l=t;if(!l&&x){var n,r,a,o,i;let e=await fetch("/api/documents/".concat(x)),t=await e.json();if(!t.success||!t.data)return void s.oR.error(v("export.exportError"));let d=t.data;l={title:d.title,content:null!=(a=d.content)?a:"",type:d.type,version:d.version,createdAt:d.createdAt,updatedAt:d.updatedAt,createdByName:null!=(o=null==(n=d.createdBy)?void 0:n.name)?o:"",projectName:null!=(i=null==(r=d.project)?void 0:r.name)?i:""}}l&&await h(l,e)}finally{w(null),y&&s.oR.error(y)}}let C=[{format:"md",labelKey:"export.formatMd",icon:o.A},{format:"pdf",labelKey:"export.formatPdf",icon:i.A},{format:"docx",labelKey:"export.formatDocx",icon:l.A}],A="compact"===g;return(0,r.jsxs)(m.rI,{children:[(0,r.jsx)(m.ty,{asChild:!0,children:(0,r.jsxs)(f.$,{variant:"ghost"===g?"ghost":"outline",size:A?"sm":"default",className:A?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:b,children:[b?(0,r.jsx)(d.A,{className:"".concat(A?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,r.jsx)(c.A,{className:A?"h-3 w-3":"h-4 w-4"}),!A&&v("export.exportDocument")]})}),(0,r.jsx)(m.SQ,{align:"end",className:"w-48",children:C.map(e=>{let{format:t,labelKey:n,icon:a}=e;return(0,r.jsxs)(m._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),N(t)},disabled:b,children:[j===t?(0,r.jsx)(d.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(a,{className:"h-4 w-4"}),v(n)]},t)})})]})}},86108:(e,t,n)=>{Promise.resolve().then(n.bind(n,52053)),Promise.resolve().then(n.bind(n,90299)),Promise.resolve().then(n.bind(n,65514)),Promise.resolve().then(n.bind(n,98861)),Promise.resolve().then(n.bind(n,38476)),Promise.resolve().then(n.bind(n,74542)),Promise.resolve().then(n.bind(n,71350)),Promise.resolve().then(n.bind(n,39025)),Promise.resolve().then(n.bind(n,75368)),Promise.resolve().then(n.bind(n,89684)),Promise.resolve().then(n.bind(n,58057)),Promise.resolve().then(n.bind(n,6512)),Promise.resolve().then(n.bind(n,25051)),Promise.resolve().then(n.bind(n,4374)),Promise.resolve().then(n.bind(n,19345)),Promise.resolve().then(n.bind(n,79919)),Promise.resolve().then(n.bind(n,17533)),Promise.resolve().then(n.bind(n,99545)),Promise.resolve().then(n.bind(n,63197)),Promise.resolve().then(n.bind(n,65326)),Promise.resolve().then(n.bind(n,48218)),Promise.resolve().then(n.bind(n,56260)),Promise.resolve().then(n.bind(n,60322)),Promise.resolve().then(n.bind(n,79834)),Promise.resolve().then(n.bind(n,6947)),Promise.resolve().then(n.bind(n,88878)),Promise.resolve().then(n.bind(n,34857)),Promise.resolve().then(n.bind(n,97006)),Promise.resolve().then(n.bind(n,45841)),Promise.resolve().then(n.t.bind(n,12790,23)),Promise.resolve().then(n.bind(n,20953)),Promise.resolve().then(n.bind(n,99917)),Promise.resolve().then(n.bind(n,58866))},88064:(e,t,n)=>{"use strict";n.d(t,{J:()=>o});var r=n(90508);n(1856);var a=n(58057),s=n(24377);function o(e){let{className:t,...n}=e;return(0,r.jsx)(a.Root,{"data-slot":"label",className:(0,s.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),...n})}},91846:(e,t,n)=>{"use strict";n.d(t,{bq:()=>u,eb:()=>f,gC:()=>m,l6:()=>d,yv:()=>c});var r=n(90508);n(1856);var a=n(17730),s=n(60532),o=n(89967),i=n(48218),l=n(24377);function d(e){let{...t}=e;return(0,r.jsx)(i.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,r.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:n="default",children:s,...o}=e;return(0,r.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":n,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),...o,children:[s,(0,r.jsx)(i.Icon,{asChild:!0,children:(0,r.jsx)(a.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:n,position:a="item-aligned",align:s="center",...o}=e;return(0,r.jsx)(i.Portal,{children:(0,r.jsxs)(i.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"===a&&"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:a,align:s,...o,children:[(0,r.jsx)(p,{}),(0,r.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),(0,r.jsx)(x,{})]})})}function f(e){let{className:t,children:n,...a}=e;return(0,r.jsxs)(i.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),...a,children:[(0,r.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(i.ItemIndicator,{children:(0,r.jsx)(s.A,{className:"size-4"})})}),(0,r.jsx)(i.ItemText,{children:n})]})}function p(e){let{className:t,...n}=e;return(0,r.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,r.jsx)(o.A,{className:"size-4"})})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,r.jsx)(a.A,{className:"size-4"})})}},96213:(e,t,n)=>{"use strict";n.d(t,{D:()=>i});var r=n(90508),a=n(47754),s=n(30423),o=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:o,subEntityUuid:i,children:d,badgeInside:c}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,n,o,i),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),x=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,g=x?(0,s.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(g),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(c?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(l,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),d]})}function l(e){let{entry:t}=e,n=(0,s.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(o.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97438:(e,t,n)=>{"use strict";n.d(t,{Cf:()=>m,Es:()=>p,L3:()=>x,c7:()=>f,lG:()=>l,rr:()=>g,zM:()=>d});var r=n(90508);n(1856);var a=n(9160),s=n(71350),o=n(24377),i=n(22922);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...n}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function m(e){let{className:t,overlayClassName:n,children:i,showCloseButton:l=!0,...d}=e;return(0,r.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,r.jsx)(u,{className:n}),(0,r.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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),...d,children:[i,l&&(0,r.jsxs)(s.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,r.jsx)(a.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...n}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...n})}function p(e){let{className:t,showCloseButton:n=!1,children:a,...l}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[a,n&&(0,r.jsx)(s.Close,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function x(e){let{className:t,...n}=e;return(0,r.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...n})}function g(e){let{className:t,...n}=e;return(0,r.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...n})}},99917:(e,t,n)=>{"use strict";n.d(t,{DocumentGrid:()=>h});var r=n(90508),a=n(12790),s=n.n(a),o=n(48416),i=n(57731),l=n(56770),d=n(39268),c=n(96213),u=n(69386),m=n(38106),f=n(71921),p=n(15584),x=n(59551),g=n(75320);let v={prd:{labelKey:"documents.typePrd",color:"bg-[#E3F2FD] text-[#1976D2]",icon:f.A},spec:{labelKey:"documents.typeSpec",color:"bg-[#E8F5E9] text-[#5A9E6F]",icon:p.A},design:{labelKey:"documents.typeDesign",color:"bg-[#F3E5F5] text-[#7B1FA2]",icon:x.A},note:{labelKey:"documents.typeNote",color:"bg-[#FFF3E0] text-[#E65100]",icon:g.A},report:{labelKey:"documents.typeReport",color:"bg-[#FFF8E1] text-[#9A6B00]",icon:l.A},other:{labelKey:"documents.typeOther",color:"bg-[#F5F5F5] text-[#6B6B6B]",icon:l.A}};function h(e){let{documents:t,projectUuid:n}=e,a=(0,d.c)();return(0,r.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:t.map(e=>{let t=v[e.type],d=(null==t?void 0:t.icon)||l.A;return(0,r.jsx)(c.D,{entityType:"document",entityUuid:e.uuid,children:(0,r.jsxs)(o.Zp,{className:"group relative flex flex-col border-[#E5E0D8] transition-all hover:border-[#C67A52] hover:shadow-md",children:[(0,r.jsx)(s(),{href:"/projects/".concat(n,"/documents/").concat(e.uuid),className:"flex flex-1 flex-col p-5 pb-0",children:(0,r.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,r.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[#F5F2EC]",children:(0,r.jsx)(d,{className:"h-5 w-5 text-[#6B6B6B]"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("h3",{className:"font-medium text-[#2C2C2C] leading-snug group-hover:text-[#C67A52] line-clamp-2",children:e.title}),(0,r.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-[#9A9A9A]",children:[(0,r.jsxs)("span",{children:["v",e.version]}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:a("documents.updated",{date:(0,m.r)(e.updatedAt)})})]})]})]})}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-t border-[#F5F2EC] px-5 py-2.5",children:[(0,r.jsx)(i.E,{className:"text-[11px] ".concat((null==t?void 0:t.color)||""),children:a((null==t?void 0:t.labelKey)||"documents.typeOther")}),(0,r.jsx)("div",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,r.jsx)(u.E,{documentUuid:e.uuid,variant:"compact"})})]})]})},e.uuid)})})}}},e=>{e.O(0,[12079,18944,12790,71350,16544,89644,38296,27378,16467,24459,74951,65496,77358],()=>e(e.s=86108)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13280],{5566:(e,t,a)=>{"use strict";a.d(t,{ResourceGraph:()=>_});var r=a(90508),l=a(1856),s=a(59224),n=a(39268),i=a(29767),o=a(71921),d=a(23217),u=a(56770),c=a(7977),p=a(9160),h=a(30044),f=a(19327),x=a(93333),m=a(89967),g=a(17730),v=a(22922),b=a(48416),w=a(39077),y=a(14554),j=a(88064),k=a(92691),N=a(58866),C=a(81531),S=a(62205),B=a(42305),E=a(63964),A=a(34549),I=a(67712),U=a(225),M=a(25347),z=a(24522),F=a(40888);let D=(0,s.default)(()=>a.e(78966).then(a.bind(a,78966)).then(e=>e.ForceGraphCanvas),{loadableGenerated:{webpack:()=>[78966]},ssr:!1,loading:()=>(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-sm text-[#6B6B6B]",children:"…"})}),R={idea:{color:"#7C4DFF",Icon:i.A},proposal:{color:"#2563EB",Icon:o.A},task:{color:"#E8833A",Icon:d.A},document:{color:"#00897B",Icon:u.A}},$={idea:!0,proposal:!0,task:!0,document:!0};function _(e){var t;let{projectUuid:a,currentUserUuid:s}=e,i=(0,n.c)(),o=(0,S.a)(),[d,u]=(0,l.useState)(null),[_,q]=(0,l.useState)(null),[Z,T]=(0,l.useState)($),V="/projects/".concat(a,"/graph"),{selectedId:G,openPanel:K,closePanel:P}=(0,C.T)(V,null),[O,J]=(0,l.useState)(null),[Q,H]=(0,l.useState)(null),[W,X]=(0,l.useState)(null),[Y,ee]=(0,l.useState)(()=>new Set),[et,ea]=(0,l.useState)(()=>new Set),[er,el]=(0,l.useState)(""),[es,en]=(0,l.useState)(0),[ei,eo]=(0,l.useState)(null),[ed,eu]=(0,l.useState)(!1),ec=(0,l.useRef)(!1),ep=(0,l.useRef)(0),eh=(0,l.useRef)(null),ef=(0,l.useCallback)(async()=>{var e,t;null==(e=eh.current)||e.abort();let r=new AbortController;eh.current=r;let l=++ep.current;try{let e=await fetch("/api/projects/".concat(a,"/resource-graph"),{signal:r.signal}),s=await e.json();if(r.signal.aborted||l!==ep.current)return;if(!e.ok||!s.success||!s.data)return void q(null!=(t=s.error)?t:i("graph.loadFailed"));let n=s.data,o=new Set(n.nodes.map(e=>e.uuid)),d=e=>{let t=!1,a=new Set;for(let r of e)o.has(r)?a.add(r):t=!0;return t?a:e};ee(d),ea(d),q(null),u(n)}catch(e){if(r.signal.aborted||l!==ep.current)return;console.error("[resource-graph] fetch failed",e),q(i("graph.loadFailed"))}},[a,i]);(0,l.useEffect)(()=>(q(null),u(null),ee(new Set),ea(new Set),el(""),en(0),eo(null),ec.current=!1,ef(),()=>{var e;null==(e=eh.current)||e.abort()}),[a,ef]),(0,E.eV)("idea",ef),(0,E.eV)("proposal",ef),(0,E.eV)("task",ef),(0,E.eV)("document",ef);let ex=(0,l.useCallback)(e=>{T(t=>({...t,[e]:!t[e]}))},[]),em=(0,l.useCallback)((e,t)=>{"idea"===t?ee(t=>{let a=new Set(t);if(a.has(e)){var r;a.delete(e);let t=(null!=(r=null==d?void 0:d.nodes)?r:[]).filter(t=>{var a;return"proposal"===t.type&&(null!=(a=t.sourceIdeaUuids)?a:[]).includes(e)}).map(e=>e.uuid);t.length>0&&ea(e=>{let a=!1,r=new Set(e);for(let e of t)r.delete(e)&&(a=!0);return a?r:e})}else a.add(e);return a}):"proposal"===t&&ea(t=>{let a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})},[d]),eg=Y.size>0||et.size>0,ev=(0,l.useCallback)(()=>{if(!d)return;let e=new Set,t=new Set;for(let a of d.nodes)"idea"===a.type?e.add(a.uuid):"proposal"===a.type&&t.add(a.uuid);ee(e),ea(t)},[d]),eb=(0,l.useCallback)(()=>{ee(new Set),ea(new Set)},[]),{forceNodes:ew,forceLinks:ey,isEmpty:ej}=(0,l.useMemo)(()=>{if(!d)return{forceNodes:[],forceLinks:[],isEmpty:!0};let{visibleNodeUuids:e,visibleEdgeIndices:t,childCountByHub:a}=function(e,t,a){var r,l,s,n,i,o;let{nodes:d,edges:u}=e,c=new Set,p=new Map,h=[];for(let e of d)"idea"===e.type?c.add(e.uuid):"proposal"===e.type?p.set(e.uuid,e):h.push(e);let f=new Map;for(let e of c)f.set(e,0);for(let e of p.keys())f.set(e,0);for(let e of p.values())for(let t of null!=(r=e.sourceIdeaUuids)?r:[])c.has(t)&&f.set(t,(null!=(l=f.get(t))?l:0)+1);for(let e of h){let t=null!=(s=e.proposalUuid)?s:null;null!==t&&p.has(t)&&f.set(t,(null!=(n=f.get(t))?n:0)+1)}let x=new Set(c),m=new Set;for(let e of p.values()){let a=(null!=(i=e.sourceIdeaUuids)?i:[]).filter(e=>c.has(e));(0===a.length||a.some(e=>t.has(e)))&&(m.add(e.uuid),x.add(e.uuid))}for(let e of h){let t=null!=(o=e.proposalUuid)?o:null;if(null===t||!p.has(t)){x.add(e.uuid);continue}m.has(t)&&a.has(t)&&x.add(e.uuid)}let g=[];for(let e=0;e<u.length;e++){let t=u[e];x.has(t.from)&&x.has(t.to)&&g.push(e)}return{visibleNodeUuids:x,visibleEdgeIndices:g,childCountByHub:f}}(d,Y,et),r=d.nodes.filter(t=>e.has(t.uuid)&&Z[t.type]),l=new Set(r.map(e=>e.uuid)),s=t.map(e=>d.edges[e]).filter(e=>l.has(e.from)&&l.has(e.to)),n=new Set(d.nodes.filter(e=>"idea"===e.type).map(e=>e.uuid)),i=new Map;for(let e of d.nodes){var o;if("proposal"!==e.type)continue;let t=(null!=(o=e.sourceIdeaUuids)?o:[]).find(e=>n.has(e));i.set(e.uuid,t)}let u=new Set(i.keys());return{forceNodes:r.map(e=>{var t,r;let l="idea"===e.type||"proposal"===e.type?null!=(t=a.get(e.uuid))?t:0:void 0,s="idea"===e.type?Y.has(e.uuid):"proposal"===e.type?et.has(e.uuid):void 0;return{id:e.uuid,type:e.type,title:e.title,status:e.status,childCount:l,expanded:s,hasAffordance:(r=e.type,("idea"===r||"proposal"===r)&&(null!=l?l:0)>0),ownerId:(e=>{if("proposal"===e.type)return i.get(e.uuid);if("task"===e.type||"document"===e.type){var t;let a=null!=(t=e.proposalUuid)?t:void 0;return a&&u.has(a)?a:void 0}})(e)}}),forceLinks:s.map(e=>({source:e.from,target:e.to,kind:e.kind})),isEmpty:0===r.length}},[d,Y,et,Z]),ek=(0,l.useMemo)(()=>{if(!d)return null;var e=d.nodes.filter(e=>Z[e.type]);let t=er.trim().toLowerCase();if(""===t)return null;let a=new Set;for(let r of e)r.title.toLowerCase().includes(t)&&a.add(r.uuid);return a},[d,er,Z]),eN=null!==ek,eC=(0,l.useMemo)(()=>{if(null===ek||0===ek.size)return[];let{outline:e}=(0,A.U)(ew,ey),t=[];for(let a of e)ek.has(a.id)&&t.push(a.id);return t},[ek,ew,ey]),eS=eC.length,eB=eS>0?(es%eS+eS)%eS:0,eE=eS>0?eC[eB]:null,eA=(0,l.useRef)(eC);eA.current=eC;let eI=(0,l.useRef)(es);eI.current=es,(0,l.useEffect)(()=>{if(!d||null===ek||0===ek.size)return;let{ideaUuids:e,proposalUuids:t}=function(e,t){let a=new Set,r=new Set,l=new Set,s=new Map,n=new Map;for(let t of e.nodes)n.set(t.uuid,t),"idea"===t.type?l.add(t.uuid):"proposal"===t.type&&s.set(t.uuid,t);let i=e=>{var t;return(null!=(t=e.sourceIdeaUuids)?t:[]).find(e=>l.has(e))};for(let e of t){var o;let t=n.get(e);if(void 0===t||"idea"===t.type)continue;if("proposal"===t.type){let e=i(t);void 0!==e&&a.add(e);continue}let l=null!=(o=t.proposalUuid)?o:null;if(null===l)continue;let d=s.get(l);if(void 0===d)continue;r.add(l);let u=i(d);void 0!==u&&a.add(u)}return{ideaUuids:a,proposalUuids:r}}(d,ek);e.size>0&&ee(t=>{let a=!1,r=new Set(t);for(let t of e)r.has(t)||(r.add(t),a=!0);return a?r:t}),t.size>0&&ea(e=>{let a=!1,r=new Set(e);for(let e of t)r.has(e)||(r.add(e),a=!0);return a?r:e})},[d,ek]),(0,l.useEffect)(()=>{let e=ec.current;!eN&&e&&(en(0),eo(null)),ec.current=eN},[eN]),(0,l.useEffect)(()=>{en(0)},[er]),(0,l.useEffect)(()=>{if(null===ek)return;let e=setTimeout(()=>{let e=eA.current;if(0===e.length)return void eo(null);let t=(eI.current%e.length+e.length)%e.length;eo(e[t])},200);return()=>clearTimeout(e)},[er,ek]);let eU=(0,l.useCallback)(e=>{let t=eA.current,a=t.length;if(0===a)return;let r=((eI.current+e)%a+a)%a;en(r),eo(t[r])},[]),eM=(0,l.useCallback)(()=>{el("")},[]),ez=(0,l.useCallback)(e=>{(0,B.P)(e)||("Enter"===e.key?(e.preventDefault(),eU(e.shiftKey?-1:1)):"Escape"===e.key&&(e.preventDefault(),eM()))},[eM,eU]),eF=(0,l.useCallback)(e=>{X(null),J(e)},[]),eD=(0,l.useCallback)(e=>{J(null),H(null),X(e)},[]);(0,l.useEffect)(()=>{if(!O)return void H(null);let e=!1;return(0,F.Q)(O).then(t=>{e||(t.success?H(t.data):I.q.error("Failed to load task for graph panel:",t.error))}).catch(t=>{e||I.q.error("Failed to load task for graph panel:",t)}),()=>{e=!0}},[O]);let[eR,e$]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(!eR)return;let e=new AbortController;return(async()=>{try{var t;let a=await fetch("/api/documents/".concat(eR),{signal:e.signal}),r=await a.json();if(e.signal.aborted)return;if(!a.ok||!r.success||!r.data)return void I.q.error("Failed to load document for graph panel:",r.error);eD({title:r.data.title,type:r.data.type,content:null!=(t=r.data.content)?t:""})}catch(t){if(e.signal.aborted)return;I.q.error("Failed to load document for graph panel:",t)}})(),()=>e.abort()},[eR,eD]);let e_=(0,l.useCallback)((e,t,a)=>{if(a&&("idea"===t||"proposal"===t))return void em(e,t);switch(t){case"idea":return void K(e,"elaboration");case"proposal":{var r,l;let t=(null!=(l=null==d||null==(r=d.nodes.find(t=>t.uuid===e))?void 0:r.sourceIdeaUuids)?l:[])[0];if(!t)return void I.q.warn("[resource-graph] proposal node has no project-local source idea; cannot open panel",{proposalUuid:e});K(t,"proposal");return}case"task":return void eF(e);case"document":J(null),H(null),X(null),e$(e);return}},[d,K,eF,em]),eL=null!=(t=null!=G?G:O)?t:eR,eq=(0,l.useCallback)(()=>{X(null),e$(null)},[]),eZ=(0,r.jsxs)(r.Fragment,{children:[G&&(0,r.jsx)(U.D,{ideaUuid:G,projectUuid:a,currentUserUuid:s,onClose:P,onNavigate:K},G),O&&Q&&(0,r.jsx)(M.v,{task:Q,projectUuid:a,currentUserUuid:s,mode:"overlay",onClose:()=>{J(null),H(null)}}),W&&(0,r.jsx)(z.K,{title:W.title,type:W.type,content:W.content,mode:"overlay",onClose:eq})]});return _?(0,r.jsxs)("div",{className:"p-4 md:p-8",children:[(0,r.jsx)(L,{t:i}),(0,r.jsx)(b.Zp,{className:"border-[#E5E0D8] p-6 text-sm text-[#B71C1C]",children:_}),eZ]}):d?(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col p-4 md:p-8",children:[(0,r.jsx)(L,{t:i}),(0,r.jsxs)("div",{className:"relative flex-1 min-h-[600px] overflow-hidden rounded-[10px] border border-[#E5E0D8] bg-[#FAF8F4]",children:[ej&&(0,r.jsx)(N.AnimatedEmptyState,{children:(0,r.jsxs)(b.Zp,{className:"m-12 flex flex-col items-center justify-center border-[#E5E0D8] p-8 text-center",children:[(0,r.jsx)("h3",{className:"mb-2 text-base font-medium text-[#2C2C2C]",children:i("graph.emptyTitle")}),(0,r.jsx)("p",{className:"max-w-sm text-sm text-[#6B6B6B]",children:i("graph.emptyDesc")})]})}),!ej&&(0,r.jsx)(D,{nodes:ew,links:ey,selectedId:eL,onNodeClick:e_,matchIds:ek,currentMatchId:eE,centerNodeId:ei}),(0,r.jsx)("div",{className:"absolute right-3 top-3 z-10",children:o&&!ed?(0,r.jsx)(v.$,{type:"button",variant:"outline",size:"icon",onClick:()=>eu(!0),"aria-label":i("graph.controls.open"),"data-testid":"graph-controls-toggle",className:"bg-white/95 shadow-sm backdrop-blur",children:(0,r.jsx)(c.A,{className:"h-4 w-4"})}):(0,r.jsxs)(b.Zp,{className:"w-[208px] border-[#E5E0D8] bg-white/95 p-2.5 shadow-sm backdrop-blur",children:[o&&(0,r.jsx)("div",{className:"mb-1.5 flex justify-end",children:(0,r.jsx)(v.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>eu(!1),"aria-label":i("graph.controls.close"),"data-testid":"graph-controls-collapse",className:"text-[#6B6B6B]",children:(0,r.jsx)(p.A,{className:"h-3.5 w-3.5"})})}),!ej&&(0,r.jsxs)("div",{className:"mb-2","data-testid":"graph-search",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)(h.A,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[#9A9A9A]","aria-hidden":"true"}),(0,r.jsx)(y.p,{type:"text",value:er,onChange:e=>el(e.target.value),onKeyDown:ez,placeholder:i("graph.search.placeholder"),"aria-label":i("graph.search.placeholder"),"data-testid":"graph-search-input",className:"h-8 pl-8 pr-8 text-xs"}),""!==er&&(0,r.jsx)(v.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:eM,"aria-label":i("graph.search.clear"),"data-testid":"graph-search-clear",className:"absolute right-1 top-1/2 -translate-y-1/2 text-[#6B6B6B]",children:(0,r.jsx)(p.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)(k.Bc,{delayDuration:300,children:(0,r.jsxs)(k.m_,{children:[(0,r.jsx)(k.k$,{asChild:!0,children:(0,r.jsx)(v.$,{type:"button",variant:"ghost",size:"icon-sm",onClick:eg?eb:ev,"aria-label":eg?i("graph.collapseAll"):i("graph.expandAll"),"data-testid":"graph-expand-toggle",className:"shrink-0 text-[#6B6B6B]",children:eg?(0,r.jsx)(f.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(x.A,{className:"h-3.5 w-3.5"})})}),(0,r.jsx)(k.ZI,{side:"bottom",children:eg?i("graph.collapseAll"):i("graph.expandAll")})]})})]}),eN&&(0,r.jsxs)("div",{className:"mt-1.5 flex items-center justify-between gap-2","data-testid":"graph-search-nav",children:[eS>0?(0,r.jsx)("span",{className:"text-[11px] tabular-nums text-[#6B6B6B]","data-testid":"graph-search-count",children:i("graph.search.count",{current:eB+1,total:eS})}):(0,r.jsx)("span",{className:"text-[11px] text-[#B07B00]","data-testid":"graph-search-no-matches",children:i("graph.search.noMatches")}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(v.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>eU(-1),disabled:0===eS,"aria-label":i("graph.search.prev"),"data-testid":"graph-search-prev",children:(0,r.jsx)(m.A,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(v.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>eU(1),disabled:0===eS,"aria-label":i("graph.search.next"),"data-testid":"graph-search-next",children:(0,r.jsx)(g.A,{className:"h-3.5 w-3.5"})})]})]})]}),(0,r.jsx)("div",{className:"grid grid-cols-2 gap-x-2 gap-y-1.5",children:["idea","proposal","task","document"].map(e=>{let t=R[e],a="graph-filter-".concat(e);return(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(w.S,{id:a,checked:Z[e],onCheckedChange:()=>ex(e)}),(0,r.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:t.color}}),(0,r.jsx)(j.J,{htmlFor:a,className:"cursor-pointer text-xs text-[#2C2C2C]",children:i("graph.filters.".concat(e))})]},e)})})]})})]}),eZ]}):(0,r.jsxs)("div",{className:"p-4 md:p-8",children:[(0,r.jsx)(L,{t:i}),(0,r.jsx)(b.Zp,{className:"flex items-center justify-center border-[#E5E0D8] p-12 text-sm text-[#6B6B6B]",children:i("graph.loading")}),eZ]})}function L(e){let{t}=e;return(0,r.jsx)("div",{className:"mb-6 flex items-center justify-between",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:t("graph.title")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:t("graph.subtitle")})]})})}},34549:(e,t,a)=>{"use strict";a.d(t,{U:()=>s});var r=a(26076),l=a(89929);function s(e,t){let a=new Map;for(let t of e)a.set(t.id,t);let s=new Map,n=new Map;for(let e of t)"lineage"===e.kind?s.has(e.target)||s.set(e.target,e.source):"depends"!==e.kind||n.has(e.target)||n.set(e.target,e.source);let i=e=>{if("idea"===e.type){let t=s.get(e.id);return void 0!==t&&a.has(t)?t:void 0}if("task"===e.type){let t=n.get(e.id);if(void 0!==t&&a.has(t))return t}return void 0!==e.ownerId&&a.has(e.ownerId)?e.ownerId:void 0},o=new Map,d=new Map,u=[];for(let t of e){let e=i(t);if(void 0===e)u.push(t);else{d.set(t.id,e);let a=o.get(e);a?a.push(t):o.set(e,[t])}}let c=(e,t)=>{var a;t.add(e.id);let r=null!=(a=o.get(e.id))?a:[],l=[];for(let e of r)t.has(e.id)||l.push(c(e,t));return{id:e.id,children:l}},p=(0,r.A)().nodeSize([72,280]),h=new Map,f=[],x=0;for(let e of u){let t=c(e,new Set),a=(0,l.Ay)(t);p(a);let r=1/0,s=-1/0;a.each(e=>{e.x<r&&(r=e.x),e.x>s&&(s=e.x)}),Number.isFinite(r)||(r=0,s=0);let n=x-r;a.eachBefore(e=>{let t=e.data.id;h.set(t,{id:t,x:e.y,y:e.x+n,depth:e.depth}),f.push({id:t,depth:e.depth})}),x=s+n+96}return{positions:h,outline:f,treeParentById:d}}},39077:(e,t,a)=>{"use strict";a.d(t,{S:()=>i});var r=a(90508);a(1856);var l=a(60532),s=a(98861),n=a(24377);function i(e){let{className:t,...a}=e;return(0,r.jsx)(s.Root,{"data-slot":"checkbox",className:(0,n.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,r.jsx)(s.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,r.jsx)(l.A,{className:"size-3.5"})})})}},40026:(e,t,a)=>{Promise.resolve().then(a.bind(a,5566))},58866:(e,t,a)=>{"use strict";a.d(t,{AnimatedEmptyState:()=>s});var r=a(90508),l=a(16544);function s(e){let{children:t}=e;return(0,r.jsx)(l.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},62205:(e,t,a)=>{"use strict";a.d(t,{a:()=>l});var r=a(1856);function l(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let a=e=>t(e.matches);return e.addEventListener("change",a),()=>e.removeEventListener("change",a)},[]),e}}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,12790,26885,58037,71350,30724,16544,27201,16551,97784,14753,89644,45532,70552,15183,38296,27378,64187,94743,58262,84169,57362,1892,94528,225,74951,65496,77358],()=>e(e.s=40026)),_N_E=e.O()}]);
|