@chorus-aidlc/chorus 0.17.3 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +327 -325
- package/.next/standalone/.next/app-path-routes-manifest.json +37 -37
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +27 -27
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +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]/graph/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +2 -2
- package/.next/standalone/.next/server/app/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/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/connection-heartbeat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +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/directory-request/report/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.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.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.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-directory-requests/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_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 +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.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/agent-cwd-options/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route_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 +2 -2
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +2 -2
- package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +2 -2
- package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +2 -2
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +2 -2
- package/.next/standalone/.next/server/app/projects.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +37 -37
- package/.next/standalone/.next/server/chunks/109.js +1 -0
- package/.next/standalone/.next/server/chunks/1318.js +1 -1
- package/.next/standalone/.next/server/chunks/1496.js +1 -0
- package/.next/standalone/.next/server/chunks/1559.js +2 -2
- package/.next/standalone/.next/server/chunks/2572.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/3112.js +1 -1
- package/.next/standalone/.next/server/chunks/{1201.js → 3619.js} +2 -2
- package/.next/standalone/.next/server/chunks/{3630.js → 4810.js} +1 -1
- package/.next/standalone/.next/server/chunks/4827.js +1 -1
- package/.next/standalone/.next/server/chunks/5245.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6506.js +2 -2
- package/.next/standalone/.next/server/chunks/6737.js +1 -0
- package/.next/standalone/.next/server/chunks/6753.js +3 -3
- package/.next/standalone/.next/server/chunks/679.js +1 -1
- package/.next/standalone/.next/server/chunks/731.js +1 -0
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7530.js +1 -1
- package/.next/standalone/.next/server/chunks/7857.js +1 -0
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9213.js +1 -1
- package/.next/standalone/.next/server/chunks/9378.js +1 -1
- package/.next/standalone/.next/server/chunks/9931.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/11595.0afa1a540f681fb4.js +1 -0
- package/.next/standalone/.next/static/chunks/22705-324a191727ae45b7.js +1 -0
- package/.next/standalone/.next/static/chunks/33456.4a5f4712a7e78d8f.js +1 -0
- package/.next/standalone/.next/static/chunks/44216-3876e84f5b02d355.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.5719e32b95be2d93.js +1 -0
- package/.next/standalone/.next/static/chunks/6528-a8a562ef7d26bb43.js +1 -0
- package/.next/standalone/.next/static/chunks/67439-7b339b28ed0ecfc6.js +1 -0
- package/.next/standalone/.next/static/chunks/79919-ae8bd8d8ec1e38ce.js +1 -0
- package/.next/standalone/.next/static/chunks/{46021-f5d072b0cbcb7fac.js → 82203-4ce5926624df7ed0.js} +1 -1
- package/.next/standalone/.next/static/chunks/94643-37ac7b8ef8ea5e75.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.6c1509bfaf599741.js +1 -0
- package/.next/standalone/.next/static/chunks/99775-697e82ee04eac6b1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-2fda722cdace8147.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-77b175e52a85f3cb.js → page-b45c42c536eff64b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-792aba7fd6b6daa3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-800a979f12b73f27.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-69d3162667f85677.js → page-34de35f75aa71f6d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-a16002aa2a911619.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-a3f83031dfbafc81.js → page-e8030824994edf35.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-4f7f1ddbaf79be8f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-3c7ff3a40a4615ac.js → page-349b0977f3c6209a.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-7b8e11fdc5b596d0.js → page-be43cb06112fce12.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-6916e1abab42a6e6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/{page-0ce33b9327fe3d8c.js → page-c0090caae202eae5.js} +1 -1
- package/.next/standalone/.next/static/chunks/{webpack-dffb97a4feb8faba.js → webpack-cfb63dd1b416c92e.js} +1 -1
- package/.next/standalone/.next/static/css/75c761a5428611fa.css +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +2 -2
- package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +1 -0
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +12 -3
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +4 -0
- package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/chorus-plugin/bin/on-post-submit-for-verify.sh +3 -3
- package/.next/standalone/public/chorus-plugin/bin/on-post-submit-proposal.sh +3 -3
- package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +2 -2
- package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +39 -64
- package/.next/standalone/public/chorus-plugin/bin/resolve-spec-mode.sh +107 -0
- package/.next/standalone/public/chorus-plugin/bin/tests/test-resolver-drift.sh +46 -0
- package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity-negative.sh +328 -0
- package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity.sh +372 -0
- package/.next/standalone/public/chorus-plugin/bin/tests/test-spec-mode-resolution.sh +83 -0
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +11 -6
- package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +14 -9
- package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +27 -31
- package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +11 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +14 -7
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +6 -4
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +10 -8
- package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +147 -0
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +49 -34
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +2 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +9 -7
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +35 -27
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +9 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +14 -7
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +2 -2
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +8 -8
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +147 -0
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +39 -25
- package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +11 -6
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +41 -0
- package/.next/standalone/public/kiro-plugin/bin/on-post-submit-for-verify.sh +3 -3
- package/.next/standalone/public/kiro-plugin/bin/on-post-submit-proposal.sh +3 -3
- package/.next/standalone/public/kiro-plugin/bin/on-post-verify-task.sh +2 -2
- package/.next/standalone/public/kiro-plugin/bin/resolve-spec-mode.sh +107 -0
- package/.next/standalone/public/kiro-plugin/manifest.txt +2 -0
- package/.next/standalone/public/skill/chorus/SKILL.md +11 -1
- package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -0
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +11 -1
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +5 -2
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/review-chorus/SKILL.md +5 -3
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +4 -0
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +23 -7
- package/README.ja.md +3 -3
- package/README.ko.md +3 -3
- package/README.md +3 -3
- package/README.zh.md +3 -3
- package/cli/agent-cli-config.mjs +323 -0
- package/cli/agent-launcher.mjs +44 -16
- package/cli/claude-spawner.mjs +22 -13
- package/cli/codex-spawner.mjs +23 -15
- package/cli/credentials.mjs +7 -0
- package/cli/daemon-config.mjs +14 -0
- package/cli/daemon.mjs +32 -6
- package/cli/dsh-managed-config.mjs +26 -28
- package/cli/dsh-spawner.mjs +23 -15
- package/cli/init/steps/credential-seed.mjs +1 -1
- package/cli/kiro-spawner.mjs +22 -15
- package/cli/launch-diagnostics.mjs +67 -0
- package/cli/login.mjs +17 -1
- package/cli/pi-spawner.mjs +19 -12
- package/cli/prompts.mjs +52 -2
- package/cli/spawner-select.mjs +6 -11
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/1114.js +0 -1
- package/.next/standalone/.next/server/chunks/1155.js +0 -1
- package/.next/standalone/.next/server/chunks/6465.js +0 -1
- package/.next/standalone/.next/server/chunks/8105.js +0 -1
- package/.next/standalone/.next/server/chunks/8232.js +0 -1
- package/.next/standalone/.next/static/chunks/11595.f7c3ef5cd7fc8feb.js +0 -1
- package/.next/standalone/.next/static/chunks/33456.c81079032acc2966.js +0 -1
- package/.next/standalone/.next/static/chunks/45262-38b332523f00a223.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.f0cfb1201191ae88.js +0 -1
- package/.next/standalone/.next/static/chunks/66609-64a01d5cb415465b.js +0 -1
- package/.next/standalone/.next/static/chunks/79919-c5a2a3fd8f5f9204.js +0 -1
- package/.next/standalone/.next/static/chunks/94394-38194b81b489275c.js +0 -1
- package/.next/standalone/.next/static/chunks/94643-f1bdf37fb3bb6adb.js +0 -1
- package/.next/standalone/.next/static/chunks/95225-96b44da3ebd6ddad.js +0 -1
- package/.next/standalone/.next/static/chunks/96482-2b3bdb2544d72e5a.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.3c23ac2efbd4db02.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-66328332f62c7371.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-87ceae13c4950fc9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-45e95154e546460e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-b7b2017e5be69564.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8b06834ca0f663bb.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-efe5326c47aca9ca.js +0 -1
- package/.next/standalone/.next/static/css/1d9cf83f50b6db00.css +0 -1
- /package/.next/standalone/.next/static/{wuqYN129vOIGymh_NEdZe → IxKVu5zkFPTjSKAUR99yH}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{wuqYN129vOIGymh_NEdZe → IxKVu5zkFPTjSKAUR99yH}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=1496,exports.ids=[1496],exports.modules={3259:(a,b,c)=>{c.d(b,{i:()=>y});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(86460),i=c(21692),j=c(97443),k=c(42424),l=c(6871),m=c(94214),n=c(2852),o=c(11225),p=c(55732),q=c(23871),r=c(27696),s=c(27876),t=c(42377);t.callServer,t.findSourceMapURL,t.callServer,t.findSourceMapURL;let u=(0,t.createServerReference)("40f396a79ed7ca9ec7cc613eaad63507ddcf27bc92",t.callServer,void 0,t.findSourceMapURL,"claimIdeaAction"),v=(0,t.createServerReference)("7041af79d55f1793ad1eb4e13ce5d85510e3db0706",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToAgentAction"),w=(0,t.createServerReference)("608038a6d70125db7c783f343befb86f3be1897bf9",t.callServer,void 0,t.findSourceMapURL,"claimIdeaToUserAction"),x=(0,t.createServerReference)("40c192e48be914a818903cc82fb062cfe8fb50eec3",t.callServer,void 0,t.findSourceMapURL,"releaseIdeaAction");function y({idea:a,projectUuid:b,currentUserUuid:c,onClose:t}){let y=(0,g.c)(),z=(0,f.r)(),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)("self"),[E,F]=(0,e.useState)(""),[G,H]=(0,e.useState)(""),[I,J]=(0,e.useState)([]),[K,L]=(0,e.useState)([]),[M,N]=(0,e.useState)(!0),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)([]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(null),[W,X]=(0,e.useState)(null),Y=!!a.assignee,Z=Q.find(a=>a.connectionUuid===W)??null,$=new Set(Q.map(a=>a.host)).size>1,_=async()=>{let b;if(B(!0),P(null),"self"===C)b=await u(a.uuid);else if("agent"===C&&E)b=await v(a.uuid,E,Z?.agentInstanceUuid??void 0);else if("user"===C&&G)b=await w(a.uuid,G);else{if("release"!==C)return void B(!1);b=await x(a.uuid)}B(!1),b?.success?(z.refresh(),t()):b?.error&&P(b.error)},aa="self"===C||"agent"===C&&E||"user"===C&&G||"release"===C&&Y;return(0,d.jsxs)(m._8,{open:!0,onOpenChange:a=>{a||t()},className:"bg-card sm:max-w-[400px]",header:(0,d.jsx)(m.AI,{className:"text-base font-semibold text-foreground",children:y("ideas.assignIdea")}),footer:(0,d.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,d.jsx)(k.$,{variant:"outline",onClick:t,disabled:A,className:"border-border",children:y("common.cancel")}),(0,d.jsx)(k.$,{onClick:_,disabled:A||!aa,className:"bg-primary hover:bg-[#B56A42] text-white",children:A?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):"release"===C?y("common.release"):function(){if("agent"!==C||!Z)return y("common.assign");let a=(0,r.kn)(Z.cwd),b=a.isUnknown?y(a.label):a.label,c=(0,r.g9)(Z.host),d=c.isUnknown?y(c.label):c.label;return $?y("assignInstance.assignToWithHost",{path:b,host:d}):y("assignInstance.assignTo",{path:b})}()})]}),bodyClassName:"space-y-4",children:[Y&&(0,d.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] dark:bg-[#13253a] p-3",children:(0,d.jsxs)("p",{className:"text-xs text-[#1976D2] dark:text-[#5AA9F0]",children:[y("common.currentAssignee"),": ",(0,d.jsx)("span",{className:"font-medium",children:a.assignee?.name})]})}),O&&(0,d.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] dark:bg-[#331619] p-3",children:(0,d.jsx)("p",{className:"text-xs text-[#D32F2F] dark:text-[#F08078]",children:O})}),(0,d.jsx)("p",{className:"text-[13px] text-muted-foreground",children:y("ideas.selectIdeaAssignee")}),M?(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(h.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,d.jsxs)(o.z,{value:C,onValueChange:a=>D(a),className:"space-y-3",children:[(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"self"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"}`,onClick:()=>D("self"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(o.C,{value:"self",id:"idea-self",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-self",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.assignToMyself")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("ideas.assignToMyselfIdeaDesc")})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"agent"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("agent"),children:[(0,d.jsx)(o.C,{value:"agent",id:"idea-agent",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-foreground cursor-pointer",children:y("ideas.orAssignToPmAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("ideas.onlySelectedPmAgentCanWork")}),"agent"===C&&(0,d.jsxs)("div",{className:"mt-3 ml-6 space-y-3",children:[(0,d.jsxs)(p.l6,{value:E,onValueChange:F,children:[(0,d.jsx)(p.bq,{className:"w-full border-border",children:(0,d.jsx)(p.yv,{placeholder:y("ideas.selectPmAgent")})}),(0,d.jsx)(p.gC,{className:"z-[120]",children:I.length>0?I.map(a=>(0,d.jsx)(p.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(l.AgentAvatar,{name:a.name,size:16,className:"rounded-full"}),(0,d.jsx)("span",{children:a.name})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("ideas.noPmAgentsAvailable")})})]}),E&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:y("assignInstance.workingDirectory")}),S?(0,d.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-[#9A9A9A]",children:[(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}),y("assignInstance.loadingInstances")]}):U?.source==="project_fixed"?(0,d.jsx)(s.Y,{target:U}):0===Q.length?(0,d.jsx)("p",{className:"rounded-lg bg-background p-2.5 text-[11px] leading-relaxed text-muted-foreground",children:y("assignInstance.noInstances")}):(0,d.jsx)(q.O,{instances:Q,selectedConnectionUuid:W,onSelect:a=>X(a.connectionUuid),ariaLabel:y("assignInstance.workingDirectory")}),U?.source!=="project_fixed"&&(0,d.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A8C7E]",children:[(0,d.jsx)(i.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,d.jsx)("span",{children:y("assignInstance.ideaPinNote")})]})]})]})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"user"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>D("user"),children:[(0,d.jsx)(o.C,{value:"user",id:"idea-user",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-user",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.orAssignToUser")})]}),"user"===C&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(p.l6,{value:G,onValueChange:H,children:[(0,d.jsx)(p.bq,{className:"w-full border-border",children:(0,d.jsx)(p.yv,{placeholder:y("tasks.selectUser")})}),(0,d.jsx)(p.gC,{className:"z-[120]",children:K.length>0?K.map(a=>(0,d.jsx)(p.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{children:a.name||a.email})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:y("tasks.noUsersAvailable")})})]})})]}),Y&&(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"release"===C?"bg-[#FDF8F6] dark:bg-[#201d1b] border-2 border-primary":"bg-card border border-border hover:border-primary/50"}`,onClick:()=>D("release"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(o.C,{value:"release",id:"idea-release",className:"border-primary text-primary"}),(0,d.jsx)(n.J,{htmlFor:"idea-release",className:"text-sm font-medium text-foreground cursor-pointer",children:y("assign.releaseAssignee")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-muted-foreground leading-relaxed",children:y("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},4284:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{a1:()=>g});var e=c(71255);c(62729);var f=a([e]);async function g(a){let b=await e.z.projectGroup.findMany({where:{companyUuid:a},orderBy:{createdAt:"asc"}}),c=b.map(a=>a.uuid),d=c.length>0?await e.z.project.groupBy({by:["groupUuid"],where:{companyUuid:a,groupUuid:{in:c}},_count:{_all:!0}}):[],f=new Map(d.map(a=>[a.groupUuid,a._count._all])),g=b.map(a=>({uuid:a.uuid,name:a.name,description:a.description,projectCount:f.get(a.uuid)??0,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()})),h=await e.z.project.count({where:{companyUuid:a,groupUuid:null}});return{groups:g,total:b.length,ungroupedCount:h}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},5797:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},9952:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("402fe092b0a647813e2e0cbc6f77153d62b3f4458a",d.callServer,void 0,d.findSourceMapURL,"getIdeaActivitiesAction")},11166:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{p:()=>g});var e=c(89998),f=a([e]);e=(f.then?(await f)():f)[0];let h={action:"yolo_requested",precondition:async({idea:a})=>{if("agent"!==a.assigneeType&&"agent_instance"!==a.assigneeType)throw new e.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");return{}},offlinePolicy:"require_online"};async function g({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f}){await (0,e.u)(h,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:f})}d()}catch(a){d(a)}})},22110:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{e1:()=>o,em:()=>n,yu:()=>p,zS:()=>m});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(23733),i=c(71255),j=c(97307),k=c(12217),l=a([g,h,i]);async function m(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}async function n(a,b,c){let d=await (0,g.d)();if(!d)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.Rm)({companyUuid:d.companyUuid,ideaUuid:a,roundUuid:b,actorUuid:d.actorUuid,actorType:d.type,answers:c}),g=await i.z.idea.findFirst({where:{uuid:a,companyUuid:d.companyUuid}});return g&&((0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${g.projectUuid}/ideas`)),{success:!0,data:e}}catch(a){return j.default.error({err:a},"Failed to submit elaboration answers"),{success:!1,error:a instanceof Error?a.message:"Failed to submit answers"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};if("user"!==b.type&&"super_admin"!==b.type)return{success:!1,error:"Only users can verify elaboration"};try{let c=await (0,h.A7)({companyUuid:b.companyUuid,ideaUuid:a,actorUuid:b.actorUuid,actorType:b.type}),d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:b.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0,data:c}}catch(a){return j.default.error({err:a},"Failed to verify elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to verify elaboration"}}}async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{await (0,h.Y_)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,reason:b});let d=await i.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return d&&((0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`)),{success:!0}}catch(a){return j.default.error({err:a},"Failed to skip elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to skip elaboration"}}}[g,h,i]=l.then?(await l)():l,(0,k.D)([m,n,o,p]),(0,e.A)(m,"4086007f35b03ed9ef0b684349502784a4eefb3535",null),(0,e.A)(n,"70b26431efe56950e7f4a7336e39d12749ea7b3fe5",null),(0,e.A)(o,"4024050c71c82bf79bf758729c7402b940bd5f879c",null),(0,e.A)(p,"6014e13f6d394a26469946846f65e3a4d3d8a9a0f2",null),d()}catch(a){d(a)}})},23157:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ax:()=>q,G3:()=>v,M$:()=>s,UD:()=>u,UP:()=>r,ZL:()=>t,qN:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),i=c(28774),j=c(61076),k=c(25383),l=c(67738),m=c(97307),n=c(12217),o=a([g,h,i,j,k,l]);async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:b.companyUuid,assigneeType:b.type,assigneeUuid:b.actorUuid,assignedByType:"user",assignedByUuid:b.actorUuid}),await (0,l.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"idea",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea"),{success:!1,error:"Failed to claim idea"}}}async function q(a,b,c){let d=await (0,g.d)();if(!d||"user"!==d.type)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};let g=await (0,k.gt)({companyUuid:d.companyUuid,actorUserUuid:d.actorUuid,projectUuid:e.projectUuid,agentUuid:b}),i="project_fixed"===g.source?g.agentInstanceUuid:c;return await (0,h.Xo)({ideaUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:i??void 0,cwdSource:"project_fixed"===g.source?g.source:null,cwdHost:"project_fixed"===g.source?g.host:null,runtimeCwd:"project_fixed"===g.source?g.cwd:null}),await (0,l.createActivity)({companyUuid:d.companyUuid,projectUuid:e.projectUuid,targetType:"idea",targetUuid:a,actorType:"user",actorUuid:d.actorUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:b,...i?{instanceUuid:i}:{},..."project_fixed"===g.source?{resolvedCwdSource:g.source,resolvedCwdHost:g.host,resolvedRuntimeCwd:g.cwd}:{}}}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to agent"),{success:!1,error:"Failed to claim idea"}}}async function r(a,b,c){let d=await (0,g.d)();if(!d||"user"!==d.type)return{success:!1,error:"Unauthorized"};try{let e=await (0,h.MY)(d.companyUuid,a);if(!e)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:d.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByType:"user",assignedByUuid:d.actorUuid,instanceUuid:c,allowElaboratedInstanceRepin:!0}),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to reassign idea instance (no wake)"),{success:!1,error:"Failed to reassign idea"}}}async function s(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};return await (0,h.Xo)({ideaUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByType:"user",assignedByUuid:c.actorUuid}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to claim idea to user"),{success:!1,error:"Failed to claim idea"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.MY)(b.companyUuid,a);if(!c)return{success:!1,error:"Idea not found"};return await (0,h.h_)(c.uuid),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/ideas`),{success:!0}}catch(a){return m.default.error({err:a},"Failed to release idea"),{success:!1,error:"Failed to release idea"}}}async function u(){let a=await (0,g.d)();if(!a||"user"!==a.type)return{agents:[],users:[]};try{let[b,c]=await Promise.all([(0,i.ic)(a.companyUuid,"idea:write",a.actorUuid),(0,i.A8)(a.companyUuid)]);return{agents:b,users:c}}catch(a){return m.default.error({err:a},"Failed to get assignable agents"),{agents:[],users:[]}}}async function v(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{instances:[],resolvedTarget:null};try{let[d,e]=await Promise.all([(0,j._R)(c.companyUuid,a),b?(0,k.gt)({companyUuid:c.companyUuid,actorUserUuid:c.actorUuid,projectUuid:b,agentUuid:a}):null]);return{instances:d.map(a=>({connectionUuid:a.uuid,agentInstanceUuid:a.agentInstanceUuid,host:a.host,cwd:a.cwd,effectiveStatus:a.effectiveStatus})),resolvedTarget:e}}catch(a){return m.default.error({err:a},"Failed to get agent instances"),{instances:[],resolvedTarget:null}}}[g,h,i,j,k,l]=o.then?(await o)():o,(0,n.D)([p,q,r,s,t,u,v]),(0,e.A)(p,"40f396a79ed7ca9ec7cc613eaad63507ddcf27bc92",null),(0,e.A)(q,"7041af79d55f1793ad1eb4e13ce5d85510e3db0706",null),(0,e.A)(r,"709d91d2ebcd507ccb483317b3c50a2f62b8833071",null),(0,e.A)(s,"608038a6d70125db7c783f343befb86f3be1897bf9",null),(0,e.A)(t,"40c192e48be914a818903cc82fb062cfe8fb50eec3",null),(0,e.A)(u,"00bd6369c554989603eac3fb083e74d5abcfcb5701",null),(0,e.A)(v,"60c87393841a49fce35e289166ea82a63c2eb01e24",null),d()}catch(a){d(a)}})},23733:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A7:()=>m,Rm:()=>l,Y_:()=>n,t8:()=>o});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(89998),j=a([e,g,h,i]);async function k(a,b,c){if(b.assigneeUuid===c)return!0;if("agent_instance"===b.assigneeType){let d=await (0,h.wo)(a,b.assigneeType,b.assigneeUuid);return null!==d&&d===c}return!1}async function l({companyUuid:a,ideaUuid:b,roundUuid:c,actorUuid:d,actorType:h,answers:i}){let j=c;if(!j){let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a,status:"pending_answers"},select:{uuid:!0}});if(0===c.length)throw Error("no active round to answer");if(c.length>1)throw Error("multiple active rounds; specify roundUuid");j=c[0].uuid}let k=await e.z.elaborationRound.findFirst({where:{uuid:j,ideaUuid:b,companyUuid:a},include:{questions:!0}});if(!k)throw Error("Elaboration round not found");if("pending_answers"!==k.status)throw Error(`Round is '${k.status}', expected 'pending_answers'`);let l=new Date;for(let a of i){let b=k.questions.find(b=>b.questionId===a.questionId);if(!b)throw Error(`Question '${a.questionId}' not found in round`);if(null!==a.selectedOptionId){if(!b.options.find(b=>b.id===a.selectedOptionId))throw Error(`Invalid option '${a.selectedOptionId}' for question '${a.questionId}'`)}else if(!a.customText?.trim())throw Error(`Question '${a.questionId}': custom text is required when no option is selected`);await e.z.elaborationQuestion.update({where:{uuid:b.uuid},data:{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:l,answeredByType:h,answeredByUuid:d}})}let m=(await e.z.elaborationQuestion.findMany({where:{roundUuid:j}})).filter(a=>a.required).every(a=>null!==a.answeredAt),n=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});m&&(await e.z.elaborationRound.update({where:{uuid:j},data:{status:"answered"}}),n?.elaborationStatus!=="resolved"&&await e.z.idea.update({where:{uuid:b},data:{elaborationStatus:"validating"}})),await g.f0.createActivity({companyUuid:a,projectUuid:n.projectUuid,targetType:"idea",targetUuid:b,actorType:h,actorUuid:d,action:"elaboration_answered",value:{roundNumber:k.roundNumber,answeredCount:i.length}}),f.B.emitChange({companyUuid:a,projectUuid:n.projectUuid,entityType:"idea",entityUuid:b,action:"updated"});let o=await e.z.elaborationRound.findUnique({where:{uuid:j},include:{questions:!0}});return p(o)}[e,g,h,i]=j.then?(await j)():j;let r={action:"elaboration_verified",precondition:async({companyUuid:a,ideaUuid:b})=>{let c=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a}});if(0===c.length)throw new i.$("PRECONDITION_FAILED","Cannot resolve: the Idea has no elaboration rounds","no_rounds");let d=c.filter(a=>"pending_answers"===a.status);if(d.length>0)throw new i.$("PRECONDITION_FAILED",`Cannot resolve: ${d.length} round(s) still have unanswered questions`,"pending_answers");return{totalRounds:c.length}},transition:async({ideaUuid:a})=>{await e.z.idea.update({where:{uuid:a},data:{status:"elaborated",elaborationStatus:"resolved"}})},offlinePolicy:"queue"};async function m({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}){return await (0,i.u)(r,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d}),o({companyUuid:a,ideaUuid:b})}async function n({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,reason:h,actorIsIdeaAdmin:i=!1}){let j=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!j)throw Error("Idea not found");let l=await k(a,j,c);if(!l&&!i)throw Error("Only the assigned agent or an idea:admin gateway can skip elaboration");if("elaborating"!==j.status)throw Error(`Cannot skip elaboration from status '${j.status}'`);await e.z.idea.update({where:{uuid:b},data:{status:"elaborated",elaborationDepth:"minimal",elaborationStatus:"resolved"}}),await g.f0.createActivity({companyUuid:a,projectUuid:j.projectUuid,targetType:"idea",targetUuid:b,actorType:d,actorUuid:c,action:l?"elaboration_skipped":"elaboration_verified",value:l?{reason:h}:{reason:h,viaSkip:!0}}),f.B.emitChange({companyUuid:a,projectUuid:j.projectUuid,entityType:"idea",entityUuid:b,action:"updated"})}async function o({companyUuid:a,ideaUuid:b}){let c=await e.z.idea.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Idea not found");let d=await e.z.elaborationRound.findMany({where:{ideaUuid:b,companyUuid:a},include:{questions:!0},orderBy:{roundNumber:"asc"}}),f=d.flatMap(a=>a.questions),g=f.filter(a=>null!==a.answeredAt),h=d.filter(a=>"pending_answers"!==a.status),i=d.find(a=>"pending_answers"===a.status);return{ideaUuid:b,depth:c.elaborationDepth,status:c.elaborationStatus,rounds:d.map(p),summary:{totalQuestions:f.length,answeredQuestions:g.length,validatedRounds:h.length,pendingRound:i?.roundNumber||null}}}function p(a){return{uuid:a.uuid,roundNumber:a.roundNumber,status:a.status,isAppended:a.isAppended,createdBy:{type:a.createdByType,uuid:a.createdByUuid},validatedAt:a.validatedAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),questions:a.questions.map(q)}}function q(a){return{uuid:a.uuid,questionId:a.questionId,text:a.text,category:a.category,options:a.options,required:a.required,answer:a.answeredAt?{selectedOptionId:a.selectedOptionId,customText:a.customText,answeredAt:a.answeredAt.toISOString(),answeredBy:{type:a.answeredByType,uuid:a.answeredByUuid}}:null,issue:a.issueType?{type:a.issueType,description:a.issueDescription||""}:null}}d()}catch(a){d(a)}})},24364:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},25525:(a,b,c)=>{c.d(b,{R:()=>w});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(21790),i=c(49102),j=c(20447),k=c(67832),l=c(87461),m=c(9810),n=c(86460),o=c(42424),p=c(9994),q=c(82658),r=c(42377);let s=(0,r.createServerReference)("70b26431efe56950e7f4a7336e39d12749ea7b3fe5",r.callServer,void 0,r.findSourceMapURL,"submitElaborationAnswersAction");var t=c(42087);let u="__other__",v={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function w({ideaUuid:a,elaboration:b,onRefresh:c}){let e=(0,g.c)("elaboration"),h=(0,f.r)();if(!b||0===b.rounds.length)return null;let{summary:i,rounds:j}=b;return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e("title")}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:e("answeredCounter",{answered:i.answeredQuestions,total:i.totalQuestions})})]}),(0,d.jsx)("div",{className:"space-y-2.5",children:j.map(b=>(0,d.jsx)(x,{round:b,ideaUuid:a,onAnswered:async()=>{await c?.(),h.refresh()}},b.uuid))})]})}function x({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),j="pending_answers"===a.status,k="answered"===a.status||"validated"===a.status||"needs_followup"===a.status,[l,m]=(0,e.useState)(j);return(0,d.jsx)(q.Nt,{open:l,onOpenChange:m,children:(0,d.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-card",children:[(0,d.jsx)(q.R6,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:`flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-background ${l?"bg-[#F7F6F3] dark:bg-[#1e1d1b] border-b border-border":""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l?(0,d.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}):(0,d.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ${j?"bg-primary":"bg-[#888780]"}`,children:a.roundNumber}),(0,d.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:f("roundLabel",{number:a.roundNumber})}),a.isAppended&&(0,d.jsx)("span",{className:"rounded bg-[#EDE7F6] dark:bg-[#221833] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6] dark:text-[#A99FF0]",children:f("appendedBadge")}),!l&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["\xb7 ",f("questionCount",{count:a.questions.length})]})]}),k?(0,d.jsx)("span",{className:"rounded bg-[#E8F5E9] dark:bg-[#14281a] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32] dark:text-[#5FD07E]",children:f("statusAnswered")}):(0,d.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:f("pendingAnswers")})]})}),(0,d.jsx)(q.Ke,{children:j?(0,d.jsx)(z,{round:a,ideaUuid:b,onAnswered:c}):(0,d.jsx)(y,{round:a})})]})})}function y({round:a}){let b=(0,g.c)("elaboration");return(0,d.jsx)("div",{className:"space-y-4 px-4 py-4",children:a.questions.map((c,e)=>{let f=c.answer?.selectedOptionId?c.options.find(a=>a.id===c.answer?.selectedOptionId):null,g=c.answer?.customText||f?.label||b("noAnswer"),h=v[c.category]||c.category;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("span",{className:"text-xs leading-relaxed text-muted-foreground",children:["Q: ",c.text]}),(0,d.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:b(`category.${h}`)})]}),(0,d.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-foreground",children:["A: ",g]}),e<a.questions.length-1&&(0,d.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},c.uuid)})})}function z({round:a,ideaUuid:b,onAnswered:c}){let f=(0,g.c)("elaboration"),[h,q]=(0,e.useState)(0),r=(0,e.useRef)(h),[w,x]=(0,e.useState)("right"),[y,z]=(0,e.useState)({}),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(null),E=(0,e.useCallback)((a,b)=>{x("left"===b?"right":"left"),q(a)},[]),F=a.questions,G=F[h],H=v[G.category]||G.category,I=(0,e.useCallback)((a,b)=>{if(z(c=>({...c,[a]:{questionId:a,selectedOptionId:b===u?null:b,customText:b===u?c[a]?.customText||"":null}})),b!==u){let a=Math.min(F.length-1,r.current+1);a!==r.current&&setTimeout(()=>E(a,"left"),200)}},[F.length,E]),J=(0,e.useCallback)((a,b)=>{z(c=>({...c,[a]:{...c[a],questionId:a,selectedOptionId:null,customText:b}}))},[]),K=F.filter(a=>a.required).every(a=>{let b=y[a.questionId];return!!b&&!!(b.selectedOptionId||b.customText&&b.customText.trim())}),L=async()=>{B(!0),D(null);let d=Object.values(y),e=await s(b,a.uuid,d);e.success?(await c(),B(!1)):(B(!1),D(e.error||f("submitFailed")))},M=(a=>{let b=y[a];return b?null===b.selectedOptionId&&null!==b.customText&&void 0!==b.customText?u:b.selectedOptionId||null:null})(G.questionId),N=M===u,O=h===F.length-1,P=!!(y[G.questionId]?.customText??"").trim();return(0,d.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,d.jsxs)("div",{className:"right"===w?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:G.text}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h-1,"right"),disabled:0===h,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(j.A,{className:"h-4 w-4"})}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:f("navCounter",{current:h+1,total:F.length})}),(0,d.jsx)(o.$,{variant:"ghost",size:"icon",onClick:()=>E(h+1,"left"),disabled:h===F.length-1,className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]})]}),(0,d.jsxs)("div",{className:"mt-3",children:[G.options.map((a,b)=>{let c=M===a.id;return(0,d.jsxs)("div",{children:[(0,d.jsxs)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,a.id),className:`flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ${c?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-border text-xs font-medium text-foreground/80",children:b+1}),(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-foreground",children:a.label}),a.description&&(0,d.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-muted-foreground",children:a.description})]})]}),c&&(0,d.jsx)(k.A,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground"})]}),b<G.options.length-1&&(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"})]},a.id)}),(0,d.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,d.jsxs)("div",{className:`flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ${N?"bg-[#F7F6F3] dark:bg-[#1e1d1b]":"hover:bg-background"}`,children:[(0,d.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-border",onClick:()=>I(G.questionId,u),children:(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(p.p,{type:"text",value:y[G.questionId]?.customText||"",onChange:a=>J(G.questionId,a.target.value),onKeyDown:a=>{if((0,t.P)(a)||"Enter"!==a.key||a.shiftKey||a.ctrlKey||a.metaKey||(a.preventDefault(),O||!P))return;let b=r.current+1;setTimeout(()=>E(b,"left"),200)},placeholder:f("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-foreground placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!O&&(0,d.jsx)(o.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(O||!P)return;let a=r.current+1;setTimeout(()=>E(a,"left"),200)},disabled:!P,"aria-label":f("confirmAnswerAria"),className:"h-7 w-7 text-muted-foreground disabled:opacity-30",children:(0,d.jsx)(m.A,{className:"h-4 w-4"})})]}):(0,d.jsx)(o.$,{variant:"ghost",onClick:()=>I(G.questionId,u),className:"flex-1 justify-start text-left text-[13px] italic text-muted-foreground h-auto p-0 hover:bg-transparent",children:f("somethingElse")})]})]})]},h),C&&(0,d.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:C}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,d.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-primary"}),f(`category.${H}`)]}),(0,d.jsx)(o.$,{onClick:L,disabled:!K||A,className:"bg-primary hover:bg-[#B56A42] text-white text-[13px]",children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),f("submitting")]}):f("submitAnswers")})]})]})}},26402:(a,b,c)=>{c.d(b,{o:()=>d});function d({ideaStatus:a,elaborationStatus:b,elaboration:c}){return!("elaborating"!==a||"resolved"===b||!c||0===c.rounds.length||c.rounds.some(a=>"pending_answers"===a.status))}},30259:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(61212),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},31138:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{JQ:()=>o,Z$:()=>p,w$:()=>n,zK:()=>q});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(61212),i=c(97879),j=c(466),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.i1)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,content:a.content||null,attachments:a.attachments||null,createdByUuid:b.actorUuid,isContainer:a.isContainer});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,ideaUuid:c.uuid}}catch(a){return k.default.error({err:a},"Failed to create idea"),{success:!1,error:"Failed to create idea"}}}async function o(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.JF)(a.ideaUuid,b.companyUuid,{title:a.title,content:a.content,...void 0!==a.isContainer?{isContainer:a.isContainer}:{}},{actorType:b.type,actorUuid:b.actorUuid});return(0,f.revalidatePath)(`/projects/${a.projectUuid}/ideas`),{success:!0,idea:c}}catch(a){return k.default.error({err:a},"Failed to update idea"),{success:!1,error:"Failed to update idea"}}}async function p(a,b){if(!await (0,g.d)())return{success:!1,error:"Unauthorized"};try{return await (0,h.Nm)(a),(0,f.revalidatePath)(`/projects/${b}/ideas`),{success:!0}}catch(a){return k.default.error({err:a},"Failed to delete idea"),{success:!1,error:"Failed to delete idea"}}}async function q(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let{ideas:c}=await (0,h.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3}),d=c.map(a=>a.uuid),[e,f]=await Promise.all([d.length>0?(0,i.e1)(b.companyUuid,d):Promise.resolve({usedIdeas:[]}),d.length>0?(0,j.uA)(b.companyUuid,"idea",d):Promise.resolve({})]),g=e.usedIdeas.map(a=>a.uuid),k={};for(let a of e.usedIdeas)k[a.uuid]=a.proposalUuid;let l=c.map(a=>({...a,commentCount:f[a.uuid]||0}));return{success:!0,data:{ideas:l,usedIdeaUuids:g,ideaProposalMap:k}}}catch(a){return k.default.error({err:a},"Failed to fetch ideas"),{success:!1,error:"Failed to fetch ideas"}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o,p,q]),(0,e.A)(n,"4011c83e1b12a2739edd58fcb2e95dc4b046108757",null),(0,e.A)(o,"40156cd739a0e620a2cdedd92a3202768c5a4b5ca6",null),(0,e.A)(p,"606d685c5f17fdf11e43ace02f27e25c34f8848f45",null),(0,e.A)(q,"40b712149ce916667872e5fe8bccf9bbcedc08fdc0",null),d()}catch(a){d(a)}})},35770:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4086007f35b03ed9ef0b684349502784a4eefb3535",d.callServer,void 0,d.findSourceMapURL,"getElaborationAction")},45133:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i,y:()=>h});var e=c(71255),f=c(89998),g=a([e,f]);[e,f]=g.then?(await g)():g;let i={NO_APPROVED_PROPOSAL:"no_approved_proposal",NO_UNFINISHED_TASKS:"no_unfinished_tasks"},j=["done","closed"],k={action:"start_development",precondition:async({companyUuid:a,ideaUuid:b,idea:c})=>{if("agent"!==c.assigneeType&&"agent_instance"!==c.assigneeType)throw new f.$("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake");let d=await e.z.proposal.findFirst({where:{companyUuid:a,projectUuid:c.projectUuid,status:"approved",inputUuids:{array_contains:[b]}},select:{uuid:!0},orderBy:{createdAt:"desc"}});if(!d)throw new f.$("PRECONDITION_FAILED","The Idea has no approved proposal",i.NO_APPROVED_PROPOSAL);let g=await e.z.task.count({where:{companyUuid:a,proposalUuid:d.uuid,status:{notIn:j}}});if(0===g)throw new f.$("PRECONDITION_FAILED","All tasks of the approved proposal are finished",i.NO_UNFINISHED_TASKS);return{proposalUuid:d.uuid,remainingTasks:g}},offlinePolicy:"require_online"};async function h({companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e}){await (0,f.u)(k,{companyUuid:a,ideaUuid:b,actorUuid:c,actorType:d,temporaryCwd:e})}d()}catch(a){d(a)}})},48127:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("6027b97b896a76845c8a9b775de00ff73667c1b2da",d.callServer,void 0,d.findSourceMapURL,"getProposalsForIdeaAction")},48798:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(42377);let e=(0,d.createServerReference)("600911458dec1c84a552ce0b93044e401bf9457539",d.callServer,void 0,d.findSourceMapURL,"getTasksForProposalAction")},50468:(a,b,c)=>{c.d(b,{h:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(68884),h=c(76549),i=c(86460),j=c(56149),k=c(9810),l=c(55775),m=c(42424),n=c(2852),o=c(11568),p=c(10297),q=c(74113),r=c(96307),s=c(42377);let t=(0,s.createServerReference)("00d96491366ddec04b772baca9b56799c88de48796",s.callServer,void 0,s.findSourceMapURL,"getProjectsAndGroupsAction");s.callServer,s.findSourceMapURL;let u=(0,s.createServerReference)("602da982abe60dd5a0fbce147d37a7f671000371ef",s.callServer,void 0,s.findSourceMapURL,"moveIdeaAction");var v=c(54722);function w({open:a,onOpenChange:b,onCloseAutoFocus:c,ideaUuid:s,projectUuid:w,onMoved:x}){let y=(0,f.c)("ideas"),z=(0,f.c)("common"),A=(0,g.r)(),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(()=>{if(!F)return null;for(let a of B){let b=a.projects.find(a=>a.uuid===F);if(b)return b.name}return null})(),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(null);(0,e.useRef)(0);let U=(0,e.useCallback)(a=>{a&&a.addEventListener("wheel",a=>a.stopPropagation(),{passive:!0})},[]);(0,e.useCallback)(async()=>{G(null),L(null),P(null),T(null),E(!0);try{let a=await t();if(a.success){let{projects:b,groups:c}=a.data,d=b.filter(a=>a.uuid!==w).map(a=>({uuid:a.uuid,name:a.name,groupUuid:a.groupUuid})),e=new Map;for(let a of c)e.set(a.uuid,a.name);let f=new Map,g=[];for(let a of d)a.groupUuid&&e.has(a.groupUuid)?(f.has(a.groupUuid)||f.set(a.groupUuid,{uuid:a.groupUuid,name:e.get(a.groupUuid),projects:[]}),f.get(a.groupUuid).projects.push({uuid:a.uuid,name:a.name})):g.push({uuid:a.uuid,name:a.name});let h=[...f.values()];g.length>0&&h.push({uuid:"ungrouped",name:y("ungrouped"),projects:g}),C(h)}}catch(a){v.q.error("Failed to load projects for move dialog:",a),C([])}E(!1)},[w,y]);let V=async()=>{if(F&&K&&!Q){R(!0),T(null);try{let a=await u(s,F);if(a.success){let c=a.moved;h.oR.success(y("moveDialog.successToast",{...c}),{action:{label:y("moveDialog.viewMovedIdea"),onClick:()=>{A.push(`/projects/${F}/dashboard?panel=${s}&tab=overview`)}}}),b(!1),A.refresh(),x(c)}else T(y("moveDialog.error",{message:a.error||y("moveFailed")}))}catch(a){T(y("moveDialog.error",{message:a instanceof Error?a.message:y("moveFailed")}))}R(!1)}};return(0,d.jsx)(o.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(o.Cf,{onCloseAutoFocus:c,children:[(0,d.jsxs)(o.c7,{children:[(0,d.jsx)(o.L3,{children:y("moveDialog.title")}),(0,d.jsx)(o.rr,{children:y("moveDialog.description")})]}),(0,d.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,d.jsx)(n.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-foreground",children:y("moveDialog.targetProjectLabel")}),D?(0,d.jsx)("div",{className:"flex items-center justify-center h-10 border border-border rounded-md",children:(0,d.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,d.jsxs)(q.AM,{open:H,onOpenChange:I,children:[(0,d.jsx)(q.Wv,{asChild:!0,children:(0,d.jsxs)(m.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":H,className:(0,r.cn)("w-full justify-between border-border font-normal",!J&&"text-muted-foreground"),children:[J??y("moveDialog.targetProjectPlaceholder"),(0,d.jsx)(j.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(q.hl,{ref:U,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,d.jsxs)(p.uB,{children:[(0,d.jsx)(p.G7,{placeholder:y("moveDialog.searchProjects")}),(0,d.jsxs)(p.oI,{children:[(0,d.jsx)(p.xL,{children:y("noProjectsFound")}),B.map(a=>(0,d.jsx)(p.L$,{heading:a.name,children:a.projects.map(b=>(0,d.jsxs)(p.h_,{value:`${b.name} ${a.name}`,onSelect:()=>{G(b.uuid),I(!1)},children:[(0,d.jsx)(k.A,{className:(0,r.cn)("mr-2 h-4 w-4",F===b.uuid?"opacity-100":"opacity-0")}),b.name]},b.uuid))},a.uuid))]})]})})]}),F&&(0,d.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-border bg-background p-3 text-[13px] text-foreground",children:M?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,d.jsx)("span",{children:y("moveDialog.previewLoading")})]}):O?(0,d.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,d.jsx)(l.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:O})]}):K?(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("p",{children:y("moveDialog.previewSummary",{...K})}),(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:y("moveDialog.previewWarning")})]}):null}),S&&(0,d.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:S})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,d.jsx)(m.$,{variant:"outline",className:"border-border",onClick:()=>b(!1),disabled:Q,children:z("cancel")}),(0,d.jsx)(m.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:V,disabled:!F||!K||Q||M,children:Q?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("moving")]}):y("moveDialog.confirm")})]})]})})}},51017:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40156cd739a0e620a2cdedd92a3202768c5a4b5ca6",d.callServer,void 0,d.findSourceMapURL,"updateIdeaAction")},56568:(a,b,c)=>{c.d(b,{Z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("606d685c5f17fdf11e43ace02f27e25c34f8848f45",d.callServer,void 0,d.findSourceMapURL,"deleteIdeaAction")},57644:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Qd:()=>r,U$:()=>w,UN:()=>u,WD:()=>y,co:()=>v,cq:()=>q,d1:()=>z,nR:()=>s,s$:()=>x,wm:()=>t,zS:()=>A});var e=c(2613);c(50785);var f=c(9259),g=c(61212),h=c(97879),i=c(53870),j=c(50530),k=c(33994),l=c(4284),m=c(23733),n=c(97307),o=c(12217),p=a([f,g,h,i,j,k,l,m]);async function q(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,g.Zl)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function r(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let c=await (0,j.gg)(b.companyUuid,a);return c?{success:!0,data:c}:{success:!1,error:"Not found"}}async function s(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.bY)(c.companyUuid,a,b,c.actorUuid,c.type);return{success:!0,moved:d.moved}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to move idea"}}}async function t(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.MY)(c.companyUuid,a);if(!d)return{success:!1,error:"Idea not found"};if(d.projectUuid===b)return{success:!1,error:"Idea is already in the target project"};let e=await (0,g.jJ)(c.companyUuid,a,b);return{success:!0,moved:e.moved}}catch(a){return n.default.error({err:a},"Failed to preview idea move"),{success:!1,error:a instanceof Error?a.message:"Failed to preview move"}}}async function u(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=await (0,h.fS)(c.companyUuid,a,b);return{success:!0,data:d}}async function v(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let{tasks:d}=await (0,j.Vk)({companyUuid:c.companyUuid,projectUuid:a,proposalUuids:[b],skip:0,take:100});return{success:!0,data:d}}async function w(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};let d=(await (0,h.fS)(c.companyUuid,a,b)).filter(a=>"approved"===a.status).map(a=>a.uuid),e=await (0,i.yZ)(c.companyUuid,d,"report");return e.sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()),{success:!0,data:e}}async function x(){let a=await (0,f.d)();if(!a)return{success:!1,error:"Unauthorized"};let[{projects:b},{groups:c}]=await Promise.all([(0,k.hF)({companyUuid:a.companyUuid,skip:0,take:100}),(0,l.a1)(a.companyUuid)]);return{success:!0,data:{projects:b,groups:c}}}async function y(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,g.EZ)(a,b,c.companyUuid,{actorType:c.type,actorUuid:c.actorUuid});return{success:!0,data:d}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to set parent"}}}async function z(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};let{ideas:c,total:d}=await (0,g.BB)({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:200});return{success:!0,data:c.map(a=>({uuid:a.uuid,title:a.title})),total:d,hasMore:d>c.length}}async function A(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,m.t8)({companyUuid:b.companyUuid,ideaUuid:a});return{success:!0,data:c}}catch(a){return n.default.error({err:a},"Failed to get elaboration"),{success:!1,error:a instanceof Error?a.message:"Failed to get elaboration"}}}[f,g,h,i,j,k,l,m]=p.then?(await p)():p,(0,o.D)([q,r,s,t,u,v,w,x,y,z,A]),(0,e.A)(q,"40b4a0e98175441ca9bd980463fa7fedeb7b8a7e1a",null),(0,e.A)(r,"40f71cbfef2707e32c995692457638015649a998b5",null),(0,e.A)(s,"602da982abe60dd5a0fbce147d37a7f671000371ef",null),(0,e.A)(t,"60bb2e2a9ae41afffd3c04e4ad2055ea72c8dcbda8",null),(0,e.A)(u,"6027b97b896a76845c8a9b775de00ff73667c1b2da",null),(0,e.A)(v,"600911458dec1c84a552ce0b93044e401bf9457539",null),(0,e.A)(w,"60ca2eff388485dcb9faf78f94388a49be2d7795f4",null),(0,e.A)(x,"00d96491366ddec04b772baca9b56799c88de48796",null),(0,e.A)(y,"6014f58b5386dae958784423149acc09255b0ab9d1",null),(0,e.A)(z,"40f79bfbedab92ef2b2a5e10a65bfff644d6f3a5ab",null),(0,e.A)(A,"402f2e295b160fd8f940fd1f352e06efc45101c604",null),d()}catch(a){d(a)}})},68952:(a,b,c)=>{c.d(b,{s:()=>w});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(77840),i=c(86460),j=c(42424),k=c(6019),l=c(99127),m=c(70028);let n=new Set(["done","closed"]);function o({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!(b&&b.some(a=>"approved"===a.status)&&c&&0!==c.length&&c.every(a=>n.has(a.status)))}var p=c(42377);let q=(0,p.createServerReference)("603b4bc8a94ce336a84877d2b53900038ab5c5e6b9",p.callServer,void 0,p.findSourceMapURL,"yoloRequestedAction");var r=c(85933),s=c(76799),t=c(77078);let u={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"},v="bg-[#7F5AF0] hover:bg-[#6D48DE] dark:bg-[#6E56C8] dark:hover:bg-[#7C63D8] text-white";function w({ideaUuid:a,assignee:b,assigneeName:c,proposals:n,tasks:p,onStarted:w,renderAction:x,disabledReason:y,onCloseAutoFocus:z}){var A;let B=(0,f.c)("yolo"),C=(0,m.kz)()?.connections??[],[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),{start:J,pickerState:K,confirmPick:L,confirmTemporary:M,cancelPick:N,isResolving:O}=(0,s.E)({reassignNoWake:r.U,previewIdeaUuid:a}),P=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,Q=null!==P&&C.some(a=>a.agentUuid===P&&"online"===a.effectiveStatus),R=o({assignee:b,proposals:n,tasks:p}),S=o(A={assignee:b,proposals:n,tasks:p,agentOnline:Q})&&A.agentOnline;if(!x&&(!R||F))return F?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:B("startedHint")}):null;let T=async b=>{E(!0);try{let c=b?await q(a,b):await q(a);c.success?(G(!0),g.oR.success(B("startedHint")),w?.()):g.oR.error(B(u[c.errorCode??"unknown"]))}catch{g.oR.error(B("errorGeneric"))}finally{E(!1)}},U=y||(D||O?B("starting"):F?B("startedHint"):P?R?S?void 0:B("offlineHint"):B("completedHint"):B("errorAssigneeNotAgent"));return x||Q?(0,d.jsxs)(d.Fragment,{children:[x?.({label:B("button"),disabledReason:U,busy:D||O||null!==K||H,onSelect:()=>{U||I(!0)}}),(0,d.jsxs)(k.Lt,{open:H,onOpenChange:I,children:[!x&&(0,d.jsx)(k.tv,{asChild:!0,children:(0,d.jsxs)(j.$,{className:v,disabled:!S||D||O,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),B("button")]})}),(0,d.jsxs)(k.EO,{onCloseAutoFocus:z,children:[(0,d.jsxs)(k.wd,{children:[(0,d.jsx)(k.r7,{children:B("confirmTitle")}),(0,d.jsx)(k.$v,{children:B("confirmDescription")})]}),(0,d.jsxs)(k.ck,{children:[(0,d.jsx)(k.Zr,{disabled:D,children:B("cancel")}),(0,d.jsx)(j.$,{className:v,onClick:()=>{U||(I(!1),J({ideaUuid:a,wake:T}))},disabled:!!U,children:D?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),B("starting")]}):B("confirmCta")})]})]})]}),(0,d.jsx)(t.V,{open:null!==K,onCloseAutoFocus:z,agentName:c??"",instances:K?.instances??[],agentUuid:K?.agentUuid,onConfirm:L,onTemporaryConfirm:M,onCancel:N})]}):(0,d.jsx)(l.Bc,{delayDuration:300,children:(0,d.jsxs)(l.m_,{children:[(0,d.jsx)(l.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,d.jsxs)(j.$,{className:v,disabled:!0,children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4"}),B("button")]})})}),(0,d.jsx)(l.ZI,{children:B("offlineHint")})]})})}},71819:(a,b,c)=>{c.d(b,{w:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(76549),h=c(86460),i=c(58270),j=c(42424),k=c(99127),l=c(70028);let m=new Set(["done","closed"]);function n({assignee:a,proposals:b,tasks:c}){return!!a&&("agent"===a.type||"agent_instance"===a.type)&&!!b&&!!b.some(a=>"approved"===a.status)&&!!c&&!!c.some(a=>!m.has(a.status))&&!0}var o=c(42377);let p=(0,o.createServerReference)("60ce12bdf425503f52d8183cdeecfa43f2ef170f10",o.callServer,void 0,o.findSourceMapURL,"startDevelopmentAction");var q=c(85933),r=c(76799),s=c(77078);let t={unauthorized:"errorGeneric",not_human:"errorGeneric",idea_not_found:"errorGeneric",assignee_not_agent:"errorAssigneeNotAgent",no_approved_proposal:"errorNoApprovedProposal",no_unfinished_tasks:"errorNoUnfinishedTasks",agent_offline:"errorAgentOffline",instance_offline:"errorInstanceOffline",fixed_cwd_host_offline:"errorFixedCwdHostOffline",unknown:"errorGeneric"};function u({ideaUuid:a,assignee:b,assigneeName:c,proposals:m,tasks:o,onStarted:u,renderAction:v,disabledReason:w,onCloseAutoFocus:x}){var y;let z=(0,f.c)("startDevelopment"),A=(0,l.kz)()?.connections??[],[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(!1),{start:F,pickerState:G,confirmPick:H,confirmTemporary:I,cancelPick:J,isResolving:K}=(0,r.E)({reassignNoWake:q.U,previewIdeaUuid:a}),L=b?"agent"===b.type?b.uuid:"agent_instance"===b.type?b.instance?.agentUuid??null:null:null,M=null!==L&&A.some(a=>a.agentUuid===L&&"online"===a.effectiveStatus),N=n({assignee:b,proposals:m,tasks:o}),O=n(y={assignee:b,proposals:m,tasks:o,agentOnline:M})&&y.agentOnline;if(!v&&(!N||D))return D?(0,d.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:z("startedHint")}):null;let P=async b=>{C(!0);try{let c=b?await p(a,b):await p(a);c.success?(E(!0),g.oR.success(z("startedHint")),u?.()):g.oR.error(z(t[c.errorCode??"unknown"]))}catch{g.oR.error(z("errorGeneric"))}finally{C(!1)}},Q=w||(B||K?z("starting"):D?z("startedHint"):L?m?.some(a=>"approved"===a.status)?N?O?void 0:z("offlineHint"):z("errorNoUnfinishedTasks"):z("errorNoApprovedProposal"):z("errorAssigneeNotAgent")),R=()=>{Q||F({ideaUuid:a,wake:P})},S=(0,d.jsx)(j.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:R,disabled:!O||B||K,children:B?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),z("starting")]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{className:"mr-2 h-4 w-4"}),z("button")]})});return v||M?(0,d.jsxs)(d.Fragment,{children:[v?v({label:z("button"),disabledReason:Q,busy:B||K||null!==G,onSelect:R}):S,(0,d.jsx)(s.V,{open:null!==G,onCloseAutoFocus:x,agentName:c??"",instances:G?.instances??[],agentUuid:G?.agentUuid,onConfirm:H,onTemporaryConfirm:I,onCancel:J})]}):(0,d.jsx)(k.Bc,{delayDuration:300,children:(0,d.jsxs)(k.m_,{children:[(0,d.jsx)(k.k$,{asChild:!0,children:(0,d.jsx)("span",{tabIndex:0,className:"inline-flex",children:S})}),(0,d.jsx)(k.ZI,{children:z("offlineHint")})]})})}},76799:(a,b,c)=>{c.d(b,{E:()=>h});var d=c(21968),e=c(54722),f=c(23871);async function g(a){try{let b=await fetch(`/api/ideas/${encodeURIComponent(a)}/wake-preview`,{headers:{Accept:"application/json"}});if(!b.ok)return null;let c=await b.json();if(!c.success||!c.data)return null;return c.data}catch(a){return e.q.error("wake-target preview fetch failed",a),null}}function h({fetchPreview:a=g,reassignNoWake:b,previewIdeaUuid:c}){let[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(null),n=(0,d.useRef)("idle"),o=(0,d.useRef)(null),p=(0,d.useCallback)(()=>{n.current="idle",k(!1)},[]),q=(0,d.useCallback)(async(a,c,d)=>{try{let f=await b(a,c,d);f.success||e.q.debug("pin-then-wake reassign did not persist (continuing to wake)",f.error)}catch(a){e.q.error("pin-then-wake reassign threw (continuing to wake)",a)}},[b]),r=(0,d.useCallback)(async({ideaUuid:b,wake:c})=>{if("idle"===n.current){n.current="running",k(!0);try{let d=await a(b);if(m(d?.resolvedTarget?.source==="project_fixed"?d.resolvedTarget:null),!d||!d.assigneeAgentUuid||"direct"===d.outcome)return void await c();let e=d.assigneeAgentUuid,g=(0,f.C)(d.onlineInstances);if("pick"===d.outcome){if(0===g.length)return void await c();let a={ideaUuid:b,agentUuid:e,instances:g};o.current={state:a,wake:c},n.current="picking",i(a);return}if("auto_pin"===d.outcome){let a=g[0];a?.agentInstanceUuid&&await q(b,e,a.agentInstanceUuid),await c();return}}finally{"picking"!==n.current&&p()}}},[a,q,p]),s=(0,d.useCallback)(async a=>{if("picking"!==n.current||!o.current)return;let{state:b,wake:c}=o.current;n.current="running",o.current=null,i(null);try{a.agentInstanceUuid&&await q(b.ideaUuid,b.agentUuid,a.agentInstanceUuid),await c()}finally{p()}},[q,p]),t=(0,d.useCallback)(()=>{"picking"===n.current&&(o.current=null,i(null),p())},[p]);return{start:r,pickerState:h,confirmPick:s,confirmTemporary:(0,d.useCallback)(async a=>{if("picking"!==n.current||!o.current)return;let{wake:b}=o.current;n.current="running",o.current=null,i(null);try{await b(a)}finally{p()}},[p]),cancelPick:t,isResolving:j,fixedTarget:l}}},79097:(a,b,c)=>{c.d(b,{e:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4024050c71c82bf79bf758729c7402b940bd5f879c",d.callServer,void 0,d.findSourceMapURL,"verifyElaborationAction")},80041:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(61212),i=c(97307),j=c(12217),k=a([f,g,h]);async function l(a){let b=await (0,f.d)();if(!b)return{activities:[],total:0};try{let c=await (0,h.MY)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"idea",targetUuid:a,skip:0,take:50})}catch(a){return i.default.error({err:a},"Failed to get idea activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"402fe092b0a647813e2e0cbc6f77153d62b3f4458a",null),d()}catch(a){d(a)}})},82870:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(71255),e=c(92633),f=c(30259),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},84819:(a,b,c)=>{c.d(b,{Separator:()=>g});var d=c(10837);c(21968);var e=c(72229),f=c(96307);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},85806:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f0:()=>l});var e=c(33994),f=c(61212),g=c(50530),h=c(53870),i=c(97879),j=c(28774),k=c(466),l=c(67738),m=c(82870),n=c(23733),o=c(30387),p=a([e,f,g,h,i,j,k,l,m,n,o]);[e,f,g,h,i,j,k,l,m,n,o]=p.then?(await p)():p,d()}catch(a){d(a)}})},85933:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(42377);let e=(0,d.createServerReference)("709d91d2ebcd507ccb483317b3c50a2f62b8833071",d.callServer,void 0,d.findSourceMapURL,"reassignIdeaInstanceNoWakeAction")},89998:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$:()=>l,u:()=>k});var e=c(71255),f=c(62729),g=c(85806),h=c(92633),i=c(25383),j=a([e,g,h,i]);[e,g,h,i]=j.then?(await j)():j;class l extends Error{constructor(a,b,c){super(b),this.name="StageAdvanceError",this.code=a,this.reason=c}}async function k(a,{companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,temporaryCwd:k}){if("user"!==j&&"super_admin"!==j)throw new l("NOT_HUMAN","Only users can perform a stage-advance action");let m=await e.z.idea.findFirst({where:{uuid:c,companyUuid:b}});if(!m)throw new l("IDEA_NOT_FOUND","Idea not found");let n={companyUuid:b,ideaUuid:c,actorUuid:d,actorType:j,idea:{uuid:m.uuid,companyUuid:m.companyUuid,projectUuid:m.projectUuid,status:m.status,elaborationStatus:m.elaborationStatus,assigneeType:m.assigneeType,assigneeUuid:m.assigneeUuid,cwdSource:m.cwdSource,cwdHost:m.cwdHost,runtimeCwd:m.runtimeCwd}},o=await a.precondition(n),p=await (0,h.wo)(b,n.idea.assigneeType,n.idea.assigneeUuid),q=null;p&&(q=await (0,i.gt)({companyUuid:b,actorUserUuid:d,projectUuid:n.idea.projectUuid,agentUuid:p,temporaryTarget:k,registeredInstanceUuid:"agent_instance"===n.idea.assigneeType?n.idea.assigneeUuid:null,registeredSource:"project_fixed"===n.idea.cwdSource?"project_fixed":null,registeredHost:n.idea.cwdHost,registeredRuntimeCwd:n.idea.runtimeCwd}));let r={...o,...q?{resolvedCwdActorUserUuid:q.actorUserUuid,resolvedCwdSource:q.source,resolvedCwdHost:q.host,resolvedRuntimeCwd:q.cwd,resolvedCwdAvailability:q.availability,resolvedCwdPromptPolicy:q.promptPolicy,resolvedCwdAgentInstanceUuid:q.agentInstanceUuid}:{}};if("require_online"===a.offlinePolicy){if(!p){if("agent_instance"===n.idea.assigneeType)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that no longer exists");throw new l("ASSIGNEE_NOT_AGENT","The Idea's assignee is not an agent — there is no daemon to wake")}if(q?.source==="project_fixed"&&"ready"!==q.availability)throw new l("FIXED_CWD_HOST_OFFLINE","The project's fixed cwd target is unavailable");if(q?.source==="registered_instance"&&"ready"!==q.availability)throw new l("INSTANCE_OFFLINE","The Idea is pinned to a daemon instance that has no online connection");if(q?.source==="unconfigured"&&!q.connectionUuid)throw new l("AGENT_OFFLINE","The assigned agent has no online daemon connection")}a.transition&&await a.transition(n),await g.f0.createActivity({companyUuid:b,projectUuid:n.idea.projectUuid,targetType:"idea",targetUuid:c,actorType:j,actorUuid:d,action:a.action,value:r}),f.B.emitChange({companyUuid:b,projectUuid:n.idea.projectUuid,entityType:"idea",entityUuid:c,action:"updated"})}d()}catch(a){d(a)}})},91117:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{E:()=>q,g:()=>p});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(45133),i=c(11166),j=c(89998),k=c(71255),l=c(97307),m=c(25383),n=c(12217),o=a([g,h,i,j,k,m]);async function p(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,h.y)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Start development rejected"):l.default.error({err:b,ideaUuid:a},"Failed to start development"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline";case"PRECONDITION_FAILED":if(a.reason===h.X.NO_APPROVED_PROPOSAL)return"no_approved_proposal";if(a.reason===h.X.NO_UNFINISHED_TASKS)return"no_unfinished_tasks"}return"unknown"}(b)}}}async function q(a,b){let c=await (0,g.d)();if(!c)return{success:!1,errorCode:"unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,errorCode:"not_human"};try{let d=b?await (0,m.e2)({companyUuid:c.companyUuid,userUuid:c.actorUuid,...b}):null;await (0,i.p)({companyUuid:c.companyUuid,ideaUuid:a,actorUuid:c.actorUuid,actorType:c.type,temporaryCwd:d});let e=await k.z.idea.findFirst({where:{uuid:a,companyUuid:c.companyUuid}});return e&&((0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas/${a}`),(0,f.revalidatePath)(`/projects/${e.projectUuid}/ideas`)),{success:!0}}catch(b){return b instanceof j.$?l.default.info({code:b.code,reason:b.reason,ideaUuid:a},"Yolo request rejected"):l.default.error({err:b,ideaUuid:a},"Failed to request yolo"),{success:!1,errorCode:function(a){if(a instanceof j.$)switch(a.code){case"NOT_HUMAN":return"not_human";case"IDEA_NOT_FOUND":return"idea_not_found";case"ASSIGNEE_NOT_AGENT":return"assignee_not_agent";case"AGENT_OFFLINE":return"agent_offline";case"INSTANCE_OFFLINE":return"instance_offline";case"FIXED_CWD_HOST_OFFLINE":return"fixed_cwd_host_offline"}return"unknown"}(b)}}}[g,h,i,j,k,m]=o.then?(await o)():o,(0,n.D)([p,q]),(0,e.A)(p,"60ce12bdf425503f52d8183cdeecfa43f2ef170f10",null),(0,e.A)(q,"603b4bc8a94ce336a84877d2b53900038ab5c5e6b9",null),d()}catch(a){d(a)}})}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=1559,exports.ids=[1559],exports.modules={10174:(a,b,c)=>{function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},11573:(a,b,c)=>{c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},22727:(a,b,c)=>{c.d(b,{D:()=>h});var d=c(10837),e=c(90061),f=c(11573),g=c(6871);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.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:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.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:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},24433:(a,b,c)=>{c.d(b,{c5:()=>w});var d=c(10837),e=c(21968),f=c(87864),g=c(45150),h=c(49101),i=c(9222),j=c(96307),k=c(54722),l=c(42087),m=c(10174),n=c(23871),o=c(11568),p=c(42424),q=c(6871);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:m,onSubmit:n,entityType:o,entityUuid:p},q)=>{let w=(0,e.useRef)([]),x=(0,e.useRef)(!1),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),[,C]=(0,e.useState)(0),D=(0,e.useRef)(!1),E=(0,i.c)("mention"),F=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});F.current={online:E("online"),offline:E("offline"),idle:E("idle"),activeCount:a=>E("activeCount",{count:a})};let G=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{x.current=!0,C(a=>a+1);try{let b=`/api/mentionables?q=${encodeURIComponent(a)}&limit=10&withInstances=1`;o&&p&&(b+=`&entityType=${encodeURIComponent(o)}&entityUuid=${encodeURIComponent(p)}`);let c=await fetch(b);if(c.ok){let a=await c.json();a.success&&(w.current=a.data)}}catch{w.current=[]}finally{x.current=!1,C(a=>a+1)}},[o,p]),250),[H,I]=(0,e.useState)(null),J=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),K=(0,e.useRef)(()=>{});K.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void I({item:a,onlineInstances:c.onlineInstances,command:b});J(a,b,c.pin??void 0)};let L=(0,e.useCallback)((a,b)=>K.current(a,b),[]);(0,e.useEffect)(()=>{A.current&&B.current&&u(w.current,x.current,B.current,y,A.current,F.current,L)});let M=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(G(a),w.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",A.current=b,B.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(z.current??document.body).appendChild(b),u(w.current,x.current,a.command,y,b,F.current,L)},onUpdate:a=>{if(B.current=a.command,A.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(A.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(A.current.style.top="",A.current.style.bottom=`${window.innerHeight-b.top+4}px`):(A.current.style.bottom="",A.current.style.top=`${b.bottom+4}px`))}A.current&&u(w.current,x.current,a.command,y,A.current,F.current,L)},onKeyDown:a=>!!y.current&&y.current.onKeyDown(a),onExit:()=>{A.current?.remove(),A.current=null,B.current=null,w.current=[],x.current=!1}})}})],content:t(a),editable:!m,editorProps:{attributes:{class:(0,j.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!A.current&&!!n&&(b.preventDefault(),n(),!0)},onUpdate:({editor:a})=>{D.current=!0,b(s(a))}});return(0,e.useEffect)(()=>{if(!M||D.current){D.current=!1;return}s(M)!==a&&M.commands.setContent(t(a))},[a,M]),(0,e.useEffect)(()=>{M&&M.setEditable(!m)},[m,M]),(0,e.useImperativeHandle)(q,()=>({focus:()=>M?.commands.focus(),clear:()=>{M?.commands.clearContent(),b("")}})),(0,d.jsxs)("div",{ref:z,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",m&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:M}),(0,d.jsx)(v,{open:null!==H,agentName:H?.item.name??"",instances:H?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(H,a,{close:()=>I(null),insert:(a,b)=>J(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>M?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>I(null)}),(0,d.jsx)("style",{children:`
|
|
1
|
+
"use strict";exports.id=1559,exports.ids=[1559],exports.modules={955:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(42377);let e=(0,d.createServerReference)("7043dbd1bc59486eeec93339fcd410d44d93341e88",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")},10174:(a,b,c)=>{function d(a){if(!a)return{pinnedHost:null,pinnedCwd:null};let b=new URLSearchParams(a),c=b.has("cwd"),d=b.has("host");if(!c&&!d)return{pinnedHost:null,pinnedCwd:null};let e=b.get("cwd")??"",f=b.get("host"),g={pinnedCwd:c&&""!==e?e:null,pinnedHost:d?f??"":null};return"1"===b.get("runtime")&&(g.runtimeCwd=!0),g}function e(a,b,c,d,f,g=!1){return`@[${a}](${b}:${c}${function(a,b,c=!1){if(null==a&&null==b)return"";let d=a=>encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"),e=[];return e.push(`cwd=${null==b?"":d(b)}`),null!=a&&e.push(`host=${d(a)}`),c&&e.push("runtime=1"),`?${e.join("&")}`}(d,f,g)})`}c.d(b,{$v:()=>e,vE:()=>d})},11573:(a,b,c)=>{c.d(b,{j:()=>e});let d=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function e(a){let b=function(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%d.length;return d[b]}},22727:(a,b,c)=>{c.d(b,{D:()=>h});var d=c(10837),e=c(90061),f=c(11573),g=c(6871);function h({entityType:a,entityUuid:b,subEntityType:c,subEntityUuid:g,children:h,badgeInside:j}){let{getPresence:k}=(0,e.xQ)(),l=k(a,b,c,g),m=l.length>0,n=m&&l.some(a=>"mutate"===a.action),o=m?n?l.find(a=>"mutate"===a.action):l[l.length-1]:null,p=o?(0,f.j)(o.agentName):"transparent";return(0,d.jsxs)("div",{className:"relative",style:m?{outline:`2px ${n?"solid":"dashed"} ${p}`,outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[m&&(0,d.jsxs)("div",{className:`absolute flex gap-1 z-10 justify-end ${j?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"}`,children:[l.slice(0,3).map(a=>(0,d.jsx)(i,{entry:a},a.agentUuid)),l.length>3&&(0,d.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:["+",l.length-3]})]}),h]})}function i({entry:a}){let b=(0,f.j)(a.agentName);return(0,d.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:b},children:[(0,d.jsx)(g.AgentAvatar,{name:a.agentName,size:14,className:"rounded-full"}),a.agentName]})}},24433:(a,b,c)=>{c.d(b,{c5:()=>w});var d=c(10837),e=c(21968),f=c(87864),g=c(45150),h=c(49101),i=c(9222),j=c(96307),k=c(54722),l=c(42087),m=c(10174),n=c(23871),o=c(11568),p=c(42424),q=c(6871);let r=h.A.extend({addAttributes(){return{...this.parent?.(),mentionType:{default:"user",parseHTML:a=>a.getAttribute("data-mention-type")||"user",renderHTML:a=>({"data-mention-type":a.mentionType||"user"})},pinnedHost:{default:null,parseHTML:a=>a.getAttribute("data-pinned-host"),renderHTML:a=>null==a.pinnedHost?{}:{"data-pinned-host":String(a.pinnedHost)}},pinnedCwd:{default:null,parseHTML:a=>a.getAttribute("data-pinned-cwd"),renderHTML:a=>null==a.pinnedCwd?{}:{"data-pinned-cwd":String(a.pinnedCwd)}},runtimeCwd:{default:!1,parseHTML:a=>"true"===a.getAttribute("data-runtime-cwd"),renderHTML:a=>a.runtimeCwd?{"data-runtime-cwd":"true"}:{}}}}});function s(a){let b=a.getJSON();return b.content?b.content.map(a=>(function a(b){if("mention"===b.type){let a=b.attrs;return a?(0,m.$v)(a.label||a.id,a.mentionType||"user",a.id,a.pinnedHost??null,a.pinnedCwd??null,!0===a.runtimeCwd):""}if("text"===b.type)return b.text||"";if("hardBreak"===b.type)return"\n";let c=b.content;return c?c.map(a).join(""):""})(a)).join("\n"):""}function t(a){if(!a)return{type:"doc",content:[{type:"paragraph"}]};let b=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:a.split("\n").map(a=>{let c,d=[],e=0,f=RegExp(b.source,"g");for(;null!==(c=f.exec(a));){c.index>e&&d.push({type:"text",text:a.slice(e,c.index)});let{pinnedHost:b,pinnedCwd:f,runtimeCwd:g}=(0,m.vE)(c[4]);d.push({type:"mention",attrs:{id:c[3],label:c[1],mentionType:c[2],pinnedHost:b,pinnedCwd:f,runtimeCwd:!0===g}}),e=c.index+c[0].length}return e<a.length&&d.push({type:"text",text:a.slice(e)}),{type:"paragraph",content:d.length>0?d:void 0}})}}function u(a,b,c,d,e,f,g){if(e.innerHTML="",b){let a=document.createElement("div");a.className="flex items-center justify-center py-3 px-4",a.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',e.appendChild(a);return}if(0===a.length){let a=document.createElement("div");a.className="py-2 px-3 text-xs text-muted-foreground",a.textContent="No results",e.appendChild(a);return}let h=document.createElement("div");h.className="py-1";let i=0,j=a=>{if(g)return void g(a,c);c({id:a.uuid,label:a.name,mentionType:a.type})},k=()=>{h.innerHTML="",a.forEach((a,b)=>{let c=document.createElement("button");c.type="button",c.className=`flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ${b===i?"bg-background text-foreground":"text-muted-foreground hover:bg-background"}`,c.onclick=()=>j(a);let d=document.createElement("div");if(d.className="relative shrink-0","agent"===a.type){let b=(0,q.Pf)(a.name,"animated");if(b){let c=document.createElement("div");c.className="h-6 w-6 overflow-hidden rounded-full bg-muted";let e=document.createElement("img");e.src=b,e.alt=a.name,e.draggable=!1,e.className="h-full w-full origin-top scale-[1.5] -translate-y-[10%]",c.appendChild(e),d.appendChild(c)}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-primary text-white",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>',d.appendChild(a)}}else{let a=document.createElement("div");a.className="flex h-6 w-6 items-center justify-center rounded-full bg-border text-muted-foreground",a.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',d.appendChild(a)}if("agent"===a.type&&a.online){let a=document.createElement("span");a.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",a.title=f.online,d.appendChild(a)}let e=document.createElement("div");e.className="min-w-0 flex-1";let g=document.createElement("div");if(g.className="truncate text-xs font-medium",g.textContent=a.name,e.appendChild(g),a.email){let b=document.createElement("div");b.className="truncate text-[10px] text-muted-foreground",b.textContent=a.email,e.appendChild(b)}if("agent"===a.type&&a.online){let b=a.activeCount??0,c=document.createElement("div");b>0?(c.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D] dark:text-[#4FD07A]",c.textContent=`▶ ${f.activeCount(b)}`):(c.className="mt-0.5 truncate text-[10px] text-muted-foreground",c.textContent=f.idle),e.appendChild(c)}c.appendChild(d),c.appendChild(e),h.appendChild(c)})};k(),e.appendChild(h),d.current={onKeyDown:({event:b})=>!(0,l.P)(b)&&("ArrowUp"===b.key?(i=i<=0?a.length-1:i-1,k(),!0):"ArrowDown"===b.key?(i=i>=a.length-1?0:i+1,k(),!0):"Enter"===b.key?(a[i]&&j(a[i]),!0):"Escape"===b.key)}}function v({open:a,agentName:b,instances:c,onConfirm:f,onCancel:g}){let h=(0,i.c)("mentionInstance"),[j,k]=(0,e.useState)(null),m=new Set(c.map(a=>a.host)).size;return(0,d.jsx)(o.lG,{open:a,onOpenChange:a=>{a||g()},children:(0,d.jsxs)(o.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,d.jsxs)(o.c7,{className:"shrink-0",children:[(0,d.jsx)(o.L3,{children:h("title")}),(0,d.jsx)(o.rr,{children:h("subtitle",{name:b,count:c.length,hosts:m})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",onKeyDown:a=>{!("Enter"!==a.key||(0,l.P)(a))&&j&&(a.preventDefault(),f(j))},children:(0,d.jsx)(n.O,{instances:c,selectedConnectionUuid:j?.connectionUuid??null,onSelect:k,ariaLabel:h("title")})}),(0,d.jsxs)(o.Es,{className:"shrink-0",children:[(0,d.jsx)(p.$,{variant:"ghost",onClick:g,children:h("cancel")}),(0,d.jsx)(p.$,{disabled:!j,onClick:()=>{j&&f(j)},children:h("confirm")})]})]})})}let w=(0,e.forwardRef)(({value:a,onChange:b,placeholder:c,className:h,disabled:m,onSubmit:n,entityType:o,entityUuid:p},q)=>{let w=(0,e.useRef)([]),x=(0,e.useRef)(!1),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useRef)(null),[,C]=(0,e.useState)(0),D=(0,e.useRef)(!1),E=(0,i.c)("mention"),F=(0,e.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});F.current={online:E("online"),offline:E("offline"),idle:E("idle"),activeCount:a=>E("activeCount",{count:a})};let G=function(a,b){let c=(0,e.useRef)(null),d=(0,e.useRef)(a);return d.current=a,(0,e.useCallback)(a=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>d.current(a),250)},[250])}((0,e.useCallback)(async a=>{x.current=!0,C(a=>a+1);try{let b=`/api/mentionables?q=${encodeURIComponent(a)}&limit=10&withInstances=1`;o&&p&&(b+=`&entityType=${encodeURIComponent(o)}&entityUuid=${encodeURIComponent(p)}`);let c=await fetch(b);if(c.ok){let a=await c.json();a.success&&(w.current=a.data)}}catch{w.current=[]}finally{x.current=!1,C(a=>a+1)}},[o,p]),250),[H,I]=(0,e.useState)(null),J=(0,e.useCallback)((a,b,c)=>{b({id:a.uuid,label:a.name,mentionType:a.type,pinnedHost:c?c.host:null,pinnedCwd:c?c.cwd:null,runtimeCwd:c?.runtimeCwd===!0})},[]),K=(0,e.useRef)(()=>{});K.current=(a,b)=>{let c=function(a){if("agent"===a.type&&a.projectFixedCwd)return{kind:"insert",pin:{host:a.projectFixedCwd.host,cwd:a.projectFixedCwd.cwd,runtimeCwd:!0}};if(a.isIdeaAssignee&&a.ideaPin)return{kind:"insert",pin:{host:a.ideaPin.host,cwd:a.ideaPin.cwd}};let b="agent"===a.type?(a.instances??[]).filter(a=>"online"===a.effectiveStatus):[];return b.length>=2?{kind:"pick",onlineInstances:b}:1===b.length?{kind:"insert",pin:b[0]}:{kind:"insert",pin:null}}(a);if("pick"===c.kind)return void I({item:a,onlineInstances:c.onlineInstances,command:b});J(a,b,c.pin??void 0)};let L=(0,e.useCallback)((a,b)=>K.current(a,b),[]);(0,e.useEffect)(()=>{A.current&&B.current&&u(w.current,x.current,B.current,y,A.current,F.current,L)});let M=(0,f.hG)({immediatelyRender:!1,extensions:[g.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),r.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",allowSpaces:!0,items:({query:a})=>(G(a),w.current),render:()=>({onStart:a=>{let b=document.createElement("div");if(b.className="z-[100] rounded-md border border-border bg-card shadow-md min-w-[200px] max-w-[300px] overflow-hidden",A.current=b,B.current=a.command,a.clientRect){let c="function"==typeof a.clientRect?a.clientRect():a.clientRect;c&&(b.style.position="fixed",b.style.left=`${c.left}px`,window.innerHeight-c.bottom<220?b.style.bottom=`${window.innerHeight-c.top+4}px`:b.style.top=`${c.bottom+4}px`)}(z.current??document.body).appendChild(b),u(w.current,x.current,a.command,y,b,F.current,L)},onUpdate:a=>{if(B.current=a.command,A.current&&a.clientRect){let b="function"==typeof a.clientRect?a.clientRect():a.clientRect;b&&(A.current.style.left=`${b.left}px`,window.innerHeight-b.bottom<220?(A.current.style.top="",A.current.style.bottom=`${window.innerHeight-b.top+4}px`):(A.current.style.bottom="",A.current.style.top=`${b.bottom+4}px`))}A.current&&u(w.current,x.current,a.command,y,A.current,F.current,L)},onKeyDown:a=>!!y.current&&y.current.onKeyDown(a),onExit:()=>{A.current?.remove(),A.current=null,B.current=null,w.current=[],x.current=!1}})}})],content:t(a),editable:!m,editorProps:{attributes:{class:(0,j.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":c||""},handleKeyDown:(a,b)=>!(0,l.P)(b)&&"Enter"===b.key&&!b.shiftKey&&!A.current&&!!n&&(b.preventDefault(),n(),!0)},onUpdate:({editor:a})=>{D.current=!0,b(s(a))}});return(0,e.useEffect)(()=>{if(!M||D.current){D.current=!1;return}s(M)!==a&&M.commands.setContent(t(a))},[a,M]),(0,e.useEffect)(()=>{M&&M.setEditable(!m)},[m,M]),(0,e.useImperativeHandle)(q,()=>({focus:()=>M?.commands.focus(),clear:()=>{M?.commands.clearContent(),b("")}})),(0,d.jsxs)("div",{ref:z,className:(0,j.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",m&&"cursor-not-allowed opacity-50",h),children:[(0,d.jsx)(f.$Z,{editor:M}),(0,d.jsx)(v,{open:null!==H,agentName:H?.item.name??"",instances:H?.onlineInstances??[],onConfirm:a=>{!function(a,b,c){c.close(),a&&c.defer(()=>{try{c.focusEditor(),c.insert(a,b)}catch(a){c.onError(a)}})}(H,a,{close:()=>I(null),insert:(a,b)=>J(a.item,a.command,b),defer:a=>requestAnimationFrame(a),focusEditor:()=>M?.commands.focus(),onError:a=>k.q.error("MentionEditor: cwd-pinned mention insert failed",a)})},onCancel:()=>I(null)}),(0,d.jsx)("style",{children:`
|
|
2
2
|
.tiptap p.is-editor-empty:first-child::before {
|
|
3
3
|
content: attr(data-placeholder);
|
|
4
4
|
color: #9A9A9A;
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
color: #2563eb;
|
|
11
11
|
font-weight: 500;
|
|
12
12
|
}
|
|
13
|
-
`})]})});w.displayName="MentionEditor"},29662:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(50117),f=c(74438),g=c(15264),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.QD)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},51666:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(42377);let e=(0,d.createServerReference)("707e56b756ac27cb2eeec16923785d588023672b89",d.callServer,void 0,d.findSourceMapURL,"createCommentAction")},51840:(a,b,c)=>{c.d(b,{d:()=>e});var d=c(42377);let e=(0,d.createServerReference)("7053206ab0b90cf8ff1b85af8625b4c64e996a6757",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},56828:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>C});var e=c(10837),f=c(21968),g=c(9222),h=c(97443),i=c(86460),j=c(24714),k=c(33091),l=c(42424),m=c(80251),n=c(6871),o=c(24433),p=c(51840),q=c(51666),r=c(82831),s=c(68797),t=c(76172),u=c(22727),v=c(11573),w=c(76664),x=c(76549),y=a([r,s]);function z(a){return"agent"===a.type?(0,e.jsx)(s.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function A(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function B(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:A(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:A([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function C({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:n=!1}){let r=(0,g.c)(),[s,v]=(0,f.useState)(""),[w,y]=(0,f.useState)([]),[z,C]=(0,f.useState)(!0),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(0),Q=(0,f.useRef)(null),R=(0,f.useRef)(null),S=(0,f.useRef)(w);S.current=w;let T=(0,f.useRef)(K);T.current=K;let U=(0,f.useRef)(M);U.current=M;let V=(0,f.useRef)(G);V.current=G;let W=(0,f.useRef)(z);W.current=z;let X=n?"h-6 w-6":"h-[30px] w-[30px]",Y=n?"gap-2":"gap-2.5",Z=(0,f.useCallback)(async()=>{C(!0),F(null);let c=await (0,p.d)(a,b,{limit:10});c.success?(y(c.comments),L(c.nextCursor),N(c.hasMore),P(c.total)):F(c.error),C(!1)},[a,b]);(0,f.useCallback)(async()=>{if(V.current||W.current||!U.current||!T.current)return;H(!0);let c=await (0,p.d)(a,b,{cursor:T.current,limit:10});c.success&&(y(a=>A(a,c.comments)),L(c.nextCursor),N(c.hasMore),P(c.total)),H(!1)},[a,b]),(0,t.w0)(a,b,d=>{c&&d.actorUuid===c||B(S.current,async c=>{let d=await (0,p.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(y(a.comments),P(a.total),a.contiguous||(L(a.resetOldestCursor),N(a.resetHasMore)))})});let $=async()=>{if(!s.trim()||I)return;J(!0);let c=await (0,q.s)(a,b,s);if(J(!1),c.success){let a=!S.current.some(a=>a.uuid===c.comment.uuid);y(a=>A(a,[c.comment])),a&&P(a=>a+1),v(""),Q.current?.clear()}else x.oR.error(c.error)};return(0,e.jsx)(u.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,e.jsxs)("div",{className:`flex items-center ${Y} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(m.eu,{className:`${n?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${n?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(o.c5,{ref:Q,value:s,onChange:v,onSubmit:$,placeholder:r("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:I,entityType:a,entityUuid:b})}),(0,e.jsx)(l.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!s.trim()||I,onClick:$,children:I?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}),z?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):E?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:r("comments.loadError")}),(0,e.jsx)(l.$,{variant:"outline",size:"sm",onClick:Z,children:r("comments.retry")})]}):0===w.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:r("comments.noComments")}):(0,e.jsxs)("div",{children:[w.map(a=>(0,e.jsx)(D,{comment:a,compact:n,avatarSize:X,gap:Y,t:r},a.uuid)),(0,e.jsx)("div",{ref:R,"aria-hidden":"true"}),G?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:r("comments.loadingMore")})]}):!M&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:r("comments.noMoreComments")})]})]})})}function D({comment:a,compact:b,avatarSize:c,gap:d,t:g}){let[h,i]=(0,f.useState)(!1),j="agent"===a.author.type,k=j?(0,v.j)(a.author.name):null,o=a.content.length>200,p=k?`${k}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[j?(0,e.jsx)(n.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(m.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:j?{backgroundColor:p,color:k??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${j?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(j?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,w.r)(c)}(a.createdAt,g)})]}),j&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:o&&!h?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content}),o&&(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[r,s]=y.then?(await y)():y,d()}catch(a){d(a)}})},61413:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>p,U$:()=>l,U1:()=>i,Yi:()=>j,gA:()=>m,hF:()=>h,vr:()=>n,xx:()=>o,yx:()=>k});var e=c(52618),f=c(42558),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0,activities:!0}}}})}async function j(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function k(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0}})}async function l(a,b){return(await e.z.project.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function m({companyUuid:a,name:b,description:c,groupUuid:d}){let g=await e.z.project.create({data:{companyUuid:a,name:b,description:c,groupUuid:d??null},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0}});return f.B.emitChange({companyUuid:a,projectUuid:g.uuid,entityType:"project",entityUuid:g.uuid,action:"created"}),g}async function n(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function o(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}async function p(a,b){let[c,d,f,g]=await Promise.all([e.z.idea.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.task.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.proposal.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.document.count({where:{projectUuid:b,companyUuid:a}})]),h=new Map(c.map(a=>[a.status,a._count])),i=c.reduce((a,b)=>a+b._count,0),j=h.get("open")||0,k=new Map(d.map(a=>[a.status,a._count])),l=d.reduce((a,b)=>a+b._count,0),m=k.get("in_progress")||0,n=(k.get("open")||0)+(k.get("assigned")||0),o=k.get("to_verify")||0,p=(k.get("done")||0)+(k.get("closed")||0),q=new Map(f.map(a=>[a.status,a._count])),r=f.reduce((a,b)=>a+b._count,0),s=q.get("pending")||0;return{ideas:{total:i,open:j},tasks:{total:l,inProgress:m,todo:n,toVerify:o,done:p},proposals:{total:r,pending:s},documents:{total:g}}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76664:(a,b,c)=>{function d(a){let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0"),f=String(b.getHours()).padStart(2,"0"),g=String(b.getMinutes()).padStart(2,"0");return`${c}-${d}-${e} ${f}:${g}`}function e(a,b){let c="string"==typeof a?new Date(a):a;return isNaN(c.getTime())?"":c.toLocaleDateString(b,{month:"short",day:"numeric"})}c.d(b,{r:()=>d,s:()=>e})},82831:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(97450),i=c(10174),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},90061:(a,b,c)=>{c.d(b,{fv:()=>p,xQ:()=>q});var d=c(21968),e=c(76172);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},98581:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>l,s:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(466),h=c(67738),i=c(97307),j=c(12217),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let n=["idea","proposal","task","document"];async function l(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}(0,j.D)([l,m]),(0,e.A)(l,"7053206ab0b90cf8ff1b85af8625b4c64e996a6757",null),(0,e.A)(m,"707e56b756ac27cb2eeec16923785d588023672b89",null),d()}catch(a){d(a)}})}};
|
|
13
|
+
`})]})});w.displayName="MentionEditor"},29662:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(50117),f=c(74438),g=c(15264),h=a([f]);async function i(){let a=await (0,e.UL)(),b=a.get("oidc_access_token")?.value;if(b)return(0,f.QD)(b);let c=a.get("user_session")?.value;if(c){let a=await (0,g.$Y)(c);if(a)return{type:"user",companyUuid:a.companyUuid,actorUuid:a.userUuid,email:a.email,name:a.name}}return null}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},56828:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$m:()=>C});var e=c(10837),f=c(21968),g=c(9222),h=c(97443),i=c(86460),j=c(24714),k=c(33091),l=c(42424),m=c(80251),n=c(6871),o=c(24433),p=c(91769),q=c(955),r=c(82831),s=c(68797),t=c(76172),u=c(22727),v=c(11573),w=c(76664),x=c(76549),y=a([r,s]);function z(a){return"agent"===a.type?(0,e.jsx)(s.Gm,{mention:a,displayName:a.displayName},a.index):(0,e.jsxs)("span",{className:"text-blue-600 font-medium",title:`${a.type}: ${a.uuid}`,children:["@",a.displayName]},a.index)}function A(a,b){let c=new Map;for(let b of a)c.set(b.uuid,b);for(let a of b)c.set(a.uuid,a);return[...c.values()].sort((a,b)=>a.createdAt!==b.createdAt?a.createdAt<b.createdAt?1:-1:a.uuid<b.uuid?1:-1)}async function B(a,b,c=5){let d=new Set(a.map(a=>a.uuid)),e=[],f=null,g=!1,h=0,i=!1,j=null,k=!1;for(let a=0;a<c;a++){let a=await b(f);if(!a)break;if(k=!0,h=a.total,e.push(...a.comments),i=a.hasMore,j=a.nextCursor,a.comments.some(a=>d.has(a.uuid))||!a.hasMore){g=!0;break}f=a.nextCursor}return k?g?{comments:A(a,e),total:h,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:A([],e),total:h,contiguous:!1,resetOldestCursor:j,resetHasMore:i}:null}function C({targetType:a,targetUuid:b,currentUserUuid:c,onCountChange:d,compact:n=!1}){let r=(0,g.c)(),[s,v]=(0,f.useState)(""),[w,y]=(0,f.useState)([]),[z,C]=(0,f.useState)(!0),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(0),Q=(0,f.useRef)(null),R=(0,f.useRef)(null),S=(0,f.useRef)(w);S.current=w;let T=(0,f.useRef)(K);T.current=K;let U=(0,f.useRef)(M);U.current=M;let V=(0,f.useRef)(G);V.current=G;let W=(0,f.useRef)(z);W.current=z;let X=n?"h-6 w-6":"h-[30px] w-[30px]",Y=n?"gap-2":"gap-2.5",Z=(0,f.useCallback)(async()=>{C(!0),F(null);let c=await (0,p.d)(a,b,{limit:10});c.success?(y(c.comments),L(c.nextCursor),N(c.hasMore),P(c.total)):F(c.error),C(!1)},[a,b]);(0,f.useCallback)(async()=>{if(V.current||W.current||!U.current||!T.current)return;H(!0);let c=await (0,p.d)(a,b,{cursor:T.current,limit:10});c.success&&(y(a=>A(a,c.comments)),L(c.nextCursor),N(c.hasMore),P(c.total)),H(!1)},[a,b]),(0,t.w0)(a,b,d=>{c&&d.actorUuid===c||B(S.current,async c=>{let d=await (0,p.d)(a,b,{cursor:c,limit:10});return d.success?d:null}).then(a=>{a&&(y(a.comments),P(a.total),a.contiguous||(L(a.resetOldestCursor),N(a.resetHasMore)))})});let $=async()=>{if(!s.trim()||I)return;J(!0);let c=await (0,q.s)(a,b,s);if(J(!1),c.success){let a=!S.current.some(a=>a.uuid===c.comment.uuid);y(a=>A(a,[c.comment])),a&&P(a=>a+1),v(""),Q.current?.clear()}else x.oR.error(c.error)};return(0,e.jsx)(u.D,{entityType:a,entityUuid:b,subEntityType:"comment",children:(0,e.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,e.jsxs)("div",{className:`flex items-center ${Y} pb-3 border-b border-[#F0EDE8] dark:border-[#26241f]`,children:[(0,e.jsx)(m.eu,{className:`${n?"h-6 w-6":"h-7 w-7"} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground",children:(0,e.jsx)(h.A,{className:`${n?"h-3 w-3":"h-3.5 w-3.5"}`})})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:(0,e.jsx)(o.c5,{ref:Q,value:s,onChange:v,onSubmit:$,placeholder:r("comments.addComment"),className:"border border-border bg-card text-sm rounded-lg",disabled:I,entityType:a,entityUuid:b})}),(0,e.jsx)(l.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!s.trim()||I,onClick:$,children:I?(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,e.jsx)(j.A,{className:"h-3.5 w-3.5"})})]}),z?(0,e.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):E?(0,e.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-muted-foreground",children:[(0,e.jsx)(k.A,{className:"h-4 w-4"}),(0,e.jsx)("p",{children:r("comments.loadError")}),(0,e.jsx)(l.$,{variant:"outline",size:"sm",onClick:Z,children:r("comments.retry")})]}):0===w.length?(0,e.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground italic",children:r("comments.noComments")}):(0,e.jsxs)("div",{children:[w.map(a=>(0,e.jsx)(D,{comment:a,compact:n,avatarSize:X,gap:Y,t:r},a.uuid)),(0,e.jsx)("div",{ref:R,"aria-hidden":"true"}),G?(0,e.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,e.jsx)(i.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,e.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:r("comments.loadingMore")})]}):!M&&(0,e.jsx)("p",{className:"py-4 text-center text-xs text-muted-foreground italic",children:r("comments.noMoreComments")})]})]})})}function D({comment:a,compact:b,avatarSize:c,gap:d,t:g}){let[h,i]=(0,f.useState)(!1),j="agent"===a.author.type,k=j?(0,v.j)(a.author.name):null,o=a.content.length>200,p=k?`${k}18`:void 0;return(0,e.jsxs)("div",{className:`flex ${d} py-3 border-b border-[#F0EDE8] dark:border-[#26241f] last:border-b-0`,children:[j?(0,e.jsx)(n.AgentAvatar,{name:a.author.name,size:b?24:30,className:"shrink-0 rounded-full"}):(0,e.jsx)(m.eu,{className:`${c} shrink-0`,children:(0,e.jsx)(m.q5,{className:"bg-border text-muted-foreground text-[11px] font-medium",children:a.author.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,e.jsx)("span",{className:`${b?"text-xs":"text-[13px]"} font-semibold text-[#1A1A1A] dark:text-[#CFCFCF]`,children:a.author.name}),(0,e.jsx)("span",{style:j?{backgroundColor:p,color:k??void 0}:void 0,className:`inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ${j?"":"bg-[#F0EDE8] dark:bg-[#1f1e1c] text-muted-foreground"}`,children:g(j?"comments.roleAgent":"comments.roleHuman")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,w.r)(c)}(a.createdAt,g)})]}),j&&a.author.owner&&(0,e.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground italic",children:g("comments.onBehalfOf",{name:a.author.owner.name})})}),(0,e.jsx)("div",{className:`mt-1 ${b?"text-xs":"text-[13px]"} leading-relaxed text-[#3D3D3D] dark:text-[#d8d2ca] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary [&_pre]:bg-secondary [&_pre]:text-foreground`,children:o&&!h?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content.slice(0,200)+"..."}),(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!0),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showMore")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.z7,{renderMention:z,children:a.content}),o&&(0,e.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>i(!1),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:g("comments.showLess")})]})})]})]})}[r,s]=y.then?(await y)():y,d()}catch(a){d(a)}})},61413:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>p,U$:()=>l,U1:()=>i,Yi:()=>j,gA:()=>m,hF:()=>h,vr:()=>n,xx:()=>o,yx:()=>k});var e=c(52618),f=c(42558),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0,activities:!0}}}})}async function j(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function k(a,b){return e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0}})}async function l(a,b){return(await e.z.project.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function m({companyUuid:a,name:b,description:c,groupUuid:d}){let g=await e.z.project.create({data:{companyUuid:a,name:b,description:c,groupUuid:d??null},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0}});return f.B.emitChange({companyUuid:a,projectUuid:g.uuid,entityType:"project",entityUuid:g.uuid,action:"created"}),g}async function n(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function o(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}async function p(a,b){let[c,d,f,g]=await Promise.all([e.z.idea.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.task.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.proposal.groupBy({by:["status"],where:{projectUuid:b,companyUuid:a},_count:!0}),e.z.document.count({where:{projectUuid:b,companyUuid:a}})]),h=new Map(c.map(a=>[a.status,a._count])),i=c.reduce((a,b)=>a+b._count,0),j=h.get("open")||0,k=new Map(d.map(a=>[a.status,a._count])),l=d.reduce((a,b)=>a+b._count,0),m=k.get("in_progress")||0,n=(k.get("open")||0)+(k.get("assigned")||0),o=k.get("to_verify")||0,p=(k.get("done")||0)+(k.get("closed")||0),q=new Map(f.map(a=>[a.status,a._count])),r=f.reduce((a,b)=>a+b._count,0),s=q.get("pending")||0;return{ideas:{total:i,open:j},tasks:{total:l,inProgress:m,todo:n,toVerify:o,done:p},proposals:{total:r,pending:s},documents:{total:g}}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76664:(a,b,c)=>{function d(a){let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0"),f=String(b.getHours()).padStart(2,"0"),g=String(b.getMinutes()).padStart(2,"0");return`${c}-${d}-${e} ${f}:${g}`}function e(a,b){let c="string"==typeof a?new Date(a):a;return isNaN(c.getTime())?"":c.toLocaleDateString(b,{month:"short",day:"numeric"})}c.d(b,{r:()=>d,s:()=>e})},82831:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(97450),i=c(10174),j=a([h]);h=(j.then?(await j)():j)[0];let n=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,o="chorus-mention";function k({children:a,renderMention:b}){if(!a||"string"!=typeof a)return null;if(!new RegExp(n.source,n.flags.replace("g","")).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{children:a})});if(b)return(0,e.jsx)(l,{renderMention:b,children:a});let{processed:c,mentions:d}=function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={displayName:c,type:d,uuid:e};return(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l),`\u200B\u200BMENTION_${g}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(m,{mentions:d,children:(0,e.jsx)(h.MarkdownContent,{children:c})})}function l({children:a,renderMention:b}){let{processed:c,mentions:d}=g().useMemo(()=>(function(a){let b=[],c=new RegExp(n.source,n.flags);return{processed:a.replace(c,(a,c,d,e,f)=>{let g=b.length,{pinnedHost:h,pinnedCwd:j,runtimeCwd:k}=(0,i.vE)(f),l={type:d.toLowerCase(),uuid:e.toLowerCase(),displayName:c};(null!==h||null!==j)&&(l.pinnedHost=h,l.pinnedCwd=j,k&&(l.runtimeCwd=!0)),b.push(l);let m=`@${c}`.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return`<${o} idx="${g}">${m}</${o}>`}),mentions:b}})(a),[a]),f=g().useMemo(()=>({[o]:({idx:a})=>{let c=void 0===a?NaN:parseInt(a,10),f=Number.isInteger(c)?d[c]:void 0;return f?(0,e.jsx)(e.Fragment,{children:b({...f,index:c})}):null}}),[d,b]);return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.MarkdownContent,{components:f,allowedTags:{[o]:["idx"]},literalTagContent:[o],children:c})})}function m({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},90061:(a,b,c)=>{c.d(b,{fv:()=>p,xQ:()=>q});var d=c(21968),e=c(76172);let f=new Map,g=new Map,h=new Map,i=new Set,j=0;function k(a,b,c,d){return c?d?`${a}:${b}:${c}:${d}`:`${a}:${b}:${c}`:`${a}:${b}`}function l(){j++,i.forEach(a=>a())}function m(a){let b=a.subEntityType,c=a.subEntityUuid,d=k(a.entityType,a.entityUuid,b,c),e=function(a,b,c,d,e){let f=k(a,b,d,e);return`${f}:${c}`}(a.entityType,a.entityUuid,a.agentUuid,b,c),i=g.get(e);if(i&&Date.now()-i<3e3)return;g.set(e,Date.now());let j={agentUuid:a.agentUuid,agentName:a.agentName,action:a.action,timestamp:Date.now()},m=(f.get(d)??[]).filter(b=>b.agentUuid!==a.agentUuid);m.push(j),f.set(d,m);let n=h.get(e);n&&clearTimeout(n);let o=setTimeout(()=>{let b=f.get(d);if(b){let c=b.filter(b=>b.agentUuid!==a.agentUuid);0===c.length?f.delete(d):f.set(d,c)}g.delete(e),h.delete(e),l()},3e3);h.set(e,o),l()}function n(){return j}function o(a){return i.add(a),()=>{i.delete(a)}}function p(a){m({type:"presence",companyUuid:"",projectUuid:"",...a,timestamp:Date.now()})}function q(){return(0,d.useSyncExternalStore)(o,n,n),(0,e.S2)(m),{getPresence:(a,b,c,d)=>{if(c)return f.get(k(a,b,c,d))??[];let e=`${a}:${b}`,g=new Map;for(let[a,b]of f)if(a===e||a.startsWith(e+":"))for(let a of b){let b=g.get(a.agentUuid);(!b||a.timestamp>b.timestamp)&&g.set(a.agentUuid,a)}return[...g.values()]}}}},91769:(a,b,c)=>{c.d(b,{d:()=>e});var d=c(42377);let e=(0,d.createServerReference)("702df91c6ca771e16aec6cdb583b6f2f4088b74a2d",d.callServer,void 0,d.findSourceMapURL,"getCommentsAction")},98581:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>l,s:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(466),h=c(67738),i=c(97307),j=c(12217),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let n=["idea","proposal","task","document"];async function l(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let e=await (0,g.fg)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,cursor:c?.cursor??null,limit:c?.limit??10}),f=await (0,g.Yt)(e.comments);return{success:!0,comments:f,total:e.total,nextCursor:e.nextCursor??null,hasMore:e.hasMore??!1}}catch(b){return i.default.error({err:b,targetType:a},"Failed to get comments"),{success:!1,error:"Failed to load comments"}}}async function m(a,b,c){let d=await (0,f.d)();if(!d)return{success:!1,error:"Unauthorized"};if(!n.includes(a))return{success:!1,error:`Invalid target type: ${a}`};if(!c.trim())return{success:!1,error:"Comment content is required"};try{let e=await (0,g.eT)({companyUuid:d.companyUuid,targetType:a,targetUuid:b,content:c.trim(),authorType:d.type,authorUuid:d.actorUuid}),f=await (0,g.Hu)(a,b,d.companyUuid);f&&await (0,h.createActivity)({companyUuid:d.companyUuid,projectUuid:f,targetType:a,targetUuid:b,actorType:d.type,actorUuid:d.actorUuid,action:"comment_added"});let[i]=await (0,g.Yt)([e]);return{success:!0,comment:i}}catch(b){return i.default.error({err:b,targetType:a},"Failed to create comment"),{success:!1,error:"Failed to create comment"}}}(0,j.D)([l,m]),(0,e.A)(l,"702df91c6ca771e16aec6cdb583b6f2f4088b74a2d",null),(0,e.A)(m,"7043dbd1bc59486eeec93339fcd410d44d93341e88",null),d()}catch(a){d(a)}})}};
|