@chorus-aidlc/chorus 0.14.6 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +448 -402
- package/.next/standalone/.next/app-path-routes-manifest.json +46 -41
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +15 -15
- package/.next/standalone/.next/routes-manifest.json +16 -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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +2 -2
- package/.next/standalone/.next/server/app/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js +1 -0
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js +1 -0
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +2 -2
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +2 -2
- package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +2 -2
- package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +2 -2
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +2 -2
- package/.next/standalone/.next/server/app/projects.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +46 -41
- package/.next/standalone/.next/server/chunks/1114.js +1 -1
- package/.next/standalone/.next/server/chunks/1318.js +1 -1
- package/.next/standalone/.next/server/chunks/1524.js +1 -0
- package/.next/standalone/.next/server/chunks/1559.js +2 -2
- package/.next/standalone/.next/server/chunks/1722.js +1 -0
- package/.next/standalone/.next/server/chunks/{2789.js → 2547.js} +3 -3
- package/.next/standalone/.next/server/chunks/2572.js +2 -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/330.js +1 -0
- package/.next/standalone/.next/server/chunks/3525.js +1 -0
- package/.next/standalone/.next/server/chunks/4827.js +1 -1
- package/.next/standalone/.next/server/chunks/5245.js +1 -1
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6506.js +4 -4
- package/.next/standalone/.next/server/chunks/6515.js +2 -2
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7530.js +1 -1
- package/.next/standalone/.next/server/chunks/8454.js +1 -1
- package/.next/standalone/.next/server/chunks/8540.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9213.js +1 -1
- package/.next/standalone/.next/server/chunks/9378.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/11595.f1e55e827d67f2bc.js +1 -0
- package/.next/standalone/.next/static/chunks/18351-12dc856208d79e10.js +1 -0
- package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +1 -0
- package/.next/standalone/.next/static/chunks/{33456.c48dc366aa90b234.js → 33456.4817cdce41593c7e.js} +1 -1
- package/.next/standalone/.next/static/chunks/37938-0b9a2b891c04b166.js +1 -0
- package/.next/standalone/.next/static/chunks/4340-a33120fb742af57e.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.bb2749ebaf8eb15f.js +1 -0
- package/.next/standalone/.next/static/chunks/53402-be6989c3f3968e7b.js +1 -0
- package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +1 -0
- package/.next/standalone/.next/static/chunks/68326-61feeb2f6cddd338.js +1 -0
- package/.next/standalone/.next/static/chunks/72974-714dcca796895c40.js +1 -0
- package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +1 -0
- package/.next/standalone/.next/static/chunks/7777-13466138aa42bd5f.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-f91904c6c2d12dab.js +1 -0
- package/.next/standalone/.next/static/chunks/80748-e971c5a5d6ef967d.js +1 -0
- package/.next/standalone/.next/static/chunks/94426-39b6da238425f9b7.js +10 -0
- package/.next/standalone/.next/static/chunks/94470-0c74a933d5a2902f.js +1 -0
- package/.next/standalone/.next/static/chunks/94643-ba1ebff5769d2b50.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.ae03246bdf49c700.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-177a3fa88be94b4a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-03b8510273520572.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-d6c226fd56b5ebb5.js → page-4a8ac49308a4e23b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-03408be00dc4822b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-be353989e67e7b55.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-ebf4c28014025b7b.js → page-c70af8cac7bdc483.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-bbde7e85e3388813.js → page-715b000c156a080c.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-6df01fa989cca27b.js → page-7a5ef281f6819ed4.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e786a59c24eb5bda.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/directory-request/report/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-visits/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/agent-cwds/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/agent-cwd-options/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/references/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/session/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-df7c97cefb508201.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-af2cb28ef7bbd7c2.js → webpack-84e2db1b2418c974.js} +1 -1
- package/.next/standalone/.next/static/css/ef995b001437e3ef.css +1 -0
- package/.next/standalone/.next/static/oHZy43Le4b2I7pg7_cQ0Z/_buildManifest.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/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 +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
- package/README.ja.md +2 -0
- package/README.ko.md +2 -0
- package/README.md +3 -0
- package/README.zh.md +2 -0
- package/cli/client-args.mjs +8 -0
- package/cli/codex-spawner.mjs +5 -5
- package/cli/control-handler.mjs +31 -2
- package/cli/daemon-config.mjs +35 -0
- package/cli/daemon-install-config.mjs +26 -0
- package/cli/daemon-rest-client.mjs +27 -2
- package/cli/daemon.mjs +110 -20
- package/cli/directory-discovery.mjs +184 -0
- package/cli/event-router.mjs +12 -4
- package/cli/turn-reporter.mjs +11 -3
- package/cli/waker.mjs +35 -8
- package/package.json +1 -1
- package/prisma/migrations/20260731093000_add_daemon_backend_session_id/migration.sql +1 -0
- package/prisma/migrations/20260801113000_add_project_agent_cwd_discovery/migration.sql +50 -0
- package/prisma/migrations/20260802140000_add_assignment_runtime_cwd_snapshot/migration.sql +7 -0
- package/prisma/schema.prisma +134 -60
- package/.next/standalone/.next/server/chunks/2004.js +0 -1
- package/.next/standalone/.next/server/chunks/2112.js +0 -1
- package/.next/standalone/.next/server/chunks/3219.js +0 -2
- package/.next/standalone/.next/static/chunks/11595.c580c5690d176cce.js +0 -1
- package/.next/standalone/.next/static/chunks/14160-7bcee6e9e8bc5233.js +0 -1
- package/.next/standalone/.next/static/chunks/15653-31c406c41bf58048.js +0 -1
- package/.next/standalone/.next/static/chunks/18351-2a408c4f57ddb3a7.js +0 -1
- package/.next/standalone/.next/static/chunks/24870-5b0be64361f5ef70.js +0 -1
- package/.next/standalone/.next/static/chunks/26232-110019cebde19691.js +0 -1
- package/.next/standalone/.next/static/chunks/33806-cb339e86820a87c4.js +0 -1
- package/.next/standalone/.next/static/chunks/37035-514bbb31cd13bda1.js +0 -1
- package/.next/standalone/.next/static/chunks/37938-c09acf52d7f85cb4.js +0 -1
- package/.next/standalone/.next/static/chunks/39479-5af3460208d8cc56.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.baf6a285246198af.js +0 -1
- package/.next/standalone/.next/static/chunks/60178-d6276df1c07d7735.js +0 -10
- package/.next/standalone/.next/static/chunks/68326-924445654ed47e6f.js +0 -1
- package/.next/standalone/.next/static/chunks/78917-1498676a1ffe5ded.js +0 -1
- package/.next/standalone/.next/static/chunks/94470-1076452151689267.js +0 -1
- package/.next/standalone/.next/static/chunks/94643-7c7f2efab0640658.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.ad871bd0bbfc5eb7.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-78259279cf6c6919.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2af5f2f159c8e32b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-59dcf0ba7ce877ec.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-af35d50848f01875.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-cb6fdf592863833c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e60bc39bf2957f77.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-visits/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/references/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/session/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-006bf9e9d6a991f1.js +0 -1
- package/.next/standalone/.next/static/css/f46eab37c942ff33.css +0 -1
- package/.next/standalone/.next/static/t-ZaS6bNyv62NUlewVISp/_buildManifest.js +0 -1
- /package/.next/standalone/.next/static/{t-ZaS6bNyv62NUlewVISp → oHZy43Le4b2I7pg7_cQ0Z}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { promises as fs } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
|
|
5
|
+
export const DIRECTORY_ERROR_CODES = Object.freeze([
|
|
6
|
+
"HOST_OFFLINE",
|
|
7
|
+
"TIMEOUT",
|
|
8
|
+
"INVALID_PATH",
|
|
9
|
+
"OUTSIDE_ROOT",
|
|
10
|
+
"NOT_DIRECTORY",
|
|
11
|
+
"ACCESS_DENIED",
|
|
12
|
+
"STALE_TARGET",
|
|
13
|
+
"LIMIT_EXCEEDED",
|
|
14
|
+
"INTERNAL_ERROR",
|
|
15
|
+
]);
|
|
16
|
+
|
|
17
|
+
export class DirectoryDiscoveryError extends Error {
|
|
18
|
+
constructor(code, message = code) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = "DirectoryDiscoveryError";
|
|
21
|
+
this.code = code;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function expandHome(value, home, pathApi) {
|
|
26
|
+
if (value === "~") return home;
|
|
27
|
+
if (value.startsWith("~/") || value.startsWith("~\\")) {
|
|
28
|
+
return pathApi.join(home, value.slice(2));
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function isPathWithin(root, candidate, pathApi = path) {
|
|
34
|
+
const relative = pathApi.relative(pathApi.resolve(root), pathApi.resolve(candidate));
|
|
35
|
+
return relative === "" || (!relative.startsWith("..") && !pathApi.isAbsolute(relative));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function cursorIndex(cursor) {
|
|
39
|
+
if (cursor == null || cursor === "") return 0;
|
|
40
|
+
try {
|
|
41
|
+
const parsed = Number(Buffer.from(cursor, "base64url").toString("utf8"));
|
|
42
|
+
if (Number.isSafeInteger(parsed) && parsed >= 0) return parsed;
|
|
43
|
+
} catch {}
|
|
44
|
+
throw new DirectoryDiscoveryError("INVALID_PATH", "Invalid directory cursor");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function fsError(err) {
|
|
48
|
+
if (err?.code === "EACCES" || err?.code === "EPERM") return "ACCESS_DENIED";
|
|
49
|
+
if (err?.code === "ENOTDIR") return "NOT_DIRECTORY";
|
|
50
|
+
if (err?.code === "ENOENT") return "INVALID_PATH";
|
|
51
|
+
return "INTERNAL_ERROR";
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async function resolveRoots(roots, fsApi, pathApi) {
|
|
55
|
+
try {
|
|
56
|
+
return await Promise.all(roots.map(async (root) => ({
|
|
57
|
+
lexical: root,
|
|
58
|
+
real: await fsApi.realpath(root),
|
|
59
|
+
})));
|
|
60
|
+
} catch (err) {
|
|
61
|
+
throw new DirectoryDiscoveryError(fsError(err));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async function assertCanonicalWithin(candidate, roots, fsApi, pathApi) {
|
|
66
|
+
const lexicalRoot = roots.find((root) =>
|
|
67
|
+
isPathWithin(root.lexical, candidate, pathApi));
|
|
68
|
+
if (!lexicalRoot) throw new DirectoryDiscoveryError("OUTSIDE_ROOT");
|
|
69
|
+
|
|
70
|
+
let realCandidate;
|
|
71
|
+
try {
|
|
72
|
+
realCandidate = await fsApi.realpath(candidate);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
throw new DirectoryDiscoveryError(fsError(err));
|
|
75
|
+
}
|
|
76
|
+
const relative = pathApi.relative(lexicalRoot.lexical, pathApi.resolve(candidate));
|
|
77
|
+
const expected = pathApi.resolve(lexicalRoot.real, relative);
|
|
78
|
+
if (realCandidate !== expected || !isPathWithin(lexicalRoot.real, realCandidate, pathApi)) {
|
|
79
|
+
throw new DirectoryDiscoveryError("OUTSIDE_ROOT");
|
|
80
|
+
}
|
|
81
|
+
return realCandidate;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Complete one path segment. Results intentionally contain only `{name,path}`.
|
|
86
|
+
*/
|
|
87
|
+
export async function discoverDirectories(options) {
|
|
88
|
+
const pathApi = options.pathApi ?? path;
|
|
89
|
+
const fsApi = options.fsApi ?? fs;
|
|
90
|
+
const home = options.home ?? homedir();
|
|
91
|
+
const maxScan = options.maxScan ?? 10_000;
|
|
92
|
+
const maxResults = options.maxResults ?? 1_000;
|
|
93
|
+
const maxLimit = options.maxLimit ?? 100;
|
|
94
|
+
const timeoutMs = options.timeoutMs ?? 2_000;
|
|
95
|
+
const limit = options.limit ?? 50;
|
|
96
|
+
if (!Number.isInteger(limit) || limit < 1 || limit > maxLimit) {
|
|
97
|
+
throw new DirectoryDiscoveryError("LIMIT_EXCEEDED");
|
|
98
|
+
}
|
|
99
|
+
if (typeof options.prefix !== "string" || !options.prefix.trim()) {
|
|
100
|
+
throw new DirectoryDiscoveryError("INVALID_PATH");
|
|
101
|
+
}
|
|
102
|
+
const expanded = expandHome(options.prefix.trim(), home, pathApi);
|
|
103
|
+
if (!pathApi.isAbsolute(expanded)) throw new DirectoryDiscoveryError("INVALID_PATH");
|
|
104
|
+
const normalized = pathApi.normalize(expanded);
|
|
105
|
+
const parent = normalized.endsWith(pathApi.sep)
|
|
106
|
+
? normalized
|
|
107
|
+
: pathApi.dirname(normalized);
|
|
108
|
+
const namePrefix = normalized.endsWith(pathApi.sep) ? "" : pathApi.basename(normalized);
|
|
109
|
+
const lexicalRoots = (options.browseRoots ?? []).map((root) => pathApi.resolve(root));
|
|
110
|
+
if (!lexicalRoots.some((root) => isPathWithin(root, parent, pathApi))) {
|
|
111
|
+
throw new DirectoryDiscoveryError("OUTSIDE_ROOT");
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const scan = async () => {
|
|
115
|
+
const roots = await resolveRoots(lexicalRoots, fsApi, pathApi);
|
|
116
|
+
let parentStat;
|
|
117
|
+
try {
|
|
118
|
+
parentStat = await fsApi.lstat(parent);
|
|
119
|
+
await fsApi.access(parent);
|
|
120
|
+
} catch (err) {
|
|
121
|
+
throw new DirectoryDiscoveryError(fsError(err));
|
|
122
|
+
}
|
|
123
|
+
if (parentStat.isSymbolicLink()) throw new DirectoryDiscoveryError("OUTSIDE_ROOT");
|
|
124
|
+
if (!parentStat.isDirectory()) throw new DirectoryDiscoveryError("NOT_DIRECTORY");
|
|
125
|
+
await assertCanonicalWithin(parent, roots, fsApi, pathApi);
|
|
126
|
+
|
|
127
|
+
let entries;
|
|
128
|
+
try {
|
|
129
|
+
entries = await fsApi.readdir(parent, { withFileTypes: true });
|
|
130
|
+
} catch (err) {
|
|
131
|
+
throw new DirectoryDiscoveryError(fsError(err));
|
|
132
|
+
}
|
|
133
|
+
if (entries.length > maxScan) throw new DirectoryDiscoveryError("LIMIT_EXCEEDED");
|
|
134
|
+
const matches = [];
|
|
135
|
+
for (const entry of entries) {
|
|
136
|
+
if (entry.name.startsWith(".") || !entry.name.startsWith(namePrefix)) continue;
|
|
137
|
+
const candidate = pathApi.resolve(parent, entry.name);
|
|
138
|
+
if (!roots.some((root) => isPathWithin(root.lexical, candidate, pathApi))) continue;
|
|
139
|
+
try {
|
|
140
|
+
const stat = await fsApi.lstat(candidate);
|
|
141
|
+
if (stat.isSymbolicLink() || !stat.isDirectory()) continue;
|
|
142
|
+
await fsApi.access(candidate);
|
|
143
|
+
await assertCanonicalWithin(candidate, roots, fsApi, pathApi);
|
|
144
|
+
} catch {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
matches.push({ name: entry.name, path: candidate });
|
|
148
|
+
if (matches.length > maxResults) throw new DirectoryDiscoveryError("LIMIT_EXCEEDED");
|
|
149
|
+
}
|
|
150
|
+
matches.sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: "base" }) || a.name.localeCompare(b.name));
|
|
151
|
+
const start = cursorIndex(options.cursor);
|
|
152
|
+
const items = matches.slice(start, start + limit);
|
|
153
|
+
const next = start + items.length;
|
|
154
|
+
return {
|
|
155
|
+
items,
|
|
156
|
+
nextCursor: next < matches.length
|
|
157
|
+
? Buffer.from(String(next), "utf8").toString("base64url")
|
|
158
|
+
: null,
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
let timer;
|
|
163
|
+
try {
|
|
164
|
+
return await Promise.race([
|
|
165
|
+
scan(),
|
|
166
|
+
new Promise((_, reject) => {
|
|
167
|
+
timer = setTimeout(() => reject(new DirectoryDiscoveryError("TIMEOUT")), timeoutMs);
|
|
168
|
+
}),
|
|
169
|
+
]);
|
|
170
|
+
} finally {
|
|
171
|
+
clearTimeout(timer);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export async function validateDirectory(options) {
|
|
176
|
+
const result = await discoverDirectories({
|
|
177
|
+
...options,
|
|
178
|
+
prefix: options.cwd.endsWith(options.pathApi?.sep ?? path.sep)
|
|
179
|
+
? options.cwd
|
|
180
|
+
: `${options.cwd}${options.pathApi?.sep ?? path.sep}`,
|
|
181
|
+
limit: 1,
|
|
182
|
+
});
|
|
183
|
+
return { valid: true, normalizedPath: (options.pathApi ?? path).normalize(options.cwd), ...result };
|
|
184
|
+
}
|
package/cli/event-router.mjs
CHANGED
|
@@ -105,7 +105,8 @@ export class EventRouter {
|
|
|
105
105
|
const targetConnectionUuid =
|
|
106
106
|
typeof event.targetConnectionUuid === "string" ? event.targetConnectionUuid : null;
|
|
107
107
|
const suppressWake = event.suppressWake === true;
|
|
108
|
-
|
|
108
|
+
const runtimeCwd = typeof event.runtimeCwd === "string" ? event.runtimeCwd : null;
|
|
109
|
+
this.#fetchAndRoute(event.notificationUuid, { targetConnectionUuid, suppressWake, runtimeCwd }).catch(
|
|
109
110
|
(err) => {
|
|
110
111
|
this.logger.error(`[Chorus] failed to route notification ${event.notificationUuid}: ${err}`);
|
|
111
112
|
}
|
|
@@ -209,7 +210,8 @@ export class EventRouter {
|
|
|
209
210
|
);
|
|
210
211
|
}
|
|
211
212
|
|
|
212
|
-
|
|
213
|
+
const routed = transport.runtimeCwd ? { ...n, runtimeCwd: transport.runtimeCwd } : n;
|
|
214
|
+
await this.#resolveAndEnqueue(routed, notificationUuid);
|
|
213
215
|
}
|
|
214
216
|
|
|
215
217
|
/**
|
|
@@ -244,6 +246,7 @@ export class EventRouter {
|
|
|
244
246
|
entityType,
|
|
245
247
|
entityUuid,
|
|
246
248
|
...(resumedFrom ? { resumedFrom } : {}),
|
|
249
|
+
...(typeof target?.runtimeCwd === "string" ? { runtimeCwd: target.runtimeCwd } : {}),
|
|
247
250
|
};
|
|
248
251
|
this.#resolveAndEnqueue(n, `resume:${entityType}:${entityUuid}`).catch((err) => {
|
|
249
252
|
this.logger.error(`[Chorus] failed to dispatch resume for ${entityType}:${entityUuid}: ${err}`);
|
|
@@ -319,6 +322,7 @@ export class EventRouter {
|
|
|
319
322
|
sessionId,
|
|
320
323
|
directIdeaUuid,
|
|
321
324
|
trigger: pending.trigger,
|
|
325
|
+
runtimeCwd: typeof pending.runtimeCwd === "string" ? pending.runtimeCwd : null,
|
|
322
326
|
}).catch((err) => {
|
|
323
327
|
this.logger.error(
|
|
324
328
|
`[Chorus] failed to re-dispatch autonomous pending turn ${turnUuid}: ${err}`
|
|
@@ -367,6 +371,7 @@ export class EventRouter {
|
|
|
367
371
|
entityType: directIdeaUuid ? "idea" : "daemon_session",
|
|
368
372
|
entityUuid: directIdeaUuid ? directIdeaUuid : sessionId,
|
|
369
373
|
instructionText: instruction,
|
|
374
|
+
...(typeof pending.runtimeCwd === "string" ? { runtimeCwd: pending.runtimeCwd } : {}),
|
|
370
375
|
};
|
|
371
376
|
const key = directIdeaUuid ? `idea:${directIdeaUuid}` : `entity:daemon_session:${sessionId}`;
|
|
372
377
|
const attribution = { key, rootIdeaUuid: directIdeaUuid, directIdeaUuid };
|
|
@@ -407,7 +412,7 @@ export class EventRouter {
|
|
|
407
412
|
* @param {{ turnUuid: string, sessionId: string, directIdeaUuid: string|null, trigger: string }} pending
|
|
408
413
|
*/
|
|
409
414
|
async #redispatchAutonomousTurn(pending) {
|
|
410
|
-
const { turnUuid, sessionId, directIdeaUuid, trigger } = pending;
|
|
415
|
+
const { turnUuid, sessionId, directIdeaUuid, trigger, runtimeCwd } = pending;
|
|
411
416
|
let result;
|
|
412
417
|
try {
|
|
413
418
|
result = await this.mcp.callTool("chorus_get_notifications", {
|
|
@@ -488,7 +493,10 @@ export class EventRouter {
|
|
|
488
493
|
this.logger.info(
|
|
489
494
|
`[Chorus] autonomous pending turn ${turnUuid} (${trigger}): waking from re-read notification ${match.uuid}`
|
|
490
495
|
);
|
|
491
|
-
await this.#resolveAndEnqueue(
|
|
496
|
+
await this.#resolveAndEnqueue(
|
|
497
|
+
runtimeCwd ? { ...match, runtimeCwd } : match,
|
|
498
|
+
match.uuid,
|
|
499
|
+
);
|
|
492
500
|
}
|
|
493
501
|
|
|
494
502
|
/**
|
package/cli/turn-reporter.mjs
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
// persistent conversation; the server creates that turn (status `pending`) at the
|
|
5
5
|
// notification chokepoint, and the daemon advances it:
|
|
6
6
|
// • on spawn → pending → running
|
|
7
|
-
// • on subprocess exit → running → ended (clean) |
|
|
7
|
+
// • on subprocess exit/validation → running → ended (clean) |
|
|
8
|
+
// interrupted (user/crash/shutdown/invalid_path)
|
|
8
9
|
//
|
|
9
10
|
// The daemon does NOT know the server-side turn uuid. It identifies the turn the SAME
|
|
10
11
|
// way the transcript ingest does — by the session BUSINESS KEY (`sessionId` = the
|
|
@@ -30,7 +31,12 @@ const NOOP_LOGGER = { info() {}, warn() {}, error() {} };
|
|
|
30
31
|
export const TURN_STATUSES = new Set(["pending", "running", "ended", "interrupted"]);
|
|
31
32
|
|
|
32
33
|
/** Interrupt reasons a DAEMON may report (`offline` is server-reconcile-only). */
|
|
33
|
-
export const TURN_INTERRUPT_REASONS = new Set([
|
|
34
|
+
export const TURN_INTERRUPT_REASONS = new Set([
|
|
35
|
+
"user",
|
|
36
|
+
"crash",
|
|
37
|
+
"shutdown",
|
|
38
|
+
"invalid_path",
|
|
39
|
+
]);
|
|
34
40
|
|
|
35
41
|
/**
|
|
36
42
|
* Build an `advanceTurn(params)` function the waker invokes on a wake's spawn (→
|
|
@@ -46,7 +52,7 @@ export const TURN_INTERRUPT_REASONS = new Set(["user", "crash", "shutdown"]);
|
|
|
46
52
|
* logger?: { info(m:string):void, warn(m:string):void, error(m:string):void },
|
|
47
53
|
* fetchImpl?: typeof fetch, Injectable for tests.
|
|
48
54
|
* }} opts
|
|
49
|
-
* @returns {(params: { sessionId: string, status: "running"|"ended"|"interrupted", entityType?: string|null, entityUuid?: string|null, interruptedReason?: "user"|"crash"|"shutdown"|null, transcriptRelayError?: string|null, usage?: import("./upload-hooks.mjs").TokenUsage|null }) => Promise<void>}
|
|
55
|
+
* @returns {(params: { sessionId: string, status: "running"|"ended"|"interrupted", entityType?: string|null, entityUuid?: string|null, interruptedReason?: "user"|"crash"|"shutdown"|"invalid_path"|null, transcriptRelayError?: string|null, usage?: import("./upload-hooks.mjs").TokenUsage|null }) => Promise<void>}
|
|
50
56
|
*/
|
|
51
57
|
export function createTurnReporter(opts) {
|
|
52
58
|
const logger = opts.logger ?? NOOP_LOGGER;
|
|
@@ -69,6 +75,7 @@ export function createTurnReporter(opts) {
|
|
|
69
75
|
interruptedReason,
|
|
70
76
|
transcriptRelayError,
|
|
71
77
|
usage,
|
|
78
|
+
backendSessionId,
|
|
72
79
|
}) {
|
|
73
80
|
if (typeof sessionId !== "string" || !sessionId || !TURN_STATUSES.has(status)) {
|
|
74
81
|
logger.warn(
|
|
@@ -103,6 +110,7 @@ export function createTurnReporter(opts) {
|
|
|
103
110
|
// Per-turn token usage (daemon-token-usage): the client spreads it into the body
|
|
104
111
|
// only on a terminal edge. No validation here — usage is an opaque nested object.
|
|
105
112
|
usage,
|
|
113
|
+
backendSessionId,
|
|
106
114
|
});
|
|
107
115
|
};
|
|
108
116
|
}
|
package/cli/waker.mjs
CHANGED
|
@@ -30,6 +30,7 @@ export class Waker {
|
|
|
30
30
|
* lineage: { resolve: (event: any) => Promise<{ rootIdeaUuid: string|null, directIdeaUuid: string|null }> },
|
|
31
31
|
* spawner: { wake: (params: any) => Promise<{ sessionId: string, exitCode: number|null, isNew: boolean }> },
|
|
32
32
|
* cwd?: string, The connection/session-bound working directory this Waker serves; resolveCwd() is the single source the probe + spawn + resume use. `undefined` ⇒ the process default cwd (HARD-1 / single-path).
|
|
33
|
+
* validateRuntimeCwd?: (cwd: string) => Promise<{normalizedPath?: string}>,
|
|
33
34
|
* hooks?: import("./upload-hooks.mjs").UploadHooks,
|
|
34
35
|
* logger?: { info(m:string):void, warn(m:string):void, error(m:string):void },
|
|
35
36
|
* writeMcpConfigFn?: typeof writeMcpConfig,
|
|
@@ -38,7 +39,7 @@ export class Waker {
|
|
|
38
39
|
* Injectable interrupt reporter (子3). Called when a wake's subprocess exits in
|
|
39
40
|
* an interrupted (user) or crashed (non-zero, no interrupt flag) state. Defaults
|
|
40
41
|
* to a no-op that logs — the daemon wires the REST reporter (interrupt-reporter.mjs).
|
|
41
|
-
* advanceTurn?: (params: { sessionId: string, status: "running"|"ended"|"interrupted", entityType?: string|null, entityUuid?: string|null, interruptedReason?: "user"|"crash"|"shutdown", transcriptRelayError?: string|null, usage?: import("./upload-hooks.mjs").TokenUsage|null }) => Promise<void>,
|
|
42
|
+
* advanceTurn?: (params: { sessionId: string, backendSessionId?: string|null, status: "running"|"ended"|"interrupted", entityType?: string|null, entityUuid?: string|null, interruptedReason?: "user"|"crash"|"shutdown", transcriptRelayError?: string|null, usage?: import("./upload-hooks.mjs").TokenUsage|null }) => Promise<void>,
|
|
42
43
|
* Injectable turn-lifecycle reporter (子1 — daemon-session-conversation). Called
|
|
43
44
|
* on spawn (→ running) and on subprocess exit (→ ended on a clean exit, or
|
|
44
45
|
* → interrupted with the classified reason otherwise) to advance the server-side
|
|
@@ -67,6 +68,7 @@ export class Waker {
|
|
|
67
68
|
// so resolveCwd() is the SINGLE place the process-default fallback is applied
|
|
68
69
|
// (Module Contract 1 — one cwd source of truth, no scattered process.cwd()).
|
|
69
70
|
this.cwd = opts.cwd;
|
|
71
|
+
this.validateRuntimeCwd = opts.validateRuntimeCwd;
|
|
70
72
|
this.hooks = opts.hooks;
|
|
71
73
|
this.logger = opts.logger ?? NOOP_LOGGER;
|
|
72
74
|
this.writeMcpConfigFn = opts.writeMcpConfigFn ?? writeMcpConfig;
|
|
@@ -145,8 +147,8 @@ export class Waker {
|
|
|
145
147
|
* wake path reads `process.cwd()`.
|
|
146
148
|
* @returns {string}
|
|
147
149
|
*/
|
|
148
|
-
resolveCwd() {
|
|
149
|
-
return this.cwd ?? process.cwd();
|
|
150
|
+
resolveCwd(runtimeCwd) {
|
|
151
|
+
return runtimeCwd ?? this.cwd ?? process.cwd();
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
/**
|
|
@@ -340,6 +342,11 @@ export class Waker {
|
|
|
340
342
|
// duration. `Date.now()` is fine here (runtime metric, not a resume seed).
|
|
341
343
|
const startMs = Date.now();
|
|
342
344
|
const target = entity ? `${entity.entityType}:${entity.entityUuid}` : key;
|
|
345
|
+
const sessionId = directIdeaUuid ?? notification.entityUuid ?? null;
|
|
346
|
+
const requestedRuntimeCwd =
|
|
347
|
+
typeof notification?.runtimeCwd === "string" && notification.runtimeCwd
|
|
348
|
+
? notification.runtimeCwd
|
|
349
|
+
: null;
|
|
343
350
|
try {
|
|
344
351
|
const prompt = buildPrompt(notification);
|
|
345
352
|
if (!prompt) {
|
|
@@ -377,12 +384,21 @@ export class Waker {
|
|
|
377
384
|
// Decide new-vs-resume by probing the on-disk transcript in the SAME cwd we
|
|
378
385
|
// spawn in. The spawner re-validates the id is a lowercase UUID before
|
|
379
386
|
// spawning, so a garbage id surfaces visibly rather than misanchoring.
|
|
380
|
-
const sessionId = directIdeaUuid ?? notification.entityUuid ?? null;
|
|
381
387
|
// Resolve the connection/session-bound cwd ONCE for this wake (Module Contract
|
|
382
388
|
// 1). The transcript probe and the spawn below BOTH use this same value, so a
|
|
383
389
|
// session's repeated wakes/probes always land the same cwd (NFR-3) — and a
|
|
384
390
|
// multi-path daemon's other Wakers (other cwds) never bleed in.
|
|
385
|
-
|
|
391
|
+
let cwd = this.resolveCwd(requestedRuntimeCwd);
|
|
392
|
+
if (requestedRuntimeCwd) {
|
|
393
|
+
if (!this.validateRuntimeCwd) {
|
|
394
|
+
throw new Error("Directed runtime cwd cannot be validated by this daemon");
|
|
395
|
+
}
|
|
396
|
+
const validation = await this.validateRuntimeCwd(requestedRuntimeCwd);
|
|
397
|
+
if (!validation?.normalizedPath) {
|
|
398
|
+
throw new Error("Directed runtime cwd validation returned no normalized path");
|
|
399
|
+
}
|
|
400
|
+
cwd = validation.normalizedPath;
|
|
401
|
+
}
|
|
386
402
|
const isNew = sessionId ? this.isNewSessionFn(sessionId, cwd) : true;
|
|
387
403
|
|
|
388
404
|
// Spawners declare whether the shared transcript probe is authoritative
|
|
@@ -524,10 +540,10 @@ export class Waker {
|
|
|
524
540
|
// A clean exit with a KNOWN relay drop is the exact #444 signature: the reply
|
|
525
541
|
// ran but its transcript never landed. Annotate the (still-clean) `ended` turn.
|
|
526
542
|
// `turnUsage` rides the same terminal advance (daemon-token-usage).
|
|
527
|
-
await this.#advanceTurn(sessionId, "ended", entity, null, transcriptRelayError, turnUsage);
|
|
543
|
+
await this.#advanceTurn(sessionId, "ended", entity, null, transcriptRelayError, turnUsage, result?.backendSessionId);
|
|
528
544
|
} else {
|
|
529
545
|
const reason = wasInterrupting ? "user" : this.shuttingDown ? "shutdown" : "crash";
|
|
530
|
-
await this.#advanceTurn(sessionId, "interrupted", entity, reason, transcriptRelayError, turnUsage);
|
|
546
|
+
await this.#advanceTurn(sessionId, "interrupted", entity, reason, transcriptRelayError, turnUsage, result?.backendSessionId);
|
|
531
547
|
}
|
|
532
548
|
}
|
|
533
549
|
|
|
@@ -566,6 +582,16 @@ export class Waker {
|
|
|
566
582
|
}
|
|
567
583
|
} catch (err) {
|
|
568
584
|
this.logger.warn(`[Chorus] wake failed for ${key}: ${err}`);
|
|
585
|
+
if (sessionId && requestedRuntimeCwd && typeof err?.code === "string") {
|
|
586
|
+
await this.#advanceTurn(sessionId, "running", entity);
|
|
587
|
+
await this.#advanceTurn(
|
|
588
|
+
sessionId,
|
|
589
|
+
"interrupted",
|
|
590
|
+
entity,
|
|
591
|
+
"invalid_path",
|
|
592
|
+
`${err.code}: ${err.message ?? "Runtime cwd validation failed"}`,
|
|
593
|
+
);
|
|
594
|
+
}
|
|
569
595
|
} finally {
|
|
570
596
|
// Wake finished (cleanly or not): the resource leaves the active set. Drop
|
|
571
597
|
// it and emit a fresh snapshot so the server ends its running/queued row.
|
|
@@ -622,7 +648,7 @@ export class Waker {
|
|
|
622
648
|
* @param {import("./upload-hooks.mjs").TokenUsage|null} [usage] Per-turn token usage
|
|
623
649
|
* (daemon-token-usage); forwarded only on a terminal edge, mirroring transcriptRelayError.
|
|
624
650
|
*/
|
|
625
|
-
async #advanceTurn(sessionId, status, entity, interruptedReason = null, transcriptRelayError = null, usage = null) {
|
|
651
|
+
async #advanceTurn(sessionId, status, entity, interruptedReason = null, transcriptRelayError = null, usage = null, backendSessionId = null) {
|
|
626
652
|
try {
|
|
627
653
|
await this.advanceTurn({
|
|
628
654
|
sessionId,
|
|
@@ -632,6 +658,7 @@ export class Waker {
|
|
|
632
658
|
...(status === "interrupted" && interruptedReason ? { interruptedReason } : {}),
|
|
633
659
|
...(transcriptRelayError ? { transcriptRelayError } : {}),
|
|
634
660
|
...(usage ? { usage } : {}),
|
|
661
|
+
...(backendSessionId ? { backendSessionId } : {}),
|
|
635
662
|
});
|
|
636
663
|
} catch (err) {
|
|
637
664
|
this.logger.warn(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chorus-aidlc/chorus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "The Agent Harness for AI-Human Collaboration — session lifecycle, task state, sub-agent orchestration, observability, and failure recovery",
|
|
5
5
|
"homepage": "https://github.com/Chorus-AIDLC/Chorus",
|
|
6
6
|
"repository": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "DaemonSession" ADD COLUMN "backendSessionId" TEXT;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
CREATE TABLE "ProjectAgentCwdPreference" (
|
|
2
|
+
"id" SERIAL NOT NULL,
|
|
3
|
+
"uuid" TEXT NOT NULL,
|
|
4
|
+
"companyUuid" TEXT NOT NULL,
|
|
5
|
+
"userUuid" TEXT NOT NULL,
|
|
6
|
+
"projectUuid" TEXT NOT NULL,
|
|
7
|
+
"agentUuid" TEXT NOT NULL,
|
|
8
|
+
"host" TEXT NOT NULL,
|
|
9
|
+
"cwd" TEXT NOT NULL,
|
|
10
|
+
"anchorAgentInstanceUuid" TEXT,
|
|
11
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
12
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
13
|
+
CONSTRAINT "ProjectAgentCwdPreference_pkey" PRIMARY KEY ("id")
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE TABLE "DaemonDirectoryRequest" (
|
|
17
|
+
"id" SERIAL NOT NULL,
|
|
18
|
+
"uuid" TEXT NOT NULL,
|
|
19
|
+
"companyUuid" TEXT NOT NULL,
|
|
20
|
+
"callerUserUuid" TEXT NOT NULL,
|
|
21
|
+
"agentUuid" TEXT NOT NULL,
|
|
22
|
+
"targetConnectionUuid" TEXT NOT NULL,
|
|
23
|
+
"operation" TEXT NOT NULL,
|
|
24
|
+
"prefix" TEXT,
|
|
25
|
+
"cwd" TEXT,
|
|
26
|
+
"cursor" TEXT,
|
|
27
|
+
"limit" INTEGER NOT NULL,
|
|
28
|
+
"status" TEXT NOT NULL DEFAULT 'pending',
|
|
29
|
+
"result" JSONB,
|
|
30
|
+
"errorCode" TEXT,
|
|
31
|
+
"deadlineAt" TIMESTAMP(3) NOT NULL,
|
|
32
|
+
"completedAt" TIMESTAMP(3),
|
|
33
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
34
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
35
|
+
CONSTRAINT "DaemonDirectoryRequest_pkey" PRIMARY KEY ("id")
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE UNIQUE INDEX "ProjectAgentCwdPreference_uuid_key" ON "ProjectAgentCwdPreference"("uuid");
|
|
39
|
+
CREATE UNIQUE INDEX "ProjectAgentCwdPreference_userUuid_projectUuid_agentUuid_key" ON "ProjectAgentCwdPreference"("userUuid", "projectUuid", "agentUuid");
|
|
40
|
+
CREATE INDEX "ProjectAgentCwdPreference_companyUuid_projectUuid_idx" ON "ProjectAgentCwdPreference"("companyUuid", "projectUuid");
|
|
41
|
+
CREATE INDEX "ProjectAgentCwdPreference_projectUuid_idx" ON "ProjectAgentCwdPreference"("projectUuid");
|
|
42
|
+
CREATE INDEX "ProjectAgentCwdPreference_agentUuid_idx" ON "ProjectAgentCwdPreference"("agentUuid");
|
|
43
|
+
CREATE INDEX "ProjectAgentCwdPreference_anchorAgentInstanceUuid_idx" ON "ProjectAgentCwdPreference"("anchorAgentInstanceUuid");
|
|
44
|
+
CREATE UNIQUE INDEX "DaemonDirectoryRequest_uuid_key" ON "DaemonDirectoryRequest"("uuid");
|
|
45
|
+
CREATE INDEX "DaemonDirectoryRequest_companyUuid_callerUserUuid_createdAt_idx" ON "DaemonDirectoryRequest"("companyUuid", "callerUserUuid", "createdAt");
|
|
46
|
+
CREATE INDEX "DaemonDirectoryRequest_callerUserUuid_idx" ON "DaemonDirectoryRequest"("callerUserUuid");
|
|
47
|
+
CREATE INDEX "DaemonDirectoryRequest_agentUuid_idx" ON "DaemonDirectoryRequest"("agentUuid");
|
|
48
|
+
CREATE INDEX "DaemonDirectoryRequest_targetConnectionUuid_status_idx" ON "DaemonDirectoryRequest"("targetConnectionUuid", "status");
|
|
49
|
+
CREATE INDEX "DaemonDirectoryRequest_deadlineAt_idx" ON "DaemonDirectoryRequest"("deadlineAt");
|
|
50
|
+
ALTER TABLE "DaemonSession" ADD COLUMN "runtimeCwd" TEXT;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
ALTER TABLE "Idea" ADD COLUMN "cwdSource" TEXT;
|
|
2
|
+
ALTER TABLE "Idea" ADD COLUMN "cwdHost" TEXT;
|
|
3
|
+
ALTER TABLE "Idea" ADD COLUMN "runtimeCwd" TEXT;
|
|
4
|
+
|
|
5
|
+
ALTER TABLE "Task" ADD COLUMN "cwdSource" TEXT;
|
|
6
|
+
ALTER TABLE "Task" ADD COLUMN "cwdHost" TEXT;
|
|
7
|
+
ALTER TABLE "Task" ADD COLUMN "runtimeCwd" TEXT;
|