@chorus-aidlc/chorus 0.15.1 → 0.16.2
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 +394 -393
- package/.next/standalone/.next/app-path-routes-manifest.json +46 -46
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +21 -21
- 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 +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +2 -2
- package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +2 -2
- package/.next/standalone/.next/server/app/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
- package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +2 -2
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +2 -2
- package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +2 -2
- package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +2 -2
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +2 -2
- package/.next/standalone/.next/server/app/projects.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +46 -46
- 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/2570.js +2 -2
- package/.next/standalone/.next/server/chunks/2572.js +1 -1
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/3594.js +1 -0
- package/.next/standalone/.next/server/chunks/{2547.js → 4011.js} +3 -3
- package/.next/standalone/.next/server/chunks/4394.js +1 -0
- package/.next/standalone/.next/server/chunks/4827.js +1 -1
- package/.next/standalone/.next/server/chunks/5205.js +1 -0
- package/.next/standalone/.next/server/chunks/5245.js +1 -1
- package/.next/standalone/.next/server/chunks/{2282.js → 5351.js} +3 -3
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6506.js +3 -3
- package/.next/standalone/.next/server/chunks/6667.js +1 -0
- package/.next/standalone/.next/server/chunks/679.js +1 -1
- package/.next/standalone/.next/server/chunks/6995.js +1 -0
- package/.next/standalone/.next/server/chunks/7364.js +1 -1
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/7530.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/9213.js +1 -1
- package/.next/standalone/.next/server/chunks/9378.js +1 -1
- package/.next/standalone/.next/server/chunks/9793.js +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/11595.b6f8ad33572b32fe.js +1 -0
- package/.next/standalone/.next/static/chunks/19887-9f459ee9e8d0855f.js +1 -0
- package/.next/standalone/.next/static/chunks/29108-b9b232255811ffa8.js +1 -0
- package/.next/standalone/.next/static/chunks/{31308-bb4a97b3f39c22dd.js → 31308-fda6febfb2882a28.js} +1 -1
- package/.next/standalone/.next/static/chunks/33456.e8550ad410031e29.js +1 -0
- package/.next/standalone/.next/static/chunks/35432-ee83da56c49ef6f8.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.b405fc235b36271b.js +1 -0
- package/.next/standalone/.next/static/chunks/53073-5fd399cb25a11740.js +1 -0
- package/.next/standalone/.next/static/chunks/6603-07faab08560f7ecd.js +1 -0
- package/.next/standalone/.next/static/chunks/66980-652990fcf3212c94.js +10 -0
- package/.next/standalone/.next/static/chunks/78155-db70d9684a1e77a2.js +1 -0
- package/.next/standalone/.next/static/chunks/78917-7354d3b6908da7d1.js +1 -0
- package/.next/standalone/.next/static/chunks/82751-de255af4418d53e4.js +1 -0
- package/.next/standalone/.next/static/chunks/94643-6d31df78aa3074b5.js +1 -0
- package/.next/standalone/.next/static/chunks/96170-75da13decdb6f73f.js +1 -0
- package/.next/standalone/.next/static/chunks/99366-425e9ef22e60e3e2.js +1 -0
- package/.next/standalone/.next/static/chunks/99373.9dce8f30802824fc.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-cea0bb3e3a295bea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-007278623926490f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-b6ecaf52f6b81ec7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-2c9d3f4c6e0ff807.js → page-82404154708e48a9.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-f5a351c544ed23d7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-3cd46bec9383b191.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-d5b222f379b2e8ca.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-ed9415921188b4d3.js → page-6abc7d1785e2b999.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-c70af8cac7bdc483.js → page-7f87113e5d8bcf6e.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-715b000c156a080c.js → page-30ab1573c4bd466f.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b21d4184d9ca0b25.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-3b6c54f887108635.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-e181cbbb1e041891.js → webpack-b54e0c78eded76be.js} +1 -1
- package/.next/standalone/.next/static/css/893d99a21153c9b0.css +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 +1 -1
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +1 -0
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +2 -0
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +4 -3
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +68 -0
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/install-kiro.sh +10 -7
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.json +1 -0
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +68 -0
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
- package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +3 -2
- package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +4 -3
- package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +2 -2
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/docs-chorus/SKILL.md +70 -0
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/package.json +9 -5
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +2 -1
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +2 -1
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
- package/README.ja.md +31 -359
- package/README.ko.md +33 -360
- package/README.md +39 -367
- package/README.zh.md +36 -341
- package/cli/claude-spawner.mjs +15 -6
- package/cli/client-args.mjs +8 -0
- package/cli/codex-spawner.mjs +7 -3
- package/cli/control-handler.mjs +13 -3
- package/cli/credentials.mjs +41 -0
- package/cli/daemon-config.mjs +202 -1
- package/cli/daemon-install-config.mjs +38 -1
- package/cli/daemon-rest-client.mjs +11 -3
- package/cli/daemon.mjs +274 -11
- package/cli/event-router.mjs +17 -5
- package/cli/login.mjs +90 -2
- package/cli/prompts.mjs +116 -1
- package/cli/turn-reporter.mjs +5 -1
- package/cli/wake-queue.mjs +57 -35
- package/cli/waker.mjs +125 -36
- package/package.json +1 -1
- package/prisma/migrations/20260814101500_add_typed_assignment_provenance/migration.sql +2 -0
- package/prisma/schema.prisma +4 -2
- package/.next/standalone/.next/server/chunks/1114.js +0 -1
- package/.next/standalone/.next/server/chunks/1524.js +0 -1
- package/.next/standalone/.next/server/chunks/330.js +0 -1
- package/.next/standalone/.next/server/chunks/3525.js +0 -1
- package/.next/standalone/.next/server/chunks/4070.js +0 -1
- package/.next/standalone/.next/server/chunks/8540.js +0 -1
- package/.next/standalone/.next/static/chunks/11595.69e774e65ffda45f.js +0 -1
- package/.next/standalone/.next/static/chunks/18351-12dc856208d79e10.js +0 -1
- package/.next/standalone/.next/static/chunks/33456.48112aa459fd9c68.js +0 -1
- package/.next/standalone/.next/static/chunks/37938-0b9a2b891c04b166.js +0 -1
- package/.next/standalone/.next/static/chunks/4340-a33120fb742af57e.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.496d21fc6db9e153.js +0 -1
- package/.next/standalone/.next/static/chunks/68326-61feeb2f6cddd338.js +0 -1
- package/.next/standalone/.next/static/chunks/72974-7e63b565a9ef443b.js +0 -1
- package/.next/standalone/.next/static/chunks/78917-f91904c6c2d12dab.js +0 -1
- package/.next/standalone/.next/static/chunks/80748-e971c5a5d6ef967d.js +0 -1
- package/.next/standalone/.next/static/chunks/80904-973284d1fe916c38.js +0 -1
- package/.next/standalone/.next/static/chunks/94426-39b6da238425f9b7.js +0 -10
- package/.next/standalone/.next/static/chunks/94470-cae3b3ad4e51d2ff.js +0 -1
- package/.next/standalone/.next/static/chunks/94643-ba1ebff5769d2b50.js +0 -1
- package/.next/standalone/.next/static/chunks/99373.5ac319a55a8f99a1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-177a3fa88be94b4a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-ae7c9d32fa1c2532.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-4a8ac49308a4e23b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-03408be00dc4822b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-dd5a0d1e50226c78.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-596d97796dd55e2f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e786a59c24eb5bda.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-df7c97cefb508201.js +0 -1
- package/.next/standalone/.next/static/css/ef995b001437e3ef.css +0 -1
- /package/.next/standalone/.next/static/{8kqUZqMF8xgdDXm_I4XdF → YTZwWTfE0BsJnjCDYCEHi}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{8kqUZqMF8xgdDXm_I4XdF → YTZwWTfE0BsJnjCDYCEHi}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[33456],{33456:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"로딩 중...","save":"저장","cancel":"취소","delete":"삭제","edit":"수정","create":"만들기","search":"검색","done":"완료","copy":"복사","copied":"복사됨!","back":"뒤로","viewAll":"전체 보기","showMore":"더 보기","showLess":"간략히 보기","signOut":"로그아웃","optional":"선택 사항","unassigned":"미배정","agent":"에이전트","user":"사용자","status":"상태","priority":"우선순위","type":"유형","created":"생성일","updated":"수정일","version":"버전","description":"설명","details":"상세 정보","content":"내용","assignment":"배정","noDescription":"설명이 없습니다","noContent":"내용이 없습니다","creating":"생성 중...","processing":"처리 중...","saving":"저장 중...","claim":"가져가기","release":"해제","assign":"배정","reassign":"재배정","verify":"검증","reject":"거부","approve":"승인","selectProject":"프로젝트를 선택해 주세요","assignee":"담당자","activity":"활동","noActivity":"아직 활동이 없습니다","source":"출처","currentAssignee":"현재 담당자","failedToAssign":"배정에 실패했습니다","actions":"작업","genericError":"오류가 발생했습니다. 다시 시도해 주세요.","unknown":"알 수 없음","system":"시스템","confirmDelete":"정말 삭제하시겠습니까?"},"theme":{"toggleLabel":"테마","light":"라이트","dark":"다크","system":"시스템"},"activity":{"taskCreated":"{actor}님이 이 작업을 생성했습니다","taskAssigned":"{actor}님이 이 작업에 배정되었습니다","taskClaimed":"{actor}님이 이 작업을 가져갔습니다","taskStarted":"{actor}님이 이 작업을 시작했습니다","taskSubmitted":"{actor}님이 이 작업을 검토 요청했습니다","taskCompleted":"{actor}님이 이 작업을 완료했습니다","taskReleased":"{actor}님이 이 작업을 해제했습니다","taskStatusChanged":"{actor}님이 작업 상태를 변경했습니다","ideaCreated":"{actor}님이 이 아이디어를 생성했습니다","ideaAssigned":"{actor}님이 이 아이디어에 배정되었습니다","ideaClaimed":"{actor}님이 이 아이디어를 가져갔습니다","ideaReleased":"{actor}님이 이 아이디어를 해제했습니다","ideaStatusChanged":"{actor}님이 아이디어 상태를 변경했습니다","ideaEdited":"{actor}님이 아이디어를 수정했습니다","ideaReparented":"{actor}님이 아이디어의 상위 항목을 변경했습니다","elaborationStarted":"{actor}님이 요구사항 구체화를 시작했습니다","elaborationAnswered":"{actor}님이 요구사항 구체화에 답변했습니다","elaborationSkipped":"{actor}님이 요구사항 구체화를 건너뛰었습니다","elaborationResolved":"{actor}님이 요구사항 구체화를 해결했습니다","elaborationFollowup":"{actor}님이 후속 요구사항 구체화를 요청했습니다","genericAction":"{actor}님이 {action}을(를) 수행했습니다","entityIdea":"아이디어","entityProposal":"제안","entityTask":"작업","entityDocument":"문서","entityProject":"프로젝트","actionCreated":"생성함","actionUpdated":"수정함","actionApproved":"승인함","actionRejected":"거부함","actionClaimed":"가져감","actionCompleted":"완료함","actionRevoked":"취소함","title":"활동","subtitle":"프로젝트 전반의 최근 활동","noActivity":"아직 활동이 없습니다","noActivityDesc":"회원님과 에이전트가 이 프로젝트에서 작업하면 여기에 활동이 표시됩니다.","loadingActivity":"활동을 불러오는 중..."},"comments":{"title":"댓글","noComments":"아직 댓글이 없습니다","addComment":"댓글을 입력하세요... (@를 입력해 멘션)","roleAgent":"에이전트","roleHuman":"사람","onBehalfOf":"{name}님을 대신하여","showMore":"더 보기","showLess":"간략히 보기","loadError":"댓글을 불러오지 못했습니다","retry":"다시 시도","loadingMore":"더 불러오는 중...","noMoreComments":"더 이상 댓글이 없습니다"},"mentions":{"noResults":"결과 없음","searchPlaceholder":"멘션할 이름을 입력하세요..."},"assign":{"selectAssignee":"이 작업을 배정할 방법을 선택하세요","assignToMyself":"나에게 배정","assignToMyselfDesc":"회원님의 모든 개발자 에이전트가 이 작업을 확인하고 처리할 수 있습니다","orAssignToUser":"다른 사용자에게 배정","orAssignToAgent":"특정 에이전트에게 배정","releaseAssignee":"해제 (담당자 지우기)","releaseAssigneeDesc":"현재 담당자를 제거하고 이 작업을 다시 배정 가능하게 만듭니다"},"assignInstance":{"workingDirectory":"작업 디렉터리","loadingInstances":"작업 디렉터리를 불러오는 중…","noInstances":"이 에이전트에 온라인 상태인 데몬이 없습니다. 작업은 배정되고 에이전트에게 알림이 전송되며, 다음에 온라인 상태가 되면 이를 처리합니다.","pinNote":"자율 웨이크는 여기서 고정한 정확한 (호스트, 경로)로 이 작업을 전달합니다. 온라인 상태인 인스턴스만 고정할 수 있습니다. 경로는 프로젝트에서 추론되지 않습니다.","ideaPinNote":"아이디어가 고정의 기준이 됩니다. 이 에이전트의 제안, 작업, 자율 웨이크는 여기서 고정한 (호스트, 경로)를 상속받습니다. 온라인 상태인 인스턴스만 고정할 수 있습니다. 설정하지 않으면 일반 에이전트로 배정됩니다.","assignTo":"{path}에 배정","assignToWithHost":"{path} \xb7 {host}에 배정","sendingTo":"{path}로 전송 중","sendingToWithHost":"{path} \xb7 {host}로 전송 중","liveSendNote":"지금 바로 지시를 전송합니다. 실시간 전송은 경로가 온라인 상태여야 합니다.","offlineCantRun":"오프라인 — 다시 연결될 때까지 실행할 수 없습니다"},"time":{"justNow":"방금 전","minutesAgo":"{minutes}분 전","hoursAgo":"{hours}시간 전","daysAgo":"{days}일 전","today":"오늘","yesterday":"어제"},"nav":{"projects":"프로젝트","settings":"설정","overview":"개요","documents":"문서","proposals":"제안","tasks":"작업","graph":"그래프","activity":"활동","logout":"로그아웃","newProject":"새 프로젝트","backToProjects":"프로젝트","openMenu":"메뉴 열기"},"priority":{"low":"낮음","medium":"보통","high":"높음","lowPriority":"낮은 우선순위","mediumPriority":"보통 우선순위","highPriority":"높은 우선순위","critical":"긴급","criticalPriority":"긴급 우선순위"},"status":{"open":"열림","active":"활성","draft":"초안","pending":"검토 대기","pendingReview":"검토 대기","approved":"승인됨","rejected":"거부됨","done":"완료","inProgress":"진행 중","todo":"할 일","toVerify":"검증 대기","claimed":"가져감","current":"현재","assigned":"배정됨","completed":"완료됨","closed":"종료됨","elaborating":"구체화 중","elaborated":"구체화됨","proposalCreated":"제안 생성됨","proposal_created":"제안 생성됨","needHumanInput":"사람 입력 필요","humanConductRequired":"사람의 처리 필요"},"admin":{"title":"슈퍼 관리자","dashboard":"대시보드","welcome":"Chorus 슈퍼 관리자에 오신 것을 환영합니다","email":"이메일","emailPlaceholder":"you@company.com","password":"비밀번호","passwordPlaceholder":"비밀번호를 입력하세요","signingIn":"로그인 중...","signInAsAdmin":"슈퍼 관리자로 로그인","backToEmail":"이메일로 돌아가기","totalCompanies":"전체 회사 수","registeredOrgs":"등록된 조직","registeredOrgsCount":"등록된 조직 {count}개","totalUsers":"전체 사용자 수","humanUsers":"모든 회사의 사람 사용자","totalAgents":"전체 에이전트 수","aiAgents":"모든 회사의 AI 에이전트","quickActions":"빠른 작업","commonTasks":"자주 사용하는 관리 작업","addCompany":"회사 추가","addCompanyDesc":"새 조직을 등록합니다","manageCompanies":"회사 관리","manageCompaniesDesc":"조직을 보고 설정합니다","companies":"회사","oidcRedirectUri":"OIDC 리디렉션 URI (콜백 URL)","oidcRedirectUriDesc":"OIDC 공급자에서 허용된 리디렉션 URI로 이 URL을 설정하세요","tableName":"이름","tableEmailDomains":"이메일 도메인","tableOidcStatus":"OIDC 상태","tableUsers":"사용자","tableAgents":"에이전트","tableActions":"작업","noCompanies":"등록된 회사가 없습니다.","addFirstCompany":"첫 회사 추가하기","oidcConfigured":"설정됨","oidcNotConfigured":"설정되지 않음","deleteCompanyConfirm":"\\"{name}\\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.","deleteCompanyConfirmFull":"\\"{name}\\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없으며 관련된 모든 데이터가 삭제됩니다.","failedToDelete":"회사를 삭제하지 못했습니다","networkError":"네트워크 오류입니다. 다시 시도해 주세요.","backToCompanies":"회사 목록으로 돌아가기","deleteCompany":"회사 삭제","createdOn":"{date}에 생성됨","companyNotFound":"회사를 찾을 수 없습니다","failedToLoad":"회사를 불러오지 못했습니다","failedToUpdate":"회사를 수정하지 못했습니다","companyUpdated":"회사 정보가 성공적으로 수정되었습니다","projects":"프로젝트","basicInfo":"기본 정보","companyName":"회사 이름","emailDomains":"이메일 도메인","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"쉼표로 구분된 이메일 도메인 목록","oidcConfig":"OIDC 설정","oidcEnabled":"사용","oidcConfigDesc":"싱글 사인온 인증을 위한 OpenID Connect(PKCE)를 설정합니다. 발급자 URL과 클라이언트 ID를 모두 입력하면 OIDC가 활성화됩니다.","oidcIssuerUrl":"OIDC 발급자 URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 디스커버리 엔드포인트 URL","clientId":"클라이언트 ID","clientIdPlaceholder":"예: 12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 클라이언트 ID (PKCE 모드, 시크릿 불필요)","saveChanges":"변경사항 저장","createCompany":"회사 만들기","createCompanyDesc":"새 회사를 설정하고 OIDC 인증을 구성합니다","emailDomain":"이메일 도메인","emailDomainHelp":"이 이메일 도메인을 사용하는 사용자는 이 회사로 연결됩니다","required":"필수","companyNamePlaceholder":"예: Acme Corporation","emailDomainPlaceholder":"예: acme.com","invalidCredentials":"잘못된 인증 정보입니다","createCompanyFailed":"회사를 만들지 못했습니다"},"dashboard":{"title":"대시보드","subtitle":"프로젝트 활동 개요","welcome":"Chorus에 오신 것을 환영합니다","welcomeDesc":"첫 프로젝트를 만들거나 기존 프로젝트를 선택하여 시작하세요.","viewProjects":"프로젝트 보기","createProject":"프로젝트 만들기","quickActions":"빠른 작업","addNewIdea":"새 아이디어","reviewProposals":"제안 검토","viewTaskBoard":"작업 보드","recentActivity":"최근 활동","activityPlaceholder":"활동 피드가 여기에 표시됩니다","taskPipeline":"작업 파이프라인","totalTasks":"전체 {count}개","todoCount":"할 일 ({count})","inProgressCount":"진행 중 ({count})","toVerifyCount":"검증 대기 ({count})","doneCount":"완료 ({count})","noRecentTasks":"아직 작업이 없습니다","noRecentActivity":"아직 활동이 없습니다","viewAll":"전체 보기","settings":"설정"},"projectSettings":{"title":"프로젝트 설정","basicInfo":"기본 정보","projectName":"프로젝트 이름","description":"설명","saveChanges":"변경사항 저장","saving":"저장 중...","saveSuccess":"프로젝트가 성공적으로 수정되었습니다","saveFailed":"프로젝트를 수정하지 못했습니다","dangerZone":"위험 구역","deleteTitle":"이 프로젝트 삭제","deleteDescription":"이 프로젝트와 모든 데이터를 영구적으로 제거합니다. 이 작업은 되돌릴 수 없습니다.","agentCwds":{"title":"Agent 작업 디렉터리","description":"이 프로젝트의 Agent마다 호스트와 디렉터리를 고정합니다.","loading":"작업 디렉터리를 불러오는 중...","loadFailed":"작업 디렉터리를 불러올 수 없습니다.","empty":"사용 가능한 Agent가 없습니다.","emptyOnline":"온라인 Agent가 없습니다.","notConfigured":"작업마다 임시 디렉터리 사용","configure":"작업 디렉터리 설정","replace":"작업 디렉터리 변경","clear":"고정 작업 디렉터리 해제","select":"디렉터리 선택","createFailed":"Agent 작업 디렉터리를 저장할 수 없어 프로젝트가 생성되지 않았습니다.","status":{"valid":"사용 가능","offline":"호스트 오프라인","invalid":"디렉터리 사용 불가"}}},"fixedCwdAnchor":{"title":"고정 작업 디렉터리","host":"호스트","cwd":"디렉터리","status":"상태","unknown":"알 수 없음","openAgentChat":"{agent}의 대화 열기","manage":"프로젝트 설정에서 관리","availability":{"ready":"사용 가능","offline":"호스트 오프라인","invalid":"디렉터리를 사용할 수 없음"}},"projects":{"title":"프로젝트","subtitle":"프로젝트를 관리하고 진행 상황을 추적하세요","newProject":"새 프로젝트","noProjects":"아직 프로젝트가 없습니다","noProjectsDesc":"첫 프로젝트를 만들어 AI 에이전트와 협업을 시작하세요.","createFirst":"첫 프로젝트 만들기","onboarding":{"welcomeTitle":"Chorus에 오신 것을 환영합니다","welcomeDesc":"Chorus는 프로젝트 그룹과 프로젝트로 작업을 구성합니다. 워크스페이스를 설정해 보겠습니다.","whatIsGroupTitle":"프로젝트 그룹","whatIsGroupDesc":"관련 프로젝트를 담는 컨테이너입니다. 팀, 제품 라인, 이니셔티브라고 생각하면 됩니다 — 예: \\"모바일 앱\\" 또는 \\"3분기 출시\\".","whatIsProjectTitle":"프로젝트","whatIsProjectDesc":"실제 작업이 이루어지는 곳입니다. 각 프로젝트는 고유한 아이디어, 제안, 문서, 작업을 가지며, AI 에이전트는 프로젝트 안에서 협업합니다.","step1Title":"1단계: 프로젝트 그룹 만들기","step1Desc":"워크스페이스 구성부터 시작하세요. 관련 프로젝트를 담을 그룹을 만듭니다.","step2Title":"2단계: 프로젝트 만들기","step2Desc":"그룹 안에 프로젝트를 추가하세요. 여기서 아이디어를 기록하고 AI 에이전트에게 작업을 배정합니다.","createGroupBtn":"프로젝트 그룹 만들기","agentTipTitle":"관리자 에이전트가 있나요? AI에게 설정을 맡기세요","agentTipDesc":"아래 프롬프트를 복사해 관리자 에이전트에게 전달하면 프로젝트 그룹과 프로젝트를 자동으로 만들어 줍니다:","agentPrompt":"워크스페이스 설정을 도와주세요. \\"{groupDesc}\\" 설명으로 \\"{groupName}\\" 프로젝트 그룹을 만든 다음, 그 안에 \\"{projectName}\\" 프로젝트를 만들어 주세요.","agentPromptDefault":"워크스페이스 설정을 도와주세요. 간단한 설명과 함께 \\"My Team\\"이라는 프로젝트 그룹을 만든 다음, 그 안에 초기 프로젝트를 만들어 주세요.","copiedPrompt":"프롬프트가 복사되었습니다!"},"ideas":"개 아이디어","tasks":"개 작업","docs":"개 문서","loadingProjects":"프로젝트를 불러오는 중...","createFailed":"프로젝트를 만들지 못했습니다","activeProjects":"활성 프로젝트","totalTasks":"전체 작업","openProposals":"열린 제안","ideasCaptured":"기록된 아이디어","taskProgress":"작업 진행률","createNewProject":"새 프로젝트 만들기","createNewProjectDesc":"새 프로젝트를 시작하고 팀을 초대하세요","updated":"수정됨","listView":"목록","gridView":"그리드","empty":"비어 있음","complete":"완료","createNew":{"title":"새 프로젝트 만들기","subtitle":"프로젝트 세부 정보를 설정한 뒤 아이디어를 PM 에이전트에게 배정하세요","gettingStartedTitle":"시작하기","gettingStartedDesc":"아래 기본 정보를 입력하세요. 생성 후에는 아이디어를 추가하고 제안 생성을 위해 PM 에이전트에게 배정할 수 있습니다.","basicInfo":"기본 정보","projectName":"프로젝트 이름","projectNamePlaceholder":"예: Project Alpha","descriptionLabel":"설명","descriptionPlaceholder":"이 프로젝트에 대해 간단히 설명해 주세요...","initialIdeas":"초기 아이디어","initialIdeasDesc":"PM 에이전트가 제안을 생성할 때 참고할 초기 생각이나 요구사항을 공유하세요","ideaPlaceholder":"예: OAuth를 지원하는 사용자 인증이 필요합니다...","addAnother":"아이디어 추가","documents":"문서","documentsDesc":"PM 에이전트가 분석할 PRD, 기술 설계, 참고 문서를 업로드하세요","dragDrop":"파일을 여기로 드래그하거나 클릭하여 찾아보기","fileTypes":"마크다운(.md) 문서","createProject":"프로젝트 만들기"}},"ideas":{"title":"아이디어","subtitle":"프로젝트를 위한 아이디어를 기록하고 추적하세요","newIdea":"새 아이디어","all":"전체","whatIsYourIdea":"어떤 아이디어인가요?","addMoreDetails":"세부 정보 추가...","noIdeas":"아직 아이디어가 없습니다","noIdeasFiltered":"{status} 상태의 아이디어가 없습니다","startByAdding":"첫 아이디어를 추가해 보세요. AI 에이전트가 분석을 위해 아이디어를 가져갈 수 있습니다.","ideasWithStatus":"이 상태의 아이디어가 여기에 표시됩니다.","addFirstIdea":"첫 아이디어 추가","loadingIdeas":"아이디어를 불러오는 중...","ideaNotFound":"아이디어를 찾을 수 없습니다","backToIdeas":"아이디어 목록으로 돌아가기","claimIdea":"아이디어 가져가기","assignIdea":"아이디어 배정","source":"출처:","assignedToMe":"나에게 배정됨","usedInProposal":"제안에 사용됨","noIdeasWithStatus":"{status} 상태의 아이디어가 없습니다","selectIdeaAssignee":"이 아이디어를 배정할 방법을 선택하세요","assignToMyselfIdeaDesc":"회원님의 모든 PM 에이전트가 이 아이디어를 확인하고 처리할 수 있습니다","orAssignToPmAgent":"특정 PM 에이전트에게 배정","onlySelectedPmAgentCanWork":"선택한 PM 에이전트만 이 아이디어를 처리할 수 있습니다","selectPmAgent":"PM 에이전트 선택","noPmAgentsAvailable":"사용 가능한 PM 에이전트가 없습니다","releaseIdeaAssigneeDesc":"현재 담당자를 제거하고 이 아이디어를 다시 배정 가능하게 만듭니다","proposalGenerated":"제안 생성됨","viewProposal":"제안 보기","assignedTo":"배정 대상","titleLabel":"제목","submit":"제출","editIdea":"아이디어 수정","saveChanges":"변경사항 저장","titleRequired":"제목은 필수입니다","updateFailed":"아이디어를 수정하지 못했습니다","deleteIdea":"아이디어 삭제","deleteIdeaConfirm":"\\"{title}\\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.","createFailed":"아이디어를 만들지 못했습니다","noProjectsFound":"프로젝트를 찾을 수 없습니다","moveFailed":"아이디어를 이동하지 못했습니다","moving":"이동 중...","ungrouped":"미분류","actions":{"move":"프로젝트로 이동..."},"moveDialog":{"title":"다른 프로젝트로 아이디어 이동","description":"대상 프로젝트를 선택하세요. 연결된 제안, 문서, 작업, 활동 기록이 이 아이디어와 함께 이동됩니다.","targetProjectLabel":"대상 프로젝트","targetProjectPlaceholder":"프로젝트 선택...","searchProjects":"프로젝트 검색...","previewLoading":"영향도를 계산하는 중...","previewSummary":"이동 대상: 아이디어 {ideas}개(파생 포함), 제안 {proposals}개, 문서 {documents}개, 작업 {tasks}개, 활동 {activities}개.","previewWarning":"이 작업은 되돌릴 수 없습니다.","confirm":"이동 확인","cancel":"취소","error":"이동 실패: {message}","successToast":"아이디어 {ideas}개를 이동했습니다 — 제안 {proposals}개, 문서 {documents}개, 작업 {tasks}개, 활동 {activities}개가 업데이트되었습니다.","viewMovedIdea":"보기"}},"tasks":{"title":"작업","subtitle":"작업 관리를 위한 칸반 보드","newTask":"새 작업","agentHours":"에이전트 총 소요 시간","noTasks":"작업 없음","loadingTasks":"작업을 불러오는 중...","taskNotFound":"작업을 찾을 수 없습니다","backToTasks":"작업 목록으로 돌아가기","claimTask":"작업 가져가기","assignTask":"작업 배정","statusProgress":"상태 진행률","subtasks":"하위 작업","parentTask":"상위 작업","storyPoints":"스토리 포인트","acceptanceCriteria":"수락 기준","startWork":"작업 시작","submitForReview":"검토 요청","markAsVerified":"검증 완료로 표시","taskCompleted":"작업 완료됨","noActionsAvailable":"사용 가능한 작업이 없습니다","onlySelectedAgentCanWork":"선택한 에이전트만 이 작업을 처리할 수 있습니다","selectAgent":"에이전트 선택","selectUser":"사용자 선택","noAgentsAvailable":"사용 가능한 에이전트가 없습니다","noUsersAvailable":"다른 사용자가 없습니다","editTask":"작업 수정","createTaskTitle":"작업 만들기","deleteTask":"작업 삭제","deleteTaskConfirm":"\\"{title}\\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.","titleLabel":"제목","titleRequired":"제목은 필수입니다","descriptionLabel":"설명","priorityLabel":"우선순위","storyPointsLabel":"스토리 포인트 (시간)","acceptanceCriteriaLabel":"수락 기준","saveChanges":"변경사항 저장","createFailed":"작업을 만들지 못했습니다","updateFailed":"작업을 수정하지 못했습니다","dependencies":"의존성","dependsOn":"선행 작업","blockedByThis":"이 작업에 막힌 항목","noDependencies":"의존성 없음","addDependency":"의존성 추가","failedToAddDep":"의존성을 추가하지 못했습니다","failedToRemoveDep":"의존성을 제거하지 못했습니다","noTasksToDisplay":"표시할 작업이 없습니다","kanbanView":"칸반","dagView":"DAG","listView":"목록","allStatuses":"전체","dependencyBlocked":"의존성이 해결되지 않음","dependencyBlockedDescription":"이 작업에는 해결되지 않은 의존성이 있습니다. 진행 중으로 이동하면 문제가 발생할 수 있습니다.","forceMove":"강제 이동","forceMoveConfirm":"이 작업을 진행 중으로 이동하시겠습니까? 의존성이 아직 완료되지 않았습니다.","blockerList":"차단 중인 작업","blockedTooltip":"해결되지 않은 의존성 {count}개로 인해 차단됨","blockedBy":"차단 항목: {tasks}","noActiveSession":"활성 세션 없음","forceStatusChange":"상태 강제 변경","proposalFilter":{"label":"제안","allProposals":"모든 제안","clear":"지우기","search":"제안 검색...","taskCount":"작업 {count}개","filtered":"{total}개 중 {filtered}개 제안","noResults":"제안을 찾을 수 없습니다","filteredSubtitle":"{total}개 중 {filtered}개 작업 (필터링됨)"}},"proposals":{"pageTitle":"제안","subtitle":"AI가 생성한 제안을 검토하고 승인하세요","all":"전체","pendingReview":"검토 대기","noProposals":"아직 제안이 없습니다","noProposalsDesc":"제안은 PM 에이전트가 아이디어를 분석할 때 생성됩니다. 생성되면 여기에 표시되어 검토할 수 있습니다.","loadingProposals":"제안을 불러오는 중...","proposalNotFound":"제안을 찾을 수 없습니다","backToProposals":"제안 목록으로 돌아가기","sourceIdea":"출처 아이디어","sourceIdeas":"출처 아이디어","noSourceIdeas":"출처 아이디어 없음","awaitingReview":"검토 대기 중","reviewInstructions":"내용을 검토하고 이 제안을 승인하거나 거부하세요.","basedOn":"기반","documentDrafts":"문서 초안","documents":"문서","taskDrafts":"작업 초안","tasks":"작업","emptyContainer":"이 제안 컨테이너는 비어 있습니다. 문서나 작업을 추가하세요.","inputType":"입력 유형","creatorType":"생성자 유형","containerSummary":"컨테이너 요약","inputs":"입력","discussion":"토론","reviewInfo":"검토 정보","reviewedBy":"검토자","reviewedAt":"검토 일시","reviewNote":"검토 메모","requestChanges":"수정 요청","approveProposal":"제안 승인","approveProposalDesc":"제안 작성자에게 전달할 메모를 선택적으로 추가하세요 (예: 에이전트를 위한 지시사항).","approveNotePlaceholder":"메모 추가 (선택 사항)...","rejectProposal":"제안 거부","rejectProposalDesc":"이 제안을 거부하는 이유를 입력해 주세요.","rejectReasonPlaceholder":"거부 사유를 입력하세요...","rejectionReason":"거부 사유","createProposal":"제안 만들기","basicInfo":"기본 정보","title":"제목","titlePlaceholder":"제안 제목을 입력하세요...","descriptionPlaceholder":"이 제안에 대해 설명해 주세요...","selectSourceIdeas":"출처 아이디어 선택","noAvailableIdeas":"사용 가능한 아이디어가 없습니다. 먼저 아이디어를 가져가야 합니다.","titleRequired":"제목은 필수입니다","selectAtLeastOneIdea":"하나 이상의 아이디어를 선택해 주세요","createFailed":"제안을 만들지 못했습니다","createAndEdit":"만들고 편집","addDocumentDraft":"문서 추가","addTaskDraft":"작업 추가","editDraft":"수정","deleteDraft":"삭제","documentType":"문서 유형","documentTitle":"문서 제목","documentContent":"내용 (마크다운)","taskTitle":"작업 제목","taskDescription":"설명","taskPriority":"우선순위","taskStoryPoints":"스토리 포인트 (시간)","taskAcceptanceCriteria":"수락 기준","submitForReview":"검토 요청","draftNotice":"이 제안은 초안 상태입니다. 내용을 추가하고 준비되면 검토를 요청하세요.","draftStatus":"초안","confirmSubmit":"이 제안을 검토 요청하시겠습니까?","confirmSubmitDesc":"제출하면 검토가 완료될 때까지 제안 내용을 수정할 수 없습니다.","completed":"완료됨","typeNewDocument":"신규 문서","typeDocumentUpdate":"문서 업데이트","typeTaskBreakdown":"작업 분할","typeDocumentAndTasks":"문서 + 작업","tasksCount":"작업 {count}개","closeProposal":"제안 종료","closeProposalDesc":"이 제안을 종료하면 되돌릴 수 없습니다. 사유를 입력해 주세요.","closeReasonPlaceholder":"종료 사유를 입력하세요...","closedNotice":"이 제안은 영구적으로 종료되었습니다.","revokeProposal":"승인 취소","revokeProposalDesc":"이 작업은 이 제안으로 생성된 모든 작업을 종료하고 모든 문서를 삭제합니다. 제안은 초안 상태로 돌아갑니다.","revokeReasonPlaceholder":"취소 사유를 입력하세요...","revokeTasksToClose":"종료할 작업 {count}개","revokeDocsToDelete":"삭제할 문서 {count}개","failedToSaveDocDraft":"문서 초안을 저장하지 못했습니다","failedToSaveTaskDraft":"작업 초안을 저장하지 못했습니다","docTypePrd":"PRD","docTypeTechDesign":"기술 설계","docTypeAdr":"ADR","docTypeSpec":"명세서","docTypeGuide":"가이드","docSubtitlePrd":"제품 요구사항 문서","docSubtitleTechDesign":"기술 설계 문서","docSubtitleAdr":"아키텍처 결정 기록","docSubtitleSpec":"명세서","docSubtitleGuide":"가이드","acCount":"수락 기준 {count}개","depCount":"의존성 {count}개","storyPointsPlaceholder":"예: 4","cardsView":"카드","dependencyExists":"이미 존재하는 의존성입니다","cyclicDependency":"의존성을 추가할 수 없습니다: 순환이 발생합니다","failedToAddDependency":"의존성을 추가하지 못했습니다","taskDraftDetails":"작업 초안 세부 정보","newTaskDraft":"새 작업 초안","editTaskDraft":"수정","deleteTaskDraft":"작업 초안 삭제","deleteTaskDraftConfirm":"이 작업 초안을 삭제하시겠습니까?","dependsOn":"선행 작업","noDependencies":"의존성 없음","addDependency":"의존성 추가","selectDependency":"작업 선택...","removeDependency":"제거","viewMode":"보기","taskDraftSaved":"작업 초안이 저장되었습니다","deleteProposal":"제안 삭제","deleteProposalDesc":"이 제안을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."},"proposalValidation":{"title":"제출 체크리스트","passed":"모든 검사를 통과했습니다","hasErrors":"제출하기 전에 오류를 수정하세요","loading":"검사를 실행하는 중...","error":"오류","warning":"경고","info":"정보","errorCount":"오류 {count}개","warningCount":"경고 {count}개","E1":"PRD 문서를 하나 이상 포함해야 합니다","E2":"문서 \\"{title}\\"의 내용이 부족합니다 (최소 100자)","E3":"작업을 하나 이상 포함해야 합니다","E4":"입력 아이디어를 하나 이상 연결해야 합니다","E5":"아이디어 \\"{title}\\"에 해결되지 않은 구체화 항목이 있습니다","W1":"기술 설계 문서를 추가하는 것을 고려해 보세요","W2":"작업 \\"{title}\\"에 설명이 없습니다","E-AC":"작업 \\"{title}\\"에 수락 기준이 없습니다","W4":"여러 작업이 있지만 의존성이 정의되지 않았습니다","W5":"제안에 설명이 없습니다","I1":"작업 \\"{title}\\"에 우선순위가 설정되지 않았습니다","I2":"작업 \\"{title}\\"에 스토리 포인트가 산정되지 않았습니다"},"documents":{"title":"문서","subtitle":"PRD, 명세서, 프로젝트 문서","newDocument":"새 문서","all":"전체","noDocuments":"아직 문서가 없습니다","noDocumentsDesc":"문서는 제안이 승인되면 생성됩니다. 직접 문서를 만들 수도 있습니다.","createDocument":"문서 만들기","loadingDocuments":"문서를 불러오는 중...","documentNotFound":"문서를 찾을 수 없습니다","backToDocuments":"문서 목록으로 돌아가기","updated":"{date}에 수정됨","sourceProposal":"출처 제안","viewProposal":"제안 보기","versionHistory":"버전 기록","previousVersions":"개 이전 버전","documentContent":"문서 내용...","saveChanges":"변경사항 저장","titleLabel":"제목","titleRequired":"제목은 필수입니다","titlePlaceholder":"문서 제목을 입력하세요","typeLabel":"유형","uploadMarkdown":"마크다운 파일 (선택 사항)","clickToUpload":"클릭하여 마크다운 파일 업로드","characters":"자","createFailed":"문서를 만들지 못했습니다","typePrd":"PRD","typeSpec":"명세서","typeDesign":"디자인","typeTechDesign":"기술 설계","typeAdr":"ADR","typeGuide":"가이드","typeNote":"메모","typeReport":"리포트","typeOther":"기타","deleteDocument":"문서 삭제","deleteDocumentDescription":"\\"{title}\\"이(가) 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.","deleteSuccess":"문서가 삭제되었습니다.","deleteFailed":"문서를 삭제하지 못했습니다.","deleteFailedNotFound":"이 문서는 더 이상 존재하지 않습니다."},"references":{"title":"참고 자료","empty":"공식 문서, 참고 구현체 또는 이슈 스레드를 연결해 근거를 마련하세요.","loading":"참고 자료를 불러오는 중...","add":"추가","addReference":"참고 자료 추가","editReference":"참고 자료 편집","deleteReference":"참고 자료 삭제","deleteConfirm":"참고 자료 \\"{title}\\"이(가) 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.","typeLabel":"유형","typeDocs":"문서","typeRepo":"저장소","typeIssuePr":"이슈 / PR","typePaperBlog":"논문 / 블로그","urlLabel":"URL","urlPlaceholder":"https://example.com/...","urlRequired":"URL을 입력하세요","titleLabel":"제목","titlePlaceholder":"짧은 제목을 입력하세요","titleRequired":"제목을 입력하세요","notesLabel":"메모","notesPlaceholder":"선택 사항: 요약 또는 관련성 설명","addFailed":"참고 자료 추가에 실패했습니다","updateFailed":"참고 자료 업데이트에 실패했습니다","deleteFailed":"참고 자료 삭제에 실패했습니다","countLabel":"참고 자료 {count}개","toggleNotes":"전체 메모 보기"},"export":{"exportDocument":"내보내기","exportAs":"{format}(으)로 내보내기","formatMd":"마크다운 (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"내보내는 중...","exportSuccess":"문서를 성공적으로 내보냈습니다","exportError":"문서를 내보내지 못했습니다","fetchingContent":"문서를 불러오는 중..."},"settings":{"title":"설정","subtitle":"계정 및 에이전트 구성을 관리하세요","breadcrumb":"Chorus / 설정","language":"언어","languageDesc":"선호하는 언어를 선택하세요","agents":"에이전트","agentsDesc":"개인 에이전트가 Chorus에 접근할 수 있도록 API 키를 만드세요. 각 키에는 서로 다른 역할을 배정할 수 있습니다.","createApiKey":"API 키 만들기","noApiKeys":"아직 API 키가 없습니다. 하나 만들어 시작하세요.","roles":"역할:","developerAgent":"개발자 에이전트","developerAgentDesc":"작업 실행, 코드 작성, 이슈 보고, 커밋","pmAgent":"PM 에이전트","pmAgentDesc":"요구사항 분석, 제안 작성, 작업 관리","adminAgent":"관리자 에이전트","adminAgentDesc":"사람 수준의 권한: 제안 승인, 작업 검증, 프로젝트 생성","created":"생성됨","apiKeyCreated":"API 키가 생성되었습니다","apiKeyCreatedDesc":"지금 이 키를 복사해 두세요. 다시 확인할 수 없습니다!","installGuideIntro":"지금 바로 에이전트를 연결하세요 — 아래에서 클라이언트를 선택하세요. 위의 키는 스니펫에 포함되어 있으며 다시 표시되지 않습니다.","name":"이름","namePlaceholder":"내 에이전트 키","agentRoles":"에이전트 역할","agentRolesDesc":"이 API 키가 접근할 수 있는 역할을 선택하세요.","agentPersona":"에이전트 페르소나","agentPersonaDesc":"프리셋을 선택하거나 직접 페르소나를 작성하세요. 이는 모든 상호작용에서 에이전트의 행동 방식을 정의합니다.","agentPersonaDescNoRoles":"모든 상호작용에서 이 에이전트가 어떻게 행동해야 하는지 정의하세요.","personaPlaceholder":"이 에이전트가 어떻게 행동해야 하는지 설명하세요. 예: \'당신은 명확함과 간결함을 중시하는 유용한 어시스턴트입니다...\'","personaHint":"페르소나는 매 체크인마다 에이전트의 컨텍스트에 주입됩니다.","personaHintNoRoles":"에이전트를 위한 맞춤 페르소나를 작성하세요.","creating":"생성 중...","confirmDelete":"이 API 키를 삭제하시겠습니까?","confirmDeleteTitle":"API 키 삭제","confirmDeleteDesc":"이 API 키를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.","editAgent":"에이전트 수정","saveChanges":"변경사항 저장","saving":"저장 중...","editAgentDesc":"이 에이전트의 이름, 역할, 페르소나를 수정하세요.","updateSuccess":"에이전트가 성공적으로 수정되었습니다","updateFailed":"에이전트를 수정하지 못했습니다","setupGuide":"설정 가이드","setupGuideDesc":"AI 에이전트 연결을 단계별로 설정하세요","openSetupGuide":"설정 가이드 열기","effectivePermissions":"적용된 권한","noEffectivePermissions":"부여된 권한이 없습니다","customRole":"사용자 지정"},"login":{"title":"Chorus","subtitle":"AI-인간 협업 플랫폼","email":"이메일","emailPlaceholder":"you@company.com","continue":"계속","checking":"확인 중...","helpText":"이메일을 입력해 로그인하거나 계정을 만드세요","networkError":"네트워크 오류입니다. 다시 시도해 주세요.","processingLogin":"로그인 처리 중...","sessionExpired":"세션이 만료되었습니다. 다시 로그인해 주세요.","completingAuth":"인증을 완료하는 중...","registeringUser":"사용자를 등록하는 중...","loginSuccess":"로그인에 성공했습니다! 이동 중...","authFailed":"인증에 실패했습니다","backToLogin":"로그인으로 돌아가기","noOrganizationFound":"이 이메일에 해당하는 조직을 찾을 수 없습니다","defaultAuth":{"title":"로그인","email":"이메일","password":"비밀번호","submit":"로그인","error":"이메일 또는 비밀번호가 올바르지 않습니다","ssoLink":"SSO로 로그인","orDivider":"또는"},"pickWorkspace":{"title":"워크스페이스 선택","subtitle":"회원님의 이메일은 {count}개의 워크스페이스에 등록되어 있습니다. 로그인할 워크스페이스를 선택하세요.","differentEmail":"다른 이메일 사용","loading":"워크스페이스를 불러오는 중...","noCandidates":"이 이메일에 대한 워크스페이스를 찾을 수 없습니다.","errorLoading":"워크스페이스를 불러오지 못했습니다. 다시 시도해 주세요."},"rolePicker":{"title":"이 이메일은 여러 방법으로 로그인할 수 있습니다. 계속할 방법을 선택하세요.","superAdmin":"슈퍼 관리자로 로그인","regularUser":"비밀번호로 로그인","oidcCompany":"{company}(으)로 로그인","oidcCompanyFallback":"SSO로 로그인","back":"다른 이메일 사용"}},"projectOverview":{"loadingProject":"프로젝트를 불러오는 중...","notFoundTitle":"프로젝트를 찾을 수 없습니다","backToProjects":"프로젝트 목록으로 돌아가기","settings":"설정","quickActions":"빠른 작업","addIdea":"아이디어 추가","viewKanban":"칸반 보기","browseDocuments":"문서 둘러보기","ideasSubtext":"열림 {open}개, 진행 중 {inProgress}개","tasksSubtext":"열림 {open}개, 검증 대기 {toVerify}개","documentsSubtext":"PRD, 명세서, 메모","proposalsSubtext":"검토 대기 {pending}개","deleteProject":"프로젝트 삭제","deleteProjectConfirm":"\\"{name}\\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없으며 연결된 모든 아이디어, 제안, 작업, 문서, 활동이 영구적으로 삭제됩니다."},"personas":{"devPm":"개발 중심 PM","devPmDesc":"당신은 개발자 경험을 우선시하고 개발자 친화적인 제품을 만드는 프로덕트 매니저입니다. 기술적 제약을 이해하고 엔지니어링 팀과 효과적으로 소통합니다.","fullPm":"종합형 PM","fullPmDesc":"당신은 대상 사용자의 실제 문제를 해결하는 제품을 만든다는 마인드셋을 가진 종합적인 프로덕트 매니저입니다. 비즈니스 목표, 사용자 요구, 기술적 실현 가능성의 균형을 맞춥니다.","simplePm":"심플 PM","simplePmDesc":"당신은 과도한 설계를 피하고 핵심 기능을 우선시하는 집중형 프로덕트 매니저입니다. 빠르게 출시하고, 피드백을 수집하고, 신속하게 반복하는 것을 신조로 삼습니다.","seniorDev":"시니어 개발자","seniorDevDesc":"당신은 확장 가능한 시스템 구축에 폭넓은 경험을 가진 시니어 소프트웨어 개발자입니다. 깔끔하고 유지보수하기 쉬운 코드를 작성하며 모범 사례를 따릅니다. 주니어 개발자를 멘토링하고 아키텍처 결정을 내립니다.","fullstackDev":"풀스택 개발자","fullstackDevDesc":"당신은 전체 스택에서 유연하게 작업할 수 있는 풀스택 개발자입니다. API 구축, 데이터베이스 설계, 반응형 UI 제작이 가능합니다. 사용자 경험과 성능을 우선시합니다.","pragmaticDev":"실용주의 개발자","pragmaticDevDesc":"당신은 빠르게 동작하는 솔루션을 제공하는 데 집중하는 실용적인 개발자입니다. 섣부른 최적화를 피하고, 핵심 경로에 대한 테스트를 작성하며, 복잡한 추상화보다 단순한 솔루션을 선호합니다.","carefulAdmin":"신중한 관리자","carefulAdminDesc":"당신은 승인 전에 모든 제안과 작업을 철저히 검토하는 신중한 관리자입니다. 수락 기준이 충족되었는지 확인하고, 잠재적 문제를 점검하며, 판단 근거를 문서화합니다. 확신이 서지 않을 때는 무작정 승인하기보다 명확한 설명을 요청하는 것을 선호합니다.","efficientAdmin":"효율적인 관리자","efficientAdminDesc":"당신은 품질 기준을 유지하면서도 승인 프로세스를 간소화하는 효율적인 관리자입니다. 팀의 작업을 신뢰하지만 필요한 점검은 수행합니다. 기본적인 품질 게이트를 충족하는지 확인하면서 작업을 신속하게 진행시키는 데 집중합니다."},"sessions":{"title":"세션","activeSessions":"활성 세션","noSessions":"지난 한 시간 동안 활성 세션이 없습니다","close":"닫기","reopen":"다시 열기","closeConfirm":"이 세션을 닫으시겠습니까?","statusActive":"활성","statusInactive":"비활성","statusClosed":"닫힘","activeWorkers":"활성 작업자","workerCount":"작업자 {count}명","checkedInSince":"{time}에 체크인함","lastActive":"{time} 마지막 활동","checkins":"작업 {count}개"},"pixelCanvas":{"title":"워크스페이스"},"notifications":{"title":"알림","markAllRead":"모두 읽음으로 표시","noNotifications":"알림이 없습니다","noUnread":"읽지 않은 알림이 없습니다","viewAll":"전체 보기","tabAll":"전체","tabUnread":"읽지 않음","justNow":"방금 전","minutesAgo":"{count}분 전","hoursAgo":"{count}시간 전","daysAgo":"{count}일 전","projectBadge":"프로젝트","notificationPreferences":"알림 설정","loadMore":"더 보기","viewDetail":"보기","types":{"proposal_approved":"제안이 승인됨","proposal_rejected":"제안이 거부됨","proposal_submitted":"제안이 제출됨","task_assigned":"작업이 배정됨","task_status_changed":"작업 상태가 변경됨","task_submitted_for_verify":"작업이 검증 요청됨","task_verified":"작업이 검증됨","task_reopened":"작업이 다시 열림","comment_added":"새 댓글","idea_claimed":"아이디어를 가져감","elaboration_requested":"구체화가 요청됨","elaboration_answered":"구체화에 답변함","mentioned":"회원님이 멘션되었습니다","agent_checkin":"에이전트가 성공적으로 연결됨","report_created":"새 리포트"},"preferences":{"title":"알림 설정","description":"알림을 발생시킬 이벤트를 설정하세요","taskEvents":"작업 이벤트","proposalEvents":"제안 이벤트","ideaEvents":"아이디어 이벤트","commentEvents":"댓글 이벤트","taskAssigned":"작업 배정됨","taskStatusChanged":"작업 상태 변경됨","taskVerified":"작업 검증됨","taskReopened":"작업 다시 열림","proposalSubmitted":"제안 제출됨","proposalApproved":"제안 승인됨","proposalRejected":"제안 거부됨","ideaClaimed":"아이디어 가져감","commentAdded":"댓글 추가됨","elaborationEvents":"구체화 이벤트","elaborationRequested":"구체화 요청됨","elaborationAnswered":"구체화 답변됨","mentionEvents":"멘션 이벤트","mentioned":"댓글이나 콘텐츠에서 멘션됨"}},"elaboration":{"title":"요구사항 구체화","answeredCounter":"{total}개 중 {answered}개 답변함","roundLabel":"{number}차","validated":"검증됨","pendingAnswers":"답변 대기 중","statusAnswered":"답변함","appendedBadge":"후속","noAnswer":"답변 없음","otherOption":"기타","otherPlaceholder":"구체적으로 입력해 주세요...","submitAnswers":"답변 제출","confirmAnswerAria":"답변 확인","submitting":"제출 중...","submitFailed":"답변 제출에 실패했습니다","navCounter":"{total} 중 {current}","questionCount":"질문 {count}개","somethingElse":"다른 항목","skipButton":"구체화 건너뛰기","skipConfirmTitle":"구체화를 건너뛰시겠습니까?","skipConfirmDescription":"구조화된 질의응답 없이 요구사항을 해결됨으로 표시합니다. 명확하고 단순한 요청에만 건너뛰는 것이 좋습니다.","skipReasonLabel":"건너뛰는 이유","skipReasonPlaceholder":"예: 재현 단계가 명확한 버그 수정","skipReasonRequired":"이유를 입력해 주세요","verifyButton":"구체화 검증","verifying":"검증 중...","verifyFailed":"구체화를 검증하지 못했습니다","verifiedQueuedHint":"검증됨 — 에이전트가 이용 가능해지면 제안을 작성합니다.","category":{"functional":"기능적","nonFunctional":"비기능적","businessContext":"비즈니스 맥락","technicalContext":"기술적 맥락","userScenario":"사용자 시나리오","scope":"범위"}},"startDevelopment":{"button":"개발 시작","starting":"시작 중...","startedHint":"개발이 시작되었습니다 — 에이전트가 남은 작업을 실행하고 있습니다","offlineHint":"에이전트 오프라인 — 재연결 시 사용 가능","errorAgentOffline":"배정된 에이전트가 오프라인입니다. 다시 연결된 후 개발을 시작하세요.","errorInstanceOffline":"이 아이디어는 오프라인 상태인 데몬 인스턴스에 고정되어 있습니다. 해당 인스턴스가 다시 연결된 후 개발을 시작하세요.","errorFixedCwdHostOffline":"이 프로젝트의 고정 작업 디렉터리 호스트가 오프라인입니다. 해당 호스트가 다시 연결된 후 개발을 시작하세요.","errorNoApprovedProposal":"이 아이디어에는 승인된 제안이 아직 없습니다","errorNoUnfinishedTasks":"모든 작업이 이미 완료되었습니다","errorAssigneeNotAgent":"이 아이디어의 담당자는 에이전트가 아닙니다","errorGeneric":"개발을 시작하지 못했습니다"},"yolo":{"button":"Yolo","cancel":"취소","confirmTitle":"이 아이디어에 Yolo를 실행하시겠습니까?","confirmDescription":"Yolo는 배정된 에이전트를 깨워 yolo 스킬에 따라 구체화, 제안, 실행, 검증까지 이 아이디어를 자동으로 완료까지 진행시킵니다. 회원님의 승인 없이는 풀 리퀘스트를 병합하거나 푸시하지 않습니다. 계속하시겠습니까?","confirmCta":"Yolo 실행","starting":"시작 중...","startedHint":"Yolo가 시작되었습니다 — 에이전트가 이 아이디어를 완료까지 진행시키고 있습니다","offlineHint":"에이전트 오프라인 — 재연결 시 사용 가능","errorAgentOffline":"배정된 에이전트가 오프라인입니다. 다시 연결된 후 Yolo를 실행하세요.","errorInstanceOffline":"이 아이디어는 오프라인 상태인 데몬 인스턴스에 고정되어 있습니다. 해당 인스턴스가 다시 연결된 후 Yolo를 실행하세요.","errorFixedCwdHostOffline":"이 프로젝트의 고정 작업 디렉터리 호스트가 오프라인입니다. 해당 호스트가 다시 연결된 후 Yolo를 실행하세요.","errorAssigneeNotAgent":"이 아이디어의 담당자는 에이전트가 아닙니다","errorGeneric":"Yolo를 시작하지 못했습니다"},"projectGroups":{"newProjectGroup":"새 프로젝트 그룹","projectCount":"개 프로젝트","complete":"완료","openIdeas":"개 열린 아이디어","viewDashboard":"대시보드 보기","ungrouped":"미분류","noProjectsInGroup":"아직 이 그룹에 프로젝트가 없습니다.","newGroupTitle":"새 프로젝트 그룹","groupName":"그룹 이름","groupNamePlaceholder":"예: 모바일 앱","descriptionOptional":"설명 (선택 사항)","descriptionPlaceholder":"이 그룹에 대해 간단히 설명해 주세요...","createGroup":"그룹 만들기","createFailed":"프로젝트 그룹을 만들지 못했습니다","newProjectTitle":"새 프로젝트","creatingIn":"생성 위치: {groupName}","projectTitle":"프로젝트 이름","projectTitlePlaceholder":"예: Project Alpha","projectDescriptionPlaceholder":"이 프로젝트에 대해 간단히 설명해 주세요...","createProject":"프로젝트 만들기","moveTitle":"프로젝트를 다른 그룹으로 이동하시겠습니까?","moveDescription":"\\"{projectName}\\"을(를) {sourceGroupName} 그룹에서 {targetGroupName} 그룹으로 이동합니다.","confirmMove":"이동 확인","moveFailed":"프로젝트를 이동하지 못했습니다","manageGroup":"그룹 관리","saveChanges":"변경사항 저장","saving":"저장 중...","cancel":"취소","deleteGroup":"이 그룹 삭제","deleteConfirmTitle":"정말 삭제하시겠습니까?","deleteConfirmDesc":"이 작업은 되돌릴 수 없습니다. 이 그룹에 있는 프로젝트를 어떻게 처리할지 선택하세요.","deleteKeepProjects":"프로젝트 {count}개를 미분류로 이동","deleteWithProjects":"프로젝트 {count}개 영구 삭제","confirmDelete":"그룹 삭제","deleting":"삭제 중..."},"groupDashboard":{"subtitle":"프로젝트 {count}개 \xb7 통합 대시보드","editGroup":"그룹 수정","manageProjects":"프로젝트 관리","statProjects":"프로젝트","statTotalTasks":"전체 작업","statCompletionRate":"완료율","statOpenIdeas":"열린 아이디어","statActiveProposals":"활성 제안","projectsInGroup":"이 그룹의 프로젝트","newProject":"새 프로젝트","projectStats":"작업 {tasks}개 \xb7 완료율 {completion}%","noProjects":"아직 이 그룹에 프로젝트가 없습니다","noProjectsHint":"위의 \\"새 프로젝트\\"를 클릭해 추가하세요"},"acceptanceCriteria":{"title":"수락 기준","noItems":"구조화된 수락 기준이 없습니다","status":{"pending":"대기 중","passed":"통과","failed":"실패","notStarted":"시작 전","inProgress":"진행 중"},"acceptanceStatus":{"not_started":"시작 전","in_progress":"진행 중","passed":"모두 통과","failed":"실패"},"required":"필수","optional":"선택","devSelfCheck":"개발자 자체 점검","verification":"검증","evidence":"증빙","pass":"통과","fail":"실패","undoVerification":"취소","devEvidence":"개발 증빙","verifyEvidence":"검증 증빙","noEvidence":"증빙 없음","dismiss":"닫기","progress":"{total}개 중 {passed}개 검증됨","requiredProgress":"필수 {required}개 중 {passed}개 통과","gateBlocked":"검증 불가: 필수 기준 {count}개가 아직 통과하지 않았습니다","gateReady":"모든 필수 기준을 통과했습니다","addCriterion":"기준 추가","removeCriterion":"제거","criterionPlaceholder":"수락 기준을 설명해 주세요...","atLeastOneRequired":"설명이 비어 있지 않은 수락 기준을 하나 이상 입력해야 합니다."},"onboarding":{"skip":"나중에 하기","next":"다음","back":"뒤로","steps":{"welcome":"환영","createAgent":"에이전트 만들기","copyKey":"키 복사","installGuide":"설치","testConnection":"테스트","completion":"완료"},"welcome":{"title":"Chorus에 오신 것을 환영합니다","description":"Chorus는 AI-인간 협업 플랫폼입니다. AI 에이전트는 제안하고, 사람은 검증합니다 — 체계적인 개발 라이프사이클을 통해서요.","getStarted":"시작하기","pipelineTitle":"AI 기반 개발 라이프사이클","pipeline":{"idea":"아이디어","proposal":"제안","task":"작업","execute":"실행","verify":"검증","done":"완료"}},"completion":{"title":"모든 준비가 끝났습니다!","description":"에이전트 설정이 완료되어 협업할 준비가 되었습니다. 프로젝트를 만들거나 설정을 살펴보며 시작해 보세요.","summary":"설정 요약","agentName":"에이전트 이름","agentRoles":"역할","agentPreset":"프리셋","agentPermissions":"권한","permissionsCount":"권한 {count}개","goToProjects":"프로젝트로 이동","goToSettings":"설정으로 이동"},"createAgent":{"title":"AI 에이전트 만들기","description":"회원님의 워크플로에 맞는 권한과 페르소나로 AI 에이전트를 설정하세요. 에이전트를 위한 API 키가 생성됩니다.","nameLabel":"에이전트 이름","namePlaceholder":"예: my-dev-agent","personaLabel":"페르소나 (선택 사항)","personaPlaceholder":"이 에이전트가 어떻게 행동해야 하는지 설명하세요 — 어조, 우선순위, 제약사항.","personaHint":"페르소나는 에이전트의 행동을 형성하기 위해 시스템 프롬프트에 추가됩니다.","submit":"에이전트 만들기","creating":"에이전트를 생성하는 중..."},"copyKey":{"title":"API 키 복사","description":"이 API 키를 안전한 곳에 저장하세요. AI 에이전트 클라이언트를 설정할 때 필요합니다.","warning":"지금 이 키를 복사해 두세요. 다시 확인할 수 없습니다!","copy":"키 복사","copied":"복사됨!"},"install":{"description":"AI 에이전트 클라이언트를 선택하고 아래 설정 안내를 따르세요.","tabs":{"claudeCode":"Claude Code","codex":"Codex","kiro":"Kiro","opencode":"OpenCode","openClaw":"OpenClaw","other":"기타 에이전트"},"claudeCode":{"step1Title":"1단계: 환경 변수 설정","step1Tip":"팁: 지속적으로 사용하려면 ~/.bashrc 또는 ~/.zshrc에 추가하세요.","step2Title":"2단계: Claude Code를 열고 다음을 실행하세요"},"codex":{"step1Title":"1단계: 환경 변수 설정","step1Tip":"팁: 지속적으로 사용하려면 ~/.bashrc 또는 ~/.zshrc에 추가하세요.","step2Title":"2단계: Codex 설치 프로그램 실행","step2Tip":"이 스크립트는 플러그인 마켓플레이스를 등록하고 MCP 서버 항목을 ~/.codex/config.toml에 기록합니다.","step3Title":"3단계: 연결 확인","step3Desc":"Codex를 열고 Chorus에 체크인하도록 요청하세요 — 예: \\"check in to chorus\\"라고 입력합니다."},"kiro":{"step1Title":"1단계: 환경 변수 설정","step1Tip":"팁: Kiro CLI가 시작 시 읽을 수 있도록 ~/.bashrc 또는 ~/.zshrc에 추가하세요.","step2Title":"2단계: Kiro 설치 프로그램 실행","step2Tip":"기본적으로 ~/.kiro/에 전역 설치되어 모든 디렉터리에서 Chorus를 사용할 수 있습니다. 현재 디렉터리의 .kiro/에만 설치하려면 플래그를 추가하세요: bash -s -- --workspace.","step3Title":"3단계: 연결 확인","step3Desc":"Kiro CLI를 열고 /chorus-idea 스킬을 활성화하거나, Chorus 에이전트로 바로 시작하세요: kiro-cli --agent chorus."},"opencode":{"step1Title":"1단계: 환경 변수 설정","step1Tip":"팁: OpenCode 시작 시 플러그인이 읽을 수 있도록 ~/.bashrc 또는 ~/.zshrc에 추가하세요.","step2Title":"2단계: Chorus 플러그인 활성화","step2Tip":"설치 프로그램은 ~/.config/opencode/opencode.json의 \\"plugin\\" 배열에 \\"opencode-chorus\\"를 멱등하게 추가합니다. 셸 rc 파일은 건드리지 않습니다. OpenCode는 처음 실행 시 Bun을 통해 플러그인을 설치합니다.","step3Title":"3단계: 연결 확인","step3Desc":"OpenCode를 열고 에이전트에게 \\"check in to chorus\\"라고 요청하세요. 연결에 성공하면 이 단계는 자동으로 다음으로 넘어갑니다.","troubleshootingTitle":"문제 해결","issueCache":{"title":"플러그인이 로드되지 않음","fix":"`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`로 플러그인 캐시를 지우고 OpenCode를 다시 시작하세요."},"issueEnv":{"title":"환경 변수가 적용되지 않음","fix":"CHORUS_URL과 CHORUS_API_KEY가 내보내진(export) 셸에서 OpenCode를 실행했는지 확인하세요. 필요하면 셸 rc 파일을 다시 source하세요."},"issueCheckin":{"title":"체크인이 응답하지 않음","fix":"CHORUS_API_KEY에 오타나 공백이 있는지 다시 확인하세요. 그래도 플러그인이 로드되지 않으면 OpenCode를 업그레이드해 보세요."}},"openClaw":{"step1Title":"1단계: 플러그인 설치","step2Title":"2단계: ~/.openclaw/openclaw.json 편집","step3Title":"3단계: OpenClaw 게이트웨이 재시작","step3Desc":"새 설정을 적용하려면 OpenClaw 게이트웨이 프로세스를 재시작하세요.","step4Title":"4단계: 연결 확인","step4Desc":"OpenClaw 채팅 창에서 다음 명령어를 입력하세요:","troubleshootingTitle":"문제 해결","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"이 오류는 훅(hooks)이 활성화되지 않았음을 의미합니다. openclaw.json 설정에서 \\"hooks.enabled\\"를 true로 설정하고 게이트웨이를 재시작하세요."},"other":{"description":"아래 프롬프트를 복사하여 AI 에이전트에게 전달해 Chorus 연결을 설정하세요."}},"testConnection":{"title":"연결 테스트","waiting":"에이전트의 연결을 기다리는 중...","waitingFor":"{name}의 체크인을 기다리는 중","connected":"에이전트가 성공적으로 연결되었습니다!","checkinHint":"이 프롬프트를 복사해 에이전트에게 보내 연결을 확인하세요:","checkinPrompt":"chorus_checkin()을 실행하여 Chorus에 연결하고 연결을 확인해 주세요."},"placeholder":{"createAgent":"이 단계에서는 AI 에이전트를 만들 수 있습니다. 곧 제공됩니다.","copyKey":"이 단계에서는 API 키를 복사할 수 있습니다. 곧 제공됩니다.","installGuide":"이 단계에서는 설치를 안내합니다. 곧 제공됩니다.","testConnection":"이 단계에서는 에이전트 연결을 테스트합니다. 곧 제공됩니다."}},"ideaTracker":{"overview":"개요","overviewSubtitle":"아이디어, 제안, 작업을 한눈에 추적하세요","tabs":{"ideas":"아이디어","lineage":"계보","stats":"통계"},"badge":{"open":"열림","researching":"조사 중","answerQuestions":"질문에 답변","planning":"계획 중","reviewProposal":"제안 검토","building":"개발 중","verifyWork":"작업 검증","done":"완료","closed":"종료됨"},"status":{"todo":"할 일","inProgress":"진행 중","humanConductRequired":"사람의 처리 필요","done":"완료"},"lineage":{"derivedCount":"파생 {count}개","title":"계보","derivedFrom":"파생 출처","setParent":"상위 항목 설정","changeParent":"상위 항목 변경","derivedIdeas":"파생된 아이디어","derive":"파생","deriveIdea":"새 아이디어 파생","noParent":"상위 항목 없음","setParentTitle":"상위 아이디어 설정","setParentDescription":"\\"{title}\\"의 상위 아이디어를 선택하세요. 같은 프로젝트의 아이디어만 선택할 수 있으며, 아이디어는 자기 자신이나 하위 항목의 하위로 설정할 수 없습니다 (순환이 발생하기 때문입니다).","searchPlaceholder":"아이디어 검색...","detach":"분리 (최상위로 만들기)","cycleBlocked":"하위 항목 \xb7 순환 발생","cycleWarning":"회색으로 표시된 아이디어는 이 아이디어의 하위 항목입니다. 선택하면 순환이 발생하므로 비활성화되어 있습니다.","noCandidates":"이 프로젝트에 선택 가능한 아이디어가 없습니다","pickerTruncated":"처음 200개의 아이디어만 표시됩니다. 원하는 상위 항목이 보이지 않으면 제목으로 검색해 좁혀보세요.","save":"상위 항목으로 설정","saveFailed":"상위 항목 설정에 실패했습니다","deriveFailed":"아이디어 파생에 실패했습니다","container":"테마","containerDescription":"테마는 관련된 하위 아이디어를 묶어 공통 방향을 정합니다. 구체화는 가능하지만 실제 작업은 테마에서 파생한 아이디어에서 이루어지며, 테마 자체는 제안을 작성하지 않습니다.","containerBadge":"테마","typeIdea":"아이디어","typeTheme":"테마","makeContainer":"테마로 설정","containerHint":"테마는 하위 아이디어를 파생하며 진행됩니다.","childrenDone":"{done}/{total} 완료"},"actions":{"newIdea":"새 아이디어","untitledIdea":"제목 없는 아이디어","search":"아이디어 검색...","retry":"다시 시도","assign":"배정","reassign":"재배정"},"empty":{"noIdeas":"아직 아이디어가 없습니다","getStarted":"아이디어는 구체화, 제안, 작업으로 이어집니다 — 하나 만들어 시작해 보세요","noResults":"검색과 일치하는 아이디어가 없습니다","groupEmpty":"이 상태의 아이디어가 없습니다"},"newIdea":{"title":"새 아이디어","ideaTitle":"제목","titlePlaceholder":"어떤 아이디어인가요?","description":"설명","descriptionPlaceholder":"아이디어를 명확히 하는 데 도움이 되는 배경, 목표, 세부 정보를 추가하세요...","modeForm":"양식 작성","modeConversation":"에이전트에게 설명","modeConversationOfflineHint":"에이전트에게 설명하려면 온라인 상태인 데몬이 필요합니다.","decompose":"하위 아이디어로 나누도록 도와주세요","decomposeHint":"테마를 생성하고, 에이전트가 확인용 하위 아이디어 후보를 제안하도록 합니다."},"error":{"loadFailed":"아이디어를 불러오지 못했습니다","createFailed":"아이디어를 만들지 못했습니다"},"loading":"로딩 중...","justNow":"방금 전","minutesAgo":"{minutes}분 전","hoursAgo":"{hours}시간 전","daysAgo":"{days}일 전","stats":{"totalIdeas":"전체 아이디어","totalTasks":"전체 작업","totalProposals":"전체 제안","totalDocuments":"전체 문서","openCount":"열림 {count}개","activeCount":"활성 {count}개","pendingCount":"대기 중 {count}개","taskPipeline":"작업 파이프라인","totalCount":"전체 {count}개","todoCount":"할 일: {count}","inProgressCount":"진행 중: {count}","toVerifyCount":"검증 대기: {count}","doneCount":"완료: {count}","noTasks":"아직 작업이 없습니다","recentActivity":"최근 활동","viewAll":"전체 보기","noActivity":"최근 활동이 없습니다"},"panel":{"notFound":"아이디어를 찾을 수 없습니다","loadFailed":"아이디어를 불러오지 못했습니다","verifyingPlaceholder":"검증이 진행 중입니다...","donePlaceholder":"이 아이디어는 완료되었습니다.","elaborationStatus":"구체화 상태","elaborationRounds":"구체화 질의응답","elaborationNotStarted":"아직 시작하지 않음","elaborationNotStartedDesc":"요구사항 구체화를 시작하려면 이 아이디어를 에이전트에게 배정하세요.","elaborationWaiting":"에이전트 대기 중","elaborationWaitingDesc":"PM 에이전트가 곧 구체화를 시작합니다.","elaboration":{"pendingAnswers":"답변 대기 중","validating":"검증 중","resolved":"해결됨"},"noProposals":"아직 이 아이디어에 연결된 제안이 없습니다","viewProposal":"전체 제안 보기","tabs":{"overview":"개요","elaboration":"구체화","proposal":"제안","tasks":"작업","activity":"활동"},"timeline":{"ideaCreated":"아이디어 생성됨","elaboration":"구체화","proposal":"제안","tasksProgress":"작업","noElaboration":"시작 전","elaborationComplete":"해결됨 (질문 {count}개)","elaborationInProgress":"진행 중","elaborationSkipped":"건너뜀","noProposal":"아직 생성되지 않음","proposalApproved":"승인됨","proposalsApproved":"{total}개 중 {count}개 승인됨","proposalPending":"검토 대기","proposalDraft":"초안","proposalRejected":"거부됨","tasksComplete":"{total}개 중 {done}개 완료","noTasks":"아직 작업이 없습니다","createdBy":"{name}님이 생성함","documents":"문서 {count}개","tasks":"작업 {count}개","rounds":"{count}회","moreItems":"외 {count}개 더"},"taskList":{"inProgress":"진행 중","toVerify":"검증 대기","open":"열림","done":"완료","noTasks":"사용 가능한 작업이 없습니다","assigned":"배정됨","closed":"종료됨","summary":"{total}개 중 {done}개 완료","acSummary":"{total}개 중 {passed}개 기준 통과","agentWorking":"에이전트 {count}명 작업 중","workersActive":"작업자 {count}명","viewKanban":"칸반"},"activityTab":{"activity":"활동","comments":"댓글"}}},"search":{"placeholder":"작업, 아이디어, 제안, 문서 검색...","scopeGlobal":"전체","scopeGroup":"그룹","scopeProject":"이 프로젝트","filterAll":"전체","filterTasks":"작업","filterIdeas":"아이디어","filterProposals":"제안","filterDocuments":"문서","filterProjects":"프로젝트","noResults":"결과를 찾을 수 없습니다","resultCount":"결과 {count}개","entityType":{"task":"작업","idea":"아이디어","proposal":"제안","document":"문서","project":"프로젝트","project_group":"그룹"}},"agent":{"permissions":{"title":"권한","description":"프리셋으로 시작하거나 권한 매트릭스를 직접 사용자 지정하세요.","presetLabel":"프리셋","presetAdmin":"관리자","presetPm":"PM","presetDev":"개발자","presetCustom":"사용자 지정","resourceHeader":"리소스","resources":{"idea":"아이디어","proposal":"제안","document":"문서","task":"작업","project":"프로젝트"},"actions":{"read":"읽기","write":"쓰기","admin":"관리"},"help":{"admin":"승인/검증/다시 열기를 포함해 모든 리소스에 대한 전체 접근 권한입니다. 관리 업무를 담당하는 에이전트에게 권장합니다.","pm":"작업 계획 및 진행: 아이디어, 제안, 문서, 작업, 프로젝트를 관리합니다. 승인이나 검증 권한은 없습니다.","dev":"작업 실행: 아이디어, 제안, 문서, 프로젝트를 읽고 작업을 생성 및 수정합니다. 승인이나 검증은 할 수 없습니다.","custom":"개별 권한을 직접 선택합니다. 관리(승인/검증/종료) 관련 작업은 사용자 지정 모드에서만 설정할 수 있습니다."}}},"idea":{"reportsList":"보고서","reportsAcrossProposals":"승인된 모든 제안 전체"},"agentConnections":{"title":"에이전트 연결","subtitle":"회원님을 대신해 Chorus에 연결된 로컬 에이전트를 실시간으로 확인합니다. 회원님 소유의 연결만 표시됩니다.","summary":"{total}개 중 {online}개 온라인","loading":"연결을 불러오는 중...","railHeader":"연결","statusOnline":"온라인","statusOffline":"오프라인","fieldHost":"호스트","fieldUptime":"가동 시간","fieldLastActive":"마지막 활동","fieldStarted":"시작 시각","hostUnknown":"알 수 없는 호스트","startedUnknown":"알 수 없음","versionUnknown":"?","unknownAgent":"알 수 없는 에이전트","clientClaudeCode":"Claude Code","clientOpenclaw":"OpenClaw","clientCodex":"Codex","clientKiro":"Kiro","clientUnknown":"알 수 없는 클라이언트","uptimeMonoDays":"{days}일 {time}","mobileBack":"연결","selectPrompt":"세부 정보를 보려면 연결을 선택하세요.","execTitle":"실행","execRunning":"실행 중","execQueued":"대기 중","execInterrupted":"중단됨","execInterruptedUser":"중단됨","execInterruptedCrash":"충돌함","execCrashExited":"오류로 종료됨","execWaiting":"대기 중","execLoading":"실행 상태를 불러오는 중...","execElapsedLabel":"시작 후 경과 시간","execSession":"아이디어: {idea}","execEmptyTitle":"실행 중인 작업 없음","execEmptyBody":"이 연결에는 현재 실행 중이거나 대기 중인 작업이 없습니다. 데몬이 작업을 받으면 여기에 표시됩니다.","empty":{"title":"아직 에이전트 연결이 없습니다"},"loadErrorTitle":"연결을 불러올 수 없습니다","loadErrorBody":"연결 서비스에 접근할 수 없습니다. 목록이 비어 있는 것이 아니라 불러오기 문제입니다 — 에이전트는 여전히 온라인 상태일 수 있습니다. 자동으로 다시 시도합니다.","execEntityUnknown":"알 수 없는 리소스","execConversation":"대화","entityTask":"작업","entityIdea":"아이디어","entityProposal":"제안","entityDocument":"문서","entityUnknown":"리소스","interrupt":"중단","interrupting":"중단하는 중…","interruptAria":"이 실행 중인 작업 중단","interruptConfirmTitle":"이 실행을 중단하시겠습니까?","interruptConfirmBody":"\\"{title}\\"에 대한 데몬의 실행 중인 세션을 중지합니다. 에이전트에게 정상적으로 중지하도록 요청하며, 응답하지 않으면 강제로 중지됩니다. 이후 이 페이지에서 다시 시작할 수 있습니다.","interruptConfirmAction":"중단","interruptSuccess":"\\"{title}\\"에 대한 중단을 요청했습니다.","interruptError":"중단 요청에 실패했습니다. 다시 시도해 주세요.","resume":"재개","resuming":"재개하는 중…","resumeAria":"이 중단된 실행 재개","resumeSuccess":"\\"{title}\\"에 대한 재개를 요청했습니다.","resumeError":"재개 요청에 실패했습니다. 다시 시도해 주세요.","sendInstruction":"지시 보내기","sendInstructionPlaceholder":"이 세션에 대한 지시를 입력하세요…","send":"보내기","instructionHint":"Cmd/Ctrl + Enter를 눌러 전송하세요.","instructionCounter":"{count} / {max}","instructionError":"지시를 전달하지 못했습니다. 다시 시도해 주세요.","instructionEmpty":"전송하기 전에 지시를 입력하세요.","instructionTooLong":"지시가 너무 깁니다. {max}자 이하로 줄여 주세요.","originOnlineTag":"출처 온라인","originOfflineTag":"출처 오프라인","originOffline":"이 세션의 출처 데몬이 오프라인이라 읽기 전용입니다. 대신 새 대화를 시작하세요.","noOnlineConnection":"이 에이전트에는 전송할 수 있는 온라인 연결이 없습니다. 데몬을 시작한 후 지시를 보내세요.","targetConversation":"대화","newConversation":"새 대화","sessionIdeaLabel":"아이디어 {id}","sessionAdHocLabel":"세션 {id}","adHocTitle":"새 세션 시작","adHocBody":"온라인 연결을 선택하고 첫 지시를 보내세요. 새 세션은 해당 연결의 시작 디렉터리에서 실행됩니다.","pickConnection":"연결","pickConnectionPlaceholder":"온라인 연결 선택","startSession":"세션 시작","adHocSessionStarted":"세션이 시작되었습니다. 에이전트가 곧 이를 처리합니다.","entityConversation":"대화"},"daemonChat":{"title":"대화","subtitle":"에이전트가 수행한 작업을 턴 단위로 확인하세요. 대화를 이어가거나 인라인으로 중단할 수 있습니다.","agentSelectLabel":"에이전트","agentSelectPlaceholder":"에이전트 선택","agentSessionCount":"대화 {count}개","listHeader":"대화","loadMore":"더 보기","loadEarlier":"이전 메시지 불러오기","loadingEarlier":"이전 메시지를 불러오는 중…","transcriptLoading":"대화 기록을 불러오는 중…","mobileBack":"대화","conversationAdHoc":"대화 {id}","conversationIdea":"아이디어 {id}","badgeIdea":"아이디어","running":"실행 중","runningElapsedLabel":"이번 실행 시작 후 경과 시간","statusActive":"활성","statusEnded":"종료됨","statusInterrupted":"중단됨","statusError":"오류","turnStatusPending":"대기 중","turnStatusRunning":"실행 중","turnStatusInterrupted":"중단됨","turnStatusEnded":"종료됨","turnStatusMerged":"병합됨","triggerTask":"작업","triggerMention":"멘션","triggerElaboration":"구체화","triggerInstruction":"지시","triggerResume":"재개","triggerElaborationVerified":"확인됨","triggerStartDevelopment":"개발","triggerYoloRequested":"Yolo","triggerUnknown":"턴","turnLabel":"{seq}번째 턴","usageBadgeLabel":"{total} tok","usageBadgeAria":"토큰 사용량: {total} 토큰 (입력 + 출력)","usageInput":"입력","usageOutput":"출력","usageCacheRead":"캐시 읽기","usageCacheWrite":"캐시 쓰기","usageModel":"모델","conversationUsageAria":"대화 토큰 사용량: {total} 토큰 (입력 + 출력)","openTask":"작업 열기","openIdea":"아이디어 열기","roleYou":"회원님","roleAgent":"에이전트","turnNoMessages":"이 턴에 대해 보존된 기록이 없습니다.","turnMergedNote":"하나의 병합된 턴으로 통합되었습니다.","turnMergedCount":"{count}개 이벤트 병합됨","turnEndedNoReply":"이 턴에서 에이전트의 응답을 받지 못했습니다.","turnRelayFailed":"에이전트가 응답했지만 응답을 Chorus에 업로드하지 못했습니다:","privacyNote":"대화 기록은 에이전트의 데몬이 보고한 것으로, 로컬 파일 경로가 포함될 수 있습니다. 가장 최근 메시지만 보관됩니다.","noAgents":{"title":"아직 대화가 없습니다","body":"작업, 멘션, 구체화, 또는 회원님이 보낸 지시로 에이전트가 깨어나면 그 대화가 여기에 표시됩니다."},"noSessions":{"title":"이 에이전트에 대한 대화가 없습니다","body":"작성창에서 지시를 보내 대화를 시작하세요."},"newConversationButton":"새 대화","newConversationTitle":"새 대화","newConversationBody":"{agent}에게 첫 지시를 보내세요. 선택한 연결에서 새 세션이 시작됩니다.","newConversationNoAgent":"왼쪽에서 에이전트를 선택한 다음 첫 지시를 보내 대화를 시작하세요.","newConversationNoOnlineTitle":"온라인 연결 없음","newConversationNoOnlineBody":"이 에이전트에는 대화할 수 있는 온라인 데몬이 없습니다. 데몬을 시작한 후 여기서 지시를 보내세요.","replyPlaceholder":"이 대화에 답장…","selectPrompt":"대화 기록을 보려면 대화를 선택하세요.","loadErrorTitle":"이 대화를 불러올 수 없습니다","loadErrorBody":"대화 기록 서비스에 접근할 수 없습니다. 대화가 비어 있는 것이 아니라 불러오기 문제입니다. 다시 열면 재시도합니다.","originOfflineNote":"이 대화의 출처 데몬이 오프라인이라 읽기 전용입니다. 기록은 계속 표시되며, 전송하려면 온라인 디렉터리에서 이어가세요.","continueOnlineAction":"온라인 디렉터리에서 이어가기","continueOnlineHelp":"같은 대화를 유지하면서 이 에이전트의 온라인 작업 디렉터리 중 하나에서 이어갑니다. 새로 시작하는 형태로 이어지며 (위의 기록은 읽기 전용 컨텍스트로 남습니다).","continueOnlineStarted":"온라인 디렉터리에서 이어가는 중","detailsLabel":"연결 세부 정보","detailsHostUnknown":"알 수 없는 호스트","detailUptime":"가동 시간","detailHost":"호스트","detailStarted":"시작 시각","copySessionId":"세션 ID 복사","sessionIdCopied":"복사됨!"},"agentPresence":{"online":"온라인","onlineUnit":"{count, plural, other {에이전트 온라인}}","loading":"에이전트 확인 중…","unavailable":"에이전트를 사용할 수 없습니다","pillAria":"온라인 에이전트 — 세부 정보 열기","popoverTitle":"온라인 에이전트","connectionIdle":"유휴 상태 — 실행 중이거나 대기 중인 작업이 없습니다.","openChat":"대화 열기","openPixelWorkspace":"픽셀 워크스페이스 열기","unknownPath":"알 수 없는 경로","unknownHost":"알 수 없는 호스트","drilldown":{"instancesCount":"인스턴스 {count}개","hostsCount":"호스트 {count}대","expandAgent":"{agent}의 작업 디렉터리 표시","collapseAgent":"{agent}의 작업 디렉터리 숨기기","idle":"유휴","runningFor":"실행 중 \xb7 {time}","queuedCount":"대기 중 {count}개","offlineSince":"오프라인 \xb7 {time}","fieldPath":"작업 디렉터리"}},"transcriptHeader":{"cwdAriaLabel":"작업 디렉터리","hostAriaLabel":"호스트"},"conversationalEntry":{"noOnlineDaemon":"현재 온라인 상태인 에이전트 데몬이 없습니다. 대화로 아이디어를 설명하려면 하나를 시작하세요:","agentLabel":"에이전트","agentPlaceholder":"에이전트 선택","instanceLabel":"작업 디렉터리","pickAgentFirst":"온라인 작업 디렉터리를 보려면 먼저 에이전트를 선택하세요.","placeholder":"원하는 것을 설명하세요 — 에이전트가 여기서부터 처리합니다…","charCounter":"{count} / {max}","connectionWentOffline":"해당 데몬이 방금 오프라인 상태가 되었습니다. 다른 인스턴스를 선택하고 다시 시도하세요.","sendError":"에이전트에 연결하지 못했습니다. 다시 시도해 주세요.","send":"에이전트에게 전송","retry":"다시 시도"},"daemonConnectCta":{"headline":"다음 단계: 에이전트를 계속 온라인 상태로 유지하세요","body":"장기 실행 데몬을 실행하면 에이전트가 온라인 상태를 유지하며 배정된 작업을 받을 수 있습니다.","bodyLong":"플러그인을 설치하면 일회성 연결만 설정되며 에이전트를 온라인 상태로 유지하지는 않습니다. 터미널에서 장기 실행 데몬을 실행해 에이전트가 계속 연결된 상태로 배정된 작업을 자동으로 받도록 하세요.","loginNote":"처음이신가요? {command}으로 한 번 로그인하세요.","copy":"복사","copied":"복사됨!","learnMore":"에이전트 연결에 대해 더 알아보기"},"mention":{"online":"온라인","offline":"오프라인","activeCount":"활성 {count}개","idle":"유휴","openConversation":"대화 열기","host":"호스트","workingDirectory":"작업 디렉터리","badgeAria":"{name} — {status}"},"mentionInstance":{"title":"어느 작업 디렉터리인가요?","subtitle":"{name}은(는) 호스트 {hosts}대에서 인스턴스 {count}개로 실행 중입니다.","confirm":"인스턴스 고정","cancel":"취소","noInstances":"실행 중인 인스턴스가 없습니다"},"wakeCwdPicker":{"title":"실행할 작업 디렉터리를 선택하세요","subtitle":"{name}은(는) 호스트 {hosts}대에서 인스턴스 {count}개로 온라인 상태입니다. 고정하고 깨울 인스턴스를 선택하세요.","confirm":"고정하고 계속","cancel":"취소","browseAnother":"다른 디렉터리 찾아보기","registeredDirectories":"등록된 디렉터리","useOnce":"이 작업에만 사용"},"directoryBrowser":{"chooseHost":"호스트 선택","unknownHost":"알 수 없는 호스트","chooseDirectorySource":"작업 디렉터리 소스 선택","daemonCwd":"Daemon 작업 디렉터리","configuredCwd":"Daemon 구성 디렉터리","customCwd":"이 호스트의 다른 디렉터리","pathPrefix":"디렉터리 경로 접두사","pathPlaceholder":"/home/user/project","browseRoot":"탐색 루트","loadingRoots":"허용된 루트를 불러오는 중…","loadingCandidates":"디렉터리 제안을 불러오는 중","parent":"상위 디렉터리로 이동","browse":"디렉터리 찾아보기","noHosts":"이 Agent에 온라인 호스트가 없습니다.","empty":"일치하는 디렉터리가 없습니다.","selection":"선택한 디렉터리","errors":{"HOST_OFFLINE":"선택한 호스트가 오프라인입니다. 다른 호스트를 선택하세요.","TIMEOUT":"호스트가 응답하지 않았습니다. 다시 시도하세요.","INVALID_PATH":"유효한 절대 경로를 입력하세요.","OUTSIDE_ROOT":"이 경로는 호스트에서 허용한 탐색 루트 밖에 있습니다.","NOT_DIRECTORY":"선택한 경로가 디렉터리가 아닙니다.","ACCESS_DENIED":"Daemon이 이 디렉터리에 접근할 수 없습니다.","STALE_TARGET":"선택이 만료되었습니다. 다시 찾아 선택하세요.","LIMIT_EXCEEDED":"일치 항목이 너무 많습니다. 더 구체적인 접두사를 입력하세요.","INTERNAL_ERROR":"디렉터리를 불러올 수 없습니다. 다시 시도하세요."}},"graph":{"title":"그래프","subtitle":"이 프로젝트의 아이디어, 제안, 작업, 문서를 마인드맵으로 표현합니다.","emptyTitle":"아직 그래프로 표시할 항목이 없습니다","emptyDesc":"이 프로젝트에 아이디어, 제안, 작업, 문서가 생기면 연결된 마인드맵으로 여기에 표시됩니다.","loading":"그래프를 불러오는 중…","loadFailed":"프로젝트 그래프를 불러올 수 없습니다.","expandAll":"모두 펼치기","collapseAll":"모두 접기","filters":{"idea":"아이디어","proposal":"제안","task":"작업","document":"문서"},"nodeType":{"idea":"아이디어","proposal":"제안","task":"작업","document":"문서"},"edgeKind":{"derive":"파생","lineage":"계보","depends":"의존"},"controls":{"open":"그래프 컨트롤 표시","close":"그래프 컨트롤 숨기기"},"search":{"placeholder":"노드 검색…","clear":"검색 지우기","noMatches":"일치하는 항목 없음","count":"{total} 중 {current}","prev":"이전 일치","next":"다음 일치"},"tooltip":{"loading":"로딩 중…"},"zoom":{"in":"확대","out":"축소","fit":"화면에 맞추기"},"status":{"unknown":"알 수 없음"}},"quickAccess":{"title":"최근 프로젝트","pin":"고정","unpin":"고정 해제","pinProject":"{name} 고정","unpinProject":"{name} 고정 해제","pinToSidebar":"사이드바에 고정","removeFromRecent":"최근에서 제거","moreActions":"{name} 추가 작업"},"resourceLinks":{"github":"GitHub","docs":"문서","githubAria":"Chorus GitHub 저장소 열기(새 탭에서 열림)","docsAria":"Chorus 문서 사이트 열기(새 탭에서 열림)"}}')}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35432,75137],{1861:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},4459:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},5329:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-circle-plus",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]])},6748:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},9111:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]])},9225:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]])},10263:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},11080:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},11426:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]])},11966:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},13142:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},16045:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]])},17475:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},18789:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},20094:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]])},20578:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},23217:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},23380:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]])},25373:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},26260:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-lock",[["rect",{width:"8",height:"5",x:"14",y:"17",rx:"1",key:"19aais"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",key:"1w6v7t"}],["path",{d:"M20 17v-2a2 2 0 1 0-4 0v2",key:"pwaxnr"}]])},30028:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},30044:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},32239:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},32470:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])},36557:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},37915:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},39180:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},42533:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},43057:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},44575:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},48016:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]])},50153:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},50609:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]])},51509:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-x",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9.5 10.5 5 5",key:"ra9qjz"}],["path",{d:"m14.5 10.5-5 5",key:"l2rkpq"}]])},52309:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},57472:(e,t,a)=>{a.d(t,{A:()=>n});var r=a(12079),l=a(90508);function n(e){let{locale:t,...a}=e;if(!t)throw Error(void 0);return(0,l.jsx)(r.Dk,{locale:t,...a})}},57930:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},59133:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},62482:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},67103:(e,t,a)=>{a.d(t,{N:()=>v});var r=a(90508),l=a(1856),n=a(43827),d=a(66071),h=a(66506),c=a(95535),i=a(63605),o=a(8334);function s(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class y extends l.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,i.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,a=(0,i.s)(e)&&e.offsetWidth||0,r=(0,i.s)(e)&&e.offsetHeight||0,l=getComputedStyle(t),n=this.props.sizeRef.current;n.height=parseFloat(l.height),n.width=parseFloat(l.width),n.top=t.offsetTop,n.left=t.offsetLeft,n.right=a-n.width-n.left,n.bottom=r-n.height-n.top}return null}componentDidUpdate(){}render(){return this.props.children}}function p(e){var t,a;let{children:n,isPresent:d,anchorX:h,anchorY:c,root:i,pop:p}=e,k=(0,l.useId)(),u=(0,l.useRef)(null),m=(0,l.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:A}=(0,l.useContext)(o.Q),f=function(...e){return l.useCallback(function(...e){return t=>{let a=!1,r=e.map(e=>{let r=s(e,t);return a||"function"!=typeof r||(a=!0),r});if(a)return()=>{for(let t=0;t<r.length;t++){let a=r[t];"function"==typeof a?a():s(e[t],null)}}}}(...e),e)}(u,null!=(a=null==(t=n.props)?void 0:t.ref)?a:null==n?void 0:n.ref);return(0,l.useInsertionEffect)(()=>{let{width:e,height:t,top:a,left:r,right:l,bottom:n}=m.current;if(d||!1===p||!u.current||!e||!t)return;u.current.dataset.motionPopId=k;let o=document.createElement("style");A&&(o.nonce=A);let s=null!=i?i:document.head;return s.appendChild(o),o.sheet&&o.sheet.insertRule('\n [data-motion-pop-id="'.concat(k,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===h?"left: ".concat(r):"right: ".concat(l),"px !important;\n ").concat("bottom"===c?"bottom: ".concat(n):"top: ".concat(a),"px !important;\n }\n ")),()=>{var e;null==(e=u.current)||e.removeAttribute("data-motion-pop-id"),s.contains(o)&&s.removeChild(o)}},[d]),(0,r.jsx)(y,{isPresent:d,childRef:u,sizeRef:m,pop:p,children:!1===p?n:l.cloneElement(n,{ref:f})})}let k=e=>{let{children:t,initial:a,isPresent:n,onExitComplete:h,custom:i,presenceAffectsLayout:o,mode:s,anchorX:y,anchorY:k,root:m}=e,A=(0,d.M)(u),f=(0,l.useId)(),v=!0,x=(0,l.useMemo)(()=>(v=!1,{id:f,initial:a,isPresent:n,custom:i,onExitComplete:e=>{for(let t of(A.set(e,!0),A.values()))if(!t)return;h&&h()},register:e=>(A.set(e,!1),()=>A.delete(e))}),[n,A,h]);return o&&v&&(x={...x}),(0,l.useMemo)(()=>{A.forEach((e,t)=>A.set(t,!1))},[n]),l.useEffect(()=>{n||A.size||!h||h()},[n]),t=(0,r.jsx)(p,{pop:"popLayout"===s,isPresent:n,anchorX:y,anchorY:k,root:m,children:t}),(0,r.jsx)(c.t.Provider,{value:x,children:t})};function u(){return new Map}var m=a(99672);let A=e=>e.key||"";function f(e){let t=[];return l.Children.forEach(e,e=>{(0,l.isValidElement)(e)&&t.push(e)}),t}let v=e=>{let{children:t,custom:a,initial:c=!0,onExitComplete:i,presenceAffectsLayout:o=!0,mode:s="sync",propagate:y=!1,anchorX:p="left",anchorY:u="top",root:v}=e,[x,g]=(0,m.xQ)(y),M=(0,l.useMemo)(()=>f(t),[t]),w=y&&!x?[]:M.map(A),b=(0,l.useRef)(!0),z=(0,l.useRef)(M),j=(0,d.M)(()=>new Map),C=(0,l.useRef)(new Set),[q,E]=(0,l.useState)(M),[T,H]=(0,l.useState)(M);(0,h.E)(()=>{b.current=!1,z.current=M;for(let e=0;e<T.length;e++){let t=A(T[e]);w.includes(t)?(j.delete(t),C.current.delete(t)):!0!==j.get(t)&&j.set(t,!1)}},[T,w.length,w.join("-")]);let V=[];if(M!==q){let e=[...M];for(let t=0;t<T.length;t++){let a=T[t],r=A(a);w.includes(r)||(e.splice(t,0,a),V.push(a))}return"wait"===s&&V.length&&(e=V),H(f(e)),E(M),null}let{forceRender:L}=(0,l.useContext)(n.L);return(0,r.jsx)(r.Fragment,{children:T.map(e=>{let t=A(e),l=(!y||!!x)&&(M===T||w.includes(t));return(0,r.jsx)(k,{isPresent:l,initial:(!b.current||!!c)&&void 0,custom:a,presenceAffectsLayout:o,mode:s,root:v,onExitComplete:l?void 0:()=>{if(C.current.has(t)||!j.has(t))return;C.current.add(t),j.set(t,!0);let e=!0;j.forEach(t=>{t||(e=!1)}),e&&(null==L||L(),H(z.current),y&&(null==g||g()),i&&i())},anchorX:p,anchorY:u,children:e},t)})})}},68842:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},69011:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},70633:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},71388:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},72256:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]])},73748:(e,t,a)=>{a.d(t,{D:()=>o,N:()=>s});var r=a(1856),l=(e,t,a,r,l,n,d,h)=>{let c=document.documentElement,i=["light","dark"];function o(t){var a;(Array.isArray(e)?e:[e]).forEach(e=>{let a="class"===e,r=a&&n?l.map(e=>n[e]||e):l;a?(c.classList.remove(...r),c.classList.add(n&&n[t]?n[t]:t)):c.setAttribute(e,t)}),a=t,h&&i.includes(a)&&(c.style.colorScheme=a)}if(r)o(r);else try{let e=localStorage.getItem(t)||a,r=d&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;o(r)}catch(e){}},n=["light","dark"],d="(prefers-color-scheme: dark)",h="undefined"==typeof window,c=r.createContext(void 0),i={setTheme:e=>{},themes:[]},o=()=>{var e;return null!=(e=r.useContext(c))?e:i},s=e=>r.useContext(c)?r.createElement(r.Fragment,null,e.children):r.createElement(p,{...e}),y=["light","dark"],p=e=>{let{forcedTheme:t,disableTransitionOnChange:a=!1,enableSystem:l=!0,enableColorScheme:h=!0,storageKey:i="theme",themes:o=y,defaultTheme:s=l?"system":"light",attribute:p="data-theme",value:f,children:v,nonce:x,scriptProps:g}=e,[M,w]=r.useState(()=>u(i,s)),[b,z]=r.useState(()=>"system"===M?A():M),j=f?Object.values(f):o,C=r.useCallback(e=>{let t=e;if(!t)return;"system"===e&&l&&(t=A());let r=f?f[t]:t,d=a?m(x):null,c=document.documentElement,i=e=>{"class"===e?(c.classList.remove(...j),r&&c.classList.add(r)):e.startsWith("data-")&&(r?c.setAttribute(e,r):c.removeAttribute(e))};if(Array.isArray(p)?p.forEach(i):i(p),h){let e=n.includes(s)?s:null,a=n.includes(t)?t:e;c.style.colorScheme=a}null==d||d()},[x]),q=r.useCallback(e=>{let t="function"==typeof e?e(M):e;w(t);try{localStorage.setItem(i,t)}catch(e){}},[M]),E=r.useCallback(e=>{z(A(e)),"system"===M&&l&&!t&&C("system")},[M,t]);r.useEffect(()=>{let e=window.matchMedia(d);return e.addListener(E),E(e),()=>e.removeListener(E)},[E]),r.useEffect(()=>{let e=e=>{e.key===i&&(e.newValue?w(e.newValue):q(s))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[q]),r.useEffect(()=>{C(null!=t?t:M)},[t,M]);let T=r.useMemo(()=>({theme:M,setTheme:q,forcedTheme:t,resolvedTheme:"system"===M?b:M,themes:l?[...o,"system"]:o,systemTheme:l?b:void 0}),[M,q,t,b,l,o]);return r.createElement(c.Provider,{value:T},r.createElement(k,{forcedTheme:t,storageKey:i,attribute:p,enableSystem:l,enableColorScheme:h,defaultTheme:s,value:f,themes:o,nonce:x,scriptProps:g}),v)},k=r.memo(e=>{let{forcedTheme:t,storageKey:a,attribute:n,enableSystem:d,enableColorScheme:h,defaultTheme:c,value:i,themes:o,nonce:s,scriptProps:y}=e,p=JSON.stringify([n,a,c,t,o,i,d,h]).slice(1,-1);return r.createElement("script",{...y,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?s:"",dangerouslySetInnerHTML:{__html:"(".concat(l.toString(),")(").concat(p,")")}})}),u=(e,t)=>{let a;if(!h){try{a=localStorage.getItem(e)||void 0}catch(e){}return a||t}},m=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},A=e=>(e||(e=window.matchMedia(d)),e.matches?"dark":"light")},74957:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("text-cursor-input",[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]])},77770:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("badge-check",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},78948:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},79363:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]])},79834:(e,t,a)=>{a.r(t),a.d(t,{Content:()=>H,List:()=>E,Root:()=>q,Tabs:()=>v,TabsContent:()=>z,TabsList:()=>g,TabsTrigger:()=>w,Trigger:()=>T,createTabsScope:()=>u});var r=a(1856),l=a(33328),n=a(21032),d=a(94782),h=a(19900),c=a(93367),i=a(72599),o=a(66249),s=a(40577),y=a(90508),p="Tabs",[k,u]=(0,n.A)(p,[d.RG]),m=(0,d.RG)(),[A,f]=k(p),v=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,onValueChange:l,defaultValue:n,orientation:d="horizontal",dir:h,activationMode:k="automatic",...u}=e,m=(0,i.jH)(h),[f,v]=(0,o.i)({prop:r,onChange:l,defaultProp:null!=n?n:"",caller:p});return(0,y.jsx)(A,{scope:a,baseId:(0,s.B)(),value:f,onValueChange:v,orientation:d,dir:m,activationMode:k,children:(0,y.jsx)(c.sG.div,{dir:m,"data-orientation":d,...u,ref:t})})});v.displayName=p;var x="TabsList",g=r.forwardRef((e,t)=>{let{__scopeTabs:a,loop:r=!0,...l}=e,n=f(x,a),h=m(a);return(0,y.jsx)(d.bL,{asChild:!0,...h,orientation:n.orientation,dir:n.dir,loop:r,children:(0,y.jsx)(c.sG.div,{role:"tablist","aria-orientation":n.orientation,...l,ref:t})})});g.displayName=x;var M="TabsTrigger",w=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,disabled:n=!1,...h}=e,i=f(M,a),o=m(a),s=j(i.baseId,r),p=C(i.baseId,r),k=r===i.value;return(0,y.jsx)(d.q7,{asChild:!0,...o,focusable:!n,active:k,children:(0,y.jsx)(c.sG.button,{type:"button",role:"tab","aria-selected":k,"aria-controls":p,"data-state":k?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:s,...h,ref:t,onMouseDown:(0,l.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():i.onValueChange(r)}),onKeyDown:(0,l.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&i.onValueChange(r)}),onFocus:(0,l.mK)(e.onFocus,()=>{let e="manual"!==i.activationMode;k||n||!e||i.onValueChange(r)})})})});w.displayName=M;var b="TabsContent",z=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:l,forceMount:n,children:d,...i}=e,o=f(b,a),s=j(o.baseId,l),p=C(o.baseId,l),k=l===o.value,u=r.useRef(k);return r.useEffect(()=>{let e=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(h.C,{present:n||k,children:a=>{let{present:r}=a;return(0,y.jsx)(c.sG.div,{"data-state":k?"active":"inactive","data-orientation":o.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:r&&d})}})});function j(e,t){return"".concat(e,"-trigger-").concat(t)}function C(e,t){return"".concat(e,"-content-").concat(t)}z.displayName=b;var q=v,E=g,T=w,H=z},81149:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},83553:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]])},84052:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},86589:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},88591:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-pause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]])},88853:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]])},90031:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]])},90683:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]])},93134:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("clock-3",[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},94152:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])},94310:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]])},94599:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},95886:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},97645:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","showMore":"展开","showLess":"收起","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"theme":{"toggleLabel":"主题","light":"浅色","dark":"深色","system":"跟随系统"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试","loadingMore":"加载更多...","noMoreComments":"没有更多评论"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"assignInstance":{"workingDirectory":"工作目录","loadingInstances":"正在加载工作目录…","noInstances":"该智能体没有在线的守护进程。任务已分配并已通知该智能体,它将在下次上线时领取。","pinNote":"自主唤醒会将此任务路由到你在此固定的确切(主机,路径)实例。只能固定在线实例。路径绝不会从项目推断。","ideaPinNote":"想法是固定的根:该智能体的提案、任务和自主唤醒都会继承你在此固定的(主机,路径)。只能固定在线实例。留空则分配给普通智能体。","assignTo":"分配到 {path}","assignToWithHost":"分配到 {path} \xb7 {host}","sendingTo":"发送到 {path}","sendingToWithHost":"发送到 {path} \xb7 {host}","liveSendNote":"立即发送指令。实时发送要求该路径处于在线状态。","offlineCantRun":"离线 — 重新连接前无法运行"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","graph":"图谱","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。","agentCwds":{"title":"Agent 工作目录","description":"为此项目中的每个 Agent 固定主机和目录。","loading":"正在加载工作目录...","loadFailed":"无法加载工作目录。","empty":"暂无可用 Agent。","emptyOnline":"暂无在线 Agent。","notConfigured":"每次操作临时选择目录","configure":"配置工作目录","replace":"替换工作目录","clear":"清除固定工作目录","select":"选择目录","createFailed":"Agent 工作目录保存失败,项目未创建。","status":{"valid":"可用","offline":"主机离线","invalid":"目录不可用"}}},"fixedCwdAnchor":{"title":"固定工作目录","host":"主机","cwd":"目录","status":"状态","unknown":"未知","openAgentChat":"打开 {agent} 的对话","manage":"在项目设置中管理","availability":{"ready":"可用","offline":"主机离线","invalid":"目录不可用"}},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"references":{"title":"参考资料","empty":"链接官方文档、参考实现或 issue 讨论,为它提供佐证。","loading":"加载参考资料中...","add":"添加","addReference":"添加参考资料","editReference":"编辑参考资料","deleteReference":"删除参考资料","deleteConfirm":"此操作将永久删除参考资料「{title}」,无法恢复。","typeLabel":"类型","typeDocs":"文档","typeRepo":"代码仓库","typeIssuePr":"Issue / PR","typePaperBlog":"论文 / 博客","urlLabel":"链接","urlPlaceholder":"https://example.com/...","urlRequired":"链接不能为空","titleLabel":"标题","titlePlaceholder":"输入简短的标题","titleRequired":"标题不能为空","notesLabel":"备注","notesPlaceholder":"可选的摘要或相关性说明","addFailed":"添加参考资料失败","updateFailed":"更新参考资料失败","deleteFailed":"删除参考资料失败","countLabel":"{count, plural, other {# 条参考资料}}","toggleNotes":"显示完整说明"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"startDevelopment":{"button":"开始开发","starting":"启动中...","startedHint":"开发已启动 —— agent 正在执行剩余任务","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再开始开发。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再开始开发。","errorFixedCwdHostOffline":"该项目固定工作目录所在的主机当前离线,请等该主机重新连接后再开始开发。","errorNoApprovedProposal":"该 idea 还没有已批准的 proposal","errorNoUnfinishedTasks":"所有任务都已完成","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"开始开发失败"},"yolo":{"button":"Yolo","cancel":"取消","confirmTitle":"对这个 idea 执行 Yolo?","confirmDescription":"Yolo 会唤醒被分配的 agent,按 yolo skill 全自动把这个 idea 推进到完成 —— 需求澄清、方案、执行、验收。未经你确认不会合并或推送 PR。是否继续?","confirmCta":"执行 Yolo","starting":"启动中...","startedHint":"Yolo 已启动 —— agent 正在推进这个 idea 到完成","offlineHint":"Agent 离线,重连后可用","errorAgentOffline":"该 agent 当前离线,请等它重新连接后再执行 Yolo。","errorInstanceOffline":"该 idea 已固定到一个离线的 daemon 实例,请等该实例重新连接后再执行 Yolo。","errorFixedCwdHostOffline":"该项目固定工作目录所在的主机当前离线,请等该主机重新连接后再执行 Yolo。","errorAssigneeNotAgent":"该 idea 的负责人不是 agent","errorGeneric":"启动 Yolo 失败"},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","kiro":"Kiro","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"kiro":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,Kiro CLI 会在启动时读取这两个变量。","step2Title":"第 2 步:运行 Kiro 安装脚本","step2Tip":"默认全局安装到 ~/.kiro/,Chorus 在任意目录下均可用。若只想安装到当前项目目录下的 .kiro/,请追加参数:bash -s -- --workspace。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Kiro CLI 并激活 /chorus-idea 技能,或直接以 Chorus agent 启动:kiro-cli --agent chorus。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败","container":"主题","containerDescription":"主题用于归拢一组相关的子想法、确立共同方向。它可以细化,但真正的交付发生在你从它派生的子想法里——主题本身不写提案。","containerBadge":"主题","typeIdea":"想法","typeTheme":"主题","makeContainer":"设为主题","containerHint":"主题通过派生子想法向前推进。","childrenDone":"{done}/{total} 已完成"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节...","modeForm":"填写表单","modeConversation":"对智能体描述","modeConversationOfflineHint":"对智能体描述需要一个在线的守护进程。","decompose":"帮我拆解为子想法","decomposeHint":"创建一个主题,并让智能体提出候选子想法供你确认。"},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"},"agentConnections":{"title":"智能体连接","subtitle":"在你名下、实时连接到 Chorus 的本地智能体。仅展示你自己的连接。","summary":"{online} / {total} 在线","loading":"正在加载连接...","railHeader":"连接","statusOnline":"在线","statusOffline":"离线","fieldHost":"主机","fieldUptime":"在线时长","fieldLastActive":"最近活跃","fieldStarted":"启动于","hostUnknown":"未知主机","startedUnknown":"未知","versionUnknown":"?","unknownAgent":"未命名智能体","clientClaudeCode":"Claude Code","clientOpenclaw":"OpenClaw","clientCodex":"Codex","clientKiro":"Kiro","clientUnknown":"未知客户端","uptimeMonoDays":"{days}天 {time}","mobileBack":"返回连接列表","selectPrompt":"选择一个连接以查看详情。","execTitle":"执行状态","execRunning":"正在运行","execQueued":"排队中","execInterrupted":"已打断","execInterruptedUser":"已打断","execInterruptedCrash":"已崩溃","execCrashExited":"异常退出","execWaiting":"等待中","execLoading":"正在加载执行状态...","execElapsedLabel":"已运行时长","execSession":"Idea:{idea}","execEmptyTitle":"暂无运行中的任务","execEmptyBody":"该连接当前没有正在处理或排队的工作。派发的工作会在 daemon 接手时显示在这里。","empty":{"title":"暂无智能体连接"},"loadErrorTitle":"无法加载连接","loadErrorBody":"无法连接到连接服务。这是加载失败,并非列表为空——你的智能体可能仍在线。正在自动重试。","execEntityUnknown":"未知资源","execConversation":"对话","entityTask":"任务","entityIdea":"想法","entityProposal":"提案","entityDocument":"文档","entityUnknown":"资源","interrupt":"打断","interrupting":"正在打断…","interruptAria":"打断此正在运行的执行","interruptConfirmTitle":"确定打断此执行?","interruptConfirmBody":"这会停止 daemon 中针对「{title}」正在运行的会话。系统会先请求智能体优雅停止,若未停止则强制结束。之后你可以在本页恢复它。","interruptConfirmAction":"打断","interruptSuccess":"已请求打断「{title}」。","interruptError":"请求打断失败,请重试。","resume":"恢复","resuming":"正在恢复…","resumeAria":"恢复这个已打断的执行","resumeSuccess":"已请求恢复「{title}」。","resumeError":"请求恢复失败,请重试。","sendInstruction":"发送指令","sendInstructionPlaceholder":"为这个会话输入一条指令…","send":"发送","instructionHint":"按 Cmd/Ctrl + Enter 发送。","instructionCounter":"{count} / {max}","instructionError":"指令发送失败,请重试。","instructionEmpty":"请先输入指令再发送。","instructionTooLong":"指令过长。请精简到 {max} 个字符以内。","originOnlineTag":"源端在线","originOfflineTag":"源端离线","originOffline":"该会话的源端守护进程已离线,因此为只读状态。请改为开启一个新会话。","noOnlineConnection":"该智能体没有可发送的在线连接。请先启动它的守护进程,再发送指令。","targetConversation":"会话","newConversation":"新会话","sessionIdeaLabel":"想法 {id}","sessionAdHocLabel":"会话 {id}","adHocTitle":"开启新会话","adHocBody":"选择一个在线连接并发送第一条指令。新会话会在该连接的启动目录中运行。","pickConnection":"连接","pickConnectionPlaceholder":"选择一个在线连接","startSession":"开启会话","adHocSessionStarted":"会话已开启,智能体稍后会接手。","entityConversation":"对话"},"daemonChat":{"title":"对话","subtitle":"逐回合查看智能体做了什么。可在对话内继续发送或中断。","agentSelectLabel":"智能体","agentSelectPlaceholder":"选择一个智能体","agentSessionCount":"{count, plural, other {# 个对话}}","listHeader":"对话","loadMore":"加载更多","loadEarlier":"加载更早的消息","loadingEarlier":"正在加载更早…","transcriptLoading":"正在加载记录…","mobileBack":"对话","conversationAdHoc":"对话 {id}","conversationIdea":"想法 {id}","badgeIdea":"想法","running":"运行中","runningElapsedLabel":"本次运行已用时","statusActive":"进行中","statusEnded":"已结束","statusInterrupted":"已打断","statusError":"错误","turnStatusPending":"排队中","turnStatusRunning":"运行中","turnStatusInterrupted":"已中断","turnStatusEnded":"已结束","turnStatusMerged":"已合并","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerElaborationVerified":"已验证","triggerStartDevelopment":"开发","triggerYoloRequested":"Yolo","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","usageBadgeLabel":"{total} tok","usageBadgeAria":"Token 消耗:{total} tokens(输入 + 输出)","usageInput":"输入","usageOutput":"输出","usageCacheRead":"缓存读取","usageCacheWrite":"缓存写入","usageModel":"模型","conversationUsageAria":"对话 Token 消耗:{total} tokens(输入 + 输出)","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","turnMergedNote":"已并入一个合并处理的回合。","turnMergedCount":"合并了 {count} 个事件","turnEndedNoReply":"本回合未收到 agent 的回复。","turnRelayFailed":"agent 已回复,但回复未能上传到 Chorus:","privacyNote":"对话记录由智能体的守护进程上报,可能包含本地文件路径。仅保留最近的消息。","noAgents":{"title":"暂无对话","body":"当智能体被唤醒时(因任务、提及、澄清或你发送的指令),它的对话会显示在这里。"},"noSessions":{"title":"该智能体暂无对话","body":"在下方输入框发送一条指令以开启对话。"},"newConversationButton":"新建对话","newConversationTitle":"新建对话","newConversationBody":"向 {agent} 发送第一条指令。它会在你选择的连接上开启一个新会话。","newConversationNoAgent":"先在左侧选择一个智能体,然后发送第一条指令以开启对话。","newConversationNoOnlineTitle":"没有在线连接","newConversationNoOnlineBody":"该智能体当前没有在线的守护进程可对话。请先启动它的守护进程,再在此发送指令。","replyPlaceholder":"在此对话中回复…","selectPrompt":"选择一个对话以查看其记录。","loadErrorTitle":"无法加载该对话","loadErrorBody":"无法连接到记录服务。这是加载问题,而非空对话。重新打开时会自动重试。","originOfflineNote":"该对话的来源守护进程已离线,因此为只读。历史记录仍会显示;如需发送,请在某个在线目录中继续。","continueOnlineAction":"在在线目录中继续","continueOnlineHelp":"保留本对话,并在该智能体的某个在线工作目录中继续。它会在该目录中以全新状态接续(上方历史记录将保留为只读上下文)。","continueOnlineStarted":"正在该在线目录中继续","detailsLabel":"连接详情","detailsHostUnknown":"未知主机","detailUptime":"运行时长","detailHost":"主机","detailStarted":"启动于","copySessionId":"复制 session ID","sessionIdCopied":"已复制!"},"agentPresence":{"online":"在线","onlineUnit":"{count, plural, other {智能体在线}}","loading":"正在检查智能体…","unavailable":"智能体不可用","pillAria":"在线智能体 — 打开详情","popoverTitle":"在线智能体","connectionIdle":"空闲 — 没有正在运行或排队的工作。","openChat":"打开会话","openPixelWorkspace":"打开像素工作区","unknownPath":"未知路径","unknownHost":"未知主机","drilldown":{"instancesCount":"{count, plural, other {# 个实例}}","hostsCount":"{count, plural, other {# 台主机}}","expandAgent":"展开 {agent} 的工作目录","collapseAgent":"收起 {agent} 的工作目录","idle":"空闲","runningFor":"运行中 \xb7 {time}","queuedCount":"{count, plural, other {# 个排队}}","offlineSince":"离线 \xb7 {time}","fieldPath":"工作目录"}},"transcriptHeader":{"cwdAriaLabel":"工作目录","hostAriaLabel":"主机"},"conversationalEntry":{"noOnlineDaemon":"当前没有在线的智能体守护进程。启动一个即可用对话方式描述你的想法:","agentLabel":"智能体","agentPlaceholder":"选择智能体","instanceLabel":"工作目录","pickAgentFirst":"先选择一个智能体,查看它在线的工作目录。","placeholder":"描述你想做什么——接下来交给智能体…","charCounter":"{count} / {max}","connectionWentOffline":"该守护进程刚刚离线了。请换一个实例后重试。","sendError":"无法联系到智能体,请重试。","send":"发送给智能体","retry":"重试"},"daemonConnectCta":{"headline":"下一步:让你的智能体保持在线","body":"运行一个常驻守护进程,让你的智能体保持在线并自动接收派发的工作。","bodyLong":"安装插件只是建立一次性连接,并不能让智能体常驻在线。在终端运行一个常驻守护进程,智能体才会保持连接并自动接收派发的工作。","loginNote":"首次使用?先用 {command} 登录一次。","copy":"复制","copied":"已复制!","learnMore":"了解如何连接智能体"},"mention":{"online":"在线","offline":"离线","activeCount":"进行中 {count}","idle":"空闲","openConversation":"打开对话","host":"主机","workingDirectory":"工作目录","badgeAria":"{name} — {status}"},"mentionInstance":{"title":"选择工作目录?","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。","confirm":"固定实例","cancel":"取消","noInstances":"没有在线实例"},"wakeCwdPicker":{"title":"选择要运行的工作目录","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。请选择要固定并唤醒的实例。","confirm":"固定并继续","cancel":"取消","browseAnother":"浏览其他目录","registeredDirectories":"已注册目录","useOnce":"仅用于本次操作"},"directoryBrowser":{"chooseHost":"选择主机","unknownHost":"未知主机","chooseDirectorySource":"选择工作目录来源","daemonCwd":"Daemon 当前工作目录","configuredCwd":"Daemon 配置目录","customCwd":"此主机上的其他目录","pathPrefix":"目录路径前缀","pathPlaceholder":"/home/user/project","browseRoot":"浏览根目录","loadingRoots":"正在加载允许的根目录…","loadingCandidates":"正在加载目录建议","parent":"返回上一级目录","browse":"浏览目录","noHosts":"此 Agent 暂无在线主机。","empty":"没有匹配的目录。","selection":"已选目录","errors":{"HOST_OFFLINE":"所选主机已离线,请选择其他主机。","TIMEOUT":"主机未响应,请重试。","INVALID_PATH":"请输入有效的绝对路径。","OUTSIDE_ROOT":"该路径不在主机允许浏览的根目录内。","NOT_DIRECTORY":"所选路径不是目录。","ACCESS_DENIED":"Daemon 无法访问该目录。","STALE_TARGET":"选择已失效,请重新浏览并选择。","LIMIT_EXCEEDED":"匹配项过多,请输入更具体的前缀。","INTERNAL_ERROR":"无法加载目录,请重试。"}},"graph":{"title":"图谱","subtitle":"本项目想法、提案、任务与文档的思维导图。","emptyTitle":"暂时没有可绘制的内容","emptyDesc":"当本项目出现想法、提案、任务或文档后,它们将以相互连接的思维导图展现在这里。","loading":"正在加载图谱…","loadFailed":"无法加载项目图谱。","expandAll":"全部展开","collapseAll":"全部收起","filters":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"nodeType":{"idea":"想法","proposal":"提案","task":"任务","document":"文档"},"edgeKind":{"derive":"派生","lineage":"脉络","depends":"依赖"},"controls":{"open":"显示图谱控制面板","close":"隐藏图谱控制面板"},"search":{"placeholder":"搜索节点…","clear":"清除搜索","noMatches":"无匹配结果","count":"{current} / {total}","prev":"上一个匹配","next":"下一个匹配"},"tooltip":{"loading":"加载中…"},"zoom":{"in":"放大","out":"缩小","fit":"适应视图"},"status":{"unknown":"未知"}},"quickAccess":{"title":"最近项目","pin":"置顶","unpin":"取消置顶","pinProject":"置顶 {name}","unpinProject":"取消置顶 {name}","pinToSidebar":"置顶到侧边栏","removeFromRecent":"从最近移除","moreActions":"{name} 的更多操作"},"resourceLinks":{"github":"GitHub","docs":"文档","githubAria":"打开 Chorus GitHub 仓库(在新标签页打开)","docsAria":"打开 Chorus 文档站(在新标签页打开)"}}')}}]);
|