@chorus-aidlc/chorus 0.16.4 → 0.17.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 +420 -420
- package/.next/standalone/.next/app-path-routes-manifest.json +53 -53
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +45 -45
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_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_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_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_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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +2 -2
- package/.next/standalone/.next/server/app/index.rsc +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +2 -2
- package/.next/standalone/.next/server/app/login/admin.rsc +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 +2 -2
- package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_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 +1 -1
- package/.next/standalone/.next/server/app/login.html +2 -2
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/.next/server/app-paths-manifest.json +53 -53
- package/.next/standalone/.next/server/chunks/{5205.js → 1114.js} +1 -1
- package/.next/standalone/.next/server/chunks/1318.js +1 -1
- package/.next/standalone/.next/server/chunks/1437.js +1 -0
- package/.next/standalone/.next/server/chunks/1559.js +2 -2
- package/.next/standalone/.next/server/chunks/2572.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/{9793.js → 3045.js} +1 -1
- package/.next/standalone/.next/server/chunks/3831.js +37 -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/{4394.js → 5706.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/6515.js +2 -2
- package/.next/standalone/.next/server/chunks/679.js +1 -1
- 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/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9213.js +1 -1
- package/.next/standalone/.next/server/chunks/9378.js +1 -1
- package/.next/standalone/.next/server/chunks/9449.js +1 -0
- package/.next/standalone/.next/server/chunks/9458.js +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{11595.a6268c75ca8a2163.js → 11595.bbe40924d18958bf.js} +1 -1
- package/.next/standalone/.next/static/chunks/18139-e6ef4b5869593f8e.js +1 -0
- package/.next/standalone/.next/static/chunks/28856-ef2cb58fbd404ef9.js +1 -0
- package/.next/standalone/.next/static/chunks/{31308-fda6febfb2882a28.js → 31308-bb4a97b3f39c22dd.js} +1 -1
- package/.next/standalone/.next/static/chunks/{33456.16ff7edf00137539.js → 33456.5499eb8e892b110a.js} +1 -1
- package/.next/standalone/.next/static/chunks/{4860.9e06848eb531e667.js → 4860.be77046fb2b3a2bd.js} +1 -1
- package/.next/standalone/.next/static/chunks/66873-e3be53f41b3f2255.js +1 -0
- package/.next/standalone/.next/static/chunks/70303-aec3d52ad87602a3.js +1 -0
- package/.next/standalone/.next/static/chunks/76201-83b26515f85ce37c.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-a8a8dff98857c045.js +1 -0
- package/.next/standalone/.next/static/chunks/97663-9c3ae4fd60b353db.js +1 -0
- package/.next/standalone/.next/static/chunks/{99373.81b79c91858f9099.js → 99373.111493dc260a2a04.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-b742c51c0a764daf.js → layout-40fe7d026c5a7c6d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-87d4d0fe90fca28c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-1206abaee85dc915.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-425acbe9ade5fa83.js → page-474e494097c8945f.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-e902b19328092ccf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f273288c3530aa0f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-6568a7b08bf9a54b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-fbd3c27b68666234.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-58b48aa0a11603c3.js → page-15bb6e1696668512.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-286faced32c6133f.js → page-2bea97214b1595cc.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2bf7ceee62b574c7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/{page-5c82cf3abd856301.js → page-540da64d7ba16dc7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{webpack-4d1cc14b13e247b6.js → webpack-7cbb3ba6792f1fb3.js} +1 -1
- 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/bin/chorus-api.sh +44 -1
- package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +4 -3
- package/.next/standalone/public/chorus-plugin/bin/tests/test-mcp-cli-delegation.sh +244 -0
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +19 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +57 -0
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +85 -42
- package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +2 -2
- 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 +3 -3
- package/.next/standalone/public/dsh-credentials.sh +20 -127
- package/.next/standalone/public/install-codex.sh +21 -406
- package/.next/standalone/public/install-kiro.sh +20 -344
- package/.next/standalone/public/install-opencode.sh +20 -275
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +57 -0
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +2 -2
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +85 -42
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +2 -2
- 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 +3 -3
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +44 -1
- package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +6 -4
- package/.next/standalone/public/kiro-plugin/manifest.txt +41 -0
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +19 -1
- package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/docs-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +1 -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 +1 -1
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
- package/.next/standalone/public/test-dsh-credentials.sh +22 -38
- package/.next/standalone/public/test-install-codex.sh +31 -79
- package/README.ja.md +2 -2
- package/README.ko.md +2 -2
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/chorus.mjs +35 -1
- package/cli/agent-backend-prompt.mjs +3 -2
- package/cli/agents.mjs +329 -0
- package/cli/chorus-client.mjs +69 -0
- package/cli/claude-spawner.mjs +4 -0
- package/cli/codex-spawner.mjs +11 -6
- package/cli/credentials.mjs +185 -3
- package/cli/daemon-agent.mjs +26 -2
- package/cli/daemon-config.mjs +27 -2
- package/cli/daemon-service.mjs +120 -33
- package/cli/daemon.mjs +128 -22
- package/cli/dsh-spawner.mjs +7 -0
- package/cli/init/adapters.mjs +137 -0
- package/cli/init/agent-type-map.mjs +60 -0
- package/cli/init/chorus-plugin-consts.mjs +16 -0
- package/cli/init/codex-mcp-config.mjs +183 -0
- package/cli/init/contracts.mjs +120 -0
- package/cli/init/detect.mjs +97 -0
- package/cli/init/file-template.mjs +248 -0
- package/cli/init/install-methods.mjs +508 -0
- package/cli/init/registry.mjs +74 -0
- package/cli/init/run-command.mjs +30 -0
- package/cli/init/select.mjs +111 -0
- package/cli/init/steps/credential-seed.mjs +751 -0
- package/cli/init/steps/daemon-setup.mjs +246 -0
- package/cli/init/steps/plugin-install.mjs +37 -0
- package/cli/init-args.mjs +137 -0
- package/cli/init.mjs +198 -0
- package/cli/kiro-spawner.mjs +4 -0
- package/cli/mcp-args.mjs +280 -0
- package/cli/mcp.mjs +164 -0
- package/cli/spawner-select.mjs +45 -2
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/3594.js +0 -1
- package/.next/standalone/.next/server/chunks/5351.js +0 -33
- package/.next/standalone/.next/server/chunks/6667.js +0 -1
- package/.next/standalone/.next/server/chunks/6995.js +0 -1
- package/.next/standalone/.next/static/chunks/19887-b805e1dcee8c367b.js +0 -1
- package/.next/standalone/.next/static/chunks/29108-5a11eea003f4cc11.js +0 -1
- package/.next/standalone/.next/static/chunks/53073-a7ed20af6538a178.js +0 -1
- package/.next/standalone/.next/static/chunks/6603-e70ddeab6ad09c50.js +0 -1
- package/.next/standalone/.next/static/chunks/78917-1b59cbb806b3ecfc.js +0 -1
- package/.next/standalone/.next/static/chunks/82751-3e161e1d8dbda3ac.js +0 -1
- package/.next/standalone/.next/static/chunks/99366-425e9ef22e60e3e2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-f636e00c28f425ea.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c004f1a194af7fa5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-fdd617457730a116.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-b9eb4e0692996657.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-d5b222f379b2e8ca.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0a6c2d0e1b68e0e4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-1507a761e67c2aa9.js +0 -1
- /package/.next/standalone/.next/static/{6sHDgeKioa0SJR1MAbcYG → 0spgxl3lP26Fl1otd1D7R}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{6sHDgeKioa0SJR1MAbcYG → 0spgxl3lP26Fl1otd1D7R}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[87674],{},_=>{_.O(0,[41282,87326,93151,41752,30996,57084,59764,8893,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,29305,31308,56527,27370,94643,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[87674],{},_=>{_.O(0,[41282,87326,93151,41752,30996,57084,59764,8893,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,29305,31308,56527,27370,94643,28856,66873,76201,78917,74951,65496,77358],()=>_(_.s=78917)),_N_E=_.O()}]);
|
package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2bf7ceee62b574c7.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51670],{12210:(e,t,a)=>{"use strict";a.d(t,{d:()=>i});var s=a(90508);a(1856);var r=a(60322),n=a(24377);function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"switch",className:(0,n.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(r.Thumb,{"data-slot":"switch-thumb",className:(0,n.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,type:a,...n}=e;return(0,s.jsx)("input",{type:a,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},15972:(e,t,a)=>{"use strict";a.d(t,{T:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,...a}=e;return(0,s.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...a})}},22922:(e,t,a)=>{"use strict";a.d(t,{$:()=>o});var s=a(90508);a(1856);var r=a(49499),n=a(54154),i=a(24377);let l=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:a="default",size:r="default",asChild:o=!1,...d}=e,c=o?n.bL:"button";return(0,s.jsx)(c,{"data-slot":"button","data-variant":a,"data-size":r,className:(0,i.cn)(l({variant:a,size:r,className:t})),...d})}},24377:(e,t,a)=>{"use strict";a.d(t,{cn:()=>n});var s=a(49251),r=a(58849);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,r.QP)((0,s.$)(t))}},38106:(e,t,a)=>{"use strict";function s(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let a=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return"".concat(a,"-").concat(s,"-").concat(r," ").concat(n,":").concat(i)}function r(e,t){let a="string"==typeof e?new Date(e):e;return isNaN(a.getTime())?"":a.toLocaleDateString(t,{month:"short",day:"numeric"})}a.d(t,{r:()=>s,s:()=>r})},48416:(e,t,a)=>{"use strict";a.d(t,{BT:()=>o,Wu:()=>d,ZB:()=>l,Zp:()=>n,aR:()=>i});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-muted-foreground text-sm",t),...a})}function d(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",t),...a})}},51817:(e,t,a)=>{"use strict";a.d(t,{$v:()=>x,EO:()=>u,Lt:()=>l,Rx:()=>p,Zr:()=>h,ck:()=>g,r7:()=>f,tv:()=>o,wd:()=>m});var s=a(90508);a(1856);var r=a(90299),n=a(24377),i=a(22922);function l(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"alert-dialog",...t})}function o(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(r.Portal,{"data-slot":"alert-dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(r.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,n.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,size:a="default",...i}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.Content,{"data-slot":"alert-dialog-content","data-size":a,className:(0,n.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...i})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,n.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...a})}function g(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(r.Title,{"data-slot":"alert-dialog-title",className:(0,n.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...a})}function x(e){let{className:t,...a}=e;return(0,s.jsx)(r.Description,{"data-slot":"alert-dialog-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function p(e){let{className:t,variant:a="default",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Action,{"data-slot":"alert-dialog-action",className:(0,n.cn)(t),...o})})}function h(e){let{className:t,variant:a="outline",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,n.cn)(t),...o})})}},57731:(e,t,a)=>{"use strict";a.d(t,{E:()=>o});var s=a(90508);a(1856);var r=a(49499),n=a(54154),i=a(24377);let l=(0,r.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:a="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":a,className:(0,i.cn)(l({variant:a}),t),...o})}},67712:(e,t,a)=>{"use strict";a.d(t,{q:()=>l});var s=a(55036);let r={debug:0,info:1,warn:2,error:3},n=s.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function i(e){return r[e]>=r[n]}let l={debug:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];i("debug")&&console.debug("[Chorus] ".concat(e),...a)},info:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];i("info")&&console.info("[Chorus] ".concat(e),...a)},warn:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];i("warn")&&console.warn("[Chorus] ".concat(e),...a)},error:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];i("error")&&console.error("[Chorus] ".concat(e),...a)}}},73693:(e,t,a)=>{"use strict";a.d(t,{BK:()=>l,eu:()=>i,q5:()=>o});var s=a(90508);a(1856);var r=a(65514),n=a(24377);function i(e){let{className:t,size:a="default",...i}=e;return(0,s.jsx)(r.Root,{"data-slot":"avatar","data-size":a,className:(0,n.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...i})}function l(e){let{className:t,...a}=e;return(0,s.jsx)(r.Image,{"data-slot":"avatar-image",className:(0,n.cn)("aspect-square size-full",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(r.Fallback,{"data-slot":"avatar-fallback",className:(0,n.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...a})}},81750:(e,t,a)=>{"use strict";a.d(t,{Ke:()=>o,Nt:()=>i,R6:()=>l});var s=a(90508),r=a(38476),n=a(24377);function i(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"collapsible",...t})}function l(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"collapsible-trigger",...t})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(r.Content,{"data-slot":"collapsible-content",className:(0,n.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",t),...a})}},82758:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>V});var s=a(90508),r=a(1856),n=a(39268),i=a(22922),l=a(51817),o=a(81149),d=a(84052),c=a(5616),u=a(85619),m=a(57893),g=a(17730),f=a(78948),x=a(97645),p=a(36557),h=a(9160),v=a(12790),b=a.n(v),j=a(37750),y=a(91385),w=a(10465),N=a(75427),k=a(57731),A=a(32277),z=a(52217);let S=(0,z.createServerReference)("000924f58d7a7acf9629b54cdfb67c2c5fab8cff9f",z.callServer,void 0,z.findSourceMapURL,"getApiKeysAction"),C=(0,z.createServerReference)("4066302f0412589d2825969197e651c7b752bf2bf0",z.callServer,void 0,z.findSourceMapURL,"deleteApiKeyAction"),_=(0,z.createServerReference)("40414d2aa9502bc99379eac1cd7fdb2aea8cf42106",z.callServer,void 0,z.findSourceMapURL,"getAgentSessionsAction"),R=(0,z.createServerReference)("401aaaf752ef996275e3c9f3bcf965f789267cee23",z.callServer,void 0,z.findSourceMapURL,"closeSessionAction"),K=(0,z.createServerReference)("40f36d2f389e54fbd0c365f11ecd0a29fee308b3f9",z.callServer,void 0,z.findSourceMapURL,"reopenSessionAction"),U=(0,z.createServerReference)("40ea890e9473d25024ec0d99ca8c89f088f7206e01",z.callServer,void 0,z.findSourceMapURL,"updateAgentAction");var E=a(19964),L=a(25359),T=a(48416),I=a(12210),$=a(88064),q=a(67712);let M={taskAssigned:!0,taskStatusChanged:!0,taskVerified:!0,taskReopened:!0,proposalSubmitted:!0,proposalApproved:!0,proposalRejected:!0,ideaClaimed:!0,commentAdded:!0,elaborationRequested:!0,elaborationAnswered:!0,mentioned:!0},P=[{labelKey:"taskEvents",items:[{key:"taskAssigned",labelKey:"taskAssigned"},{key:"taskStatusChanged",labelKey:"taskStatusChanged"},{key:"taskVerified",labelKey:"taskVerified"},{key:"taskReopened",labelKey:"taskReopened"}]},{labelKey:"proposalEvents",items:[{key:"proposalSubmitted",labelKey:"proposalSubmitted"},{key:"proposalApproved",labelKey:"proposalApproved"},{key:"proposalRejected",labelKey:"proposalRejected"}]},{labelKey:"ideaEvents",items:[{key:"ideaClaimed",labelKey:"ideaClaimed"}]},{labelKey:"elaborationEvents",items:[{key:"elaborationRequested",labelKey:"elaborationRequested"},{key:"elaborationAnswered",labelKey:"elaborationAnswered"}]},{labelKey:"commentEvents",items:[{key:"commentAdded",labelKey:"commentAdded"}]},{labelKey:"mentionEvents",items:[{key:"mentioned",labelKey:"mentioned"}]}];function D(){let e=(0,n.c)("notifications.preferences"),[t,a]=(0,r.useState)(M),[i,l]=(0,r.useState)(!0),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{!async function(){try{let e=await fetch("/api/notifications/preferences");if(e.ok){let t=await e.json();if(t.success&&t.data){let{taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:u,elaborationAnswered:m,mentioned:g}=t.data;a({taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:null==u||u,elaborationAnswered:null==m||m,mentioned:null==g||g})}}}catch(e){q.q.error("Failed to fetch notification preferences:",e)}finally{l(!1)}}()},[]);let d=(0,r.useCallback)(e=>{o.current&&clearTimeout(o.current),o.current=setTimeout(async()=>{try{await fetch("/api/notifications/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(e){q.q.error("Failed to save notification preferences:",e)}},500)},[]);return i?null:(0,s.jsx)("div",{className:"space-y-6",children:P.map(r=>(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e(r.labelKey)}),(0,s.jsx)("div",{className:"space-y-3",children:r.items.map(r=>(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)($.J,{htmlFor:r.key,className:"text-sm text-muted-foreground cursor-pointer",children:e(r.labelKey)}),(0,s.jsx)(I.d,{id:r.key,checked:t[r.key],onCheckedChange:e=>((e,s)=>{let r={...t,[e]:s};a(r),d(r)})(r.key,e)})]},r.key))})]},r.labelKey))})}var F=a(38106),B=a(44775);let O=new Set(a(93810).lp);function V(){let e=(0,n.c)(),{locale:t,setLocale:a}=(0,A.Y)(),[v,z]=(0,r.useState)([]),[I,$]=(0,r.useState)(!0),[M,P]=(0,r.useState)(!1),[V,Z]=(0,r.useState)(!1),[G,W]=(0,r.useState)(null),[Y,H]=(0,r.useState)({}),[J,Q]=(0,r.useState)({}),[X,ee]=(0,r.useState)({}),[et,ea]=(0,r.useState)(!1),[es,er]=(0,r.useState)(null),[en,ei]=(0,r.useState)(""),[el,eo]=(0,r.useState)("custom"),[ed,ec]=(0,r.useState)([]),[eu,em]=(0,r.useState)(""),[eg,ef]=(0,r.useState)(!1);(0,r.useEffect)(()=>{ex()},[]);let ex=async()=>{try{let e=await S();e.success&&e.data&&z(e.data)}catch(e){q.q.error("Failed to fetch API keys:",e)}finally{$(!1)}},ep=async()=>{if(G)try{let e=await C(G);e.success?z(v.filter(e=>e.uuid!==G)):q.q.error("Failed to delete API key:",e.error)}catch(e){q.q.error("Failed to delete API key:",e)}finally{Z(!1),W(null)}},eh=async e=>{let t=Y[e];if(H(a=>({...a,[e]:!t})),!t&&!J[e]){ee(t=>({...t,[e]:!0}));let t=await _(e);t.success&&t.data&&Q(a=>({...a,[e]:t.data})),ee(t=>({...t,[e]:!1}))}},ev=async(e,t)=>{(await R(e)).success&&Q(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"closed"}:t)}))},eb=async(e,t)=>{(await K(e)).success&&Q(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"active",lastActiveAt:new Date().toISOString()}:t)}))},ej=()=>{ea(!1),er(null),ei(""),eo("custom"),ec([]),em("")},ey=async e=>{if(e.preventDefault(),!es||!en)return;let t="custom"===el?[]:[el],a="custom"===el?ed:[];ef(!0);try{let e=await U({agentUuid:es.agentUuid,name:en,roles:t,permissions:a,persona:eu||null});if(e.success){let e=Array.from(function(e,t){let a=new Set;if(e)for(let t of e){let e=t.endsWith("_agent")?t:"".concat(t,"_agent"),s=B.o[e];if(s)for(let e of s)a.add(e)}if(t)for(let e of t)O.has(e)&&a.add(e);return a}(t,a));z(s=>s.map(s=>s.agentUuid===es.agentUuid?{...s,name:en,roles:t,permissions:a,effectivePermissions:e,persona:eu||null}:s)),ej()}else q.q.error("Failed to update agent:",e.error)}catch(e){q.q.error("Failed to update agent:",e)}finally{ef(!1)}};return I?(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsx)("div",{className:"text-muted-foreground",children:e("common.loading")})}):(0,s.jsxs)("div",{className:"p-4 md:p-8",children:[(0,s.jsx)("div",{className:"mb-6 text-xs text-[#9A9A9A]",children:e("settings.breadcrumb")}),(0,s.jsxs)("div",{className:"mb-8 flex flex-wrap items-start justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e("settings.title")}),(0,s.jsx)("p",{className:"mt-1 text-[13px] text-muted-foreground",children:e("settings.subtitle")})]}),(0,s.jsx)(w.m,{variant:"inline"})]}),(0,s.jsxs)("div",{className:"mb-8 space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.language")})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.languageDesc")}),(0,s.jsx)("div",{className:"flex gap-3",children:L.IB.map(e=>(0,s.jsx)(i.$,{variant:t===e?"default":"outline",size:"sm",onClick:()=>a(e),className:"min-w-[100px]",children:L.L$[e]},e))})]}),(0,s.jsxs)(T.Zp,{className:"mb-8",children:[(0,s.jsxs)(T.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(T.ZB,{children:e("settings.setupGuide")})]}),(0,s.jsx)(T.BT,{children:e("settings.setupGuideDesc")})]}),(0,s.jsx)(T.Wu,{children:(0,s.jsx)(b(),{href:"/onboarding",children:(0,s.jsx)(i.$,{variant:"outline",children:e("settings.openSetupGuide")})})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.agents")}),(0,s.jsxs)(i.$,{onClick:()=>P(!0),children:[(0,s.jsx)(c.A,{className:"mr-2 h-4 w-4"}),e("settings.createApiKey")]})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.agentsDesc")}),0===v.length?(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-12 text-center",children:[(0,s.jsx)("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-secondary",children:(0,s.jsx)(u.A,{className:"h-6 w-6 text-muted-foreground"})}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:e("settings.noApiKeys")})]}):(0,s.jsx)("div",{className:"space-y-3",children:v.map(t=>{var a;return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-5",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[t.name?(0,s.jsx)(y.AgentAvatar,{name:t.name,size:36,className:"rounded-lg"}):(0,s.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg ".concat(t.roles.includes("developer_agent")?"bg-green-100":"bg-primary/10"),children:(0,s.jsx)(u.A,{className:"h-[18px] w-[18px] ".concat(t.roles.includes("developer_agent")?"text-green-600":"text-primary")})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:t.name||t.keyPrefix+"..."}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t.keyPrefix,"... \xb7 ",e("settings.created")," ",(0,F.r)(t.createdAt)]})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(i.$,{variant:"outline",size:"sm",onClick:()=>(e=>{var t,a;let s=(t=e.roles,a=e.permissions,1===t.length&&t[0]in B.o&&0===a.length?t[0]:"custom"),r=e.effectivePermissions;er(e),ei(e.name||""),eo(s),ec("custom"===s?r:[]),em(e.persona||""),ea(!0)})(t),children:[(0,s.jsx)(m.A,{className:"mr-1.5 h-3.5 w-3.5"}),e("settings.editAgent")]}),(0,s.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>{W(t.uuid),Z(!0)},className:"text-destructive hover:text-destructive",children:e("common.delete")})]})]}),(0,s.jsxs)("div",{className:"mt-4 border-t border-border pt-3",children:[(0,s.jsxs)("button",{onClick:()=>eh(t.agentUuid),className:"flex w-full items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[Y[t.agentUuid]?(0,s.jsx)(g.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(f.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:e("sessions.title")}),J[t.agentUuid]&&(0,s.jsx)(k.E,{variant:"secondary",className:"ml-1 h-4 px-1.5 text-[10px]",children:J[t.agentUuid].length})]}),Y[t.agentUuid]&&(0,s.jsx)("div",{className:"mt-2 space-y-2",children:X[t.agentUuid]?(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:e("common.loading")}):(null==(a=J[t.agentUuid])?void 0:a.length)?J[t.agentUuid].map(a=>(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-lg p-2.5 text-xs ".concat("closed"===a.status?"bg-muted/50 text-muted-foreground":"bg-secondary"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("div",{className:"h-2 w-2 rounded-full flex-shrink-0 ".concat("active"===a.status?"bg-green-500":"bg-gray-400")}),(0,s.jsx)("span",{className:"font-medium truncate",children:a.name}),(0,s.jsx)(k.E,{variant:"outline",className:"text-[10px] h-4 px-1 ".concat("active"===a.status?"border-green-300 text-green-700":"border-gray-300 text-gray-500"),children:e("sessions.status".concat(a.status.charAt(0).toUpperCase()+a.status.slice(1)))}),(0,s.jsx)("span",{className:"text-muted-foreground",children:e("sessions.checkins",{count:a.checkins.length})})]}),"closed"===a.status?(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-green-600 hover:text-green-700",onClick:()=>eb(a.uuid,t.agentUuid),children:e("sessions.reopen")}):(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-destructive hover:text-destructive",onClick:()=>ev(a.uuid,t.agentUuid),children:e("sessions.close")})]},a.uuid)):(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2 italic",children:e("sessions.noSessions")})})]})]},t.uuid)})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)(T.Zp,{children:[(0,s.jsxs)(T.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(p.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(T.ZB,{children:e("notifications.preferences.title")})]}),(0,s.jsx)(T.BT,{children:e("notifications.preferences.description")})]}),(0,s.jsx)(T.Wu,{children:(0,s.jsx)(D,{})})]}),M&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-2xl overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsx)(j.Y,{createAgentAndKey:E.I,onAgentCreated:()=>{ex()},onClose:()=>{P(!1)}})})}),et&&es&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-[520px] overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsxs)("form",{onSubmit:ey,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:e("settings.editAgent")}),(0,s.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",onClick:ej,className:"h-8 w-8",children:(0,s.jsx)(h.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("div",{className:"p-6",children:(0,s.jsx)(N.L,{name:en,onNameChange:ei,preset:el,permissions:ed,onPermissionsChange:e=>{eo(e.preset),ec(e.permissions)},persona:eu,onPersonaChange:em,nameInputId:"editName",personaInputId:"edit-agent-persona"})}),(0,s.jsxs)("div",{className:"flex justify-end gap-3 border-t border-border px-6 py-4",children:[(0,s.jsx)(i.$,{type:"button",variant:"outline",onClick:ej,children:e("common.cancel")}),(0,s.jsx)(i.$,{type:"submit",disabled:!en||"custom"===el&&0===ed.length||eg,children:eg?e("settings.saving"):e("settings.saveChanges")})]})]})})}),(0,s.jsx)(l.Lt,{open:V,onOpenChange:Z,children:(0,s.jsxs)(l.EO,{children:[(0,s.jsxs)(l.wd,{children:[(0,s.jsx)(l.r7,{children:e("settings.confirmDeleteTitle")}),(0,s.jsx)(l.$v,{children:e("settings.confirmDeleteDesc")})]}),(0,s.jsxs)(l.ck,{children:[(0,s.jsx)(l.Zr,{children:e("common.cancel")}),(0,s.jsx)(l.Rx,{onClick:ep,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:e("common.delete")})]})]})})]})}},87386:(e,t,a)=>{Promise.resolve().then(a.bind(a,82758))},91385:(e,t,a)=>{"use strict";a.d(t,{AgentAvatar:()=>x,Pf:()=>g});var s=a(90508),r=a(1856),n=a(5425),i=a(93832),l=a(5985),o=a(14518),d=a(73693),c=a(24377);let u=new i.O(o),m=new Map;function g(e,t){let a,s="".concat(t,"\0").concat(e),r=m.get(s);if(void 0!==r)return r;try{let s="animated"===t?{seed:e,tags:["animation"]}:{seed:e,tags:["!animation"]};a=new l.e(u,s).toDataUri()}catch(e){a=null}return m.set(s,a),a}let f={xs:20,sm:24,md:32,lg:40};function x(e){let{name:t,size:a="md",animate:i=!0,className:l}=e,[o,u]=r.useState(!1);r.useEffect(()=>{var e;if("function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)");u(t.matches);let a=e=>u(e.matches);return null==(e=t.addEventListener)||e.call(t,"change",a),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",a)}},[]);let m=i&&!o?"animated":"static",x=r.useMemo(()=>g(t,m),[t,m]),p="number"==typeof a?a:f[a],h=t.trim().charAt(0).toUpperCase();return(0,s.jsxs)(d.eu,{"data-slot":"agent-avatar","data-motion":m,className:(0,c.cn)("shrink-0 rounded-md bg-muted",l),style:{width:p,height:p},children:[x?(0,s.jsx)(d.BK,{src:x,alt:t,className:(0,c.cn)("rounded-md","origin-top scale-[1.5] -translate-y-[10%]"),draggable:!1}):null,(0,s.jsx)(d.q5,{className:"rounded-md","aria-label":t,children:h?(0,s.jsx)("span",{className:"text-[0.7em] font-medium",children:h}):(0,s.jsx)(n.A,{className:"size-1/2","aria-hidden":!0})})]})}},91846:(e,t,a)=>{"use strict";a.d(t,{bq:()=>u,eb:()=>g,gC:()=>m,l6:()=>d,yv:()=>c});var s=a(90508);a(1856);var r=a(17730),n=a(60532),i=a(89967),l=a(48218),o=a(24377);function d(e){let{...t}=e;return(0,s.jsx)(l.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,s.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:n,...i}=e;return(0,s.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":a,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...i,children:[n,(0,s.jsx)(l.Icon,{asChild:!0,children:(0,s.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:a,position:r="item-aligned",align:n="center",...i}=e;return(0,s.jsx)(l.Portal,{children:(0,s.jsxs)(l.Content,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,align:n,...i,children:[(0,s.jsx)(f,{}),(0,s.jsx)(l.Viewport,{className:(0,o.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,s.jsx)(x,{})]})})}function g(e){let{className:t,children:a,...r}=e;return(0,s.jsxs)(l.Item,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...r,children:[(0,s.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,s.jsx)(l.ItemIndicator,{children:(0,s.jsx)(n.A,{className:"size-4"})})}),(0,s.jsx)(l.ItemText,{children:a})]})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,s.jsx)(i.A,{className:"size-4"})})}function x(e){let{className:t,...a}=e;return(0,s.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,s.jsx)(r.A,{className:"size-4"})})}},97261:(e,t,a)=>{"use strict";a.d(t,{MarkdownContent:()=>u});var s=a(90508),r=a(1856),n=a(65700),i=a(19169),l=a(26190);let o=i.a,d=(0,i.V)({themes:["github-dark","github-dark"]});i.a,l.a;let c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function u(e){let{children:t,components:a,allowedTags:i,literalTagContent:u}=e,m=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=document.documentElement,a=()=>t(e.classList.contains("dark"));a();let s=new MutationObserver(a);return s.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>s.disconnect()},[]),e}(),g=(0,r.useMemo)(()=>({config:{theme:m?"dark":"default"}}),[m]),f=(0,r.useMemo)(()=>({code:m?d:o,mermaid:l.a}),[m]);return(0,s.jsx)(n.jH,{plugins:f,controls:c,mermaid:g,components:a,allowedTags:i,literalTagContent:u,children:t},m?"dark":"light")}}},e=>{e.O(0,[87326,93151,41752,12079,18944,12790,26885,21932,20204,30724,94170,27201,16551,97784,14753,45532,70552,17099,15183,78155,97663,74951,65496,77358],()=>e(e.s=87386)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69566],{13533:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>q});var n=s(90508),a=s(1856),i=s(91814),l=s(39268),r=s(22922),c=s(67103),o=s(10465),d=s(60532);let x=["welcome","createAgent","copyKey","installGuide","testConnection","completion"];function m(e){let{currentStep:t,totalSteps:s}=e,a=(0,l.c)("onboarding");return(0,n.jsx)("div",{className:"flex items-start",children:Array.from({length:s},(e,i)=>{let l=i<t,r=i===t;return(0,n.jsxs)("div",{className:"flex flex-col items-center",style:{minWidth:56},children:[(0,n.jsxs)("div",{className:"flex w-full items-center",children:[(0,n.jsx)("div",{className:"h-px flex-1 ".concat(0===i?"bg-transparent":l?"bg-primary":"bg-border")}),(0,n.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-xs font-medium transition-colors ".concat(l?"bg-primary text-primary-foreground":r?"border-2 border-primary bg-background text-primary":"border border-border bg-background text-muted-foreground"),children:l?(0,n.jsx)(d.A,{className:"h-4 w-4"}):i+1}),(0,n.jsx)("div",{className:"h-px flex-1 ".concat(i===s-1?"bg-transparent":i<t?"bg-primary":"bg-border")})]}),(0,n.jsx)("span",{className:"mt-1.5 hidden text-[10px] sm:block ".concat(r?"font-medium text-foreground":"text-muted-foreground"),children:a("steps.".concat(x[i]))})]},i)})})}var u=s(48416),f=s(29767),p=s(56770),g=s(23217),h=s(62482),j=s(21104),N=s(24705),y=s(62898),w=s(16544),b=s(65626);let v=[{icon:f.A,key:"idea"},{icon:p.A,key:"proposal"},{icon:g.A,key:"task"},{icon:h.A,key:"execute"},{icon:j.A,key:"verify"},{icon:N.A,key:"done"}];function k(e){let{onNext:t}=e,s=(0,l.c)("onboarding");return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,n.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-16 w-16"}),(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:s("welcome.title")}),(0,n.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:s("welcome.description")})]}),(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"p-6",children:[(0,n.jsx)("p",{className:"mb-4 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground",children:s("welcome.pipelineTitle")}),(0,n.jsx)(w.P.div,{variants:b.bK,initial:"initial",animate:"animate",className:"flex flex-wrap items-center justify-center gap-2",children:v.map((e,t)=>{let a=e.icon;return(0,n.jsxs)(w.P.div,{variants:b.Rf,className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-secondary",children:(0,n.jsx)(a,{className:"h-5 w-5 text-primary"})}),(0,n.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground",children:s("welcome.pipeline.".concat(e.key))})]}),t<v.length-1&&(0,n.jsx)(y.A,{className:"h-3 w-3 text-muted-foreground"})]},e.key)})})]})}),(0,n.jsx)(r.$,{size:"lg",onClick:t,className:"w-full max-w-xs",children:s("welcome.getStarted")})]})}var C=s(37750),A=s(38700);function E(e){let{onNext:t,onAgentCreated:s}=e,a=(0,l.c)("onboarding.createAgent");return(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-2xl flex-col items-center gap-6",children:(0,n.jsxs)(u.Zp,{className:"w-full",children:[(0,n.jsxs)(u.aR,{className:"text-center",children:[(0,n.jsx)(u.ZB,{children:a("title")}),(0,n.jsx)(u.BT,{children:a("description")})]}),(0,n.jsx)(u.Wu,{children:(0,n.jsx)(C.Y,{embedded:!0,createAgentAndKey:A.I,submitLabel:a("submit"),submittingLabel:a("creating"),onAgentCreated:(e,n)=>{s(e,n),t()}})})]})})}var P=s(25373),S=s(17475),_=s(67712);function K(e){let{onNext:t,apiKey:s}=e,i=(0,l.c)("onboarding"),[c,o]=(0,a.useState)(!1),x=(0,a.useCallback)(e=>{e.preventDefault()},[]);(0,a.useEffect)(()=>(window.addEventListener("beforeunload",x),()=>{window.removeEventListener("beforeunload",x)}),[x]);let m=async()=>{if(s)try{await navigator.clipboard.writeText(s),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){_.q.error("Failed to copy to clipboard:",e)}};return(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:(0,n.jsxs)(u.Zp,{className:"w-full",children:[(0,n.jsxs)(u.aR,{className:"text-center",children:[(0,n.jsx)(u.ZB,{children:i("copyKey.title")}),(0,n.jsx)(u.BT,{children:i("copyKey.description")})]}),(0,n.jsxs)(u.Wu,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("code",{className:"flex-1 overflow-x-auto rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:null!=s?s:""}),(0,n.jsx)(r.$,{variant:"outline",size:"sm",onClick:m,className:"flex-shrink-0",children:c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"mr-1 h-4 w-4 text-green-500"}),i("copyKey.copied")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.A,{className:"mr-1 h-4 w-4"}),i("copyKey.copy")]})})]}),(0,n.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-yellow-300 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-950",children:[(0,n.jsx)(S.A,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-yellow-600 dark:text-yellow-400"}),(0,n.jsx)("p",{className:"text-sm font-medium text-yellow-700 dark:text-yellow-300",children:i("copyKey.warning")})]}),(0,n.jsx)(r.$,{onClick:t,className:"w-full",children:i("next")})]})]})})}var O=s(83792);function $(e){let{apiKey:t,onNext:s,onBack:a}=e,i=(0,l.c)("onboarding");return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-2xl flex-col items-center gap-6",children:[(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:i("steps.installGuide")}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:i("install.description")})]}),(0,n.jsx)(O.Z,{apiKey:t}),(0,n.jsxs)("div",{className:"flex gap-2",children:[a&&(0,n.jsx)(r.$,{variant:"outline",onClick:a,children:i("back")}),(0,n.jsx)(r.$,{onClick:s,children:i("next")})]})]})}var Z=s(85226),z=s(42533),B=s(91385),T=s(50006);function W(e){let{onNext:t,onBack:s,agentUuid:i,agentName:c,onConnectionVerified:o}=e,d=(0,l.c)("onboarding"),[x,m]=(0,a.useState)("waiting"),f=(0,a.useRef)(null),p=(0,a.useCallback)(()=>{f.current&&(f.current.close(),f.current=null)},[]),g=(0,a.useCallback)(()=>{p(),m("waiting");let e=new EventSource("/api/events/notifications");f.current=e,e.onmessage=e=>{try{let t=JSON.parse(e.data);"new_notification"===t.type&&"agent_checkin"===t.action&&t.entityUuid===i&&(m("connected"),p(),o())}catch(e){}},e.onerror=()=>{}},[i,p,o]);return(0,a.useEffect)(()=>(g(),p),[g,p]),(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"flex flex-col items-center gap-6 p-8",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:d("testConnection.title")}),"waiting"===x&&(0,n.jsxs)("div",{className:"flex w-full flex-col items-center gap-4",children:[(0,n.jsxs)("div",{className:"relative flex h-16 w-16 items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute h-16 w-16 animate-ping rounded-full bg-primary/20"}),c?(0,n.jsx)(B.AgentAvatar,{name:c,size:48,className:"rounded-full"}):(0,n.jsx)(Z.A,{className:"h-8 w-8 animate-spin text-primary"})]}),(0,n.jsx)("p",{className:"text-center text-sm text-muted-foreground",children:d("testConnection.waiting")}),c&&(0,n.jsx)("p",{className:"text-center text-xs text-muted-foreground",children:d("testConnection.waitingFor",{name:c})}),(0,n.jsxs)("div",{className:"w-full",children:[(0,n.jsx)("p",{className:"mb-2 text-center text-xs text-muted-foreground",children:d("testConnection.checkinHint")}),(0,n.jsx)(T.N,{code:d("testConnection.checkinPrompt")})]}),s&&(0,n.jsx)(r.$,{variant:"outline",onClick:s,children:d("back")})]}),"connected"===x&&(0,n.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,n.jsx)(w.P.div,{initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:300,damping:20},children:(0,n.jsx)(z.A,{className:"h-16 w-16 text-green-500"})}),(0,n.jsx)("p",{className:"text-center text-sm font-medium text-green-600",children:d("testConnection.connected")}),(0,n.jsx)(r.$,{onClick:t,children:d("next")})]})]})})})}var F=s(94152),R=s(52309),G=s(94643);function I(e){let{createdAgent:t}=e,s=(0,i.r)(),c=(0,l.c)("onboarding"),o=(0,l.c)("agent.permissions");(0,a.useEffect)(()=>{localStorage.setItem("chorus_onboarding_completed","done")},[]);let d=t?o(t.roles.includes("admin_agent")?"presetAdmin":t.roles.includes("pm_agent")?"presetPm":t.roles.includes("developer_agent")?"presetDev":"presetCustom"):null;return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,n.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-primary/10",children:(0,n.jsx)(z.A,{className:"h-10 w-10 text-primary"})}),(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:c("completion.title")}),(0,n.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:c("completion.description")})]}),t&&(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"p-6",children:[(0,n.jsx)("div",{className:"mb-4 flex justify-center",children:(0,n.jsx)(B.AgentAvatar,{name:t.name,size:48,className:"rounded-2xl"})}),(0,n.jsx)("h3",{className:"mb-3 text-sm font-medium text-foreground",children:c("completion.summary")}),(0,n.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentName")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:t.name})]}),(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentPreset")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:d})]}),0===t.roles.length&&t.permissions.length>0&&(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentPermissions")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:c("completion.permissionsCount",{count:t.permissions.length})})]})]})]})}),(0,n.jsx)(G.Bs,{variant:"prominent"}),(0,n.jsxs)("div",{className:"flex w-full max-w-xs flex-col gap-3",children:[(0,n.jsxs)(r.$,{size:"lg",onClick:()=>s.push("/projects"),className:"w-full gap-2",children:[(0,n.jsx)(F.A,{className:"h-4 w-4"}),c("completion.goToProjects")]}),(0,n.jsxs)(r.$,{variant:"outline",size:"lg",onClick:()=>s.push("/settings"),className:"w-full gap-2",children:[(0,n.jsx)(R.A,{className:"h-4 w-4"}),c("completion.goToSettings")]})]})]})}function L(){var e,t;let s=(0,i.r)(),d=(0,l.c)("onboarding"),[x,u]=(0,a.useState)(0),[f,p]=(0,a.useState)(null),[g,h]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[y,w]=(0,a.useState)(!1),b=(0,a.useCallback)(()=>{u(e=>Math.min(e+1,5))},[]),v=(0,a.useCallback)(()=>{u(e=>Math.max(e-1,0))},[]),C=(0,a.useCallback)(()=>{localStorage.setItem("chorus_onboarding_completed","skipped"),s.push("/projects")},[s]),A=(0,a.useCallback)((e,t)=>{p(e),h(t)},[]),P=(0,a.useCallback)(()=>{w(!0),u(5)},[]),S=5===x;return(0,n.jsxs)("div",{className:"flex w-full max-w-2xl flex-col items-center gap-8",children:[(0,n.jsx)(m,{currentStep:x,totalSteps:6}),(0,n.jsxs)(c.N,{mode:"wait",children:[0===x&&(0,n.jsx)(k,{onNext:b},"welcome"),1===x&&(0,n.jsx)(E,{onNext:b,onAgentCreated:A},"createAgent"),2===x&&(0,n.jsx)(K,{onNext:b,apiKey:g},"copyKey"),3===x&&(0,n.jsx)($,{apiKey:g,onNext:b,onBack:v},"installGuide"),4===x&&(0,n.jsx)(W,{onNext:b,onBack:v,agentUuid:null!=(e=null==f?void 0:f.uuid)?e:null,agentName:null!=(t=null==f?void 0:f.name)?t:null,onConnectionVerified:P},"testConnection"),5===x&&(0,n.jsx)(I,{createdAgent:f},"completion")]}),!S&&(0,n.jsx)(r.$,{variant:"link",size:"sm",onClick:C,className:"text-muted-foreground",children:d("skip")}),(0,n.jsx)(o.m,{variant:"footer"})]})}function q(){return(0,n.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:(0,n.jsx)(L,{})})}},65626:(e,t,s)=>{"use strict";s.d(t,{K5:()=>c,Rf:()=>r,Yv:()=>n,bK:()=>l,qG:()=>i,tE:()=>a});let n={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},a={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:n.normal,ease:n.easeOut}},exit:{opacity:0,y:-4,transition:{duration:n.fast,ease:n.easeOut}}},i={initial:{opacity:0},animate:{opacity:1,transition:{duration:n.normal,ease:n.easeOut}},exit:{opacity:0,transition:{duration:n.fast,ease:n.easeOut}}};n.normal,n.easeOut,n.fast,n.easeOut;let l={initial:{},animate:{transition:{staggerChildren:n.stagger}}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:n.normal,ease:n.easeOut}}},c={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:n.fast,ease:n.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:n.fast,ease:n.easeOut}}}},99576:(e,t,s)=>{Promise.resolve().then(s.bind(s,13533))}},e=>{e.O(0,[87326,93151,41752,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,45024,27370,94643,19887,74951,65496,77358],()=>e(e.s=99576)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69566],{13533:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>q});var n=s(90508),a=s(1856),i=s(91814),l=s(39268),r=s(22922),c=s(67103),o=s(10465),d=s(60532);let x=["welcome","createAgent","copyKey","installGuide","testConnection","completion"];function m(e){let{currentStep:t,totalSteps:s}=e,a=(0,l.c)("onboarding");return(0,n.jsx)("div",{className:"flex items-start",children:Array.from({length:s},(e,i)=>{let l=i<t,r=i===t;return(0,n.jsxs)("div",{className:"flex flex-col items-center",style:{minWidth:56},children:[(0,n.jsxs)("div",{className:"flex w-full items-center",children:[(0,n.jsx)("div",{className:"h-px flex-1 ".concat(0===i?"bg-transparent":l?"bg-primary":"bg-border")}),(0,n.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-xs font-medium transition-colors ".concat(l?"bg-primary text-primary-foreground":r?"border-2 border-primary bg-background text-primary":"border border-border bg-background text-muted-foreground"),children:l?(0,n.jsx)(d.A,{className:"h-4 w-4"}):i+1}),(0,n.jsx)("div",{className:"h-px flex-1 ".concat(i===s-1?"bg-transparent":i<t?"bg-primary":"bg-border")})]}),(0,n.jsx)("span",{className:"mt-1.5 hidden text-[10px] sm:block ".concat(r?"font-medium text-foreground":"text-muted-foreground"),children:a("steps.".concat(x[i]))})]},i)})})}var u=s(48416),f=s(29767),p=s(56770),g=s(23217),h=s(62482),j=s(21104),N=s(24705),y=s(62898),w=s(16544),b=s(65626);let v=[{icon:f.A,key:"idea"},{icon:p.A,key:"proposal"},{icon:g.A,key:"task"},{icon:h.A,key:"execute"},{icon:j.A,key:"verify"},{icon:N.A,key:"done"}];function k(e){let{onNext:t}=e,s=(0,l.c)("onboarding");return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,n.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-16 w-16"}),(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:s("welcome.title")}),(0,n.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:s("welcome.description")})]}),(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"p-6",children:[(0,n.jsx)("p",{className:"mb-4 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground",children:s("welcome.pipelineTitle")}),(0,n.jsx)(w.P.div,{variants:b.bK,initial:"initial",animate:"animate",className:"flex flex-wrap items-center justify-center gap-2",children:v.map((e,t)=>{let a=e.icon;return(0,n.jsxs)(w.P.div,{variants:b.Rf,className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-secondary",children:(0,n.jsx)(a,{className:"h-5 w-5 text-primary"})}),(0,n.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground",children:s("welcome.pipeline.".concat(e.key))})]}),t<v.length-1&&(0,n.jsx)(y.A,{className:"h-3 w-3 text-muted-foreground"})]},e.key)})})]})}),(0,n.jsx)(r.$,{size:"lg",onClick:t,className:"w-full max-w-xs",children:s("welcome.getStarted")})]})}var C=s(37750),A=s(19964);function E(e){let{onNext:t,onAgentCreated:s}=e,a=(0,l.c)("onboarding.createAgent");return(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-2xl flex-col items-center gap-6",children:(0,n.jsxs)(u.Zp,{className:"w-full",children:[(0,n.jsxs)(u.aR,{className:"text-center",children:[(0,n.jsx)(u.ZB,{children:a("title")}),(0,n.jsx)(u.BT,{children:a("description")})]}),(0,n.jsx)(u.Wu,{children:(0,n.jsx)(C.Y,{embedded:!0,createAgentAndKey:A.I,submitLabel:a("submit"),submittingLabel:a("creating"),onAgentCreated:(e,n)=>{s(e,n),t()}})})]})})}var P=s(25373),S=s(17475),_=s(67712);function K(e){let{onNext:t,apiKey:s}=e,i=(0,l.c)("onboarding"),[c,o]=(0,a.useState)(!1),x=(0,a.useCallback)(e=>{e.preventDefault()},[]);(0,a.useEffect)(()=>(window.addEventListener("beforeunload",x),()=>{window.removeEventListener("beforeunload",x)}),[x]);let m=async()=>{if(s)try{await navigator.clipboard.writeText(s),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){_.q.error("Failed to copy to clipboard:",e)}};return(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:(0,n.jsxs)(u.Zp,{className:"w-full",children:[(0,n.jsxs)(u.aR,{className:"text-center",children:[(0,n.jsx)(u.ZB,{children:i("copyKey.title")}),(0,n.jsx)(u.BT,{children:i("copyKey.description")})]}),(0,n.jsxs)(u.Wu,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("code",{className:"flex-1 overflow-x-auto rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:null!=s?s:""}),(0,n.jsx)(r.$,{variant:"outline",size:"sm",onClick:m,className:"flex-shrink-0",children:c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"mr-1 h-4 w-4 text-green-500"}),i("copyKey.copied")]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(P.A,{className:"mr-1 h-4 w-4"}),i("copyKey.copy")]})})]}),(0,n.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-yellow-300 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-950",children:[(0,n.jsx)(S.A,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-yellow-600 dark:text-yellow-400"}),(0,n.jsx)("p",{className:"text-sm font-medium text-yellow-700 dark:text-yellow-300",children:i("copyKey.warning")})]}),(0,n.jsx)(r.$,{onClick:t,className:"w-full",children:i("next")})]})]})})}var O=s(83792);function $(e){let{apiKey:t,onNext:s,onBack:a}=e,i=(0,l.c)("onboarding");return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-2xl flex-col items-center gap-6",children:[(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:i("steps.installGuide")}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:i("install.description")})]}),(0,n.jsx)(O.Z,{apiKey:t}),(0,n.jsxs)("div",{className:"flex gap-2",children:[a&&(0,n.jsx)(r.$,{variant:"outline",onClick:a,children:i("back")}),(0,n.jsx)(r.$,{onClick:s,children:i("next")})]})]})}var Z=s(85226),z=s(42533),B=s(91385),T=s(50006);function W(e){let{onNext:t,onBack:s,agentUuid:i,agentName:c,onConnectionVerified:o}=e,d=(0,l.c)("onboarding"),[x,m]=(0,a.useState)("waiting"),f=(0,a.useRef)(null),p=(0,a.useCallback)(()=>{f.current&&(f.current.close(),f.current=null)},[]),g=(0,a.useCallback)(()=>{p(),m("waiting");let e=new EventSource("/api/events/notifications");f.current=e,e.onmessage=e=>{try{let t=JSON.parse(e.data);"new_notification"===t.type&&"agent_checkin"===t.action&&t.entityUuid===i&&(m("connected"),p(),o())}catch(e){}},e.onerror=()=>{}},[i,p,o]);return(0,a.useEffect)(()=>(g(),p),[g,p]),(0,n.jsx)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"flex flex-col items-center gap-6 p-8",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:d("testConnection.title")}),"waiting"===x&&(0,n.jsxs)("div",{className:"flex w-full flex-col items-center gap-4",children:[(0,n.jsxs)("div",{className:"relative flex h-16 w-16 items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute h-16 w-16 animate-ping rounded-full bg-primary/20"}),c?(0,n.jsx)(B.AgentAvatar,{name:c,size:48,className:"rounded-full"}):(0,n.jsx)(Z.A,{className:"h-8 w-8 animate-spin text-primary"})]}),(0,n.jsx)("p",{className:"text-center text-sm text-muted-foreground",children:d("testConnection.waiting")}),c&&(0,n.jsx)("p",{className:"text-center text-xs text-muted-foreground",children:d("testConnection.waitingFor",{name:c})}),(0,n.jsxs)("div",{className:"w-full",children:[(0,n.jsx)("p",{className:"mb-2 text-center text-xs text-muted-foreground",children:d("testConnection.checkinHint")}),(0,n.jsx)(T.N,{code:d("testConnection.checkinPrompt")})]}),s&&(0,n.jsx)(r.$,{variant:"outline",onClick:s,children:d("back")})]}),"connected"===x&&(0,n.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,n.jsx)(w.P.div,{initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:300,damping:20},children:(0,n.jsx)(z.A,{className:"h-16 w-16 text-green-500"})}),(0,n.jsx)("p",{className:"text-center text-sm font-medium text-green-600",children:d("testConnection.connected")}),(0,n.jsx)(r.$,{onClick:t,children:d("next")})]})]})})})}var F=s(94152),R=s(52309),G=s(94643);function I(e){let{createdAgent:t}=e,s=(0,i.r)(),c=(0,l.c)("onboarding"),o=(0,l.c)("agent.permissions");(0,a.useEffect)(()=>{localStorage.setItem("chorus_onboarding_completed","done")},[]);let d=t?o(t.roles.includes("admin_agent")?"presetAdmin":t.roles.includes("pm_agent")?"presetPm":t.roles.includes("developer_agent")?"presetDev":"presetCustom"):null;return(0,n.jsxs)(w.P.div,{variants:b.tE,initial:"initial",animate:"animate",exit:"exit",className:"flex w-full max-w-lg flex-col items-center gap-8",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,n.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-primary/10",children:(0,n.jsx)(z.A,{className:"h-10 w-10 text-primary"})}),(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:c("completion.title")}),(0,n.jsx)("p",{className:"max-w-md text-sm text-muted-foreground",children:c("completion.description")})]}),t&&(0,n.jsx)(u.Zp,{className:"w-full",children:(0,n.jsxs)(u.Wu,{className:"p-6",children:[(0,n.jsx)("div",{className:"mb-4 flex justify-center",children:(0,n.jsx)(B.AgentAvatar,{name:t.name,size:48,className:"rounded-2xl"})}),(0,n.jsx)("h3",{className:"mb-3 text-sm font-medium text-foreground",children:c("completion.summary")}),(0,n.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentName")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:t.name})]}),(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentPreset")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:d})]}),0===t.roles.length&&t.permissions.length>0&&(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:c("completion.agentPermissions")}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:c("completion.permissionsCount",{count:t.permissions.length})})]})]})]})}),(0,n.jsx)(G.Bs,{variant:"prominent"}),(0,n.jsxs)("div",{className:"flex w-full max-w-xs flex-col gap-3",children:[(0,n.jsxs)(r.$,{size:"lg",onClick:()=>s.push("/projects"),className:"w-full gap-2",children:[(0,n.jsx)(F.A,{className:"h-4 w-4"}),c("completion.goToProjects")]}),(0,n.jsxs)(r.$,{variant:"outline",size:"lg",onClick:()=>s.push("/settings"),className:"w-full gap-2",children:[(0,n.jsx)(R.A,{className:"h-4 w-4"}),c("completion.goToSettings")]})]})]})}function L(){var e,t;let s=(0,i.r)(),d=(0,l.c)("onboarding"),[x,u]=(0,a.useState)(0),[f,p]=(0,a.useState)(null),[g,h]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[y,w]=(0,a.useState)(!1),b=(0,a.useCallback)(()=>{u(e=>Math.min(e+1,5))},[]),v=(0,a.useCallback)(()=>{u(e=>Math.max(e-1,0))},[]),C=(0,a.useCallback)(()=>{localStorage.setItem("chorus_onboarding_completed","skipped"),s.push("/projects")},[s]),A=(0,a.useCallback)((e,t)=>{p(e),h(t)},[]),P=(0,a.useCallback)(()=>{w(!0),u(5)},[]),S=5===x;return(0,n.jsxs)("div",{className:"flex w-full max-w-2xl flex-col items-center gap-8",children:[(0,n.jsx)(m,{currentStep:x,totalSteps:6}),(0,n.jsxs)(c.N,{mode:"wait",children:[0===x&&(0,n.jsx)(k,{onNext:b},"welcome"),1===x&&(0,n.jsx)(E,{onNext:b,onAgentCreated:A},"createAgent"),2===x&&(0,n.jsx)(K,{onNext:b,apiKey:g},"copyKey"),3===x&&(0,n.jsx)($,{apiKey:g,onNext:b,onBack:v},"installGuide"),4===x&&(0,n.jsx)(W,{onNext:b,onBack:v,agentUuid:null!=(e=null==f?void 0:f.uuid)?e:null,agentName:null!=(t=null==f?void 0:f.name)?t:null,onConnectionVerified:P},"testConnection"),5===x&&(0,n.jsx)(I,{createdAgent:f},"completion")]}),!S&&(0,n.jsx)(r.$,{variant:"link",size:"sm",onClick:C,className:"text-muted-foreground",children:d("skip")}),(0,n.jsx)(o.m,{variant:"footer"})]})}function q(){return(0,n.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:(0,n.jsx)(L,{})})}},65626:(e,t,s)=>{"use strict";s.d(t,{K5:()=>c,Rf:()=>r,Yv:()=>n,bK:()=>l,qG:()=>i,tE:()=>a});let n={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},a={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:n.normal,ease:n.easeOut}},exit:{opacity:0,y:-4,transition:{duration:n.fast,ease:n.easeOut}}},i={initial:{opacity:0},animate:{opacity:1,transition:{duration:n.normal,ease:n.easeOut}},exit:{opacity:0,transition:{duration:n.fast,ease:n.easeOut}}};n.normal,n.easeOut,n.fast,n.easeOut;let l={initial:{},animate:{transition:{staggerChildren:n.stagger}}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:n.normal,ease:n.easeOut}}},c={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:n.fast,ease:n.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:n.fast,ease:n.easeOut}}}},99576:(e,t,s)=>{Promise.resolve().then(s.bind(s,13533))}},e=>{e.O(0,[87326,93151,41752,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,45024,27370,94643,97663,74951,65496,77358],()=>e(e.s=99576)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={},a={};function c(f){var d=a[f];if(void 0!==d)return d.exports;var b=a[f]={id:f,loaded:!1,exports:{}},t=!0;try{e[f].call(b.exports,b,b.exports,c),t=!1}finally{t&&delete a[f]}return b.loaded=!0,b.exports}c.m=e,(()=>{var e=[];c.O=(a,f,d,b)=>{if(f){b=b||0;for(var t=e.length;t>0&&e[t-1][2]>b;t--)e[t]=e[t-1];e[t]=[f,d,b];return}for(var r=1/0,t=0;t<e.length;t++){for(var[f,d,b]=e[t],n=!0,o=0;o<f.length;o++)(!1&b||r>=b)&&Object.keys(c.O).every(e=>c.O[e](f[o]))?f.splice(o--,1):(n=!1,b<r&&(r=b));if(n){e.splice(t--,1);var i=d();void 0!==i&&(a=i)}}return a}})(),c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},(()=>{var e,a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;c.t=function(f,d){if(1&d&&(f=this(f)),8&d||"object"==typeof f&&f&&(4&d&&f.__esModule||16&d&&"function"==typeof f.then))return f;var b=Object.create(null);c.r(b);var t={};e=e||[null,a({}),a([]),a(a)];for(var r=2&d&&f;"object"==typeof r&&!~e.indexOf(r);r=a(r))Object.getOwnPropertyNames(r).forEach(e=>t[e]=()=>f[e]);return t.default=()=>f,c.d(b,t),b}})(),c.d=(e,a)=>{for(var f in a)c.o(a,f)&&!c.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((a,f)=>(c.f[f](e,a),a),[])),c.u=e=>70552===e?"static/chunks/"+e+"-0ea3c887937b5b51.js":27201===e?"static/chunks/"+e+"-0228042991534905.js":14753===e?"static/chunks/"+e+"-d911e24624c88fbc.js":26885===e?"static/chunks/"+e+"-00665cb87b9da098.js":45532===e?"static/chunks/"+e+"-12ed13c096e2a88e.js":30724===e?"static/chunks/"+e+"-627b849ed09f9cc5.js":97784===e?"static/chunks/"+e+"-7b90a17294840e32.js":93151===e?"static/chunks/f3524bc3-5c48b74c49ddeca0.js":41752===e?"static/chunks/fcc64ffe-2c36a6b45f81782c.js":16551===e?"static/chunks/"+e+"-d129ae0de4a04d69.js":"static/chunks/"+(({5571:"4e7df547",14749:"5db68f07",15968:"14860d7c",17203:"7a5af761",19019:"1496d684",20341:"cbbc2011",24364:"fbd0dcbb",32217:"1ccec16d",43245:"48c55e57",49954:"a856cf35",58669:"4f8e262c",65543:"685092b2",69136:"5be1c5d8",77008:"fab3cf95",80039:"f4bf7a28",82346:"273acdc0",83086:"8c93d9a0",95402:"f57f1d5e",95792:"f2442412"})[e]||e)+"."+({123:"b47ce56e923e1dc4",283:"4d4eca86c7abbec9",493:"737fdeba759d415a",1236:"ec9ed804634bb6cf",1697:"58e0d7523fdd2d52",1803:"8e2e63f39906fd1e",1847:"90012f795031fd15",2164:"d977bc7d148f1d9e",2351:"a2908f154b03857c",2656:"febbce72896f5701",2829:"ae5196f6cb23aa62",2842:"a5f90cf26f897bfc",3333:"74af47ffa6cb4c0e",3709:"a528fc6526bb2f1d",4123:"bf0bc76b87e0a5d0",4151:"b8833633f487c3d5",4435:"0da86212e371da10",4860:"9e06848eb531e667",5020:"e7e6f35316da8d79",5336:"3fcd63f65fab9362",5559:"34e9e404696c82c0",5571:"fa34ffab38ba73b3",6178:"d88e2b68a2a1e09b",6685:"e23946c2ee579a76",7037:"d00688ceefb9f163",7123:"37f20f0e10894a3c",7140:"099e6f0e9722e08f",7317:"8e3ce1ce083425d8",7387:"f8cf2c36cf9b56dc",8563:"caa84c08a9db867a",8859:"fd4fa52883f05b54",9357:"084ac7f230f031a3",9560:"2e77d2dc6351b105",9634:"14999324d0128b0e",9858:"5eb9e5d689ee1188",9872:"bfcbe3b40e1ba7a3",10171:"8a96856626beb7ab",10667:"c192840fc1b34161",10742:"6cc4d6949065d15a",11160:"058f4a27a4ccab24",11595:"a6268c75ca8a2163",11688:"8c27089c45c98079",11966:"36fab6445e33609a",12139:"23195d4025c449dd",12850:"a5f6e9e87d0f9abd",12906:"f2105800b7dc9127",12994:"ea3d4eeb1b15ce47",13131:"e73eb283f14ed397",13437:"0de1f2000c75f497",13462:"b710822936d6d995",14438:"153e2ffb65627b56",14749:"5a8891ea355512a8",15666:"fd13db7fdfc4db46",15736:"4a506a1463e65905",15930:"faf0ba15488aa8ff",15968:"67246c65e7776fa2",16271:"298647c24de4c656",16428:"da33ee8ca31c4d8f",16564:"310c443d14c6e84b",16596:"3c557433b77dc606",16669:"c0967e6ad7401c26",17012:"78f2a6b93e37bf95",17045:"cf6dade16b25ffc7",17093:"ec17cca1979a34c5",17203:"84e2df2bf9d6c4a4",17881:"2eba69b477a8c7f7",18024:"360cc54c2f070fa1",18236:"02c13f95242e1147",18276:"4e4950daea1be290",18291:"6c48a745093c472f",19015:"e0d16d65430522c1",19019:"da3969c029230434",19338:"65cfcfafa18f6aee",19656:"ee0407bae11dd49b",20118:"5e7942f9d596e02b",20171:"9c80c2880256be96",20186:"2a00fa806bf383a5",20341:"a1649a45ba0da5ab",20586:"7cd940a582176e37",20587:"d03a7c9ddae70251",20851:"383095475aa0becf",21063:"5cc29b3160a78147",21233:"fbc3473b758427be",21285:"944c1ff822774352",21290:"ef2762694c3c05e5",21343:"eb8e7aeda8b2b933",21546:"8b2a80eefde810c5",21558:"e72df6c050a17223",21785:"19b23ee028f6262f",21789:"ad6ff228e2917e82",22190:"149dd0799cbcba06",22463:"8f0a0111946c5e37",22485:"9f11764648028b9d",23338:"01f537c5dfd51363",23895:"a3ad3684a5b39547",24021:"e608f829b761ed19",24364:"a59ebe9142818688",24562:"f31cdddfe04624d0",24566:"605ccb37c2b09b7f",24976:"aea37ff8444ce6ca",25018:"51cf65637b375c88",25239:"e13f63bff8d7f459",25934:"45b477fc38b233d5",26558:"337afe8cd6c7f7e2",26594:"9cd92c85c51a3621",26604:"c5f0e687052abb59",27004:"7265fd004542a6ae",27261:"3ad525eea1f52dc3",27509:"8f83a84fed1129f3",27571:"33642de22553efae",27783:"70af75ac091e5b31",27929:"e9a99a263c294b0a",27992:"daf28998ef0714a0",28025:"1025ed4465b8b88e",28244:"3a5e72d3a4048558",28247:"e5faa56338e43301",29047:"65b677c7f3e6459f",29708:"0f9c08d7ca8a6036",30285:"7b6b107412564a45",30433:"919c34e206690a26",30550:"a8db081db527730d",30682:"b12a9bef588e7b03",31035:"06568e4accfa4664",31135:"8f2dbe06dab9d206",31204:"a8d94d78458557d5",31467:"9f8adfa602f97fcf",31570:"131868ccedfef522",31618:"663e0a27f529a7b5",31635:"fcbdbf0d1e8271e8",31807:"cf2a0cbbe7eedf32",32092:"f10268018cf52339",32217:"31e64d0e8696d298",32411:"6d37c2b4b2f2efb7",32729:"f7ddbed25cb15da4",32800:"6cee7ff19ca516a7",32900:"57aa606259738bd7",33187:"13c12f5c0821ac57",33316:"6b5f8f344baf7a8a",33456:"16ff7edf00137539",33665:"804ece4d6c6e4eca",34037:"e8e16348aca40958",34414:"30d095dd419ccded",34500:"58eb096afca7a3d2",34520:"1a6c6a7c421b0ff3",34565:"58e4d12c607709a2",34780:"ddc8d0403f86cd76",34787:"33a6fe2b98db58fd",34966:"dde9356d869e2a0f",35246:"75a72283c3c974e2",35362:"80b6e5545194566a",35733:"cf4ac3f521c0b06d",35901:"aa7ec713edff30e2",35918:"8e970e73c59cd315",36301:"0598cc26dfacc4a8",36531:"4576573d1554d0bc",36622:"2ecd0754a1dd1f10",36884:"6af20de227ae01d6",36989:"9a0a62410bf9ec4e",37697:"9af6ac899a8114c0",37802:"6e3d9ec6ded108e7",38176:"e1818cbc0df1edff",38259:"d83981da5c72c88a",38277:"f24d85bdc720318e",38366:"e6e0132b8ba873d6",38513:"2edbf8332418852a",38542:"1b0e31f1f0e79950",38843:"bfbf5f2c316123fb",39012:"d1e022d895c7700f",40294:"82b8b706bf8526d2",41333:"464f95d32db59d47",41796:"b775772add38f765",42515:"0879489433824ebb",43203:"0a24d8e1e04b23e1",43245:"fd54cc2dd98a53cf",43335:"71662f3469b367dd",43520:"4abb22e9bfdeedab",44980:"c17d605b4685ba2d",44996:"e5fc9af9e1283894",45025:"bdb2a46a29ea6a7f",45300:"bac57dcaf4b1ae63",45939:"d37b9465101a9a32",45966:"ece098ca2637c63f",46366:"d1d9d65b646509b3",46778:"cbd78e2a3b8eb454",46783:"b9ce59941eb5c767",46965:"2ed4c28224e29499",47066:"214cf62dd898ea16",47492:"6b259d6ee0ddf4d8",47613:"946226a67a1e5cd1",47781:"f25170364c271869",47914:"11c71123fcab1d66",47947:"471d5da6bb51de27",48504:"2efb153cab87148c",48782:"4ca261e8e23a8983",49114:"19ce7b83efab6d05",49294:"fb738cc8f6f972c0",49307:"9ac8482ed1916e3d",49312:"b4ee106f6ca8df0d",49406:"f77074487dddb735",49515:"c8964ec6f6c710d1",49812:"9bb0091da44f3fb0",49954:"22ac9c291887443d",50681:"5621dcb316c1dbc0",51094:"83d8278e86159ae3",51159:"cd7d830da0e9a7d2",52644:"999d7bbfb0c77212",52786:"cca2f572d4b83716",53012:"8ea1cc9b669d4071",53323:"19d0c542f89ec743",53854:"80e3b10f38882782",53988:"a7e066e48567fceb",54102:"0057304a9b7c36fd",54176:"1c209b5691615c2d",55034:"91a22d75a4896d26",55156:"70eba4bb5853878e",55683:"c52199afe13b15ed",55973:"c413a5ed34ef941e",57041:"8e2e63f39906fd1e",57660:"e59694e7ee1dda97",58401:"3641b4aeb0a1db04",58633:"6d322b2074b1cd5b",58669:"5239eb8dd5a3486c",58699:"364d357d33fcb52f",59848:"e7330c096662be59",59865:"a0136e48383160ce",59907:"ad1253ca7a3c3cea",59944:"1c8f7a84b714a678",60206:"130abcb08ea9a564",60238:"36a32788f3ca64fe",60289:"cd3b3bd12d5566c1",60442:"b031854728be46ff",61719:"b6f17cb6498eec77",61728:"c943fe98606d2f24",61963:"fd130ba09dd25e2e",62608:"4f3ab017447b17dc",62681:"86ea4a7f1240e2e6",63255:"262cd1e7cd35ffe9",63306:"03cdfc8e5118dd97",64663:"9974d163d89c8e9d",64733:"0790a2c763961b3f",65317:"ab0c5ecb4164b291",65543:"a92297193082467c",65635:"f8007956118a4b5f",65838:"acacc76f9932a395",66109:"2a6ffd90bf3c50be",66166:"5d9b6692f44d4789",66420:"ed3b252047bf2d99",66895:"77a113ea7e9e0e19",66962:"e49d2beb52f4ccd7",67100:"6729ae254487b545",67142:"d2c7895f2f0c0ddb",67458:"930b27b1ef06fd49",67633:"7cfc302383a77925",67676:"7e4d1ac29a054c5a",67966:"9baea607f9d83322",67987:"eb24309f5b6a773f",68067:"b108a5ae88fd156b",68906:"e81b3cb0a0eb3c6e",69083:"a8e8997a24b8507c",69136:"7bc0b66e195430ba",69477:"5b79cd575f93298f",69763:"003df47b4ee38644",70110:"a55f51e24556d059",70488:"dbde26374c2c08a2",70777:"9cde6b69988ac88e",70899:"75cac02cc1311c86",70901:"76003b037a2c2ad2",71547:"6f736dbb3265d938",71587:"942ffd492f15bdd6",71627:"4fa787d284261d08",71762:"0abb31b68e350f6b",72731:"5ac0a9cf8a2a916b",72740:"022c79c58cd39306",72977:"70c698df7ec867d8",73315:"46afbb4c2ae67b44",73354:"5ac4dbd55effe981",73506:"b9c053e2335b6084",73886:"c398daab959c90db",74250:"637853b68a0bb5dc",74312:"8d075f77e65364f2",74522:"ed3762dbb6b389b0",74962:"c0f9177875e7f100",75493:"5c2f7c166c002ee9",75693:"47f44d601521bc1b",75847:"0a83259a1ed4c4db",75958:"d9640c4cd9cdd74f",76399:"bb1a5dff754b7126",77008:"fe96b7655475e404",77768:"d5b6fe554fd62dbb",78425:"ee8445a0943525f2",78453:"3e109458064b76e4",78931:"2d78541331d4cf71",79035:"a682e63d1a6c820f",79422:"8e2e63f39906fd1e",79581:"3d0cbc1897c20b80",79788:"9cb75de83877d3a4",79806:"21f1d23ca273000d",79983:"6a9732776a2b07d1",80039:"b7b8926c9e98f166",80043:"fc4c6fd07c8c702c",80053:"cccea694a8be7b09",80192:"0b53419821781f47",80447:"cbc8dcd0610f9340",80478:"75454fe2622f8d60",80514:"c180393ccbb2f62e",80559:"4d1ea1e2bde6d65b",80653:"ba5596638b5efe48",80934:"cadd9fcd52d99096",81014:"7b65385965b83d33",81078:"d1b12131827159fc",81768:"13a175a018951bc8",82171:"e532a5af5a92acb9",82292:"2fb55f1ea9249601",82346:"d5de461383d78bd3",82666:"805e44c88f89e4f5",83086:"cf3390a953e4e275",83177:"4b3f31d9e183d57a",83561:"8959cb05be5bba5c",83842:"2211d720bd76fa0a",83978:"78a0d317cfb0f7fa",84553:"26f4216de4e92834",85120:"e1418b8e76b49092",85135:"45ba2b68ef521957",85350:"c86c2e91cf3d247e",85947:"c813bf8bc6e1d675",86533:"96712909323ba4fd",86749:"a4033144c9f1db80",86978:"fcbdaf718d4b4cb8",88087:"6ae9d65d22727e7d",88298:"33f9c586ab229ba6",88343:"f95f9ca9ad905248",88439:"528a166b33a003d3",88958:"3f88a829e6ab9f1d",89091:"e6f60560ceac7848",89231:"7bd196023a80ac20",89379:"ccf569c6fdc84136",89486:"ae3ab6537c32a471",90040:"a0d185d54c4405d8",90179:"1fbab23e5d44b4f0",90669:"fea27affbd10509b",90740:"15b9eae85318ce19",91246:"9377a763aead9164",91468:"5a3936bb7fa502b7",91469:"056f34e448b9e3e5",91709:"ed3bfd285c518df1",91848:"089cc7d1be73e1ca",92147:"1340020e2f5cbef2",92924:"d50fc7f02672d2e6",92966:"b84b80410d014b96",93008:"7c404d8dceb67ff3",93722:"8500c1244c0aef9d",93996:"d810c0882af7cbe0",94314:"3bd48a7f7f885bb5",94400:"0d371a4d306a614b",94521:"f712b07f8f7651a9",94568:"2a2be37b4884c8cd",94725:"da1eff47b3e365cc",94867:"0ee353b2db6bf4f7",95305:"440c9cb9053df6bf",95402:"c345ce68aa5052a7",95470:"c594ecf25a203664",95792:"10f4124238152859",95963:"67eefa12cb90855f",96028:"cdbf36dca753e70f",96132:"ab9b9433c7b2fa1c",96230:"bf5cc20b343c438e",96309:"5c0610a0df7eaade",96554:"e768705a9558aa17",96623:"dd689039b85a3f89",96758:"b001e8afcb01a36d",97008:"ccf2a72ddb49895c",97229:"0b004c237f17530f",97543:"f224959967762c0b",97829:"bed98706765262d6",97974:"2157a18e2a93432f",98171:"be964141d5e6052f",98309:"223ad4f3e01558ae",98340:"8d1870938669f76e",99373:"81b79c91858f9099",99435:"73c4d651008c0493",99501:"c56a4f18b2fdff6a",99801:"9d73f814d33c5a86"})[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={},a="_N_E:";c.l=(f,d,b,t)=>{if(e[f])return void e[f].push(d);if(void 0!==b)for(var r,n,o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==f||s.getAttribute("data-webpack")==a+b){r=s;break}}r||(n=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,c.nc&&r.setAttribute("nonce",c.nc),r.setAttribute("data-webpack",a+b),r.src=c.tu(f)),e[f]=[d];var u=(a,c)=>{r.onerror=r.onload=null,clearTimeout(l);var d=e[f];if(delete e[f],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach(e=>e(c)),a)return a(c)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),n&&document.head.appendChild(r)}})(),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;c.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),c.tu=e=>c.tt().createScriptURL(e),c.p="/_next/",(()=>{var e={78068:0,53169:0,32492:0,41282:0};c.f.j=(a,f)=>{var d=c.o(e,a)?e[a]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(32492|41282|53169|78068)$/.test(a))e[a]=0;else{var b=new Promise((c,f)=>d=e[a]=[c,f]);f.push(d[2]=b);var t=c.p+c.u(a),r=Error();c.l(t,f=>{if(c.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var b=f&&("load"===f.type?"missing":f.type),t=f&&f.target&&f.target.src;r.message="Loading chunk "+a+" failed.\n("+b+": "+t+")",r.name="ChunkLoadError",r.type=b,r.request=t,d[1](r)}},"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,f)=>{var d,b,[t,r,n]=f,o=0;if(t.some(a=>0!==e[a])){for(d in r)c.o(r,d)&&(c.m[d]=r[d]);if(n)var i=n(c)}for(a&&a(f);o<t.length;o++)b=t[o],c.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return c.O(i)},f=self.webpackChunk_N_E=self.webpackChunk_N_E||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})(),c.nc=void 0})();
|
|
1
|
+
(()=>{"use strict";var e={},a={};function c(d){var f=a[d];if(void 0!==f)return f.exports;var b=a[d]={id:d,loaded:!1,exports:{}},t=!0;try{e[d].call(b.exports,b,b.exports,c),t=!1}finally{t&&delete a[d]}return b.loaded=!0,b.exports}c.m=e,(()=>{var e=[];c.O=(a,d,f,b)=>{if(d){b=b||0;for(var t=e.length;t>0&&e[t-1][2]>b;t--)e[t]=e[t-1];e[t]=[d,f,b];return}for(var r=1/0,t=0;t<e.length;t++){for(var[d,f,b]=e[t],n=!0,o=0;o<d.length;o++)(!1&b||r>=b)&&Object.keys(c.O).every(e=>c.O[e](d[o]))?d.splice(o--,1):(n=!1,b<r&&(r=b));if(n){e.splice(t--,1);var i=f();void 0!==i&&(a=i)}}return a}})(),c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},(()=>{var e,a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;c.t=function(d,f){if(1&f&&(d=this(d)),8&f||"object"==typeof d&&d&&(4&f&&d.__esModule||16&f&&"function"==typeof d.then))return d;var b=Object.create(null);c.r(b);var t={};e=e||[null,a({}),a([]),a(a)];for(var r=2&f&&d;"object"==typeof r&&!~e.indexOf(r);r=a(r))Object.getOwnPropertyNames(r).forEach(e=>t[e]=()=>d[e]);return t.default=()=>d,c.d(b,t),b}})(),c.d=(e,a)=>{for(var d in a)c.o(a,d)&&!c.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((a,d)=>(c.f[d](e,a),a),[])),c.u=e=>70552===e?"static/chunks/"+e+"-0ea3c887937b5b51.js":27201===e?"static/chunks/"+e+"-0228042991534905.js":14753===e?"static/chunks/"+e+"-d911e24624c88fbc.js":26885===e?"static/chunks/"+e+"-00665cb87b9da098.js":45532===e?"static/chunks/"+e+"-12ed13c096e2a88e.js":30724===e?"static/chunks/"+e+"-627b849ed09f9cc5.js":97784===e?"static/chunks/"+e+"-7b90a17294840e32.js":93151===e?"static/chunks/f3524bc3-5c48b74c49ddeca0.js":41752===e?"static/chunks/fcc64ffe-2c36a6b45f81782c.js":16551===e?"static/chunks/"+e+"-d129ae0de4a04d69.js":"static/chunks/"+(({5571:"4e7df547",14749:"5db68f07",15968:"14860d7c",17203:"7a5af761",19019:"1496d684",20341:"cbbc2011",24364:"fbd0dcbb",32217:"1ccec16d",43245:"48c55e57",49954:"a856cf35",58669:"4f8e262c",65543:"685092b2",69136:"5be1c5d8",77008:"fab3cf95",80039:"f4bf7a28",82346:"273acdc0",83086:"8c93d9a0",95402:"f57f1d5e",95792:"f2442412"})[e]||e)+"."+({123:"b47ce56e923e1dc4",283:"4d4eca86c7abbec9",493:"737fdeba759d415a",1236:"ec9ed804634bb6cf",1697:"58e0d7523fdd2d52",1803:"8e2e63f39906fd1e",1847:"90012f795031fd15",2164:"d977bc7d148f1d9e",2351:"a2908f154b03857c",2656:"febbce72896f5701",2829:"ae5196f6cb23aa62",2842:"a5f90cf26f897bfc",3333:"74af47ffa6cb4c0e",3709:"a528fc6526bb2f1d",4123:"bf0bc76b87e0a5d0",4151:"b8833633f487c3d5",4435:"0da86212e371da10",4860:"be77046fb2b3a2bd",5020:"e7e6f35316da8d79",5336:"3fcd63f65fab9362",5559:"34e9e404696c82c0",5571:"fa34ffab38ba73b3",6178:"d88e2b68a2a1e09b",6685:"e23946c2ee579a76",7037:"d00688ceefb9f163",7123:"37f20f0e10894a3c",7140:"099e6f0e9722e08f",7317:"8e3ce1ce083425d8",7387:"f8cf2c36cf9b56dc",8563:"caa84c08a9db867a",8859:"fd4fa52883f05b54",9357:"084ac7f230f031a3",9560:"2e77d2dc6351b105",9634:"14999324d0128b0e",9858:"5eb9e5d689ee1188",9872:"bfcbe3b40e1ba7a3",10171:"8a96856626beb7ab",10667:"c192840fc1b34161",10742:"6cc4d6949065d15a",11160:"058f4a27a4ccab24",11595:"bbe40924d18958bf",11688:"8c27089c45c98079",11966:"36fab6445e33609a",12139:"23195d4025c449dd",12850:"a5f6e9e87d0f9abd",12906:"f2105800b7dc9127",12994:"ea3d4eeb1b15ce47",13131:"e73eb283f14ed397",13437:"0de1f2000c75f497",13462:"b710822936d6d995",14438:"153e2ffb65627b56",14749:"5a8891ea355512a8",15666:"fd13db7fdfc4db46",15736:"4a506a1463e65905",15930:"faf0ba15488aa8ff",15968:"67246c65e7776fa2",16271:"298647c24de4c656",16428:"da33ee8ca31c4d8f",16564:"310c443d14c6e84b",16596:"3c557433b77dc606",16669:"c0967e6ad7401c26",17012:"78f2a6b93e37bf95",17045:"cf6dade16b25ffc7",17093:"ec17cca1979a34c5",17203:"84e2df2bf9d6c4a4",17881:"2eba69b477a8c7f7",18024:"360cc54c2f070fa1",18236:"02c13f95242e1147",18276:"4e4950daea1be290",18291:"6c48a745093c472f",19015:"e0d16d65430522c1",19019:"da3969c029230434",19338:"65cfcfafa18f6aee",19656:"ee0407bae11dd49b",20118:"5e7942f9d596e02b",20171:"9c80c2880256be96",20186:"2a00fa806bf383a5",20341:"a1649a45ba0da5ab",20586:"7cd940a582176e37",20587:"d03a7c9ddae70251",20851:"383095475aa0becf",21063:"5cc29b3160a78147",21233:"fbc3473b758427be",21285:"944c1ff822774352",21290:"ef2762694c3c05e5",21343:"eb8e7aeda8b2b933",21546:"8b2a80eefde810c5",21558:"e72df6c050a17223",21785:"19b23ee028f6262f",21789:"ad6ff228e2917e82",22190:"149dd0799cbcba06",22463:"8f0a0111946c5e37",22485:"9f11764648028b9d",23338:"01f537c5dfd51363",23895:"a3ad3684a5b39547",24021:"e608f829b761ed19",24364:"a59ebe9142818688",24562:"f31cdddfe04624d0",24566:"605ccb37c2b09b7f",24976:"aea37ff8444ce6ca",25018:"51cf65637b375c88",25239:"e13f63bff8d7f459",25934:"45b477fc38b233d5",26558:"337afe8cd6c7f7e2",26594:"9cd92c85c51a3621",26604:"c5f0e687052abb59",27004:"7265fd004542a6ae",27261:"3ad525eea1f52dc3",27509:"8f83a84fed1129f3",27571:"33642de22553efae",27783:"70af75ac091e5b31",27929:"e9a99a263c294b0a",27992:"daf28998ef0714a0",28025:"1025ed4465b8b88e",28244:"3a5e72d3a4048558",28247:"e5faa56338e43301",29047:"65b677c7f3e6459f",29708:"0f9c08d7ca8a6036",30285:"7b6b107412564a45",30433:"919c34e206690a26",30550:"a8db081db527730d",30682:"b12a9bef588e7b03",31035:"06568e4accfa4664",31135:"8f2dbe06dab9d206",31204:"a8d94d78458557d5",31467:"9f8adfa602f97fcf",31570:"131868ccedfef522",31618:"663e0a27f529a7b5",31635:"fcbdbf0d1e8271e8",31807:"cf2a0cbbe7eedf32",32092:"f10268018cf52339",32217:"31e64d0e8696d298",32411:"6d37c2b4b2f2efb7",32729:"f7ddbed25cb15da4",32800:"6cee7ff19ca516a7",32900:"57aa606259738bd7",33187:"13c12f5c0821ac57",33316:"6b5f8f344baf7a8a",33456:"5499eb8e892b110a",33665:"804ece4d6c6e4eca",34037:"e8e16348aca40958",34414:"30d095dd419ccded",34500:"58eb096afca7a3d2",34520:"1a6c6a7c421b0ff3",34565:"58e4d12c607709a2",34780:"ddc8d0403f86cd76",34787:"33a6fe2b98db58fd",34966:"dde9356d869e2a0f",35246:"75a72283c3c974e2",35362:"80b6e5545194566a",35733:"cf4ac3f521c0b06d",35901:"aa7ec713edff30e2",35918:"8e970e73c59cd315",36301:"0598cc26dfacc4a8",36531:"4576573d1554d0bc",36622:"2ecd0754a1dd1f10",36884:"6af20de227ae01d6",36989:"9a0a62410bf9ec4e",37697:"9af6ac899a8114c0",37802:"6e3d9ec6ded108e7",38176:"e1818cbc0df1edff",38259:"d83981da5c72c88a",38277:"f24d85bdc720318e",38366:"e6e0132b8ba873d6",38513:"2edbf8332418852a",38542:"1b0e31f1f0e79950",38843:"bfbf5f2c316123fb",39012:"d1e022d895c7700f",40294:"82b8b706bf8526d2",41333:"464f95d32db59d47",41796:"b775772add38f765",42515:"0879489433824ebb",43203:"0a24d8e1e04b23e1",43245:"fd54cc2dd98a53cf",43335:"71662f3469b367dd",43520:"4abb22e9bfdeedab",44980:"c17d605b4685ba2d",44996:"e5fc9af9e1283894",45025:"bdb2a46a29ea6a7f",45300:"bac57dcaf4b1ae63",45939:"d37b9465101a9a32",45966:"ece098ca2637c63f",46366:"d1d9d65b646509b3",46778:"cbd78e2a3b8eb454",46783:"b9ce59941eb5c767",46965:"2ed4c28224e29499",47066:"214cf62dd898ea16",47492:"6b259d6ee0ddf4d8",47613:"946226a67a1e5cd1",47781:"f25170364c271869",47914:"11c71123fcab1d66",47947:"471d5da6bb51de27",48504:"2efb153cab87148c",48782:"4ca261e8e23a8983",49114:"19ce7b83efab6d05",49294:"fb738cc8f6f972c0",49307:"9ac8482ed1916e3d",49312:"b4ee106f6ca8df0d",49406:"f77074487dddb735",49515:"c8964ec6f6c710d1",49812:"9bb0091da44f3fb0",49954:"22ac9c291887443d",50681:"5621dcb316c1dbc0",51094:"83d8278e86159ae3",51159:"cd7d830da0e9a7d2",52644:"999d7bbfb0c77212",52786:"cca2f572d4b83716",53012:"8ea1cc9b669d4071",53323:"19d0c542f89ec743",53854:"80e3b10f38882782",53988:"a7e066e48567fceb",54102:"0057304a9b7c36fd",54176:"1c209b5691615c2d",55034:"91a22d75a4896d26",55156:"70eba4bb5853878e",55683:"c52199afe13b15ed",55973:"c413a5ed34ef941e",57041:"8e2e63f39906fd1e",57660:"e59694e7ee1dda97",58401:"3641b4aeb0a1db04",58633:"6d322b2074b1cd5b",58669:"5239eb8dd5a3486c",58699:"364d357d33fcb52f",59848:"e7330c096662be59",59865:"a0136e48383160ce",59907:"ad1253ca7a3c3cea",59944:"1c8f7a84b714a678",60206:"130abcb08ea9a564",60238:"36a32788f3ca64fe",60289:"cd3b3bd12d5566c1",60442:"b031854728be46ff",61719:"b6f17cb6498eec77",61728:"c943fe98606d2f24",61963:"fd130ba09dd25e2e",62608:"4f3ab017447b17dc",62681:"86ea4a7f1240e2e6",63255:"262cd1e7cd35ffe9",63306:"03cdfc8e5118dd97",64663:"9974d163d89c8e9d",64733:"0790a2c763961b3f",65317:"ab0c5ecb4164b291",65543:"a92297193082467c",65635:"f8007956118a4b5f",65838:"acacc76f9932a395",66109:"2a6ffd90bf3c50be",66166:"5d9b6692f44d4789",66420:"ed3b252047bf2d99",66895:"77a113ea7e9e0e19",66962:"e49d2beb52f4ccd7",67100:"6729ae254487b545",67142:"d2c7895f2f0c0ddb",67458:"930b27b1ef06fd49",67633:"7cfc302383a77925",67676:"7e4d1ac29a054c5a",67966:"9baea607f9d83322",67987:"eb24309f5b6a773f",68067:"b108a5ae88fd156b",68906:"e81b3cb0a0eb3c6e",69083:"a8e8997a24b8507c",69136:"7bc0b66e195430ba",69477:"5b79cd575f93298f",69763:"003df47b4ee38644",70110:"a55f51e24556d059",70488:"dbde26374c2c08a2",70777:"9cde6b69988ac88e",70899:"75cac02cc1311c86",70901:"76003b037a2c2ad2",71547:"6f736dbb3265d938",71587:"942ffd492f15bdd6",71627:"4fa787d284261d08",71762:"0abb31b68e350f6b",72731:"5ac0a9cf8a2a916b",72740:"022c79c58cd39306",72977:"70c698df7ec867d8",73315:"46afbb4c2ae67b44",73354:"5ac4dbd55effe981",73506:"b9c053e2335b6084",73886:"c398daab959c90db",74250:"637853b68a0bb5dc",74312:"8d075f77e65364f2",74522:"ed3762dbb6b389b0",74962:"c0f9177875e7f100",75493:"5c2f7c166c002ee9",75693:"47f44d601521bc1b",75847:"0a83259a1ed4c4db",75958:"d9640c4cd9cdd74f",76399:"bb1a5dff754b7126",77008:"fe96b7655475e404",77768:"d5b6fe554fd62dbb",78425:"ee8445a0943525f2",78453:"3e109458064b76e4",78931:"2d78541331d4cf71",79035:"a682e63d1a6c820f",79422:"8e2e63f39906fd1e",79581:"3d0cbc1897c20b80",79788:"9cb75de83877d3a4",79806:"21f1d23ca273000d",79983:"6a9732776a2b07d1",80039:"b7b8926c9e98f166",80043:"fc4c6fd07c8c702c",80053:"cccea694a8be7b09",80192:"0b53419821781f47",80447:"cbc8dcd0610f9340",80478:"75454fe2622f8d60",80514:"c180393ccbb2f62e",80559:"4d1ea1e2bde6d65b",80653:"ba5596638b5efe48",80934:"cadd9fcd52d99096",81014:"7b65385965b83d33",81078:"d1b12131827159fc",81768:"13a175a018951bc8",82171:"e532a5af5a92acb9",82292:"2fb55f1ea9249601",82346:"d5de461383d78bd3",82666:"805e44c88f89e4f5",83086:"cf3390a953e4e275",83177:"4b3f31d9e183d57a",83561:"8959cb05be5bba5c",83842:"2211d720bd76fa0a",83978:"78a0d317cfb0f7fa",84553:"26f4216de4e92834",85120:"e1418b8e76b49092",85135:"45ba2b68ef521957",85350:"c86c2e91cf3d247e",85947:"c813bf8bc6e1d675",86533:"96712909323ba4fd",86749:"a4033144c9f1db80",86978:"fcbdaf718d4b4cb8",88087:"6ae9d65d22727e7d",88298:"33f9c586ab229ba6",88343:"f95f9ca9ad905248",88439:"528a166b33a003d3",88958:"3f88a829e6ab9f1d",89091:"e6f60560ceac7848",89231:"7bd196023a80ac20",89379:"ccf569c6fdc84136",89486:"ae3ab6537c32a471",90040:"a0d185d54c4405d8",90179:"1fbab23e5d44b4f0",90669:"fea27affbd10509b",90740:"15b9eae85318ce19",91246:"9377a763aead9164",91468:"5a3936bb7fa502b7",91469:"056f34e448b9e3e5",91709:"ed3bfd285c518df1",91848:"089cc7d1be73e1ca",92147:"1340020e2f5cbef2",92924:"d50fc7f02672d2e6",92966:"b84b80410d014b96",93008:"7c404d8dceb67ff3",93722:"8500c1244c0aef9d",93996:"d810c0882af7cbe0",94314:"3bd48a7f7f885bb5",94400:"0d371a4d306a614b",94521:"f712b07f8f7651a9",94568:"2a2be37b4884c8cd",94725:"da1eff47b3e365cc",94867:"0ee353b2db6bf4f7",95305:"440c9cb9053df6bf",95402:"c345ce68aa5052a7",95470:"c594ecf25a203664",95792:"10f4124238152859",95963:"67eefa12cb90855f",96028:"cdbf36dca753e70f",96132:"ab9b9433c7b2fa1c",96230:"bf5cc20b343c438e",96309:"5c0610a0df7eaade",96554:"e768705a9558aa17",96623:"dd689039b85a3f89",96758:"b001e8afcb01a36d",97008:"ccf2a72ddb49895c",97229:"0b004c237f17530f",97543:"f224959967762c0b",97829:"bed98706765262d6",97974:"2157a18e2a93432f",98171:"be964141d5e6052f",98309:"223ad4f3e01558ae",98340:"8d1870938669f76e",99373:"111493dc260a2a04",99435:"73c4d651008c0493",99501:"c56a4f18b2fdff6a",99801:"9d73f814d33c5a86"})[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={},a="_N_E:";c.l=(d,f,b,t)=>{if(e[d])return void e[d].push(f);if(void 0!==b)for(var r,n,o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==d||s.getAttribute("data-webpack")==a+b){r=s;break}}r||(n=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,c.nc&&r.setAttribute("nonce",c.nc),r.setAttribute("data-webpack",a+b),r.src=c.tu(d)),e[d]=[f];var u=(a,c)=>{r.onerror=r.onload=null,clearTimeout(l);var f=e[d];if(delete e[d],r.parentNode&&r.parentNode.removeChild(r),f&&f.forEach(e=>e(c)),a)return a(c)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),n&&document.head.appendChild(r)}})(),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;c.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),c.tu=e=>c.tt().createScriptURL(e),c.p="/_next/",(()=>{var e={78068:0,53169:0,32492:0,41282:0};c.f.j=(a,d)=>{var f=c.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(32492|41282|53169|78068)$/.test(a))e[a]=0;else{var b=new Promise((c,d)=>f=e[a]=[c,d]);d.push(f[2]=b);var t=c.p+c.u(a),r=Error();c.l(t,d=>{if(c.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var b=d&&("load"===d.type?"missing":d.type),t=d&&d.target&&d.target.src;r.message="Loading chunk "+a+" failed.\n("+b+": "+t+")",r.name="ChunkLoadError",r.type=b,r.request=t,f[1](r)}},"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,d)=>{var f,b,[t,r,n]=d,o=0;if(t.some(a=>0!==e[a])){for(f in r)c.o(r,f)&&(c.m[f]=r[f]);if(n)var i=n(c)}for(a&&a(d);o<t.length;o++)b=t[o],c.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return c.O(i)},d=self.webpackChunk_N_E=self.webpackChunk_N_E||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))})(),c.nc=void 0})();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chorus-aidlc/chorus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.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": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chorus",
|
|
3
3
|
"description": "Chorus AI-DLC collaboration platform plugin for Claude Code. Automates session lifecycle, provides MCP tools for PM/Developer/Admin workflows, and enables multi-agent team observability.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.17.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Chorus-AIDLC"
|
|
7
7
|
},
|
|
@@ -234,8 +234,51 @@ cmd_mcp_tool() {
|
|
|
234
234
|
local tool_name="${1:-}"
|
|
235
235
|
local arguments="${2:-{\}}"
|
|
236
236
|
[ -n "$tool_name" ] || die "Usage: chorus-api.sh mcp-tool <tool_name> [arguments_json]"
|
|
237
|
+
|
|
238
|
+
# Decide ONCE whether we can delegate to the native `chorus` CLI. `chorus mcp`
|
|
239
|
+
# (and profile-by-name/uuid selection) only exists in chorus >= 0.17.0, so
|
|
240
|
+
# version-gate: `chorus --version` prints a bare X.Y.Z; parse the first
|
|
241
|
+
# MAJOR.MINOR and accept major>0 OR (major==0 && minor>=17). Bash 3.2-safe.
|
|
242
|
+
# CHORUS_MCP_NO_CLI forces the curl path.
|
|
243
|
+
local _cli_usable=0 _cli_ver="" _cli_major _cli_minor
|
|
244
|
+
if [ -z "${CHORUS_MCP_NO_CLI:-}" ] && command -v chorus >/dev/null 2>&1; then
|
|
245
|
+
_cli_ver=$(chorus --version 2>/dev/null | head -1 | tr -d '\r' || true)
|
|
246
|
+
_cli_major=$(printf '%s' "$_cli_ver" | sed -n 's/^[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1/p')
|
|
247
|
+
_cli_minor=$(printf '%s' "$_cli_ver" | sed -n 's/^[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\2/p')
|
|
248
|
+
if [ -n "$_cli_major" ] && [ -n "$_cli_minor" ] && { [ "$_cli_major" -gt 0 ] || [ "$_cli_minor" -ge 17 ]; }; then
|
|
249
|
+
_cli_usable=1
|
|
250
|
+
fi
|
|
251
|
+
fi
|
|
252
|
+
|
|
253
|
+
# Profile path (PREFERRED): CHORUS_AGENT_PROFILE + a usable CLI -> delegate by
|
|
254
|
+
# profile. The CLI reads this agent's key from ~/.chorus/daemon.json, so
|
|
255
|
+
# CHORUS_URL/CHORUS_API_KEY need NOT be set. When the CLI is absent/old we fall
|
|
256
|
+
# through to the url+key path (the documented fallback).
|
|
257
|
+
if [ -n "${CHORUS_AGENT_PROFILE:-}" ] && [ "$_cli_usable" -eq 1 ]; then
|
|
258
|
+
local cli_status=0
|
|
259
|
+
chorus mcp call "$tool_name" "$arguments" --agent "$CHORUS_AGENT_PROFILE" || cli_status=$?
|
|
260
|
+
return "$cli_status"
|
|
261
|
+
fi
|
|
262
|
+
|
|
263
|
+
# url+key path. This wrapper stays the single credential resolver, so pass
|
|
264
|
+
# CHORUS_URL/CHORUS_API_KEY explicitly. Prefer the CLI when usable (a byte-exact
|
|
265
|
+
# drop-in for this curl path, #505); the fallback never triggers on a call
|
|
266
|
+
# *failure* — a present-but-erroring `chorus mcp call` propagates its stdout,
|
|
267
|
+
# stderr, and exit code verbatim (no curl retry, no double request).
|
|
237
268
|
require_env
|
|
238
269
|
ensure_state
|
|
270
|
+
if [ "$_cli_usable" -eq 1 ]; then
|
|
271
|
+
local cli_status=0
|
|
272
|
+
chorus mcp call "$tool_name" "$arguments" \
|
|
273
|
+
--url "$CHORUS_URL" --api-key "$CHORUS_API_KEY" || cli_status=$?
|
|
274
|
+
return "$cli_status"
|
|
275
|
+
fi
|
|
276
|
+
if [ -z "${CHORUS_MCP_NO_CLI:-}" ] && command -v chorus >/dev/null 2>&1; then
|
|
277
|
+
# `chorus` is present but too old for `chorus mcp` -> actionable upgrade error
|
|
278
|
+
# (no silent curl fallback).
|
|
279
|
+
echo "ERROR: chorus CLI version '${_cli_ver:-unknown}' is too old; 'chorus mcp' requires chorus >= 0.17.0. Upgrade with: npm install -g @chorus-aidlc/chorus" >&2
|
|
280
|
+
return 1
|
|
281
|
+
fi
|
|
239
282
|
|
|
240
283
|
local mcp_url="${CHORUS_URL}/api/mcp"
|
|
241
284
|
local auth_header="Authorization: Bearer ${CHORUS_API_KEY}"
|
|
@@ -249,7 +292,7 @@ cmd_mcp_tool() {
|
|
|
249
292
|
# Step 1: Initialize MCP session
|
|
250
293
|
local init_payload
|
|
251
294
|
init_payload=$(cat <<JSONEOF
|
|
252
|
-
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"chorus-hook","version":"0.
|
|
295
|
+
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"chorus-hook","version":"0.17.0"}}}
|
|
253
296
|
JSONEOF
|
|
254
297
|
)
|
|
255
298
|
|
|
@@ -125,11 +125,11 @@ if [ "$CHORUS_OPENSPEC_ACTIVE" = "1" ]; then
|
|
|
125
125
|
|
|
126
126
|
OpenSpec mode is **active** for this session. When the proposal / develop / yolo skills reach an OpenSpec-aware step, load the openspec-aware skill at \`.claude/skills/openspec-aware/SKILL.md\` and follow §3 (OpenSpec authoring) — do NOT re-run the §1 detection block, the answer is already known.
|
|
127
127
|
|
|
128
|
-
Critical rule (openspec-aware §2 Rule 1): document mirror calls (\`chorus_pm_add_document_draft\` / \`chorus_pm_update_document_draft\` / \`chorus_pm_update_document\`) MUST
|
|
128
|
+
Critical rule (openspec-aware §2 Rule 1): document mirror calls (\`chorus_pm_add_document_draft\` / \`chorus_pm_update_document_draft\` / \`chorus_pm_update_document\`) MUST fill \`content\` from the local file — prefer \`chorus mcp call <tool> '<json>' --arg-file content=<file>\`, falling back to \`chorus-api.sh mcp-tool\` with \`json_encode_file\` when \`chorus\` is not on PATH. Do NOT invoke these MCP tools directly with hand-typed \`content\` in OpenSpec mode."
|
|
129
129
|
else
|
|
130
130
|
CONTEXT="${CONTEXT}
|
|
131
131
|
|
|
132
|
-
OpenSpec mode is **inactive** for this session. The proposal / develop / yolo skills follow their free-form path; do NOT scaffold \`openspec/changes/\`, do NOT add an \`OpenSpec change slug:\` line to proposal descriptions, and do NOT route document mirror calls through \`chorus-api.sh\`."
|
|
132
|
+
OpenSpec mode is **inactive** for this session. The proposal / develop / yolo skills follow their free-form path; do NOT scaffold \`openspec/changes/\`, do NOT add an \`OpenSpec change slug:\` line to proposal descriptions, and do NOT route document mirror calls through the \`chorus\` CLI or \`chorus-api.sh\`."
|
|
133
133
|
if [ "$OPENSPEC_OPTOUT" = "1" ]; then
|
|
134
134
|
CONTEXT="${CONTEXT}
|
|
135
135
|
|
|
@@ -149,7 +149,8 @@ CONTEXT="${CONTEXT}
|
|
|
149
149
|
|
|
150
150
|
## Quick Reference
|
|
151
151
|
|
|
152
|
-
- **
|
|
152
|
+
- **Long-horizon work**: follow AI-DLC via the Chorus skill (idea → proposal → task → verify) rather than coding ad hoc, and use chorus_search to locate the specific work the user refers to across ideas/proposals/tasks/docs.
|
|
153
|
+
- **Active Projects**: checkin.activeProjects shows which projects you're advancing ideas in, with an active-idea count per project — it is a location map, not a per-idea to-do list. Use chorus_search to find the specific work the user refers to (across ideas/proposals/tasks/docs), and chorus_get_my_assignments for the full per-idea list.
|
|
153
154
|
- **Sessions**: Auto-managed by hooks. Do NOT call chorus_create_session/chorus_close_session for sub-agents. See /chorus:develop.
|
|
154
155
|
- **Notifications**: chorus_get_notifications() fetches and auto-marks read. See /chorus.
|
|
155
156
|
- **Project Groups**: chorus_get_project_groups() before creating projects. See /chorus."
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# test-mcp-cli-delegation.sh — prove the prefer-CLI / curl-fallback delegation
|
|
3
|
+
# added to every bash MCP wrapper (Decision 1 of the "retire bootstrap + migrate
|
|
4
|
+
# MCP path" tech design). One shared harness covers all four bash surfaces:
|
|
5
|
+
#
|
|
6
|
+
# Claude Code : public/chorus-plugin/bin/chorus-api.sh (mcp-tool)
|
|
7
|
+
# Kiro : public/kiro-plugin/bin/chorus-api.sh (mcp-tool)
|
|
8
|
+
# Codex : plugins/chorus/hooks/chorus-mcp-call.sh
|
|
9
|
+
# Pi : packages/chorus-pi/bin/chorus-mcp-call.sh
|
|
10
|
+
#
|
|
11
|
+
# (The dsh wrapper is a Node script — covered by tests/mcp-call-delegation.test.ts.)
|
|
12
|
+
#
|
|
13
|
+
# Contract asserted per surface:
|
|
14
|
+
# A. `chorus` on PATH (>= 0.17.0) -> delegates `chorus mcp call <tool> <json> --url … --api-key …`,
|
|
15
|
+
# propagating its stdout verbatim and exit 0.
|
|
16
|
+
# B. `chorus` present but FAILING -> propagates its non-zero exit (7) and stderr;
|
|
17
|
+
# NEVER falls back to curl (no double request / masked failure).
|
|
18
|
+
# C. CHORUS_MCP_NO_CLI=1 (escape hatch) -> ignores the CLI, takes the curl path.
|
|
19
|
+
# D. `chorus` absent -> takes the curl path.
|
|
20
|
+
# E. `chorus` present at a higher version (1.2.0, major>0) -> still delegates.
|
|
21
|
+
# F. `chorus` present but TOO OLD (0.16.4) -> version-gate error naming
|
|
22
|
+
# `npm install -g @chorus-aidlc/chorus` + the >= 0.17.0 floor; non-zero exit;
|
|
23
|
+
# NO `chorus mcp call` delegation and NO curl fallback.
|
|
24
|
+
# G. `chorus` present but version UNPARSEABLE -> same upgrade error, no delegation.
|
|
25
|
+
#
|
|
26
|
+
# Bash 3.2 compatible. No `set -e`: several scenarios intentionally run commands
|
|
27
|
+
# that exit non-zero, and we assert on the captured exit code.
|
|
28
|
+
|
|
29
|
+
set -uo pipefail
|
|
30
|
+
|
|
31
|
+
ROOT=$(cd "$(dirname "$0")/../../../.." && pwd)
|
|
32
|
+
TMP=$(mktemp -d)
|
|
33
|
+
trap 'rm -rf "$TMP"' EXIT
|
|
34
|
+
|
|
35
|
+
ORIG_PATH="$PATH"
|
|
36
|
+
|
|
37
|
+
# ---- shared credentials + throwaway state locations -----------------------
|
|
38
|
+
export CHORUS_URL="http://127.0.0.1:1" # guaranteed-unreachable -> curl fails fast
|
|
39
|
+
export CHORUS_API_KEY="cho_testkey"
|
|
40
|
+
export CHORUS_PLUGIN_STATE_ROOT="$TMP/global" # CC state (via chorus-paths.sh)
|
|
41
|
+
export CHORUS_STATE_DIR="$TMP/state" # Kiro state (direct)
|
|
42
|
+
export CLAUDE_PROJECT_DIR="$TMP/proj"
|
|
43
|
+
export CHORUS_SESSION_ID="testsess"
|
|
44
|
+
export CHORUS_FAKE_ARGS="$TMP/fake-args"
|
|
45
|
+
export CHORUS_FAKE_MARKER="$TMP/fake-marker"
|
|
46
|
+
mkdir -p "$CLAUDE_PROJECT_DIR"
|
|
47
|
+
|
|
48
|
+
TOOL="chorus_checkin"
|
|
49
|
+
JSON='{"foo":"bar"}' # no spaces -> deterministic "$*" comparison in the fake
|
|
50
|
+
EXPECTED_ARGS="mcp call $TOOL $JSON --url $CHORUS_URL --api-key $CHORUS_API_KEY"
|
|
51
|
+
# Profile-path (CHORUS_AGENT_PROFILE) expectations. A real agentName with a space
|
|
52
|
+
# proves the wrapper quotes it as a single argv element (the fake joins argv with
|
|
53
|
+
# spaces, so a broken quote would show up as extra tokens here).
|
|
54
|
+
PROFILE="Admin Claude"
|
|
55
|
+
EXPECTED_PROFILE_ARGS="mcp call $TOOL $JSON --agent $PROFILE"
|
|
56
|
+
|
|
57
|
+
# ---- fake `chorus` binary -------------------------------------------------
|
|
58
|
+
# `chorus --version` prints $CHORUS_FAKE_VERSION (a chosen X.Y.Z, or garbage to
|
|
59
|
+
# exercise the unparseable branch) and exits 0 WITHOUT touching the marker/args —
|
|
60
|
+
# so the marker proves a real `chorus mcp call` delegation, never a version probe.
|
|
61
|
+
# For any other argv it records its argv (joined) + a marker proving it ran, then
|
|
62
|
+
# succeeds with a sentinel on stdout or fails (exit 7) with a sentinel on stderr.
|
|
63
|
+
FAKEBIN="$TMP/fakebin"
|
|
64
|
+
mkdir -p "$FAKEBIN"
|
|
65
|
+
cat > "$FAKEBIN/chorus" <<'FAKE'
|
|
66
|
+
#!/usr/bin/env bash
|
|
67
|
+
if [ "$1" = "--version" ]; then
|
|
68
|
+
printf '%s\n' "${CHORUS_FAKE_VERSION:-0.17.0}"
|
|
69
|
+
exit 0
|
|
70
|
+
fi
|
|
71
|
+
printf '%s\n' "$*" > "$CHORUS_FAKE_ARGS"
|
|
72
|
+
: > "$CHORUS_FAKE_MARKER"
|
|
73
|
+
if [ "${CHORUS_FAKE_MODE:-ok}" = "fail" ]; then
|
|
74
|
+
printf 'CHORUS_CLI_SENTINEL_FAIL\n' >&2
|
|
75
|
+
exit 7
|
|
76
|
+
fi
|
|
77
|
+
printf 'CHORUS_CLI_SENTINEL_OK\n'
|
|
78
|
+
exit 0
|
|
79
|
+
FAKE
|
|
80
|
+
chmod +x "$FAKEBIN/chorus"
|
|
81
|
+
|
|
82
|
+
# ---- a sanitized PATH with every real tool EXCEPT `chorus` ----------------
|
|
83
|
+
# Guarantees `command -v chorus` is false for scenario D even if a real chorus
|
|
84
|
+
# happens to be installed on the host, while keeping curl/sed/mkdir/etc. available.
|
|
85
|
+
CLEANBIN="$TMP/cleanbin"
|
|
86
|
+
mkdir -p "$CLEANBIN"
|
|
87
|
+
_oifs="$IFS"; IFS=:
|
|
88
|
+
for _d in $ORIG_PATH; do
|
|
89
|
+
[ -d "$_d" ] || continue
|
|
90
|
+
for _f in "$_d"/*; do
|
|
91
|
+
[ -e "$_f" ] || continue
|
|
92
|
+
_b="${_f##*/}"
|
|
93
|
+
[ "$_b" = "chorus" ] && continue
|
|
94
|
+
[ -e "$CLEANBIN/$_b" ] || ln -s "$_f" "$CLEANBIN/$_b" 2>/dev/null || true
|
|
95
|
+
done
|
|
96
|
+
done
|
|
97
|
+
IFS="$_oifs"
|
|
98
|
+
|
|
99
|
+
# ---- assertion helpers ----------------------------------------------------
|
|
100
|
+
FAILS=0
|
|
101
|
+
ok() { printf ' ok %s\n' "$1"; }
|
|
102
|
+
bad() { printf ' FAIL %s\n' "$1"; FAILS=$((FAILS + 1)); }
|
|
103
|
+
contains() { case "$1" in *"$2"*) return 0 ;; *) return 1 ;; esac; }
|
|
104
|
+
|
|
105
|
+
# run_case <PATHVAL> <hatch:0|1> <fmode:ok|fail> [version] -> stdout on fd1, stderr to $TMP/err
|
|
106
|
+
# [version] is what the fake `chorus --version` prints (default 0.17.0 = delegates).
|
|
107
|
+
run_case() {
|
|
108
|
+
(
|
|
109
|
+
export PATH="$1"
|
|
110
|
+
export CHORUS_FAKE_MODE="$3"
|
|
111
|
+
export CHORUS_FAKE_VERSION="${4:-0.17.0}"
|
|
112
|
+
if [ "$2" = "1" ]; then export CHORUS_MCP_NO_CLI=1; else unset CHORUS_MCP_NO_CLI; fi
|
|
113
|
+
if [ "$MODE" = "mcp-tool" ]; then
|
|
114
|
+
exec bash "$WRAPPER" mcp-tool "$TOOL" "$JSON"
|
|
115
|
+
else
|
|
116
|
+
exec bash "$WRAPPER" "$TOOL" "$JSON"
|
|
117
|
+
fi
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
# run_profile_case <PATHVAL> <unset_urlkey:0|1> -> exercises CHORUS_AGENT_PROFILE
|
|
122
|
+
# with a usable CLI (0.17.0). unset_urlkey=1 proves profile mode needs no url/key;
|
|
123
|
+
# =0 proves the profile is PREFERRED even when url/key are also present.
|
|
124
|
+
run_profile_case() {
|
|
125
|
+
(
|
|
126
|
+
export PATH="$1"
|
|
127
|
+
export CHORUS_FAKE_MODE="ok"
|
|
128
|
+
export CHORUS_FAKE_VERSION="0.17.0"
|
|
129
|
+
unset CHORUS_MCP_NO_CLI
|
|
130
|
+
export CHORUS_AGENT_PROFILE="$PROFILE"
|
|
131
|
+
if [ "$2" = "1" ]; then unset CHORUS_URL CHORUS_API_KEY; fi
|
|
132
|
+
if [ "$MODE" = "mcp-tool" ]; then
|
|
133
|
+
exec bash "$WRAPPER" mcp-tool "$TOOL" "$JSON"
|
|
134
|
+
else
|
|
135
|
+
exec bash "$WRAPPER" "$TOOL" "$JSON"
|
|
136
|
+
fi
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
# ---- per-surface scenarios ------------------------------------------------
|
|
141
|
+
while read -r NAME MODE REL; do
|
|
142
|
+
[ -n "${NAME:-}" ] || continue
|
|
143
|
+
case "$NAME" in \#*) continue ;; esac
|
|
144
|
+
WRAPPER="$ROOT/$REL"
|
|
145
|
+
if [ ! -f "$WRAPPER" ]; then bad "$NAME: wrapper not found: $REL"; continue; fi
|
|
146
|
+
printf ' %s (%s)\n' "$NAME" "$REL"
|
|
147
|
+
|
|
148
|
+
# A. present + ok -> delegates, verbatim stdout, verbatim args, exit 0
|
|
149
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
150
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 0 ok 2>"$TMP/err"); RC=$?
|
|
151
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && ok "A: delegates stdout verbatim" \
|
|
152
|
+
|| bad "A: stdout missing CLI sentinel (got: $OUT)"
|
|
153
|
+
GOTARGS=$(head -1 "$CHORUS_FAKE_ARGS" 2>/dev/null || true)
|
|
154
|
+
[ "$GOTARGS" = "$EXPECTED_ARGS" ] && ok "A: forwards args + explicit creds" \
|
|
155
|
+
|| bad "A: arg mismatch (want [$EXPECTED_ARGS] got [$GOTARGS])"
|
|
156
|
+
[ "$RC" = "0" ] && ok "A: exit 0 propagated" || bad "A: exit $RC != 0"
|
|
157
|
+
|
|
158
|
+
# B. present + fail -> propagate exit 7 and stderr, NO curl fallback
|
|
159
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
160
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 0 fail 2>"$TMP/err"); RC=$?
|
|
161
|
+
[ "$RC" = "7" ] && ok "B: propagates failing exit 7 (no curl retry)" \
|
|
162
|
+
|| bad "B: exit $RC != 7 (fallback masked the failure?)"
|
|
163
|
+
[ -e "$CHORUS_FAKE_MARKER" ] && ok "B: CLI was invoked" || bad "B: CLI not invoked"
|
|
164
|
+
contains "$(cat "$TMP/err" 2>/dev/null)" "CHORUS_CLI_SENTINEL_FAIL" \
|
|
165
|
+
&& ok "B: CLI stderr propagated" || bad "B: CLI stderr not propagated"
|
|
166
|
+
|
|
167
|
+
# C. escape hatch -> skip CLI, take curl path
|
|
168
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
169
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 1 ok 2>"$TMP/err"); RC=$?
|
|
170
|
+
[ ! -e "$CHORUS_FAKE_MARKER" ] && ok "C: CHORUS_MCP_NO_CLI skips the CLI" \
|
|
171
|
+
|| bad "C: CLI invoked despite escape hatch"
|
|
172
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && bad "C: delegated despite escape hatch" \
|
|
173
|
+
|| ok "C: no delegation (curl path)"
|
|
174
|
+
|
|
175
|
+
# D. absent -> take curl path
|
|
176
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
177
|
+
OUT=$(run_case "$CLEANBIN" 0 ok 2>"$TMP/err"); RC=$?
|
|
178
|
+
[ ! -e "$CHORUS_FAKE_MARKER" ] && ok "D: absent chorus -> no delegation" \
|
|
179
|
+
|| bad "D: CLI invoked when absent"
|
|
180
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && bad "D: delegated when absent" \
|
|
181
|
+
|| ok "D: fell back to curl path"
|
|
182
|
+
|
|
183
|
+
# E. present at a higher version (1.2.0, major>0) -> still delegates
|
|
184
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
185
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 0 ok 1.2.0 2>"$TMP/err"); RC=$?
|
|
186
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && ok "E: v1.2.0 delegates" \
|
|
187
|
+
|| bad "E: v1.2.0 did not delegate (got: $OUT)"
|
|
188
|
+
[ -e "$CHORUS_FAKE_MARKER" ] && ok "E: CLI mcp-call invoked" || bad "E: CLI not invoked"
|
|
189
|
+
[ "$RC" = "0" ] && ok "E: exit 0 propagated" || bad "E: exit $RC != 0"
|
|
190
|
+
|
|
191
|
+
# F. present but too old (0.16.4) -> upgrade error, non-zero, NO delegation, NO curl
|
|
192
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
193
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 0 ok 0.16.4 2>"$TMP/err"); RC=$?
|
|
194
|
+
ERR=$(cat "$TMP/err" 2>/dev/null || true)
|
|
195
|
+
[ "$RC" != "0" ] && ok "F: too-old exits non-zero" || bad "F: too-old exited 0"
|
|
196
|
+
[ ! -e "$CHORUS_FAKE_MARKER" ] && ok "F: no mcp-call delegation" || bad "F: delegated to an old CLI"
|
|
197
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && bad "F: delegated stdout leaked" \
|
|
198
|
+
|| ok "F: no delegated stdout"
|
|
199
|
+
contains "$ERR" "npm install -g @chorus-aidlc/chorus" \
|
|
200
|
+
&& ok "F: error names npm upgrade command" || bad "F: error missing npm upgrade command"
|
|
201
|
+
contains "$ERR" "0.17.0" && ok "F: error names >= 0.17.0 floor" || bad "F: error missing floor"
|
|
202
|
+
contains "$ERR" "MCP initialize failed" && bad "F: fell back to curl (gate leaked)" \
|
|
203
|
+
|| ok "F: no curl fallback"
|
|
204
|
+
|
|
205
|
+
# G. present but version unparseable -> same upgrade error, non-zero, NO delegation
|
|
206
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
207
|
+
OUT=$(run_case "$FAKEBIN:$ORIG_PATH" 0 ok "not-a-version" 2>"$TMP/err"); RC=$?
|
|
208
|
+
ERR=$(cat "$TMP/err" 2>/dev/null || true)
|
|
209
|
+
[ "$RC" != "0" ] && ok "G: garbage version exits non-zero" || bad "G: garbage version exited 0"
|
|
210
|
+
[ ! -e "$CHORUS_FAKE_MARKER" ] && ok "G: no delegation on garbage version" \
|
|
211
|
+
|| bad "G: delegated on garbage version"
|
|
212
|
+
contains "$ERR" "npm install -g @chorus-aidlc/chorus" \
|
|
213
|
+
&& ok "G: garbage error names npm upgrade command" || bad "G: garbage error missing npm upgrade"
|
|
214
|
+
|
|
215
|
+
# H. CHORUS_AGENT_PROFILE + usable CLI, NO url/key -> delegates by profile,
|
|
216
|
+
# forwarding `--agent <profile>` (and NOT --url/--api-key), exit 0.
|
|
217
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
218
|
+
OUT=$(run_profile_case "$FAKEBIN:$ORIG_PATH" 1 2>"$TMP/err"); RC=$?
|
|
219
|
+
contains "$OUT" "CHORUS_CLI_SENTINEL_OK" && ok "H: profile-only delegates (no url/key)" \
|
|
220
|
+
|| bad "H: profile-only did not delegate (out: $OUT; err: $(cat "$TMP/err" 2>/dev/null))"
|
|
221
|
+
GOTARGS=$(head -1 "$CHORUS_FAKE_ARGS" 2>/dev/null || true)
|
|
222
|
+
[ "$GOTARGS" = "$EXPECTED_PROFILE_ARGS" ] && ok "H: forwards --agent <profile>" \
|
|
223
|
+
|| bad "H: profile arg mismatch (want [$EXPECTED_PROFILE_ARGS] got [$GOTARGS])"
|
|
224
|
+
[ "$RC" = "0" ] && ok "H: exit 0 propagated" || bad "H: exit $RC != 0"
|
|
225
|
+
|
|
226
|
+
# I. CHORUS_AGENT_PROFILE is PREFERRED over url+key when both are set.
|
|
227
|
+
rm -f "$CHORUS_FAKE_MARKER" "$CHORUS_FAKE_ARGS"
|
|
228
|
+
OUT=$(run_profile_case "$FAKEBIN:$ORIG_PATH" 0 2>"$TMP/err"); RC=$?
|
|
229
|
+
GOTARGS=$(head -1 "$CHORUS_FAKE_ARGS" 2>/dev/null || true)
|
|
230
|
+
[ "$GOTARGS" = "$EXPECTED_PROFILE_ARGS" ] && ok "I: profile preferred over url+key" \
|
|
231
|
+
|| bad "I: expected --agent delegation, got [$GOTARGS]"
|
|
232
|
+
done <<EOF
|
|
233
|
+
CC mcp-tool public/chorus-plugin/bin/chorus-api.sh
|
|
234
|
+
KIRO mcp-tool public/kiro-plugin/bin/chorus-api.sh
|
|
235
|
+
CODEX direct plugins/chorus/hooks/chorus-mcp-call.sh
|
|
236
|
+
PI direct packages/chorus-pi/bin/chorus-mcp-call.sh
|
|
237
|
+
EOF
|
|
238
|
+
|
|
239
|
+
echo ""
|
|
240
|
+
if [ "$FAILS" -gt 0 ]; then
|
|
241
|
+
echo "mcp-cli-delegation: $FAILS check(s) FAILED"
|
|
242
|
+
exit 1
|
|
243
|
+
fi
|
|
244
|
+
echo "mcp-cli-delegation: all bash-wrapper delegation checks PASS"
|