@chorus-aidlc/chorus 0.9.3 → 0.9.4
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 +357 -338
- package/.next/standalone/.next/app-path-routes-manifest.json +39 -39
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +42 -42
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/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/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +39 -39
- package/.next/standalone/.next/server/chunks/1615.js +31 -0
- package/.next/standalone/.next/server/chunks/1871.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/2990.js +1 -1
- package/.next/standalone/.next/server/chunks/5491.js +1 -1
- package/.next/standalone/.next/server/chunks/5561.js +7 -0
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
- package/.next/standalone/.next/server/chunks/7228.js +1 -1
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
- package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +1 -0
- package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +1 -0
- package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +1 -0
- package/.next/standalone/.next/static/chunks/{4860.60152a625f2a714f.js → 4860.1bebb2a898b170f6.js} +1 -1
- package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +1 -0
- package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
- package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +1 -0
- package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
- package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
- package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
- package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
- package/.next/standalone/.next/static/chunks/{99373.4d93aaaf56fe7819.js → 99373.13c8ac5da1ddabe9.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-dd7eb66bb4ffd252.js → layout-b55a8d6d9bd27276.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-6d92b9867caf0fe1.js → page-fd10bca891f0f73a.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-4a8c75a0d40c2106.js} +1 -1
- package/.next/standalone/.next/static/css/bfe962487ee66da7.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/skills/brainstorm/SKILL.md +7 -7
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -33
- 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 +8 -5
- package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
- package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -33
- package/.next/standalone/public/skill/yolo-chorus/SKILL.md +7 -5
- package/package.json +1 -1
- package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
- package/prisma/schema.prisma +2 -1
- package/.next/standalone/.next/server/chunks/1854.js +0 -7
- package/.next/standalone/.next/server/chunks/6878.js +0 -1
- package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
- package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
- package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
- package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
- package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
- package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
- package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
- package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
- package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
- package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
- /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → YJZurE1onX9K-RDNIplc5}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{uuDSoqvm-WWenZQ6dXPT7 → YJZurE1onX9K-RDNIplc5}/_ssgManifest.js +0 -0
|
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.9.
|
|
7
|
+
version: "0.9.4"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -44,10 +44,10 @@ All post-elaboration progress (planning, building, verifying, done) is **derived
|
|
|
44
44
|
|
|
45
45
|
| Tool | Purpose |
|
|
46
46
|
|------|---------|
|
|
47
|
-
| `chorus_pm_start_elaboration` |
|
|
48
|
-
| `chorus_pm_validate_elaboration` |
|
|
47
|
+
| `chorus_pm_start_elaboration` | Generate an elaboration round (first, follow-up, or appended-after-resolution) |
|
|
48
|
+
| `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) |
|
|
49
49
|
| `chorus_pm_skip_elaboration` | Skip elaboration for trivially clear Ideas |
|
|
50
|
-
| `chorus_answer_elaboration` | Submit answers for an elaboration round |
|
|
50
|
+
| `chorus_answer_elaboration` | Submit answers for an elaboration round (`roundUuid` optional — auto-locates the active round) |
|
|
51
51
|
| `chorus_get_elaboration` | Get full elaboration state (rounds, questions, answers) |
|
|
52
52
|
|
|
53
53
|
**Shared tools** (checkin, query, comment, search, notifications): see `chorus` skill (`<BASE_URL>/skill/chorus/SKILL.md`)
|
|
@@ -123,8 +123,8 @@ If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice quest
|
|
|
123
123
|
|
|
124
124
|
When the brainstorm skill returns, you own the lifecycle decision (the brainstorm skill deliberately leaves it to you):
|
|
125
125
|
|
|
126
|
-
- If the synthesized round answers cover everything → call `chorus_pm_validate_elaboration`
|
|
127
|
-
- If gaps remain → call `
|
|
126
|
+
- If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset.)
|
|
127
|
+
- If gaps remain → call `chorus_pm_start_elaboration` again to open a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
|
|
128
128
|
|
|
129
129
|
Either outcome ends Step 4.5; skip Step 5.
|
|
130
130
|
|
|
@@ -145,6 +145,12 @@ chorus_pm_skip_elaboration({
|
|
|
145
145
|
|
|
146
146
|
#### Standard/Complex Ideas (run elaboration)
|
|
147
147
|
|
|
148
|
+
> **Elaboration is a loop, not a straight line.** Steps 2–5 below are **one round**. Keep looping back to `chorus_pm_start_elaboration` (a new round) until every open question is settled, then resolve **once** in Step 6. You re-enter the loop whenever:
|
|
149
|
+
> - the answers to a round **derive new questions** or surface a contradiction/gap, **or**
|
|
150
|
+
> - at the resolve gate (Step 5d / Step 6) the **human raises a new concern or correction**.
|
|
151
|
+
>
|
|
152
|
+
> Each new round is just another `chorus_pm_start_elaboration` call — there is no separate "follow-up" flag, and you do not resolve until the loop is genuinely done. Round cap is 10.
|
|
153
|
+
|
|
148
154
|
1. **Determine depth** based on idea complexity:
|
|
149
155
|
- `"minimal"` — 2-4 questions (small features, minor enhancements)
|
|
150
156
|
- `"standard"` — 5-10 questions (typical new features)
|
|
@@ -205,9 +211,11 @@ chorus_pm_skip_elaboration({
|
|
|
205
211
|
- **Select an option + add a note**: `selectedOptionId: "a", customText: "additional context"`
|
|
206
212
|
- **Choose "Other" (free text)**: `selectedOptionId: null, customText: "your answer"` — customText is required when no option is selected
|
|
207
213
|
|
|
214
|
+
> `roundUuid` is **optional** on `chorus_answer_elaboration`. Omit it and the service auto-locates the Idea's single active (`pending_answers`) round. Pass it explicitly only when you need to target a specific round.
|
|
215
|
+
|
|
208
216
|
5. **Review answers and confirm with the owner (@mention flow):**
|
|
209
217
|
|
|
210
|
-
After answers are submitted, **@mention the answerer** (typically the agent's owner) with a summary of your understanding. This prevents misinterpretation before you
|
|
218
|
+
After answers are submitted, **@mention the answerer** (typically the agent's owner) with a summary of your understanding. This prevents misinterpretation before you resolve.
|
|
211
219
|
|
|
212
220
|
a. **Get owner info** from checkin response (`agent.owner`) or search:
|
|
213
221
|
```
|
|
@@ -225,39 +233,32 @@ chorus_pm_skip_elaboration({
|
|
|
225
233
|
|
|
226
234
|
c. **Wait for confirmation** via comments.
|
|
227
235
|
|
|
228
|
-
d. **Based on the response:**
|
|
229
|
-
- **Confirmed** —
|
|
230
|
-
- **
|
|
231
|
-
- **
|
|
236
|
+
d. **Based on the response — this is the loop decision point:**
|
|
237
|
+
- **Confirmed, nothing left to discuss** — Treat this as the human confirmation required to resolve; proceed to Step 6 and call `chorus_pm_validate_elaboration`.
|
|
238
|
+
- **Human raises a new concern / correction / question** — Do **NOT** resolve. Loop back: open a **new round** with `chorus_pm_start_elaboration` capturing the new questions, collect answers (Steps 2–5 again), and re-confirm. Repeat until the human has no remaining concerns.
|
|
239
|
+
- **The answers themselves derived new questions or a contradiction** — Same as above: loop back to `chorus_pm_start_elaboration` for another round before resolving.
|
|
240
|
+
- **Unclear** — Ask clarifying questions via another comment, then continue the loop.
|
|
232
241
|
|
|
233
|
-
6. **
|
|
242
|
+
6. **Resolve the elaboration (the single commit gate — only when the loop is done):**
|
|
234
243
|
|
|
235
|
-
|
|
244
|
+
Resolving marks the **whole elaboration phase** complete — it sets `idea.elaborationStatus = "resolved"` (Idea → `elaborated`), which is the gating signal that lets a downstream Proposal be submitted. It is an **Idea-level** action (takes only `ideaUuid`, does not target a round). Resolve **once**, only after the Step 5d loop has fully settled — every derived question answered and the human has no remaining concerns. If anything is still open, go back to `chorus_pm_start_elaboration` instead of resolving.
|
|
236
245
|
|
|
237
|
-
|
|
238
|
-
chorus_pm_validate_elaboration({
|
|
239
|
-
ideaUuid: "<idea-uuid>",
|
|
240
|
-
roundUuid: "<round-uuid>",
|
|
241
|
-
issues: [],
|
|
242
|
-
followUpQuestions: []
|
|
243
|
-
})
|
|
244
|
-
```
|
|
246
|
+
> **Precondition:** resolve requires the Idea to have at least one round and **every** round to be fully answered (none left in `pending_answers`). If a round still has open questions, answer it (or it'll be rejected).
|
|
245
247
|
|
|
246
|
-
|
|
248
|
+
> **⚠️ Human confirmation required.** Outside YOLO automation you MUST obtain explicit human confirmation before resolving. The "Confirmed" reply in step 5d above counts as that confirmation. Never resolve on your own judgment alone.
|
|
249
|
+
|
|
250
|
+
> **Permission (N1): `chorus_pm_validate_elaboration` requires `idea:admin`.** The `pm_agent` preset only grants `idea:write`, so a PM-preset agent **cannot** resolve — it must hand off to an `admin_agent`-preset agent (or an admin-preset API key) to perform the resolve. If your key lacks `idea:admin`, surface this to the human and request the handoff instead of failing silently.
|
|
251
|
+
|
|
252
|
+
> **Assignee precondition (N2):** the resolving actor must be the Idea's **assignee**. A separate human reviewer resolving a PM-owned Idea therefore needs **both** `idea:admin` **and** to be assigned the Idea (claim/reassign it first). Admin permission alone is not enough.
|
|
247
253
|
|
|
248
254
|
```
|
|
249
255
|
chorus_pm_validate_elaboration({
|
|
250
|
-
ideaUuid: "<idea-uuid>"
|
|
251
|
-
roundUuid: "<round-uuid>",
|
|
252
|
-
issues: [
|
|
253
|
-
{ questionId: "q1", type: "ambiguity", description: "Role-based access selected but no roles defined" }
|
|
254
|
-
],
|
|
255
|
-
followUpQuestions: [
|
|
256
|
-
{ id: "fq1", text: "Which specific roles should have access?", category: "functional", options: [...] }
|
|
257
|
-
]
|
|
256
|
+
ideaUuid: "<idea-uuid>"
|
|
258
257
|
})
|
|
259
258
|
```
|
|
260
259
|
|
|
260
|
+
**Want a follow-up round instead of resolving?** Just call `chorus_pm_start_elaboration` again — there is no separate "open a round" flag. It works while still `elaborating` (a normal follow-up round) and, after you've already resolved, as an **appended round** (`isAppended: true`) that keeps the Idea `elaborated` and never blocks an in-flight Proposal. Per-question issue tagging no longer exists.
|
|
261
|
+
|
|
261
262
|
7. **Check elaboration status** at any time:
|
|
262
263
|
```
|
|
263
264
|
chorus_get_elaboration({ ideaUuid: "<idea-uuid>" })
|
|
@@ -267,8 +268,6 @@ chorus_pm_skip_elaboration({
|
|
|
267
268
|
|
|
268
269
|
**Question categories:** `functional`, `non_functional`, `business_context`, `technical_context`, `user_scenario`, `scope`
|
|
269
270
|
|
|
270
|
-
**Validation issue types:** `contradiction`, `ambiguity`, `incomplete`
|
|
271
|
-
|
|
272
271
|
---
|
|
273
272
|
|
|
274
273
|
## Tips
|
|
@@ -277,7 +276,7 @@ chorus_pm_skip_elaboration({
|
|
|
277
276
|
- Elaboration improves Proposal quality — prefer not to skip it unless the requirements are trivially clear
|
|
278
277
|
- Use your IDE's interactive prompt mechanism if available for user-facing questions; otherwise present options as text
|
|
279
278
|
- Record decisions made in conversation as elaboration rounds for auditability
|
|
280
|
-
- Consider @mentioning the owner to confirm understanding before
|
|
279
|
+
- Consider @mentioning the owner to confirm understanding before resolving
|
|
281
280
|
|
|
282
281
|
---
|
|
283
282
|
|
|
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — drive a single prompt from Idea throu
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.9.
|
|
7
|
+
version: "0.9.4"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -158,6 +158,8 @@ chorus_claim_idea({ ideaUuid: "<idea-uuid>" })
|
|
|
158
158
|
|
|
159
159
|
In yolo mode you generate the elaboration questions AND answer them yourself — there are NO interactive user prompts. This preserves a decision audit trail without interrupting anyone.
|
|
160
160
|
|
|
161
|
+
> **Self-elaboration is still a loop.** If answering your own questions surfaces a **new question, contradiction, or gap**, loop back to `chorus_pm_start_elaboration` for another self-answered round before resolving — don't force a resolve over unresolved ambiguity. There is no human gate in yolo mode, so the loop exits on **your** judgment that nothing material is left open (round cap 10). Steps 1–2 are one round; repeat them as needed, then resolve once in Step 3.
|
|
162
|
+
|
|
161
163
|
1. **Generate and submit questions:**
|
|
162
164
|
|
|
163
165
|
```
|
|
@@ -192,16 +194,16 @@ In yolo mode you generate the elaboration questions AND answer them yourself —
|
|
|
192
194
|
})
|
|
193
195
|
```
|
|
194
196
|
|
|
195
|
-
3. **
|
|
197
|
+
3. **Resolve** — in YOLO mode the agent resolves elaboration **autonomously, with no human-confirmation gate** (the human-confirmation requirement that applies to the interactive idea flow is explicitly waived under `/yolo` automation):
|
|
196
198
|
|
|
197
199
|
```
|
|
198
200
|
chorus_pm_validate_elaboration({
|
|
199
|
-
ideaUuid: "<idea-uuid>"
|
|
200
|
-
roundUuid: "<round-uuid>",
|
|
201
|
-
issues: []
|
|
201
|
+
ideaUuid: "<idea-uuid>"
|
|
202
202
|
})
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
+
> `chorus_pm_validate_elaboration` requires `idea:admin`. `/yolo` already mandates an Admin-preset key in Prerequisites, so this is satisfied. To open another self-elaboration round instead of resolving, just call `chorus_pm_start_elaboration` again.
|
|
206
|
+
|
|
205
207
|
#### Step 1.4: Create the Proposal
|
|
206
208
|
|
|
207
209
|
1. **Create the empty proposal container:**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chorus-aidlc/chorus",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "The Agent Harness for AI-Human Collaboration — session lifecycle, task state, sub-agent orchestration, observability, and failure recovery",
|
|
5
5
|
"homepage": "https://github.com/Chorus-AIDLC/Chorus",
|
|
6
6
|
"repository": {
|
package/prisma/schema.prisma
CHANGED
|
@@ -468,7 +468,8 @@ model ElaborationRound {
|
|
|
468
468
|
companyUuid String
|
|
469
469
|
ideaUuid String
|
|
470
470
|
roundNumber Int
|
|
471
|
-
status String @default("pending_answers") // pending_answers | answered | validated
|
|
471
|
+
status String @default("pending_answers") // pending_answers | answered | validated (needs_followup retained for legacy rows only — no longer written)
|
|
472
|
+
isAppended Boolean @default(false) // true when created after the Idea was first resolved
|
|
472
473
|
createdByType String // agent | user
|
|
473
474
|
createdByUuid String
|
|
474
475
|
validatedAt DateTime?
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1854,exports.ids=[1854],exports.modules={14672:(a,b,c)=>{c.r(b),c.d(b,{Avatar:()=>p,AvatarFallback:()=>t,AvatarImage:()=>r,Fallback:()=>x,Image:()=>w,Root:()=>v,createAvatarScope:()=>m});var d=c(21968),e=c(42990),f=c(87979),g=c(35439),h=c(16551),i=c(23771),j=c(10837),k="Avatar",[l,m]=(0,e.A)(k),[n,o]=l(k),p=d.forwardRef((a,b)=>{let{__scopeAvatar:c,...e}=a,[f,g]=d.useState("idle");return(0,j.jsx)(n,{scope:c,imageLoadingStatus:f,onImageLoadingStatusChange:g,children:(0,j.jsx)(h.sG.span,{...e,ref:b})})});p.displayName=k;var q="AvatarImage",r=d.forwardRef((a,b)=>{let{__scopeAvatar:c,src:e,onLoadingStatusChange:k=()=>{},...l}=a,m=o(q,c),n=function(a,{referrerPolicy:b,crossOrigin:c}){let e=(0,i.z)(),f=d.useRef(null),h=e?(f.current||(f.current=new window.Image),f.current):null,[j,k]=d.useState(()=>u(h,a));return(0,g.N)(()=>{k(u(h,a))},[h,a]),(0,g.N)(()=>{let a=a=>()=>{k(a)};if(!h)return;let d=a("loaded"),e=a("error");return h.addEventListener("load",d),h.addEventListener("error",e),b&&(h.referrerPolicy=b),"string"==typeof c&&(h.crossOrigin=c),()=>{h.removeEventListener("load",d),h.removeEventListener("error",e)}},[h,c,b]),j}(e,l),p=(0,f.c)(a=>{k(a),m.onImageLoadingStatusChange(a)});return(0,g.N)(()=>{"idle"!==n&&p(n)},[n,p]),"loaded"===n?(0,j.jsx)(h.sG.img,{...l,ref:b,src:e}):null});r.displayName=q;var s="AvatarFallback",t=d.forwardRef((a,b)=>{let{__scopeAvatar:c,delayMs:e,...f}=a,g=o(s,c),[i,k]=d.useState(void 0===e);return d.useEffect(()=>{if(void 0!==e){let a=window.setTimeout(()=>k(!0),e);return()=>window.clearTimeout(a)}},[e]),i&&"loaded"!==g.imageLoadingStatus?(0,j.jsx)(h.sG.span,{...f,ref:b}):null});function u(a,b){return a?b?(a.src!==b&&(a.src=b),a.complete&&a.naturalWidth>0?"loaded":"loading"):"error":"idle"}t.displayName=s;var v=p,w=r,x=t},15703:(a,b,c)=>{a.exports=c(51928)},16235:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},23771:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(15703);function e(){return(0,d.useSyncExternalStore)(f,()=>!0,()=>!1)}function f(){return()=>{}}},28121:(a,b,c)=>{c.r(b),c.d(b,{Indicator:()=>N,Item:()=>M,RadioGroup:()=>H,RadioGroupIndicator:()=>K,RadioGroupItem:()=>J,Root:()=>L,createRadioGroupScope:()=>C});var d=c(21968),e=c(22546),f=c(96090),g=c(42990),h=c(16551),i=c(13700),j=c(15035),k=c(16305),l=c(7579),m=c(29851),n=c(5030),o=c(10837),p="Radio",[q,r]=(0,g.A)(p),[s,t]=q(p),u=d.forwardRef((a,b)=>{let{__scopeRadio:c,name:g,checked:i=!1,required:j,disabled:k,value:l="on",onCheck:m,form:n,...p}=a,[q,r]=d.useState(null),t=(0,f.s)(b,a=>r(a)),u=d.useRef(!1),v=!q||n||!!q.closest("form");return(0,o.jsxs)(s,{scope:c,checked:i,disabled:k,children:[(0,o.jsx)(h.sG.button,{type:"button",role:"radio","aria-checked":i,"data-state":y(i),"data-disabled":k?"":void 0,disabled:k,value:l,...p,ref:t,onClick:(0,e.mK)(a.onClick,a=>{i||m?.(),v&&(u.current=a.isPropagationStopped(),u.current||a.stopPropagation())})}),v&&(0,o.jsx)(x,{control:q,bubbles:!u.current,name:g,value:l,checked:i,required:j,disabled:k,form:n,style:{transform:"translateX(-100%)"}})]})});u.displayName=p;var v="RadioIndicator",w=d.forwardRef((a,b)=>{let{__scopeRadio:c,forceMount:d,...e}=a,f=t(v,c);return(0,o.jsx)(n.C,{present:d||f.checked,children:(0,o.jsx)(h.sG.span,{"data-state":y(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b})})});w.displayName=v;var x=d.forwardRef(({__scopeRadio:a,control:b,checked:c,bubbles:e=!0,...g},i)=>{let j=d.useRef(null),k=(0,f.s)(j,i),n=(0,m.Z)(c),p=(0,l.X)(b);return d.useEffect(()=>{let a=j.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==c&&b){let d=new Event("click",{bubbles:e});b.call(a,c),a.dispatchEvent(d)}},[n,c,e]),(0,o.jsx)(h.sG.input,{type:"radio","aria-hidden":!0,defaultChecked:c,...g,tabIndex:-1,ref:k,style:{...g.style,...p,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function y(a){return a?"checked":"unchecked"}x.displayName="RadioBubbleInput";var z=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],A="RadioGroup",[B,C]=(0,g.A)(A,[i.RG,r]),D=(0,i.RG)(),E=r(),[F,G]=B(A),H=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,name:d,defaultValue:e,value:f,required:g=!1,disabled:l=!1,orientation:m,dir:n,loop:p=!0,onValueChange:q,...r}=a,s=D(c),t=(0,k.jH)(n),[u,v]=(0,j.i)({prop:f,defaultProp:e??null,onChange:q,caller:A});return(0,o.jsx)(F,{scope:c,name:d,required:g,disabled:l,value:u,onValueChange:v,children:(0,o.jsx)(i.bL,{asChild:!0,...s,orientation:m,dir:t,loop:p,children:(0,o.jsx)(h.sG.div,{role:"radiogroup","aria-required":g,"aria-orientation":m,"data-disabled":l?"":void 0,dir:t,...r,ref:b})})})});H.displayName=A;var I="RadioGroupItem",J=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,disabled:g,...h}=a,j=G(I,c),k=j.disabled||g,l=D(c),m=E(c),n=d.useRef(null),p=(0,f.s)(b,n),q=j.value===h.value,r=d.useRef(!1);return d.useEffect(()=>{let a=a=>{z.includes(a.key)&&(r.current=!0)},b=()=>r.current=!1;return document.addEventListener("keydown",a),document.addEventListener("keyup",b),()=>{document.removeEventListener("keydown",a),document.removeEventListener("keyup",b)}},[]),(0,o.jsx)(i.q7,{asChild:!0,...l,focusable:!k,active:q,children:(0,o.jsx)(u,{disabled:k,required:j.required,checked:q,...m,...h,name:j.name,ref:p,onCheck:()=>j.onValueChange(h.value),onKeyDown:(0,e.mK)(a=>{"Enter"===a.key&&a.preventDefault()}),onFocus:(0,e.mK)(h.onFocus,()=>{r.current&&n.current?.click()})})})});J.displayName=I;var K=d.forwardRef((a,b)=>{let{__scopeRadioGroup:c,...d}=a,e=E(c);return(0,o.jsx)(w,{...e,...d,ref:b})});K.displayName="RadioGroupIndicator";var L=H,M=J,N=K},51928:(a,b,c)=>{var d=c(21968),e="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},f=d.useState,g=d.useEffect,h=d.useLayoutEffect,i=d.useDebugValue;function j(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!e(a,c)}catch(a){return!0}}var k="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(a,b){return b()}:function(a,b){var c=b(),d=f({inst:{value:c,getSnapshot:b}}),e=d[0].inst,k=d[1];return h(function(){e.value=c,e.getSnapshot=b,j(e)&&k({inst:e})},[a,c,b]),g(function(){return j(e)&&k({inst:e}),a(function(){j(e)&&k({inst:e})})},[a]),i(c),c};b.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:k},81093:(a,b,c)=>{c.r(b),c.d(b,{Action:()=>K,AlertDialog:()=>o,AlertDialogAction:()=>B,AlertDialogCancel:()=>D,AlertDialogContent:()=>w,AlertDialogDescription:()=>A,AlertDialogOverlay:()=>r,AlertDialogPortal:()=>q,AlertDialogTitle:()=>y,AlertDialogTrigger:()=>p,Cancel:()=>L,Content:()=>J,Description:()=>N,Overlay:()=>I,Portal:()=>H,Root:()=>F,Title:()=>M,Trigger:()=>G,createAlertDialogScope:()=>m});var d=c(21968),e=c(42990),f=c(96090),g=c(14220),h=c(22546),i=c(11156),j=c(10837),k="AlertDialog",[l,m]=(0,e.A)(k,[g.createDialogScope]),n=(0,g.createDialogScope)(),o=a=>{let{__scopeAlertDialog:b,...c}=a,d=n(b);return(0,j.jsx)(g.Root,{...d,...c,modal:!0})};o.displayName=k;var p=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Trigger,{...e,...d,ref:b})});p.displayName="AlertDialogTrigger";var q=a=>{let{__scopeAlertDialog:b,...c}=a,d=n(b);return(0,j.jsx)(g.Portal,{...d,...c})};q.displayName="AlertDialogPortal";var r=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Overlay,{...e,...d,ref:b})});r.displayName="AlertDialogOverlay";var s="AlertDialogContent",[t,u]=l(s),v=(0,i.Dc)("AlertDialogContent"),w=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,children:e,...i}=a,k=n(c),l=d.useRef(null),m=(0,f.s)(b,l),o=d.useRef(null);return(0,j.jsx)(g.WarningProvider,{contentName:s,titleName:x,docsSlug:"alert-dialog",children:(0,j.jsx)(t,{scope:c,cancelRef:o,children:(0,j.jsxs)(g.Content,{role:"alertdialog",...k,...i,ref:m,onOpenAutoFocus:(0,h.mK)(i.onOpenAutoFocus,a=>{a.preventDefault(),o.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:[(0,j.jsx)(v,{children:e}),(0,j.jsx)(E,{contentRef:l})]})})})});w.displayName=s;var x="AlertDialogTitle",y=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Title,{...e,...d,ref:b})});y.displayName=x;var z="AlertDialogDescription",A=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Description,{...e,...d,ref:b})});A.displayName=z;var B=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=n(c);return(0,j.jsx)(g.Close,{...e,...d,ref:b})});B.displayName="AlertDialogAction";var C="AlertDialogCancel",D=d.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,{cancelRef:e}=u(C,c),h=n(c),i=(0,f.s)(b,e);return(0,j.jsx)(g.Close,{...h,...d,ref:i})});D.displayName=C;var E=({contentRef:a})=>{let b=`\`${s}\` requires a description for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
You can add a description to the \`${s}\` by passing a \`${z}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
4
|
-
|
|
5
|
-
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${s}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
6
|
-
|
|
7
|
-
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return d.useEffect(()=>{document.getElementById(a.current?.getAttribute("aria-describedby"))||console.warn(b)},[b,a]),null},F=o,G=p,H=q,I=r,J=w,K=B,L=D,M=y,N=A}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=6878,exports.ids=[6878],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},6008:(a,b,c)=>{c.d(b,{eZ:()=>d,kl:()=>e,lp:()=>f});let d=["idea","proposal","document","task","project"],e=["read","write","admin"],f=d.flatMap(a=>e.map(b=>`${a}:${b}`))},20170:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),...b})}},25711:(a,b,c)=>{c.r(b),c.d(b,{Checkbox:()=>v,CheckboxIndicator:()=>x,Indicator:()=>x,Root:()=>v,createCheckboxScope:()=>p,unstable_BubbleInput:()=>z,unstable_CheckboxBubbleInput:()=>z,unstable_CheckboxProvider:()=>s,unstable_CheckboxTrigger:()=>u,unstable_Provider:()=>s,unstable_Trigger:()=>u});var d=c(21968),e=c(96090),f=c(42990),g=c(22546),h=c(15035),i=c(29851),j=c(7579),k=c(5030),l=c(16551),m=c(10837),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},26078:(a,b,c)=>{c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},30356:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$y:()=>r,Fv:()=>p,IF:()=>o,KT:()=>s,Zh:()=>n,fG:()=>t,p3:()=>q});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(28774),i=c(30457),j=c(97307),k=c(26078),l=c(12217),m=a([g,h,i]);async function n(){let a=await (0,g.d)();a||(0,f.redirect)("/login");try{let{apiKeys:b}=await (0,h.d5)(a.companyUuid,0,100,a.actorUuid),c=b.map(a=>{let b=a.agent?.roles||[],c=a.agent?.permissions||[];return{uuid:a.uuid,keyPrefix:a.keyPrefix,name:a.agent?.name||a.name,lastUsed:null,expiresAt:a.expiresAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),roles:b,permissions:c,effectivePermissions:Array.from((0,k.RU)(b,c)),agentUuid:a.agent?.uuid||"",persona:a.agent?.persona||null}});return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch API keys"),{success:!1,error:"Failed to fetch API keys"}}}async function o(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c=await (0,h.Sn)({companyUuid:b.companyUuid,name:a.name,roles:a.roles,ownerUuid:b.actorUuid,persona:a.persona,permissions:a.permissions}),d=await (0,h.Iq)({companyUuid:b.companyUuid,agentUuid:c.uuid,name:a.name});return{success:!0,key:d.key,agentUuid:c.uuid}}catch(a){return j.A.error({err:a},"Failed to create agent and API key"),{success:!1,error:"Failed to create API key"}}}async function p(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.CG)(b.companyUuid,a,b.actorUuid);if(!c)return{success:!1,error:"API key not found"};return await (0,h.RB)(c.agentUuid),{success:!0}}catch(a){return j.A.error({err:a},"Failed to delete API key"),{success:!1,error:"Failed to delete API key"}}}async function q(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,i.u0)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch agent sessions"),{success:!1,error:"Failed to fetch agent sessions"}}}async function r(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.Vu)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to close session"),{success:!1,error:"Failed to close session"}}}async function s(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.aQ)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to reopen session"),{success:!1,error:"Failed to reopen session"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c={};return void 0!==a.name&&(c.name=a.name),void 0!==a.roles&&(c.roles=a.roles),void 0!==a.persona&&(c.persona=a.persona),void 0!==a.permissions&&(c.permissions=a.permissions),await (0,h.x4)(a.agentUuid,c,b.companyUuid),void 0!==a.name&&await (0,h.tN)(a.agentUuid,a.name),{success:!0}}catch(a){return j.A.error({err:a},"Failed to update agent"),{success:!1,error:"Failed to update agent"}}}[g,h,i]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t]),(0,e.A)(n,"001b0d4acd36d6cad24821a53d54293568ba817450",null),(0,e.A)(o,"409416a9a40d3f468437edaa5351370e8ab6f95386",null),(0,e.A)(p,"40cc75366400242962e3cf2ccceb993ad60bf7bad5",null),(0,e.A)(q,"40a17978afe1353322df6202e1581f4195449aac5a",null),(0,e.A)(r,"402c633b32604239e58b034dc511965e0a002d61a9",null),(0,e.A)(s,"404a268661730bbfc3bcb9a3ab6473f63ec919ce50",null),(0,e.A)(t,"40873e52e423389db1f70791f6d7eec3314f341a6e",null),d()}catch(a){d(a)}})},35198:(a,b,c)=>{c.d(b,{BT:()=>i,Wu:()=>k,X9:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>l});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-action",className:(0,e.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function l({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},54005:(a,b,c)=>{c.d(b,{o:()=>d});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]}},67328:(a,b,c)=>{c.d(b,{Y:()=>l});var d=c(10837),e=c(21968),f=c(9222),g=c(42424),h=c(9810),i=c(10694),j=c(54722),k=c(91484);function l({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:l=!1,submitLabel:m,submittingLabel:n}){let o=(0,f.c)(),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)("admin_agent"),[t,u]=(0,e.useState)(["admin_agent"]),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),F=async c=>{if((c.preventDefault(),p)&&("custom"!==r||0!==v.length)){A(!0);try{let c=await b({name:p,roles:t,permissions:"custom"===r?v:[],persona:x||null});c.success&&c.key?(l||C(c.key),a({uuid:c.agentUuid||"",name:p,roles:t,permissions:"custom"===r?v:[]},c.key)):j.q.error("Failed to create API key:",c.error)}catch(a){j.q.error("Failed to create API key:",a)}finally{A(!1)}}},G=async a=>{try{await navigator.clipboard.writeText(a),E(!0),setTimeout(()=>E(!1),2e3)}catch(a){j.q.error("Failed to copy to clipboard:",a)}},H=()=>{q(""),s("admin_agent"),u(["admin_agent"]),w([]),y(""),C(null),c?.()};return B&&!l?(0,d.jsxs)("div",{className:"p-6",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,d.jsx)(h.A,{className:"h-5 w-5"}),(0,d.jsx)("span",{className:"font-medium",children:o("settings.apiKeyCreated")})]}),(0,d.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:o("settings.apiKeyCreatedDesc")}),(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,d.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:B}),(0,d.jsx)(g.$,{variant:"outline",size:"sm",onClick:()=>G(B),children:o(D?"common.copied":"common.copy")})]}),(0,d.jsx)(g.$,{onClick:H,className:"w-full",children:o("common.done")})]}):(0,d.jsxs)("form",{onSubmit:F,children:[!l&&(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:o("settings.createApiKey")}),c&&(0,d.jsx)(g.$,{type:"button",variant:"ghost",size:"icon",onClick:H,className:"h-8 w-8",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,d.jsx)("div",{className:l?void 0:"p-6",children:(0,d.jsx)(k.L,{name:p,onNameChange:q,preset:r,permissions:v,onPermissionsChange:function(a){s(a.preset),u(a.roles),w(a.permissions)},persona:x,onPersonaChange:y,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,d.jsxs)("div",{className:l?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!l&&c&&(0,d.jsx)(g.$,{type:"button",variant:"outline",onClick:H,children:o("common.cancel")}),(0,d.jsx)(g.$,{type:"submit",disabled:!p||"custom"===r&&0===v.length||z,className:l?"w-full":void 0,size:l?"lg":"default",children:z?n??o("settings.creating"):m??o("settings.createApiKey")})]})]})}},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},79707:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("409416a9a40d3f468437edaa5351370e8ab6f95386",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},91484:(a,b,c)=>{c.d(b,{L:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(9994),h=c(2852),i=c(20170),j=c(9810),k=c(25711),l=c(96307);function m({className:a,...b}){return(0,d.jsx)(k.Root,{"data-slot":"checkbox",className:(0,l.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(k.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(j.A,{className:"size-3.5"})})})}var n=c(55732),o=c(54005),p=c(6008);let q={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},r={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},s=["admin_agent","pm_agent","developer_agent","custom"];function t({preset:a,permissions:b,onChange:c,readOnly:e=!1}){let g=(0,f.c)(),i=a??"custom",j=new Set("custom"===i?b:o.o[i]);return(0,d.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(h.J,{className:"text-[13px] font-medium",children:g("agent.permissions.title")}),(0,d.jsx)("p",{className:"text-muted-foreground text-xs",children:g("agent.permissions.description")})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:"agent-permission-preset",children:g("agent.permissions.presetLabel")}),(0,d.jsxs)(n.l6,{value:i,onValueChange:function(a){if("custom"===a)return void c({preset:"custom",roles:[],permissions:Array.from(j)});a in o.o&&c({preset:a,roles:[a],permissions:[]})},disabled:e,children:[(0,d.jsx)(n.bq,{id:"agent-permission-preset",className:"w-full","aria-label":g("agent.permissions.presetLabel"),children:(0,d.jsx)(n.yv,{placeholder:g(q[i]),children:g(q[i])})}),(0,d.jsx)(n.gC,{children:s.map(a=>(0,d.jsx)(n.eb,{value:a,textValue:g(q[a]),children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold",children:g(q[a])}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:g(r[a])})]})},a))})]})]}),(0,d.jsxs)("div",{role:"grid","aria-label":g("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,d.jsxs)("div",{role:"row",className:"bg-muted/50 text-muted-foreground grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-xs font-medium",children:[(0,d.jsx)("div",{role:"columnheader",children:g("agent.permissions.resourceHeader")}),p.kl.map(a=>(0,d.jsx)("div",{role:"columnheader",className:"text-center",children:g(`agent.permissions.actions.${a}`)},a))]}),p.eZ.map(a=>(0,d.jsxs)("div",{role:"row",className:"border-t grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-sm",children:[(0,d.jsx)("div",{role:"rowheader",className:"font-medium",children:g(`agent.permissions.resources.${a}`)}),p.kl.map(b=>{let f=`${a}:${b}`,h=`perm-${a}-${b}`;return(0,d.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,d.jsx)(m,{id:h,checked:j.has(f),disabled:e,"aria-label":`${g(`agent.permissions.resources.${a}`)} ${g(`agent.permissions.actions.${b}`)}`,onCheckedChange:a=>{if(!e){let b=new Set(j);!0===a?b.add(f):b.delete(f),c({preset:"custom",roles:[],permissions:Array.from(b)})}}})},b)})]},a))]})]})]})}function u({name:a,onNameChange:b,preset:c,permissions:j,onPermissionsChange:k,persona:l,onPersonaChange:m,nameInputId:n="agent-form-name",personaInputId:p="agent-form-persona",readOnly:q=!1}){let r=(0,f.c)(),s=(0,e.useMemo)(()=>"custom"===c?j:[...o.o[c]],[c,j]);return(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:n,className:"text-[13px]",children:r("settings.name")}),(0,d.jsx)(g.p,{id:n,value:a,onChange:a=>b(a.target.value),placeholder:r("settings.namePlaceholder"),className:"border-[#E5E0D8]",required:!0,disabled:q})]}),(0,d.jsx)(t,{preset:c,permissions:s,onChange:k,readOnly:q}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:p,className:"text-[13px]",children:r("settings.agentPersona")}),(0,d.jsx)(i.T,{id:p,value:l,onChange:a=>m(a.target.value),placeholder:r("settings.personaPlaceholder"),rows:4,disabled:q}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:r("settings.personaHint")})]})]})}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19898],{6985:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},17156:(e,s,t)=>{t.d(s,{v:()=>ep});var a=t(90508),i=t(1856),r=t(23675),c=t(39268),n=t(76111),l=t(9160),d=t(5616),o=t(70633),x=t(57893),m=t(5425),u=t(56770),h=t(85226),p=t(62898),g=t(42533),v=t(1861),f=t(66206);let j=(0,f.A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var b=t(17475),A=t(60532),N=t(94903),C=t(62482),y=t(6985);let w=(0,f.A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var k=t(97413),F=t(57731),E=t(48416),S=t(22922),D=t(14554),B=t(15972),R=t(88064),_=t(64993),T=t(91846),U=t(51817),L=t(73693),M=t(52217);let P=(0,M.createServerReference)("60d385edc971b774b29db4a76b6288664e3ff6e3eb",M.callServer,void 0,M.findSourceMapURL,"updateTaskStatusAction"),q=(0,M.createServerReference)("4087985b5a435fc84336fa71bd622ee65068d1a70b",M.callServer,void 0,M.findSourceMapURL,"createTaskAction"),z=(0,M.createServerReference)("407cf64363bc094181b20e71be29f4eaf985ab9701",M.callServer,void 0,M.findSourceMapURL,"updateTaskFieldsAction"),$=(0,M.createServerReference)("60c69091d26aa5c80138990b48d8f4bbd263a11976",M.callServer,void 0,M.findSourceMapURL,"deleteTaskAction"),V=(0,M.createServerReference)("602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb",M.callServer,void 0,M.findSourceMapURL,"markCriteriaAction"),W=(0,M.createServerReference)("60b53a2c77387cac4116e4d73ae3df5ae307ea6923",M.callServer,void 0,M.findSourceMapURL,"resetCriterionAction");var J=t(5810);let O=(0,M.createServerReference)("40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557",M.callServer,void 0,M.findSourceMapURL,"getTaskActivitiesAction"),I=(0,M.createServerReference)("400067c3cf7ed30a442781337da48bbf9fb8a963a1",M.callServer,void 0,M.findSourceMapURL,"getTaskSourceAction");var G=t(97261),H=t(41033);let X=(0,M.createServerReference)("00cc674162965f046ec2005a0aa1d5339a8b86d16b",M.callServer,void 0,M.findSourceMapURL,"getDeveloperAgentsAction"),Z=(0,M.createServerReference)("402bfb6dbc2330339f67e613036af0ecfa02e7e8db",M.callServer,void 0,M.findSourceMapURL,"claimTaskAction"),K=(0,M.createServerReference)("60acc6478ae16ce4142685f481af02f600d91733e6",M.callServer,void 0,M.findSourceMapURL,"claimTaskToAgentAction"),Q=(0,M.createServerReference)("602ec983630518488edb633843f13f8936904eba82",M.callServer,void 0,M.findSourceMapURL,"claimTaskToUserAction"),Y=(0,M.createServerReference)("40791ba93d4adb772e44c848aff6980f7da5f5c833",M.callServer,void 0,M.findSourceMapURL,"releaseTaskAction");function ee(e){var s;let{task:t,projectUuid:n,currentUserUuid:d,onClose:o}=e,x=(0,c.c)(),u=(0,r.useRouter)(),[p,g]=(0,i.useState)(!1),[v,f]=(0,i.useState)("self"),[j,b]=(0,i.useState)(""),[A,C]=(0,i.useState)(""),[y,w]=(0,i.useState)([]),[k,F]=(0,i.useState)([]),[E,D]=(0,i.useState)(!0),[B,_]=(0,i.useState)(null),U=!!t.assignee;(0,i.useEffect)(()=>{!async function(){D(!0);let e=await X();w(e.agents||[]),F((e.users||[]).filter(e=>e.uuid!==d)),D(!1)}()},[d]);let L=async()=>{let e;if(g(!0),_(null),"self"===v)e=await Z(t.uuid);else if("agent"===v&&j)e=await K(t.uuid,j);else if("user"===v&&A)e=await Q(t.uuid,A);else{if("release"!==v)return void g(!1);e=await Y(t.uuid)}g(!1),(null==e?void 0:e.success)?(o(),u.refresh()):(null==e?void 0:e.error)&&_(e.error)},M="self"===v||"agent"===v&&j||"user"===v&&A||"release"===v&&U;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:o}),(0,a.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:x("tasks.assignTask")}),(0,a.jsx)("button",{onClick:o,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,a.jsx)(l.A,{className:"h-5 w-5"})})]}),(0,a.jsxs)("div",{className:"p-6 space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:t.title}),t.description&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:t.description})]}),U&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[x("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(s=t.assignee)?void 0:s.name})]})}),B&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,a.jsx)("p",{className:"text-xs text-[#D32F2F]",children:B})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:x("assign.selectAssignee")}),E?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(h.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(H.z,{value:v,onValueChange:e=>f(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>f("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"self",id:"self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("assign.assignToMyselfDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>f("agent"),children:[(0,a.jsx)(H.C,{value:"agent",id:"agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.orAssignToAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("tasks.onlySelectedAgentCanWork")}),"agent"===v&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(T.l6,{value:j,onValueChange:b,children:[(0,a.jsx)(T.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(T.yv,{placeholder:x("tasks.selectAgent")})}),(0,a.jsx)(T.gC,{children:y.length>0?y.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(m.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:x("tasks.noAgentsAvailable")})})]})})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>f("user"),children:[(0,a.jsx)(H.C,{value:"user",id:"user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.orAssignToUser")})]}),"user"===v&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(T.l6,{value:A,onValueChange:C,children:[(0,a.jsx)(T.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(T.yv,{placeholder:x("tasks.selectUser")})}),(0,a.jsx)(T.gC,{children:k.length>0?k.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(N.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:x("tasks.noUsersAvailable")})})]})})]}),U&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===v?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>f("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(H.C,{value:"release",id:"release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(R.J,{htmlFor:"release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:x("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:x("assign.releaseAssigneeDesc")})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,a.jsx)(S.$,{variant:"outline",onClick:o,disabled:p,className:"border-[#E5E0D8]",children:x("common.cancel")}),(0,a.jsx)(S.$,{onClick:L,disabled:p||!M,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:p?(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):x("release"===v?"common.release":"common.assign")})]})]})]})}let es=(0,M.createServerReference)("40c9676a9993d0f850c6955f9c0589450c7244d18b",M.callServer,void 0,M.findSourceMapURL,"getTaskDependenciesAction"),et=(0,M.createServerReference)("40abc84636d041cef8f935b0751c9281f791c9e012",M.callServer,void 0,M.findSourceMapURL,"getProjectTasksForDependencyAction");var ea=t(32700);let ei=(0,M.createServerReference)("600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d",M.callServer,void 0,M.findSourceMapURL,"removeTaskDependencyAction"),er=(0,M.createServerReference)("40e97ce0b950d948479e35998482b7f2991815cd36",M.callServer,void 0,M.findSourceMapURL,"getTaskSessionsAction");var ec=t(38106),en=t(16544),el=t(65626),ed=t(90795);let eo={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},ex={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},em={low:"bg-[#F5F5F5] text-[#9A9A9A]",medium:"bg-[#FFF3E0] text-[#E65100]",high:"bg-[#FEE2E2] text-[#D32F2F]",critical:"bg-[#FFCDD2] text-[#B71C1C]"},eu={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function eh(e,s){let t=new Date(e),a=new Date().getTime()-t.getTime(),i=Math.floor(a/6e4),r=Math.floor(a/36e5),c=Math.floor(a/864e5);return i<1?s("time.justNow"):i<60?s("time.minutesAgo",{minutes:i}):r<24?s("time.hoursAgo",{hours:r}):c<7?s("time.daysAgo",{days:c}):(0,ec.r)(t)}function ep(e){var s;let{task:t,projectUuid:f,currentUserUuid:M,mode:H="overlay",onClose:X,onCreated:Z,onDependencyChange:K,onBack:Q}=e,Y=(0,c.c)(),ep=(0,r.useRouter)(),[eg,ev]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=setTimeout(()=>ev(!0),300);return()=>clearTimeout(e)},[]);let[ef,ej]=(0,i.useState)(!1),[eb,eA]=(0,i.useState)([]),[eN,eC]=(0,i.useState)(!0),[ey,ew]=(0,i.useState)(null),[ek,eF]=(0,i.useState)(!1),[eE,eS]=(0,i.useState)([]),[eD,eB]=(0,i.useState)([]),[eR,e_]=(0,i.useState)(!1),[eT,eU]=(0,i.useState)([]),[eL,eM]=(0,i.useState)(null),[eP,eq]=(0,i.useState)([]),[ez,e$]=(0,i.useState)([]),eV=null===t,[eW,eJ]=(0,i.useState)(eV),[eO,eI]=(0,i.useState)((null==t?void 0:t.title)||""),[eG,eH]=(0,i.useState)((null==t?void 0:t.description)||""),[eX,eZ]=(0,i.useState)((null==t?void 0:t.priority)||"medium"),[eK,eQ]=(0,i.useState)((null==t?void 0:t.storyPoints)!=null?String(t.storyPoints):""),[eY,e0]=(0,i.useState)((null==t?void 0:t.acceptanceCriteria)||""),[e2,e1]=(0,i.useState)(!1),[e5,e6]=(0,i.useState)(null),[e9,e3]=(0,i.useState)(!1),e7=(null==t||null==(s=t.assignee)?void 0:s.uuid)===M,e4=e7&&(null==t?void 0:t.status)==="assigned",e8=e7&&(null==t?void 0:t.status)==="in_progress",se=(null==t?void 0:t.status)==="to_verify";(0,i.useEffect)(()=>{async function e(){eC(!0),eA((await O(t.uuid)).activities),eC(!1)}async function s(){t.proposalUuid&&ew(await I(t.proposalUuid))}async function a(){e_(!0);let[e,s]=await Promise.all([es(t.uuid),et(f)]);eS(e.dependsOn),eB(e.dependedBy),eU(s.tasks),e_(!1)}async function i(){let e=await er(t.uuid);e.success&&e.data&&eq(e.data)}t&&(e(),s(),a(),i())},[null==t?void 0:t.uuid,null==t?void 0:t.proposalUuid,f]),(0,i.useEffect)(()=>{eV&&e();async function e(){eU((await et(f)).tasks)}},[eV,f]),(0,i.useEffect)(()=>{t&&(eJ(!1),eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||""),e6(null))},[null==t?void 0:t.uuid,null==t?void 0:t.title,null==t?void 0:t.description,null==t?void 0:t.priority,null==t?void 0:t.storyPoints,null==t?void 0:t.acceptanceCriteria]);let ss=async e=>{if(!t)return;ej(!0);let s=await P(t.uuid,e);ej(!1),s.success&&(X(),ep.refresh())},st=()=>{if(eV)return void X();eJ(!1),t&&(eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||"")),e6(null)},sa=async()=>{if(!eO.trim())return void e6(Y("tasks.titleRequired"));e1(!0),e6(null);let e=eK.trim()?parseFloat(eK):null;if(eV){let s=await q({projectUuid:f,title:eO.trim(),description:eG.trim()||void 0,priority:eX,storyPoints:e,acceptanceCriteria:eY.trim()||null});e1(!1),s.success?(ez.length>0&&s.taskUuid&&(await Promise.all(ez.map(e=>(0,ea.w)(s.taskUuid,e.uuid))),null==K||K()),null==Z||Z(),X(),ep.refresh()):e6(s.error||Y("tasks.createFailed"))}else{let s=await z({taskUuid:t.uuid,projectUuid:f,title:eO.trim(),description:eG.trim()||null,priority:eX,storyPoints:e,acceptanceCriteria:eY.trim()||null});e1(!1),s.success?(eJ(!1),ep.refresh()):e6(s.error||Y("tasks.updateFailed"))}},si=async()=>{if(!t)return;e3(!0);let e=await $(t.uuid,f);e3(!1),e.success&&(X(),ep.refresh())},sr=async e=>{if(!t)return;eM(null);let s=await (0,ea.w)(t.uuid,e);if(s.success){let s=eT.find(s=>s.uuid===e);s&&eS(e=>[...e,s]),null==K||K()}else eM(s.error||Y("tasks.failedToAddDep"))},sc=async e=>{if(!t)return;eM(null);let s=await ei(t.uuid,e);s.success?(eS(s=>s.filter(s=>s.uuid!==e)),null==K||K()):eM(s.error||Y("tasks.failedToRemoveDep"))},sn=async e=>{if(!t)return;eM(null);let s=await ei(e,t.uuid);s.success?(eB(s=>s.filter(s=>s.uuid!==e)),null==K||K()):eM(s.error||Y("tasks.failedToRemoveDep"))},sl=eT.filter(e=>e.uuid!==(null==t?void 0:t.uuid)&&!eE.some(s=>s.uuid===e.uuid)),sd=eT.filter(e=>!ez.some(s=>s.uuid===e.uuid)),so="sidebyside"===H;return(0,a.jsxs)(a.Fragment,{children:[!so&&(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:X}),(0,a.jsxs)("div",{className:"fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(so?"z-40 ".concat(eg?"":"animate-in slide-in-from-right duration-300"):"z-50 right-0 ".concat(eg?"":"animate-in slide-in-from-right duration-300")),style:{maxWidth:"".concat(ed.L8,"px"),...so?{right:"".concat(ed.L8,"px")}:{}},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[Q&&(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:Q,children:(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:eW?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:eV?Y("tasks.createTaskTitle"):Y("tasks.editTask")}):t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:t.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(F.E,{className:eo[t.status]||"",children:Y("status.".concat(ex[t.status]||t.status))}),(0,a.jsx)(F.E,{className:em[t.priority]||"",children:Y("priority.".concat(eu[t.priority]||t.priority))}),t.storyPoints&&(0,a.jsxs)("span",{className:"rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[t.storyPoints,"h"]})]})]}):null}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[t&&!eW&&(0,a.jsxs)(S.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:()=>{t&&(eI(t.title),eH(t.description||""),eZ(t.priority),eQ(null!=t.storyPoints?String(t.storyPoints):""),e0(t.acceptanceCriteria||""),e6(null),eJ(!0))},children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs",children:Y("common.edit")})]}),(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:eW&&!eV?st:X,children:(0,a.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,a.jsx)(_.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:eW?(0,a.jsxs)("div",{className:"space-y-5",children:[e5&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:e5}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.titleLabel")}),(0,a.jsx)(D.p,{id:"edit-title",value:eO,onChange:e=>eI(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.descriptionLabel")}),(0,a.jsx)(B.T,{id:"edit-description",value:eG,onChange:e=>eH(e.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.priorityLabel")}),(0,a.jsxs)(T.l6,{value:eX,onValueChange:eZ,children:[(0,a.jsx)(T.bq,{className:"border-[#E5E0D8] text-sm focus:ring-[#C67A52]",children:(0,a.jsx)(T.yv,{})}),(0,a.jsxs)(T.gC,{children:[(0,a.jsx)(T.eb,{value:"low",children:Y("priority.low")}),(0,a.jsx)(T.eb,{value:"medium",children:Y("priority.medium")}),(0,a.jsx)(T.eb,{value:"high",children:Y("priority.high")})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.storyPointsLabel")}),(0,a.jsx)(D.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:eK,onChange:e=>eQ(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{htmlFor:"edit-acceptance-criteria",className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.acceptanceCriteriaLabel")}),(0,a.jsx)(B.T,{id:"edit-acceptance-criteria",value:eY,onChange:e=>e0(e.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),eV&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:Y("tasks.dependencies")}),ez.length>0&&(0,a.jsx)("div",{className:"space-y-1.5",children:ez.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>e$(s=>s.filter(s=>s.uuid!==e.uuid)),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}),sd.length>0&&(0,a.jsxs)(T.l6,{onValueChange:e=>{let s=eT.find(s=>s.uuid===e);s&&e$(e=>[...e,s])},children:[(0,a.jsx)(T.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(T.yv,{placeholder:Y("tasks.addDependency")})]})}),(0,a.jsx)(T.gC,{children:sd.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},ez.length)]})]}):t?(0,a.jsxs)(en.P.div,{variants:el.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:t.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L.eu,{className:"h-7 w-7",children:(0,a.jsx)(L.q5,{className:"agent"===t.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===t.assignee.type?(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}):t.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:t.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===t.assignee.type?"".concat(Y("common.agent")," • ").concat(t.assignee.assignedAt?(0,ec.r)(t.assignee.assignedAt):""):Y("common.user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:Y("common.unassigned")})})]}),eP.length>0&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("sessions.activeWorkers")}),(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:eP.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,a.jsx)("div",{className:"h-2 w-2 rounded-full bg-green-500 flex-shrink-0"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-xs font-medium text-[#2C2C2C] truncate",children:e.sessionName}),(0,a.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[e.agentName," \xb7 ",eh(e.checkinAt,Y)]})]})]},e.sessionUuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.description")}),(0,a.jsx)("div",{className:"mt-2",children:t.description?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:t.description})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:Y("common.noDescription")})})]}),t.acceptanceCriteria&&!(t.acceptanceCriteriaItems&&t.acceptanceCriteriaItems.length>0)&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.acceptanceCriteria")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(G.MarkdownContent,{children:t.acceptanceCriteria})})})]}),ey&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.source")}),(0,a.jsx)("a",{href:"/projects/".concat(f,"/proposals/").concat(ey.uuid),className:"mt-2 flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3 hover:bg-[#F0EDE5] transition-colors",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:ey.title})]})})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.dependencies")}),eL&&(0,a.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:eL}),eR?(0,a.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(a.Fragment,{children:[eE.length>0&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(p.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.dependsOn")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:eE.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>sc(e.uuid),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),eD.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)(p.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("tasks.blockedByThis")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:eD.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:e.title}),(0,a.jsx)(F.E,{className:"shrink-0 text-[10px] ".concat(eo[e.status]||""),children:Y("status.".concat(ex[e.status]||e.status))})]}),(0,a.jsx)(S.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>sn(e.uuid),children:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))})]}),0===eE.length&&0===eD.length&&(0,a.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:Y("tasks.noDependencies")}),sl.length>0&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(T.l6,{onValueChange:e=>sr(e),children:[(0,a.jsx)(T.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(d.A,{className:"h-3 w-3"}),(0,a.jsx)(T.yv,{placeholder:Y("tasks.addDependency")})]})}),(0,a.jsx)(T.gC,{children:sl.map(e=>(0,a.jsx)(T.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},eE.length)})]})]}),t&&t.acceptanceCriteriaItems&&t.acceptanceCriteriaItems.length>0&&(()=>{let e=t.acceptanceCriteriaItems,s=t.acceptanceSummary,i=e=>"passed"===e?(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600"}):"failed"===e?(0,a.jsx)(v.A,{className:"h-4 w-4 text-red-600"}):(0,a.jsx)(j,{className:"h-4 w-4 text-yellow-600"}),r=e=>"passed"===e?"bg-green-50 text-green-700":"failed"===e?"bg-red-50 text-red-700":"bg-yellow-50 text-yellow-700",c=async(e,s)=>{(await V(t.uuid,[{uuid:e,status:s}])).success&&ep.refresh()};return(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("acceptanceCriteria.title")}),s&&(0,a.jsx)(F.E,{className:r(t.acceptanceStatus||"pending"),variant:"secondary",children:Y("acceptanceCriteria.progress",{passed:s.passed,total:s.total})})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[e.map(e=>(0,a.jsx)(E.Zp,{className:"p-3",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("div",{className:"mt-0.5 shrink-0",children:i(e.status)}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:e.description}),(0,a.jsx)(F.E,{variant:"outline",className:"text-[10px] shrink-0",children:e.required?Y("acceptanceCriteria.required"):Y("acceptanceCriteria.optional")})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:Y("acceptanceCriteria.devSelfCheck")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(r(e.devStatus)),variant:"secondary",children:[i(e.devStatus),(0,a.jsx)("span",{className:"ml-1",children:Y("acceptanceCriteria.status.".concat(e.devStatus))})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,a.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:Y("acceptanceCriteria.verification")}),(0,a.jsxs)(F.E,{className:"text-[10px] ".concat(r(e.status)),variant:"secondary",children:[i(e.status),(0,a.jsx)("span",{className:"ml-1",children:Y("acceptanceCriteria.status.".concat(e.status))})]})]})]}),e.devEvidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:Y("acceptanceCriteria.devEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.devEvidence})]}),e.evidence&&(0,a.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:Y("acceptanceCriteria.verifyEvidence")}),(0,a.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:e.evidence})]}),"pending"===e.status?(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-green-700 border-green-200 hover:bg-green-50",onClick:()=>c(e.uuid,"passed"),children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 mr-1"}),Y("acceptanceCriteria.pass")]}),(0,a.jsxs)(S.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-red-700 border-red-200 hover:bg-red-50",onClick:()=>c(e.uuid,"failed"),children:[(0,a.jsx)(v.A,{className:"h-3.5 w-3.5 mr-1"}),Y("acceptanceCriteria.fail")]})]}):(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(S.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-[#2C2C2C]",onClick:async()=>{(await W(t.uuid,e.uuid)).success&&ep.refresh()},children:Y("acceptanceCriteria.undoVerification")})})]})]})},e.uuid)),s&&(s.requiredPending>0||s.requiredFailed>0)&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 p-3 mt-2",children:[(0,a.jsx)(b.A,{className:"h-4 w-4 text-yellow-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-yellow-700",children:Y("acceptanceCriteria.gateBlocked",{count:s.requiredPending+s.requiredFailed})})]}),s&&0===s.requiredPending&&0===s.requiredFailed&&s.required>0&&(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 p-3 mt-2",children:[(0,a.jsx)(g.A,{className:"h-4 w-4 text-green-600 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-green-700",children:Y("acceptanceCriteria.gateReady")})]})]})]})})(),(0,a.jsxs)("div",{className:"mt-5 flex-1",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:eN?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(h.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===eb.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:Y("common.noActivity")}):eb.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,a.jsx)("div",{className:"h-2 w-2 rounded-full ".concat(function(e){switch(e){case"task_created":return"bg-[#C67A52]";case"task_assigned":case"task_claimed":return"bg-[#1976D2]";case"task_started":return"bg-[#5A9E6F]";case"task_submitted":return"bg-[#7B1FA2]";case"task_completed":case"task_verified":return"bg-[#00796B]";case"task_released":return"bg-[#E65100]";default:return"bg-[#6B6B6B]"}}(e.action))})}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"text-xs text-[#2C2C2C]",children:function(e,s){let t=e.sessionName?"".concat(e.actorName," / ").concat(e.sessionName):e.actorName,{action:a}=e;switch(a){case"task_created":return s("activity.taskCreated",{actor:t});case"task_assigned":return s("activity.taskAssigned",{actor:t});case"task_claimed":return s("activity.taskClaimed",{actor:t});case"task_started":return s("activity.taskStarted",{actor:t});case"task_submitted":return s("activity.taskSubmitted",{actor:t});case"task_completed":case"task_verified":return s("activity.taskCompleted",{actor:t});case"task_released":return s("activity.taskReleased",{actor:t});case"task_status_changed":return s("activity.taskStatusChanged",{actor:t});default:return"".concat(t,": ").concat(a)}}(e,Y)}),(0,a.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:eh(e.createdAt,Y)})]})]},e.uuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:Y("comments.title")}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(J.$,{targetType:"task",targetUuid:t.uuid,currentUserUuid:M,compact:!0})})]})]}):null})}),(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:eW?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:st,disabled:e2,children:Y("common.cancel")}),(0,a.jsx)(S.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:sa,disabled:e2||!eO.trim(),children:e2?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),Y("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.A,{className:"mr-2 h-4 w-4"}),eV?Y("common.create"):Y("tasks.saveChanges")]})})]}):t?(0,a.jsxs)(a.Fragment,{children:["done"!==t.status&&"closed"!==t.status&&(0,a.jsxs)(S.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>eF(!0),disabled:ef,children:[(0,a.jsx)(N.A,{className:"mr-2 h-4 w-4"}),Y("common.assign")]}),e4&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>ss("in_progress"),disabled:ef,children:[(0,a.jsx)(C.A,{className:"mr-2 h-4 w-4"}),Y("tasks.startWork")]}),e8&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>ss("to_verify"),disabled:ef,children:[(0,a.jsx)(y.A,{className:"mr-2 h-4 w-4"}),Y("tasks.submitForReview")]}),se&&(0,a.jsxs)(S.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>ss("done"),disabled:ef,children:[(0,a.jsx)(w,{className:"mr-2 h-4 w-4"}),Y("tasks.markAsVerified")]}),("done"===t.status||"closed"===t.status)&&(0,a.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:Y("tasks.taskCompleted")}),(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsxs)(U.Lt,{children:[(0,a.jsx)(U.tv,{asChild:!0,children:(0,a.jsx)(S.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,a.jsx)(k.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(U.EO,{children:[(0,a.jsxs)(U.wd,{children:[(0,a.jsx)(U.r7,{children:Y("tasks.deleteTask")}),(0,a.jsx)(U.$v,{children:Y("tasks.deleteTaskConfirm",{title:t.title})})]}),(0,a.jsxs)(U.ck,{children:[(0,a.jsx)(U.Zr,{children:Y("common.cancel")}),(0,a.jsx)(U.Rx,{variant:"destructive",onClick:si,disabled:e9,children:e9?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),Y("common.delete")]}):Y("common.delete")})]})]})]})})]}):null})})]}),t&&ek&&(0,a.jsx)(ee,{task:t,projectUuid:f,currentUserUuid:M,onClose:()=>eF(!1)})]})}},18789:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(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"}]])},32700:(e,s,t)=>{t.d(s,{w:()=>i});var a=t(52217);let i=(0,a.createServerReference)("60e61948d08a5f90212a42d4cd0efd78a07aae46f2",a.callServer,void 0,a.findSourceMapURL,"addTaskDependencyAction")},41111:(e,s,t)=>{t.d(s,{h:()=>i});var a=t(52217);let i=(0,a.createServerReference)("400a9b126aa8432283d46f71e2fa1da35098566ce7",a.callServer,void 0,a.findSourceMapURL,"getBatchWorkerCountsAction")},62482:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(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"}]])},70633:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},81531:(e,s,t)=>{t.d(s,{T:()=>i});var a=t(1856);function i(e,s){let[t,i]=(0,a.useState)(null!=s?s:null),[r,c]=(0,a.useState)(()=>new URLSearchParams(window.location.search).get("tab")),n=(0,a.useCallback)((s,t)=>{let a=new URLSearchParams(window.location.search);s?a.set("panel",s):a.delete("panel"),t?a.set("tab",t):a.delete("tab");let i=a.toString();return i?"".concat(e,"?").concat(i):e},[e]),l=(0,a.useCallback)((e,s)=>{let t=n(e,s);window.history.replaceState(null,"",t),i(e),c(null!=s?s:null)},[n]),d=(0,a.useCallback)(()=>{let e=n(null);window.history.replaceState(null,"",e),i(null),c(null)},[n]),o=(0,a.useCallback)(e=>{if(!t)return;let s=n(t,e);window.history.replaceState(null,"",s),c(e)},[n,t]);return(0,a.useEffect)(()=>{function e(){let e=new URLSearchParams(window.location.search),s=e.get("panel");s?(i(s),c(e.get("tab"))):(i(null),c(null))}return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),{selectedId:t,selectedTab:r,openPanel:l,closePanel:d,switchTab:o}}},90795:(e,s,t)=>{t.d(s,{Bj:()=>l,L8:()=>i,Wl:()=>d,_5:()=>n,eT:()=>r,fw:()=>c});var a=t(38106);let i=480;function r(e){switch(e){case"done":return"bg-[#00796B]";case"in_progress":return"bg-[#1976D2]";case"to_verify":return"bg-[#7B1FA2]";case"open":case"assigned":return"bg-[#E65100]";case"closed":return"bg-[#9A9A9A]";default:return"bg-[#D9D9D9]"}}function c(e,s){let t=new Date(e),i=new Date().getTime()-t.getTime(),r=Math.floor(i/6e4),c=Math.floor(i/36e5),n=Math.floor(i/864e5);return r<1?s("time.justNow"):r<60?s("time.minutesAgo",{minutes:r}):c<24?s("time.hoursAgo",{hours:c}):n<7?s("time.daysAgo",{days:n}):(0,a.r)(t)}let n={todo:"bg-[#FFF3E0] text-[#E65100]",in_progress:"bg-[#E3F2FD] text-[#1976D2]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]"},l={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},d={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},92745:(e,s,t)=>{t.d(s,{_u:()=>N,c_:()=>g,nF:()=>A,qK:()=>j});var a=t(90508),i=t(1856),r=t(26145),c=t(75380);t(33805);var n=t(10196),l=t.n(n),d=t(39268),o=t(57731);let x={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},m={open:"#E65100",assigned:"#1976D2",in_progress:"#5A9E6F",to_verify:"#7B1FA2",done:"#00796B",closed:"#9A9A9A"},u={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},h={open:"status.open",assigned:"status.assigned",in_progress:"status.inProgress",to_verify:"status.toVerify",done:"status.done",closed:"status.closed"},p={low:"bg-[#9A9A9A]",medium:"bg-[#E65100]",high:"bg-[#D32F2F]",critical:"bg-[#B71C1C]"},g={taskNode:function(e){let{data:s}=e,t=(0,d.c)();return(0,a.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] bg-white px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-[#C67A52] transition-colors",children:[(0,a.jsx)(r.h7,{type:"target",position:c.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,a.jsx)(o.E,{className:"text-[10px] ".concat(x[s.status]||""),children:t(h[s.status]||s.status)}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:"h-1.5 w-1.5 rounded-full ".concat(p[s.priority]||"")}),(0,a.jsx)("span",{className:"text-[10px] text-[#9A9A9A]",children:t(u[s.priority]||s.priority)})]})]}),(0,a.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:s.title}),(0,a.jsx)(r.h7,{type:"source",position:c.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},v={taskNode:function(e){let{data:s}=e,t=m[s.status]||"#E5E0D8";return(0,a.jsxs)("div",{className:"rounded-md border-[1.5px] bg-white px-2.5 py-1.5 shadow-sm",style:{borderColor:t,width:f},children:[(0,a.jsx)(r.h7,{type:"target",position:c.yX.Top,className:"!bg-[#C67A52] !w-1.5 !h-1.5"}),(0,a.jsx)("p",{className:"text-[10px] font-medium text-[#2C2C2C] leading-tight line-clamp-2",children:s.title}),(0,a.jsx)(r.h7,{type:"source",position:c.yX.Bottom,className:"!bg-[#C67A52] !w-1.5 !h-1.5"})]})}},f=150,j={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},b={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function A(e,s,t){var a,i,r,c;let n=null!=(a=null==t?void 0:t.nodeWidth)?a:240,d=null!=(i=null==t?void 0:t.nodeHeight)?i:80,o=new(l()).graphlib.Graph;return o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:"TB",nodesep:null!=(r=null==t?void 0:t.nodesep)?r:50,ranksep:null!=(c=null==t?void 0:t.ranksep)?c:80}),e.forEach(e=>{o.setNode(e.id,{width:n,height:d})}),s.forEach(e=>{o.setEdge(e.source,e.target)}),l().layout(o),{nodes:e.map(e=>{let s=o.node(e.id);return{...e,position:{x:s.x-n/2,y:s.y-d/2}}}),edges:s}}function N(e){let{tasks:s,edges:t,readonly:c=!1,compact:n=!1,height:l,onNodeClick:o,className:x}=e,m=(0,d.c)(),{layoutedNodes:u,layoutedEdges:h}=(0,i.useMemo)(()=>{let e=s.map(e=>{var s;return{id:e.uuid,type:"taskNode",position:{x:0,y:0},data:{title:e.title,status:e.status,priority:e.priority,proposalUuid:null!=(s=e.proposalUuid)?s:null}}}),a=A(e,t.map((e,s)=>({id:"e-".concat(s),source:e.to,target:e.from,...n?b:j})),n?{nodeWidth:f,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:a.nodes,layoutedEdges:a.edges}},[s,t,n]);return 0===s.length?(0,a.jsx)("div",{className:"flex items-center justify-center text-sm text-[#9A9A9A] ".concat(x||""),style:l?{height:l}:void 0,children:m("tasks.noTasksToDisplay")}):(0,a.jsx)("div",{className:"rounded-[10px] border border-[#E5E0D8] bg-[#F7F6F3] ".concat(x||""),style:l?{height:l}:void 0,children:(0,a.jsxs)(r.Gc,{nodes:u,edges:h,nodeTypes:n?v:g,onNodeClick:o?(e,s)=>o(s.id):void 0,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},nodesDraggable:!c,nodesConnectable:!c,elementsSelectable:!c,panOnDrag:!0,zoomOnScroll:!0,children:[(0,a.jsx)(r.VS,{color:"#E5E0D8",gap:20}),!c&&(0,a.jsx)(r.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29660],{5425:(e,r,t)=>{t.d(r,{A:()=>a});let a=(0,t(66206).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},45477:(e,r,t)=>{t.d(r,{z:()=>n});var a=t(87161);function n(){return(0,a.useSyncExternalStore)(o,()=>!0,()=>!1)}function o(){return()=>{}}},63197:(e,r,t)=>{t.r(r),t.d(r,{Indicator:()=>M,Item:()=>q,RadioGroup:()=>L,RadioGroupIndicator:()=>T,RadioGroupItem:()=>P,Root:()=>F,createRadioGroupScope:()=>S});var a=t(1856),n=t(33328),o=t(34124),i=t(21032),l=t(93367),s=t(94782),d=t(66249),u=t(72599),c=t(3705),p=t(72009),f=t(19900),v=t(90508),g="Radio",[m,y]=(0,i.A)(g),[h,w]=m(g),A=a.forwardRef((e,r)=>{let{__scopeRadio:t,name:i,checked:s=!1,required:d,disabled:u,value:c="on",onCheck:p,form:f,...g}=e,[m,y]=a.useState(null),w=(0,o.s)(r,e=>y(e)),A=a.useRef(!1),x=!m||f||!!m.closest("form");return(0,v.jsxs)(h,{scope:t,checked:s,disabled:u,children:[(0,v.jsx)(l.sG.button,{type:"button",role:"radio","aria-checked":s,"data-state":D(s),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:w,onClick:(0,n.mK)(e.onClick,e=>{s||null==p||p(),x&&(A.current=e.isPropagationStopped(),A.current||e.stopPropagation())})}),x&&(0,v.jsx)(R,{control:m,bubbles:!A.current,name:i,value:c,checked:s,required:d,disabled:u,form:f,style:{transform:"translateX(-100%)"}})]})});A.displayName=g;var x="RadioIndicator",b=a.forwardRef((e,r)=>{let{__scopeRadio:t,forceMount:a,...n}=e,o=w(x,t);return(0,v.jsx)(f.C,{present:a||o.checked,children:(0,v.jsx)(l.sG.span,{"data-state":D(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:r})})});b.displayName=x;var R=a.forwardRef((e,r)=>{let{__scopeRadio:t,control:n,checked:i,bubbles:s=!0,...d}=e,u=a.useRef(null),f=(0,o.s)(u,r),g=(0,p.Z)(i),m=(0,c.X)(n);return a.useEffect(()=>{let e=u.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==i&&r){let t=new Event("click",{bubbles:s});r.call(e,i),e.dispatchEvent(t)}},[g,i,s]),(0,v.jsx)(l.sG.input,{type:"radio","aria-hidden":!0,defaultChecked:i,...d,tabIndex:-1,ref:f,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function D(e){return e?"checked":"unchecked"}R.displayName="RadioBubbleInput";var j=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],k="RadioGroup",[E,S]=(0,i.A)(k,[s.RG,y]),N=(0,s.RG)(),C=y(),[I,G]=E(k),L=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,name:a,defaultValue:n,value:o,required:i=!1,disabled:c=!1,orientation:p,dir:f,loop:g=!0,onValueChange:m,...y}=e,h=N(t),w=(0,u.jH)(f),[A,x]=(0,d.i)({prop:o,defaultProp:null!=n?n:null,onChange:m,caller:k});return(0,v.jsx)(I,{scope:t,name:a,required:i,disabled:c,value:A,onValueChange:x,children:(0,v.jsx)(s.bL,{asChild:!0,...h,orientation:p,dir:w,loop:g,children:(0,v.jsx)(l.sG.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":c?"":void 0,dir:w,...y,ref:r})})})});L.displayName=k;var O="RadioGroupItem",P=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,disabled:i,...l}=e,d=G(O,t),u=d.disabled||i,c=N(t),p=C(t),f=a.useRef(null),g=(0,o.s)(r,f),m=d.value===l.value,y=a.useRef(!1);return a.useEffect(()=>{let e=e=>{j.includes(e.key)&&(y.current=!0)},r=()=>y.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",r),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",r)}},[]),(0,v.jsx)(s.q7,{asChild:!0,...c,focusable:!u,active:m,children:(0,v.jsx)(A,{disabled:u,required:d.required,checked:m,...p,...l,name:d.name,ref:g,onCheck:()=>d.onValueChange(l.value),onKeyDown:(0,n.mK)(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:(0,n.mK)(l.onFocus,()=>{var e;y.current&&(null==(e=f.current)||e.click())})})})});P.displayName=O;var T=a.forwardRef((e,r)=>{let{__scopeRadioGroup:t,...a}=e,n=C(t);return(0,v.jsx)(b,{...n,...a,ref:r})});T.displayName="RadioGroupIndicator";var F=L,q=P,M=T},65514:(e,r,t)=>{t.r(r),t.d(r,{Avatar:()=>g,AvatarFallback:()=>w,AvatarImage:()=>y,Fallback:()=>R,Image:()=>b,Root:()=>x,createAvatarScope:()=>p});var a=t(1856),n=t(21032),o=t(32313),i=t(99457),l=t(93367),s=t(45477),d=t(90508),u="Avatar",[c,p]=(0,n.A)(u),[f,v]=c(u),g=a.forwardRef((e,r)=>{let{__scopeAvatar:t,...n}=e,[o,i]=a.useState("idle");return(0,d.jsx)(f,{scope:t,imageLoadingStatus:o,onImageLoadingStatusChange:i,children:(0,d.jsx)(l.sG.span,{...n,ref:r})})});g.displayName=u;var m="AvatarImage",y=a.forwardRef((e,r)=>{let{__scopeAvatar:t,src:n,onLoadingStatusChange:u=()=>{},...c}=e,p=v(m,t),f=function(e,r){let{referrerPolicy:t,crossOrigin:n}=r,o=(0,s.z)(),l=a.useRef(null),d=o?(l.current||(l.current=new window.Image),l.current):null,[u,c]=a.useState(()=>A(d,e));return(0,i.N)(()=>{c(A(d,e))},[d,e]),(0,i.N)(()=>{let e=e=>()=>{c(e)};if(!d)return;let r=e("loaded"),a=e("error");return d.addEventListener("load",r),d.addEventListener("error",a),t&&(d.referrerPolicy=t),"string"==typeof n&&(d.crossOrigin=n),()=>{d.removeEventListener("load",r),d.removeEventListener("error",a)}},[d,n,t]),u}(n,c),g=(0,o.c)(e=>{u(e),p.onImageLoadingStatusChange(e)});return(0,i.N)(()=>{"idle"!==f&&g(f)},[f,g]),"loaded"===f?(0,d.jsx)(l.sG.img,{...c,ref:r,src:n}):null});y.displayName=m;var h="AvatarFallback",w=a.forwardRef((e,r)=>{let{__scopeAvatar:t,delayMs:n,...o}=e,i=v(h,t),[s,u]=a.useState(void 0===n);return a.useEffect(()=>{if(void 0!==n){let e=window.setTimeout(()=>u(!0),n);return()=>window.clearTimeout(e)}},[n]),s&&"loaded"!==i.imageLoadingStatus?(0,d.jsx)(l.sG.span,{...o,ref:r}):null});function A(e,r){return e?r?(e.src!==r&&(e.src=r),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}w.displayName=h;var x=g,b=y,R=w},86196:(e,r,t)=>{var a=t(1856),n="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},o=a.useState,i=a.useEffect,l=a.useLayoutEffect,s=a.useDebugValue;function d(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!n(e,t)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,r){return r()}:function(e,r){var t=r(),a=o({inst:{value:t,getSnapshot:r}}),n=a[0].inst,u=a[1];return l(function(){n.value=t,n.getSnapshot=r,d(n)&&u({inst:n})},[e,t,r]),i(function(){return d(n)&&u({inst:n}),e(function(){d(n)&&u({inst:n})})},[e]),s(t),t};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},87161:(e,r,t)=>{e.exports=t(86196)},90299:(e,r,t)=>{t.r(r),t.d(r,{Action:()=>T,AlertDialog:()=>v,AlertDialogAction:()=>E,AlertDialogCancel:()=>N,AlertDialogContent:()=>b,AlertDialogDescription:()=>k,AlertDialogOverlay:()=>y,AlertDialogPortal:()=>m,AlertDialogTitle:()=>D,AlertDialogTrigger:()=>g,Cancel:()=>F,Content:()=>P,Description:()=>M,Overlay:()=>O,Portal:()=>L,Root:()=>I,Title:()=>q,Trigger:()=>G,createAlertDialogScope:()=>p});var a=t(1856),n=t(21032),o=t(34124),i=t(71350),l=t(33328),s=t(54154),d=t(90508),u="AlertDialog",[c,p]=(0,n.A)(u,[i.createDialogScope]),f=(0,i.createDialogScope)(),v=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Root,{...a,...t,modal:!0})};v.displayName=u;var g=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Trigger,{...n,...a,ref:r})});g.displayName="AlertDialogTrigger";var m=e=>{let{__scopeAlertDialog:r,...t}=e,a=f(r);return(0,d.jsx)(i.Portal,{...a,...t})};m.displayName="AlertDialogPortal";var y=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Overlay,{...n,...a,ref:r})});y.displayName="AlertDialogOverlay";var h="AlertDialogContent",[w,A]=c(h),x=(0,s.Dc)("AlertDialogContent"),b=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,children:n,...s}=e,u=f(t),c=a.useRef(null),p=(0,o.s)(r,c),v=a.useRef(null);return(0,d.jsx)(i.WarningProvider,{contentName:h,titleName:R,docsSlug:"alert-dialog",children:(0,d.jsx)(w,{scope:t,cancelRef:v,children:(0,d.jsxs)(i.Content,{role:"alertdialog",...u,...s,ref:p,onOpenAutoFocus:(0,l.mK)(s.onOpenAutoFocus,e=>{var r;e.preventDefault(),null==(r=v.current)||r.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(x,{children:n}),(0,d.jsx)(C,{contentRef:c})]})})})});b.displayName=h;var R="AlertDialogTitle",D=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Title,{...n,...a,ref:r})});D.displayName=R;var j="AlertDialogDescription",k=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Description,{...n,...a,ref:r})});k.displayName=j;var E=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,n=f(t);return(0,d.jsx)(i.Close,{...n,...a,ref:r})});E.displayName="AlertDialogAction";var S="AlertDialogCancel",N=a.forwardRef((e,r)=>{let{__scopeAlertDialog:t,...a}=e,{cancelRef:n}=A(S,t),l=f(t),s=(0,o.s)(r,n);return(0,d.jsx)(i.Close,{...l,...a,ref:s})});N.displayName=S;var C=e=>{let{contentRef:r}=e,t="`".concat(h,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(h,"` by passing a `").concat(j,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(h,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=r.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(t)},[t,r]),null},I=v,G=g,L=m,O=y,P=b,T=E,F=N,q=D,M=k}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[34775],{5616:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17730:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},36557:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(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"}]])},57472:(e,t,r)=>{r.d(t,{A:()=>o});var a=r(12079),n=r(90508);function o(e){let{locale:t,...r}=e;if(!t)throw Error(void 0);return(0,n.jsx)(a.Dk,{locale:t,...r})}},57893:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("pencil",[["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"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},58057:(e,t,r)=>{r.r(t),r.d(t,{Label:()=>l,Root:()=>i});var a=r(1856),n=r(93367),o=r(90508),l=a.forwardRef((e,t)=>(0,o.jsx)(n.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var i=l},60322:(e,t,r)=>{r.r(t),r.d(t,{Root:()=>x,Switch:()=>y,SwitchThumb:()=>b,Thumb:()=>A,createSwitchScope:()=>g});var a=r(1856),n=r(33328),o=r(34124),l=r(21032),i=r(66249),s=r(72009),c=r(3705),d=r(93367),u=r(90508),p="Switch",[f,g]=(0,l.A)(p),[h,v]=f(p),y=a.forwardRef((e,t)=>{let{__scopeSwitch:r,name:l,checked:s,defaultChecked:c,required:f,disabled:g,value:v="on",onCheckedChange:y,form:m,...b}=e,[x,A]=a.useState(null),w=(0,o.s)(t,e=>A(e)),C=a.useRef(!1),j=!x||m||!!x.closest("form"),[R,N]=(0,i.i)({prop:s,defaultProp:null!=c&&c,onChange:y,caller:p});return(0,u.jsxs)(h,{scope:r,checked:R,disabled:g,children:[(0,u.jsx)(d.sG.button,{type:"button",role:"switch","aria-checked":R,"aria-required":f,"data-state":k(R),"data-disabled":g?"":void 0,disabled:g,value:v,...b,ref:w,onClick:(0,n.mK)(e.onClick,e=>{N(e=>!e),j&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),j&&(0,u.jsx)(D,{control:x,bubbles:!C.current,name:l,value:v,checked:R,required:f,disabled:g,form:m,style:{transform:"translateX(-100%)"}})]})});y.displayName=p;var m="SwitchThumb",b=a.forwardRef((e,t)=>{let{__scopeSwitch:r,...a}=e,n=v(m,r);return(0,u.jsx)(d.sG.span,{"data-state":k(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:t})});b.displayName=m;var D=a.forwardRef((e,t)=>{let{__scopeSwitch:r,control:n,checked:l,bubbles:i=!0,...d}=e,p=a.useRef(null),f=(0,o.s)(p,t),g=(0,s.Z)(l),h=(0,c.X)(n);return a.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==l&&t){let r=new Event("click",{bubbles:i});t.call(e,l),e.dispatchEvent(r)}},[g,l,i]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:l,...d,tabIndex:-1,ref:f,style:{...d.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function k(e){return e?"checked":"unchecked"}D.displayName="SwitchBubbleInput";var x=y,A=b},60532:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},71350:(e,t,r)=>{r.r(t),r.d(t,{Close:()=>eo,Content:()=>er,Description:()=>en,Dialog:()=>w,DialogClose:()=>H,DialogContent:()=>S,DialogDescription:()=>z,DialogOverlay:()=>P,DialogPortal:()=>I,DialogTitle:()=>B,DialogTrigger:()=>j,Overlay:()=>et,Portal:()=>ee,Root:()=>Q,Title:()=>ea,Trigger:()=>$,WarningProvider:()=>U,createDialogScope:()=>k});var a=r(1856),n=r(33328),o=r(34124),l=r(21032),i=r(40577),s=r(66249),c=r(63569),d=r(80491),u=r(17533),p=r(19900),f=r(93367),g=r(12139),h=r(46523),v=r(2188),y=r(54154),m=r(90508),b="Dialog",[D,k]=(0,l.A)(b),[x,A]=D(b),w=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:l,modal:c=!0}=e,d=a.useRef(null),u=a.useRef(null),[p,f]=(0,s.i)({prop:n,defaultProp:null!=o&&o,onChange:l,caller:b});return(0,m.jsx)(x,{scope:t,triggerRef:d,contentRef:u,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:p,onOpenChange:f,onOpenToggle:a.useCallback(()=>f(e=>!e),[f]),modal:c,children:r})};w.displayName=b;var C="DialogTrigger",j=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,l=A(C,r),i=(0,o.s)(t,l.triggerRef);return(0,m.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":X(l.open),...a,ref:i,onClick:(0,n.mK)(e.onClick,l.onOpenToggle)})});j.displayName=C;var R="DialogPortal",[N,E]=D(R,{forceMount:void 0}),I=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:o}=e,l=A(R,t);return(0,m.jsx)(N,{scope:t,forceMount:r,children:a.Children.map(n,e=>(0,m.jsx)(p.C,{present:r||l.open,children:(0,m.jsx)(u.Portal,{asChild:!0,container:o,children:e})}))})};I.displayName=R;var O="DialogOverlay",P=a.forwardRef((e,t)=>{let r=E(O,e.__scopeDialog),{forceMount:a=r.forceMount,...n}=e,o=A(O,e.__scopeDialog);return o.modal?(0,m.jsx)(p.C,{present:a||o.open,children:(0,m.jsx)(_,{...n,ref:t})}):null});P.displayName=O;var T=(0,y.TL)("DialogOverlay.RemoveScroll"),_=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(O,r);return(0,m.jsx)(h.A,{as:T,allowPinchZoom:!0,shards:[n.contentRef],children:(0,m.jsx)(f.sG.div,{"data-state":X(n.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),M="DialogContent",S=a.forwardRef((e,t)=>{let r=E(M,e.__scopeDialog),{forceMount:a=r.forceMount,...n}=e,o=A(M,e.__scopeDialog);return(0,m.jsx)(p.C,{present:a||o.open,children:o.modal?(0,m.jsx)(F,{...n,ref:t}):(0,m.jsx)(q,{...n,ref:t})})});S.displayName=M;var F=a.forwardRef((e,t)=>{let r=A(M,e.__scopeDialog),l=a.useRef(null),i=(0,o.s)(t,r.contentRef,l);return a.useEffect(()=>{let e=l.current;if(e)return(0,v.Eq)(e)},[]),(0,m.jsx)(G,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=r.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,n.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,n.mK)(e.onFocusOutside,e=>e.preventDefault())})}),q=a.forwardRef((e,t)=>{let r=A(M,e.__scopeDialog),n=a.useRef(!1),o=a.useRef(!1);return(0,m.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,l;null==(a=e.onCloseAutoFocus)||a.call(e,t),t.defaultPrevented||(n.current||null==(l=r.triggerRef.current)||l.focus(),t.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:t=>{var a,l;null==(a=e.onInteractOutside)||a.call(e,t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let i=t.target;(null==(l=r.triggerRef.current)?void 0:l.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),G=a.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:l,onCloseAutoFocus:i,...s}=e,u=A(M,r),p=a.useRef(null),f=(0,o.s)(t,p);return(0,g.Oh)(),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(d.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:l,onUnmountAutoFocus:i,children:(0,m.jsx)(c.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":X(u.open),...s,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Y,{titleId:u.titleId}),(0,m.jsx)(J,{contentRef:p,descriptionId:u.descriptionId})]})]})}),K="DialogTitle",B=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(K,r);return(0,m.jsx)(f.sG.h2,{id:n.titleId,...a,ref:t})});B.displayName=K;var L="DialogDescription",z=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=A(L,r);return(0,m.jsx)(f.sG.p,{id:n.descriptionId,...a,ref:t})});z.displayName=L;var W="DialogClose",H=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,o=A(W,r);return(0,m.jsx)(f.sG.button,{type:"button",...a,ref:t,onClick:(0,n.mK)(e.onClick,()=>o.onOpenChange(!1))})});function X(e){return e?"open":"closed"}H.displayName=W;var Z="DialogTitleWarning",[U,V]=(0,l.q)(Z,{contentName:M,titleName:K,docsSlug:"dialog"}),Y=e=>{let{titleId:t}=e,r=V(Z),n="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return a.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},J=e=>{let{contentRef:t,descriptionId:r}=e,n=V("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(n.contentName,"}.");return a.useEffect(()=>{var e;let a=null==(e=t.current)?void 0:e.getAttribute("aria-describedby");r&&a&&(document.getElementById(r)||console.warn(o))},[o,t,r]),null},Q=w,$=j,ee=I,et=P,er=S,ea=B,en=z,eo=H},78948:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81149:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(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"}]])},84052:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(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"}]])},85619:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},89967:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},90299:(e,t,r)=>{r.r(t),r.d(t,{Action:()=>S,AlertDialog:()=>g,AlertDialogAction:()=>R,AlertDialogCancel:()=>E,AlertDialogContent:()=>x,AlertDialogDescription:()=>j,AlertDialogOverlay:()=>y,AlertDialogPortal:()=>v,AlertDialogTitle:()=>w,AlertDialogTrigger:()=>h,Cancel:()=>F,Content:()=>M,Description:()=>G,Overlay:()=>_,Portal:()=>T,Root:()=>O,Title:()=>q,Trigger:()=>P,createAlertDialogScope:()=>p});var a=r(1856),n=r(21032),o=r(34124),l=r(71350),i=r(33328),s=r(54154),c=r(90508),d="AlertDialog",[u,p]=(0,n.A)(d,[l.createDialogScope]),f=(0,l.createDialogScope)(),g=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(l.Root,{...a,...r,modal:!0})};g.displayName=d;var h=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Trigger,{...n,...a,ref:t})});h.displayName="AlertDialogTrigger";var v=e=>{let{__scopeAlertDialog:t,...r}=e,a=f(t);return(0,c.jsx)(l.Portal,{...a,...r})};v.displayName="AlertDialogPortal";var y=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Overlay,{...n,...a,ref:t})});y.displayName="AlertDialogOverlay";var m="AlertDialogContent",[b,D]=u(m),k=(0,s.Dc)("AlertDialogContent"),x=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:n,...s}=e,d=f(r),u=a.useRef(null),p=(0,o.s)(t,u),g=a.useRef(null);return(0,c.jsx)(l.WarningProvider,{contentName:m,titleName:A,docsSlug:"alert-dialog",children:(0,c.jsx)(b,{scope:r,cancelRef:g,children:(0,c.jsxs)(l.Content,{role:"alertdialog",...d,...s,ref:p,onOpenAutoFocus:(0,i.mK)(s.onOpenAutoFocus,e=>{var t;e.preventDefault(),null==(t=g.current)||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,c.jsx)(k,{children:n}),(0,c.jsx)(I,{contentRef:u})]})})})});x.displayName=m;var A="AlertDialogTitle",w=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Title,{...n,...a,ref:t})});w.displayName=A;var C="AlertDialogDescription",j=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Description,{...n,...a,ref:t})});j.displayName=C;var R=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,n=f(r);return(0,c.jsx)(l.Close,{...n,...a,ref:t})});R.displayName="AlertDialogAction";var N="AlertDialogCancel",E=a.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...a}=e,{cancelRef:n}=D(N,r),i=f(r),s=(0,o.s)(t,n);return(0,c.jsx)(l.Close,{...i,...a,ref:s})});E.displayName=N;var I=e=>{let{contentRef:t}=e,r="`".concat(m,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(m,"` by passing a `").concat(C,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(m,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return a.useEffect(()=>{var e;document.getElementById(null==(e=t.current)?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},O=g,P=h,T=v,_=y,M=x,S=R,F=E,q=w,G=j},97645:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(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"}]])},98861:(e,t,r)=>{r.r(t),r.d(t,{Checkbox:()=>k,CheckboxIndicator:()=>A,Indicator:()=>A,Root:()=>k,createCheckboxScope:()=>h,unstable_BubbleInput:()=>C,unstable_CheckboxBubbleInput:()=>C,unstable_CheckboxProvider:()=>m,unstable_CheckboxTrigger:()=>D,unstable_Provider:()=>m,unstable_Trigger:()=>D});var a=r(1856),n=r(34124),o=r(21032),l=r(33328),i=r(66249),s=r(72009),c=r(3705),d=r(19900),u=r(93367),p=r(90508),f="Checkbox",[g,h]=(0,o.A)(f),[v,y]=g(f);function m(e){let{__scopeCheckbox:t,checked:r,children:n,defaultChecked:o,disabled:l,form:s,name:c,onCheckedChange:d,required:u,value:g="on",internal_do_not_use_render:h}=e,[y,m]=(0,i.i)({prop:r,defaultProp:null!=o&&o,onChange:d,caller:f}),[b,D]=a.useState(null),[k,x]=a.useState(null),A=a.useRef(!1),w=!b||!!s||!!b.closest("form"),C={checked:y,disabled:l,setChecked:m,control:b,setControl:D,name:c,form:s,value:g,hasConsumerStoppedPropagationRef:A,required:u,defaultChecked:!j(o)&&o,isFormControl:w,bubbleInput:k,setBubbleInput:x};return(0,p.jsx)(v,{scope:t,...C,children:"function"==typeof h?h(C):n})}var b="CheckboxTrigger",D=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,onKeyDown:o,onClick:i,...s}=e,{control:c,value:d,disabled:f,checked:g,required:h,setControl:v,setChecked:m,hasConsumerStoppedPropagationRef:D,isFormControl:k,bubbleInput:x}=y(b,r),A=(0,n.s)(t,v),w=a.useRef(g);return a.useEffect(()=>{let e=null==c?void 0:c.form;if(e){let t=()=>m(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,m]),(0,p.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":j(g)?"mixed":g,"aria-required":h,"data-state":R(g),"data-disabled":f?"":void 0,disabled:f,value:d,...s,ref:A,onKeyDown:(0,l.mK)(o,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,l.mK)(i,e=>{m(e=>!!j(e)||!e),x&&k&&(D.current=e.isPropagationStopped(),D.current||e.stopPropagation())})})});D.displayName=b;var k=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:a,checked:n,defaultChecked:o,required:l,disabled:i,value:s,onCheckedChange:c,form:d,...u}=e;return(0,p.jsx)(m,{__scopeCheckbox:r,checked:n,defaultChecked:o,disabled:i,required:l,onCheckedChange:c,name:a,form:d,value:s,internal_do_not_use_render:e=>{let{isFormControl:a}=e;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(D,{...u,ref:t,__scopeCheckbox:r}),a&&(0,p.jsx)(C,{__scopeCheckbox:r})]})}})});k.displayName=f;var x="CheckboxIndicator",A=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:a,...n}=e,o=y(x,r);return(0,p.jsx)(d.C,{present:a||j(o.checked)||!0===o.checked,children:(0,p.jsx)(u.sG.span,{"data-state":R(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t,style:{pointerEvents:"none",...e.style}})})});A.displayName=x;var w="CheckboxBubbleInput",C=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,...o}=e,{control:l,hasConsumerStoppedPropagationRef:i,checked:d,defaultChecked:f,required:g,disabled:h,name:v,value:m,form:b,bubbleInput:D,setBubbleInput:k}=y(w,r),x=(0,n.s)(t,k),A=(0,s.Z)(d),C=(0,c.X)(l);a.useEffect(()=>{if(!D)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(A!==d&&e){let r=new Event("click",{bubbles:t});D.indeterminate=j(d),e.call(D,!j(d)&&d),D.dispatchEvent(r)}},[D,A,d,i]);let R=a.useRef(!j(d)&&d);return(0,p.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=f?f:R.current,required:g,disabled:h,name:v,value:m,form:b,...o,tabIndex:-1,ref:x,style:{...o.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function j(e){return"indeterminate"===e}function R(e){return j(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=w}}]);
|