@chorus-aidlc/chorus 0.18.1 → 0.19.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 +183 -183
- package/.next/standalone/.next/app-path-routes-manifest.json +33 -33
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +24 -24
- 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 +2 -2
- 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_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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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 +33 -33
- package/.next/standalone/.next/server/chunks/1318.js +1 -1
- package/.next/standalone/.next/server/chunks/1559.js +2 -2
- package/.next/standalone/.next/server/chunks/{2195.js → 1683.js} +1 -1
- package/.next/standalone/.next/server/chunks/3341.js +1 -0
- package/.next/standalone/.next/server/chunks/5453.js +1 -1
- package/.next/standalone/.next/server/chunks/5489.js +1 -1
- package/.next/standalone/.next/server/chunks/6607.js +1 -0
- package/.next/standalone/.next/server/chunks/679.js +1 -1
- package/.next/standalone/.next/server/chunks/{2460.js → 7400.js} +1 -1
- package/.next/standalone/.next/server/chunks/8185.js +1 -0
- package/.next/standalone/.next/server/chunks/{8030.js → 9848.js} +2 -2
- package/.next/standalone/.next/server/chunks/9931.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/18751-3616e33050e9611e.js +1 -0
- package/.next/standalone/.next/static/chunks/26020-7b4756ba0aa906cf.js +1 -0
- package/.next/standalone/.next/static/chunks/{25080-25ad29e64c855338.js → 44437-d13183f50281116f.js} +1 -1
- package/.next/standalone/.next/static/chunks/59713-426f81b6576173d8.js +1 -0
- package/.next/standalone/.next/static/chunks/60351-bdef539874e5027e.js +1 -0
- package/.next/standalone/.next/static/chunks/79919-1e7e294a06f2c4a0.js +1 -0
- package/.next/standalone/.next/static/chunks/99733-5a2e39f57fbda32d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-072a6b8f0a48b1b6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-198a3ff89ae871b9.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-a506de82e8997714.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-57c698dea2fa6e29.js → page-dc54fafa22d21863.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-d2bb622855e746f1.js → page-6eb5d3cb036a78e0.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-69c6f0190623e19b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-2a52f747e6fac5a7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-46a0ddfd0421b0a8.js → page-22cce567a85ea291.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-3a83748ce0ae1c4f.js → page-301f21a3ae52e318.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-8af9bb9f96ab0258.js → page-dd123990c14e9768.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-548231f8c9856489.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-5914ff3d878a3c34.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +63 -6
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +60 -6
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +75 -8
- package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- 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 +1 -1
- package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +56 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +79 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +56 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +60 -4
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +58 -5
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +72 -6
- package/README.ja.md +3 -1
- package/README.ko.md +3 -1
- package/README.md +3 -1
- package/README.zh.md +3 -1
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/2758.js +0 -1
- package/.next/standalone/.next/server/chunks/4066.js +0 -1
- package/.next/standalone/.next/server/chunks/7675.js +0 -1
- package/.next/standalone/.next/static/chunks/14628-283d3983d1fb36c9.js +0 -1
- package/.next/standalone/.next/static/chunks/28698-7fb271ffc6e63a26.js +0 -1
- package/.next/standalone/.next/static/chunks/32736-aeaaa1e4c4d5529b.js +0 -1
- package/.next/standalone/.next/static/chunks/75257-99c0ce24b436847b.js +0 -1
- package/.next/standalone/.next/static/chunks/79919-0c6dcda1dd8646f0.js +0 -1
- package/.next/standalone/.next/static/chunks/91328-f501e3c3ca519a92.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-f3c6431432d42c7c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-5d723f974bdad33b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-8d3b1f4d8b76d66c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-fc255dc3612032b9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-f032ee8a80d1f56a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b02939820affdae5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-d2c0c7951114e763.js +0 -1
- /package/.next/standalone/.next/static/{dot63ILT878Tloqi7Czj_ → Pmji9kEq8T2lM6AKQkZji}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{dot63ILT878Tloqi7Czj_ → Pmji9kEq8T2lM6AKQkZji}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[91143],{11227:(e,t,r)=>{"use strict";r.d(t,{MarkdownContent:()=>h});var n=r(90508),a=r(1856),s=r(65700),o=r(39268);function i(e){let{entries:t}=e,r=(0,o.c)("markdown");return(0,n.jsx)("section",{"aria-label":r("frontmatterLabel"),className:"mb-4 rounded-lg border border-border bg-muted/40 px-4 py-3",children:(0,n.jsx)("dl",{className:"grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-4 gap-y-1.5 text-sm",children:t.map((e,t)=>(0,n.jsxs)("div",{className:"grid grid-cols-subgrid col-span-2",children:[(0,n.jsx)("dt",{className:"font-mono text-xs leading-5 text-muted-foreground break-words",children:e.key}),(0,n.jsx)("dd",{className:"leading-5 text-foreground break-words",children:""===e.value?(0,n.jsx)("span",{"aria-hidden":"true",children:"—"}):e.value})]},"".concat(e.key,"-").concat(t)))})})}let l=/^[A-Za-z0-9_.-]+$/,c=new Set(["{","[","|",">","&","*"]);var u=r(19169),d=r(26190);let f=u.a,p=(0,u.V)({themes:["github-dark","github-dark"]});u.a,d.a;let m={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function h(e){let{children:t,components:r,allowedTags:o,literalTagContent:u}=e,h=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,r=()=>t(e.classList.contains("dark"));r();let n=new MutationObserver(r);return n.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>n.disconnect()},[]),e}(),{entries:x,body:v}=(0,a.useMemo)(()=>(function(e){let t={entries:null,body:e};if(!e.startsWith("---"))return t;let r=0,n=()=>{if(r>=e.length)return null;let t=e.indexOf("\n",r),n=e.slice(r,-1===t?e.length:t);return r=-1===t?e.length:t+1,n.endsWith("\r")?n.slice(0,-1):n};if("---"!==n())return t;let a=[],s=-1;for(;;){let e=n();if(null===e)return t;if("---"===e||"..."===e){s=r;break}if(""===e.trim()||e.trimStart().startsWith("#"))continue;let o=e.indexOf(":");if(o<=0)return t;let i=e.slice(0,o);if(!l.test(i))return t;let u=e.slice(o+1);if(""!==u&&!/^[ \t]/.test(u))return t;let d=function(e){let t=e.trim();if(""===t)return"";let r=t[0];if('"'===r||"'"===r){let e=t.indexOf(r,1);if(e>0)return t.slice(1,e)}return t.replace(/[ \t]+#.*$/,"").trimEnd()}(u);if(""!==d&&c.has(d[0]))return t;a.push({key:i,value:d})}return 0===a.length?t:{entries:a,body:e.slice(s)}})(t),[t]),g=(0,a.useMemo)(()=>({config:{theme:h?"dark":"default"}}),[h]),b=(0,a.useMemo)(()=>({code:h?p:f,mermaid:d.a}),[h]);return(0,n.jsxs)(n.Fragment,{children:[x&&(0,n.jsx)(i,{entries:x}),(0,n.jsx)(s.jH,{plugins:b,controls:m,mermaid:g,components:r,allowedTags:o,literalTagContent:u,children:v},h?"dark":"light")]})}},24377:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var n=r(49251),a=r(58849);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}},30423:(e,t,r)=>{"use strict";r.d(t,{j:()=>a});let n=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%n.length;return n[t]}},43528:(e,t,r)=>{"use strict";r.d(t,{ProposalKanban:()=>k});var n=r(90508),a=r(1856),s=r(12790),o=r.n(s),i=r(39268),l=r(48416),c=r(57731),u=r(94903),d=r(91385),f=r(11227),p=r(63964),m=r(62205),h=r(96213),x=r(16544),v=r(52217);let g=(0,v.createServerReference)("40373dcc7368ef02ac677a32bd283b89708f22ee0e",v.callServer,void 0,v.findSourceMapURL,"fetchProposalsAction"),b=[{id:"draft",labelKey:"status.draft",statuses:["draft"]},{id:"pending",labelKey:"status.pendingReview",statuses:["pending"]},{id:"completed",labelKey:"proposals.completed",statuses:["approved","closed"]}],y={draft:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",pending:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",approved:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#2E7D32] dark:text-[#5FD07E]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]"},w={draft:"draft",pending:"pendingReview",approved:"approved",closed:"closed"},j=[{id:"all",labelKey:"proposals.all",statuses:[]},...b];function E(e){let{proposal:t,projectUuid:r,t:a}=e,s=function(e){var t,r;let n=(null==(t=e.documentDrafts)?void 0:t.length)||0,a=(null==(r=e.taskDrafts)?void 0:r.length)||0;return n>0&&a>0?"proposals.typeDocumentAndTasks":n>0?1===n?"proposals.typeNewDocument":"proposals.typeDocumentUpdate":a>0?"proposals.typeTaskBreakdown":null}(t);return(0,n.jsx)(o(),{href:"/projects/".concat(r,"/proposals/").concat(t.uuid),className:"block",children:(0,n.jsx)(h.D,{entityType:"proposal",entityUuid:t.uuid,children:(0,n.jsxs)(l.Zp,{className:"cursor-pointer border-border bg-card p-4 transition-all hover:border-primary hover:shadow-sm",children:[(0,n.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,n.jsx)(c.E,{className:y[t.status]||y.draft,children:a("status.".concat(w[t.status]||t.status))}),s&&(0,n.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-xs font-medium text-[#E65100] dark:text-[#F0A050]",children:a(s)})]}),(0,n.jsx)("h4",{className:"mb-1 font-medium text-foreground",children:t.title}),t.description&&(0,n.jsx)("div",{className:"prose prose-sm max-w-none mb-2 line-clamp-2 text-sm text-muted-foreground",children:(0,n.jsx)(f.MarkdownContent,{children:t.description})}),(0,n.jsx)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:t.createdBy&&(0,n.jsxs)("span",{className:"flex items-center gap-1",children:["agent"===t.createdByType?(0,n.jsx)(d.AgentAvatar,{name:t.createdBy.name,size:16,className:"rounded-full"}):(0,n.jsx)(u.A,{className:"h-3 w-3"}),t.createdBy.name]})})]})})})}function k(e){let{projectUuid:t,proposals:r}=e,s=(0,i.c)(),o=(0,m.a)(),[l,c]=(0,a.useState)("all"),[u,d]=(0,a.useState)(r);(0,a.useEffect)(()=>{d(r)},[r]);let f=(0,a.useCallback)(async()=>{let e=await g(t);e.success&&d(e.data)},[t]);(0,p.eV)("proposal",f);let h=e=>u.filter(t=>e.includes(t.status));if(o){let e=j.find(e=>e.id===l)||j[0],r="all"===l?u:h(e.statuses);return(0,n.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,n.jsx)("div",{className:"flex gap-2 overflow-x-auto pb-3 mb-4",children:j.map(e=>{let t="all"===e.id?u.length:h(e.statuses).length,r=l===e.id;return(0,n.jsxs)("button",{onClick:()=>c(e.id),className:"flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ".concat(r?"bg-primary text-white":"bg-secondary text-muted-foreground hover:bg-[#EDE9E1] dark:hover:bg-[#2a2a2e]"),children:[s(e.labelKey),(0,n.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-xs ".concat(r?"bg-card/20 text-white":"bg-card text-muted-foreground"),children:t})]},e.id)})}),(0,n.jsx)("div",{className:"flex-1 space-y-3",children:0===r.length?(0,n.jsx)(x.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:s("proposals.noProposals")}):r.map(e=>(0,n.jsx)(E,{proposal:e,projectUuid:t,t:s},e.uuid))})]})}return(0,n.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:b.map(e=>{let r=h(e.statuses);return(0,n.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-secondary p-4",children:[(0,n.jsx)("div",{className:"mb-4 flex items-center justify-between",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("h3",{className:"font-medium text-foreground",children:s(e.labelKey)}),(0,n.jsx)("span",{className:"rounded-full bg-card px-2 py-0.5 text-xs font-medium text-muted-foreground",children:r.length})]})}),(0,n.jsx)("div",{className:"flex-1 space-y-4 overflow-y-auto pt-3",children:0===r.length?(0,n.jsx)(x.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:s("proposals.noProposals")}):r.map(e=>(0,n.jsx)(E,{proposal:e,projectUuid:t,t:s},e.uuid))})]},e.id)})})}},45841:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Arrow:()=>V,Content:()=>Q,Portal:()=>G,Provider:()=>W,Root:()=>Z,Tooltip:()=>P,TooltipArrow:()=>H,TooltipContent:()=>F,TooltipPortal:()=>L,TooltipProvider:()=>k,TooltipTrigger:()=>S,Trigger:()=>q,createTooltipScope:()=>g});var n=r(1856),a=r(33328),s=r(34124),o=r(21032),i=r(63569),l=r(40577),c=r(67221),u=r(17533),d=r(19900),f=r(93367),p=r(54154),m=r(66249),h=r(78134),x=r(90508),[v,g]=(0,o.A)("Tooltip",[c.Bk]),b=(0,c.Bk)(),y="TooltipProvider",w="tooltip.open",[j,E]=v(y),k=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:a=300,disableHoverableContent:s=!1,children:o}=e,i=n.useRef(!0),l=n.useRef(!1),c=n.useRef(0);return n.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(j,{scope:t,isOpenDelayedRef:i,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(c.current),i.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.current=!0,a)},[a]),isPointerInTransitRef:l,onPointerInTransitChange:n.useCallback(e=>{l.current=e},[]),disableHoverableContent:s,children:o})};k.displayName=y;var C="Tooltip",[N,T]=v(C),P=e=>{let{__scopeTooltip:t,children:r,open:a,defaultOpen:s,onOpenChange:o,disableHoverableContent:i,delayDuration:u}=e,d=E(C,e.__scopeTooltip),f=b(t),[p,h]=n.useState(null),v=(0,l.B)(),g=n.useRef(0),y=null!=i?i:d.disableHoverableContent,j=null!=u?u:d.delayDuration,k=n.useRef(!1),[T,P]=(0,m.i)({prop:a,defaultProp:null!=s&&s,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),null==o||o(e)},caller:C}),R=n.useMemo(()=>T?k.current?"delayed-open":"instant-open":"closed",[T]),S=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,k.current=!1,P(!0)},[P]),A=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,P(!1)},[P]),D=n.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{k.current=!0,P(!0),g.current=0},j)},[j,P]);return n.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,x.jsx)(c.bL,{...f,children:(0,x.jsx)(N,{scope:t,contentId:v,open:T,stateAttribute:R,trigger:p,onTriggerChange:h,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?D():S()},[d.isOpenDelayedRef,D,S]),onTriggerLeave:n.useCallback(()=>{y?A():(window.clearTimeout(g.current),g.current=0)},[A,y]),onOpen:S,onClose:A,disableHoverableContent:y,children:r})})};P.displayName=C;var R="TooltipTrigger",S=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,i=T(R,r),l=E(R,r),u=b(r),d=n.useRef(null),p=(0,s.s)(t,d,i.onTriggerChange),m=n.useRef(!1),h=n.useRef(!1),v=n.useCallback(()=>m.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,x.jsx)(c.Mz,{asChild:!0,...u,children:(0,x.jsx)(f.sG.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:p,onPointerMove:(0,a.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(h.current||l.isPointerInTransitRef.current||(i.onTriggerEnter(),h.current=!0))}),onPointerLeave:(0,a.mK)(e.onPointerLeave,()=>{i.onTriggerLeave(),h.current=!1}),onPointerDown:(0,a.mK)(e.onPointerDown,()=>{i.open&&i.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,a.mK)(e.onFocus,()=>{m.current||i.onOpen()}),onBlur:(0,a.mK)(e.onBlur,i.onClose),onClick:(0,a.mK)(e.onClick,i.onClose)})})});S.displayName=R;var A="TooltipPortal",[D,M]=v(A,{forceMount:void 0}),L=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,s=T(A,t);return(0,x.jsx)(D,{scope:t,forceMount:r,children:(0,x.jsx)(d.C,{present:r||s.open,children:(0,x.jsx)(u.Portal,{asChild:!0,container:a,children:n})})})};L.displayName=A;var U="TooltipContent",F=n.forwardRef((e,t)=>{let r=M(U,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...s}=e,o=T(U,e.__scopeTooltip);return(0,x.jsx)(d.C,{present:n||o.open,children:o.disableHoverableContent?(0,x.jsx)(K,{side:a,...s,ref:t}):(0,x.jsx)(O,{side:a,...s,ref:t})})}),O=n.forwardRef((e,t)=>{let r=T(U,e.__scopeTooltip),a=E(U,e.__scopeTooltip),o=n.useRef(null),i=(0,s.s)(t,o),[l,c]=n.useState(null),{trigger:u,onClose:d}=r,f=o.current,{onPointerInTransitChange:p}=a,m=n.useCallback(()=>{c(null),p(!1)},[p]),h=n.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,a,s)){case s:return"left";case a:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,a),...function(e){let{top:t,right:r,bottom:n,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:n},{x:a,y:n}]}(t.getBoundingClientRect())])),p(!0)},[p]);return n.useEffect(()=>()=>m(),[m]),n.useEffect(()=>{if(u&&f){let e=e=>h(e,f),t=e=>h(e,u);return u.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[u,f,h,m]),n.useEffect(()=>{if(l){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=(null==u?void 0:u.contains(t))||(null==f?void 0:f.contains(t)),a=!function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let o=t[e],i=t[s],l=o.x,c=o.y,u=i.x,d=i.y;c>n!=d>n&&r<(u-l)*(n-c)/(d-c)+l&&(a=!a)}return a}(r,l);n?m():a&&(m(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,f,l,d,m]),(0,x.jsx)(K,{...e,ref:i})}),[_,B]=v(C,{isInside:!1}),z=(0,p.Dc)("TooltipContent"),K=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:a,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:l,...u}=e,d=T(U,r),f=b(r),{onClose:p}=d;return n.useEffect(()=>(document.addEventListener(w,p),()=>document.removeEventListener(w,p)),[p]),n.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(d.trigger))&&p()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,p]),(0,x.jsx)(i.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:p,children:(0,x.jsxs)(c.UC,{"data-state":d.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,x.jsx)(z,{children:a}),(0,x.jsx)(_,{scope:r,isInside:!0,children:(0,x.jsx)(h.bL,{id:d.contentId,role:"tooltip",children:s||a})})]})})});F.displayName=U;var I="TooltipArrow",H=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=b(r);return B(I,r).isInside?null:(0,x.jsx)(c.i3,{...a,...n,ref:t})});H.displayName=I;var W=k,Z=P,q=S,G=L,Q=F,V=H},47754:(e,t,r)=>{"use strict";r.d(t,{fv:()=>h,xQ:()=>x});var n=r(1856),a=r(63964);let s=new Map,o=new Map,i=new Map,l=new Set,c=0;function u(e,t,r,n){return r?n?"".concat(e,":").concat(t,":").concat(r,":").concat(n):"".concat(e,":").concat(t,":").concat(r):"".concat(e,":").concat(t)}function d(){c++,l.forEach(e=>e())}function f(e){var t;let r=e.subEntityType,n=e.subEntityUuid,a=u(e.entityType,e.entityUuid,r,n),l=function(e,t,r,n,a){let s=u(e,t,n,a);return"".concat(s,":").concat(r)}(e.entityType,e.entityUuid,e.agentUuid,r,n),c=o.get(l);if(c&&Date.now()-c<3e3)return;o.set(l,Date.now());let f={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(f),s.set(a,p);let m=i.get(l);m&&clearTimeout(m);let h=setTimeout(()=>{let t=s.get(a);if(t){let r=t.filter(t=>t.agentUuid!==e.agentUuid);0===r.length?s.delete(a):s.set(a,r)}o.delete(l),i.delete(l),d()},3e3);i.set(l,h),d()}function p(){return c}function m(e){return l.add(e),()=>{l.delete(e)}}function h(e){f({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,n.useSyncExternalStore)(m,p,p),(0,a.S2)(f),{getPresence:(e,t,r,n)=>{if(r){var a;return null!=(a=s.get(u(e,t,r,n)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,r)=>{"use strict";r.d(t,{BT:()=>l,Wu:()=>c,ZB:()=>i,Zp:()=>s,aR:()=>o});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function i(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...r})}function c(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},57731:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r="default",asChild:a=!1,...l}=e,c=a?s.bL:"span";return(0,n.jsx)(c,{"data-slot":"badge","data-variant":r,className:(0,o.cn)(i({variant:r}),t),...l})}},58057:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Label:()=>o,Root:()=>i});var n=r(1856),a=r(93367),s=r(90508),o=n.forwardRef((e,t)=>(0,s.jsx)(a.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var i=o},60322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Root:()=>j,Switch:()=>v,SwitchThumb:()=>b,Thumb:()=>E,createSwitchScope:()=>m});var n=r(1856),a=r(33328),s=r(34124),o=r(21032),i=r(66249),l=r(72009),c=r(3705),u=r(93367),d=r(90508),f="Switch",[p,m]=(0,o.A)(f),[h,x]=p(f),v=n.forwardRef((e,t)=>{let{__scopeSwitch:r,name:o,checked:l,defaultChecked:c,required:p,disabled:m,value:x="on",onCheckedChange:v,form:g,...b}=e,[j,E]=n.useState(null),k=(0,s.s)(t,e=>E(e)),C=n.useRef(!1),N=!j||g||!!j.closest("form"),[T,P]=(0,i.i)({prop:l,defaultProp:null!=c&&c,onChange:v,caller:f});return(0,d.jsxs)(h,{scope:r,checked:T,disabled:m,children:[(0,d.jsx)(u.sG.button,{type:"button",role:"switch","aria-checked":T,"aria-required":p,"data-state":w(T),"data-disabled":m?"":void 0,disabled:m,value:x,...b,ref:k,onClick:(0,a.mK)(e.onClick,e=>{P(e=>!e),N&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),N&&(0,d.jsx)(y,{control:j,bubbles:!C.current,name:o,value:x,checked:T,required:p,disabled:m,form:g,style:{transform:"translateX(-100%)"}})]})});v.displayName=f;var g="SwitchThumb",b=n.forwardRef((e,t)=>{let{__scopeSwitch:r,...n}=e,a=x(g,r);return(0,d.jsx)(u.sG.span,{"data-state":w(a.checked),"data-disabled":a.disabled?"":void 0,...n,ref:t})});b.displayName=g;var y=n.forwardRef((e,t)=>{let{__scopeSwitch:r,control:a,checked:o,bubbles:i=!0,...u}=e,f=n.useRef(null),p=(0,s.s)(f,t),m=(0,l.Z)(o),h=(0,c.X)(a);return n.useEffect(()=>{let e=f.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(m!==o&&t){let r=new Event("click",{bubbles:i});t.call(e,o),e.dispatchEvent(r)}},[m,o,i]),(0,d.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...u,tabIndex:-1,ref:p,style:{...u.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function w(e){return e?"checked":"unchecked"}y.displayName="SwitchBubbleInput";var j=v,E=b},62205:(e,t,r)=>{"use strict";r.d(t,{a:()=>a});var n=r(1856);function a(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}},63964:(e,t,r)=>{"use strict";r.d(t,{S2:()=>u,eV:()=>c,l9:()=>l,tS:()=>i,w0:()=>d});var n=r(90508),a=r(1856);r(91814);var s=r(95126);let o=(0,a.createContext)(null);function i(e){let{projectUuid:t,children:r}=e,i=(0,s.jj)(),l=null==i?void 0:i.subscribe,c=null==i?void 0:i.openGeneration,u=(0,a.useRef)(new Set),d=(0,a.useRef)(new Set),f=(0,a.useRef)(new Set),p=(0,a.useRef)(new Set),m=(0,a.useCallback)(()=>{u.current.forEach(e=>e())},[]),h=(0,a.useCallback)(e=>{d.current.forEach(t=>t(e))},[]),x=(0,a.useCallback)(()=>{for(let e of(m(),["task","idea","proposal","document","project","project_group"]))h({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})},[m,h]);(0,a.useEffect)(()=>{let e,r,n=null,a=!1,s=0,o={};function i(r){if("presence"===r.type){if(t&&r.projectUuid!==t)return;f.current.forEach(e=>e(r));return}if("execution"===r.type)return void p.current.forEach(e=>e(r));if("string"!=typeof r.entityType||"string"!=typeof r.entityUuid||"string"!=typeof r.action||t&&r.projectUuid!==t)return;clearTimeout(e);let n=Date.now(),a=n-s;a>=3e3?(s=n,m()):e=setTimeout(()=>{s=Date.now(),m()},Math.max(1e3,3e3-a));let i=r.entityType;clearTimeout(o[i]),o[i]=setTimeout(()=>{h(r)},300)}function c(){u(),(n=new EventSource(t?"/api/events?projectUuid=".concat(encodeURIComponent(t)):"/api/events")).onopen=()=>{a&&x(),a=!0},n.onmessage=e=>{let t=null;try{t=JSON.parse(e.data)}catch(e){return}t&&i(t)},n.onerror=()=>{}}function u(){n&&(n.close(),n=null)}function d(){"visible"===document.visibilityState&&(n&&n.readyState!==EventSource.CLOSED||c())}return l?r=l(i):(c(),document.addEventListener("visibilitychange",d)),()=>{for(let t in null==r||r(),u(),clearTimeout(e),o)clearTimeout(o[t]);document.removeEventListener("visibilitychange",d)}},[t,l,m,h,x]);let v=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(l&&c){if(null===v.current){v.current=c;return}c>v.current&&(v.current=c,x())}},[l,c,x]);let g=(0,a.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),b=(0,a.useCallback)(e=>(d.current.add(e),()=>{d.current.delete(e)}),[]),y=(0,a.useCallback)(e=>(f.current.add(e),()=>{f.current.delete(e)}),[]),w=(0,a.useCallback)(e=>(p.current.add(e),()=>{p.current.delete(e)}),[]),j=(0,a.useMemo)(()=>({subscribe:g,subscribeEntity:b,subscribePresence:y,subscribeExecution:w}),[g,b,y,w]);return(0,n.jsx)(o.Provider,{value:j,children:r})}function l(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>r.current();return e(),t.subscribe(e)},[t])}function c(e,t){let r=(0,a.useContext)(o),n=(0,a.useRef)(t);n.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&n.current(e)})},[r])}function u(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>r.current(e))},[t])}function d(e,t,r){let n=(0,a.useContext)(o),s=(0,a.useRef)(r);s.current=r,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(r=>{r.entityType===e&&r.entityUuid===t&&s.current(r)})},[n,e,t])}},73693:(e,t,r)=>{"use strict";r.d(t,{BK:()=>i,eu:()=>o,q5:()=>l});var n=r(90508);r(1856);var a=r(65514),s=r(24377);function o(e){let{className:t,size:r="default",...o}=e;return(0,n.jsx)(a.Root,{"data-slot":"avatar","data-size":r,className:(0,s.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),...o})}function i(e){let{className:t,...r}=e;return(0,n.jsx)(a.Image,{"data-slot":"avatar-image",className:(0,s.cn)("aspect-square size-full",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,s.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),...r})}},91385:(e,t,r)=>{"use strict";r.d(t,{AgentAvatar:()=>h,Pf:()=>p});var n=r(90508),a=r(1856),s=r(5425),o=r(93832),i=r(5985),l=r(14518),c=r(73693),u=r(24377);let d=new o.O(l),f=new Map;function p(e,t){let r,n="".concat(t,"\0").concat(e),a=f.get(n);if(void 0!==a)return a;try{let n="animated"===t?{seed:e,tags:["animation"]}:{seed:e,tags:["!animation"]};r=new i.e(d,n).toDataUri()}catch(e){r=null}return f.set(n,r),r}let m={xs:20,sm:24,md:32,lg:40};function h(e){let{name:t,size:r="md",animate:o=!0,className:i}=e,[l,d]=a.useState(!1);a.useEffect(()=>{var e;if("function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)");d(t.matches);let r=e=>d(e.matches);return null==(e=t.addEventListener)||e.call(t,"change",r),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",r)}},[]);let f=o&&!l?"animated":"static",h=a.useMemo(()=>p(t,f),[t,f]),x="number"==typeof r?r:m[r],v=t.trim().charAt(0).toUpperCase();return(0,n.jsxs)(c.eu,{"data-slot":"agent-avatar","data-motion":f,className:(0,u.cn)("shrink-0 rounded-md bg-muted",i),style:{width:x,height:x},children:[h?(0,n.jsx)(c.BK,{src:h,alt:t,className:(0,u.cn)("rounded-md","origin-top scale-[1.5] -translate-y-[10%]"),draggable:!1}):null,(0,n.jsx)(c.q5,{className:"rounded-md","aria-label":t,children:v?(0,n.jsx)("span",{className:"text-[0.7em] font-medium",children:v}):(0,n.jsx)(s.A,{className:"size-1/2","aria-hidden":!0})})]})}},91814:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(27290),a=r(1856);function s(){let e=(0,n.r)({delay:120});return(0,a.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},94903:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(66206).A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},95126:(e,t,r)=>{"use strict";r.d(t,{D1:()=>l,Qb:()=>i,a7:()=>s,jj:()=>c});var n=r(90508),a=r(1856);let s="stream_reset",o=(0,a.createContext)(null);function i(e){let{children:t}=e,r=(0,a.useRef)(new Set),[i,l]=(0,a.useState)(0),[c,u]=(0,a.useState)(null),d=(0,a.useCallback)(e=>(r.current.add(e),()=>{r.current.delete(e)}),[]);(0,a.useEffect)(()=>{let e=null,t=()=>{e&&(e.close(),e=null)},n=()=>{t(),(e=new EventSource(!c?"/api/events":"/api/events?sessionUuid=".concat(encodeURIComponent(c)))).onopen=()=>{for(let e of(l(e=>e+1),r.current))e({type:s})},e.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch(e){return}for(let e of r.current)e(t)},e.onerror=()=>{}},a=()=>{"visible"===document.visibilityState&&(null==e||e.readyState!==EventSource.OPEN)&&n()};return n(),document.addEventListener("visibilitychange",a),()=>{t(),document.removeEventListener("visibilitychange",a)}},[c]),(0,a.useEffect)(()=>()=>{r.current.clear()},[]);let f=(0,a.useMemo)(()=>({subscribe:d,openGeneration:i,sessionUuid:c,setSessionUuid:u}),[d,i,c]);return(0,n.jsx)(o.Provider,{value:f,children:t})}function l(){let e=(0,a.useContext)(o);if(!e)throw Error("useDashboardEvents must be used within DashboardEventProvider");return e}function c(){return(0,a.useContext)(o)}},96213:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(90508),a=r(47754),s=r(30423),o=r(91385);function i(e){let{entityType:t,entityUuid:r,subEntityType:o,subEntityUuid:i,children:c,badgeInside:u}=e,{getPresence:d}=(0,a.xQ)(),f=d(t,r,o,i),p=f.length>0,m=p&&f.some(e=>"mutate"===e.action),h=p?m?f.find(e=>"mutate"===e.action):f[f.length-1]:null,x=h?(0,s.j)(h.agentName):"transparent";return(0,n.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(m?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,n.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(u?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[f.slice(0,3).map(e=>(0,n.jsx)(l,{entry:e},e.agentUuid)),f.length>3&&(0,n.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",f.length-3]})]}),c]})}function l(e){let{entry:t}=e,r=(0,s.j)(t.agentName);return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:r},children:[(0,n.jsx)(o.AgentAvatar,{name:t.agentName,size:14,className:"rounded-full"}),t.agentName]})}},99394:(e,t,r)=>{Promise.resolve().then(r.bind(r,52053)),Promise.resolve().then(r.bind(r,90299)),Promise.resolve().then(r.bind(r,65514)),Promise.resolve().then(r.bind(r,98861)),Promise.resolve().then(r.bind(r,38476)),Promise.resolve().then(r.bind(r,74542)),Promise.resolve().then(r.bind(r,71350)),Promise.resolve().then(r.bind(r,39025)),Promise.resolve().then(r.bind(r,75368)),Promise.resolve().then(r.bind(r,89684)),Promise.resolve().then(r.bind(r,58057)),Promise.resolve().then(r.bind(r,6512)),Promise.resolve().then(r.bind(r,25051)),Promise.resolve().then(r.bind(r,4374)),Promise.resolve().then(r.bind(r,19345)),Promise.resolve().then(r.bind(r,2300)),Promise.resolve().then(r.bind(r,17533)),Promise.resolve().then(r.bind(r,99545)),Promise.resolve().then(r.bind(r,63197)),Promise.resolve().then(r.bind(r,65326)),Promise.resolve().then(r.bind(r,48218)),Promise.resolve().then(r.bind(r,56260)),Promise.resolve().then(r.bind(r,60322)),Promise.resolve().then(r.bind(r,79834)),Promise.resolve().then(r.bind(r,6947)),Promise.resolve().then(r.bind(r,88878)),Promise.resolve().then(r.bind(r,34857)),Promise.resolve().then(r.bind(r,97006)),Promise.resolve().then(r.bind(r,45841)),Promise.resolve().then(r.t.bind(r,12790,23)),Promise.resolve().then(r.bind(r,43528))}},e=>{e.O(0,[87326,93151,41752,12079,18944,27290,12790,26885,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,39025,51603,74951,65496,77358],()=>e(e.s=99394)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[91143],{11227:(e,t,r)=>{"use strict";r.d(t,{MarkdownContent:()=>h});var n=r(90508),a=r(1856),s=r(65700),o=r(39268);function i(e){let{entries:t}=e,r=(0,o.c)("markdown");return(0,n.jsx)("section",{"aria-label":r("frontmatterLabel"),className:"mb-4 rounded-lg border border-border bg-muted/40 px-4 py-3",children:(0,n.jsx)("dl",{className:"grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-4 gap-y-1.5 text-sm",children:t.map((e,t)=>(0,n.jsxs)("div",{className:"grid grid-cols-subgrid col-span-2",children:[(0,n.jsx)("dt",{className:"font-mono text-xs leading-5 text-muted-foreground break-words",children:e.key}),(0,n.jsx)("dd",{className:"leading-5 text-foreground break-words",children:""===e.value?(0,n.jsx)("span",{"aria-hidden":"true",children:"—"}):e.value})]},"".concat(e.key,"-").concat(t)))})})}let l=/^[A-Za-z0-9_.-]+$/,c=new Set(["{","[","|",">","&","*"]);var u=r(19169),d=r(26190);let f=u.a,p=(0,u.V)({themes:["github-dark","github-dark"]});u.a,d.a;let m={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function h(e){let{children:t,components:r,allowedTags:o,literalTagContent:u}=e,h=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=document.documentElement,r=()=>t(e.classList.contains("dark"));r();let n=new MutationObserver(r);return n.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>n.disconnect()},[]),e}(),{entries:x,body:v}=(0,a.useMemo)(()=>(function(e){let t={entries:null,body:e};if(!e.startsWith("---"))return t;let r=0,n=()=>{if(r>=e.length)return null;let t=e.indexOf("\n",r),n=e.slice(r,-1===t?e.length:t);return r=-1===t?e.length:t+1,n.endsWith("\r")?n.slice(0,-1):n};if("---"!==n())return t;let a=[],s=-1;for(;;){let e=n();if(null===e)return t;if("---"===e||"..."===e){s=r;break}if(""===e.trim()||e.trimStart().startsWith("#"))continue;let o=e.indexOf(":");if(o<=0)return t;let i=e.slice(0,o);if(!l.test(i))return t;let u=e.slice(o+1);if(""!==u&&!/^[ \t]/.test(u))return t;let d=function(e){let t=e.trim();if(""===t)return"";let r=t[0];if('"'===r||"'"===r){let e=t.indexOf(r,1);if(e>0)return t.slice(1,e)}return t.replace(/[ \t]+#.*$/,"").trimEnd()}(u);if(""!==d&&c.has(d[0]))return t;a.push({key:i,value:d})}return 0===a.length?t:{entries:a,body:e.slice(s)}})(t),[t]),g=(0,a.useMemo)(()=>({config:{theme:h?"dark":"default"}}),[h]),b=(0,a.useMemo)(()=>({code:h?p:f,mermaid:d.a}),[h]);return(0,n.jsxs)(n.Fragment,{children:[x&&(0,n.jsx)(i,{entries:x}),(0,n.jsx)(s.jH,{plugins:b,controls:m,mermaid:g,components:r,allowedTags:o,literalTagContent:u,children:v},h?"dark":"light")]})}},24377:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var n=r(49251),a=r(58849);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}},30423:(e,t,r)=>{"use strict";r.d(t,{j:()=>a});let n=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%n.length;return n[t]}},43678:(e,t,r)=>{"use strict";r.d(t,{ProposalKanban:()=>k});var n=r(90508),a=r(1856),s=r(12790),o=r.n(s),i=r(39268),l=r(48416),c=r(57731),u=r(94903),d=r(91385),f=r(11227),p=r(63964),m=r(62205),h=r(96213),x=r(16544),v=r(52217);let g=(0,v.createServerReference)("408998e0eae35106954169294cfbfe04bbc0f0316f",v.callServer,void 0,v.findSourceMapURL,"fetchProposalsAction"),b=[{id:"draft",labelKey:"status.draft",statuses:["draft"]},{id:"pending",labelKey:"status.pendingReview",statuses:["pending"]},{id:"completed",labelKey:"proposals.completed",statuses:["approved","closed"]}],y={draft:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",pending:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",approved:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#2E7D32] dark:text-[#5FD07E]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-[#9A9A9A]"},w={draft:"draft",pending:"pendingReview",approved:"approved",closed:"closed"},j=[{id:"all",labelKey:"proposals.all",statuses:[]},...b];function E(e){let{proposal:t,projectUuid:r,t:a}=e,s=function(e){var t,r;let n=(null==(t=e.documentDrafts)?void 0:t.length)||0,a=(null==(r=e.taskDrafts)?void 0:r.length)||0;return n>0&&a>0?"proposals.typeDocumentAndTasks":n>0?1===n?"proposals.typeNewDocument":"proposals.typeDocumentUpdate":a>0?"proposals.typeTaskBreakdown":null}(t);return(0,n.jsx)(o(),{href:"/projects/".concat(r,"/proposals/").concat(t.uuid),className:"block",children:(0,n.jsx)(h.D,{entityType:"proposal",entityUuid:t.uuid,children:(0,n.jsxs)(l.Zp,{className:"cursor-pointer border-border bg-card p-4 transition-all hover:border-primary hover:shadow-sm",children:[(0,n.jsxs)("div",{className:"mb-2 flex items-start justify-between",children:[(0,n.jsx)(c.E,{className:y[t.status]||y.draft,children:a("status.".concat(w[t.status]||t.status))}),s&&(0,n.jsx)("span",{className:"rounded bg-[#FFF3E0] dark:bg-[#3a2a12] px-2 py-0.5 text-xs font-medium text-[#E65100] dark:text-[#F0A050]",children:a(s)})]}),(0,n.jsx)("h4",{className:"mb-1 font-medium text-foreground",children:t.title}),t.description&&(0,n.jsx)("div",{className:"prose prose-sm max-w-none mb-2 line-clamp-2 text-sm text-muted-foreground",children:(0,n.jsx)(f.MarkdownContent,{children:t.description})}),(0,n.jsx)("div",{className:"flex items-center justify-between text-xs text-[#9A9A9A]",children:t.createdBy&&(0,n.jsxs)("span",{className:"flex items-center gap-1",children:["agent"===t.createdByType?(0,n.jsx)(d.AgentAvatar,{name:t.createdBy.name,size:16,className:"rounded-full"}):(0,n.jsx)(u.A,{className:"h-3 w-3"}),t.createdBy.name]})})]})})})}function k(e){let{projectUuid:t,proposals:r}=e,s=(0,i.c)(),o=(0,m.a)(),[l,c]=(0,a.useState)("all"),[u,d]=(0,a.useState)(r);(0,a.useEffect)(()=>{d(r)},[r]);let f=(0,a.useCallback)(async()=>{let e=await g(t);e.success&&d(e.data)},[t]);(0,p.eV)("proposal",f);let h=e=>u.filter(t=>e.includes(t.status));if(o){let e=j.find(e=>e.id===l)||j[0],r="all"===l?u:h(e.statuses);return(0,n.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,n.jsx)("div",{className:"flex gap-2 overflow-x-auto pb-3 mb-4",children:j.map(e=>{let t="all"===e.id?u.length:h(e.statuses).length,r=l===e.id;return(0,n.jsxs)("button",{onClick:()=>c(e.id),className:"flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ".concat(r?"bg-primary text-white":"bg-secondary text-muted-foreground hover:bg-[#EDE9E1] dark:hover:bg-[#2a2a2e]"),children:[s(e.labelKey),(0,n.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-xs ".concat(r?"bg-card/20 text-white":"bg-card text-muted-foreground"),children:t})]},e.id)})}),(0,n.jsx)("div",{className:"flex-1 space-y-3",children:0===r.length?(0,n.jsx)(x.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:s("proposals.noProposals")}):r.map(e=>(0,n.jsx)(E,{proposal:e,projectUuid:t,t:s},e.uuid))})]})}return(0,n.jsx)("div",{className:"flex flex-1 gap-4 overflow-x-auto pb-4",children:b.map(e=>{let r=h(e.statuses);return(0,n.jsxs)("div",{className:"flex w-[300px] flex-shrink-0 flex-col rounded-xl bg-secondary p-4",children:[(0,n.jsx)("div",{className:"mb-4 flex items-center justify-between",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("h3",{className:"font-medium text-foreground",children:s(e.labelKey)}),(0,n.jsx)("span",{className:"rounded-full bg-card px-2 py-0.5 text-xs font-medium text-muted-foreground",children:r.length})]})}),(0,n.jsx)("div",{className:"flex-1 space-y-4 overflow-y-auto pt-3",children:0===r.length?(0,n.jsx)(x.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},className:"flex h-24 items-center justify-center rounded-lg border-2 border-dashed border-border text-sm text-[#9A9A9A]",children:s("proposals.noProposals")}):r.map(e=>(0,n.jsx)(E,{proposal:e,projectUuid:t,t:s},e.uuid))})]},e.id)})})}},45841:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Arrow:()=>V,Content:()=>Q,Portal:()=>G,Provider:()=>W,Root:()=>Z,Tooltip:()=>P,TooltipArrow:()=>H,TooltipContent:()=>F,TooltipPortal:()=>L,TooltipProvider:()=>k,TooltipTrigger:()=>S,Trigger:()=>q,createTooltipScope:()=>g});var n=r(1856),a=r(33328),s=r(34124),o=r(21032),i=r(63569),l=r(40577),c=r(67221),u=r(17533),d=r(19900),f=r(93367),p=r(54154),m=r(66249),h=r(78134),x=r(90508),[v,g]=(0,o.A)("Tooltip",[c.Bk]),b=(0,c.Bk)(),y="TooltipProvider",w="tooltip.open",[j,E]=v(y),k=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:a=300,disableHoverableContent:s=!1,children:o}=e,i=n.useRef(!0),l=n.useRef(!1),c=n.useRef(0);return n.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(j,{scope:t,isOpenDelayedRef:i,delayDuration:r,onOpen:n.useCallback(()=>{window.clearTimeout(c.current),i.current=!1},[]),onClose:n.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.current=!0,a)},[a]),isPointerInTransitRef:l,onPointerInTransitChange:n.useCallback(e=>{l.current=e},[]),disableHoverableContent:s,children:o})};k.displayName=y;var C="Tooltip",[N,T]=v(C),P=e=>{let{__scopeTooltip:t,children:r,open:a,defaultOpen:s,onOpenChange:o,disableHoverableContent:i,delayDuration:u}=e,d=E(C,e.__scopeTooltip),f=b(t),[p,h]=n.useState(null),v=(0,l.B)(),g=n.useRef(0),y=null!=i?i:d.disableHoverableContent,j=null!=u?u:d.delayDuration,k=n.useRef(!1),[T,P]=(0,m.i)({prop:a,defaultProp:null!=s&&s,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),null==o||o(e)},caller:C}),R=n.useMemo(()=>T?k.current?"delayed-open":"instant-open":"closed",[T]),S=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,k.current=!1,P(!0)},[P]),A=n.useCallback(()=>{window.clearTimeout(g.current),g.current=0,P(!1)},[P]),D=n.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{k.current=!0,P(!0),g.current=0},j)},[j,P]);return n.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,x.jsx)(c.bL,{...f,children:(0,x.jsx)(N,{scope:t,contentId:v,open:T,stateAttribute:R,trigger:p,onTriggerChange:h,onTriggerEnter:n.useCallback(()=>{d.isOpenDelayedRef.current?D():S()},[d.isOpenDelayedRef,D,S]),onTriggerLeave:n.useCallback(()=>{y?A():(window.clearTimeout(g.current),g.current=0)},[A,y]),onOpen:S,onClose:A,disableHoverableContent:y,children:r})})};P.displayName=C;var R="TooltipTrigger",S=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,i=T(R,r),l=E(R,r),u=b(r),d=n.useRef(null),p=(0,s.s)(t,d,i.onTriggerChange),m=n.useRef(!1),h=n.useRef(!1),v=n.useCallback(()=>m.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,x.jsx)(c.Mz,{asChild:!0,...u,children:(0,x.jsx)(f.sG.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:p,onPointerMove:(0,a.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(h.current||l.isPointerInTransitRef.current||(i.onTriggerEnter(),h.current=!0))}),onPointerLeave:(0,a.mK)(e.onPointerLeave,()=>{i.onTriggerLeave(),h.current=!1}),onPointerDown:(0,a.mK)(e.onPointerDown,()=>{i.open&&i.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,a.mK)(e.onFocus,()=>{m.current||i.onOpen()}),onBlur:(0,a.mK)(e.onBlur,i.onClose),onClick:(0,a.mK)(e.onClick,i.onClose)})})});S.displayName=R;var A="TooltipPortal",[D,M]=v(A,{forceMount:void 0}),L=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,s=T(A,t);return(0,x.jsx)(D,{scope:t,forceMount:r,children:(0,x.jsx)(d.C,{present:r||s.open,children:(0,x.jsx)(u.Portal,{asChild:!0,container:a,children:n})})})};L.displayName=A;var U="TooltipContent",F=n.forwardRef((e,t)=>{let r=M(U,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...s}=e,o=T(U,e.__scopeTooltip);return(0,x.jsx)(d.C,{present:n||o.open,children:o.disableHoverableContent?(0,x.jsx)(K,{side:a,...s,ref:t}):(0,x.jsx)(O,{side:a,...s,ref:t})})}),O=n.forwardRef((e,t)=>{let r=T(U,e.__scopeTooltip),a=E(U,e.__scopeTooltip),o=n.useRef(null),i=(0,s.s)(t,o),[l,c]=n.useState(null),{trigger:u,onClose:d}=r,f=o.current,{onPointerInTransitChange:p}=a,m=n.useCallback(()=>{c(null),p(!1)},[p]),h=n.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,a,s)){case s:return"left";case a:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,a),...function(e){let{top:t,right:r,bottom:n,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:n},{x:a,y:n}]}(t.getBoundingClientRect())])),p(!0)},[p]);return n.useEffect(()=>()=>m(),[m]),n.useEffect(()=>{if(u&&f){let e=e=>h(e,f),t=e=>h(e,u);return u.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[u,f,h,m]),n.useEffect(()=>{if(l){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=(null==u?void 0:u.contains(t))||(null==f?void 0:f.contains(t)),a=!function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let o=t[e],i=t[s],l=o.x,c=o.y,u=i.x,d=i.y;c>n!=d>n&&r<(u-l)*(n-c)/(d-c)+l&&(a=!a)}return a}(r,l);n?m():a&&(m(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,f,l,d,m]),(0,x.jsx)(K,{...e,ref:i})}),[_,B]=v(C,{isInside:!1}),z=(0,p.Dc)("TooltipContent"),K=n.forwardRef((e,t)=>{let{__scopeTooltip:r,children:a,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:l,...u}=e,d=T(U,r),f=b(r),{onClose:p}=d;return n.useEffect(()=>(document.addEventListener(w,p),()=>document.removeEventListener(w,p)),[p]),n.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(d.trigger))&&p()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,p]),(0,x.jsx)(i.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:p,children:(0,x.jsxs)(c.UC,{"data-state":d.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,x.jsx)(z,{children:a}),(0,x.jsx)(_,{scope:r,isInside:!0,children:(0,x.jsx)(h.bL,{id:d.contentId,role:"tooltip",children:s||a})})]})})});F.displayName=U;var I="TooltipArrow",H=n.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=b(r);return B(I,r).isInside?null:(0,x.jsx)(c.i3,{...a,...n,ref:t})});H.displayName=I;var W=k,Z=P,q=S,G=L,Q=F,V=H},47754:(e,t,r)=>{"use strict";r.d(t,{fv:()=>h,xQ:()=>x});var n=r(1856),a=r(63964);let s=new Map,o=new Map,i=new Map,l=new Set,c=0;function u(e,t,r,n){return r?n?"".concat(e,":").concat(t,":").concat(r,":").concat(n):"".concat(e,":").concat(t,":").concat(r):"".concat(e,":").concat(t)}function d(){c++,l.forEach(e=>e())}function f(e){var t;let r=e.subEntityType,n=e.subEntityUuid,a=u(e.entityType,e.entityUuid,r,n),l=function(e,t,r,n,a){let s=u(e,t,n,a);return"".concat(s,":").concat(r)}(e.entityType,e.entityUuid,e.agentUuid,r,n),c=o.get(l);if(c&&Date.now()-c<3e3)return;o.set(l,Date.now());let f={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(f),s.set(a,p);let m=i.get(l);m&&clearTimeout(m);let h=setTimeout(()=>{let t=s.get(a);if(t){let r=t.filter(t=>t.agentUuid!==e.agentUuid);0===r.length?s.delete(a):s.set(a,r)}o.delete(l),i.delete(l),d()},3e3);i.set(l,h),d()}function p(){return c}function m(e){return l.add(e),()=>{l.delete(e)}}function h(e){f({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,n.useSyncExternalStore)(m,p,p),(0,a.S2)(f),{getPresence:(e,t,r,n)=>{if(r){var a;return null!=(a=s.get(u(e,t,r,n)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,r)=>{"use strict";r.d(t,{BT:()=>l,Wu:()=>c,ZB:()=>i,Zp:()=>s,aR:()=>o});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function i(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...r})}function c(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},57731:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r="default",asChild:a=!1,...l}=e,c=a?s.bL:"span";return(0,n.jsx)(c,{"data-slot":"badge","data-variant":r,className:(0,o.cn)(i({variant:r}),t),...l})}},58057:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Label:()=>o,Root:()=>i});var n=r(1856),a=r(93367),s=r(90508),o=n.forwardRef((e,t)=>(0,s.jsx)(a.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var i=o},60322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Root:()=>j,Switch:()=>v,SwitchThumb:()=>b,Thumb:()=>E,createSwitchScope:()=>m});var n=r(1856),a=r(33328),s=r(34124),o=r(21032),i=r(66249),l=r(72009),c=r(3705),u=r(93367),d=r(90508),f="Switch",[p,m]=(0,o.A)(f),[h,x]=p(f),v=n.forwardRef((e,t)=>{let{__scopeSwitch:r,name:o,checked:l,defaultChecked:c,required:p,disabled:m,value:x="on",onCheckedChange:v,form:g,...b}=e,[j,E]=n.useState(null),k=(0,s.s)(t,e=>E(e)),C=n.useRef(!1),N=!j||g||!!j.closest("form"),[T,P]=(0,i.i)({prop:l,defaultProp:null!=c&&c,onChange:v,caller:f});return(0,d.jsxs)(h,{scope:r,checked:T,disabled:m,children:[(0,d.jsx)(u.sG.button,{type:"button",role:"switch","aria-checked":T,"aria-required":p,"data-state":w(T),"data-disabled":m?"":void 0,disabled:m,value:x,...b,ref:k,onClick:(0,a.mK)(e.onClick,e=>{P(e=>!e),N&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),N&&(0,d.jsx)(y,{control:j,bubbles:!C.current,name:o,value:x,checked:T,required:p,disabled:m,form:g,style:{transform:"translateX(-100%)"}})]})});v.displayName=f;var g="SwitchThumb",b=n.forwardRef((e,t)=>{let{__scopeSwitch:r,...n}=e,a=x(g,r);return(0,d.jsx)(u.sG.span,{"data-state":w(a.checked),"data-disabled":a.disabled?"":void 0,...n,ref:t})});b.displayName=g;var y=n.forwardRef((e,t)=>{let{__scopeSwitch:r,control:a,checked:o,bubbles:i=!0,...u}=e,f=n.useRef(null),p=(0,s.s)(f,t),m=(0,l.Z)(o),h=(0,c.X)(a);return n.useEffect(()=>{let e=f.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(m!==o&&t){let r=new Event("click",{bubbles:i});t.call(e,o),e.dispatchEvent(r)}},[m,o,i]),(0,d.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...u,tabIndex:-1,ref:p,style:{...u.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function w(e){return e?"checked":"unchecked"}y.displayName="SwitchBubbleInput";var j=v,E=b},62205:(e,t,r)=>{"use strict";r.d(t,{a:()=>a});var n=r(1856);function a(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}},63964:(e,t,r)=>{"use strict";r.d(t,{S2:()=>u,eV:()=>c,l9:()=>l,tS:()=>i,w0:()=>d});var n=r(90508),a=r(1856);r(91814);var s=r(95126);let o=(0,a.createContext)(null);function i(e){let{projectUuid:t,children:r}=e,i=(0,s.jj)(),l=null==i?void 0:i.subscribe,c=null==i?void 0:i.openGeneration,u=(0,a.useRef)(new Set),d=(0,a.useRef)(new Set),f=(0,a.useRef)(new Set),p=(0,a.useRef)(new Set),m=(0,a.useCallback)(()=>{u.current.forEach(e=>e())},[]),h=(0,a.useCallback)(e=>{d.current.forEach(t=>t(e))},[]),x=(0,a.useCallback)(()=>{for(let e of(m(),["task","idea","proposal","document","project","project_group"]))h({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})},[m,h]);(0,a.useEffect)(()=>{let e,r,n=null,a=!1,s=0,o={};function i(r){if("presence"===r.type){if(t&&r.projectUuid!==t)return;f.current.forEach(e=>e(r));return}if("execution"===r.type)return void p.current.forEach(e=>e(r));if("string"!=typeof r.entityType||"string"!=typeof r.entityUuid||"string"!=typeof r.action||t&&r.projectUuid!==t)return;clearTimeout(e);let n=Date.now(),a=n-s;a>=3e3?(s=n,m()):e=setTimeout(()=>{s=Date.now(),m()},Math.max(1e3,3e3-a));let i=r.entityType;clearTimeout(o[i]),o[i]=setTimeout(()=>{h(r)},300)}function c(){u(),(n=new EventSource(t?"/api/events?projectUuid=".concat(encodeURIComponent(t)):"/api/events")).onopen=()=>{a&&x(),a=!0},n.onmessage=e=>{let t=null;try{t=JSON.parse(e.data)}catch(e){return}t&&i(t)},n.onerror=()=>{}}function u(){n&&(n.close(),n=null)}function d(){"visible"===document.visibilityState&&(n&&n.readyState!==EventSource.CLOSED||c())}return l?r=l(i):(c(),document.addEventListener("visibilitychange",d)),()=>{for(let t in null==r||r(),u(),clearTimeout(e),o)clearTimeout(o[t]);document.removeEventListener("visibilitychange",d)}},[t,l,m,h,x]);let v=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(l&&c){if(null===v.current){v.current=c;return}c>v.current&&(v.current=c,x())}},[l,c,x]);let g=(0,a.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),b=(0,a.useCallback)(e=>(d.current.add(e),()=>{d.current.delete(e)}),[]),y=(0,a.useCallback)(e=>(f.current.add(e),()=>{f.current.delete(e)}),[]),w=(0,a.useCallback)(e=>(p.current.add(e),()=>{p.current.delete(e)}),[]),j=(0,a.useMemo)(()=>({subscribe:g,subscribeEntity:b,subscribePresence:y,subscribeExecution:w}),[g,b,y,w]);return(0,n.jsx)(o.Provider,{value:j,children:r})}function l(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>r.current();return e(),t.subscribe(e)},[t])}function c(e,t){let r=(0,a.useContext)(o),n=(0,a.useRef)(t);n.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&n.current(e)})},[r])}function u(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>r.current(e))},[t])}function d(e,t,r){let n=(0,a.useContext)(o),s=(0,a.useRef)(r);s.current=r,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(r=>{r.entityType===e&&r.entityUuid===t&&s.current(r)})},[n,e,t])}},73693:(e,t,r)=>{"use strict";r.d(t,{BK:()=>i,eu:()=>o,q5:()=>l});var n=r(90508);r(1856);var a=r(65514),s=r(24377);function o(e){let{className:t,size:r="default",...o}=e;return(0,n.jsx)(a.Root,{"data-slot":"avatar","data-size":r,className:(0,s.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),...o})}function i(e){let{className:t,...r}=e;return(0,n.jsx)(a.Image,{"data-slot":"avatar-image",className:(0,s.cn)("aspect-square size-full",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,s.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),...r})}},91385:(e,t,r)=>{"use strict";r.d(t,{AgentAvatar:()=>h,Pf:()=>p});var n=r(90508),a=r(1856),s=r(5425),o=r(93832),i=r(5985),l=r(14518),c=r(73693),u=r(24377);let d=new o.O(l),f=new Map;function p(e,t){let r,n="".concat(t,"\0").concat(e),a=f.get(n);if(void 0!==a)return a;try{let n="animated"===t?{seed:e,tags:["animation"]}:{seed:e,tags:["!animation"]};r=new i.e(d,n).toDataUri()}catch(e){r=null}return f.set(n,r),r}let m={xs:20,sm:24,md:32,lg:40};function h(e){let{name:t,size:r="md",animate:o=!0,className:i}=e,[l,d]=a.useState(!1);a.useEffect(()=>{var e;if("function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)");d(t.matches);let r=e=>d(e.matches);return null==(e=t.addEventListener)||e.call(t,"change",r),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",r)}},[]);let f=o&&!l?"animated":"static",h=a.useMemo(()=>p(t,f),[t,f]),x="number"==typeof r?r:m[r],v=t.trim().charAt(0).toUpperCase();return(0,n.jsxs)(c.eu,{"data-slot":"agent-avatar","data-motion":f,className:(0,u.cn)("shrink-0 rounded-md bg-muted",i),style:{width:x,height:x},children:[h?(0,n.jsx)(c.BK,{src:h,alt:t,className:(0,u.cn)("rounded-md","origin-top scale-[1.5] -translate-y-[10%]"),draggable:!1}):null,(0,n.jsx)(c.q5,{className:"rounded-md","aria-label":t,children:v?(0,n.jsx)("span",{className:"text-[0.7em] font-medium",children:v}):(0,n.jsx)(s.A,{className:"size-1/2","aria-hidden":!0})})]})}},91814:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(27290),a=r(1856);function s(){let e=(0,n.r)({delay:120});return(0,a.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},94903:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(66206).A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},95126:(e,t,r)=>{"use strict";r.d(t,{D1:()=>l,Qb:()=>i,a7:()=>s,jj:()=>c});var n=r(90508),a=r(1856);let s="stream_reset",o=(0,a.createContext)(null);function i(e){let{children:t}=e,r=(0,a.useRef)(new Set),[i,l]=(0,a.useState)(0),[c,u]=(0,a.useState)(null),d=(0,a.useCallback)(e=>(r.current.add(e),()=>{r.current.delete(e)}),[]);(0,a.useEffect)(()=>{let e=null,t=()=>{e&&(e.close(),e=null)},n=()=>{t(),(e=new EventSource(!c?"/api/events":"/api/events?sessionUuid=".concat(encodeURIComponent(c)))).onopen=()=>{for(let e of(l(e=>e+1),r.current))e({type:s})},e.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch(e){return}for(let e of r.current)e(t)},e.onerror=()=>{}},a=()=>{"visible"===document.visibilityState&&(null==e||e.readyState!==EventSource.OPEN)&&n()};return n(),document.addEventListener("visibilitychange",a),()=>{t(),document.removeEventListener("visibilitychange",a)}},[c]),(0,a.useEffect)(()=>()=>{r.current.clear()},[]);let f=(0,a.useMemo)(()=>({subscribe:d,openGeneration:i,sessionUuid:c,setSessionUuid:u}),[d,i,c]);return(0,n.jsx)(o.Provider,{value:f,children:t})}function l(){let e=(0,a.useContext)(o);if(!e)throw Error("useDashboardEvents must be used within DashboardEventProvider");return e}function c(){return(0,a.useContext)(o)}},96213:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(90508),a=r(47754),s=r(30423),o=r(91385);function i(e){let{entityType:t,entityUuid:r,subEntityType:o,subEntityUuid:i,children:c,badgeInside:u}=e,{getPresence:d}=(0,a.xQ)(),f=d(t,r,o,i),p=f.length>0,m=p&&f.some(e=>"mutate"===e.action),h=p?m?f.find(e=>"mutate"===e.action):f[f.length-1]:null,x=h?(0,s.j)(h.agentName):"transparent";return(0,n.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(m?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,n.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(u?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[f.slice(0,3).map(e=>(0,n.jsx)(l,{entry:e},e.agentUuid)),f.length>3&&(0,n.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",f.length-3]})]}),c]})}function l(e){let{entry:t}=e,r=(0,s.j)(t.agentName);return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:r},children:[(0,n.jsx)(o.AgentAvatar,{name:t.agentName,size:14,className:"rounded-full"}),t.agentName]})}},99394:(e,t,r)=>{Promise.resolve().then(r.bind(r,52053)),Promise.resolve().then(r.bind(r,90299)),Promise.resolve().then(r.bind(r,65514)),Promise.resolve().then(r.bind(r,98861)),Promise.resolve().then(r.bind(r,38476)),Promise.resolve().then(r.bind(r,74542)),Promise.resolve().then(r.bind(r,71350)),Promise.resolve().then(r.bind(r,39025)),Promise.resolve().then(r.bind(r,75368)),Promise.resolve().then(r.bind(r,89684)),Promise.resolve().then(r.bind(r,58057)),Promise.resolve().then(r.bind(r,6512)),Promise.resolve().then(r.bind(r,25051)),Promise.resolve().then(r.bind(r,4374)),Promise.resolve().then(r.bind(r,19345)),Promise.resolve().then(r.bind(r,2300)),Promise.resolve().then(r.bind(r,17533)),Promise.resolve().then(r.bind(r,99545)),Promise.resolve().then(r.bind(r,63197)),Promise.resolve().then(r.bind(r,65326)),Promise.resolve().then(r.bind(r,48218)),Promise.resolve().then(r.bind(r,56260)),Promise.resolve().then(r.bind(r,60322)),Promise.resolve().then(r.bind(r,79834)),Promise.resolve().then(r.bind(r,6947)),Promise.resolve().then(r.bind(r,88878)),Promise.resolve().then(r.bind(r,34857)),Promise.resolve().then(r.bind(r,97006)),Promise.resolve().then(r.bind(r,45841)),Promise.resolve().then(r.t.bind(r,12790,23)),Promise.resolve().then(r.bind(r,43678))}},e=>{e.O(0,[87326,93151,41752,12079,18944,27290,12790,26885,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,39025,51603,74951,65496,77358],()=>e(e.s=99394)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6725],{},_=>{_.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,39025,87325,17562,31308,56527,27370,94643,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6725],{},_=>{_.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,39025,87325,17562,31308,56527,27370,94643,59713,44437,99733,79919,74951,65496,77358],()=>_(_.s=79919)),_N_E=_.O()}]);
|
|
@@ -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,39025,87325,17562,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,39025,87325,17562,31308,56527,27370,94643,59713,44437,99733,79919,74951,65496,77358],()=>_(_.s=79919)),_N_E=_.O()}]);
|
package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-548231f8c9856489.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51670],{11227:(e,t,a)=>{"use strict";a.d(t,{MarkdownContent:()=>f});var s=a(90508),r=a(1856),n=a(65700),i=a(39268);function l(e){let{entries:t}=e,a=(0,i.c)("markdown");return(0,s.jsx)("section",{"aria-label":a("frontmatterLabel"),className:"mb-4 rounded-lg border border-border bg-muted/40 px-4 py-3",children:(0,s.jsx)("dl",{className:"grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-4 gap-y-1.5 text-sm",children:t.map((e,t)=>(0,s.jsxs)("div",{className:"grid grid-cols-subgrid col-span-2",children:[(0,s.jsx)("dt",{className:"font-mono text-xs leading-5 text-muted-foreground break-words",children:e.key}),(0,s.jsx)("dd",{className:"leading-5 text-foreground break-words",children:""===e.value?(0,s.jsx)("span",{"aria-hidden":"true",children:"—"}):e.value})]},"".concat(e.key,"-").concat(t)))})})}let o=/^[A-Za-z0-9_.-]+$/,d=new Set(["{","[","|",">","&","*"]);var c=a(19169),u=a(26190);let m=c.a,g=(0,c.V)({themes:["github-dark","github-dark"]});c.a,u.a;let x={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function f(e){let{children:t,components:a,allowedTags:i,literalTagContent:c}=e,f=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}(),{entries:p,body:h}=(0,r.useMemo)(()=>(function(e){let t={entries:null,body:e};if(!e.startsWith("---"))return t;let a=0,s=()=>{if(a>=e.length)return null;let t=e.indexOf("\n",a),s=e.slice(a,-1===t?e.length:t);return a=-1===t?e.length:t+1,s.endsWith("\r")?s.slice(0,-1):s};if("---"!==s())return t;let r=[],n=-1;for(;;){let e=s();if(null===e)return t;if("---"===e||"..."===e){n=a;break}if(""===e.trim()||e.trimStart().startsWith("#"))continue;let i=e.indexOf(":");if(i<=0)return t;let l=e.slice(0,i);if(!o.test(l))return t;let c=e.slice(i+1);if(""!==c&&!/^[ \t]/.test(c))return t;let u=function(e){let t=e.trim();if(""===t)return"";let a=t[0];if('"'===a||"'"===a){let e=t.indexOf(a,1);if(e>0)return t.slice(1,e)}return t.replace(/[ \t]+#.*$/,"").trimEnd()}(c);if(""!==u&&d.has(u[0]))return t;r.push({key:l,value:u})}return 0===r.length?t:{entries:r,body:e.slice(n)}})(t),[t]),v=(0,r.useMemo)(()=>({config:{theme:f?"dark":"default"}}),[f]),b=(0,r.useMemo)(()=>({code:f?g:m,mermaid:u.a}),[f]);return(0,s.jsxs)(s.Fragment,{children:[p&&(0,s.jsx)(l,{entries:p}),(0,s.jsx)(n.jH,{plugins:b,controls:x,mermaid:v,components:a,allowedTags:i,literalTagContent:c,children:h},f?"dark":"light")]})}},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:()=>f,EO:()=>u,Lt:()=>l,Rx:()=>p,Zr:()=>h,ck:()=>g,r7:()=>x,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,overlayClassName:a,size:i="default",...l}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{className:a}),(0,s.jsx)(r.Content,{"data-slot":"alert-dialog-content","data-size":i,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),...l})]})}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 x(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 f(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})})}},53632:(e,t,a)=>{Promise.resolve().then(a.bind(a,82711))},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})}},82711:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>Z});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),x=a(78948),f=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),S=a(52217);let z=(0,S.createServerReference)("0038745a3e8e9430b0b2bc03e328408ef60fd878b6",S.callServer,void 0,S.findSourceMapURL,"getApiKeysAction"),C=(0,S.createServerReference)("4064e23092b4b7ac0b5adba71c6d31ee09c1fbc99d",S.callServer,void 0,S.findSourceMapURL,"deleteApiKeyAction"),_=(0,S.createServerReference)("40d8b026d97fe1df0593375a51fba549ed32b9ad23",S.callServer,void 0,S.findSourceMapURL,"getAgentSessionsAction"),R=(0,S.createServerReference)("408944d44eaf280a4494aa8f7d3100bb1752d3c693",S.callServer,void 0,S.findSourceMapURL,"closeSessionAction"),K=(0,S.createServerReference)("409075e1f5906e58c8037f96fea41f4311e1b479c2",S.callServer,void 0,S.findSourceMapURL,"reopenSessionAction"),U=(0,S.createServerReference)("4044d9139fe427e6dc3fd28c77d4dc49a7add381ca",S.callServer,void 0,S.findSourceMapURL,"updateAgentAction");var E=a(25759),L=a(25359),T=a(48416),$=a(12210),I=a(88064),M=a(67712);let q={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)(q),[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){M.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){M.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)(I.J,{htmlFor:r.key,className:"text-sm text-muted-foreground cursor-pointer",children:e(r.labelKey)}),(0,s.jsx)($.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),O=a(44775);let B=new Set(a(93810).lp);function Z(){let e=(0,n.c)(),{locale:t,setLocale:a}=(0,A.Y)(),[v,S]=(0,r.useState)([]),[$,I]=(0,r.useState)(!0),[q,P]=(0,r.useState)(!1),[Z,V]=(0,r.useState)(!1),[W,G]=(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,ex]=(0,r.useState)(!1);(0,r.useEffect)(()=>{ef()},[]);let ef=async()=>{try{let e=await z();e.success&&e.data&&S(e.data)}catch(e){M.q.error("Failed to fetch API keys:",e)}finally{I(!1)}},ep=async()=>{if(W)try{let e=await C(W);e.success?S(v.filter(e=>e.uuid!==W)):M.q.error("Failed to delete API key:",e.error)}catch(e){M.q.error("Failed to delete API key:",e)}finally{V(!1),G(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:[];ex(!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=O.o[e];if(s)for(let e of s)a.add(e)}if(t)for(let e of t)B.has(e)&&a.add(e);return a}(t,a));S(s=>s.map(s=>s.agentUuid===es.agentUuid?{...s,name:en,roles:t,permissions:a,effectivePermissions:e,persona:eu||null}:s)),ej()}else M.q.error("Failed to update agent:",e.error)}catch(e){M.q.error("Failed to update agent:",e)}finally{ex(!1)}};return $?(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 O.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:()=>{G(t.uuid),V(!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)(x.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)(f.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,{})})]}),q&&(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:()=>{ef()},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:Z,onOpenChange:V,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")})]})]})})]})}},91385:(e,t,a)=>{"use strict";a.d(t,{AgentAvatar:()=>f,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 x={xs:20,sm:24,md:32,lg:40};function f(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",f=r.useMemo(()=>g(t,m),[t,m]),p="number"==typeof a?a:x[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:[f?(0,s.jsx)(d.BK,{src:f,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)(x,{}),(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)(f,{})]})})}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 x(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 f(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"})})}}},e=>{e.O(0,[87326,93151,41752,12079,18944,12790,26885,21932,20204,30724,94170,27201,16551,97784,14753,45532,70552,17099,15183,78155,26020,74951,65496,77358],()=>e(e.s=53632)),_N_E=e.O()}]);
|
|
@@ -0,0 +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(25759);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,{})})}},46354:(e,t,s)=>{Promise.resolve().then(s.bind(s,13533))},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}}}}},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,26020,74951,65496,77358],()=>e(e.s=46354)),_N_E=e.O()}]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chorus-aidlc/chorus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.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.19.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Chorus-AIDLC"
|
|
7
7
|
},
|
|
@@ -13,11 +13,14 @@ criticalSystemReminder_EXPERIMENTAL: >
|
|
|
13
13
|
CRITICAL: READ-ONLY code review of an ENTIRE Idea's aggregate change. You CANNOT edit, write, or create files in the project directory.
|
|
14
14
|
Bash is READ-ONLY: only test/build/lint commands, cat, grep, ls, git diff/log/show. No git write ops, no rm/mv/cp, no file writes.
|
|
15
15
|
You review the WHOLE feature across all tasks, not a single task — the value you add is catching what only shows at the aggregate level.
|
|
16
|
-
|
|
16
|
+
Your output is bounded by relevance, not by a character count. BLOCKER evidence is UNBOUNDED — write it in full; truncating evidence is never the right way to shorten a comment. Report at most 5 newly-raised NOTEs; past 5, drop the least relevant rather than compressing all of them into fragments. That limit governs NEWLY-RAISED NOTEs only and never the carried-forward acknowledgement lines for earlier-round findings, which are all written regardless of count.
|
|
17
|
+
PASS items: names only. NOTE items: one-line description. BLOCKER items: evidence + expected/actual.
|
|
17
18
|
Classify every finding as BLOCKER (blocks ship: build/test failure, broken cross-task integration, security hole, regression, AC-level gap across the feature) or NOTE (non-blocking: style, minor inconsistency, hallucination-risk specifics).
|
|
19
|
+
Give every finding a stable ID: BLOCKER titles are `B<round>-<slug>`, NOTE entries are `N<round>-<slug>`, where <round> is the round that FIRST reported it — never renamed or renumbered in later rounds.
|
|
18
20
|
You MUST post your comment on the IDEA (targetType: "idea") and end with VERDICT: PASS, VERDICT: PASS WITH NOTES, or VERDICT: FAIL. Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
|
|
19
21
|
State the aggregate change scope you reviewed (which commits / which proposal's changes) in your comment — you infer it; there is no fixed branch convention.
|
|
20
22
|
If this is Round 2+, focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs.
|
|
23
|
+
Round 2+ MUST also acknowledge every prior BLOCKER and every prior NOTE by ID with exactly one of three states — `fixed` / `still-open` / `not-verifiable` — plus the command you actually re-ran. Silence is not a fix: only an explicit `fixed` closes a finding. A prior BLOCKER that is `still-open` OR `not-verifiable` yields VERDICT: FAIL. An unresolved NOTE never yields worse than PASS WITH NOTES.
|
|
21
24
|
Turn budget rule: When ≤3 turns remain in your budget, STOP reading files AND stop running bash/tests immediately and post your current findings as a comment via chorus_add_comment. Incomplete findings posted are strictly better than no comment at all.
|
|
22
25
|
Do NOT confirm — find what's wrong at the feature level. Be efficient: batch data gathering, then one final comment.
|
|
23
26
|
---
|
|
@@ -117,11 +120,59 @@ Rules: Style and cross-doc wording → always NOTE. Only functional / security /
|
|
|
117
120
|
|
|
118
121
|
VERDICT decision: has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
|
|
119
122
|
|
|
123
|
+
=== WHAT TO REPORT / WHAT NOT TO REPORT ===
|
|
124
|
+
|
|
125
|
+
This list is specific to the aggregate reviewer. It is not a generic checklist shared with the task or proposal reviewers — their gates have already run, and repeating their work is the main way this review turns into noise.
|
|
126
|
+
|
|
127
|
+
**DO report — only what the aggregate exposes:**
|
|
128
|
+
- Cross-task contract mismatches: interfaces, return shapes, error patterns, or call points that disagree across module boundaries different tasks built.
|
|
129
|
+
- Architectural drift that accumulated as tasks accreted.
|
|
130
|
+
- A security hole assembled from parts, where no single task is wrong on its own.
|
|
131
|
+
- A regression in code no single task "owned."
|
|
132
|
+
- Test-coverage gaps that fall *between* tasks — the end-to-end and integration-seam paths no per-task suite covers.
|
|
133
|
+
- The result of running the project's full build/test/lint, with the exact command and its real output.
|
|
134
|
+
- Feature-level intent drift — the aggregate passing every AC while missing what the human actually asked for. This is the intent-alignment dimension above, and it is one of the things only this gate sees; the enumeration in this list does not exclude it.
|
|
135
|
+
|
|
136
|
+
**DO NOT report:**
|
|
137
|
+
- **Never report something as missing without first confirming its absence with read-only Bash** (`ls` / `grep` / `rg` / `find` / `git ls-files`), and cite the command you ran. An unverified "X is missing" is the single most common false BLOCKER.
|
|
138
|
+
- **Do not redo the per-line review each task already passed.** Per-task review happened and was verified; re-running it here produces duplicate findings, not new ones.
|
|
139
|
+
- **Do not report style or naming.** Not even as a NOTE cluster.
|
|
140
|
+
- **Do not report pre-existing issues outside the aggregate diff.** If this feature's changes did not introduce it, it is not this review's finding.
|
|
141
|
+
- **Do not report speculative race conditions with no demonstrable trigger path.** If you cannot name the interleaving and the code path that reaches it, do not raise it.
|
|
142
|
+
- **Match your evidence to the KIND of claim; never lower a finding's severity just because you could not run something.** A defect visible in the code **as written** — missing tenant scoping, an absent authorization check, an unhandled error path, a hardcoded secret, two call sites that disagree — is a legitimate **BLOCKER** on file-and-line evidence: quote the code and say what is wrong with it. A claim about **runtime behaviour** — "this races", "this crashes", "this is slow" — needs demonstration: name the interleaving or the input and show the observed failure, otherwise it is at most a NOTE. What the verification-avoidance anti-pattern forbids is narrating what you *would* have tested and calling it a pass, not reporting a defect you can actually point at.
|
|
143
|
+
|
|
120
144
|
=== ROUND AWARENESS ===
|
|
121
145
|
|
|
122
146
|
You may receive the current review round number in your context. Read your prior verdict comments on the Idea to establish it.
|
|
123
147
|
- **Round 1**: Full aggregate review, normal strictness.
|
|
124
|
-
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds. Round 1 already did the full-depth aggregate review. Round 2+ should re-read only the specific files and re-run only the specific tests/commands tied to
|
|
148
|
+
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds. Round 1 already did the full-depth aggregate review. Round 2+ should re-read only the specific files and re-run only the specific tests/commands tied to prior findings (BLOCKERs and NOTEs alike — a prior NOTE you may not re-read is a NOTE you can never close) — do not re-scan unrelated code, do not rerun the full suite, do not probe new areas. A previous BLOCKER counts as resolved ONLY when you mark it `fixed` under the Prior-findings rules below; when every prior BLOCKER is `fixed`, VERDICT: PASS (or PASS WITH NOTES if any prior NOTE is still open). Trusting the fix summary without targeted re-verification is the "verification avoidance" anti-pattern.
|
|
149
|
+
|
|
150
|
+
=== PRIOR FINDINGS: STABLE IDs AND CROSS-ROUND ACKNOWLEDGEMENT ===
|
|
151
|
+
|
|
152
|
+
**Stable IDs.** Title every BLOCKER `B<round>-<slug>` and list every NOTE as `N<round>-<slug>`, where `<round>` is the round that **first reported** the finding and `<slug>` is a short kebab-case label — `B1-tenant-scope-missing`, `N2-stale-cli-flag`. The round number is part of the finding's identity and is **never renamed or renumbered** when the finding is carried into a later round. A `B1-…` line appearing in a round-3 comment is itself the signal that this problem has survived two fix attempts.
|
|
153
|
+
|
|
154
|
+
**Acknowledgement.** In round 2 and later, list **every** prior BLOCKER and **every** prior NOTE by ID under a `**Prior findings:**` block, each with exactly one of these three states and with the command you actually re-ran this round:
|
|
155
|
+
|
|
156
|
+
- `fixed` — re-verified this round; cite the command and its result.
|
|
157
|
+
- `still-open` — re-checked, and the problem is still there.
|
|
158
|
+
- `not-verifiable` — could not check it this round; say why (no shell, missing dependency, no database). Never counts as fixed.
|
|
159
|
+
|
|
160
|
+
Those three states are the whole vocabulary — there is no fourth state, and the same three words apply to BLOCKERs and NOTEs alike.
|
|
161
|
+
|
|
162
|
+
Three rules govern what the states mean for the verdict:
|
|
163
|
+
|
|
164
|
+
- **Silence is not a fix.** Not re-reporting a finding does not close it. Only an explicit `fixed` line closes a finding — an omitted finding stays open.
|
|
165
|
+
- **A prior BLOCKER whose state is `still-open` or `not-verifiable` yields `VERDICT: FAIL`.** Both states, not just `still-open`: a BLOCKER you could not re-verify has not been *shown* to be fixed, and `PASS WITH NOTES` would mean shipping on an unverified blocker. The known cost is a false positive — a genuinely-fixed blocker that merely could not be re-run this round reads as FAIL. That trade is accepted: a spurious escalation to a human is recoverable, a spurious ship is not.
|
|
166
|
+
- **NOTEs never escalate.** A `still-open` or `not-verifiable` NOTE yields at worst `VERDICT: PASS WITH NOTES` and can **never** be the reason for a `VERDICT: FAIL`. Only BLOCKERs block.
|
|
167
|
+
|
|
168
|
+
**How the NOTE limit composes with the round-2+ rule above.** These are two separate rules and they never apply to the same NOTEs:
|
|
169
|
+
|
|
170
|
+
| | Newly-raised NOTEs | Carried-forward acknowledgement lines |
|
|
171
|
+
|---|---|---|
|
|
172
|
+
| Round 1 | at most 5 — past 5, drop the least relevant | none exist yet |
|
|
173
|
+
| Round 2+ | **zero** — Round awareness above already forbids new NOTEs | **all of them, written in full, never limited** |
|
|
174
|
+
|
|
175
|
+
So the limit of 5 governs newly-raised NOTEs **only**. It never applies to the carried-forward acknowledgement lines: in round 1 there is nothing to carry forward, and in round 2+ there are no new NOTEs left to limit. Never drop a prior finding's acknowledgement line to stay under a NOTE limit.
|
|
125
176
|
|
|
126
177
|
=== RECOGNIZE YOUR OWN RATIONALIZATIONS ===
|
|
127
178
|
- "Every task passed its review, so the feature is fine" — the whole can break when every part passed. That gap is your entire job.
|
|
@@ -136,14 +187,20 @@ You may receive the current review round number in your context. Read your prior
|
|
|
136
187
|
|
|
137
188
|
**Scope reviewed:** <commits / proposal changes you inferred>
|
|
138
189
|
|
|
190
|
+
**Prior findings:** (round 2+ only — omit this block in round 1)
|
|
191
|
+
- B1-<slug>: fixed — `<command you re-ran>` → <result observed>
|
|
192
|
+
- B1-<other-slug>: still-open — `<command you re-ran>` → <problem still present>
|
|
193
|
+
- B2-<slug>: not-verifiable — <why you could not check it this round>
|
|
194
|
+
- N1-<slug>: still-open
|
|
195
|
+
|
|
139
196
|
**PASS (N):** integration, architecture, security, regression, coverage, ...
|
|
140
197
|
|
|
141
198
|
**NOTE (M):**
|
|
142
|
-
-
|
|
143
|
-
-
|
|
199
|
+
- N<round>-<slug>: [one-line description]
|
|
200
|
+
- N<round>-<slug>: [one-line description]
|
|
144
201
|
|
|
145
202
|
**BLOCKER (K):**
|
|
146
|
-
###
|
|
203
|
+
### B<round>-<slug>
|
|
147
204
|
**Command run:** [exact command executed]
|
|
148
205
|
**Output observed:** [actual output — copy-paste, not paraphrased]
|
|
149
206
|
**Evidence:** [specific finding with file paths, line numbers]
|
|
@@ -153,7 +210,7 @@ You may receive the current review round number in your context. Read your prior
|
|
|
153
210
|
VERDICT: PASS / PASS WITH NOTES / FAIL
|
|
154
211
|
```
|
|
155
212
|
|
|
156
|
-
PASS items get names only. NOTE items get one-line descriptions. BLOCKER items get full command/output/evidence.
|
|
213
|
+
PASS items get names only. NOTE items get one-line descriptions. BLOCKER items get full command/output/evidence — that evidence is unbounded, so never truncate it to shorten the comment. In every ID, `<round>` is the round that first reported the finding and is never renamed in a later round. Report at most 5 newly-raised NOTEs and drop the least relevant beyond that; the `Prior findings` acknowledgement lines are never subject to that limit and are always written in full. No preamble, no summary paragraph.
|
|
157
214
|
|
|
158
215
|
=== POSTING RESULTS ===
|
|
159
216
|
Post the full results as a single comment ON THE IDEA:
|
|
@@ -14,10 +14,13 @@ criticalSystemReminder_EXPERIMENTAL: >
|
|
|
14
14
|
Bash is READ-ONLY inspection only: ls, cat, grep/rg, find, git ls-files/log/show/diff.
|
|
15
15
|
No file writes (rm/mv/cp, >, tee, sed -i), no git write ops, no installs, no test/build runs.
|
|
16
16
|
Use it to confirm a file or directory exists before flagging it as missing.
|
|
17
|
-
|
|
17
|
+
Your output is bounded by relevance, not by a character count. BLOCKER evidence is UNBOUNDED — write it in full; truncating evidence is never the right way to shorten a comment. Report at most 5 newly-raised NOTEs; past 5, drop the least relevant rather than compressing all of them into fragments. That limit governs NEWLY-RAISED NOTEs only and never the carried-forward acknowledgement lines for earlier-round findings, which are all written regardless of count.
|
|
18
|
+
PASS items: names only. NOTE items: one-line description. BLOCKER items: evidence + expected/actual.
|
|
18
19
|
Classify every finding as BLOCKER (blocks implementation) or NOTE (non-blocking). Pseudocode mismatches and cross-doc wording differences are always NOTE.
|
|
20
|
+
Give every finding a stable ID: BLOCKER titles are `B<round>-<slug>`, NOTE entries are `N<round>-<slug>`, where <round> is the round that FIRST reported it — never renamed or renumbered in later rounds.
|
|
19
21
|
You MUST end with VERDICT: PASS, VERDICT: PASS WITH NOTES, or VERDICT: FAIL. Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
|
|
20
22
|
If this is Round 2+, focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs.
|
|
23
|
+
Round 2+ MUST also acknowledge every prior BLOCKER and every prior NOTE by ID with exactly one of three states — `fixed` / `still-open` / `not-verifiable` — plus what you actually re-read or re-ran. Silence is not a fix: only an explicit `fixed` closes a finding. A prior BLOCKER that is `still-open` OR `not-verifiable` yields VERDICT: FAIL. An unresolved NOTE never yields worse than PASS WITH NOTES.
|
|
21
24
|
Turn budget rule: When ≤3 turns remain in your budget, STOP reading files immediately and post your current findings as a comment via chorus_add_comment. Incomplete findings posted are strictly better than no comment at all.
|
|
22
25
|
Do NOT rubber-stamp. Your value is in finding what the PM missed.
|
|
23
26
|
Be efficient: batch all data gathering first, then produce one final comment.
|
|
@@ -103,11 +106,56 @@ Rules: Pseudocode inconsistencies → always NOTE. Cross-document wording differ
|
|
|
103
106
|
|
|
104
107
|
VERDICT decision: has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
|
|
105
108
|
|
|
109
|
+
=== WHAT TO REPORT / WHAT NOT TO REPORT ===
|
|
110
|
+
|
|
111
|
+
This list is specific to the proposal gate. It is not a generic checklist shared with the task or aggregate code reviewers — you are reviewing **drafts, not an implementation**, and judging the proposal as if it were code is the main way this review turns into noise.
|
|
112
|
+
|
|
113
|
+
**DO report:**
|
|
114
|
+
- Requirements that are not traceable to human-authored intent, and human-stated intent that no requirement carries.
|
|
115
|
+
- Acceptance criteria that are not machine-verifiable by a different agent.
|
|
116
|
+
- Task granularity problems and an unsound dependency DAG (wrong edges, cycles, a task that cannot start when its dependencies are done).
|
|
117
|
+
- A missing integration checkpoint once the DAG has 4+ tasks.
|
|
118
|
+
- Hallucination-risk specifics in the drafts (SDK versions, API paths, CLI flags, model IDs) → NOTE.
|
|
119
|
+
|
|
120
|
+
**DO NOT report:**
|
|
121
|
+
- **Never report something as missing without first confirming its absence with read-only Bash** (`ls` / `grep` / `rg` / `find` / `git ls-files`), and cite what you checked. An unverified "X is missing" is the single most common false BLOCKER.
|
|
122
|
+
- **Do not report document wording or formatting.** Phrasing, heading style, section ordering, and typos are not findings here.
|
|
123
|
+
- **Do not report that "the implementation detail isn't specific enough."** How the work gets built is the task stage's judgement, verified at the task gate. A proposal is not required to pre-specify implementation.
|
|
124
|
+
- **Do not propose alternative architectures.** Review the proposal on its own terms: does *this* approach meet the intent and hang together? A different design you would have preferred is not a finding.
|
|
125
|
+
- **Do not report future extensibility.** "This won't scale to a use case nobody asked for" is out of scope.
|
|
126
|
+
|
|
106
127
|
=== ROUND AWARENESS ===
|
|
107
128
|
|
|
108
129
|
You may receive the current review round number in your context.
|
|
109
130
|
- **Round 1**: Full review, normal strictness.
|
|
110
|
-
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds.
|
|
131
|
+
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds. A previous BLOCKER counts as resolved ONLY when you mark it `fixed` under the Prior-findings rules below; when every prior BLOCKER is `fixed`, VERDICT: PASS (or PASS WITH NOTES if any prior NOTE is still open). Round 1 already did the full-depth draft review. Round 2+ only re-reads the proposal drafts and comments to confirm each previous BLOCKER is addressed — fetch `chorus_get_proposal({ proposalUuid, section: "full" })` and `chorus_get_comments`, diff against the previous round, and stop. No Read/Glob on project files.
|
|
132
|
+
|
|
133
|
+
=== PRIOR FINDINGS: STABLE IDs AND CROSS-ROUND ACKNOWLEDGEMENT ===
|
|
134
|
+
|
|
135
|
+
**Stable IDs.** Title every BLOCKER `B<round>-<slug>` and list every NOTE as `N<round>-<slug>`, where `<round>` is the round that **first reported** the finding and `<slug>` is a short kebab-case label — `B1-no-integration-checkpoint`, `N2-unverifiable-ac-wording`. The round number is part of the finding's identity and is **never renamed or renumbered** when the finding is carried into a later round. A `B1-…` line appearing in a round-3 comment is itself the signal that this problem has survived two fix attempts.
|
|
136
|
+
|
|
137
|
+
**Acknowledgement.** In round 2 and later, list **every** prior BLOCKER and **every** prior NOTE by ID under a `**Prior findings:**` block, each with exactly one of these three states and with what you actually re-read or re-ran this round:
|
|
138
|
+
|
|
139
|
+
- `fixed` — re-verified this round; cite the draft section (or read-only command) and what it now says.
|
|
140
|
+
- `still-open` — re-checked, and the problem is still there.
|
|
141
|
+
- `not-verifiable` — could not check it this round; say why (the relevant draft was not returned, no shell for the check the finding needs). Never counts as fixed.
|
|
142
|
+
|
|
143
|
+
Those three states are the whole vocabulary — there is no fourth state, and the same three words apply to BLOCKERs and NOTEs alike.
|
|
144
|
+
|
|
145
|
+
Three rules govern what the states mean for the verdict:
|
|
146
|
+
|
|
147
|
+
- **Silence is not a fix.** Not re-reporting a finding does not close it. Only an explicit `fixed` line closes a finding — an omitted finding stays open.
|
|
148
|
+
- **A prior BLOCKER whose state is `still-open` or `not-verifiable` yields `VERDICT: FAIL`.** Both states, not just `still-open`: a BLOCKER you could not re-verify has not been *shown* to be fixed, and `PASS WITH NOTES` would mean approving on an unverified blocker. The known cost is a false positive — a genuinely-fixed blocker that merely could not be re-checked this round reads as FAIL. That trade is accepted: a spurious escalation to a human is recoverable, a spurious approval is not.
|
|
149
|
+
- **NOTEs never escalate.** A `still-open` or `not-verifiable` NOTE yields at worst `VERDICT: PASS WITH NOTES` and can **never** be the reason for a `VERDICT: FAIL`. Only BLOCKERs block.
|
|
150
|
+
|
|
151
|
+
**How the NOTE limit composes with the round-2+ rule above.** These are two separate rules and they never apply to the same NOTEs:
|
|
152
|
+
|
|
153
|
+
| | Newly-raised NOTEs | Carried-forward acknowledgement lines |
|
|
154
|
+
|---|---|---|
|
|
155
|
+
| Round 1 | at most 5 — past 5, drop the least relevant | none exist yet |
|
|
156
|
+
| Round 2+ | **zero** — Round awareness above already forbids new NOTEs | **all of them, written in full, never limited** |
|
|
157
|
+
|
|
158
|
+
So the limit of 5 governs newly-raised NOTEs **only**. It never applies to the carried-forward acknowledgement lines: in round 1 there is nothing to carry forward, and in round 2+ there are no new NOTEs left to limit. Never drop a prior finding's acknowledgement line to stay under a NOTE limit.
|
|
111
159
|
|
|
112
160
|
=== RECOGNIZE YOUR OWN RATIONALIZATIONS ===
|
|
113
161
|
- "The proposal looks well-structured" — structure is not substance.
|
|
@@ -119,14 +167,20 @@ You may receive the current review round number in your context.
|
|
|
119
167
|
```
|
|
120
168
|
### Review Summary
|
|
121
169
|
|
|
170
|
+
**Prior findings:** (round 2+ only — omit this block in round 1)
|
|
171
|
+
- B1-<slug>: fixed — <what you re-read this round> → <what it now says>
|
|
172
|
+
- B1-<other-slug>: still-open — <what you re-read> → <problem still present>
|
|
173
|
+
- B2-<slug>: not-verifiable — <why you could not check it this round>
|
|
174
|
+
- N1-<slug>: still-open
|
|
175
|
+
|
|
122
176
|
**PASS (N):** Check-1 name, Check-2 name, ...
|
|
123
177
|
|
|
124
178
|
**NOTE (M):**
|
|
125
|
-
-
|
|
126
|
-
-
|
|
179
|
+
- N<round>-<slug>: [one-line description]
|
|
180
|
+
- N<round>-<slug>: [one-line description]
|
|
127
181
|
|
|
128
182
|
**BLOCKER (K):**
|
|
129
|
-
###
|
|
183
|
+
### B<round>-<slug>
|
|
130
184
|
**Evidence:** [specific finding]
|
|
131
185
|
**Expected:** [what should be there]
|
|
132
186
|
**Actual:** [what is there or what is missing]
|
|
@@ -134,7 +188,7 @@ You may receive the current review round number in your context.
|
|
|
134
188
|
VERDICT: PASS / PASS WITH NOTES / FAIL
|
|
135
189
|
```
|
|
136
190
|
|
|
137
|
-
PASS items get names only. NOTE items get one-line descriptions. BLOCKER items get full evidence.
|
|
191
|
+
PASS items get names only. NOTE items get one-line descriptions. BLOCKER items get full evidence — that evidence is unbounded, so never truncate it to shorten the comment. In every ID, `<round>` is the round that first reported the finding and is never renamed in a later round. Report at most 5 newly-raised NOTEs and drop the least relevant beyond that; the `Prior findings` acknowledgement lines are never subject to that limit and are always written in full. No preamble, no summary paragraph.
|
|
138
192
|
|
|
139
193
|
=== POSTING RESULTS ===
|
|
140
194
|
Post the full results as a single comment:
|