@chorus-aidlc/chorus 0.11.1 → 0.12.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 +405 -391
- package/.next/standalone/.next/app-path-routes-manifest.json +33 -31
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +27 -27
- package/.next/standalone/.next/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +8 -0
- 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 +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +3 -3
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js.nft.json +1 -1
- 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.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route.js.nft.json +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.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.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.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route.js.nft.json +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.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.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.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route.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 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -0
- 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 +6 -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 +7 -5
- 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/keepalive/route.js +1 -0
- package/.next/standalone/.next/server/app/api/keepalive/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
- 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.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js.nft.json +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]/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.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.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 +4 -4
- 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 +3 -3
- 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 +4 -4
- 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 +4 -4
- package/.next/standalone/.next/server/app/login/silent-refresh/page.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +4 -4
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +4 -4
- 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 +4 -4
- 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 +5 -5
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +5 -5
- package/.next/standalone/.next/server/app-paths-manifest.json +33 -31
- package/.next/standalone/.next/server/chunks/{5201.js → 1343.js} +2 -2
- package/.next/standalone/.next/server/chunks/1463.js +1 -0
- package/.next/standalone/.next/server/chunks/1596.js +2 -2
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2622.js +1 -0
- package/.next/standalone/.next/server/chunks/2779.js +31 -0
- 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/3419.js +1 -1
- package/.next/standalone/.next/server/chunks/4292.js +1 -0
- package/.next/standalone/.next/server/chunks/4872.js +1 -0
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/5538.js +1 -0
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/7063.js +2 -2
- package/.next/standalone/.next/server/chunks/7064.js +1 -0
- package/.next/standalone/.next/server/chunks/7160.js +1 -0
- package/.next/standalone/.next/server/chunks/7364.js +1 -0
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7427.js +1 -0
- package/.next/standalone/.next/server/chunks/7515.js +1 -0
- package/.next/standalone/.next/server/chunks/7578.js +2 -2
- package/.next/standalone/.next/server/chunks/{4711.js → 796.js} +6 -6
- package/.next/standalone/.next/server/chunks/8732.js +1 -0
- package/.next/standalone/.next/server/chunks/9161.js +1 -0
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9273.js +1 -0
- package/.next/standalone/.next/server/chunks/937.js +3 -3
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/src/middleware.js +1 -1
- package/.next/standalone/.next/static/GmBblfxcDziUENBiEap4B/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/10344-2e9a9d767e2e8ed1.js +1 -0
- package/.next/standalone/.next/static/chunks/16467-dd4f928e725306c1.js +1 -0
- package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +1 -0
- package/.next/standalone/.next/static/chunks/2280-f48bf99ea9d88ece.js +1 -0
- package/.next/standalone/.next/static/chunks/26394-4af487a51dd62832.js +1 -0
- package/.next/standalone/.next/static/chunks/27378-9328bcc96ae9872e.js +1 -0
- package/.next/standalone/.next/static/chunks/{33187.13c12f5c0821ac57.js → 33187.1328c15b9dab78a8.js} +1 -1
- package/.next/standalone/.next/static/chunks/37784-95dee37276b1067b.js +1 -0
- package/.next/standalone/.next/static/chunks/46983-8bf90f1ffeb55957.js +1 -0
- package/.next/standalone/.next/static/chunks/46999-f53da8f53fe1b8a9.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.e3d0dd79a4d37626.js +1 -0
- package/.next/standalone/.next/static/chunks/54637-71d281d649ea3a17.js +1 -0
- package/.next/standalone/.next/static/chunks/64187-cff8a4b5e96fa8f9.js +10 -0
- package/.next/standalone/.next/static/chunks/78917-aa5bbff9248799a4.js +1 -0
- package/.next/standalone/.next/static/chunks/80904-973284d1fe916c38.js +1 -0
- package/.next/standalone/.next/static/chunks/85573-fb4d2cbd67612d47.js +1 -0
- package/.next/standalone/.next/static/chunks/88561-0b14e1564419f215.js +1 -0
- package/.next/standalone/.next/static/chunks/89035-faf398b7bbc7d2ed.js +1 -0
- package/.next/standalone/.next/static/chunks/89644-2fee0373b890e8e3.js +1 -0
- package/.next/standalone/.next/static/chunks/{93346-5489d90bc2d57190.js → 93346-b3e1ebe948fc623f.js} +1 -1
- package/.next/standalone/.next/static/chunks/{97784-7b90a17294840e32.js → 97784-42081b75f8cc6da8.js} +1 -1
- package/.next/standalone/.next/static/chunks/97868-55f18a05fe483d85.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.cc6319fa4cf36081.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b3a497ba5eb08036.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2944c6c9bc48a7d6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-d786f0c18a9c4f06.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c68f1eda3779b448.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-e0935445535c28cb.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f824632ff61a9fa7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-dbcb6e50fc4816c6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-1295bc505e727383.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-ceeec49af0396432.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-1286afe43c086d6a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-583e58d4d689d38b.js → page-fec019d974ef8d4e.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-0fb1d51016f6bd56.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/keepalive/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-f1b0daea9f947caf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-e3a49e06950a057f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/callback/{page-0edd93f50cb4f6ea.js → page-6cad93f5c610b047.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/login/page-d2513f477211dd6f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/{page-e0444ad8b50121f5.js → page-597e0f3377f18d29.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/login/silent-refresh/{page-a9960ea858db6752.js → page-a26d1af61578c96e.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-2936274fb252329e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-075afd218994d377.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-039590181c63871d.js → webpack-ed3555ea61243391.js} +1 -1
- package/.next/standalone/.next/static/css/6e8fd46b062fd4fc.css +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +4 -0
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +4 -0
- package/README.md +49 -15
- package/README.zh.md +49 -15
- package/chorus.mjs +30 -14
- package/cli/client-args.mjs +18 -2
- package/cli/codex-session-map.mjs +117 -0
- package/cli/codex-spawner.mjs +312 -0
- package/cli/daemon-agent.mjs +32 -6
- package/cli/daemon-banner.mjs +54 -6
- package/cli/daemon-config.mjs +118 -0
- package/cli/daemon.mjs +348 -167
- package/cli/event-router.mjs +273 -12
- package/cli/login.mjs +77 -34
- package/cli/server-signal-handlers.mjs +41 -0
- package/cli/spawner-select.mjs +30 -0
- package/cli/sse-listener.mjs +56 -6
- package/cli/upload-hooks.mjs +73 -8
- package/cli/waker.mjs +36 -8
- package/package.json +1 -1
- package/prisma/migrations/20260622115159_add_daemon_connection_cwd/migration.sql +9 -0
- package/prisma/migrations/20260623020208_task_pinned_target_instance/migration.sql +3 -0
- package/prisma/migrations/20260624142248_add_agent_instance/migration.sql +31 -0
- package/prisma/migrations/20260624165025_drop_task_target_host_cwd/migration.sql +10 -0
- package/prisma/schema.prisma +69 -3
- package/.next/standalone/.next/server/chunks/1064.js +0 -1
- package/.next/standalone/.next/server/chunks/2213.js +0 -1
- package/.next/standalone/.next/server/chunks/3371.js +0 -1
- package/.next/standalone/.next/server/chunks/369.js +0 -1
- package/.next/standalone/.next/server/chunks/4958.js +0 -1
- package/.next/standalone/.next/server/chunks/5039.js +0 -1
- package/.next/standalone/.next/server/chunks/5631.js +0 -1
- package/.next/standalone/.next/server/chunks/6461.js +0 -1
- package/.next/standalone/.next/server/chunks/6712.js +0 -1
- package/.next/standalone/.next/server/chunks/7867.js +0 -1
- package/.next/standalone/.next/server/chunks/7897.js +0 -1
- package/.next/standalone/.next/server/chunks/8012.js +0 -1
- package/.next/standalone/.next/server/chunks/8245.js +0 -31
- package/.next/standalone/.next/server/chunks/9629.js +0 -1
- package/.next/standalone/.next/server/chunks/9725.js +0 -1
- package/.next/standalone/.next/static/GQvpOux3M9CaxkMjL9GAI/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/1217-323cc20b73ebfde9.js +0 -1
- package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +0 -1
- package/.next/standalone/.next/static/chunks/1879-7a8b283283218df2.js +0 -1
- package/.next/standalone/.next/static/chunks/19276-50b367d7b93d5f34.js +0 -1
- package/.next/standalone/.next/static/chunks/23466-e1176a6d814f4897.js +0 -1
- package/.next/standalone/.next/static/chunks/38040-a8687f86dd8e9d67.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.8bdb37c964f92e48.js +0 -1
- package/.next/standalone/.next/static/chunks/59296-783831c43aa0162e.js +0 -1
- package/.next/standalone/.next/static/chunks/60648-36ccbee4ce232d52.js +0 -1
- package/.next/standalone/.next/static/chunks/60694-68232120903209df.js +0 -1
- package/.next/standalone/.next/static/chunks/64648-ece4e2a59672cf63.js +0 -1
- package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +0 -1
- package/.next/standalone/.next/static/chunks/66969-12f0b22c51f5a410.js +0 -1
- package/.next/standalone/.next/static/chunks/70536-b8bf71098ae11f07.js +0 -1
- package/.next/standalone/.next/static/chunks/76803-7ac4024b2ae89843.js +0 -1
- package/.next/standalone/.next/static/chunks/78389-b32edc6bd5c570a9.js +0 -1
- package/.next/standalone/.next/static/chunks/78584-eb2fa8cf2f266329.js +0 -1
- package/.next/standalone/.next/static/chunks/78917-150ed14a99844aab.js +0 -1
- package/.next/standalone/.next/static/chunks/84541-1f4c2a40f7722667.js +0 -10
- package/.next/standalone/.next/static/chunks/8574-b9739eb8d054c793.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.12370329b9ab6beb.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-0a28456fea4ce95a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-a79969c5c9aadacd.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-a28f0eaa6f4ac94a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ef82b871895245ea.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-2c9bcbd11ddb8661.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-630b168598513ce8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-99639479cc98965f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-335f2450e44a0fba.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-4a191d69b2b6e880.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0faebb478be4c85d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2e8fcb72687100df.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-4bc556c2fc8f3d24.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-9963339572e2e64e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-c64b8d40a0781b4c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-e9a69a0c537c704f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-8b4baa950c78ffe7.js +0 -1
- package/.next/standalone/.next/static/css/1d9aaac01758b297.css +0 -1
- /package/.next/standalone/.next/static/{GQvpOux3M9CaxkMjL9GAI → GmBblfxcDziUENBiEap4B}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69305],{5877:(e,t,a)=>{Promise.resolve().then(a.bind(a,82776))},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,type:a,...n}=e;return(0,s.jsx)("input",{type:a,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},39674:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>i,av:()=>c,j7:()=>o,tU:()=>l});var s=a(90508);a(1856);var r=a(79834),n=a(24377);function l(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"tabs",className:(0,n.cn)("flex flex-col gap-2",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(r.List,{"data-slot":"tabs-list",className:(0,n.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"tabs-trigger",className:(0,n.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(r.Content,{"data-slot":"tabs-content",className:(0,n.cn)("flex-1 outline-none",t),...a})}},63964:(e,t,a)=>{"use strict";a.d(t,{S2:()=>c,eV:()=>i,l9:()=>o,tS:()=>l,w0:()=>d});var s=a(90508),r=a(1856);a(23675);let n=(0,r.createContext)(null);function l(e){let{projectUuid:t,children:a}=e,l=(0,r.useRef)(new Set),o=(0,r.useRef)(new Set),i=(0,r.useRef)(new Set),c=(0,r.useRef)(new Set),d=(0,r.useCallback)(()=>{l.current.forEach(e=>e())},[]),u=(0,r.useCallback)(e=>{o.current.forEach(t=>t(e))},[]);(0,r.useEffect)(()=>{let e,a=null,s=0,r={};function n(){l(),(a=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let a=null;try{a=JSON.parse(t.data)}catch(e){return}if(!a)return;if("presence"===a.type)return void i.current.forEach(e=>e(a));if("execution"===a.type)return void c.current.forEach(e=>e(a));let n=a;clearTimeout(e);let l=Date.now(),o=l-s;o>=3e3?(s=l,d()):e=setTimeout(()=>{s=Date.now(),d()},Math.max(1e3,3e3-o));let x=n.entityType;clearTimeout(r[x]),r[x]=setTimeout(()=>{u(n)},300)},a.onerror=()=>{}}function l(){a&&(a.close(),a=null)}function o(){if("visible"===document.visibilityState&&(!a||a.readyState===EventSource.CLOSED))for(let e of(n(),d(),["task","idea","proposal","document","project","project_group"]))u({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",o),()=>{for(let t in l(),clearTimeout(e),r)clearTimeout(r[t]);document.removeEventListener("visibilitychange",o)}},[t,d,u]);let x=(0,r.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),m=(0,r.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,r.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,r.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),h=(0,r.useMemo)(()=>({subscribe:x,subscribeEntity:m,subscribePresence:f,subscribeExecution:p}),[x,m,f,p]);return(0,s.jsx)(n.Provider,{value:h,children:a})}function o(e){let t=(0,r.useContext)(n),a=(0,r.useRef)(e);a.current=e,(0,r.useEffect)(()=>{if(!t)return;let e=()=>a.current();return e(),t.subscribe(e)},[t])}function i(e,t){let a=(0,r.useContext)(n),s=(0,r.useRef)(t);s.current=t;let l=(0,r.useRef)(e);l.current=e,(0,r.useEffect)(()=>{if(a)return a.subscribeEntity(e=>{let t=l.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&s.current(e)})},[a])}function c(e){let t=(0,r.useContext)(n),a=(0,r.useRef)(e);a.current=e,(0,r.useEffect)(()=>{if(t)return t.subscribePresence(e=>a.current(e))},[t])}function d(e,t,a){let s=(0,r.useContext)(n),l=(0,r.useRef)(a);l.current=a,(0,r.useEffect)(()=>{if(s)return s.subscribeEntity(a=>{a.entityType===e&&a.entityUuid===t&&l.current(a)})},[s,e,t])}},65626:(e,t,a)=>{"use strict";a.d(t,{K5:()=>i,Rf:()=>o,Yv:()=>s,bK:()=>l,qG:()=>n,tE:()=>r});let s={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,y:-4,transition:{duration:s.fast,ease:s.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,transition:{duration:s.fast,ease:s.easeOut}}};s.normal,s.easeOut,s.fast,s.easeOut;let l={initial:{},animate:{transition:{staggerChildren:s.stagger}}},o={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}}},i={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:s.fast,ease:s.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:s.fast,ease:s.easeOut}}}},68923:(e,t,a)=>{"use strict";a.d(t,{CG:()=>c,Fm:()=>f,cj:()=>i,h:()=>m,qp:()=>p});var s=a(90508);a(1856);var r=a(9160),n=a(71350),l=a(49499),o=a(24377);function i(e){let{...t}=e;return(0,s.jsx)(n.Root,{"data-slot":"sheet",...t})}function c(e){let{...t}=e;return(0,s.jsx)(n.Trigger,{"data-slot":"sheet-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...a}=e;return(0,s.jsx)(n.Overlay,{"data-slot":"sheet-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),...a})}let x=(0,l.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function m(e){let{className:t,children:a,side:l="right",...i}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(u,{}),(0,s.jsxs)(n.Content,{"data-slot":"sheet-content",className:(0,o.cn)(x({side:l}),t),...i,children:[a,(0,s.jsxs)(n.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary 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",children:[(0,s.jsx)(r.A,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-2 p-4",t),...a})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(n.Title,{"data-slot":"sheet-title",className:(0,o.cn)("text-foreground text-lg font-semibold",t),...a})}},82776:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eT});var s=a(90508),r=a(1856),n=a(23675),l=a(39268),o=a(12790),i=a.n(o),c=a(22922),d=a(32239),u=a(56770),x=a(50609),m=a(23217),f=a(97645),p=a(94152),h=a(52309),g=a(70633),b=a(17730),j=a(90683),v=a(9111),y=a(62990),w=a(93114),N=a(97438),k=a(67712);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],C=Array.from({length:7},(e,t)=>t).sort((e,t)=>A[e].topY-A[t].topY),S={bulb:2e3,document:1500,stars:2500,flash:400},E=function(){let e={floor:"floor.png"};for(let t=0;t<7;t++)e["char".concat(t,"-frame1")]="char".concat(t,"-frame1.png"),e["char".concat(t,"-frame2")]="char".concat(t,"-frame2.png");return e}();function F(e){let{slots:t,projectName:a,agentCount:n,collapsed:l=!1,effects:o,onEffectsConsumed:i}=e,c=(0,r.useRef)(null),d=(0,r.useRef)({}),u=(0,r.useRef)(!1),x=(0,r.useRef)(0),m=(0,r.useRef)(0),f=(0,r.useRef)(0),p=(0,r.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),h=(0,r.useRef)(t),g=(0,r.useRef)(a),b=(0,r.useRef)(n),j=(0,r.useRef)(l),v=(0,r.useRef)([]);(0,r.useEffect)(()=>{h.current=t;for(let s=0;s<7;s++){var e,a;let r=null!=(a=null==(e=t[s])?void 0:e.state)?a:"empty",n=p.current[s];n.state!==r&&(n.state=r,n.cycleIndex=0,n.frameTicks=0,n.stateTimer=0)}},[t]),(0,r.useEffect)(()=>{g.current=a},[a]),(0,r.useEffect)(()=>{b.current=n},[n]),(0,r.useEffect)(()=>{j.current=l},[l]),(0,r.useEffect)(()=>{o&&0!==o.length&&(o.forEach(e=>{var t;v.current.push({type:e.type,slotIndex:null!=(t=e.slotIndex)?t:0,elapsed:0,duration:S[e.type]})}),null==i||i())},[o,i]);let y=(0,r.useCallback)(e=>{e.fillStyle="#d0d0e0",e.fillRect(0,0,256,16),e.fillStyle="#e4e4f0",e.fillRect(0,0,256,1),e.fillStyle="#9999aa",e.fillRect(0,15,256,1),e.font="bold 7px monospace",e.textBaseline="middle",e.fillStyle="#333",e.textAlign="left";let t=g.current,a=t.length>20?t.slice(0,18)+"..":t;e.fillText(a,6,8),e.textAlign="right",e.fillStyle="#336";let s=b.current;e.fillText("".concat(s," agent").concat(1!==s?"s":""),250,8),e.textAlign="start",e.textBaseline="alphabetic"},[]),w=(0,r.useCallback)((e,t)=>{let a=h.current[t];if(!(null==a?void 0:a.sessionName))return;let s=A[t];e.font="5px monospace",e.textAlign="center",e.textBaseline="bottom";let r=a.sessionName.length>12?a.sessionName.slice(0,10)+"..":a.sessionName,n=e.measureText(r).width,l=s.cx,o=s.topY-4;e.fillStyle="rgba(0,0,0,0.55)",e.fillRect(l-n/2-2,o-6,n+4,7),e.fillStyle="#fff",e.fillText(r,l,o),e.textAlign="start",e.textBaseline="alphabetic"},[]),N=(0,r.useCallback)(e=>{for(let t of v.current){let a=t.elapsed/t.duration,s=A[t.slotIndex]||A[0];switch(t.type){case"bulb":{let t=a<.1?a/.1:a>.8?(1-a)/.2:1,r=s.cx,n=s.topY-14-2*Math.sin(a*Math.PI*4);e.fillStyle="rgba(255, 220, 50, ".concat(.3*t,")"),e.beginPath(),e.arc(r,n,8,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 230, 80, ".concat(t,")"),e.beginPath(),e.arc(r,n,4,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 255, 200, ".concat(t,")"),e.fillRect(r-1,n-1,2,2),e.fillStyle="rgba(180, 180, 180, ".concat(t,")"),e.fillRect(r-2,n+3,4,2);break}case"document":{let t=256+(s.cx-256)*Math.min(2*a,1),r=s.topY-10+-15*Math.sin(a*Math.PI);e.globalAlpha=a>.8?(1-a)/.2:1,e.fillStyle="#f8f8f0",e.fillRect(t,r,8,10),e.strokeStyle="#aaa",e.lineWidth=.5,e.strokeRect(t,r,8,10),e.fillStyle="#ccc",e.fillRect(t+1.5,r+2,5,1),e.fillRect(t+1.5,r+4,4,1),e.fillRect(t+1.5,r+6,5,1),e.globalAlpha=1;break}case"stars":{let t=a>.7?(1-a)/.3:1,r=s.cx,n=s.cy;for(let s=0;s<8;s++){let l=s/8*Math.PI*2+a*Math.PI*3,o=10+15*a,i=r+Math.cos(l)*o,c=n+Math.sin(l)*o,d=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];e.fillStyle=d[s%d.length],e.globalAlpha=t*(.5+.5*Math.sin(a*Math.PI*6+s));let u=1.5+.5*Math.sin(a*Math.PI*4+s);e.fillRect(i-u/2,c-u/2,u,u)}e.globalAlpha=1;break}case"flash":{let t=a<.3?a/.3:(1-a)/.7;e.fillStyle="rgba(255, 255, 255, ".concat(.6*t,")"),e.fillRect(0,16,256,240)}}}},[]),F=(0,r.useCallback)((e,t)=>{e.clearRect(0,0,768,768),e.save(),e.scale(3,3);let a=t.floor;for(let s of((null==a?void 0:a.complete)&&a.naturalWidth&&e.drawImage(a,0,0,256,256),C)){let a=p.current[s];if("empty"===a.state)continue;let r="typing"===a.state&&a.cycleIndex%2==1,n=t["char".concat(s,"-frame").concat(r?2:1)];if((null==n?void 0:n.complete)&&n.naturalWidth){"celebrate"===a.state&&(e.save(),e.globalAlpha=.85+.15*Math.sin(Date.now()/200));let t="looking"===a.state?+Math.sin(Date.now()/300):0;0!==t&&(e.save(),e.translate(0,t)),e.drawImage(n,0,0,256,256),0!==t&&e.restore(),"celebrate"===a.state&&e.restore()}w(e,s)}y(e),N(e),e.restore()},[y,w,N]),R=(0,r.useCallback)(e=>{for(let t=0;t<7;t++){let a=p.current[t];"empty"!==a.state&&(a.stateTimer+=e,"celebrate"===a.state&&a.stateTimer>=3e3&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"looking"===a.state&&a.stateTimer>=1500&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"typing"===a.state&&(a.frameTicks++,a.frameTicks>=a.ticksPerFrame&&(a.frameTicks=0,a.cycleIndex=(a.cycleIndex+1)%2)))}let t=v.current;for(let a=t.length-1;a>=0;a--)t[a].elapsed+=e,t[a].elapsed>=t[a].duration&&t.splice(a,1)},[]),T=(0,r.useCallback)(e=>{if(j.current){x.current=requestAnimationFrame(T),m.current=e;return}let t=e-m.current;m.current=e,f.current+=t;let a=!1;for(;f.current>=10;)f.current-=10,R(10),a=!0;if(a){let e=c.current,t=null==e?void 0:e.getContext("2d");t&&u.current&&F(t,d.current)}x.current=requestAnimationFrame(T)},[R,F]);return(0,r.useEffect)(()=>{let e=!1;return new Promise(e=>{let t={},a=Object.entries(E),s=0,r=a.length;a.forEach(a=>{let[n,l]=a,o=new Image;o.onload=()=>{++s===r&&e(t)},o.onerror=()=>{k.q.warn("Failed to load sprite:",n,l),++s===r&&e(t)},o.src="".concat("/sprites/").concat(l),t[n]=o})}).then(t=>{if(e)return;d.current=t,u.current=!0;let a=c.current,s=null==a?void 0:a.getContext("2d");s&&(s.imageSmoothingEnabled=!1,F(s,t)),m.current=performance.now(),x.current=requestAnimationFrame(T)}),()=>{e=!0,x.current&&cancelAnimationFrame(x.current)}},[F,T]),(0,s.jsx)("canvas",{ref:c,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}var R=a(52217);let T=(0,R.createServerReference)("40ea6dfe37c6920497fa8f7b8211547e6621f58ef2",R.callServer,void 0,R.findSourceMapURL,"getProjectActiveSessionsAction");var P=a(63964);function _(e){let{projectUuid:t,projectName:a}=e,n=(0,l.c)("pixelCanvas"),[o,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(Array.from({length:7},()=>({state:"empty"}))),[u,x]=(0,r.useState)(0),[m,f]=(0,r.useState)([]),p=(0,r.useCallback)(async()=>{let e=await T(t);if(!e.success||!e.data)return;let a=e.data;d(Array.from({length:7},(e,t)=>{let s=a[t];return s?{state:"typing",sessionName:s.sessionName}:{state:"empty"}})),x(a.length)},[t]);(0,P.l9)(p);let h=(0,r.useCallback)(()=>{f([])},[]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>i(!0),children:(0,s.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,s.jsx)(w.default,{src:"/typing-animation.gif",alt:n("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),u>0&&(0,s.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:u})]})}),(0,s.jsx)(N.lG,{open:o,onOpenChange:i,children:(0,s.jsxs)(N.Cf,{className:"sm:max-w-2xl p-4",children:[(0,s.jsxs)(N.L3,{className:"text-sm",children:[a," — ",n("title")]}),(0,s.jsx)(N.rr,{className:"sr-only",children:n("title")}),(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,s.jsx)(F,{slots:c,projectName:a,agentCount:u,collapsed:!o,effects:m,onEffectsConsumed:h})})]})})]})}var M=a(59208),U=a(54449),I=a(62482),D=a(32470),O=a(17001),B=a(97868);function z(e){let{state:t}=e;return"error"===t?(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-flex h-2.5 w-2.5 shrink-0 rounded-full bg-[#D97706] opacity-90"}):(0,s.jsx)("span",{className:"shrink-0",children:(0,s.jsx)(B.md,{online:"online"===t,size:"md"})})}function Y(e){let{connection:t,executions:a,showHost:r,nowMs:n}=e,o=(0,l.c)("agentPresence"),i=(0,l.c)("agentConnections"),{text:c,dot:d}=(0,B.c0)(t,a,n),u=a.filter(e=>"running"===e.status),x=a.filter(e=>"queued"===e.status),m=u.length>0||x.length>0,f="online"===t.effectiveStatus;return(0,s.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,s.jsx)(B.A4,{connection:t,showHost:r,activity:c,dot:d}),m?(0,s.jsxs)("div",{className:"flex flex-col gap-4 pl-1",children:[u.length>0&&(0,s.jsx)(B.wL,{icon:I.A,label:i("execRunning"),count:u.length,children:u.map(e=>(0,s.jsx)(B.lb,{exec:e,nowMs:n,layout:"stacked"},e.uuid))}),x.length>0&&(0,s.jsx)(B.wL,{icon:D.A,label:i("execQueued"),count:x.length,children:x.map(e=>(0,s.jsx)(B.lb,{exec:e,nowMs:n,layout:"stacked"},e.uuid))})]}):f&&(0,s.jsx)("p",{className:"pl-1 text-[12px] text-[#9A9A9A]",children:o("connectionIdle")})]})}function $(e){let{group:t,executionsByConnection:a,nowMs:r,expanded:n,onToggle:l}=e;return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsx)(B.u,{group:t,expanded:n,onToggle:l}),n&&(0,s.jsx)("div",{className:"flex flex-col gap-3 pl-7",children:t.connections.map(e=>{var n;return(0,s.jsx)(Y,{connection:e,executions:null!=(n=a[e.uuid])?n:[],showHost:t.multiHost,nowMs:r},e.uuid)})})]})}function L(e){let{groups:t,executionsByConnection:a,nowMs:n}=e,[l,o]=(0,r.useState)(new Set);return 0===t.length?(0,s.jsx)(B.Bs,{variant:"compact"}):(0,s.jsx)("div",{className:"flex flex-col gap-5",children:t.map(e=>(0,s.jsx)($,{group:e,executionsByConnection:a,nowMs:n,expanded:l.has(e.agentUuid),onToggle:()=>{let t;return t=e.agentUuid,o(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}},e.agentUuid))})}let q={online:"border-[#E7E1D7] bg-[#FCFBF8] hover:bg-[#FBF4EF] hover:border-[#E2D6C9]",idle:"border-[#EAE5DC] bg-[#FAF8F4] hover:bg-[#F6F2EC]",loading:"border-[#EAE5DC] bg-[#FAF8F4]",error:"border-[#EBD9C4] bg-[#FFF9F2] hover:bg-[#FEF3E4]"};function G(e){let t,{mobile:a=!1}=e,r=(0,l.c)("agentPresence"),{status:n,onlineCount:o,connections:i,executionsByConnection:d,setModalOpen:u}=(0,M.$d)(),x=a?"text-[12.5px]":"text-[11.5px]",m="loading"===n?"loading":"error"===n?"error":o>0?"online":"idle";if("error"===n)t=(0,s.jsx)("span",{className:"truncate font-medium text-[#B45309] ".concat(x),children:r("unavailable")});else if("loading"===n)t=(0,s.jsx)("span",{className:"truncate text-muted-foreground/70 ".concat(x),children:r("loading")});else{let e=o>0?"text-[#15803D]":"text-foreground/80";t=(0,s.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5 truncate ".concat(x),children:[(0,s.jsx)("span",{className:"font-semibold leading-none tabular-nums ".concat(e," ").concat(a?"text-[17px]":"text-[15px]"),children:o}),(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:r("onlineUnit",{count:o})})]})}let f=(0,B.Jk)((0,B.fb)(i,d),d).filter(e=>e.onlineCount>0);return(0,s.jsxs)(O.AM,{children:[(0,s.jsx)(O.Wv,{asChild:!0,children:(0,s.jsxs)(c.$,{variant:"ghost","aria-label":r("pillAria"),className:"group h-auto w-full justify-start gap-2.5 rounded-xl border px-3 ".concat(a?"py-2.5":"py-2"," shadow-[0_1px_2px_rgba(44,44,44,0.03)] transition-colors ").concat(q[m]),children:[(0,s.jsx)(z,{state:m}),t]})}),(0,s.jsx)(O.hl,{align:"start",side:"top",sideOffset:8,className:"max-h-[60vh] w-[min(92vw,400px)] overflow-y-auto p-3",children:(0,s.jsx)(W,{groups:f,executionsByConnection:d,onViewAll:()=>u(!0)})})]})}function W(e){let{groups:t,executionsByConnection:a,onViewAll:r}=e,n=(0,l.c)("agentPresence"),o=(0,B.le)();return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsx)("div",{className:"flex items-center justify-between",children:(0,s.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-wide text-[#6B6B6B]",children:n("popoverTitle")})}),(0,s.jsx)(L,{groups:t,executionsByConnection:a,nowMs:o}),(0,s.jsx)(c.$,{variant:"ghost",size:"sm",onClick:r,className:"w-full justify-center text-[12px] font-medium text-[#C67A52] hover:bg-[#C67A5214] hover:text-[#A65F3C]",children:n("viewAll")})]})}var K=a(67587),V=a(11966),H=a(42533),J=a(1861),X=a(43057),Q=a(83553),Z=a(95886),ee=a(11080);let et=(0,r.createContext)(null),ea=new Set(["agent_checkin"]);function es(e){let{children:t}=e,[a,o]=(0,r.useState)(0),i=(0,r.useRef)(new Set),c=(0,n.useRouter)(),d=(0,l.c)("notifications"),u=(0,r.useCallback)(()=>{i.current.forEach(e=>e())},[]),x=(0,r.useCallback)(async()=>{try{let e=await (0,y.tm)("/api/notifications?readFilter=unread&take=0");if(e.ok){let t=await e.json();t.success&&o(t.data.unreadCount)}}catch(e){}},[]),m=(0,r.useCallback)(()=>{x(),u()},[x,u]),f=(0,r.useCallback)(e=>{if(!e.action||ea.has(e.action)||!e.entityTitle||!e.actorName)return;let t=d("types.".concat(e.action)),a=e.entityTitle,r="".concat(e.actorName," \xb7 ").concat(t);(0,K.oR)(a,{description:r,icon:function(e){switch(e){case"task_assigned":case"idea_claimed":return(0,s.jsx)(V.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,s.jsx)(H.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,s.jsx)(J.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,s.jsx)(X.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,s.jsx)(Q.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,s.jsx)(Z.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,s.jsx)(ee.A,{className:"h-4 w-4 text-blue-500"});default:return(0,s.jsx)(Z.A,{className:"h-4 w-4 text-muted-foreground"})}}(e.action),duration:5e3,action:e.entityType&&e.entityUuid&&e.projectUuid?{label:d("viewDetail"),onClick:()=>c.push(function(e,t,a){let s="/projects/".concat(a);switch(e){case"task":return"".concat(s,"/tasks/").concat(t);case"idea":return"".concat(s,"/dashboard?panel=").concat(t);case"proposal":return"".concat(s,"/proposals/").concat(t);case"document":return"".concat(s,"/documents/").concat(t);default:return s}}(e.entityType,e.entityUuid,e.projectUuid))}:void 0})},[d,c]);(0,r.useEffect)(()=>{let e,t=null;function a(){s(),(t=new EventSource("/api/events/notifications")).onmessage=t=>{try{let e=JSON.parse(t.data);"number"==typeof e.unreadCount&&o(e.unreadCount),"new_notification"===e.type&&f(e)}catch(e){}clearTimeout(e),e=setTimeout(u,300)},t.onerror=()=>{}}function s(){t&&(t.close(),t=null)}function r(){"visible"===document.visibilityState?(a(),x()):s()}return a(),x(),document.addEventListener("visibilitychange",r),()=>{s(),clearTimeout(e),document.removeEventListener("visibilitychange",r)}},[x,u,f]);let p=(0,r.useMemo)(()=>({unreadCount:a,refreshNotifications:m}),[a,m]);return(0,s.jsx)(et.Provider,{value:p,children:t})}function er(){let e=(0,r.useContext)(et);return e||{unreadCount:0,refreshNotifications:()=>{}}}var en=a(36557),el=a(11426),eo=a(16544),ei=a(65626),ec=a(39674),ed=a(64993),eu=a(57731);let ex=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],em=new Set(["agent_checkin"]);function ef(e){let{onClose:t}=e,a=(0,l.c)("notifications"),o=(0,n.useRouter)(),{refreshNotifications:d}=er(),u=(0,r.useCallback)(e=>{let t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4),r=Math.floor(t/36e5),n=Math.floor(t/864e5);return s<1?a("justNow"):s<60?a("minutesAgo",{count:s}):r<24?a("hoursAgo",{count:r}):a("daysAgo",{count:n})},[a]),[x,m]=(0,r.useState)([]),[f,p]=(0,r.useState)([]),[h,g]=(0,r.useState)(0),[b,j]=(0,r.useState)(0),[v,w]=(0,r.useState)(!0),N=(0,r.useCallback)(async(e,t)=>{let a=new URLSearchParams({limit:"20",offset:String(t)});e&&a.set("unreadOnly","true");let s=await (0,y.tm)("/api/notifications?".concat(a));if(!s.ok)return null;let r=await s.json();return r.success?r.data:null},[]);(0,r.useEffect)(()=>{let e=!1;return async function(){w(!0);let[t,a]=await Promise.all([N(!1,0),N(!0,0)]);e||(t&&(m(t.notifications),g(t.notifications.length<20?t.notifications.length:999)),a&&(p(a.notifications),j(a.unreadCount)),w(!1))}(),()=>{e=!0}},[N]);let k=async()=>{await (0,y.tm)("/api/notifications/read-all",{method:"POST"}),p([]),j(0),m(e=>e.map(e=>e.readAt?e:{...e,readAt:new Date().toISOString()})),d()},A=async e=>{e.readAt||((0,y.tm)("/api/notifications/".concat(e.uuid,"/read"),{method:"PATCH"}),p(t=>t.filter(t=>t.uuid!==e.uuid)),m(t=>t.map(t=>t.uuid===e.uuid?{...t,readAt:new Date().toISOString()}:t)),d()),t(),o.push(function(e){let{action:t,entityType:a,entityUuid:s,projectUuid:r}=e,n="/projects/".concat(r);if("report_created"===t)return"".concat(n,"/dashboard?panel=").concat(s,"&tab=overview");switch(a){case"task":return"".concat(n,"/tasks/").concat(s);case"idea":return"".concat(n,"/dashboard?panel=").concat(s);case"proposal":return"".concat(n,"/proposals/").concat(s);case"document":return"".concat(n,"/documents/").concat(s);default:return n}}(e))},C=async e=>{let t=e?f:x,a=await N(e,t.length);a&&(e?p(e=>[...e,...a.notifications]):m(e=>[...e,...a.notifications]))},S=e=>{let{Icon:t,color:r}=function(e){switch(e){case"task_assigned":case"idea_claimed":return{Icon:V.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:H.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:J.A,color:"text-red-500"};case"comment_added":return{Icon:X.A,color:"text-orange-500"};case"mentioned":return{Icon:Q.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:Z.A,color:"text-blue-500"};case"task_status_changed":return{Icon:ee.A,color:"text-blue-500"};case"report_created":return{Icon:el.A,color:"text-emerald-600"};default:return{Icon:Z.A,color:"text-muted-foreground"}}}(e.action),n=function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return ex[Math.abs(t)%ex.length]}(e.projectUuid),l=!e.readAt;return(0,s.jsx)(eo.P.div,{variants:ei.Rf,children:(0,s.jsxs)("button",{onClick:()=>A(e),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,s.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:l?(0,s.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,s.jsx)("div",{className:"h-2 w-2"})}),(0,s.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,s.jsx)(t,{className:"h-4 w-4 ".concat(r)})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)(eu.E,{variant:"secondary",className:"mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ".concat(n.bg," ").concat(n.text," border-0"),children:e.projectName}),(0,s.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:e.entityTitle}),(0,s.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:a("types.".concat(e.action))}),(0,s.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[e.actorName," \xb7 ",u(e.createdAt)]})]})]})},e.uuid)},E=(e,t,r)=>{let n=e.filter(e=>!em.has(e.action));return v?(0,s.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[a("loadMore"),"..."]}):0===n.length?(0,s.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:t?a("noUnread"):a("noNotifications")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eo.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:n.map(S)}),n.length<r&&(0,s.jsx)("div",{className:"p-3 text-center",children:(0,s.jsx)(c.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>C(t),children:a("loadMore")})})]})};return(0,s.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:a("title")}),(0,s.jsx)(c.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:k,children:a("markAllRead")})]}),(0,s.jsxs)(ec.tU,{defaultValue:"unread",className:"gap-0",children:[(0,s.jsxs)(ec.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,s.jsxs)(ec.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[a("tabUnread")," ",b>0&&"(".concat(b,")")]}),(0,s.jsx)(ec.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:a("tabAll")})]}),(0,s.jsx)(ec.av,{value:"all",className:"mt-0",children:(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,s.jsx)(ed.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:E(x,!1,h)})},"tab-all")}),(0,s.jsx)(ec.av,{value:"unread",className:"mt-0",children:(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,s.jsx)(ed.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:E(f,!0,b)})},"tab-unread")})]}),(0,s.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,s.jsx)(i(),{href:"/settings",onClick:t,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a("notificationPreferences")})})]})}function ep(){let{unreadCount:e}=er(),[t,a]=(0,r.useState)(!1);return(0,s.jsxs)(O.AM,{open:t,onOpenChange:a,children:[(0,s.jsx)(O.Wv,{asChild:!0,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,s.jsx)(en.A,{className:"h-4 w-4"}),e>0&&(0,s.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:e>99?"99+":e})]})}),(0,s.jsx)(O.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,s.jsx)(ef,{onClose:()=>a(!1)})})]})}var eh=a(68923),eg=a(30044),eb=a(9225),ej=a(85226),ev=a(67103),ey=a(24377),ew=a(14554),eN=a(91846),ek=a(42305);let eA=["all","task","idea","proposal","document","project"],eC={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},eS={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function eE(e){let{currentProjectUuid:t,currentProjectName:a,currentGroupUuid:o,currentGroupName:i}=e,d=(0,l.c)("search"),u=(0,l.c)("time"),x=(0,n.useRouter)(),[m,f]=(0,r.useState)(""),[p,h]=(0,r.useState)(t?"project":o?"group":"global"),[g,b]=(0,r.useState)([]),[j,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(!1),[A,C]=(0,r.useState)("all"),[S,E]=(0,r.useState)(0),F=(0,r.useRef)(null),R=(0,r.useRef)([]),T=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{h(t?"project":o?"group":"global")},[t,o]),(0,r.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&!e.defaultPrevented&&(e.preventDefault(),w(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,r.useEffect)(()=>{y?setTimeout(()=>{var e;return null==(e=F.current)?void 0:e.focus()},0):(f(""),b([]),C("all"))},[y]);let P=(0,r.useCallback)(async function(e,a){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if(!e.trim()){b([]),v(!1);return}v(!0);try{let r=new URLSearchParams({q:e.trim(),scope:a,limit:"20"});"project"===a&&t?r.set("scopeUuid",t):"group"===a&&o&&r.set("scopeUuid",o),"all"!==s&&r.set("types",s);let n=await fetch("/api/search?".concat(r.toString()),{credentials:"include"});if(!n.ok){k.q.error("Search failed:",n.status),b([]);return}let l=await n.json();l.success?b(l.data.results):b([])}catch(e){k.q.error("Search error:",e),b([])}finally{v(!1)}},[t,o]),_=(0,r.useCallback)(e=>{f(e),T.current&&clearTimeout(T.current),e.trim()?T.current=setTimeout(()=>{P(e,p,A)},300):(b([]),v(!1))},[p,A,P]),M=(0,r.useCallback)(e=>{h(e),m.trim()&&P(m,e,A)},[m,A,P]),U=(0,r.useCallback)(e=>{C(e),E(0),m.trim()&&P(m,p,e)},[m,p,P]);(0,r.useEffect)(()=>{E(0)},[g]);let I=(0,r.useCallback)(e=>{switch(w(!1),e.entityType){case"task":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/tasks/").concat(e.uuid));break;case"idea":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/dashboard?panel=").concat(e.uuid));break;case"proposal":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/proposals/").concat(e.uuid));break;case"document":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/documents/").concat(e.uuid));break;case"project":x.push("/projects/".concat(e.uuid,"/dashboard"));break;case"project_group":x.push("/projects")}},[x]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(c.$,{variant:"outline",size:"icon",onClick:()=>w(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,s.jsx)(eg.A,{className:"h-4 w-4 shrink-0"}),(0,s.jsx)("span",{className:"hidden md:inline truncate text-sm",children:d("placeholder")}),(0,s.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,s.jsx)(eb.A,{className:"h-3 w-3"}),(0,s.jsx)("span",{children:"K"})]})]}),(0,s.jsx)(N.lG,{open:y,onOpenChange:w,children:(0,s.jsxs)(N.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,s.jsx)(N.L3,{className:"sr-only",children:d("placeholder")}),(0,s.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,s.jsx)(eg.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,s.jsx)(ew.p,{ref:F,type:"text",placeholder:d("placeholder"),value:m,onChange:e=>_(e.target.value),onKeyDown:e=>{!(0,ek.P)(e)&&("ArrowDown"===e.key?(e.preventDefault(),E(e=>{var t;let a=Math.min(e+1,g.length-1);return null==(t=R.current[a])||t.scrollIntoView({block:"nearest"}),a})):"ArrowUp"===e.key?(e.preventDefault(),E(e=>{var t;let a=Math.max(e-1,0);return null==(t=R.current[a])||t.scrollIntoView({block:"nearest"}),a})):"Enter"===e.key&&g.length>0&&(e.preventDefault(),I(g[S])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),j&&(0,s.jsx)(ej.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,s.jsxs)(eN.l6,{value:p,onValueChange:e=>M(e),children:[(0,s.jsx)(eN.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,s.jsx)(eN.yv,{})}),(0,s.jsxs)(eN.gC,{children:[(0,s.jsx)(eN.eb,{value:"global",children:d("scopeGlobal")}),o&&(0,s.jsx)(eN.eb,{value:"group",children:i||d("scopeGroup")}),t&&(0,s.jsx)(eN.eb,{value:"project",children:a||d("scopeProject")})]})]})]}),m.trim()&&(0,s.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:eA.map(e=>(0,s.jsx)(c.$,{variant:A===e?"default":"ghost",size:"sm",onClick:()=>U(e),className:(0,ey.cn)("h-7 px-3 text-xs rounded-full shrink-0",A===e?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:d(eS[e])},e))}),(0,s.jsx)(ed.F,{className:"max-h-[400px]",children:(0,s.jsx)(ev.N,{mode:"wait",children:m.trim()?j?(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,s.jsx)(ej.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),d("placeholder"),"..."]})},"loading"):0===g.length?(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("noResults")})},"no-results"):(0,s.jsx)(eo.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:ei.Yv.staggerFast},className:"p-2",children:g.map((e,t)=>(0,s.jsx)(eo.P.div,{variants:ei.Rf,children:(0,s.jsxs)("button",{ref:e=>{R.current[t]=e},onClick:()=>I(e),onMouseEnter:()=>E(t),className:(0,ey.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",t===S?"bg-accent":"hover:bg-accent/50"),children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,s.jsx)(eu.E,{variant:"outline",className:(0,ey.cn)("text-[10px] px-1.5 py-0 shrink-0",eC[e.entityType]||"bg-muted text-muted-foreground"),children:d("entityType.".concat(e.entityType))}),e.status&&(0,s.jsx)(eu.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.status}),e.projectName&&(0,s.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:e.projectName})]}),(0,s.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:e.title}),e.snippet&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:e.snippet}),(0,s.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(e=>{let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?u("justNow"):t<3600?u("minutesAgo",{minutes:Math.floor(t/60)}):t<86400?u("hoursAgo",{hours:Math.floor(t/3600)}):u("daysAgo",{days:Math.floor(t/86400)})})(e.updatedAt)})]})},"".concat(e.entityType,"-").concat(e.uuid)))},"results-".concat(A)):(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("placeholder")})},"empty")})}),(0,s.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),d("filterAll")]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function eF(e){let{children:t}=e,a=function(e){let t=e.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|documents|proposals))\/.+$/);return t?t[1]:e}((0,n.usePathname)());return(0,s.jsx)(eo.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:ei.Yv.normal,ease:ei.Yv.easeOut},className:"flex-1 flex flex-col",children:t},a)}let eR=e=>{let{...t}=e;return(0,s.jsx)(K.l$,{className:"toaster group",...t})};function eT(e){let{children:t}=e,a=(0,n.useRouter)(),o=(0,n.usePathname)(),w=(0,l.c)(),[N,A]=(0,r.useState)(null),[C,S]=(0,r.useState)(null),[E,F]=(0,r.useState)([]),[R,T]=(0,r.useState)(!0),[I,D]=(0,r.useState)(!1),[O,z]=(0,r.useState)(!1),[Y,$]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");$(e.matches);let t=e=>$(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,r.useEffect)(()=>{z(!1)},[o]);let L=function(e){let t=e.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(o),q=function(e){let t=e.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(o),[W,K]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!q)return void K(null);(0,y.tm)("/api/project-groups/".concat(q)).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.success)&&K(e.data.name)}).catch(()=>K(null))},[q]);let V="/projects"===o||"/settings"===o||o.startsWith("/project-groups"),H=L&&!V,J=o.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/);(0,r.useEffect)(()=>{X()},[]),(0,r.useEffect)(()=>{if(!L||V){S(null),F([]);return}let e=!1;return async function(){try{var t;let a=await (0,y.tm)("/api/projects/".concat(L));if(!a.ok||e)return;let s=await a.json();if(!s.success||e)return;let r={uuid:s.data.uuid,name:s.data.name,groupUuid:null!=(t=s.data.groupUuid)?t:null};if(S(r),r.groupUuid){let t=await (0,y.tm)("/api/project-groups/".concat(r.groupUuid));if(!t.ok||e)return;let a=await t.json();a.success&&!e&&F((a.data.projects||[]).filter(e=>e.uuid!==L))}else F([])}catch(e){k.q.error("Failed to fetch current project:",e)}}(),()=>{e=!0}},[L,V]);let X=async()=>{try{let e=await (0,y.tm)("/api/auth/session");if(401===e.status&&(await (0,y.OX)(),e=await (0,y.tm)("/api/auth/session")),401===e.status){(0,y.w9)(),a.push("/login");return}if(!e.ok)return void T(!1);let t=await e.json();t.success&&t.data.user&&A({uuid:t.data.user.uuid,email:t.data.user.email,name:t.data.user.name||t.data.user.email})}catch(e){k.q.error("Session check failed:",e)}T(!1)},Q=async()=>{try{await (0,y.ri)()}catch(e){(0,y.w9)()}a.push("/login")};if(R)return(0,s.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,s.jsx)("div",{className:"text-muted-foreground",children:w("common.loading")})});let Z=[{href:"/projects",label:w("nav.projects"),icon:p.A},{href:"/settings",label:w("nav.settings"),icon:h.A}],ee=e=>e.endsWith("/dashboard")?o===e:"/projects"===e?"/projects"===o:o===e||o.startsWith(e+"/"),et=e=>{var t;let{mobile:r=!1}=e,n=r?"text-[15px]":"text-[13px]",l=r?"h-5 w-5":"h-4 w-4",o=r?"gap-1.5":"gap-1",p=r?"h-10":"",h=r?"text-[13px]":"text-[11px]",v=r?"text-[15px]":"text-[13px]",y=r?"text-[12px]":"text-[11px]";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,s.jsx)("span",{className:"text-base font-semibold text-foreground",children:w("common.appName")})]}),(0,s.jsx)("div",{className:"hidden md:block",children:(0,s.jsx)(ep,{})})]}),!r&&(0,s.jsx)(eE,{currentProjectUuid:L||void 0,currentProjectName:null==C?void 0:C.name,currentGroupUuid:q||void 0,currentGroupName:W||void 0}),(0,s.jsx)("nav",{className:"flex flex-col ".concat(o),children:H&&L?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i(),{href:"/projects",children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ".concat(n," ").concat(p),children:[(0,s.jsx)(g.A,{className:r?"h-4 w-4":"h-3 w-3"}),w("nav.backToProjects")]})}),C&&(0,s.jsxs)("div",{className:"relative mt-2",children:[(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",onClick:()=>E.length>0&&D(!I),className:"w-full justify-between px-3 py-1.5 ".concat(0===E.length?"cursor-default":""),children:[(0,s.jsx)("span",{className:"truncate font-semibold uppercase tracking-wider text-foreground ".concat(h),children:C.name}),E.length>0&&(0,s.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground transition-transform ".concat(I?"rotate-180":"")})]}),(0,s.jsx)(ev.N,{children:I&&E.length>0&&(0,s.jsx)(eo.P.div,{variants:ei.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:E.map(e=>(0,s.jsx)(c.$,{variant:"ghost",size:"sm",onClick:()=>{D(!1),a.push("/projects/".concat(e.uuid,"/dashboard"))},className:"w-full justify-start px-3 py-2 ".concat(n," [&>*]:truncate text-muted-foreground"),children:(0,s.jsx)("span",{className:"truncate",children:e.name})},e.uuid))})})]}),(0,s.jsx)("div",{className:"mt-2 flex flex-col ".concat(o),children:[{href:"/projects/".concat(L,"/dashboard"),label:w("nav.overview"),icon:d.A},{href:"/projects/".concat(L,"/documents"),label:w("nav.documents"),icon:u.A},{href:"/projects/".concat(L,"/proposals"),label:w("nav.proposals"),icon:x.A},{href:"/projects/".concat(L,"/tasks"),label:w("nav.tasks"),icon:m.A},{href:"/projects/".concat(L,"/activity"),label:w("nav.activity"),icon:f.A}].map(e=>{let t=ee(e.href),a=e.icon;return(0,s.jsx)(i(),{href:e.href,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(p," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,s.jsx)(eo.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,s.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,s.jsx)(a,{className:"".concat(l," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})]}):(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"flex flex-col ".concat(o),children:Z.map(e=>{let t=ee(e.href),a=e.icon;return(0,s.jsx)(i(),{href:e.href,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(p," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,s.jsx)(eo.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,s.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,s.jsx)(a,{className:"".concat(l," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})})})]}),(0,s.jsxs)("div",{className:"mt-auto flex flex-col gap-1 px-4 pb-4",children:[(0,s.jsx)(G,{mobile:r}),(0,s.jsx)("div",{className:"px-2 pt-1",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ".concat(r?"h-10 w-10 text-base":"h-9 w-9 text-sm"),children:(null==N||null==(t=N.name)?void 0:t.charAt(0))||"U"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate font-medium text-foreground ".concat(v),children:null==N?void 0:N.name}),(0,s.jsx)("div",{className:"truncate text-muted-foreground ".concat(y),children:null==N?void 0:N.email})]}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:Q,title:w("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,s.jsx)(j.A,{className:"h-4 w-4"})})]})})]})]})};return(0,s.jsxs)(es,{children:[(0,s.jsx)(U.OJ,{children:(0,s.jsxs)(M.Oj,{children:[(0,s.jsx)(B.MH,{}),(0,s.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,s.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,s.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,s.jsx)("button",{onClick:()=>z(!0),"aria-label":w("nav.openMenu"),children:(0,s.jsx)(v.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,s.jsx)("span",{className:"text-sm font-semibold text-foreground",children:w("common.appName")})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eE,{currentProjectUuid:L||void 0,currentProjectName:null==C?void 0:C.name,currentGroupUuid:q||void 0,currentGroupName:W||void 0}),(0,s.jsx)(ep,{})]})]})}),(0,s.jsx)(eh.cj,{open:O,onOpenChange:z,children:(0,s.jsx)(eh.h,{side:"left",className:"w-[280px] p-0",children:(0,s.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,s.jsx)(et,{mobile:!0})})})}),(0,s.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,s.jsx)(et,{})}),H&&L?(0,s.jsxs)(P.tS,{projectUuid:L,children:[(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})}),(0,s.jsx)(_,{projectUuid:L,projectName:(null==C?void 0:C.name)||""})]}):"/projects"===o||o.startsWith("/project-groups")?(0,s.jsx)(P.tS,{children:(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})})}):(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})})]})]})}),(0,s.jsx)(eR,{position:Y?"top-center":"top-right",closeButton:!Y})]})}}},e=>{e.O(0,[93151,41752,12079,18944,12790,26885,14655,71350,30724,16544,27201,16551,97784,14753,89644,45532,70552,15183,26394,27378,2280,88561,97868,74951,65496,77358],()=>e(e.s=5877)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14997],{30509:(e,t,r)=>{"use strict";r.d(t,{HB:()=>a,JK:()=>l,XQ:()=>o,bN:()=>c,vh:()=>n});var s=r(14655);function a(e){let t=function(e){let t=window.location.origin,r=new s.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,silent_redirect_uri:"".concat(t,"/login/silent-refresh"),accessTokenExpiringNotificationTimeInSeconds:60,userStore:r,extraQueryParams:{company:e.companyUuid}}}(e);return new s.$5(t)}function n(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function o(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function l(){localStorage.removeItem("oidc_config")}function c(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,r)=>{"use strict";function s(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let r=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(r,"-").concat(s,"-").concat(a," ").concat(n,":").concat(o)}function a(e,t){let r="string"==typeof e?new Date(e):e;return isNaN(r.getTime())?"":r.toLocaleDateString(t,{month:"short",day:"numeric"})}r.d(t,{r:()=>s,s:()=>a})},62990:(e,t,r)=>{"use strict";r.d(t,{OX:()=>x,aK:()=>u,dv:()=>o,hj:()=>l,ri:()=>m,tm:()=>p,vN:()=>i,w9:()=>c});var s=r(30509),a=r(67712);let n=null;function o(){if(!n){let e=(0,s.XQ)();e&&(n=(0,s.HB)(e))}return n}function l(e){return(0,s.vh)(e),n=(0,s.HB)(e)}function c(){n=null}async function i(){let e=o();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function d(){let e=await i();return e?e.access_token:null}async function u(e,t){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e,refreshToken:t})})).ok}catch(e){return a.q.error("Failed to sync token to cookie"),!1}}async function x(){try{await fetch("/api/keepalive",{method:"GET",credentials:"same-origin",cache:"no-store"})}catch(e){}}async function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=await d(),s=new Headers(t.headers);r&&s.set("Authorization","Bearer ".concat(r));let a=await fetch(e,{...t,headers:s});if(401===a.status)if(o());else try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return s.delete("Authorization"),fetch(e,{...t,headers:s})}catch(e){}return a}async function m(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=o();if(e)try{await e.removeUser()}catch(e){}c(),(0,s.JK)()}},67712:(e,t,r)=>{"use strict";r.d(t,{q:()=>l});var s=r(55036);let a={debug:0,info:1,warn:2,error:3},n=s.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return a[e]>=a[n]}let l={debug:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];o("debug")&&console.debug("[Chorus] ".concat(e),...r)},info:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];o("info")&&console.info("[Chorus] ".concat(e),...r)},warn:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];o("warn")&&console.warn("[Chorus] ".concat(e),...r)},error:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];o("error")&&console.error("[Chorus] ".concat(e),...r)}}},77298:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>k});var s=r(90508),a=r(1856),n=r(23675),o=r(39268),l=r(12790),c=r.n(l),i=r(48416),d=r(22922),u=r(71388),x=r(52309),p=r(5616),m=r(78948),h=r(62990),f=r(97438),g=r(14554),j=r(88064),b=r(97413),C=r(17475);function v(e){let{open:t,onOpenChange:r,groupUuid:l,groupName:c,groupDescription:i,projectCount:u,onUpdated:p}=e,m=(0,o.c)("projectGroups"),v=(0,n.useRouter)(),[N,A]=(0,a.useState)(c),[y,w]=(0,a.useState)(null!=i?i:""),[k,E]=(0,a.useState)(!1),[D,S]=(0,a.useState)(!1),[_,T]=(0,a.useState)(!1),[O,P]=(0,a.useState)(!1),B=async()=>{if(N.trim()){E(!0);try{let e=await (0,h.tm)("/api/project-groups/".concat(l),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N.trim(),description:y.trim()||null})});(await e.json()).success&&p()}finally{E(!1)}}},F=async()=>{S(!0);try{let e=await (0,h.tm)(O?"/api/project-groups/".concat(l,"?deleteProjects=true"):"/api/project-groups/".concat(l),{method:"DELETE"});(await e.json()).success&&(r(!1),v.push("/projects"))}finally{S(!1)}};return(0,s.jsx)(f.lG,{open:t,onOpenChange:e=>{e&&(A(c),w(null!=i?i:""),T(!1),P(!1)),r(e)},children:(0,s.jsxs)(f.Cf,{className:"max-w-[480px] gap-0 p-0",children:[(0,s.jsx)(f.c7,{className:"border-b border-[#E5E2DC] px-6 py-5",children:(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)(x.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,s.jsx)(f.L3,{className:"text-[18px] font-semibold tracking-tight text-[#2C2C2C]",children:m("manageGroup")})]})}),(0,s.jsxs)("div",{className:"space-y-5 px-6 py-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(j.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:m("groupName")}),(0,s.jsx)(g.p,{value:N,onChange:e=>A(e.target.value),className:"h-10 rounded-lg border-[#E5E2DC] text-[13px] focus-visible:ring-[#C67A52]"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(j.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:m("descriptionOptional")}),(0,s.jsx)("textarea",{value:y,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,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(d.$,{onClick:B,disabled:k||!N.trim()||N===c&&y===(null!=i?i:""),className:"rounded-lg bg-[#C67A52] text-[13px] font-medium text-white hover:bg-[#B56A42]",children:m(k?"saving":"saveChanges")})})]}),(0,s.jsx)("div",{className:"border-t border-[#E5E2DC] px-6 py-5",children:_?(0,s.jsxs)("div",{className:"space-y-3 rounded-lg border border-red-200 bg-red-50 p-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-semibold text-red-700",children:[(0,s.jsx)(C.A,{className:"h-4 w-4"}),m("deleteConfirmTitle")]}),(0,s.jsx)("p",{className:"text-[12px] text-red-600",children:m("deleteConfirmDesc")}),u>0&&(0,s.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-[#2C2C2C]",children:[(0,s.jsx)("input",{type:"radio",name:"deleteOption",checked:!O,onChange:()=>P(!1),className:"accent-[#C67A52]"}),m("deleteKeepProjects",{count:u})]}),(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-red-600",children:[(0,s.jsx)("input",{type:"radio",name:"deleteOption",checked:O,onChange:()=>P(!0),className:"accent-red-600"}),m("deleteWithProjects",{count:u})]})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(d.$,{variant:"outline",size:"sm",onClick:()=>T(!1),className:"rounded-lg border-[#E5E2DC] text-[12px]",children:m("cancel")}),(0,s.jsxs)(d.$,{size:"sm",onClick:F,disabled:D,className:"rounded-lg bg-red-600 text-[12px] text-white hover:bg-red-700",children:[(0,s.jsx)(b.A,{className:"mr-1 h-3 w-3"}),m(D?"deleting":"confirmDelete")]})]})]}):(0,s.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,s.jsx)(b.A,{className:"h-4 w-4"}),m("deleteGroup")]})})]})})}var N=r(88738),A=r(38280),y=r(38106);let w={task:"#5A9E6F",idea:"#C67A52",proposal:"#1976D2",document:"#9A9A9A"};function k(){let e=(0,n.useParams)(),t=(0,n.useRouter)(),r=(0,o.c)(),[l,f]=(0,a.useState)(null),[g,j]=(0,a.useState)(!0),[b,C]=(0,a.useState)(null),[k,E]=(0,a.useState)(!1),[D,S]=(0,a.useState)(!1),_=async()=>{try{let s=await (0,h.tm)("/api/project-groups/".concat(e.uuid,"/dashboard"));if(!s.ok){if(404===s.status)return void t.push("/projects");C(r("common.genericError"));return}let a=await s.json();a.success?f(a.data):C(a.error||r("common.genericError"))}catch(e){C(r("common.genericError"))}finally{j(!1)}};if((0,a.useEffect)(()=>{_()},[e.uuid]),g)return(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:r("common.loading")})});if(b||!l)return(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:b||r("common.genericError")})});let{group:T,stats:O,projects:P,recentActivity:B}=l,F=[{label:r("groupDashboard.statProjects"),value:O.projectCount,valueColor:"text-[#2C2C2C]"},{label:r("groupDashboard.statTotalTasks"),value:O.totalTasks,valueColor:"text-[#C67A52]"},{label:r("groupDashboard.statCompletionRate"),value:"".concat(O.completionRate,"%"),valueColor:"text-[#5A9E6F]"},{label:r("groupDashboard.statOpenIdeas"),value:O.openIdeas,valueColor:"text-[#2C2C2C]"},{label:r("groupDashboard.statActiveProposals"),value:O.activeProposals,valueColor:"text-[#C67A52]"}];return(0,s.jsxs)("div",{className:"flex h-full flex-col gap-6 bg-[#FAF8F4] p-4 md:p-6 lg:p-8",children:[(0,s.jsx)("div",{className:"flex items-center justify-between",children:(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px]",children:[(0,s.jsx)(c(),{href:"/projects",className:"text-[#C67A52] hover:underline",children:r("nav.projects")}),(0,s.jsx)("span",{className:"text-[#9A9A9A]",children:"/"}),(0,s.jsx)("span",{className:"text-[#9A9A9A]",children:T.name})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3.5",children:[(0,s.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-[#C67A52]",children:(0,s.jsx)(u.A,{className:"h-[22px] w-[22px] text-white"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-[24px] font-semibold tracking-tight text-[#2C2C2C]",children:T.name}),(0,s.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:r("groupDashboard.subtitle",{count:O.projectCount})})]})]}),(0,s.jsxs)(d.$,{variant:"outline",size:"sm",onClick:()=>E(!0),className:"gap-2 rounded-lg border-[#E5E2DC] bg-white text-[13px] font-medium text-[#2C2C2C] hover:border-[#C67A52] hover:bg-white",children:[(0,s.jsx)(x.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),r("projectGroups.manageGroup")]})]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:F.map(e=>(0,s.jsxs)(i.Zp,{className:"rounded-2xl border-[#E5E2DC] bg-white !gap-1 p-4 !py-4 shadow-none",children:[(0,s.jsx)("p",{className:"text-[12px] font-normal text-[#9A9A9A]",children:e.label}),(0,s.jsx)("p",{className:"mt-1.5 text-[32px] font-semibold leading-none tracking-tight ".concat(e.valueColor),children:e.value})]},e.label))}),(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-6 lg:flex-row",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:r("groupDashboard.projectsInGroup")}),(0,s.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,s.jsx)(p.A,{className:"h-3.5 w-3.5"}),r("groupDashboard.newProject")]})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2",children:P.length>0?P.map(e=>{let t=(0,A.D)(e.name),a=(0,A.g)(e.name);return(0,s.jsx)(c(),{href:"/projects/".concat(e.uuid,"/dashboard"),children:(0,s.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,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[11px] font-bold",style:{backgroundColor:a.bg,color:a.text},children:t}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:e.name}),(0,s.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:r("groupDashboard.projectStats",{tasks:e.taskCount,completion:e.completionRate})})]})]}),(0,s.jsx)(m.A,{className:"h-4 w-4 text-[#9A9A9A]"})]})},e.uuid)}):(0,s.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,s.jsx)(u.A,{className:"mb-3 h-8 w-8 text-[#D0CCC4]"}),(0,s.jsx)("p",{className:"text-[13px] font-medium text-[#9A9A9A]",children:r("groupDashboard.noProjects")}),(0,s.jsx)("p",{className:"mt-1 text-[11px] text-[#C0BDB7]",children:r("groupDashboard.noProjectsHint")})]})})]}),(0,s.jsxs)("div",{className:"flex w-full flex-col gap-4 lg:w-[420px] lg:shrink-0",children:[(0,s.jsx)("h2",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:r("dashboard.recentActivity")}),(0,s.jsx)(i.Zp,{className:"flex flex-col overflow-hidden rounded-2xl border-[#E5E2DC] bg-white !gap-0 !py-0 shadow-none",children:B.length>0?B.slice(0,5).map((e,t)=>{var a;let n=null!=(a=w[e.targetType])?a:"#9A9A9A";return(0,s.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3.5 ".concat(t<Math.min(B.length,5)-1?"border-b border-[#E5E2DC]":""),children:[(0,s.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded",style:{backgroundColor:n}}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"text-[12px] leading-[1.4] text-[#2C2C2C]",children:function(e){var t;let r=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,s=e.targetType;return"".concat(s.charAt(0).toUpperCase()+s.slice(1)," ").concat(r)}(e)}),(0,s.jsxs)("p",{className:"mt-1 text-[11px] text-[#9A9A9A]",children:[e.projectName," \xb7"," ",function(e,t){let r=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(r<1)return t("time.justNow");if(r<60)return t("time.minutesAgo",{minutes:r});let s=Math.floor(r/60);if(s<24)return t("time.hoursAgo",{hours:s});let a=Math.floor(s/24);return a<7?t("time.daysAgo",{days:a}):(0,y.r)(e)}(e.createdAt,r)]})]})]},e.uuid)}):(0,s.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,s.jsx)("p",{className:"text-[13px] text-[#9A9A9A]",children:r("dashboard.noRecentActivity")})})})]})]}),(0,s.jsx)(N.C,{open:D,onOpenChange:S,groupUuid:T.uuid,groupName:T.name,onCreated:()=>{S(!1),_()}}),(0,s.jsx)(v,{open:k,onOpenChange:E,groupUuid:T.uuid,groupName:T.name,groupDescription:T.description,projectCount:O.projectCount,onUpdated:()=>{E(!1),_()}})]})}},96967:(e,t,r)=>{Promise.resolve().then(r.bind(r,77298))}},e=>{e.O(0,[12079,18944,12790,14655,71350,16544,58245,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([[1244,2734,4342,4977,5869,6476,6623,7719,8489,11140,12015,12170,12662,13056,13566,13745,14966,17453,17948,21220,23519,24869,27406,27819,29246,31025,32515,33004,33105,33157,33836,34561,37624,38189,38629,38764,39672,40494,40568,41654,42129,42371,44192,44533,44843,48597,48653,48673,51208,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,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:()=>d});var a=s(1856),n=s(93367),l=s(90508),i="horizontal",r=["horizontal","vertical"],c=a.forwardRef((e,t)=>{var s;let{decorative:a,orientation:c=i,...d}=e,o=(s=c,r.includes(s))?c:i;return(0,l.jsx)(n.sG.div,{"data-orientation":o,...a?{role:"none"}:{"aria-orientation":"vertical"===o?o:void 0,role:"separator"},...d,ref:t})});c.displayName="Separator";var d=c},7483:(e,t,s)=>{"use strict";s.d(t,{IdeaTracker:()=>ti});var a=s(90508),n=s(39268),l=s(1856),i=s(83064),r=s(66206);let c=(0,r.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"}]]),d=(0,r.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 o=s(5616),x=s(22922),u=s(81531),m=s(36755),p=s(29767),h=s(57223),f=s(63964),j=s(17730),g=s(78948),v=s(81750),b=s(96213);let N=(0,r.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"}]]);var y=s(38106);let A={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 C(e){var t;let{idea:s,onClick:l,depth:i=0,showConnector:r=!1}=e,d=(0,n.c)("ideaTracker"),o=s.badgeHint?A[s.badgeHint]:null,x=s.badgeHint&&w[s.badgeHint]||"text-[#888780]",u=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(l?"cursor-pointer hover:bg-[#FAF8F4]":""),onClick:l?()=>l(s.uuid):void 0,style:i>0?{paddingLeft:"".concat(14+22*i,"px")}:void 0,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[r&&(0,a.jsx)(N,{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===i&&u>0?"font-medium":""),children:s.title}),o&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-[#F0EEEA] px-1.5 py-0.5 text-[11px] ".concat(x),children:d("badge.".concat(o))}),u>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)(c,{className:"h-2.5 w-2.5","aria-hidden":!0}),d("lineage.derivedCount",{count:u})]})]}),(0,a.jsx)("span",{className:"shrink-0 pl-4 text-[12px] text-[#888780]",children:(0,y.s)(s.createdAt)})]})}let k={human_conduct_required:{fill:"#7F77DD"},in_progress:{fill:"#378ADD"},todo:{stroke:"#888780"},done:{fill:"#1D9E75"}},E={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"};function F(e){let{status:t,ideas:s,defaultOpen:i=!0,onIdeaClick:r}=e,c=(0,n.c)("ideaTracker"),d=s.length>0,[o,x]=(0,l.useState)(!!d&&i),u=E[t]||"todo",m=k[t]||k.todo;return(0,a.jsxs)(v.Nt,{open:o,onOpenChange:x,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:[o?(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 shrink-0 text-[#888780] transition-colors group-hover:text-[#2C2C2A]"}):(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)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:m.fill,border:m.stroke?"1.5px solid ".concat(m.stroke):void 0}}),(0,a.jsx)("span",{className:"text-[13px] font-medium transition-colors group-hover:text-[#2C2C2A] ".concat(d?"text-[#5F5E5A]":"text-[#B4B2A9]"),children:c("status.".concat(u))}),(0,a.jsx)("span",{className:"text-[12px] text-[#888780] transition-colors group-hover:text-[#2C2C2A]",children:s.length})]}),d&&(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)(C,{idea:e,onClick:r})})]},e.uuid))})})]})}function B(e){let{ideas:t,onIdeaClick:s}=e,n=(0,l.useMemo)(()=>(function(e){let t=new Map(e.map(e=>[e.uuid,e])),s=new Map,a=[];for(let i of e){var n,l;let e=null!=(n=i.parentUuid)?n:null;if(e&&t.has(e)){let t=null!=(l=s.get(e))?l:[];t.push(i),s.set(e,t)}else a.push(i)}let i=[],r=new Set,c=(e,t,a)=>{var n;if(!r.has(e.uuid))for(let l of(r.add(e.uuid),a.push({idea:e,depth:t,showConnector:t>0}),null!=(n=s.get(e.uuid))?n:[]))c(l,t+1,a)};for(let e of a){let t=[];c(e,0,t),t.length>0&&i.push(t)}for(let t of e)r.has(t.uuid)||(r.add(t.uuid),i.push([{idea:t,depth:0,showConnector:!1}]));return i})(t),[t]);return(0,a.jsx)("div",{className:"space-y-2.5",children:n.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)(C,{idea:e.idea,onClick:s,depth:e.depth,showConnector:e.showConnector})})]},e.idea.uuid))},e[0].idea.uuid))})}let S=["human_conduct_required","in_progress","todo","done"];function D(e){var t;let{projectUuid:s,initialData:i,viewMode:r,onIdeaClick:c,onNewIdea:d,onEmptyChange:u}=e,j=(0,n.c)("ideaTracker"),[g,v]=(0,l.useState)(null!=(t=null==i?void 0:i.groups)?t:{}),[b,N]=(0,l.useState)(!i),[y,A]=(0,l.useState)(null),w=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(s,"/ideas/tracker")),t=await e.json();t.success&&t.data?(v(t.data.groups),A(null)):A(t.error||j("error.loadFailed"))}catch(e){A(j("error.loadFailed"))}finally{N(!1)}},[s,j]);(0,f.eV)("idea",w),(0,f.eV)("proposal",w),(0,f.eV)("task",w),(0,l.useEffect)(()=>{i||w()},[w,i]);let C=S.reduce((e,t)=>e+(g[t]||[]).length,0);(0,l.useEffect)(()=>{b||null==u||u(0===C)},[C,b,u]);let k=S.flatMap(e=>g[e]||[]);return b?(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))}):y&&0===Object.keys(g).length?(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4 py-16",children:[(0,a.jsx)(m.A,{className:"h-10 w-10 text-[#E65100]"}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:y}),(0,a.jsx)(x.$,{variant:"outline",size:"sm",onClick:()=>{N(!0),A(null),w()},className:"border-[#E5E0D8] text-[#2C2C2C]",children:j("actions.retry")})]}):0===C?(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:j("empty.noIdeas")}),(0,a.jsx)("p",{className:"max-w-[260px] text-center text-[12px] leading-relaxed text-[#9A9A9A]",children:j("empty.getStarted")}),d&&(0,a.jsxs)(x.$,{onClick:d,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)(o.A,{className:"h-4 w-4"}),j("actions.newIdea")]})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[y&&Object.keys(g).length>0&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:y}),"tree"===r?(0,a.jsx)(B,{ideas:k,onIdeaClick:c}):(0,a.jsx)("div",{className:"space-y-4",children:S.map(e=>{let t=g[e]||[];return 0===t.length?null:(0,a.jsx)(F,{status:e,ideas:t,defaultOpen:"done"!==e,onIdeaClick:c},e)})})]})}var _=s(12790),M=s.n(_),U=s(48416),T=s(90795),P=s(85226),R=s(18789),I=s(71921),z=s(56770);let L=[{key:"todo",bg:"#E65100"},{key:"inProgress",bg:"#5A9E6F"},{key:"toVerify",bg:"#7B1FA2"},{key:"done",bg:"#00796B"}],$={idea:"bg-[#C67A52]",task:"bg-[#5A9E6F]",proposal:"bg-[#1976D2]",document:"bg-[#9A9A9A]"};function V(e){let{projectUuid:t,initialData:s}=e,i=(0,n.c)(),r=(0,n.c)("ideaTracker"),[c,d]=(0,l.useState)(null!=s?s:null),[o,x]=(0,l.useState)(!s),u=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(t,"/stats"));if(!e.ok)return;let s=await e.json();s.success&&d(s.data)}finally{x(!1)}},[t]);if((0,l.useEffect)(()=>{s||u()},[u,s]),(0,f.eV)(["idea","task","proposal","document"],u),o)return(0,a.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,a.jsx)(P.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})});if(!c)return null;let{stats:m,recentActivities:h}=c,j=[{label:r("stats.totalIdeas"),value:m.ideas.total,badge:m.ideas.open>0?r("stats.openCount",{count:m.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:r("stats.totalTasks"),value:m.tasks.total,badge:m.tasks.inProgress>0?r("stats.activeCount",{count:m.tasks.inProgress}):null,badgeStyle:"bg-[#5A9E6F20] text-[#5A9E6F]",href:"/projects/".concat(t,"/tasks"),iconBg:"bg-[#E3F2FD]",icon:(0,a.jsx)(R.A,{className:"h-5 w-5 text-[#1976D2]"})},{label:r("stats.totalProposals"),value:m.proposals.total,badge:m.proposals.pending>0?r("stats.pendingCount",{count:m.proposals.pending}):null,badgeStyle:"bg-[#C67A5220] text-[#C67A52]",href:"/projects/".concat(t,"/proposals"),iconBg:"bg-[#F3E5F5]",icon:(0,a.jsx)(I.A,{className:"h-5 w-5 text-[#7B1FA2]"})},{label:r("stats.totalDocuments"),value:m.documents.total,badge:null,badgeStyle:"",href:"/projects/".concat(t,"/documents"),iconBg:"bg-[#E8F5E9]",icon:(0,a.jsx)(z.A,{className:"h-5 w-5 text-[#5A9E6F]"})}],g=[m.tasks.todo,m.tasks.inProgress,m.tasks.toVerify,m.tasks.done],v=m.tasks.total,b=[{label:r("stats.todoCount",{count:m.tasks.todo}),color:"#E65100"},{label:r("stats.inProgressCount",{count:m.tasks.inProgress}),color:"#5A9E6F"},{label:r("stats.toVerifyCount",{count:m.tasks.toVerify}),color:"#7B1FA2"},{label:r("stats.doneCount",{count:m.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:j.map(e=>(0,a.jsx)(M(),{href:e.href,children:(0,a.jsxs)(U.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)(U.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:r("stats.taskPipeline")}),(0,a.jsx)("span",{className:"text-[12px] text-[#9A9A9A]",children:r("stats.totalCount",{count:v})})]}),v>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-5 flex h-3 w-full overflow-hidden rounded-md",children:g.map((e,t)=>e>0?(0,a.jsx)("div",{className:"h-full",style:{width:"".concat(e/v*100,"%"),backgroundColor:L[t].bg}},L[t].key):null)}),(0,a.jsx)("div",{className:"flex flex-wrap gap-5",children:b.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:r("stats.noTasks")})]}),(0,a.jsxs)(U.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:r("stats.recentActivity")}),(0,a.jsx)(M(),{href:"/projects/".concat(t,"/activity"),className:"text-[12px] font-medium text-[#C67A52] hover:underline",children:r("stats.viewAll")})]}),h.length>0?(0,a.jsx)("div",{className:"flex flex-col",children:h.map((e,t)=>{let s=$[e.targetType]||"bg-[#9A9A9A]";return(0,a.jsxs)("div",{className:"flex items-start gap-3 py-3 ".concat(t<h.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,T.fw)(e.createdAt,i)})]})]},e.uuid)})}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-[#9A9A9A]",children:r("stats.noActivity")})]})]})]})}var q=s(23675),O=s(67587),H=s(95900),J=s(57893),G=s(9160);let Q=(0,r.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"}]]);var Z=s(94903),K=s(42533),W=s(97413),X=s(64993),Y=s(57731),ee=s(14554),et=s(15972),es=s(88064),ea=s(51817),en=s(5425),el=s(84247),ei=s(94888),er=s(97261),ec=s(16544),ed=s(65626),eo=s(73693),ex=s(97868),eu=s(29532);function em(e){let{assignee:t}=e,s=(0,n.c)("common");return(0,a.jsxs)("div",{children:[(0,a.jsx)(es.J,{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:s("assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eo.eu,{className:"h-7 w-7",children:(0,a.jsx)(eo.q5,{className:(0,eu.bB)(t)?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,eu.bB)(t)?(0,a.jsx)(en.A,{className:"h-3.5 w-3.5"}):t.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:t.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:s((0,eu.bB)(t)?"agent":"user")}),"agent_instance"===t.type&&t.instance&&(0,a.jsx)("div",{className:"mt-1",children:(0,a.jsx)(ex.jQ,{cwd:t.instance.cwd,host:t.instance.host})})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:s("unassigned")})})]})}function ep(e){let{idea:t,elaboration:s,isLoading:l,onRefresh:i}=e,r=(0,n.c)("ideaTracker"),c=(0,n.c)("common");return l?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(P.A,{className:"h-5 w-5 animate-spin text-[#C67A52]"})}):(0,a.jsxs)(ec.P.div,{variants:ed.qG,initial:"initial",animate:"animate",children:[(0,a.jsx)(em,{assignee:t.assignee}),(0,a.jsx)(el.Separator,{className:"my-5 bg-[#F5F2EC]"}),s&&s.rounds.length>0?(0,a.jsx)("div",{children:(0,a.jsx)(ei.R,{ideaUuid:t.uuid,elaboration:s,onRefresh:i})}):"open"===t.status?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#FFF3E0]",children:(0,a.jsx)(en.A,{className:"h-5 w-5 text-[#E65100]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C]",children:r("panel.elaborationNotStarted")}),(0,a.jsx)("p",{className:"mt-1 text-xs text-[#9A9A9A]",children:r("panel.elaborationNotStartedDesc")})]})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#E3F2FD]",children:(0,a.jsx)(en.A,{className:"h-5 w-5 text-[#1976D2]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C]",children:r("panel.elaborationWaiting")}),(0,a.jsx)("p",{className:"mt-1 text-xs text-[#9A9A9A]",children:r("panel.elaborationWaitingDesc")})]})]}),t.content&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(el.Separator,{className:"my-5 bg-[#F5F2EC]"}),(0,a.jsxs)("div",{children:[(0,a.jsx)(es.J,{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:c("content")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(er.MarkdownContent,{children:t.content})})})]})]})]})}var eh=s(37915),ef=s(32470),ej=s(47754),eg=s(92745);function ev(e){return e.replace(/\\n/g,"\n")}let eb={prd:"typePrd",tech_design:"typeTechDesign",adr:"typeAdr",spec:"typeSpec",guide:"typeGuide",design:"typeDesign",note:"typeNote",report:"typeReport",other:"typeOther"};var eN=s(52217);let ey=(0,eN.createServerReference)("6047915d78d2374c2b002f4db0fc8d8f11fbcec17e",eN.callServer,void 0,eN.findSourceMapURL,"getProposalsForIdeaAction"),eA=(0,eN.createServerReference)("604fb7744c2336cef04f2454dc3546df0ea5028248",eN.callServer,void 0,eN.findSourceMapURL,"getTasksForProposalAction");var ew=s(67712);function eC(e){let{idea:t,projectUuid:s,onTaskClick:i,onDocClick:r,initialProposals:c}=e,d=(0,n.c)("ideaTracker"),[o,x]=(0,l.useState)(null!=c?c:[]),[u,m]=(0,l.useState)(!c),p=(0,l.useCallback)(async()=>{try{let e=await ey(s,t.uuid);if(e.success)return x(e.data),e.data}catch(e){ew.q.error("Failed to fetch proposals:",e)}finally{m(!1)}return[]},[s,t.uuid]);(0,l.useEffect)(()=>{c||p()},[p,c]);let h=(0,l.useRef)(o);h.current=o;let{getPresence:j}=(0,ej.xQ)();return((0,f.eV)("proposal",async()=>{let e=h.current;for(let l of(await p())){var t,s,a,n;let i=e.find(e=>e.uuid===l.uuid);if(!i)continue;let r=new Set((null!=(t=i.documentDrafts)?t:[]).map(e=>e.uuid)),c=new Set((null!=(s=i.taskDrafts)?s:[]).map(e=>e.uuid)),d=(null!=(a=l.documentDrafts)?a:[]).filter(e=>e.uuid&&!r.has(e.uuid)),o=(null!=(n=l.taskDrafts)?n:[]).filter(e=>e.uuid&&!c.has(e.uuid)),x=[...d.map(e=>e.uuid),...o.map(e=>e.uuid)];if(x.length>0){let e=j("proposal",l.uuid)[0];if(e)for(let t of x)(0,ej.fv)({entityType:"proposal",entityUuid:l.uuid,subEntityType:"draft",subEntityUuid:t,agentUuid:e.agentUuid,agentName:e.agentName,action:"mutate"})}}}),u)?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(P.A,{className:"h-5 w-5 animate-spin text-[#C67A52]"})}):0===o.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#F3E5F5]",children:(0,a.jsx)(I.A,{className:"h-5 w-5 text-[#7B1FA2]"})}),(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:d("panel.noProposals")})]}):(0,a.jsx)("div",{className:"space-y-5",children:o.map(e=>(0,a.jsx)(eE,{proposal:e,projectUuid:s,onTaskClick:i,onDocClick:r},e.uuid))})}let ek={draft:"bg-[#F5F5F5] text-[#6B6B6B]",pending:"bg-[#FFF3E0] text-[#E65100]",approved:"bg-[#E8F5E9] text-[#5A9E6F]",rejected:"bg-[#FFEBEE] text-[#C4574C]",revised:"bg-[#E3F2FD] text-[#1976D2]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"};function eE(e){let{proposal:t,projectUuid:s,onTaskClick:i,onDocClick:r}=e,c=(0,n.c)("ideaTracker"),d=(0,n.c)(),o=(0,n.c)("proposals"),u=(0,n.c)("tasks"),m=(0,n.c)("documents"),p=t.documentDrafts||[],h=t.taskDrafts||[],[f,j]=(0,l.useState)(new Set),[v,N]=(0,l.useState)("cards"),[y,A]=(0,l.useState)([]),w="approved"===t.status;(0,l.useEffect)(()=>{w&&eA(s,t.uuid).then(e=>{e.success&&A(e.data||[])}).catch(e=>ew.q.error("Failed to fetch materialized tasks:",e))},[w,s,t.uuid]);let C=(0,l.useMemo)(()=>{let e=new Map;for(let t of y)e.set(t.title,t);return e},[y]),{dagTasks:k,dagEdges:E,dagHeight:F}=(0,l.useMemo)(()=>{let e=h.map(e=>{let t=C.get(e.title);return{uuid:(null==t?void 0:t.uuid)||e.uuid,title:e.title,status:(null==t?void 0:t.status)||"open",priority:e.priority||"medium"}}),t=[],s=new Map(h.map(e=>[e.uuid,e]));for(let e of h)if(e.dependsOnDraftUuids)for(let a of e.dependsOnDraftUuids){let n=C.get(e.title),l=s.get(a),i=l?C.get(l.title):void 0;t.push({from:(null==n?void 0:n.uuid)||e.uuid,to:(null==i?void 0:i.uuid)||a})}return{dagTasks:e,dagEdges:t,dagHeight:Math.max(350,90*e.length)}},[h,C]),B=w?y.filter(e=>"done"===e.status||"closed"===e.status).length:0;return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#2C2C2C] truncate flex-1",children:t.title}),(0,a.jsx)(Y.E,{className:"text-[11px] font-semibold border-0 shrink-0 ".concat(ek[t.status]||""),children:d("status.".concat(t.status))})]}),t.description&&(0,a.jsx)("div",{className:"max-h-[120px] overflow-y-auto text-[13px] leading-relaxed text-[#4A4A4A] prose prose-sm max-w-none [&_h1]:text-sm [&_h2]:text-[13px] [&_h3]:text-xs [&_p]:text-[13px] [&_p]:text-[#4A4A4A] [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-[#4A4A4A] [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-[#2C2C2C]",children:(0,a.jsx)(er.MarkdownContent,{children:ev(t.description)})}),(0,a.jsxs)(M(),{href:"/projects/".concat(s,"/proposals/").concat(t.uuid),className:"flex items-center gap-1 text-[13px] font-medium text-[#C67A52] hover:underline",children:[c("panel.viewProposal"),(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"})]}),p.length>0&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:o(w?"documents":"documentDrafts")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:p.length})]}),(0,a.jsx)("div",{className:"space-y-0",children:p.map((e,s)=>(0,a.jsx)(b.D,{entityType:"proposal",entityUuid:t.uuid,subEntityType:"draft",subEntityUuid:e.uuid||"draft-".concat(s),badgeInside:!0,children:(0,a.jsxs)(x.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-[#FAF8F4] transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>e.content&&(null==r?void 0:r({title:e.title,type:e.type,content:e.content})),children:[(0,a.jsx)(eh.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),(0,a.jsx)(Y.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:m(eb[e.type]||"typeOther")}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-[#2C2C2A] truncate",children:e.title})]})},e.uuid||s))})]}),(h.length>0||y.length>0)&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:o(w?"tasks":"taskDrafts")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:w&&y.length>0?y.length:h.length})]}),(0,a.jsxs)("span",{className:"text-[12px] text-[#9A9A9A]",children:[B,"/",w&&y.length>0?y.length:h.length]})]}),(0,a.jsx)("div",{className:"-mx-6 border-t border-[#E5E0D8]"}),E.length>0&&(0,a.jsxs)("div",{className:"flex gap-0.5 rounded-lg border border-[#E5E0D8] bg-[#F7F6F3] p-0.5 mt-3 w-fit",children:[(0,a.jsx)(x.$,{variant:"ghost",size:"sm",onClick:()=>N("cards"),className:"rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ".concat("cards"===v?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:o("cardsView")}),(0,a.jsx)(x.$,{variant:"ghost",size:"sm",onClick:()=>N("dag"),className:"rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ".concat("dag"===v?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:u("dagView")})]}),"cards"===v&&(0,a.jsx)("div",{className:"space-y-0",children:w&&y.length>0?y.map(e=>(0,a.jsx)(b.D,{entityType:"task",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(eS,{task:{uuid:e.uuid,title:e.title},expanded:!1,onToggle:()=>{},onNavigate:i?()=>i(e.uuid):void 0,taskStatus:e.status})},e.uuid)):h.map((e,s)=>(0,a.jsx)(b.D,{entityType:"proposal",entityUuid:t.uuid,subEntityType:"draft",subEntityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(eS,{task:e,expanded:f.has(s),onToggle:()=>{j(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})}})},e.uuid))}),"dag"===v&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(eg._u,{tasks:k,edges:E,readonly:!0,height:F,onNodeClick:i})})]}),0===p.length&&0===h.length&&0===y.length&&(0,a.jsx)("p",{className:"text-xs text-[#9A9A9A] italic",children:o("emptyContainer")})]})}let eF={open:"border-[#D9D9D9] bg-white",assigned:"border-[#1976D2] bg-[#1976D2]",in_progress:"border-[#5A9E6F] bg-[#5A9E6F]",to_verify:"border-[#7B1FA2] bg-[#7B1FA2]",done:"border-[#00796B] bg-[#00796B]",closed:"border-[#9A9A9A] bg-[#9A9A9A]"},eB={open:null,assigned:null,in_progress:{className:"bg-[#E8F5E9] text-[#5A9E6F]",key:"inProgress"},to_verify:{className:"bg-[#F3E5F5] text-[#7B1FA2]",key:"toVerify"},done:{className:"bg-[#E0F2F1] text-[#00796B]",key:"done"},closed:{className:"bg-[#F5F5F5] text-[#9A9A9A]",key:"done"}};function eS(e){let{task:t,expanded:s,onToggle:l,onNavigate:i,taskStatus:r}=e,c=(0,n.c)("proposals"),d=(0,n.c)("acceptanceCriteria"),o=(0,n.c)("status"),u=t.acceptanceCriteriaItems||[],m=!!(t.description||u.length>0),p=r?eF[r]||eF.open:"border-[#D9D9D9] bg-white",h=r?eB[r]:null,f=(0,a.jsx)("span",{className:"shrink-0 h-2 w-2 rounded-full border-[1.5px] ".concat(p," transition-colors")}),v=(0,a.jsx)("span",{className:"flex-1 min-w-0 text-[13px] leading-snug truncate text-[#6B6B6B]",children:t.title}),b=h?(0,a.jsx)("span",{className:"shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium ".concat(h.className),children:o(h.key)}):null;return i?(0,a.jsxs)(x.$,{variant:"ghost",onClick:i,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 cursor-pointer hover:bg-[#FAF8F4] -mx-1 px-1 rounded-lg transition-colors",children:[(0,a.jsx)(eh.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),f,v,b]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)(x.$,{variant:"ghost",onClick:m?l:void 0,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 ".concat(m?"cursor-pointer hover:bg-[#FAF8F4] -mx-1 px-1 rounded-lg":""," transition-colors"),children:[s?(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}):(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),f,v,b]}),s&&m&&(0,a.jsxs)("div",{className:"pb-3 pl-5 space-y-3",children:[t.description&&(0,a.jsx)("p",{className:"text-[11px] leading-relaxed text-[#6B6B6B]",children:t.description}),u.length>0&&(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(ef.A,{className:"h-3.5 w-3.5 text-[#888780]"}),(0,a.jsx)("span",{className:"text-[11px] font-semibold text-[#2C2C2C]",children:c("taskAcceptanceCriteria")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:u.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsx)("p",{className:"text-[11px] leading-snug text-[#4A4A4A] flex-1",children:e.description}),!1!==e.required&&(0,a.jsx)("span",{className:"shrink-0 text-[10px] font-medium text-[#E65100]",children:d("required")})]},t))})]})]})]})}let eD=(0,r.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"}]]);var e_=s(60532),eM=s(97964);let eU=(0,eN.createServerReference)("40ff8a50590942609a5911ceb74e53d7b3bae21f0b",eN.callServer,void 0,eN.findSourceMapURL,"getElaborationAction");function eT(e){let{idea:t,proposals:s,tasks:i,onSelectTask:r}=e,c=(0,n.c)("ideaTracker"),d=(0,n.c)(),[o,x]=(0,l.useState)(null),[u,m]=(0,l.useState)(new Set);(0,l.useEffect)(()=>{"open"!==t.status&&eU(t.uuid).then(e=>{e.success&&e.data&&x(e.data)})},[t.uuid,t.status]);let h=(0,l.useMemo)(()=>"open"===t.status?"idea_created":"elaborating"===t.status||0===s.length?"elaboration":s.some(e=>"approved"===e.status)&&i.length>0?"tasks":"proposal",[t.status,s,i]),f=(0,l.useMemo)(()=>{let e=["idea_created","elaboration","proposal","tasks"],t=e.indexOf(h);return e.map((e,s)=>({id:e,labelKey:({idea_created:"panel.timeline.ideaCreated",elaboration:"panel.timeline.elaboration",proposal:"panel.timeline.proposal",tasks:"panel.timeline.tasksProgress"})[e],status:s<t?"completed":s===t?"active":"upcoming",icon:({idea_created:(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),elaboration:(0,a.jsx)(eD,{className:"h-3.5 w-3.5"}),proposal:(0,a.jsx)(I.A,{className:"h-3.5 w-3.5"}),tasks:(0,a.jsx)(ef.A,{className:"h-3.5 w-3.5"})})[e]}))},[h]);(0,l.useEffect)(()=>{let e=f.find(e=>"active"===e.status);e&&m(new Set([e.id]))},[h]);let v=(0,l.useCallback)(e=>{m(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),b=(0,l.useMemo)(()=>"open"===t.status?c("panel.timeline.noElaboration"):"skipped"===t.elaborationStatus?c("panel.timeline.elaborationSkipped"):"resolved"===t.elaborationStatus&&o?c("panel.timeline.elaborationComplete",{count:o.summary.totalQuestions}):"elaborating"===t.status?c("panel.timeline.elaborationInProgress"):o&&o.summary.totalQuestions>0?c("panel.timeline.elaborationComplete",{count:o.summary.totalQuestions}):c("panel.timeline.noElaboration"),[t.status,t.elaborationStatus,o,c]),N=(0,l.useMemo)(()=>{if(0===s.length)return c("panel.timeline.noProposal");let e=s.filter(e=>"approved"===e.status).length,t=s.filter(e=>"pending"===e.status).length;if(e>0&&1===s.length)return c("panel.timeline.proposalApproved");if(e>0)return c("panel.timeline.proposalsApproved",{count:e,total:s.length});if(t>0)return c("panel.timeline.proposalPending");switch(s[0].status){case"draft":default:return c("panel.timeline.proposalDraft");case"rejected":return c("panel.timeline.proposalRejected")}},[s,c]),y=(0,l.useMemo)(()=>{let e=0,t=0;for(let r of s){var a,n,l,i;e+=null!=(l=null==(a=r.documentDrafts)?void 0:a.length)?l:0,t+=null!=(i=null==(n=r.taskDrafts)?void 0:n.length)?i:0}return{docCount:e,taskDraftCount:t}},[s]),A=(0,l.useMemo)(()=>{let e=i.filter(e=>"done"===e.status||"closed"===e.status).length,t=i.filter(e=>"in_progress"===e.status).length;return{done:e,inProgress:t,toVerify:i.filter(e=>"to_verify"===e.status).length,open:i.filter(e=>"open"===e.status||"assigned"===e.status).length,total:i.length}},[i]);return(0,a.jsx)("div",{className:"space-y-0",children:f.map((e,n)=>{let l=u.has(e.id),x=n===f.length-1;return(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center w-5 shrink-0",children:[(0,a.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,a.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#E0F2F1] flex items-center justify-center",children:(0,a.jsx)(e_.A,{className:"h-3 w-3 text-[#00796B]"})}):"active"===e.status?(0,a.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#C67A52] flex items-center justify-center",children:(0,a.jsx)(eM.A,{className:"h-2 w-2 fill-white text-white"})}):(0,a.jsx)("div",{className:"h-5 w-5 rounded-full border-2 border-dashed border-[#D9D9D9] flex items-center justify-center",children:(0,a.jsx)(eM.A,{className:"h-2 w-2 text-[#D9D9D9]"})})}),!x&&(0,a.jsx)("div",{className:"flex-1 w-px bg-[#E5E0D8] mt-1 min-h-[8px]"})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 ".concat(x?"pb-0":"pb-4"),children:[(0,a.jsxs)("button",{onClick:()=>v(e.id),className:"flex items-center gap-1.5 w-full text-left group cursor-pointer",children:[l?(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] shrink-0"}):(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] shrink-0"}),(0,a.jsx)("span",{className:"text-[13px] font-medium ".concat("active"===e.status?"text-[#C67A52]":"completed"===e.status?"text-[#2C2C2C]":"text-[#9A9A9A]"),children:c(e.labelKey)}),!l&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] truncate ml-1",children:(e=>{switch(e.id){case"idea_created":return t.createdBy?t.createdBy.name:"";case"elaboration":return b;case"proposal":return N;case"tasks":return i.length>0?c("panel.timeline.tasksComplete",{done:A.done,total:A.total}):c("panel.timeline.noTasks");default:return""}})(e)})]}),(e=>{let n=u.has(e.id);switch(e.id){case"idea_created":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[t.createdBy&&(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.timeline.createdBy",{name:t.createdBy.name})}),(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:(0,T.fw)(t.createdAt,d)}),t.content&&(0,a.jsxs)("p",{className:"text-[12px] text-[#6B6B6B] line-clamp-2",children:[t.content.slice(0,120),t.content.length>120?"...":""]})]}):null;case"elaboration":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:b}),o&&o.rounds.length>0&&(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:c("panel.timeline.rounds",{count:o.rounds.length})})]}):null;case"proposal":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:N}),s.length>0&&(0,a.jsxs)("div",{className:"space-y-1",children:[y.docCount>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-[#9A9A9A]",children:[(0,a.jsx)(z.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{children:c("panel.timeline.documents",{count:y.docCount})})]}),y.taskDraftCount>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-[#9A9A9A]",children:[(0,a.jsx)(ef.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{children:c("panel.timeline.tasks",{count:y.taskDraftCount})})]})]})]}):null;case"tasks":return n?(0,a.jsx)("div",{className:"mt-2 space-y-2",children:0===i.length?(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:c("panel.timeline.noTasks")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex-1 h-1.5 rounded-full bg-[#F0EDE8] overflow-hidden flex",children:[A.done>0&&(0,a.jsx)("div",{className:"h-full bg-[#00796B]",style:{width:"".concat(A.done/A.total*100,"%")}}),A.inProgress>0&&(0,a.jsx)("div",{className:"h-full bg-[#1976D2]",style:{width:"".concat(A.inProgress/A.total*100,"%")}}),A.toVerify>0&&(0,a.jsx)("div",{className:"h-full bg-[#7B1FA2]",style:{width:"".concat(A.toVerify/A.total*100,"%")}})]}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] shrink-0",children:c("panel.timeline.tasksComplete",{done:A.done,total:A.total})})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[i.slice(0,5).map(e=>(0,a.jsxs)("button",{onClick:()=>r(e.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2 py-1.5 hover:bg-[#F5F2EC] transition-colors group cursor-pointer",children:[(0,a.jsx)(eh.A,{className:"h-3 w-3 text-[#D9D9D9] shrink-0 group-hover:text-[#C67A52]"}),(0,a.jsx)("span",{className:"h-2 w-2 rounded-full shrink-0 ".concat((0,T.eT)(e.status))}),(0,a.jsx)("span",{className:"flex-1 text-[12px] text-[#2C2C2C] truncate group-hover:text-[#C67A52]",children:e.title})]},e.uuid)),i.length>5&&(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A] px-2",children:c("panel.timeline.moreItems",{count:i.length-5})})]})]})}):null;default:return null}})(e)]})]},e.id)})})}let eP=(0,eN.createServerReference)("6059dc93fa1b8e2c2bb41841832bb2ca5159b35abb",eN.callServer,void 0,eN.findSourceMapURL,"getReportsForIdeaAction");function eR(e){let{projectUuid:t,ideaUuid:s,proposals:i,onDocClick:r}=e,c=(0,n.c)("idea"),d=(0,n.c)("documents"),[o,u]=(0,l.useState)([]),[m,p]=(0,l.useState)(!0),h=i.some(e=>"approved"===e.status),j=(0,l.useCallback)(async()=>{if(!h){u([]),p(!1);return}try{let e=await eP(t,s);if(e.success){let t=[...e.data].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());u(t.map(e=>{var t;return{uuid:e.uuid,title:e.title,type:e.type,content:null!=(t=e.content)?t:null,createdAt:e.createdAt}}))}}catch(e){ew.q.error("Failed to fetch reports for idea:",e)}finally{p(!1)}},[t,s,h]);return((0,l.useEffect)(()=>{p(!0),j()},[j]),(0,f.eV)("document",j),m)?h?(0,a.jsx)("div",{className:"flex items-center justify-center py-3",children:(0,a.jsx)(P.A,{className:"h-4 w-4 animate-spin text-[#C67A52]"})}):null:0===o.length?null:(0,a.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:c("reportsList")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:o.length}),(0,a.jsxs)("span",{className:"text-[11px] text-[#B4B2A9]",children:["\xb7 ",c("reportsAcrossProposals")]})]}),(0,a.jsx)("div",{className:"space-y-0",children:o.map(e=>(0,a.jsxs)(x.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-[#FAF8F4] transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>{var t;return r({title:e.title,type:"report",content:null!=(t=e.content)?t:""})},children:[(0,a.jsx)(eh.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),(0,a.jsx)(Y.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:d(eb[e.type]||"typeOther")}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-[#2C2C2A] truncate",children:e.title})]},e.uuid))})]})}var eI=s(75118);let ez=["in_progress","to_verify","open","assigned","done","closed"];function eL(e){let{tasks:t,projectUuid:s,proposalUuids:i,onSelectTask:r}=e,c=(0,n.c)("ideaTracker"),[d,o]=(0,l.useState)({}),x=(0,l.useMemo)(()=>t.map(e=>e.uuid),[t]),u=(0,l.useCallback)(async()=>{if(0===x.length)return;let e=await (0,eI.h)(x);e.success&&e.data&&o(e.data)},[x]);(0,l.useEffect)(()=>{u()},[u]),(0,f.eV)("task",u);let m=(0,l.useMemo)(()=>{let e=[];for(let s of ez){let a=t.filter(e=>e.status===s);a.length>0&&e.push({status:s,tasks:a})}let s=new Set(ez),a=t.filter(e=>!s.has(e.status));return a.length>0&&e.push({status:"other",tasks:a}),e},[t]),[p,h]=(0,l.useState)(new Set),v=(0,l.useMemo)(()=>{let e=t.length,s=t.filter(e=>"done"===e.status||"closed"===e.status).length,a=0,n=0,l=0,i=0;for(let e of t)e.acceptanceSummary&&(a+=e.acceptanceSummary.total,n+=e.acceptanceSummary.passed,l+=e.acceptanceSummary.required,i+=e.acceptanceSummary.requiredPassed);return{total:e,done:s,acTotal:a,acPassed:n,acRequired:l,acRequiredPassed:i}},[t]);return 0===t.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,a.jsx)(ef.A,{className:"h-8 w-8 text-[#D9D9D9]"}),(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:c("panel.taskList.noTasks")})]}):(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-lg bg-[#FAFAF7] px-3 py-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.taskList.summary",{done:v.done,total:v.total})}),v.acTotal>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[12px] text-[#D9D9D9]",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.taskList.acSummary",{passed:v.acRequiredPassed,total:v.acRequired})})]}),i.length>0&&(0,a.jsxs)(M(),{href:"/projects/".concat(s,"/tasks?proposalUuids=").concat(i.join(",")),className:"ml-auto flex items-center gap-1 text-[13px] font-medium text-[#C67A52] shrink-0",children:[c("panel.taskList.viewKanban"),(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"})]})]}),m.map(e=>{let t=p.has(e.status);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>{var t;return t=e.status,void h(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-2 w-full text-left py-1.5 group cursor-pointer",children:[t?(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 text-[#9A9A9A]"}):(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"h-2 w-2 rounded-full shrink-0 ".concat((0,T.eT)(e.status))}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[#2C2C2C]",children:function(e,t){switch(e){case"in_progress":return t("panel.taskList.inProgress");case"to_verify":return t("panel.taskList.toVerify");case"open":return t("panel.taskList.open");case"assigned":return t("panel.taskList.assigned");case"done":return t("panel.taskList.done");case"closed":return t("panel.taskList.closed");default:return e}}(e.status,c)}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] ml-auto",children:e.tasks.length})]}),!t&&(0,a.jsx)("div",{className:"ml-3 space-y-0.5",children:e.tasks.map(e=>{let t=d[e.uuid]||0,s=e.acceptanceSummary;return(0,a.jsx)(b.D,{entityType:"task",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsxs)("button",{onClick:()=>r(e.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2.5 py-2 hover:bg-[#F5F2EC] transition-colors group cursor-pointer",children:[(0,a.jsx)(eh.A,{className:"h-3.5 w-3.5 text-[#D9D9D9] shrink-0 group-hover:text-[#C67A52]"}),(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full shrink-0 ".concat((0,T.eT)(e.status))}),(0,a.jsx)("span",{className:"flex-1 text-[13px] text-[#2C2C2C] truncate group-hover:text-[#C67A52]",children:e.title}),s&&s.total>0&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 rounded-full bg-[#F0EDE8] px-1.5 py-0.5 text-[10px] text-[#6B6B6B]",children:[(0,a.jsx)(e_.A,{className:"h-2.5 w-2.5"}),s.requiredPassed,"/",s.required]}),e.assignee&&(0,a.jsxs)("span",{className:"shrink-0 inline-flex items-center gap-1 text-[10px] text-[#9A9A9A] max-w-[72px] truncate",title:e.assignee.name,children:[(0,a.jsx)(Z.A,{className:"h-2.5 w-2.5 shrink-0"}),e.assignee.name.split(/[@\s]/)[0]]}),t>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center h-4 min-w-[16px] rounded-full bg-[#E8F5E9] text-[#2E7D32] text-[9px] font-semibold shrink-0",title:c("panel.taskList.workersActive",{count:t}),children:t})]})},e.uuid)})})]},e.status)})]})}var e$=s(36856);function eV(e){let{ideaUuid:t}=e,s=(0,n.c)(),[i,r]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),o=(0,l.useCallback)(async()=>{d(!0),r((await (0,e$.x)(t)).activities),d(!1)},[t]);return(0,l.useEffect)(()=>{o()},[o]),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(es.J,{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:s("common.activity")}),(0,a.jsx)("div",{className:"mt-2",children:c?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(P.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===i.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:s("common.noActivity")}):i.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-stretch gap-2.5",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center w-2 shrink-0",children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full border-[1.5px] border-[#D9D9D9] bg-white"}),t<i.length-1&&(0,a.jsx)("div",{className:"flex-1 w-px bg-[#E5E0D8] mt-1"})]}),(0,a.jsxs)("div",{className:"flex-1 pb-3",children:[(0,a.jsx)("p",{className:"text-[13px] text-[#2C2C2C]",children:function(e,t){let{action:s,actorName:a}=e;switch(s){case"created":case"idea_created":return t("activity.ideaCreated",{actor:a});case"assigned":case"idea_assigned":return t("activity.ideaAssigned",{actor:a});case"claimed":case"idea_claimed":return t("activity.ideaClaimed",{actor:a});case"released":case"idea_released":return t("activity.ideaReleased",{actor:a});case"status_changed":case"idea_status_changed":return t("activity.ideaStatusChanged",{actor:a});case"edited":case"idea_edited":return t("activity.ideaEdited",{actor:a});case"reparented":case"idea_reparented":return t("activity.ideaReparented",{actor:a});case"elaboration_started":return t("activity.elaborationStarted",{actor:a});case"elaboration_answered":return t("activity.elaborationAnswered",{actor:a});case"elaboration_skipped":return t("activity.elaborationSkipped",{actor:a});case"elaboration_resolved":return t("activity.elaborationResolved",{actor:a});case"elaboration_followup":return t("activity.elaborationFollowup",{actor:a});default:return t("activity.genericAction",{actor:a,action:s})}}(e,s)}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:(0,T.fw)(e.createdAt,s)})]})]},e.uuid))})]})}var eq=s(85573);function eO(e){let{ideaUuid:t,currentUserUuid:s,commentCount:i,onCommentCountChange:r}=e,c=(0,n.c)("ideaTracker"),[d,o]=(0,l.useState)("comments");return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex gap-1 rounded-lg bg-[#F5F2EC] p-0.5",children:[(0,a.jsxs)("button",{onClick:()=>o("comments"),className:"flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors flex items-center justify-center gap-1.5 cursor-pointer ".concat("comments"===d?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[c("panel.activityTab.comments"),i>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#F5F2EC] text-[#6B6B6B] text-[10px] font-semibold leading-none",children:i})]}),(0,a.jsx)("button",{onClick:()=>o("activity"),className:"flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors cursor-pointer ".concat("activity"===d?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:c("panel.activityTab.activity")})]}),(0,a.jsx)("div",{children:"activity"===d?(0,a.jsx)(eV,{ideaUuid:t}):(0,a.jsx)(eq.$m,{targetType:"idea",targetUuid:t,currentUserUuid:s,onCountChange:r,compact:!0})})]})}var eH=s(35754),eJ=s(70633);function eG(e){let{title:t,type:s,content:i,mode:r="overlay",onClose:c,onBack:d}=e,o=(0,n.c)("documents"),[u,m]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=setTimeout(()=>m(!0),300);return()=>clearTimeout(e)},[]),(0,l.useEffect)(()=>{let e=e=>{"Escape"!==e.key||e.defaultPrevented||(e.preventDefault(),c())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[c]);let p="sidebyside"===r;return(0,a.jsxs)(a.Fragment,{children:[!p&&(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:c}),(0,a.jsxs)("div",{className:"fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(p?"z-40 ".concat(u?"":"animate-in slide-in-from-right duration-300"):"z-50 right-0 ".concat(u?"":"animate-in slide-in-from-right duration-300")),style:{width:"min(100%, ".concat(T.L8,"px)"),...p?{right:"".concat(T.L8,"px")}:{}},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[d&&(0,a.jsx)(x.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:d,children:(0,a.jsx)(eJ.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:t}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)(Y.E,{variant:"outline",className:"text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:o(eb[s]||"typeOther")})})]}),(0,a.jsx)(x.$,{variant:"outline",size:"icon",className:"ml-4 h-8 w-8 shrink-0 border-[#E5E0D8]",onClick:c,children:(0,a.jsx)(G.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]}),(0,a.jsx)(X.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"px-6 py-5 text-[13px] leading-relaxed text-[#2C2C2A] prose prose-sm max-w-none [&_h1]:text-lg [&_h1]:font-semibold [&_h1]:mt-4 [&_h1]:mb-2 [&_h2]:text-base [&_h2]:font-semibold [&_h2]:mt-3 [&_h2]:mb-1.5 [&_h3]:text-sm [&_h3]:font-medium [&_h3]:mt-2 [&_h3]:mb-1 [&_p]:text-[13px] [&_p]:text-[#4A4A4A] [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-[#4A4A4A] [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-[#2C2C2C] [&_code]:text-[12px] [&_code]:bg-[#F5F2EC] [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_pre]:bg-[#FAF8F4] [&_pre]:p-3 [&_pre]:rounded-lg [&_pre]:my-2",children:(0,a.jsx)(er.MarkdownContent,{children:ev(i)})})})]})]})}var eQ=s(91118);let eZ=(0,r.A)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var eK=s(30028),eW=s(97438),eX=s(4365),eY=s(24377);let e0=(0,eN.createServerReference)("40d5975d8d13d707a6a2c85a5b71f2422120cdc903",eN.callServer,void 0,eN.findSourceMapURL,"getProjectIdeasForPickerAction"),e2=(0,eN.createServerReference)("602c51f43039277f7680802f44358584ceaed9125b",eN.callServer,void 0,eN.findSourceMapURL,"setIdeaParentAction");function e1(e){let{open:t,onOpenChange:s,ideaUuid:i,ideaTitle:r,projectUuid:c,currentParentUuid:d,descendantUuids:o,onChanged:u}=e,m=(0,n.c)("ideaTracker.lineage"),p=(0,n.c)("common"),h=(0,q.useRouter)(),[f,j]=(0,l.useState)([]),[g,v]=(0,l.useState)(!1),[b,N]=(0,l.useState)(!1),[y,A]=(0,l.useState)(!1),[w,C]=(0,l.useState)(null),k=new Set([i,...o]),E=(0,l.useCallback)(async()=>{N(!0),C(null);try{let e=await e0(c);e.success?(j(e.data),v(e.hasMore)):C(e.error)}catch(e){ew.q.error("Failed to load parent candidates:",e),C(m("saveFailed"))}N(!1)},[c,m]);(0,l.useEffect)(()=>{t&&E()},[t,E]);let F=async e=>{if(!y){A(!0),C(null);try{let t=await e2(i,e);t.success?(O.oR.success(e?m("save"):m("detach")),s(!1),h.refresh(),u()):C(t.error||m("saveFailed"))}catch(e){C(e instanceof Error?e.message:m("saveFailed"))}A(!1)}};return(0,a.jsx)(eW.lG,{open:t,onOpenChange:s,children:(0,a.jsxs)(eW.Cf,{children:[(0,a.jsxs)(eW.c7,{children:[(0,a.jsx)(eW.L3,{children:m("setParentTitle")}),(0,a.jsx)(eW.rr,{children:m("setParentDescription",{title:r})})]}),(0,a.jsxs)("div",{className:"min-w-0 space-y-3 pt-1",children:[b?(0,a.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,a.jsx)(P.A,{className:"h-5 w-5 animate-spin text-[#9A9A9A]"})}):(0,a.jsx)("div",{className:"rounded-md border border-[#E5E0D8]",children:(0,a.jsxs)(eX.uB,{children:[(0,a.jsx)(eX.G7,{placeholder:m("searchPlaceholder")}),(0,a.jsxs)(eX.oI,{children:[(0,a.jsx)(eX.xL,{children:m("noCandidates")}),(0,a.jsx)(eX.L$,{children:f.map(e=>{let t=k.has(e.uuid),s=e.uuid===d;return(0,a.jsxs)(eX.h_,{value:e.title,disabled:t,onSelect:()=>{t||F(e.uuid)},className:(0,eY.cn)("flex min-w-0 items-center justify-between gap-2",t&&"opacity-55",s&&"bg-[#C67A52]/10"),children:[(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-[#2C2C2A]",children:e.title}),t&&(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-[11px] font-medium text-[#B0654A]",children:[(0,a.jsx)(eZ,{className:"h-3 w-3"}),m("cycleBlocked")]})]},e.uuid)})})]})]})}),(0,a.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-[#FBF0EB] px-3 py-2.5",children:[(0,a.jsx)(eK.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[#B0654A]"}),(0,a.jsx)("p",{className:"text-[12px] leading-relaxed text-[#9A5238]",children:m("cycleWarning")})]}),g&&(0,a.jsx)("p",{className:"px-1 text-[12px] text-[#A8A498]",role:"status",children:m("pickerTruncated")}),w&&(0,a.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:w})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-2",children:[d?(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>F(null),disabled:y,children:m("detach")}):(0,a.jsx)("span",{}),(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>s(!1),disabled:y,children:p("cancel")})]})]})})}var e5=s(42305);function e9(e){let{open:t,onOpenChange:s,projectUuid:i,onCreated:r,parentUuid:c,parentTitle:d}=e,o=(0,n.c)("ideaTracker"),u=(0,n.c)("ideaTracker.lineage"),m=!!c,p=(0,n.c)("common"),[h,f]=(0,l.useState)(""),[j,g]=(0,l.useState)(""),[v,b]=(0,l.useState)(!1),[N,y]=(0,l.useState)(null),A=async()=>{let e=h.trim();if(e){b(!0),y(null);try{var t;let a=await fetch("/api/projects/".concat(i,"/ideas"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,content:j.trim()||void 0,...c?{parentUuid:c}:{}})}),n=await a.json();n.success&&(null==(t=n.data)?void 0:t.uuid)?(f(""),g(""),s(!1),null==r||r(n.data.uuid)):y(n.error||o("error.createFailed"))}catch(e){y(o("error.createFailed"))}finally{b(!1)}}};return(0,a.jsx)(eW.lG,{open:t,onOpenChange:s,children:(0,a.jsxs)(eW.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsxs)(eW.c7,{children:[(0,a.jsx)(eW.L3,{children:m?u("deriveIdea"):o("newIdea.title")}),m&&d&&(0,a.jsxs)("p",{className:"text-[13px] text-[#6B6B6B]",children:[u("derivedFrom")," \xb7 ",d]})]}),(0,a.jsxs)("div",{className:"space-y-4 py-2",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(es.J,{htmlFor:"idea-title",children:o("newIdea.ideaTitle")}),(0,a.jsx)(ee.p,{id:"idea-title",value:h,onChange:e=>f(e.target.value),placeholder:o("newIdea.titlePlaceholder"),autoFocus:!0,onKeyDown:e=>{!(0,e5.P)(e)&&"Enter"===e.key&&!e.shiftKey&&h.trim()&&(e.preventDefault(),A())}})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(es.J,{htmlFor:"idea-content",children:[o("newIdea.description"),(0,a.jsxs)("span",{className:"ml-1 text-xs font-normal text-[#9A9A9A]",children:["(",p("optional"),")"]})]}),(0,a.jsx)(et.T,{id:"idea-content",value:j,onChange:e=>g(e.target.value),placeholder:o("newIdea.descriptionPlaceholder"),rows:4,className:"resize-none"})]}),N&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:N})]}),(0,a.jsxs)(eW.Es,{children:[(0,a.jsx)(x.$,{variant:"outline",onClick:()=>s(!1),disabled:v,children:p("cancel")}),(0,a.jsxs)(x.$,{onClick:A,disabled:v||!h.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[v?(0,a.jsx)(P.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,p("create")]})]})]})})}var e3=s(84281),e6=s(7537);let e4=(0,eN.createServerReference)("40fc3ea3ae4d6a4d9fa3bf78a79acd25bb40c0a882",eN.callServer,void 0,eN.findSourceMapURL,"getIdeaAction"),e8=(0,eN.createServerReference)("4041153d40cd275f695a2ec751cbe4075e15c799ac",eN.callServer,void 0,eN.findSourceMapURL,"getTaskAction");var e7=s(82278),te=s(93981),tt=s(52776),ts=s(11166);function ta(e){var t,s;let{ideaUuid:i,projectUuid:r,currentUserUuid:d,onClose:o,onNavigate:u}=e,m=(0,n.c)(),p=(0,n.c)("ideaTracker"),h=(0,n.c)("status"),j=(0,n.c)("ideaTracker.lineage"),g=(0,q.useRouter)(),[v,b]=(0,l.useState)(null),[A,w]=(0,l.useState)(!0),[C,k]=(0,l.useState)(null),[E,F]=(0,l.useState)([]),[B,S]=(0,l.useState)([]),[D,_]=(0,l.useState)("overview"),[M,U]=(0,l.useState)(new Set(["overview"])),[R,I]=(0,l.useState)(!1),[z,L]=(0,l.useState)(0),[$,V]=(0,l.useState)(!1),[en,el]=(0,l.useState)(!1),[ei,er]=(0,l.useState)(null),[ec,ed]=(0,l.useState)(!0),[eo,ex]=(0,l.useState)(!1),[eu,em]=(0,l.useState)(null),[eh,ef]=(0,l.useState)(!1),[ej,eg]=(0,l.useState)(!1),[ev,eb]=(0,l.useState)(""),[eN,ek]=(0,l.useState)(""),[eE,eF]=(0,l.useState)(!1),[eB,eS]=(0,l.useState)(null),[eD,e_]=(0,l.useState)(!1),[eM,eU]=(0,l.useState)(!1),[eP,eI]=(0,l.useState)(!1),[ez,e$]=(0,l.useState)(null),[eV,eq]=(0,l.useState)(null),[eJ,eZ]=(0,l.useState)(null),eK=(0,l.useCallback)(e=>{eZ(null),e$(e)},[]),eW=(0,l.useCallback)(e=>{e$(null),eq(null),eZ(e)},[]),[eX,eY]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=window.matchMedia("(min-width: 960px)");eY(e.matches);let t=e=>eY(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let[e0,e2]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=setTimeout(()=>e2(!0),300);return()=>clearTimeout(e)},[]);let e5=(0,l.useCallback)(e=>{let t=new URLSearchParams(window.location.search);t.set("tab",e),window.history.replaceState(null,"","".concat(window.location.pathname,"?").concat(t.toString()))},[]),ta=(0,l.useCallback)(async()=>{try{let e=await e4(i);e.success?(b(e.data),k(null)):k(p("Not found"===e.error?"panel.notFound":"panel.loadFailed"))}catch(e){k(p("panel.loadFailed"))}finally{w(!1)}},[i,p]);(0,l.useEffect)(()=>{w(!0),ta()},[ta]),(0,f.eV)("idea",ta),(0,f.eV)("proposal",ta),(0,f.eV)("task",ta);let tn=null==v?void 0:v.uuid,tl=null==v?void 0:v.status,ti=(0,l.useCallback)(async()=>{if(!tn||"open"===tl)return void F([]);try{let e=await ey(r,tn);e.success&&F(e.data)}catch(e){ew.q.error("Failed to fetch proposals:",e)}},[r,tn,tl]);(0,l.useEffect)(()=>{ti()},[ti]),(0,f.eV)("proposal",ti);let tr=(0,l.useCallback)(async()=>{let e=E.filter(e=>"approved"===e.status);if(0===e.length)return void S([]);try{let t=(await Promise.all(e.map(e=>eA(r,e.uuid)))).flatMap(e=>e.success&&e.data?e.data.map(e=>{var t,s,a;return{uuid:e.uuid,title:e.title,status:e.status,commentCount:null!=(t=e.commentCount)?t:0,assignee:null!=(s=e.assignee)?s:null,acceptanceSummary:null!=(a=e.acceptanceSummary)?a:null}}):[]);S(t)}catch(e){ew.q.error("Failed to fetch tasks:",e)}},[r,E]);(0,l.useEffect)(()=>{tr()},[tr]),(0,f.eV)("task",tr);let tc=(0,l.useCallback)(async()=>{if(!tn)return;let e=await (0,e7.z)(tn);e.success&&e.data&&er(e.data),ed(!1)},[tn]);(0,l.useEffect)(()=>{tc()},[tc]),(0,f.eV)("idea",tc);let td=(0,l.useMemo)(()=>v?function(e,t,s){let a=["overview"];return a.push("elaboration"),t.length>0&&a.push("proposal"),s.length>0&&a.push("tasks"),a.push("activity"),a}(0,E,B):["overview","activity"],[v,E,B]),to=(0,l.useRef)(new URLSearchParams(window.location.search).get("tab")),tx=v?function(e){switch(e){case"open":case"researching":case"answer_questions":return"elaboration";case"planning":case"review_proposal":return"proposal";case"building":case"verify_work":return"tasks";default:return"overview"}}(v.badgeHint):"overview";(0,l.useEffect)(()=>{let e;if(!v||R)return;let t=to.current;if(t)if(!td.includes(t))return;else e=t,to.current=null,I(!0);else if(td.includes(tx))e=tx;else{if("overview"!==tx)return;e="overview"}_(e),U(t=>new Set([...t,e])),e5(e)},[null==v?void 0:v.uuid,tx,td]),(0,l.useEffect)(()=>{I(!1)},[i]),(0,l.useEffect)(()=>{td.includes(D)||_("overview")},[td,D]);let tu=(0,l.useMemo)(()=>B.filter(e=>"in_progress"===e.status||"assigned"===e.status||"to_verify"===e.status).length,[B]),tm=(0,l.useCallback)(()=>{if(!ez)return void eq(null);e8(ez).then(e=>{e.success&&eq(e.data)}).catch(e=>ew.q.error("Failed to load task details:",e))},[ez]);(0,l.useEffect)(()=>{tm()},[tm]),(0,f.eV)("task",tm),(0,l.useEffect)(()=>{eg(!1),eb((null==v?void 0:v.title)||""),ek((null==v?void 0:v.content)||""),eS(null)},[null==v?void 0:v.uuid,null==v?void 0:v.title,null==v?void 0:v.content]);let tp=()=>{eg(!1),eb((null==v?void 0:v.title)||""),ek((null==v?void 0:v.content)||""),eS(null)},th=async()=>{if(!v||!ev.trim())return void eS(m("ideas.titleRequired"));eF(!0),eS(null);let e=await (0,e3.J)({ideaUuid:v.uuid,projectUuid:r,title:ev.trim(),content:eN.trim()||null});eF(!1),e.success?(eg(!1),await ta(),g.refresh()):eS(e.error||m("ideas.updateFailed"))},tf=async()=>{if(!v)return;el(!0);let e=await (0,e6.Z)(v.uuid,r);el(!1),e.success&&(o(),g.refresh())},tj=async()=>{if(!v)return;ex(!0),em(null);let e=await (0,te.e)(v.uuid);ex(!1),e.success?(ef(!0),await ta(),g.refresh()):em(e.error||m("elaboration.verifyFailed"))},tg=(null==v?void 0:v.derivedStatus)||"todo",tv=!!v&&"elaborated"!==v.status,tb=(null==v?void 0:v.elaborationStatus)==="resolved",tN=(0,ts.o)({ideaStatus:null==v?void 0:v.status,elaborationStatus:null==v?void 0:v.elaborationStatus,elaboration:ei}),ty=(null==v?void 0:v.status)==="elaborating"&&!tb&&!tN&&!eh;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:o}),(0,a.jsxs)("div",{className:"fixed right-0 top-14 md:top-0 z-50 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(e0?"":"animate-in slide-in-from-right duration-300"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:A?(0,a.jsx)("div",{className:"h-5 w-40 animate-pulse rounded bg-[#F5F2EC]"}):v?ej?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:m("ideas.editIdea")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:v.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(Y.E,{className:T._5[tg]||T._5.todo,children:v.badgeHint?p("badge.".concat(T.Wl[v.badgeHint]||"open")):h(T.Bj[tg]||"todo")}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,y.r)(v.createdAt)})]})]}):(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:p("panel.notFound")})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[v&&!ej&&(0,a.jsxs)(x.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] px-2.5",onClick:()=>eI(!0),title:j("deriveIdea"),"aria-label":j("deriveIdea"),children:[(0,a.jsx)(c,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-[12px] font-medium text-[#C67A52]",children:j("derive")})]}),v&&!ej&&(0,a.jsx)(x.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>e_(!0),title:m("ideas.actions.move"),"aria-label":m("ideas.actions.move"),children:(0,a.jsx)(H.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),v&&"elaborated"!==v.status&&!ej&&(0,a.jsx)(x.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>{v&&(eb(v.title),ek(v.content||""),eS(null),eg(!0))},title:m("ideas.editIdea"),children:(0,a.jsx)(J.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)(x.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:ej?tp:o,children:(0,a.jsx)(G.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),v&&!A&&!ej&&(0,a.jsx)("div",{className:"border-b border-[#F5F2EC] px-6",children:(0,a.jsx)("div",{className:"flex gap-0 -mb-px",children:td.map(e=>(0,a.jsxs)("button",{onClick:()=>{_(e),I(!0),U(t=>new Set([...t,e])),e5(e)},className:"relative flex items-center gap-1.5 px-3 py-2.5 text-[13px] font-medium transition-colors cursor-pointer ".concat(D===e?"text-[#C67A52] border-b-2 border-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[p("panel.tabs.".concat(e)),"tasks"===e&&tu>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#E3F2FD] text-[#1976D2] text-[10px] font-semibold leading-none",children:tu}),"activity"===e&&z>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#F5F2EC] text-[#6B6B6B] text-[10px] font-semibold leading-none",children:z})]},e))})}),(0,a.jsx)(X.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:A?(0,a.jsxs)("div",{className:"flex flex-1 items-center justify-center py-12",children:[(0,a.jsx)(P.A,{className:"h-6 w-6 animate-spin text-[#C67A52]"}),(0,a.jsx)("span",{className:"ml-2 text-sm text-[#9A9A9A]",children:p("loading")})]}):C?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-12",children:(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:C})}):v?ej?(0,a.jsxs)("div",{className:"space-y-5",children:[eB&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:eB}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(es.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:m("ideas.titleLabel")}),(0,a.jsx)(ee.p,{id:"edit-title",value:ev,onChange:e=>eb(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(es.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:m("common.content")}),(0,a.jsx)(et.T,{id:"edit-content",value:eN,onChange:e=>ek(e.target.value),rows:8,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]})]}):(0,a.jsxs)(a.Fragment,{children:[M.has("overview")&&(0,a.jsxs)("div",{style:{display:"overview"===D?"block":"none"},children:[(0,a.jsx)(eT,{idea:v,proposals:E,tasks:B,onSelectTask:eK}),(0,a.jsxs)("div",{className:"mt-5 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(c,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[#5F5E5A]",children:j("title")})]}),(0,a.jsxs)(x.$,{variant:"outline",size:"sm",className:"h-7 gap-1 border-[#E5E0D8] px-2 text-[11px] text-[#6B6B6B]",onClick:()=>eU(!0),children:[(0,a.jsx)(J.A,{className:"h-3 w-3"}),v.parentUuid?j("changeParent"):j("setParent")]})]}),v.parent?(0,a.jsxs)("button",{type:"button",onClick:()=>null==u?void 0:u(v.parent.uuid),className:"flex w-full items-center gap-2 rounded-lg bg-[#FAF8F4] px-3 py-2.5 text-left transition-colors hover:bg-[#F5F2EC]",children:[(0,a.jsx)(Q,{className:"h-3.5 w-3.5 shrink-0 text-[#888780]"}),(0,a.jsx)("span",{className:"shrink-0 text-[12px] text-[#888780]",children:j("derivedFrom")}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] font-medium text-[#5F5E5A]",children:v.parent.title})]}):(0,a.jsx)("p",{className:"px-1 text-[12px] text-[#A8A498]",children:j("noParent")}),v.children&&v.children.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-1 pt-1",children:[(0,a.jsx)("span",{className:"text-[12px] font-medium text-[#5F5E5A]",children:j("derivedIdeas")}),(0,a.jsx)("span",{className:"text-[11px] text-[#888780]",children:v.children.length})]}),(0,a.jsx)("div",{className:"overflow-hidden rounded-lg border border-[#EFEBE3]",children:v.children.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"}),(0,a.jsxs)("button",{type:"button",onClick:()=>null==u?void 0:u(e.uuid),className:"flex w-full items-center justify-between gap-2 px-3 py-2.5 text-left transition-colors hover:bg-[#FAF8F4]",children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)(N,{className:"h-3.5 w-3.5 shrink-0 text-[#C2BDB2]"}),(0,a.jsx)("span",{className:"truncate text-[12px] text-[#2C2C2A]",children:e.title})]}),(0,a.jsx)(Y.E,{className:"shrink-0 border-0 text-[10px] ".concat(T._5[e.derivedStatus]||T._5.todo),children:h(T.Bj[e.derivedStatus]||"todo")})]})]},e.uuid))})]})]}),(0,a.jsx)(eR,{projectUuid:r,ideaUuid:v.uuid,proposals:E,onDocClick:eW})]}),td.includes("elaboration")&&M.has("elaboration")&&(0,a.jsx)("div",{style:{display:"elaboration"===D?"block":"none"},children:(0,a.jsx)(ep,{idea:v,elaboration:ei,isLoading:ec,onRefresh:async()=>{await tc(),await ta()}})}),td.includes("proposal")&&M.has("proposal")&&(0,a.jsx)("div",{style:{display:"proposal"===D?"block":"none"},children:(0,a.jsx)(eC,{idea:v,projectUuid:r,onTaskClick:eK,onDocClick:eW,initialProposals:E})}),td.includes("tasks")&&M.has("tasks")&&(0,a.jsx)("div",{style:{display:"tasks"===D?"block":"none"},children:(0,a.jsx)(eL,{tasks:B,projectUuid:r,proposalUuids:E.filter(e=>"approved"===e.status).map(e=>e.uuid),onSelectTask:eK})}),M.has("activity")&&(0,a.jsx)("div",{style:{display:"activity"===D?"block":"none"},children:(0,a.jsx)(eO,{ideaUuid:v.uuid,currentUserUuid:d,commentCount:z,onCommentCountChange:L})})]}):null})}),v&&!A&&(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:ej?(0,a.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:tp,disabled:eE,children:m("common.cancel")}),(0,a.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:th,disabled:eE||!ev.trim(),children:eE?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(P.A,{className:"mr-2 h-4 w-4 animate-spin"}),m("common.save")]}):m("common.save")})]}):(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[tv&&(0,a.jsxs)(x.$,{variant:"outline",className:"shrink-0 border-[#E5E0D8] rounded-md px-4 py-2 text-[13px] font-medium",onClick:()=>V(!0),children:[(0,a.jsx)(Z.A,{className:"mr-2 h-4 w-4"}),v.assignee?m("common.reassign"):m("common.assign")]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[tN&&!eh&&(0,a.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:tj,disabled:eo,children:eo?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(P.A,{className:"mr-2 h-4 w-4 animate-spin"}),m("elaboration.verifying")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(K.A,{className:"mr-2 h-4 w-4"}),m("elaboration.verifyButton")]})}),eh&&(0,a.jsx)("span",{className:"text-[11px] text-[#00796B]",children:m("elaboration.verifiedQueuedHint")}),eu&&(0,a.jsx)("span",{className:"text-[11px] text-destructive",children:eu}),ty&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:m("elaboration.elaborationRequiredHint")})]}),(0,a.jsxs)(ea.Lt,{children:[(0,a.jsx)(ea.tv,{asChild:!0,children:(0,a.jsx)(x.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-[#E5E0D8] text-[#EF4444] hover:bg-[#FFEBEE] hover:text-[#EF4444] hover:border-[#EF4444]",children:(0,a.jsx)(W.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(ea.EO,{children:[(0,a.jsxs)(ea.wd,{children:[(0,a.jsx)(ea.r7,{children:m("ideas.deleteIdea")}),(0,a.jsx)(ea.$v,{children:m("ideas.deleteIdeaConfirm",{title:v.title})})]}),(0,a.jsxs)(ea.ck,{children:[(0,a.jsx)(ea.Zr,{children:m("common.cancel")}),(0,a.jsx)(ea.Rx,{variant:"destructive",onClick:tf,disabled:en,children:en?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(P.A,{className:"mr-2 h-4 w-4 animate-spin"}),m("common.delete")]}):m("common.delete")})]})]})]})]})})]}),(0,a.jsx)(eQ.h,{open:eD,onOpenChange:e_,ideaUuid:i,projectUuid:r,onMoved:()=>o()}),v&&(0,a.jsx)(e1,{open:eM,onOpenChange:eU,ideaUuid:v.uuid,ideaTitle:v.title,projectUuid:r,currentParentUuid:null!=(t=v.parentUuid)?t:null,descendantUuids:null!=(s=v.descendantUuids)?s:[],onChanged:ta}),v&&(0,a.jsx)(e9,{open:eP,onOpenChange:eI,projectUuid:r,parentUuid:v.uuid,parentTitle:v.title,onCreated:e=>{O.oR.success(j("deriveIdea")),g.refresh(),null==u||u(e)}}),$&&v&&(0,a.jsx)(tt.i,{idea:{uuid:v.uuid,title:v.title,content:v.content,status:v.status,assignee:v.assignee?{type:v.assignee.type,uuid:v.assignee.uuid,name:v.assignee.name}:null},projectUuid:r,currentUserUuid:d,onClose:()=>{V(!1),ta()}}),ez&&eV&&(0,a.jsx)(eH.v,{task:eV,projectUuid:r,currentUserUuid:d,mode:eX?"sidebyside":"overlay",onClose:()=>{e$(null),eq(null)},onBack:()=>{e$(null),eq(null)}}),eJ&&(0,a.jsx)(eG,{title:eJ.title,type:eJ.type,content:eJ.content,mode:eX?"sidebyside":"overlay",onClose:()=>eZ(null),onBack:()=>eZ(null)})]})}let tn=["ideas","lineage","stats"],tl=e=>"chorus:dashboard-view:".concat(e);function ti(e){let{projectUuid:t,currentUserUuid:s,initialTrackerData:r,initialStatsData:m,initialSelectedIdeaUuid:p}=e,h=(0,n.c)("ideaTracker"),[f,j]=(0,l.useState)(()=>{var e;return(e=null==r?void 0:r.groups)&&Object.values(e).some(e=>e.some(e=>{var t;return!!e.parentUuid||(null!=(t=e.childCount)?t:0)>0}))?"lineage":"ideas"}),[g,v]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=function(e){let t=null;try{t=window.localStorage.getItem(tl(e))}catch(e){return null}return tn.includes(t)?t:null}(t);e&&j(e)},[t]);let[b,N]=(0,l.useState)(()=>!!r&&0===Object.values(r.groups).reduce((e,t)=>e+t.length,0)),y="/projects/".concat(t,"/dashboard"),{selectedId:A,openPanel:w,closePanel:C}=(0,u.T)(y,p),k=[{id:"ideas",label:h("tabs.ideas"),icon:i.A},{id:"lineage",label:h("tabs.lineage"),icon:c},{id:"stats",label:h("tabs.stats"),icon:d}];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:k.map(e=>{let{id:s,label:n,icon:l}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>(e=>{j(e);try{window.localStorage.setItem(tl(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)(l,{className:"h-3.5 w-3.5"}),n]},s)})}),"stats"!==f&&!b&&(0,a.jsxs)(x.$,{onClick:()=>v(!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)(o.A,{className:"h-4 w-4"}),h("actions.newIdea")]})]}),"stats"===f?(0,a.jsx)(V,{projectUuid:t,initialData:m}):(0,a.jsx)(D,{projectUuid:t,initialData:r,viewMode:"lineage"===f?"tree":"flat",onIdeaClick:w,onNewIdea:()=>v(!0),onEmptyChange:N}),(0,a.jsx)(e9,{open:g,onOpenChange:v,projectUuid:t,onCreated:e=>w(e)}),A&&(0,a.jsx)(ta,{ideaUuid:A,projectUuid:t,currentUserUuid:s,onClose:C,onNavigate:w})]})}},41644:(e,t,s)=>{Promise.resolve().then(s.bind(s,7483)),Promise.resolve().then(s.bind(s,96140)),Promise.resolve().then(s.bind(s,97723))},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"}]])},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"}]])},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"}]])},96140:(e,t,s)=>{"use strict";s.d(t,{ProjectSettingsModal:()=>v});var a=s(90508),n=s(1856),l=s(23675),i=s(39268),r=s(52309),c=s(85226),d=s(22922),o=s(14554),x=s(88064),u=s(15972),m=s(97438),p=s(84247),h=s(51817),f=s(52217);let j=(0,f.createServerReference)("60fb600bbe0e82e8e87fd60f7661e93363117dd04d",f.callServer,void 0,f.findSourceMapURL,"updateProjectAction"),g=(0,f.createServerReference)("40a1e37396f58e0b94f8b4249861aa7dbe6c809e92",f.callServer,void 0,f.findSourceMapURL,"deleteProjectAction");function v(e){let{projectUuid:t,projectName:s,projectDescription:f}=e,v=(0,i.c)(),b=(0,l.useRouter)(),[N,y]=(0,n.useState)(!1),[A,w]=(0,n.useState)(s),[C,k]=(0,n.useState)(f||""),[E,F]=(0,n.useState)(!1),[B,S]=(0,n.useState)(!1),D=async()=>{F(!0);let e=await j(t,{name:A,description:C||null});F(!1),e.success&&(y(!1),b.refresh())},_=async()=>{S(!0);let e=await g(t);e&&!e.success&&S(!1)};return(0,a.jsxs)(m.lG,{open:N,onOpenChange:y,children:[(0,a.jsx)(m.zM,{asChild:!0,children:(0,a.jsxs)(d.$,{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)(r.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),v("dashboard.settings")]})}),(0,a.jsxs)(m.Cf,{className:"gap-0 overflow-hidden rounded-2xl border-0 p-0 sm:max-w-[520px]",children:[(0,a.jsx)(m.c7,{className:"px-7 py-6",children:(0,a.jsx)(m.L3,{className:"text-[20px] font-semibold tracking-tight text-[#2C2C2C]",children:v("projectSettings.title")})}),(0,a.jsx)(p.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:v("projectSettings.basicInfo")}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(x.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:v("projectSettings.projectName")}),(0,a.jsx)(o.p,{value:A,onChange:e=>w(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)(x.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:v("projectSettings.description")}),(0,a.jsx)(u.T,{value:C,onChange:e=>k(e.target.value),rows:3,className:"resize-none rounded-[10px] border-[#E5E2DC] text-[14px] text-[#2C2C2C] focus-visible:ring-[#C67A52]"})]}),(0,a.jsx)(d.$,{onClick:D,disabled:E||!A.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)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),v("projectSettings.saving")]}):v("projectSettings.saveChanges")})]}),(0,a.jsx)(p.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:v("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:v("projectSettings.deleteTitle")}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:v("projectSettings.deleteDescription")})]}),(0,a.jsxs)(h.Lt,{children:[(0,a.jsx)(h.tv,{asChild:!0,children:(0,a.jsx)(d.$,{variant:"destructive",size:"sm",className:"ml-4 shrink-0 rounded-lg bg-[#C4574C] px-[18px] text-[12px] font-medium hover:bg-[#B3463B]",children:v("common.delete")})}),(0,a.jsxs)(h.EO,{children:[(0,a.jsxs)(h.wd,{children:[(0,a.jsx)(h.r7,{children:v("projectOverview.deleteProject")}),(0,a.jsx)(h.$v,{children:v("projectOverview.deleteProjectConfirm",{name:s})})]}),(0,a.jsxs)(h.ck,{children:[(0,a.jsx)(h.Zr,{children:v("common.cancel")}),(0,a.jsx)(h.Rx,{variant:"destructive",onClick:_,disabled:B,children:B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),v("common.delete")]}):v("common.delete")})]})]})]})]})})]})]})]})]})}},97723:(e,t,s)=>{"use strict";s.d(t,{CollapsibleMarkdown:()=>c});var a=s(90508),n=s(1856),l=s(39268),i=s(22922),r=s(97261);function c(e){let{content:t,className:s}=e,c=(0,l.c)(),[d,o]=(0,n.useState)(!1),[x,u]=(0,n.useState)(!1),m=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let e=m.current;if(!e)return;let t=()=>u(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:m,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:d?void 0:{maxHeight:80},children:(0,a.jsx)(r.MarkdownContent,{children:t})}),x&&(0,a.jsx)(i.$,{variant:"link",size:"sm",onClick:()=>o(e=>!e),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:c(d?"common.showLess":"common.showMore")})]})}}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,12790,26885,14655,71350,30724,16544,27201,16551,97784,14753,89644,45532,70552,15183,26394,27378,64187,37784,97868,85573,46983,10344,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,13468)),Promise.resolve().then(n.bind(n,89971)),Promise.resolve().then(n.bind(n,56990)),Promise.resolve().then(n.bind(n,76546))},13468:(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)("403e904451efaa23a82f0fd55c4b81ca7d22ce589a",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})]})}},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"}]])},56990:(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)("70761d276c12aa0cd037c3efe8517c31c16de11048",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")})})]})}},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)})})]})}},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(85573);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,14655,71350,30724,27201,16551,97784,14753,89644,45532,70552,15183,26394,27378,64187,16467,97868,85573,74951,65496,77358],()=>e(e.s=12294)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{12552:(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)("40aafa9b7b0599265cf7aa60562f0e4e1d7320fdc3",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")})]})]})]})}},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})}},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,12552)),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()}]);
|