@chorus-aidlc/chorus 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +457 -340
- package/.next/standalone/.next/app-path-routes-manifest.json +39 -25
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +30 -30
- package/.next/standalone/.next/routes-manifest.json +25 -0
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -3
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -8
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +5 -5
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +5 -5
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +5 -5
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +5 -5
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js +1 -0
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/control/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -0
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +6 -2
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js +7 -3
- 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.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/mcp/route.js +5 -41
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +5 -5
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +5 -5
- package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
- package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +5 -5
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +5 -5
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +5 -5
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +5 -5
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +6 -6
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +7 -7
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +7 -7
- package/.next/standalone/.next/server/app-paths-manifest.json +39 -25
- package/.next/standalone/.next/server/chunks/1064.js +1 -0
- package/.next/standalone/.next/server/chunks/1596.js +13 -0
- package/.next/standalone/.next/server/chunks/2213.js +1 -0
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/3219.js +2 -0
- package/.next/standalone/.next/server/chunks/3371.js +1 -0
- package/.next/standalone/.next/server/chunks/3419.js +1 -0
- package/.next/standalone/.next/server/chunks/369.js +1 -0
- package/.next/standalone/.next/server/chunks/4638.js +1 -0
- package/.next/standalone/.next/server/chunks/4711.js +530 -0
- package/.next/standalone/.next/server/chunks/5039.js +1 -0
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/{4913.js → 5631.js} +1 -1
- package/.next/standalone/.next/server/chunks/6044.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6461.js +1 -0
- package/.next/standalone/.next/server/chunks/6712.js +1 -0
- package/.next/standalone/.next/server/chunks/7002.js +1 -1
- package/.next/standalone/.next/server/chunks/7063.js +1 -1
- package/.next/standalone/.next/server/chunks/7258.js +37 -0
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7578.js +2 -2
- package/.next/standalone/.next/server/chunks/7867.js +1 -0
- package/.next/standalone/.next/server/chunks/7897.js +1 -0
- package/.next/standalone/.next/server/chunks/8012.js +1 -0
- package/.next/standalone/.next/server/chunks/8245.js +31 -0
- package/.next/standalone/.next/server/chunks/8322.js +1 -1
- package/.next/standalone/.next/server/chunks/9015.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +16 -2
- package/.next/standalone/.next/server/chunks/9629.js +1 -0
- package/.next/standalone/.next/server/chunks/9725.js +1 -0
- package/.next/standalone/.next/server/instrumentation.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/src/middleware.js +1 -1
- package/.next/standalone/.next/static/GQvpOux3M9CaxkMjL9GAI/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/1217-323cc20b73ebfde9.js +1 -0
- package/.next/standalone/.next/static/chunks/{11207-8f4b154804f5a66f.js → 15183-5734d279b26e9414.js} +2 -2
- package/.next/standalone/.next/static/chunks/1879-7a8b283283218df2.js +1 -0
- package/.next/standalone/.next/static/chunks/19276-50b367d7b93d5f34.js +1 -0
- package/.next/standalone/.next/static/chunks/23466-e1176a6d814f4897.js +1 -0
- package/.next/standalone/.next/static/chunks/38040-a8687f86dd8e9d67.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.8bdb37c964f92e48.js +1 -0
- package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +1 -0
- package/.next/standalone/.next/static/chunks/59296-783831c43aa0162e.js +1 -0
- package/.next/standalone/.next/static/chunks/60648-36ccbee4ce232d52.js +1 -0
- package/.next/standalone/.next/static/chunks/60694-68232120903209df.js +1 -0
- package/.next/standalone/.next/static/chunks/64648-ece4e2a59672cf63.js +1 -0
- package/.next/standalone/.next/static/chunks/{94655-1c75e0590a66215e.js → 66969-12f0b22c51f5a410.js} +1 -1
- package/.next/standalone/.next/static/chunks/70536-b8bf71098ae11f07.js +1 -0
- package/.next/standalone/.next/static/chunks/71350-88c2649fc693c1e8.js +1 -0
- package/.next/standalone/.next/static/chunks/78389-b32edc6bd5c570a9.js +1 -0
- package/.next/standalone/.next/static/chunks/78584-eb2fa8cf2f266329.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-150ed14a99844aab.js +1 -0
- package/.next/standalone/.next/static/chunks/8574-b9739eb8d054c793.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.12370329b9ab6beb.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-0a28456fea4ce95a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-a79969c5c9aadacd.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-a28f0eaa6f4ac94a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-ef82b871895245ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-2c9bcbd11ddb8661.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-630b168598513ce8.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-99639479cc98965f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-335f2450e44a0fba.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-4a191d69b2b6e880.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-0faebb478be4c85d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-f198303c176c6e02.js → page-583e58d4d689d38b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2e8fcb72687100df.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-4bc556c2fc8f3d24.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-9963339572e2e64e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-e9a69a0c537c704f.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-5bb5740df10ed622.js → webpack-039590181c63871d.js} +1 -1
- package/.next/standalone/.next/static/css/1d9aaac01758b297.css +1 -0
- package/.next/standalone/.next/static/css/{84edd78de243cde6.css → b496025c9cd768cc.css} +1 -1
- package/.next/standalone/.next/static/media/013b72fa676f92e0-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/2b5b02fc7e511755-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/65f03d54ccadf4a8-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d4881bb7e1bf84d-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/b9408752a0c24fb9-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/e038a29029a234f2-s.woff2 +0 -0
- package/.next/standalone/package.json +3 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +13 -1
- package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +167 -0
- package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +97 -17
- package/.next/standalone/public/chorus-plugin/bin/tests/test-on-post-verify-task.sh +191 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +7 -4
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +3 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +2 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +12 -3
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +40 -1
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +16 -11
- package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +225 -0
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +3 -1
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +2 -1
- package/.next/standalone/public/skill/package.json +3 -1
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/review-chorus/SKILL.md +12 -1
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +35 -1
- package/README.md +29 -0
- package/README.zh.md +29 -0
- package/chorus.mjs +120 -16
- package/cli/backfill.mjs +190 -0
- package/cli/chorus-client.mjs +154 -0
- package/cli/claude-spawner.mjs +415 -0
- package/cli/client-args.mjs +146 -0
- package/cli/control-handler.mjs +180 -0
- package/cli/credentials.mjs +155 -0
- package/cli/daemon-agent.mjs +38 -0
- package/cli/daemon-banner.mjs +80 -0
- package/cli/daemon-config.mjs +84 -0
- package/cli/daemon-lifecycle.mjs +191 -0
- package/cli/daemon-permission-mode.mjs +68 -0
- package/cli/daemon-rest-client.mjs +272 -0
- package/cli/daemon.mjs +572 -0
- package/cli/event-router.mjs +248 -0
- package/cli/interrupt-reporter.mjs +87 -0
- package/cli/lineage.mjs +155 -0
- package/cli/login.mjs +151 -0
- package/cli/mcp-config.mjs +58 -0
- package/cli/process-killer.mjs +205 -0
- package/cli/prompts.mjs +273 -0
- package/cli/sse-listener.mjs +258 -0
- package/cli/turn-reporter.mjs +75 -0
- package/cli/upload-hooks.mjs +400 -0
- package/cli/wake-queue.mjs +121 -0
- package/cli/waker.mjs +475 -0
- package/package.json +3 -1
- package/prisma/migrations/20260615082309_add_daemon_connection/migration.sql +37 -0
- package/prisma/migrations/20260616152622_add_daemon_task_execution/migration.sql +28 -0
- package/prisma/migrations/20260617013334_generalize_daemon_execution_to_any_resource/migration.sql +38 -0
- package/prisma/migrations/20260618022828_add_daemon_execution_interrupted/migration.sql +2 -0
- package/prisma/migrations/20260619055322_daemon_session_conversation/migration.sql +77 -0
- package/prisma/schema.prisma +366 -188
- package/.next/standalone/.next/server/chunks/1059.js +0 -1
- package/.next/standalone/.next/server/chunks/1165.js +0 -1
- package/.next/standalone/.next/server/chunks/1615.js +0 -31
- package/.next/standalone/.next/server/chunks/162.js +0 -16
- package/.next/standalone/.next/server/chunks/179.js +0 -158
- package/.next/standalone/.next/server/chunks/1871.js +0 -1
- package/.next/standalone/.next/server/chunks/2909.js +0 -98
- package/.next/standalone/.next/server/chunks/324.js +0 -1
- package/.next/standalone/.next/server/chunks/3555.js +0 -1
- package/.next/standalone/.next/server/chunks/4090.js +0 -13
- package/.next/standalone/.next/server/chunks/4343.js +0 -1
- package/.next/standalone/.next/server/chunks/4879.js +0 -1
- package/.next/standalone/.next/server/chunks/5541.js +0 -1
- package/.next/standalone/.next/server/chunks/5561.js +0 -7
- package/.next/standalone/.next/server/chunks/6643.js +0 -1
- package/.next/standalone/.next/server/chunks/6767.js +0 -1
- package/.next/standalone/.next/server/chunks/7228.js +0 -2
- package/.next/standalone/.next/server/chunks/7462.js +0 -255
- package/.next/standalone/.next/server/chunks/7859.js +0 -1
- package/.next/standalone/.next/server/chunks/8277.js +0 -1
- package/.next/standalone/.next/server/chunks/8637.js +0 -1
- package/.next/standalone/.next/server/chunks/896.js +0 -1
- package/.next/standalone/.next/server/chunks/9269.js +0 -1
- package/.next/standalone/.next/server/chunks/9615.js +0 -1
- package/.next/standalone/.next/static/AKJHlhCKd44_-khht8nN0/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/20051-c242544dafd3a690.js +0 -1
- package/.next/standalone/.next/static/chunks/21932-bce5ba937d1603e1.js +0 -1
- package/.next/standalone/.next/static/chunks/23095-5bf481236249fdd8.js +0 -1
- package/.next/standalone/.next/static/chunks/23466-842c126491b753bc.js +0 -1
- package/.next/standalone/.next/static/chunks/45436-c5427023f3f386a1.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.e071c0b9e32bd75f.js +0 -1
- package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +0 -1
- package/.next/standalone/.next/static/chunks/52206-7c1b0c695c8035eb.js +0 -1
- package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +0 -1
- package/.next/standalone/.next/static/chunks/59296-50e66102d44d9677.js +0 -1
- package/.next/standalone/.next/static/chunks/60524-9811b38c62fed16e.js +0 -1
- package/.next/standalone/.next/static/chunks/68855-5c15991e7cf8dc8a.js +0 -1
- package/.next/standalone/.next/static/chunks/70093-0ff6fd59445b5cb9.js +0 -1
- package/.next/standalone/.next/static/chunks/74030-3a6a6b75e47f5b96.js +0 -1
- package/.next/standalone/.next/static/chunks/78917-ff0fda86a96cfa60.js +0 -1
- package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.4c336ea9ad07311e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-5915ccd1a77ebcf8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-94d102d945410b55.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-56c45b910f914895.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-2e000a7010d1e9ea.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-d7747749ae6192d8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-26488809d26e1daa.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-fcc9baa42e6de4d4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-5233748464280e9d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-ab87cbb18d0ee538.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-cd9411c54c8f5b35.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-482dee7dace72c88.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-d9dbd817391b462b.js +0 -1
- package/.next/standalone/.next/static/css/4279f38594ac772a.css +0 -1
- package/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
- /package/.next/standalone/.next/static/{AKJHlhCKd44_-khht8nN0 → GQvpOux3M9CaxkMjL9GAI}/_ssgManifest.js +0 -0
package/prisma/schema.prisma
CHANGED
|
@@ -7,7 +7,7 @@ generator client {
|
|
|
7
7
|
|
|
8
8
|
datasource db {
|
|
9
9
|
provider = "postgresql"
|
|
10
|
-
relationMode = "prisma"
|
|
10
|
+
relationMode = "prisma" // Relations managed by Prisma, no DB-level foreign key constraints
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
// Tenant
|
|
@@ -16,25 +16,26 @@ model Company {
|
|
|
16
16
|
uuid String @unique @default(uuid())
|
|
17
17
|
name String
|
|
18
18
|
// Email domain matching (used to identify Company during login)
|
|
19
|
-
emailDomains String[] @default([])
|
|
19
|
+
emailDomains String[] @default([]) // e.g., ["example.com", "example.org"]
|
|
20
20
|
// OIDC configuration (per-Company login, PKCE only, no Client Secret)
|
|
21
|
-
oidcIssuer String?
|
|
22
|
-
oidcClientId String?
|
|
21
|
+
oidcIssuer String? // OIDC Provider URL
|
|
22
|
+
oidcClientId String? // Client ID
|
|
23
23
|
oidcEnabled Boolean @default(false)
|
|
24
24
|
createdAt DateTime @default(now())
|
|
25
25
|
updatedAt DateTime @updatedAt
|
|
26
26
|
|
|
27
|
-
users
|
|
28
|
-
agents
|
|
29
|
-
apiKeys
|
|
30
|
-
projects
|
|
31
|
-
ideas
|
|
32
|
-
documents
|
|
33
|
-
tasks
|
|
34
|
-
proposals
|
|
35
|
-
activities
|
|
36
|
-
comments
|
|
37
|
-
sessions
|
|
27
|
+
users User[]
|
|
28
|
+
agents Agent[]
|
|
29
|
+
apiKeys ApiKey[]
|
|
30
|
+
projects Project[]
|
|
31
|
+
ideas Idea[]
|
|
32
|
+
documents Document[]
|
|
33
|
+
tasks Task[]
|
|
34
|
+
proposals Proposal[]
|
|
35
|
+
activities Activity[]
|
|
36
|
+
comments Comment[]
|
|
37
|
+
sessions AgentSession[]
|
|
38
|
+
daemonConnections DaemonConnection[]
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
// User (human, OIDC login)
|
|
@@ -43,7 +44,7 @@ model User {
|
|
|
43
44
|
uuid String @unique @default(uuid())
|
|
44
45
|
companyUuid String
|
|
45
46
|
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
46
|
-
oidcSub String
|
|
47
|
+
oidcSub String // OIDC subject
|
|
47
48
|
email String?
|
|
48
49
|
name String?
|
|
49
50
|
avatarUrl String?
|
|
@@ -62,18 +63,21 @@ model Agent {
|
|
|
62
63
|
companyUuid String
|
|
63
64
|
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
64
65
|
name String
|
|
65
|
-
roles String[] @default(["developer"])
|
|
66
|
-
permissions String[] @default([])
|
|
66
|
+
roles String[] @default(["developer"]) // pm | developer (multi-select)
|
|
67
|
+
permissions String[] @default([]) // Custom permission bits (resource:action); merged with role presets at auth time
|
|
67
68
|
// Agent persona definition (Zero Context Injection)
|
|
68
|
-
persona String?
|
|
69
|
-
systemPrompt String?
|
|
70
|
-
ownerUuid String?
|
|
69
|
+
persona String? // Custom persona description (brief)
|
|
70
|
+
systemPrompt String? // Full system prompt (optional, overrides default template)
|
|
71
|
+
ownerUuid String? // User's UUID
|
|
71
72
|
owner User? @relation(fields: [ownerUuid], references: [uuid])
|
|
72
73
|
lastActiveAt DateTime?
|
|
73
74
|
createdAt DateTime @default(now())
|
|
74
75
|
|
|
75
|
-
apiKeys
|
|
76
|
-
sessions
|
|
76
|
+
apiKeys ApiKey[]
|
|
77
|
+
sessions AgentSession[]
|
|
78
|
+
daemonConnections DaemonConnection[]
|
|
79
|
+
daemonExecutions DaemonExecution[]
|
|
80
|
+
daemonSessions DaemonSession[]
|
|
77
81
|
|
|
78
82
|
@@index([companyUuid])
|
|
79
83
|
@@index([ownerUuid])
|
|
@@ -85,11 +89,11 @@ model ApiKey {
|
|
|
85
89
|
uuid String @unique @default(uuid())
|
|
86
90
|
companyUuid String
|
|
87
91
|
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
88
|
-
agentUuid String
|
|
92
|
+
agentUuid String // Agent's UUID
|
|
89
93
|
agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)
|
|
90
|
-
keyHash String @unique
|
|
91
|
-
keyPrefix String
|
|
92
|
-
name String?
|
|
94
|
+
keyHash String @unique // API Key stored as hash
|
|
95
|
+
keyPrefix String // Key prefix for display (e.g., "cho_xxx...")
|
|
96
|
+
name String? // Optional descriptive name
|
|
93
97
|
lastUsed DateTime?
|
|
94
98
|
expiresAt DateTime?
|
|
95
99
|
revokedAt DateTime?
|
|
@@ -120,7 +124,7 @@ model Project {
|
|
|
120
124
|
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
121
125
|
name String
|
|
122
126
|
description String?
|
|
123
|
-
groupUuid String?
|
|
127
|
+
groupUuid String? // nullable FK → ProjectGroup.uuid
|
|
124
128
|
createdAt DateTime @default(now())
|
|
125
129
|
updatedAt DateTime @updatedAt
|
|
126
130
|
|
|
@@ -136,31 +140,31 @@ model Project {
|
|
|
136
140
|
|
|
137
141
|
// Idea (raw human input)
|
|
138
142
|
model Idea {
|
|
139
|
-
id
|
|
140
|
-
uuid
|
|
141
|
-
companyUuid
|
|
142
|
-
company
|
|
143
|
-
projectUuid
|
|
144
|
-
project
|
|
145
|
-
title
|
|
146
|
-
content
|
|
147
|
-
attachments
|
|
143
|
+
id Int @id @default(autoincrement())
|
|
144
|
+
uuid String @unique @default(uuid())
|
|
145
|
+
companyUuid String
|
|
146
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
147
|
+
projectUuid String
|
|
148
|
+
project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)
|
|
149
|
+
title String
|
|
150
|
+
content String? // Text content
|
|
151
|
+
attachments Json? // Attachment list [{type, url, name}]
|
|
148
152
|
// Status and assignment (ARCHITECTURE.md §7.3)
|
|
149
|
-
status
|
|
150
|
-
assigneeType
|
|
151
|
-
assigneeUuid
|
|
152
|
-
assignedAt
|
|
153
|
-
assignedByUuid
|
|
153
|
+
status String @default("open") // open | elaborating | elaborated (3-state model; post-elaboration status derived from Proposal+Task)
|
|
154
|
+
assigneeType String? // user | agent
|
|
155
|
+
assigneeUuid String? // User or Agent UUID (polymorphic)
|
|
156
|
+
assignedAt DateTime? // Assignment timestamp
|
|
157
|
+
assignedByUuid String? // User UUID (human assignment)
|
|
154
158
|
// Elaboration (AI-DLC Stage 3 — structured requirements clarification)
|
|
155
|
-
elaborationDepth
|
|
156
|
-
elaborationStatus
|
|
159
|
+
elaborationDepth String? // "minimal" | "standard" | "comprehensive"
|
|
160
|
+
elaborationStatus String? // "pending_answers" | "validating" | "resolved"
|
|
157
161
|
// Lineage (single-parent forest — weak read-only relation, see openspec change add-idea-lineage)
|
|
158
|
-
parentUuid
|
|
159
|
-
parent
|
|
160
|
-
children
|
|
161
|
-
createdByUuid
|
|
162
|
-
createdAt
|
|
163
|
-
updatedAt
|
|
162
|
+
parentUuid String? // Single parent Idea UUID (nullable = top-level). One undifferentiated edge; semantics by context.
|
|
163
|
+
parent Idea? @relation("IdeaLineage", fields: [parentUuid], references: [uuid], onDelete: Restrict, onUpdate: Restrict)
|
|
164
|
+
children Idea[] @relation("IdeaLineage")
|
|
165
|
+
createdByUuid String // User UUID
|
|
166
|
+
createdAt DateTime @default(now())
|
|
167
|
+
updatedAt DateTime @updatedAt
|
|
164
168
|
|
|
165
169
|
@@index([companyUuid])
|
|
166
170
|
@@index([projectUuid])
|
|
@@ -171,20 +175,20 @@ model Idea {
|
|
|
171
175
|
|
|
172
176
|
// Document (PRD, tech design, etc. — Proposal output)
|
|
173
177
|
model Document {
|
|
174
|
-
id Int
|
|
175
|
-
uuid String
|
|
178
|
+
id Int @id @default(autoincrement())
|
|
179
|
+
uuid String @unique @default(uuid())
|
|
176
180
|
companyUuid String
|
|
177
|
-
company Company
|
|
181
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
178
182
|
projectUuid String
|
|
179
|
-
project Project
|
|
180
|
-
type String
|
|
183
|
+
project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)
|
|
184
|
+
type String // prd | tech_design | adr | ...
|
|
181
185
|
title String
|
|
182
|
-
content String?
|
|
183
|
-
version Int
|
|
184
|
-
proposalUuid String?
|
|
185
|
-
createdByUuid String
|
|
186
|
-
createdAt DateTime
|
|
187
|
-
updatedAt DateTime
|
|
186
|
+
content String? // Markdown content
|
|
187
|
+
version Int @default(1)
|
|
188
|
+
proposalUuid String? // Source Proposal UUID (traceable)
|
|
189
|
+
createdByUuid String // User or Agent UUID
|
|
190
|
+
createdAt DateTime @default(now())
|
|
191
|
+
updatedAt DateTime @updatedAt
|
|
188
192
|
|
|
189
193
|
@@index([companyUuid])
|
|
190
194
|
@@index([projectUuid])
|
|
@@ -193,32 +197,32 @@ model Document {
|
|
|
193
197
|
|
|
194
198
|
// Task (Proposal output or manually created)
|
|
195
199
|
model Task {
|
|
196
|
-
id
|
|
197
|
-
uuid
|
|
198
|
-
companyUuid
|
|
199
|
-
company
|
|
200
|
-
projectUuid
|
|
201
|
-
project
|
|
202
|
-
title
|
|
203
|
-
description
|
|
200
|
+
id Int @id @default(autoincrement())
|
|
201
|
+
uuid String @unique @default(uuid())
|
|
202
|
+
companyUuid String
|
|
203
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
204
|
+
projectUuid String
|
|
205
|
+
project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)
|
|
206
|
+
title String
|
|
207
|
+
description String?
|
|
204
208
|
// Status and assignment (ARCHITECTURE.md §7.2)
|
|
205
|
-
status
|
|
206
|
-
priority
|
|
207
|
-
storyPoints
|
|
208
|
-
acceptanceCriteria
|
|
209
|
-
assigneeType
|
|
210
|
-
assigneeUuid
|
|
211
|
-
assignedAt
|
|
212
|
-
assignedByUuid
|
|
213
|
-
proposalUuid
|
|
214
|
-
createdByUuid
|
|
215
|
-
createdAt
|
|
216
|
-
updatedAt
|
|
209
|
+
status String @default("open") // open | assigned | in_progress | to_verify | done | closed
|
|
210
|
+
priority String @default("medium") // low | medium | high
|
|
211
|
+
storyPoints Float? // Effort estimate (unit: Agent hours)
|
|
212
|
+
acceptanceCriteria String? // Acceptance criteria (Markdown)
|
|
213
|
+
assigneeType String? // user | agent
|
|
214
|
+
assigneeUuid String? // User or Agent UUID (polymorphic)
|
|
215
|
+
assignedAt DateTime? // Assignment timestamp
|
|
216
|
+
assignedByUuid String? // User UUID (human assignment)
|
|
217
|
+
proposalUuid String? // Source Proposal UUID (traceable, optional)
|
|
218
|
+
createdByUuid String // User or Agent UUID
|
|
219
|
+
createdAt DateTime @default(now())
|
|
220
|
+
updatedAt DateTime @updatedAt
|
|
217
221
|
// Task dependencies (DAG)
|
|
218
|
-
dependsOn
|
|
219
|
-
dependedBy
|
|
222
|
+
dependsOn TaskDependency[] @relation("taskDependencies")
|
|
223
|
+
dependedBy TaskDependency[] @relation("taskDependedBy")
|
|
220
224
|
// Session checkins
|
|
221
|
-
sessionCheckins
|
|
225
|
+
sessionCheckins SessionTaskCheckin[]
|
|
222
226
|
// Structured acceptance criteria (independent table)
|
|
223
227
|
acceptanceCriteriaItems AcceptanceCriterion[]
|
|
224
228
|
|
|
@@ -252,16 +256,16 @@ model AcceptanceCriterion {
|
|
|
252
256
|
description String
|
|
253
257
|
required Boolean @default(true)
|
|
254
258
|
// Dev self-check (developer fills during work)
|
|
255
|
-
devStatus String @default("pending")
|
|
259
|
+
devStatus String @default("pending") // pending | passed | failed
|
|
256
260
|
devEvidence String?
|
|
257
|
-
devMarkedByType String?
|
|
258
|
-
devMarkedBy String?
|
|
261
|
+
devMarkedByType String? // "user" | "agent"
|
|
262
|
+
devMarkedBy String? // UUID of marker
|
|
259
263
|
devMarkedAt DateTime?
|
|
260
264
|
// Admin verification (admin/user fills during verify)
|
|
261
|
-
status String @default("pending")
|
|
265
|
+
status String @default("pending") // pending | passed | failed
|
|
262
266
|
evidence String?
|
|
263
|
-
markedByType String?
|
|
264
|
-
markedBy String?
|
|
267
|
+
markedByType String? // "user" | "agent"
|
|
268
|
+
markedBy String? // UUID of marker
|
|
265
269
|
markedAt DateTime?
|
|
266
270
|
sortOrder Int @default(0)
|
|
267
271
|
createdAt DateTime @default(now())
|
|
@@ -272,32 +276,32 @@ model AcceptanceCriterion {
|
|
|
272
276
|
|
|
273
277
|
// Proposal (container model: created by Agent/human, approved by human, contains document drafts and task drafts)
|
|
274
278
|
model Proposal {
|
|
275
|
-
id
|
|
276
|
-
uuid
|
|
277
|
-
companyUuid
|
|
278
|
-
company
|
|
279
|
-
projectUuid
|
|
280
|
-
project
|
|
281
|
-
title
|
|
282
|
-
description
|
|
279
|
+
id Int @id @default(autoincrement())
|
|
280
|
+
uuid String @unique @default(uuid())
|
|
281
|
+
companyUuid String
|
|
282
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
283
|
+
projectUuid String
|
|
284
|
+
project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)
|
|
285
|
+
title String
|
|
286
|
+
description String?
|
|
283
287
|
|
|
284
288
|
// Input source (what the Proposal is based on)
|
|
285
|
-
inputType
|
|
286
|
-
inputUuids
|
|
289
|
+
inputType String // idea | document
|
|
290
|
+
inputUuids Json // Array of UUID strings
|
|
287
291
|
|
|
288
292
|
// Container contents (can include both documents and tasks)
|
|
289
|
-
documentDrafts
|
|
290
|
-
taskDrafts
|
|
293
|
+
documentDrafts Json? // Document draft list [{type, title, content}]
|
|
294
|
+
taskDrafts Json? // Task draft list [{title, description, storyPoints, priority, acceptanceCriteria}]
|
|
291
295
|
|
|
292
296
|
// Status and approval
|
|
293
|
-
status
|
|
294
|
-
createdByUuid
|
|
295
|
-
createdByType
|
|
296
|
-
reviewedByUuid
|
|
297
|
-
reviewNote
|
|
298
|
-
reviewedAt
|
|
299
|
-
createdAt
|
|
300
|
-
updatedAt
|
|
297
|
+
status String @default("draft") // draft | pending | approved | rejected | revised
|
|
298
|
+
createdByUuid String // Agent or User UUID
|
|
299
|
+
createdByType String @default("agent") // agent | user
|
|
300
|
+
reviewedByUuid String? // User UUID
|
|
301
|
+
reviewNote String? // Review note
|
|
302
|
+
reviewedAt DateTime?
|
|
303
|
+
createdAt DateTime @default(now())
|
|
304
|
+
updatedAt DateTime @updatedAt
|
|
301
305
|
|
|
302
306
|
@@index([companyUuid])
|
|
303
307
|
@@index([projectUuid])
|
|
@@ -310,11 +314,11 @@ model Comment {
|
|
|
310
314
|
uuid String @unique @default(uuid())
|
|
311
315
|
companyUuid String
|
|
312
316
|
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
313
|
-
targetType String
|
|
314
|
-
targetUuid String
|
|
317
|
+
targetType String // idea | proposal | task | document
|
|
318
|
+
targetUuid String // UUID of target entity (idea/proposal/task/document)
|
|
315
319
|
content String
|
|
316
|
-
authorType String
|
|
317
|
-
authorUuid String
|
|
320
|
+
authorType String // user | agent
|
|
321
|
+
authorUuid String // User or Agent UUID
|
|
318
322
|
createdAt DateTime @default(now())
|
|
319
323
|
updatedAt DateTime @updatedAt
|
|
320
324
|
|
|
@@ -331,13 +335,13 @@ model Activity {
|
|
|
331
335
|
projectUuid String
|
|
332
336
|
project Project @relation(fields: [projectUuid], references: [uuid], onDelete: Cascade)
|
|
333
337
|
// Target entity (generic design)
|
|
334
|
-
targetType String
|
|
335
|
-
targetUuid String
|
|
338
|
+
targetType String // idea | task | proposal | document
|
|
339
|
+
targetUuid String // Target entity UUID
|
|
336
340
|
// Action info
|
|
337
|
-
actorType String
|
|
338
|
-
actorUuid String
|
|
339
|
-
action String
|
|
340
|
-
value Json?
|
|
341
|
+
actorType String // user | agent
|
|
342
|
+
actorUuid String // Actor UUID
|
|
343
|
+
action String // created | assigned | released | status_changed | submitted | approved | rejected | comment_added
|
|
344
|
+
value Json? // Action result value (e.g., new status, assignment target info)
|
|
341
345
|
// Session attribution (denormalized to avoid joins)
|
|
342
346
|
sessionUuid String?
|
|
343
347
|
sessionName String?
|
|
@@ -351,19 +355,19 @@ model Activity {
|
|
|
351
355
|
|
|
352
356
|
// Agent Session (sub-session for swarm mode observability)
|
|
353
357
|
model AgentSession {
|
|
354
|
-
id
|
|
355
|
-
uuid
|
|
356
|
-
companyUuid
|
|
357
|
-
company
|
|
358
|
-
agentUuid
|
|
359
|
-
agent
|
|
360
|
-
name
|
|
361
|
-
description
|
|
362
|
-
status
|
|
363
|
-
lastActiveAt
|
|
364
|
-
createdAt
|
|
365
|
-
updatedAt
|
|
366
|
-
taskCheckins
|
|
358
|
+
id Int @id @default(autoincrement())
|
|
359
|
+
uuid String @unique @default(uuid())
|
|
360
|
+
companyUuid String
|
|
361
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
362
|
+
agentUuid String
|
|
363
|
+
agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)
|
|
364
|
+
name String
|
|
365
|
+
description String?
|
|
366
|
+
status String @default("active") // active | closed
|
|
367
|
+
lastActiveAt DateTime @default(now())
|
|
368
|
+
createdAt DateTime @default(now())
|
|
369
|
+
updatedAt DateTime @updatedAt
|
|
370
|
+
taskCheckins SessionTaskCheckin[]
|
|
367
371
|
|
|
368
372
|
@@index([companyUuid])
|
|
369
373
|
@@index([agentUuid])
|
|
@@ -373,19 +377,188 @@ model AgentSession {
|
|
|
373
377
|
|
|
374
378
|
// Session-Task checkin relation (many-to-many)
|
|
375
379
|
model SessionTaskCheckin {
|
|
376
|
-
id
|
|
377
|
-
sessionUuid
|
|
378
|
-
session
|
|
379
|
-
taskUuid
|
|
380
|
-
task
|
|
381
|
-
checkinAt
|
|
382
|
-
checkoutAt
|
|
380
|
+
id Int @id @default(autoincrement())
|
|
381
|
+
sessionUuid String
|
|
382
|
+
session AgentSession @relation(fields: [sessionUuid], references: [uuid], onDelete: Cascade)
|
|
383
|
+
taskUuid String
|
|
384
|
+
task Task @relation(fields: [taskUuid], references: [uuid], onDelete: Cascade)
|
|
385
|
+
checkinAt DateTime @default(now())
|
|
386
|
+
checkoutAt DateTime?
|
|
383
387
|
|
|
384
388
|
@@unique([sessionUuid, taskUuid])
|
|
385
389
|
@@index([sessionUuid])
|
|
386
390
|
@@index([taskUuid])
|
|
387
391
|
}
|
|
388
392
|
|
|
393
|
+
// Daemon SSE connection registry — one row per long-lived daemon SSE connection.
|
|
394
|
+
// Mirrors AgentSession conventions (Int PK + uuid public id, application-level
|
|
395
|
+
// company/agent relations, indexed status/liveness columns).
|
|
396
|
+
model DaemonConnection {
|
|
397
|
+
id Int @id @default(autoincrement())
|
|
398
|
+
uuid String @unique @default(uuid())
|
|
399
|
+
companyUuid String
|
|
400
|
+
company Company @relation(fields: [companyUuid], references: [uuid])
|
|
401
|
+
agentUuid String
|
|
402
|
+
agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)
|
|
403
|
+
|
|
404
|
+
clientType String // claude_code | openclaw | browser | other
|
|
405
|
+
clientVersion String? // self-reported, untrusted, display-only
|
|
406
|
+
// Self-reported hostname (display-only). Non-null with "" default: a @@unique
|
|
407
|
+
// over a nullable column is broken for dedup because connectors treat each
|
|
408
|
+
// null as distinct (Prisma docs), which would let reconnects accumulate rows.
|
|
409
|
+
// Defaulting to "" makes (agentUuid, clientType, host) a deterministic upsert key.
|
|
410
|
+
host String @default("")
|
|
411
|
+
startedAt DateTime? // self-reported daemon process start time
|
|
412
|
+
|
|
413
|
+
status String @default("online") // online | offline
|
|
414
|
+
connectedAt DateTime @default(now())
|
|
415
|
+
lastSeenAt DateTime @default(now())
|
|
416
|
+
disconnectedAt DateTime?
|
|
417
|
+
|
|
418
|
+
createdAt DateTime @default(now())
|
|
419
|
+
updatedAt DateTime @updatedAt
|
|
420
|
+
|
|
421
|
+
@@unique([agentUuid, clientType, host])
|
|
422
|
+
@@index([companyUuid])
|
|
423
|
+
@@index([agentUuid])
|
|
424
|
+
@@index([status])
|
|
425
|
+
@@index([lastSeenAt])
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// Daemon execution state — one row per (connection, resource) the daemon is
|
|
429
|
+
// running or has queued. The "resource" is whatever entity the wake-triggering
|
|
430
|
+
// notification pointed at: a task, an idea (e.g. an @-mention or elaboration
|
|
431
|
+
// under an idea), a proposal, or a document. Every wake the daemon performs is
|
|
432
|
+
// reported, so the UI can show "this daemon is processing <resource>" regardless
|
|
433
|
+
// of which resource caused it — not only task dispatches.
|
|
434
|
+
//
|
|
435
|
+
// Fed by the snapshot-reconcile ingest path; rows are retained as history
|
|
436
|
+
// (status -> "ended") rather than deleted, so a connection that goes offline
|
|
437
|
+
// still leaves a queryable trail. References DaemonConnection and the target
|
|
438
|
+
// entity by uuid (relationMode = "prisma"); only the `agent` relation is modeled
|
|
439
|
+
// with a DB-level back-relation so the cascade convention matches
|
|
440
|
+
// DaemonConnection/ApiKey (delete an agent -> its execution rows go too).
|
|
441
|
+
model DaemonExecution {
|
|
442
|
+
id Int @id @default(autoincrement())
|
|
443
|
+
uuid String @unique @default(uuid())
|
|
444
|
+
companyUuid String
|
|
445
|
+
agentUuid String
|
|
446
|
+
agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)
|
|
447
|
+
// → DaemonConnection.uuid (weak ref, no DB FK — the row outlives the
|
|
448
|
+
// connection as history).
|
|
449
|
+
connectionUuid String
|
|
450
|
+
// The wake-triggering resource: entityType is "task" | "idea" | "proposal" |
|
|
451
|
+
// "document"; entityUuid is that entity's uuid (weak ref, no DB FK).
|
|
452
|
+
entityType String
|
|
453
|
+
entityUuid String
|
|
454
|
+
// → Idea.uuid; the root-idea lineage anchor for grouping/labeling. Null when
|
|
455
|
+
// the wake has no idea ancestor (e.g. a standalone/quick task).
|
|
456
|
+
rootIdeaUuid String?
|
|
457
|
+
|
|
458
|
+
// running | queued | ended | interrupted
|
|
459
|
+
// `interrupted` is a STICKY status: when a wake's subprocess is stopped (by a
|
|
460
|
+
// user-requested interrupt or an unexpected crash) the row is marked
|
|
461
|
+
// `interrupted` and snapshot-reconcile will NOT auto-downgrade it to `ended`
|
|
462
|
+
// when the (now-gone) entity drops out of the daemon's next snapshot — so the
|
|
463
|
+
// UI keeps showing an "interrupted, resumable" row. It is cleared only when a
|
|
464
|
+
// resume re-dispatch transitions the entity back to running/queued.
|
|
465
|
+
status String // running | queued | ended | interrupted
|
|
466
|
+
// Discriminator for the `interrupted` status: `user` = an authorized
|
|
467
|
+
// user-requested interrupt (manually resumable); `crash` = an unexpected
|
|
468
|
+
// subprocess exit (auto-recovered via reconnect-backfill). Only set while
|
|
469
|
+
// status == interrupted; cleared to null on any transition out of it. This
|
|
470
|
+
// lives on the execution row (not Task) because the daemon executes idea /
|
|
471
|
+
// proposal / document wakes too — interruption is an execution-lifecycle fact,
|
|
472
|
+
// keyed by the same connection+entity the row already tracks.
|
|
473
|
+
interruptedReason String? // null | user | crash
|
|
474
|
+
startedAt DateTime? // set when/once the row is running; null while queued
|
|
475
|
+
|
|
476
|
+
createdAt DateTime @default(now())
|
|
477
|
+
updatedAt DateTime @updatedAt
|
|
478
|
+
|
|
479
|
+
// A resource appears at most once per connection: re-dispatch updates the
|
|
480
|
+
// existing row (queued -> running -> ended) rather than inserting a duplicate.
|
|
481
|
+
@@unique([connectionUuid, entityType, entityUuid])
|
|
482
|
+
@@index([connectionUuid, status])
|
|
483
|
+
@@index([companyUuid, agentUuid])
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// Daemon persistent conversation — one row per (agentUuid, sessionId) Claude
|
|
487
|
+
// session. Distinct from DaemonExecution (the live running/queued snapshot):
|
|
488
|
+
// this is the DURABLE conversation layer. Its identity and history survive the
|
|
489
|
+
// holding connection going offline and the daemon restarting; it is never
|
|
490
|
+
// deleted merely because a connection dropped. A turn references its execution
|
|
491
|
+
// row by uuid (weak ref) but does not alter execution-state reconcile semantics.
|
|
492
|
+
// Only the `agent` relation is modeled with a DB-level back-relation so the
|
|
493
|
+
// cascade convention matches DaemonConnection/DaemonExecution/ApiKey.
|
|
494
|
+
model DaemonSession {
|
|
495
|
+
id Int @id @default(autoincrement())
|
|
496
|
+
uuid String @unique @default(uuid())
|
|
497
|
+
companyUuid String
|
|
498
|
+
agentUuid String
|
|
499
|
+
agent Agent @relation(fields: [agentUuid], references: [uuid], onDelete: Cascade)
|
|
500
|
+
// Stable business key: the directIdeaUuid for an idea-anchored session, or a
|
|
501
|
+
// server-generated uuid for an ad-hoc session. Unique per agent.
|
|
502
|
+
sessionId String
|
|
503
|
+
directIdeaUuid String? // null ⇒ ad-hoc (no idea lineage)
|
|
504
|
+
// → DaemonConnection.uuid (weak ref, no DB FK). The connection/cwd that owns
|
|
505
|
+
// the on-disk Claude transcript. Fixed at creation; continuation is only ever
|
|
506
|
+
// routed here, because `claude --resume <sessionId>` is cwd/machine-bound.
|
|
507
|
+
originConnectionUuid String
|
|
508
|
+
status String @default("active") // active | ended
|
|
509
|
+
title String?
|
|
510
|
+
lastTurnAt DateTime @default(now())
|
|
511
|
+
createdAt DateTime @default(now())
|
|
512
|
+
updatedAt DateTime @updatedAt
|
|
513
|
+
turns DaemonSessionTurn[]
|
|
514
|
+
|
|
515
|
+
@@unique([agentUuid, sessionId])
|
|
516
|
+
@@index([companyUuid, agentUuid])
|
|
517
|
+
@@index([originConnectionUuid])
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
// One turn (wake) on a DaemonSession. Every wake — autonomous (task_assigned /
|
|
521
|
+
// mentioned / elaboration / resume) or human (human_instruction) — is exactly one
|
|
522
|
+
// turn, distinguished only by `trigger`. Turn creation + status transitions are
|
|
523
|
+
// the SSE chokepoint for the conversation's live updates.
|
|
524
|
+
model DaemonSessionTurn {
|
|
525
|
+
id Int @id @default(autoincrement())
|
|
526
|
+
uuid String @unique @default(uuid())
|
|
527
|
+
sessionUuid String
|
|
528
|
+
session DaemonSession @relation(fields: [sessionUuid], references: [uuid], onDelete: Cascade)
|
|
529
|
+
seq Int // monotonic per session
|
|
530
|
+
trigger String // task_assigned | mentioned | elaboration | elaboration_verified | resume | human_instruction
|
|
531
|
+
promptText String? // free-text body for human_instruction; null otherwise (canonical source)
|
|
532
|
+
status String @default("pending") // pending | running | ended
|
|
533
|
+
// Weak ref to the live DaemonExecution row this turn corresponds to (no DB FK;
|
|
534
|
+
// execution rows are reconciled/transient).
|
|
535
|
+
executionUuid String?
|
|
536
|
+
startedAt DateTime?
|
|
537
|
+
endedAt DateTime?
|
|
538
|
+
createdAt DateTime @default(now())
|
|
539
|
+
messages DaemonTranscriptMessage[]
|
|
540
|
+
|
|
541
|
+
@@unique([sessionUuid, seq])
|
|
542
|
+
@@index([sessionUuid, status])
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
// A single user/assistant transcript message on a turn. Tool-call, tool-result,
|
|
546
|
+
// and thinking content are NOT stored. Its own table (not JSON on the turn) so
|
|
547
|
+
// append + per-message rolling-window trim are clean row operations rather than
|
|
548
|
+
// read-modify-write of a JSON blob under concurrent appends.
|
|
549
|
+
model DaemonTranscriptMessage {
|
|
550
|
+
id Int @id @default(autoincrement())
|
|
551
|
+
uuid String @unique @default(uuid())
|
|
552
|
+
turnUuid String
|
|
553
|
+
turn DaemonSessionTurn @relation(fields: [turnUuid], references: [uuid], onDelete: Cascade)
|
|
554
|
+
role String // user | assistant (tool/thinking NOT stored)
|
|
555
|
+
text String @db.Text
|
|
556
|
+
seq Int // order within turn; used for rolling-window trim
|
|
557
|
+
createdAt DateTime @default(now())
|
|
558
|
+
|
|
559
|
+
@@index([turnUuid, seq])
|
|
560
|
+
}
|
|
561
|
+
|
|
389
562
|
// Notification
|
|
390
563
|
model Notification {
|
|
391
564
|
id Int @id @default(autoincrement())
|
|
@@ -393,19 +566,24 @@ model Notification {
|
|
|
393
566
|
companyUuid String
|
|
394
567
|
projectUuid String
|
|
395
568
|
// Recipient (polymorphic: user | agent)
|
|
396
|
-
recipientType String
|
|
569
|
+
recipientType String // user | agent
|
|
397
570
|
recipientUuid String
|
|
398
571
|
// Related entity
|
|
399
|
-
entityType String
|
|
572
|
+
entityType String // task | idea | proposal | document | comment
|
|
400
573
|
entityUuid String
|
|
401
|
-
entityTitle String
|
|
402
|
-
projectName String
|
|
574
|
+
entityTitle String // Denormalized to avoid joins
|
|
575
|
+
projectName String // Denormalized for project badge UI
|
|
403
576
|
// Action info
|
|
404
|
-
action String
|
|
405
|
-
message String
|
|
406
|
-
|
|
577
|
+
action String // assigned | status_changed | verified | reopened | submitted | approved | rejected | claimed | comment_added
|
|
578
|
+
message String // Human-readable message
|
|
579
|
+
// Denormalized write-once copy of a human_instruction turn's promptText
|
|
580
|
+
// (DaemonSessionTurn.promptText is canonical). Display/transport only — lets the
|
|
581
|
+
// daemon read the instruction body in the chorus_get_notifications call it already
|
|
582
|
+
// makes, with no extra round-trip. Null for every non-instruction notification.
|
|
583
|
+
instructionText String?
|
|
584
|
+
actorType String // user | agent
|
|
407
585
|
actorUuid String
|
|
408
|
-
actorName String
|
|
586
|
+
actorName String // Denormalized to avoid joins
|
|
409
587
|
// Status
|
|
410
588
|
readAt DateTime?
|
|
411
589
|
archivedAt DateTime?
|
|
@@ -420,26 +598,26 @@ model Notification {
|
|
|
420
598
|
|
|
421
599
|
// Notification preferences
|
|
422
600
|
model NotificationPreference {
|
|
423
|
-
id
|
|
424
|
-
uuid
|
|
425
|
-
companyUuid
|
|
426
|
-
ownerType
|
|
427
|
-
ownerUuid
|
|
601
|
+
id Int @id @default(autoincrement())
|
|
602
|
+
uuid String @unique @default(uuid())
|
|
603
|
+
companyUuid String
|
|
604
|
+
ownerType String // user | agent
|
|
605
|
+
ownerUuid String
|
|
428
606
|
// Toggle for each notification type (all enabled by default)
|
|
429
|
-
taskAssigned
|
|
430
|
-
taskStatusChanged
|
|
431
|
-
taskVerified
|
|
432
|
-
taskReopened
|
|
433
|
-
proposalSubmitted
|
|
434
|
-
proposalApproved
|
|
435
|
-
proposalRejected
|
|
436
|
-
ideaClaimed
|
|
437
|
-
commentAdded
|
|
438
|
-
elaborationRequested Boolean
|
|
439
|
-
elaborationAnswered Boolean
|
|
440
|
-
mentioned Boolean
|
|
441
|
-
createdAt
|
|
442
|
-
updatedAt
|
|
607
|
+
taskAssigned Boolean @default(true)
|
|
608
|
+
taskStatusChanged Boolean @default(true)
|
|
609
|
+
taskVerified Boolean @default(true)
|
|
610
|
+
taskReopened Boolean @default(true)
|
|
611
|
+
proposalSubmitted Boolean @default(true)
|
|
612
|
+
proposalApproved Boolean @default(true)
|
|
613
|
+
proposalRejected Boolean @default(true)
|
|
614
|
+
ideaClaimed Boolean @default(true)
|
|
615
|
+
commentAdded Boolean @default(true)
|
|
616
|
+
elaborationRequested Boolean @default(true)
|
|
617
|
+
elaborationAnswered Boolean @default(true)
|
|
618
|
+
mentioned Boolean @default(true)
|
|
619
|
+
createdAt DateTime @default(now())
|
|
620
|
+
updatedAt DateTime @updatedAt
|
|
443
621
|
|
|
444
622
|
@@unique([ownerType, ownerUuid])
|
|
445
623
|
@@index([companyUuid])
|
|
@@ -447,19 +625,19 @@ model NotificationPreference {
|
|
|
447
625
|
|
|
448
626
|
// Mention (tracks @mentions in comments, tasks, ideas)
|
|
449
627
|
model Mention {
|
|
450
|
-
id
|
|
451
|
-
uuid
|
|
452
|
-
companyUuid
|
|
628
|
+
id Int @id @default(autoincrement())
|
|
629
|
+
uuid String @unique @default(uuid())
|
|
630
|
+
companyUuid String
|
|
453
631
|
// Source: where the mention occurred
|
|
454
|
-
sourceType
|
|
455
|
-
sourceUuid
|
|
632
|
+
sourceType String // comment | task | idea
|
|
633
|
+
sourceUuid String // UUID of the comment, task, or idea
|
|
456
634
|
// Target: who was mentioned
|
|
457
|
-
mentionedType
|
|
458
|
-
mentionedUuid
|
|
635
|
+
mentionedType String // user | agent
|
|
636
|
+
mentionedUuid String
|
|
459
637
|
// Actor: who wrote the mention
|
|
460
|
-
actorType
|
|
461
|
-
actorUuid
|
|
462
|
-
createdAt
|
|
638
|
+
actorType String // user | agent
|
|
639
|
+
actorUuid String
|
|
640
|
+
createdAt DateTime @default(now())
|
|
463
641
|
|
|
464
642
|
@@index([companyUuid])
|
|
465
643
|
@@index([mentionedType, mentionedUuid])
|
|
@@ -475,13 +653,13 @@ model ElaborationRound {
|
|
|
475
653
|
roundNumber Int
|
|
476
654
|
status String @default("pending_answers") // pending_answers | answered | validated (needs_followup retained for legacy rows only — no longer written)
|
|
477
655
|
isAppended Boolean @default(false) // true when created after the Idea was first resolved
|
|
478
|
-
createdByType String
|
|
656
|
+
createdByType String // agent | user
|
|
479
657
|
createdByUuid String
|
|
480
658
|
validatedAt DateTime?
|
|
481
659
|
createdAt DateTime @default(now())
|
|
482
660
|
updatedAt DateTime @updatedAt
|
|
483
661
|
|
|
484
|
-
questions
|
|
662
|
+
questions ElaborationQuestion[]
|
|
485
663
|
|
|
486
664
|
@@index([ideaUuid])
|
|
487
665
|
@@index([companyUuid])
|
|
@@ -489,25 +667,25 @@ model ElaborationRound {
|
|
|
489
667
|
|
|
490
668
|
// Elaboration Question (individual Q&A item within a round)
|
|
491
669
|
model ElaborationQuestion {
|
|
492
|
-
id Int
|
|
493
|
-
uuid String
|
|
670
|
+
id Int @id @default(autoincrement())
|
|
671
|
+
uuid String @unique @default(uuid())
|
|
494
672
|
roundUuid String
|
|
495
673
|
round ElaborationRound @relation(fields: [roundUuid], references: [uuid], onDelete: Cascade)
|
|
496
|
-
questionId String
|
|
674
|
+
questionId String // Round-scoped ID: "q1", "q2", etc.
|
|
497
675
|
text String
|
|
498
|
-
category String
|
|
499
|
-
options Json
|
|
500
|
-
required Boolean
|
|
676
|
+
category String // functional | non_functional | business_context | technical_context | user_scenario | scope
|
|
677
|
+
options Json // [{id, label, description?}] — 2-5 options
|
|
678
|
+
required Boolean @default(true)
|
|
501
679
|
// Answer (null = unanswered)
|
|
502
680
|
selectedOptionId String?
|
|
503
681
|
customText String?
|
|
504
682
|
answeredAt DateTime?
|
|
505
|
-
answeredByType String?
|
|
683
|
+
answeredByType String? // user | agent
|
|
506
684
|
answeredByUuid String?
|
|
507
685
|
// Validation issue (null = no issue)
|
|
508
|
-
issueType String?
|
|
686
|
+
issueType String? // contradiction | ambiguity | incomplete
|
|
509
687
|
issueDescription String?
|
|
510
688
|
|
|
511
|
-
@@index([roundUuid])
|
|
512
689
|
@@unique([roundUuid, questionId])
|
|
690
|
+
@@index([roundUuid])
|
|
513
691
|
}
|