@chorus-aidlc/chorus 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +179 -179
- package/.next/standalone/.next/app-path-routes-manifest.json +29 -29
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +42 -42
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/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 +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/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 +1 -1
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +1 -1
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding/page.js +3 -3
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/.next/server/app-paths-manifest.json +29 -29
- package/.next/standalone/.next/server/chunks/2990.js +1 -0
- package/.next/standalone/.next/server/chunks/4090.js +2 -2
- package/.next/standalone/.next/server/chunks/5491.js +1 -0
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/{5044.js → 6878.js} +1 -1
- package/.next/standalone/.next/server/chunks/7578.js +2 -2
- package/.next/standalone/.next/server/chunks/7621.js +1 -0
- package/.next/standalone/.next/server/chunks/8144.js +1 -0
- package/.next/standalone/.next/server/chunks/8637.js +1 -1
- package/.next/standalone/.next/server/chunks/9508.js +2 -2
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- 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/pages-manifest.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/19126-12ce8ade288ce1dc.js +1 -0
- package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +1 -0
- package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +1 -0
- package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +1 -0
- package/.next/standalone/.next/static/chunks/60011-b602fea2afba6992.js +1 -0
- package/.next/standalone/.next/static/chunks/{32190-a110356fb68a4333.js → 75444-976ac95fd66e7988.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-dd7eb66bb4ffd252.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-6d92b9867caf0fe1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-f8f17f58cf779d37.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/{page-405cc5757c9116ed.js → page-55148db4b28ee5f5.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/{page-1591999fb2994672.js → page-556c181809c9e4f6.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-31f4ffd9778a39ed.js → page-414b398806324ad1.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-00ae31e877b4b261.js → page-6524ab00e6cdf59a.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-b148c338bed81dce.js → page-7b0bb5f037cd320b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-db79d84fa8ca8cbf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/{page-9768ac847f5b2b48.js → page-7a00689ba561c111.js} +1 -1
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +3 -2
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +3 -2
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +6 -4
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +5 -3
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
- package/.next/standalone/public/skill/chorus/SKILL.md +1 -1
- package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -1
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +5 -3
- package/.next/standalone/public/skill/review-chorus/SKILL.md +4 -2
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/3405.js +0 -1
- package/.next/standalone/.next/server/chunks/4043.js +0 -1
- package/.next/standalone/.next/server/chunks/6592.js +0 -1
- package/.next/standalone/.next/server/chunks/6975.js +0 -1
- package/.next/standalone/.next/static/chunks/19126-7671ce1fd803fdd4.js +0 -1
- package/.next/standalone/.next/static/chunks/44046-5c0f7f8c0914988a.js +0 -1
- package/.next/standalone/.next/static/chunks/60011-0fbcb92028fe9655.js +0 -1
- package/.next/standalone/.next/static/chunks/6028-fe4175ea5e6241ed.js +0 -1
- package/.next/standalone/.next/static/chunks/9562-8433cd5c5abad077.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-8409ca03f132910b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-7f7a7f654cab4dc3.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-a99a690b878a03be.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-95cdcec5e6db551f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-2d85f24a980966b7.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-38579c303156008c.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-b153aa34b940a24c.js +0 -1
- /package/.next/standalone/.next/static/{yBxnuARbl0brBJS3_STaI → -kClYg0a7zvFcgkw_LnG7}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{yBxnuARbl0brBJS3_STaI → -kClYg0a7zvFcgkw_LnG7}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=5491,exports.ids=[5491],exports.modules={644:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).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"}]])},4624:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d",d.callServer,void 0,d.findSourceMapURL,"removeTaskDependencyAction")},10945:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40c9676a9993d0f850c6955f9c0589450c7244d18b",d.callServer,void 0,d.findSourceMapURL,"getTaskDependenciesAction")},14078:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("400a9b126aa8432283d46f71e2fa1da35098566ce7",d.callServer,void 0,d.findSourceMapURL,"getBatchWorkerCountsAction")},21326:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).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"}]])},22293:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{TK:()=>l,kq:()=>m,wG:()=>k,xo:()=>j});var e=c(2613);c(50785);var f=c(9259),g=c(50530),h=c(12217),i=a([f,g]);async function j(a){let b=await (0,f.d)();if(!b)return{dependsOn:[],dependedBy:[]};try{return await g.vQ(b.companyUuid,a)}catch{return{dependsOn:[],dependedBy:[]}}}async function k(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.QL(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function l(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.j9(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function m(a){let b=await (0,f.d)();if(!b)return{tasks:[]};try{return{tasks:(await g.Vk({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3})).tasks.map(a=>({uuid:a.uuid,title:a.title,status:a.status}))}}catch{return{tasks:[]}}}[f,g]=i.then?(await i)():i,(0,h.D)([j,k,l,m]),(0,e.A)(j,"40c9676a9993d0f850c6955f9c0589450c7244d18b",null),(0,e.A)(k,"60e61948d08a5f90212a42d4cd0efd78a07aae46f2",null),(0,e.A)(l,"600e5e8e6c349b6193e5e9996fb72d67b9a5c50e6d",null),(0,e.A)(m,"40abc84636d041cef8f935b0751c9281f791c9e012",null),d()}catch(a){d(a)}})},28476:(a,b,c)=>{c.d(b,{F:()=>e});var d=c(42377);let e=(0,d.createServerReference)("400067c3cf7ed30a442781337da48bbf9fb8a963a1",d.callServer,void 0,d.findSourceMapURL,"getTaskSourceAction")},45519:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).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"}]])},46081:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60e61948d08a5f90212a42d4cd0efd78a07aae46f2",d.callServer,void 0,d.findSourceMapURL,"addTaskDependencyAction")},51877:(a,b,c)=>{c.d(b,{b:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60d385edc971b774b29db4a76b6288664e3ff6e3eb",d.callServer,void 0,d.findSourceMapURL,"updateTaskStatusAction")},58270:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).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"}]])},59179:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).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"}]])},60265:(a,b,c)=>{c.d(b,{_u:()=>w,c_:()=>q,nF:()=>v,qK:()=>t});var d=c(10837),e=c(21968),f=c(47797),g=c(92460);c(63410);var h=c(24346),i=c.n(h),j=c(9222),k=c(49599);let l={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"},n={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},o={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]"},q={taskNode:function({data:a}){let b=(0,j.c)();return(0,d.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,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,d.jsx)(k.E,{className:`text-[10px] ${l[a.status]||""}`,children:b(o[a.status]||a.status)}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${p[a.priority]||""}`}),(0,d.jsx)("span",{className:"text-[10px] text-[#9A9A9A]",children:b(n[a.priority]||a.priority)})]})]}),(0,d.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},r={taskNode:function({data:a}){let b=m[a.status]||"#E5E0D8";return(0,d.jsxs)("div",{className:"rounded-md border-[1.5px] bg-white px-2.5 py-1.5 shadow-sm",style:{borderColor:b,width:s},children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-[#C67A52] !w-1.5 !h-1.5"}),(0,d.jsx)("p",{className:"text-[10px] font-medium text-[#2C2C2C] leading-tight line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-[#C67A52] !w-1.5 !h-1.5"})]})}},s=150,t={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},u={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function v(a,b,c){let d=c?.nodeWidth??240,e=c?.nodeHeight??80,f=new(i()).graphlib.Graph;return f.setDefaultEdgeLabel(()=>({})),f.setGraph({rankdir:"TB",nodesep:c?.nodesep??50,ranksep:c?.ranksep??80}),a.forEach(a=>{f.setNode(a.id,{width:d,height:e})}),b.forEach(a=>{f.setEdge(a.source,a.target)}),i().layout(f),{nodes:a.map(a=>{let b=f.node(a.id);return{...a,position:{x:b.x-d/2,y:b.y-e/2}}}),edges:b}}function w({tasks:a,edges:b,readonly:c=!1,compact:g=!1,height:h,onNodeClick:i,className:k}){let l=(0,j.c)(),{layoutedNodes:m,layoutedEdges:n}=(0,e.useMemo)(()=>{let c=a.map(a=>({id:a.uuid,type:"taskNode",position:{x:0,y:0},data:{title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null}})),d=v(c,b.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...g?u:t})),g?{nodeWidth:s,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:d.nodes,layoutedEdges:d.edges}},[a,b,g]);return 0===a.length?(0,d.jsx)("div",{className:`flex items-center justify-center text-sm text-[#9A9A9A] ${k||""}`,style:h?{height:h}:void 0,children:l("tasks.noTasksToDisplay")}):(0,d.jsx)("div",{className:`rounded-[10px] border border-[#E5E0D8] bg-[#F7F6F3] ${k||""}`,style:h?{height:h}:void 0,children:(0,d.jsxs)(f.Gc,{nodes:m,edges:n,nodeTypes:g?r:q,onNodeClick:i?(a,b)=>i(b.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,d.jsx)(f.VS,{color:"#E5E0D8",gap:20}),!c&&(0,d.jsx)(f.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})})}},61967:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557",d.callServer,void 0,d.findSourceMapURL,"getTaskActivitiesAction")},64029:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(50530),i=c(97307),j=c(12217),k=a([f,g,h]);async function l(a){let b=await (0,f.d)();if(!b)return{activities:[],total:0};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,skip:0,take:50})}catch(a){return i.A.error({err:a},"Failed to get task activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"40ea4b2ab97cda9f0eb1e59de4b81b2d4a29df9557",null),d()}catch(a){d(a)}})},66553:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40e97ce0b950d948479e35998482b7f2991815cd36",d.callServer,void 0,d.findSourceMapURL,"getTaskSessionsAction")},68990:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60c69091d26aa5c80138990b48d8f4bbd263a11976",d.callServer,void 0,d.findSourceMapURL,"deleteTaskAction")},71275:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb",d.callServer,void 0,d.findSourceMapURL,"markCriteriaAction")},71353:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IY:()=>n,Nq:()=>m,hD:()=>l});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(97307),j=c(12217),k=a([g,h]);async function l(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can verify acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};let e=await (0,h._T)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.A.error({err:a},"Failed to mark acceptance criteria"),{success:!1,error:"Failed to mark acceptance criteria"}}}async function m(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can reset acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.Qi)(c.companyUuid,a,b),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return i.A.error({err:a},"Failed to reset acceptance criterion"),{success:!1,error:"Failed to reset acceptance criterion"}}}async function n(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};let e=await (0,h.cn)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.A.error({err:a},"Failed to self-check acceptance criteria"),{success:!1,error:"Failed to self-check acceptance criteria"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m,n]),(0,e.A)(l,"602e9726afe57f14e2e0c2e3d15a128969d3f8f9fb",null),(0,e.A)(m,"60b53a2c77387cac4116e4d73ae3df5ae307ea6923",null),(0,e.A)(n,"6023a4a5cab1daa400673e7106cf022f707986a7d6",null),d()}catch(a){d(a)}})},72189:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>k});var e=c(2613);c(50785);var f=c(9259),g=c(97879),h=c(97307),i=c(12217),j=a([f,g]);async function k(a){let b=await (0,f.d)();if(!b)return null;try{let c=await (0,g.PK)(b.companyUuid,a);if(!c)return null;return{uuid:c.uuid,title:c.title}}catch(a){return h.A.error({err:a},"Failed to get task source"),null}}[f,g]=j.then?(await j)():j,(0,i.D)([k]),(0,e.A)(k,"400067c3cf7ed30a442781337da48bbf9fb8a963a1",null),d()}catch(a){d(a)}})},73393:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A0:()=>t,TV:()=>v,Yw:()=>u,bd:()=>q,hR:()=>r,iY:()=>n,p2:()=>p,qb:()=>o,vq:()=>w,y9:()=>s});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(28774),j=c(67738),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("open"!==c.status&&"assigned"!==c.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:b.companyUuid,assigneeType:b.type,assigneeUuid:b.actorUuid,assignedByUuid:b.actorUuid}),await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to claim task"),{success:!1,error:"Failed to claim task"}}}async function o(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};if("open"!==d.status&&"assigned"!==d.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:c.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByUuid:c.actorUuid}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to claim task to agent"),{success:!1,error:"Failed to claim task"}}}async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("assigned"!==c.status&&"in_progress"!==c.status)return{success:!1,error:"Task is not in assigned status"};return await (0,h.Fp)(a),await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"released"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to release task"),{success:!1,error:"Failed to release task"}}}async function q(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.lC)(a,{status:b}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"status_changed",value:{status:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to update task status"),{success:!1,error:"Failed to update task status"}}}async function r(a){let b=await (0,g.d)();if(!b||"user"!==b.type)return{success:!1,error:"Only humans can verify tasks"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("to_verify"!==c.status)return{success:!1,error:"Task is not in to_verify status"};let d=await (0,h.Ew)(a);if(!d.allowed)return{success:!1,error:d.reason||"Not all required acceptance criteria are passed"};return await (0,h.lC)(a,{status:"done"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to verify task"),{success:!1,error:"Failed to verify task"}}}async function s(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};if("open"!==d.status&&"assigned"!==d.status)return{success:!1,error:"Task is not available for assigning"};return await (0,h.QK)({taskUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByUuid:c.actorUuid}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"assigned",value:{assigneeType:"user",assigneeUuid:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to assign task to user"),{success:!1,error:"Failed to assign task"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.UT)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description||null,priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,createdByUuid:b.actorUuid});return await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,targetType:"task",targetUuid:c.uuid,actorType:b.type,actorUuid:b.actorUuid,action:"task_created"}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0,taskUuid:c.uuid}}catch(a){return k.A.error({err:a},"Failed to create task"),{success:!1,error:"Failed to create task"}}}async function u(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(b.companyUuid,a.taskUuid))return{success:!1,error:"Task not found"};return await (0,h.lC)(a.taskUuid,{title:a.title,description:a.description,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to update task"),{success:!1,error:"Failed to update task"}}}async function v(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(c.companyUuid,a))return{success:!1,error:"Task not found"};return await (0,h.vq)(a),(0,f.revalidatePath)(`/projects/${b}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to delete task"),{success:!1,error:"Failed to delete task"}}}async function w(){let a=await (0,g.d)();if(!a||"user"!==a.type)return{agents:[],users:[]};try{let[b,c]=await Promise.all([(0,i.ic)(a.companyUuid,"task:write",a.actorUuid),(0,i.A8)(a.companyUuid)]);return{agents:b,users:c,currentUserUuid:a.actorUuid}}catch(a){return k.A.error({err:a},"Failed to get assignable agents"),{agents:[],users:[]}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t,u,v,w]),(0,e.A)(n,"402bfb6dbc2330339f67e613036af0ecfa02e7e8db",null),(0,e.A)(o,"60acc6478ae16ce4142685f481af02f600d91733e6",null),(0,e.A)(p,"40791ba93d4adb772e44c848aff6980f7da5f5c833",null),(0,e.A)(q,"60d385edc971b774b29db4a76b6288664e3ff6e3eb",null),(0,e.A)(r,"40ce3a32ab468b6ef94714edad404f1acccfe469e6",null),(0,e.A)(s,"602ec983630518488edb633843f13f8936904eba82",null),(0,e.A)(t,"4087985b5a435fc84336fa71bd622ee65068d1a70b",null),(0,e.A)(u,"407cf64363bc094181b20e71be29f4eaf985ab9701",null),(0,e.A)(v,"60c69091d26aa5c80138990b48d8f4bbd263a11976",null),(0,e.A)(w,"00cc674162965f046ec2005a0aa1d5339a8b86d16b",null),d()}catch(a){d(a)}})},77521:(a,b,c)=>{c.d(b,{Bj:()=>i,L8:()=>e,Wl:()=>j,_5:()=>h,eT:()=>f,fw:()=>g});var d=c(76664);let e=480;function f(a){switch(a){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 g(a,b){let c=new Date(a),e=new Date().getTime()-c.getTime(),f=Math.floor(e/6e4),g=Math.floor(e/36e5),h=Math.floor(e/864e5);return f<1?b("time.justNow"):f<60?b("time.minutesAgo",{minutes:f}):g<24?b("time.hoursAgo",{hours:g}):h<7?b("time.daysAgo",{days:h}):(0,d.r)(c)}let h={todo:"bg-[#FFF3E0] text-[#E65100]",in_progress:"bg-[#E3F2FD] text-[#1976D2]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]"},i={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},j={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},81751:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J:()=>l,h:()=>m});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(30457),i=c(97307),j=c(12217),k=a([g,h]);async function l(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.OU)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.A.error({err:a},"Failed to fetch task sessions"),{success:!1,error:"Failed to fetch task sessions"}}}async function m(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.y_)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.A.error({err:a},"Failed to fetch batch worker counts"),{success:!1,error:"Failed to fetch batch worker counts"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m]),(0,e.A)(l,"40e97ce0b950d948479e35998482b7f2991815cd36",null),(0,e.A)(m,"400a9b126aa8432283d46f71e2fa1da35098566ce7",null),d()}catch(a){d(a)}})},85950:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4087985b5a435fc84336fa71bd622ee65068d1a70b",d.callServer,void 0,d.findSourceMapURL,"createTaskAction")},86104:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{v:()=>aa});var e=c(10837),f=c(21968),g=c(1007),h=c(9222),i=c(33407),j=c(10694),k=c(92900),l=c(35209),m=c(87461),n=c(16235),o=c(65956),p=c(86460),q=c(67832),r=c(98893),s=c(97825),t=c(59179),u=c(55775),v=c(9810),w=c(97443),x=c(58270),y=c(644),z=c(21326),A=c(79543),B=c(49599),C=c(35198),D=c(42424),E=c(9994),F=c(20170),G=c(2852),H=c(74645),I=c(55732),J=c(6019),K=c(80251),L=c(51877),M=c(85950),N=c(94408),O=c(68990),P=c(71275),Q=c(95112),R=c(56828);c(61967),c(28476);var S=c(97450),T=c(92874);c(10945),c(90699);var U=c(46081),V=c(4624);c(66553);var W=c(76664),X=c(31009),Y=c(45148),Z=c(77521),$=a([R,S]);[R,S]=$.then?(await $)():$;let ab={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]"},ac={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ad={low:"bg-[#F5F5F5] text-[#9A9A9A]",medium:"bg-[#FFF3E0] text-[#E65100]",high:"bg-[#FEE2E2] text-[#D32F2F]",critical:"bg-[#FFCDD2] text-[#B71C1C]"},ae={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function _(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,W.r)(c)}function aa({task:a,projectUuid:b,currentUserUuid:c,mode:d="overlay",onClose:$,onCreated:aa,onDependencyChange:af,onBack:ag}){let ah=(0,h.c)(),ai=(0,g.useRouter)(),[aj,ak]=(0,f.useState)(!1),[al,am]=(0,f.useState)(!1),[an,ao]=(0,f.useState)([]),[ap,aq]=(0,f.useState)(!0),[ar,as]=(0,f.useState)(null),[at,au]=(0,f.useState)(!1),[av,aw]=(0,f.useState)([]),[ax,ay]=(0,f.useState)([]),[az,aA]=(0,f.useState)(!1),[aB,aC]=(0,f.useState)([]),[aD,aE]=(0,f.useState)(null),[aF,aG]=(0,f.useState)([]),[aH,aI]=(0,f.useState)([]),aJ=null===a,[aK,aL]=(0,f.useState)(aJ),[aM,aN]=(0,f.useState)(a?.title||""),[aO,aP]=(0,f.useState)(a?.description||""),[aQ,aR]=(0,f.useState)(a?.priority||"medium"),[aS,aT]=(0,f.useState)(a?.storyPoints!=null?String(a.storyPoints):""),[aU,aV]=(0,f.useState)(a?.acceptanceCriteria||""),[aW,aX]=(0,f.useState)(!1),[aY,aZ]=(0,f.useState)(null),[a$,a_]=(0,f.useState)(!1),a0=a?.assignee?.uuid===c,a1=a0&&a?.status==="assigned",a2=a0&&a?.status==="in_progress",a3=a?.status==="to_verify",a4=async b=>{if(!a)return;am(!0);let c=await (0,L.b)(a.uuid,b);am(!1),c.success&&($(),ai.refresh())},a5=()=>{if(aJ)return void $();aL(!1),a&&(aN(a.title),aP(a.description||""),aR(a.priority),aT(null!=a.storyPoints?String(a.storyPoints):""),aV(a.acceptanceCriteria||"")),aZ(null)},a6=async()=>{if(!aM.trim())return void aZ(ah("tasks.titleRequired"));aX(!0),aZ(null);let c=aS.trim()?parseFloat(aS):null;if(aJ){let a=await (0,M.A)({projectUuid:b,title:aM.trim(),description:aO.trim()||void 0,priority:aQ,storyPoints:c,acceptanceCriteria:aU.trim()||null});aX(!1),a.success?(aH.length>0&&a.taskUuid&&(await Promise.all(aH.map(b=>(0,U.w)(a.taskUuid,b.uuid))),af?.()),aa?.(),$(),ai.refresh()):aZ(a.error||ah("tasks.createFailed"))}else{let d=await (0,N.Y)({taskUuid:a.uuid,projectUuid:b,title:aM.trim(),description:aO.trim()||null,priority:aQ,storyPoints:c,acceptanceCriteria:aU.trim()||null});aX(!1),d.success?(aL(!1),ai.refresh()):aZ(d.error||ah("tasks.updateFailed"))}},a7=async()=>{if(!a)return;a_(!0);let c=await (0,O.T)(a.uuid,b);a_(!1),c.success&&($(),ai.refresh())},a8=async b=>{if(!a)return;aE(null);let c=await (0,U.w)(a.uuid,b);if(c.success){let a=aB.find(a=>a.uuid===b);a&&aw(b=>[...b,a]),af?.()}else aE(c.error||ah("tasks.failedToAddDep"))},a9=async b=>{if(!a)return;aE(null);let c=await (0,V.T)(a.uuid,b);c.success?(aw(a=>a.filter(a=>a.uuid!==b)),af?.()):aE(c.error||ah("tasks.failedToRemoveDep"))},ba=async b=>{if(!a)return;aE(null);let c=await (0,V.T)(b,a.uuid);c.success?(ay(a=>a.filter(a=>a.uuid!==b)),af?.()):aE(c.error||ah("tasks.failedToRemoveDep"))},bb=aB.filter(b=>b.uuid!==a?.uuid&&!av.some(a=>a.uuid===b.uuid)),bc=aB.filter(a=>!aH.some(b=>b.uuid===a.uuid)),bd="sidebyside"===d;return(0,e.jsxs)(e.Fragment,{children:[!bd&&(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:$}),(0,e.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] ${bd?`z-40 ${aj?"":"animate-in slide-in-from-right duration-300"}`:`z-50 right-0 ${aj?"":"animate-in slide-in-from-right duration-300"}`}`,style:{maxWidth:`${Z.L8}px`,...bd?{right:`${Z.L8}px`}:{}},children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[ag&&(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:ag,children:(0,e.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:aK?(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:aJ?ah("tasks.createTaskTitle"):ah("tasks.editTask")}):a?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:a.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,e.jsx)(B.E,{className:ab[a.status]||"",children:ah(`status.${ac[a.status]||a.status}`)}),(0,e.jsx)(B.E,{className:ad[a.priority]||"",children:ah(`priority.${ae[a.priority]||a.priority}`)}),a.storyPoints&&(0,e.jsxs)("span",{className:"rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[a.storyPoints,"h"]})]})]}):null}),(0,e.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[a&&!aK&&(0,e.jsxs)(D.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:()=>{a&&(aN(a.title),aP(a.description||""),aR(a.priority),aT(null!=a.storyPoints?String(a.storyPoints):""),aV(a.acceptanceCriteria||""),aZ(null),aL(!0))},children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,e.jsx)("span",{className:"text-xs",children:ah("common.edit")})]}),(0,e.jsx)(D.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:aK&&!aJ?a5:$,children:(0,e.jsx)(j.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,e.jsx)(H.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:aK?(0,e.jsxs)("div",{className:"space-y-5",children:[aY&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:aY}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.titleLabel")}),(0,e.jsx)(E.p,{id:"edit-title",value:aM,onChange:a=>aN(a.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.descriptionLabel")}),(0,e.jsx)(F.T,{id:"edit-description",value:aO,onChange:a=>aP(a.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.priorityLabel")}),(0,e.jsxs)(I.l6,{value:aQ,onValueChange:aR,children:[(0,e.jsx)(I.bq,{className:"border-[#E5E0D8] text-sm focus:ring-[#C67A52]",children:(0,e.jsx)(I.yv,{})}),(0,e.jsxs)(I.gC,{children:[(0,e.jsx)(I.eb,{value:"low",children:ah("priority.low")}),(0,e.jsx)(I.eb,{value:"medium",children:ah("priority.medium")}),(0,e.jsx)(I.eb,{value:"high",children:ah("priority.high")})]})]})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.storyPointsLabel")}),(0,e.jsx)(E.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:aS,onChange:a=>aT(a.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-acceptance-criteria",className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.acceptanceCriteriaLabel")}),(0,e.jsx)(F.T,{id:"edit-acceptance-criteria",value:aU,onChange:a=>aV(a.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),aJ&&(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:ah("tasks.dependencies")}),aH.length>0&&(0,e.jsx)("div",{className:"space-y-1.5",children:aH.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ab[a.status]||""}`,children:ah(`status.${ac[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>aI(b=>b.filter(b=>b.uuid!==a.uuid)),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))}),bc.length>0&&(0,e.jsxs)(I.l6,{onValueChange:a=>{let b=aB.find(b=>b.uuid===a);b&&aI(a=>[...a,b])},children:[(0,e.jsx)(I.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(I.yv,{placeholder:ah("tasks.addDependency")})]})}),(0,e.jsx)(I.gC,{children:bc.map(a=>(0,e.jsx)(I.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},aH.length)]})]}):a?(0,e.jsxs)(X.P.div,{variants:Y.qG,initial:"initial",animate:"animate",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("common.assignee")}),(0,e.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:a.assignee?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(K.eu,{className:"h-7 w-7",children:(0,e.jsx)(K.q5,{className:"agent"===a.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===a.assignee.type?(0,e.jsx)(n.A,{className:"h-3.5 w-3.5"}):a.assignee.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:a.assignee.name}),(0,e.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===a.assignee.type?`${ah("common.agent")} • ${a.assignee.assignedAt?(0,W.r)(a.assignee.assignedAt):""}`:ah("common.user")})]})]}):(0,e.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:ah("common.unassigned")})})]}),aF.length>0&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("sessions.activeWorkers")}),(0,e.jsx)("div",{className:"mt-2 space-y-1.5",children:aF.map(a=>(0,e.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,e.jsx)("div",{className:"h-2 w-2 rounded-full bg-green-500 flex-shrink-0"}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-xs font-medium text-[#2C2C2C] truncate",children:a.sessionName}),(0,e.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[a.agentName," \xb7 ",_(a.checkinAt,ah)]})]})]},a.sessionUuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("common.description")}),(0,e.jsx)("div",{className:"mt-2",children:a.description?(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(S.MarkdownContent,{children:a.description})}):(0,e.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:ah("common.noDescription")})})]}),a.acceptanceCriteria&&!(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0)&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("tasks.acceptanceCriteria")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(S.MarkdownContent,{children:a.acceptanceCriteria})})})]}),ar&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("common.source")}),(0,e.jsx)("a",{href:`/projects/${b}/proposals/${ar.uuid}`,className:"mt-2 flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3 hover:bg-[#F0EDE5] transition-colors",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:ar.title})]})})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("tasks.dependencies")}),aD&&(0,e.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:aD}),az?(0,e.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,e.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,e.jsxs)(e.Fragment,{children:[av.length>0&&(0,e.jsxs)("div",{className:"mt-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(q.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("tasks.dependsOn")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:av.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ab[a.status]||""}`,children:ah(`status.${ac[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>a9(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),ax.length>0&&(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(q.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("tasks.blockedByThis")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:ax.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#6B6B6B]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ab[a.status]||""}`,children:ah(`status.${ac[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>ba(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),0===av.length&&0===ax.length&&(0,e.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:ah("tasks.noDependencies")}),bb.length>0&&(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsxs)(I.l6,{onValueChange:a=>a8(a),children:[(0,e.jsx)(I.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(I.yv,{placeholder:ah("tasks.addDependency")})]})}),(0,e.jsx)(I.gC,{children:bb.map(a=>(0,e.jsx)(I.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},av.length)})]})]}),a&&a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0&&(()=>{let b=a.acceptanceCriteriaItems,c=a.acceptanceSummary,d=a=>"passed"===a?(0,e.jsx)(r.A,{className:"h-4 w-4 text-green-600"}):"failed"===a?(0,e.jsx)(s.A,{className:"h-4 w-4 text-red-600"}):(0,e.jsx)(t.A,{className:"h-4 w-4 text-yellow-600"}),f=a=>"passed"===a?"bg-green-50 text-green-700":"failed"===a?"bg-red-50 text-red-700":"bg-yellow-50 text-yellow-700",g=async(b,c)=>{(await (0,P.h)(a.uuid,[{uuid:b,status:c}])).success&&ai.refresh()};return(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("acceptanceCriteria.title")}),c&&(0,e.jsx)(B.E,{className:f(a.acceptanceStatus||"pending"),variant:"secondary",children:ah("acceptanceCriteria.progress",{passed:c.passed,total:c.total})})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-2",children:[b.map(b=>(0,e.jsx)(C.Zp,{className:"p-3",children:(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)("div",{className:"mt-0.5 shrink-0",children:d(b.status)}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:b.description}),(0,e.jsx)(B.E,{variant:"outline",className:"text-[10px] shrink-0",children:b.required?ah("acceptanceCriteria.required"):ah("acceptanceCriteria.optional")})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:ah("acceptanceCriteria.devSelfCheck")}),(0,e.jsxs)(B.E,{className:`text-[10px] ${f(b.devStatus)}`,variant:"secondary",children:[d(b.devStatus),(0,e.jsx)("span",{className:"ml-1",children:ah(`acceptanceCriteria.status.${b.devStatus}`)})]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:ah("acceptanceCriteria.verification")}),(0,e.jsxs)(B.E,{className:`text-[10px] ${f(b.status)}`,variant:"secondary",children:[d(b.status),(0,e.jsx)("span",{className:"ml-1",children:ah(`acceptanceCriteria.status.${b.status}`)})]})]})]}),b.devEvidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:ah("acceptanceCriteria.devEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:b.devEvidence})]}),b.evidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:ah("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:b.evidence})]}),"pending"===b.status?(0,e.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,e.jsxs)(D.$,{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:()=>g(b.uuid,"passed"),children:[(0,e.jsx)(r.A,{className:"h-3.5 w-3.5 mr-1"}),ah("acceptanceCriteria.pass")]}),(0,e.jsxs)(D.$,{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:()=>g(b.uuid,"failed"),children:[(0,e.jsx)(s.A,{className:"h-3.5 w-3.5 mr-1"}),ah("acceptanceCriteria.fail")]})]}):(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)(D.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-[#2C2C2C]",onClick:async()=>{(await (0,Q.N)(a.uuid,b.uuid)).success&&ai.refresh()},children:ah("acceptanceCriteria.undoVerification")})})]})]})},b.uuid)),c&&(c.requiredPending>0||c.requiredFailed>0)&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 p-3 mt-2",children:[(0,e.jsx)(u.A,{className:"h-4 w-4 text-yellow-600 shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-yellow-700",children:ah("acceptanceCriteria.gateBlocked",{count:c.requiredPending+c.requiredFailed})})]}),c&&0===c.requiredPending&&0===c.requiredFailed&&c.required>0&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 p-3 mt-2",children:[(0,e.jsx)(r.A,{className:"h-4 w-4 text-green-600 shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-green-700",children:ah("acceptanceCriteria.gateReady")})]})]})]})})(),(0,e.jsxs)("div",{className:"mt-5 flex-1",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("common.activity")}),(0,e.jsx)("div",{className:"mt-2 space-y-3",children:ap?(0,e.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,e.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===an.length?(0,e.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:ah("common.noActivity")}):an.map(a=>(0,e.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,e.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,e.jsx)("div",{className:`h-2 w-2 rounded-full ${function(a){switch(a){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]"}}(a.action)}`})}),(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("p",{className:"text-xs text-[#2C2C2C]",children:function(a,b){let c=a.sessionName?`${a.actorName} / ${a.sessionName}`:a.actorName,{action:d}=a;switch(d){case"task_created":return b("activity.taskCreated",{actor:c});case"task_assigned":return b("activity.taskAssigned",{actor:c});case"task_claimed":return b("activity.taskClaimed",{actor:c});case"task_started":return b("activity.taskStarted",{actor:c});case"task_submitted":return b("activity.taskSubmitted",{actor:c});case"task_completed":case"task_verified":return b("activity.taskCompleted",{actor:c});case"task_released":return b("activity.taskReleased",{actor:c});case"task_status_changed":return b("activity.taskStatusChanged",{actor:c});default:return`${c}: ${d}`}}(a,ah)}),(0,e.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:_(a.createdAt,ah)})]})]},a.uuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ah("comments.title")}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)(R.$,{targetType:"task",targetUuid:a.uuid,currentUserUuid:c,compact:!0})})]})]}):null})}),(0,e.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,e.jsx)("div",{className:"flex items-center gap-3",children:aK?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(D.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:a5,disabled:aW,children:ah("common.cancel")}),(0,e.jsx)(D.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:a6,disabled:aW||!aM.trim(),children:aW?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ah("common.saving")]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.A,{className:"mr-2 h-4 w-4"}),aJ?ah("common.create"):ah("tasks.saveChanges")]})})]}):a?(0,e.jsxs)(e.Fragment,{children:["done"!==a.status&&"closed"!==a.status&&(0,e.jsxs)(D.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>au(!0),disabled:al,children:[(0,e.jsx)(w.A,{className:"mr-2 h-4 w-4"}),ah("common.assign")]}),a1&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>a4("in_progress"),disabled:al,children:[(0,e.jsx)(x.A,{className:"mr-2 h-4 w-4"}),ah("tasks.startWork")]}),a2&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>a4("to_verify"),disabled:al,children:[(0,e.jsx)(y.A,{className:"mr-2 h-4 w-4"}),ah("tasks.submitForReview")]}),a3&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>a4("done"),disabled:al,children:[(0,e.jsx)(z.A,{className:"mr-2 h-4 w-4"}),ah("tasks.markAsVerified")]}),("done"===a.status||"closed"===a.status)&&(0,e.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:ah("tasks.taskCompleted")}),(0,e.jsx)("div",{className:"ml-auto",children:(0,e.jsxs)(J.Lt,{children:[(0,e.jsx)(J.tv,{asChild:!0,children:(0,e.jsx)(D.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,e.jsx)(A.A,{className:"h-4 w-4"})})}),(0,e.jsxs)(J.EO,{children:[(0,e.jsxs)(J.wd,{children:[(0,e.jsx)(J.r7,{children:ah("tasks.deleteTask")}),(0,e.jsx)(J.$v,{children:ah("tasks.deleteTaskConfirm",{title:a.title})})]}),(0,e.jsxs)(J.ck,{children:[(0,e.jsx)(J.Zr,{children:ah("common.cancel")}),(0,e.jsx)(J.Rx,{variant:"destructive",onClick:a7,disabled:a$,children:a$?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ah("common.delete")]}):ah("common.delete")})]})]})]})})]}):null})})]}),a&&at&&(0,e.jsx)(T.Q,{task:a,projectUuid:b,currentUserUuid:c,onClose:()=>au(!1)})]})}d()}catch(a){d(a)}})},90699:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40abc84636d041cef8f935b0751c9281f791c9e012",d.callServer,void 0,d.findSourceMapURL,"getProjectTasksForDependencyAction")},92874:(a,b,c)=>{c.d(b,{Q:()=>u});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(10694),i=c(86460),j=c(16235),k=c(97443),l=c(42424),m=c(2852),n=c(11225),o=c(55732),p=c(42377);p.callServer,p.findSourceMapURL;let q=(0,p.createServerReference)("402bfb6dbc2330339f67e613036af0ecfa02e7e8db",p.callServer,void 0,p.findSourceMapURL,"claimTaskAction"),r=(0,p.createServerReference)("60acc6478ae16ce4142685f481af02f600d91733e6",p.callServer,void 0,p.findSourceMapURL,"claimTaskToAgentAction"),s=(0,p.createServerReference)("602ec983630518488edb633843f13f8936904eba82",p.callServer,void 0,p.findSourceMapURL,"claimTaskToUserAction"),t=(0,p.createServerReference)("40791ba93d4adb772e44c848aff6980f7da5f5c833",p.callServer,void 0,p.findSourceMapURL,"releaseTaskAction");function u({task:a,projectUuid:b,currentUserUuid:c,onClose:p}){let u=(0,g.c)(),v=(0,f.useRouter)(),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)("self"),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)(""),[E,F]=(0,e.useState)([]),[G,H]=(0,e.useState)([]),[I,J]=(0,e.useState)(!0),[K,L]=(0,e.useState)(null),M=!!a.assignee,N=async()=>{let b;if(x(!0),L(null),"self"===y)b=await q(a.uuid);else if("agent"===y&&A)b=await r(a.uuid,A);else if("user"===y&&C)b=await s(a.uuid,C);else{if("release"!==y)return void x(!1);b=await t(a.uuid)}x(!1),b?.success?(p(),v.refresh()):b?.error&&L(b.error)},O="self"===y||"agent"===y&&A||"user"===y&&C||"release"===y&&M;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:p}),(0,d.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,d.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,d.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:u("tasks.assignTask")}),(0,d.jsx)("button",{onClick:p,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,d.jsx)(h.A,{className:"h-5 w-5"})})]}),(0,d.jsxs)("div",{className:"p-6 space-y-4",children:[(0,d.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,d.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:a.title}),a.description&&(0,d.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:a.description})]}),M&&(0,d.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,d.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[u("common.currentAssignee"),": ",(0,d.jsx)("span",{className:"font-medium",children:a.assignee?.name})]})}),K&&(0,d.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,d.jsx)("p",{className:"text-xs text-[#D32F2F]",children:K})}),(0,d.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:u("assign.selectAssignee")}),I?(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,d.jsxs)(n.z,{value:y,onValueChange:a=>z(a),className:"space-y-3",children:[(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"self"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"}`,onClick:()=>z("self"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(n.C,{value:"self",id:"self",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.assignToMyself")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.assignToMyselfDesc")})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"agent"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>z("agent"),children:[(0,d.jsx)(n.C,{value:"agent",id:"agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("tasks.onlySelectedAgentCanWork")}),"agent"===y&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(o.l6,{value:A,onValueChange:B,children:[(0,d.jsx)(o.bq,{className:"w-full border-[#E5E0D8]",children:(0,d.jsx)(o.yv,{placeholder:u("tasks.selectAgent")})}),(0,d.jsx)(o.gC,{children:E.length>0?E.map(a=>(0,d.jsx)(o.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,d.jsx)("span",{children:a.name})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noAgentsAvailable")})})]})})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"user"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>z("user"),children:[(0,d.jsx)(n.C,{value:"user",id:"user",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToUser")})]}),"user"===y&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(o.l6,{value:C,onValueChange:D,children:[(0,d.jsx)(o.bq,{className:"w-full border-[#E5E0D8]",children:(0,d.jsx)(o.yv,{placeholder:u("tasks.selectUser")})}),(0,d.jsx)(o.gC,{children:G.length>0?G.map(a=>(0,d.jsx)(o.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,d.jsx)("span",{children:a.name||a.email})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noUsersAvailable")})})]})})]}),M&&(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"release"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"}`,onClick:()=>z("release"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(n.C,{value:"release",id:"release",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.releaseAssignee")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.releaseAssigneeDesc")})]})]})]}),(0,d.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,d.jsx)(l.$,{variant:"outline",onClick:p,disabled:w,className:"border-[#E5E0D8]",children:u("common.cancel")}),(0,d.jsx)(l.$,{onClick:N,disabled:w||!O,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:w?(0,d.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):u("release"===y?"common.release":"common.assign")})]})]})]})}},94408:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("407cf64363bc094181b20e71be29f4eaf985ab9701",d.callServer,void 0,d.findSourceMapURL,"updateTaskFieldsAction")},95112:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60b53a2c77387cac4116e4d73ae3df5ae307ea6923",d.callServer,void 0,d.findSourceMapURL,"resetCriterionAction")},98625:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(21968);function e(a,b){let[c,e]=(0,d.useState)(b??null),[f,g]=(0,d.useState)(()=>null),h=(0,d.useCallback)((b,c)=>{let d=new URLSearchParams(window.location.search);b?d.set("panel",b):d.delete("panel"),c?d.set("tab",c):d.delete("tab");let e=d.toString();return e?`${a}?${e}`:a},[a]),i=(0,d.useCallback)((a,b)=>{let c=h(a,b);window.history.replaceState(null,"",c),e(a),g(b??null)},[h]),j=(0,d.useCallback)(()=>{let a=h(null);window.history.replaceState(null,"",a),e(null),g(null)},[h]),k=(0,d.useCallback)(a=>{if(!c)return;let b=h(c,a);window.history.replaceState(null,"",b),g(a)},[h,c]);return{selectedId:c,selectedTab:f,openPanel:i,closePanel:j,switchTab:k}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=6207,exports.ids=[6207],exports.modules={9318:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>as});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(81512),i=c.n(h),j=c(42424),k=c(76723),l=c(5797),m=c(65956),n=c(4065),o=c(10529),p=c(28605),q=c(33650),r=c(59169),s=c(35209),t=c(21790),u=c(71833),v=c(46839),w=c(93524),x=c(15640),y=c(11568),z=c(54722);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],B=Array.from({length:7},(a,b)=>b).sort((a,b)=>A[a].topY-A[b].topY);function C({slots:a,projectName:b,agentCount:c,collapsed:f=!1,effects:g,onEffectsConsumed:h}){let i=(0,e.useRef)(null),j=(0,e.useRef)({}),k=(0,e.useRef)(!1),l=(0,e.useRef)(0),m=(0,e.useRef)(0),n=(0,e.useRef)(0),o=(0,e.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),p=(0,e.useRef)(a),q=(0,e.useRef)(b),r=(0,e.useRef)(c),s=(0,e.useRef)(f),t=(0,e.useRef)([]),u=(0,e.useCallback)(a=>{a.fillStyle="#d0d0e0",a.fillRect(0,0,256,16),a.fillStyle="#e4e4f0",a.fillRect(0,0,256,1),a.fillStyle="#9999aa",a.fillRect(0,15,256,1),a.font="bold 7px monospace",a.textBaseline="middle",a.fillStyle="#333",a.textAlign="left";let b=q.current,c=b.length>20?b.slice(0,18)+"..":b;a.fillText(c,6,8),a.textAlign="right",a.fillStyle="#336";let d=r.current;a.fillText(`${d} agent${1!==d?"s":""}`,250,8),a.textAlign="start",a.textBaseline="alphabetic"},[]),v=(0,e.useCallback)((a,b)=>{let c=p.current[b];if(!c?.sessionName)return;let d=A[b];a.font="5px monospace",a.textAlign="center",a.textBaseline="bottom";let e=c.sessionName.length>12?c.sessionName.slice(0,10)+"..":c.sessionName,f=a.measureText(e).width,g=d.cx,h=d.topY-4;a.fillStyle="rgba(0,0,0,0.55)",a.fillRect(g-f/2-2,h-6,f+4,7),a.fillStyle="#fff",a.fillText(e,g,h),a.textAlign="start",a.textBaseline="alphabetic"},[]),w=(0,e.useCallback)(a=>{for(let b of t.current){let c=b.elapsed/b.duration,d=A[b.slotIndex]||A[0];switch(b.type){case"bulb":{let b=c<.1?c/.1:c>.8?(1-c)/.2:1,e=d.cx,f=d.topY-14-2*Math.sin(c*Math.PI*4);a.fillStyle=`rgba(255, 220, 50, ${.3*b})`,a.beginPath(),a.arc(e,f,8,0,2*Math.PI),a.fill(),a.fillStyle=`rgba(255, 230, 80, ${b})`,a.beginPath(),a.arc(e,f,4,0,2*Math.PI),a.fill(),a.fillStyle=`rgba(255, 255, 200, ${b})`,a.fillRect(e-1,f-1,2,2),a.fillStyle=`rgba(180, 180, 180, ${b})`,a.fillRect(e-2,f+3,4,2);break}case"document":{let b=256+(d.cx-256)*Math.min(2*c,1),e=d.topY-10+-15*Math.sin(c*Math.PI);a.globalAlpha=c>.8?(1-c)/.2:1,a.fillStyle="#f8f8f0",a.fillRect(b,e,8,10),a.strokeStyle="#aaa",a.lineWidth=.5,a.strokeRect(b,e,8,10),a.fillStyle="#ccc",a.fillRect(b+1.5,e+2,5,1),a.fillRect(b+1.5,e+4,4,1),a.fillRect(b+1.5,e+6,5,1),a.globalAlpha=1;break}case"stars":{let b=c>.7?(1-c)/.3:1,e=d.cx,f=d.cy;for(let d=0;d<8;d++){let g=d/8*Math.PI*2+c*Math.PI*3,h=10+15*c,i=e+Math.cos(g)*h,j=f+Math.sin(g)*h,k=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];a.fillStyle=k[d%k.length],a.globalAlpha=b*(.5+.5*Math.sin(c*Math.PI*6+d));let l=1.5+.5*Math.sin(c*Math.PI*4+d);a.fillRect(i-l/2,j-l/2,l,l)}a.globalAlpha=1;break}case"flash":{let b=c<.3?c/.3:(1-c)/.7;a.fillStyle=`rgba(255, 255, 255, ${.6*b})`,a.fillRect(0,16,256,240)}}}},[]),x=(0,e.useCallback)((a,b)=>{a.clearRect(0,0,768,768),a.save(),a.scale(3,3);let c=b.floor;for(let d of(c?.complete&&c.naturalWidth&&a.drawImage(c,0,0,256,256),B)){let c=o.current[d];if("empty"===c.state)continue;let e="typing"===c.state&&c.cycleIndex%2==1,f=b[`char${d}-frame${e?2:1}`];if(f?.complete&&f.naturalWidth){"celebrate"===c.state&&(a.save(),a.globalAlpha=.85+.15*Math.sin(Date.now()/200));let b="looking"===c.state?+Math.sin(Date.now()/300):0;0!==b&&(a.save(),a.translate(0,b)),a.drawImage(f,0,0,256,256),0!==b&&a.restore(),"celebrate"===c.state&&a.restore()}v(a,d)}u(a),w(a),a.restore()},[u,v,w]),y=(0,e.useCallback)(a=>{for(let b=0;b<7;b++){let c=o.current[b];"empty"!==c.state&&(c.stateTimer+=a,"celebrate"===c.state&&c.stateTimer>=3e3&&(c.state="idle",c.cycleIndex=0,c.frameTicks=0,c.stateTimer=0),"looking"===c.state&&c.stateTimer>=1500&&(c.state="idle",c.cycleIndex=0,c.frameTicks=0,c.stateTimer=0),"typing"===c.state&&(c.frameTicks++,c.frameTicks>=c.ticksPerFrame&&(c.frameTicks=0,c.cycleIndex=(c.cycleIndex+1)%2)))}let b=t.current;for(let c=b.length-1;c>=0;c--)b[c].elapsed+=a,b[c].elapsed>=b[c].duration&&b.splice(c,1)},[]),z=(0,e.useCallback)(a=>{if(s.current){l.current=requestAnimationFrame(z),m.current=a;return}let b=a-m.current;m.current=a,n.current+=b;let c=!1;for(;n.current>=10;)n.current-=10,y(10),c=!0;if(c){let a=i.current,b=a?.getContext("2d");b&&k.current&&x(b,j.current)}l.current=requestAnimationFrame(z)},[y,x]);return(0,d.jsx)("canvas",{ref:i,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}!function(){let a={floor:"floor.png"};for(let b=0;b<7;b++)a[`char${b}-frame1`]=`char${b}-frame1.png`,a[`char${b}-frame2`]=`char${b}-frame2.png`}();var D=c(42377);let E=(0,D.createServerReference)("4019dc5c43c0d0b5cd0ecf1c4101d03c3bcac1be4c",D.callServer,void 0,D.findSourceMapURL,"getProjectActiveSessionsAction");var F=c(76172);function G({projectUuid:a,projectName:b}){let c=(0,g.c)("pixelCanvas"),[f,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(Array.from({length:7},()=>({state:"empty"}))),[k,l]=(0,e.useState)(0),[m,n]=(0,e.useState)([]),o=(0,e.useCallback)(async()=>{let b=await E(a);if(!b.success||!b.data)return;let c=b.data;j(Array.from({length:7},(a,b)=>{let d=c[b];return d?{state:"typing",sessionName:d.sessionName}:{state:"empty"}})),l(c.length)},[a]);(0,F.l9)(o);let p=(0,e.useCallback)(()=>{n([])},[]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>h(!0),children:(0,d.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,d.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,d.jsx)(x.default,{src:"/typing-animation.gif",alt:c("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),k>0&&(0,d.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:k})]})}),(0,d.jsx)(y.lG,{open:f,onOpenChange:h,children:(0,d.jsxs)(y.Cf,{className:"sm:max-w-2xl p-4",children:[(0,d.jsxs)(y.L3,{className:"text-sm",children:[b," — ",c("title")]}),(0,d.jsx)(y.rr,{className:"sr-only",children:c("title")}),(0,d.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,d.jsx)(C,{slots:i,projectName:b,agentCount:k,collapsed:!f,effects:m,onEffectsConsumed:p})})]})})]})}var H=c(76549),I=c(24838),J=c(98893),K=c(97825),L=c(59129),M=c(61131),N=c(24714),O=c(73112);let P=(0,e.createContext)(null),Q=new Set(["agent_checkin"]);function R({children:a}){let[b,c]=(0,e.useState)(0),h=(0,e.useRef)(new Set),i=(0,f.useRouter)(),j=(0,g.c)("notifications"),k=(0,e.useCallback)(()=>{h.current.forEach(a=>a())},[]),l=(0,e.useCallback)(async()=>{try{let a=await (0,w.tm)("/api/notifications?readFilter=unread&take=0");if(a.ok){let b=await a.json();b.success&&c(b.data.unreadCount)}}catch{}},[]),m=(0,e.useCallback)(()=>{l(),k()},[l,k]);(0,e.useCallback)(a=>{if(!a.action||Q.has(a.action)||!a.entityTitle||!a.actorName)return;let b=j(`types.${a.action}`),c=a.entityTitle,e=`${a.actorName} \xb7 ${b}`;(0,H.oR)(c,{description:e,icon:function(a){switch(a){case"task_assigned":case"idea_claimed":return(0,d.jsx)(I.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,d.jsx)(J.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,d.jsx)(K.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,d.jsx)(L.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,d.jsx)(M.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,d.jsx)(N.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,d.jsx)(O.A,{className:"h-4 w-4 text-blue-500"});default:return(0,d.jsx)(N.A,{className:"h-4 w-4 text-muted-foreground"})}}(a.action),duration:5e3,action:a.entityType&&a.entityUuid&&a.projectUuid?{label:j("viewDetail"),onClick:()=>i.push(function(a,b,c){let d=`/projects/${c}`;switch(a){case"task":return`${d}/tasks/${b}`;case"idea":return`${d}/ideas/${b}`;case"proposal":return`${d}/proposals/${b}`;case"document":return`${d}/documents/${b}`;default:return d}}(a.entityType,a.entityUuid,a.projectUuid))}:void 0})},[j,i]);let n=(0,e.useMemo)(()=>({unreadCount:b,refreshNotifications:m}),[b,m]);return(0,d.jsx)(P.Provider,{value:n,children:a})}function S(){let a=(0,e.useContext)(P);return a||{unreadCount:0,refreshNotifications:()=>{}}}var T=c(86677),U=c(74113),V=c(27362),W=c(31009),X=c(45148),Y=c(94372),Z=c(74645),$=c(49599);let _=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],aa=new Set(["agent_checkin"]);function ab({onClose:a}){let b=(0,g.c)("notifications"),c=(0,f.useRouter)(),{refreshNotifications:h}=S(),k=(0,e.useCallback)(a=>{let c=Date.now()-new Date(a).getTime(),d=Math.floor(c/6e4),e=Math.floor(c/36e5),f=Math.floor(c/864e5);return d<1?b("justNow"):d<60?b("minutesAgo",{count:d}):e<24?b("hoursAgo",{count:e}):b("daysAgo",{count:f})},[b]),[l,m]=(0,e.useState)([]),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(0),[r,s]=(0,e.useState)(0),[t,u]=(0,e.useState)(!0),v=(0,e.useCallback)(async(a,b)=>{let c=new URLSearchParams({limit:"20",offset:String(b)});a&&c.set("unreadOnly","true");let d=await (0,w.tm)(`/api/notifications?${c}`);if(!d.ok)return null;let e=await d.json();return e.success?e.data:null},[]),x=async()=>{await (0,w.tm)("/api/notifications/read-all",{method:"POST"}),o([]),s(0),m(a=>a.map(a=>a.readAt?a:{...a,readAt:new Date().toISOString()})),h()},y=async b=>{b.readAt||((0,w.tm)(`/api/notifications/${b.uuid}/read`,{method:"PATCH"}),o(a=>a.filter(a=>a.uuid!==b.uuid)),m(a=>a.map(a=>a.uuid===b.uuid?{...a,readAt:new Date().toISOString()}:a)),h()),a(),c.push(function(a){let{action:b,entityType:c,entityUuid:d,projectUuid:e}=a,f=`/projects/${e}`;if("report_created"===b)return`${f}/dashboard?panel=${d}&tab=overview`;switch(c){case"task":return`${f}/tasks/${d}`;case"idea":return`${f}/ideas/${d}`;case"proposal":return`${f}/proposals/${d}`;case"document":return`${f}/documents/${d}`;default:return f}}(b))},z=async a=>{let b=a?n:l,c=await v(a,b.length);c&&(a?o(a=>[...a,...c.notifications]):m(a=>[...a,...c.notifications]))},A=a=>{let{Icon:c,color:e}=function(a){switch(a){case"task_assigned":case"idea_claimed":return{Icon:I.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:J.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:K.A,color:"text-red-500"};case"comment_added":return{Icon:L.A,color:"text-orange-500"};case"mentioned":return{Icon:M.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:N.A,color:"text-blue-500"};case"task_status_changed":return{Icon:O.A,color:"text-blue-500"};case"report_created":return{Icon:V.A,color:"text-emerald-600"};default:return{Icon:N.A,color:"text-muted-foreground"}}}(a.action),f=function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return _[Math.abs(b)%_.length]}(a.projectUuid),g=!a.readAt;return(0,d.jsx)(W.P.div,{variants:X.Rf,children:(0,d.jsxs)("button",{onClick:()=>y(a),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,d.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:g?(0,d.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,d.jsx)("div",{className:"h-2 w-2"})}),(0,d.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,d.jsx)(c,{className:`h-4 w-4 ${e}`})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)($.E,{variant:"secondary",className:`mb-1 px-1.5 py-0 text-[10px] font-medium ${f.bg} ${f.text} border-0`,children:a.projectName}),(0,d.jsx)("div",{className:"text-[13px] font-medium text-foreground truncate",children:a.entityTitle}),(0,d.jsx)("div",{className:"text-[12px] text-muted-foreground truncate",children:b(`types.${a.action}`)}),(0,d.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:[a.actorName," \xb7 ",k(a.createdAt)]})]})]})},a.uuid)},B=(a,c,e)=>{let f=a.filter(a=>!aa.has(a.action));return t?(0,d.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[b("loadMore"),"..."]}):0===f.length?(0,d.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:c?b("noUnread"):b("noNotifications")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(W.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:f.map(A)}),f.length<e&&(0,d.jsx)("div",{className:"p-3 text-center",children:(0,d.jsx)(j.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>z(c),children:b("loadMore")})})]})};return(0,d.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b("title")}),(0,d.jsx)(j.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:x,children:b("markAllRead")})]}),(0,d.jsxs)(Y.tU,{defaultValue:"unread",className:"gap-0",children:[(0,d.jsxs)(Y.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,d.jsxs)(Y.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[b("tabUnread")," ",r>0&&`(${r})`]}),(0,d.jsx)(Y.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:b("tabAll")})]}),(0,d.jsx)(Y.av,{value:"all",className:"mt-0",children:(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto",children:B(l,!1,p)})},"tab-all")}),(0,d.jsx)(Y.av,{value:"unread",className:"mt-0",children:(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto",children:B(n,!0,r)})},"tab-unread")})]}),(0,d.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,d.jsx)(i(),{href:"/settings",onClick:a,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:b("notificationPreferences")})})]})}function ac(){let{unreadCount:a}=S(),[b,c]=(0,e.useState)(!1);return(0,d.jsxs)(U.AM,{open:b,onOpenChange:c,children:[(0,d.jsx)(U.Wv,{asChild:!0,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,d.jsx)(T.A,{className:"h-4 w-4"}),a>0&&(0,d.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:a>99?"99+":a})]})}),(0,d.jsx)(U.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,d.jsx)(ab,{onClose:()=>c(!1)})})]})}var ad=c(94143),ae=c(75888),af=c(86691),ag=c(86460),ah=c(78323),ai=c(96307),aj=c(9994),ak=c(55732),al=c(42087);let am=["all","task","idea","proposal","document","project"],an={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},ao={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function ap({currentProjectUuid:a,currentProjectName:b,currentGroupUuid:c,currentGroupName:h}){let i=(0,g.c)("search"),k=(0,g.c)("time"),l=(0,f.useRouter)(),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(a?"project":c?"group":"global"),[q,r]=(0,e.useState)([]),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)("all"),[A,B]=(0,e.useState)(0),C=(0,e.useRef)(null),D=(0,e.useRef)([]),E=(0,e.useRef)(void 0),F=(0,e.useCallback)(async(b,d,e="all")=>{if(!b.trim()){r([]),t(!1);return}t(!0);try{let f=new URLSearchParams({q:b.trim(),scope:d,limit:"20"});"project"===d&&a?f.set("scopeUuid",a):"group"===d&&c&&f.set("scopeUuid",c),"all"!==e&&f.set("types",e);let g=await fetch(`/api/search?${f.toString()}`,{credentials:"include"});if(!g.ok){z.q.error("Search failed:",g.status),r([]);return}let h=await g.json();h.success?r(h.data.results):r([])}catch(a){z.q.error("Search error:",a),r([])}finally{t(!1)}},[a,c]),G=(0,e.useCallback)(a=>{n(a),E.current&&clearTimeout(E.current),a.trim()?E.current=setTimeout(()=>{F(a,o,w)},300):(r([]),t(!1))},[o,w,F]),H=(0,e.useCallback)(a=>{p(a),m.trim()&&F(m,a,w)},[m,w,F]),I=(0,e.useCallback)(a=>{x(a),B(0),m.trim()&&F(m,o,a)},[m,o,F]),J=(0,e.useCallback)(a=>{switch(v(!1),a.entityType){case"task":a.projectUuid&&l.push(`/projects/${a.projectUuid}/tasks/${a.uuid}`);break;case"idea":a.projectUuid&&l.push(`/projects/${a.projectUuid}/ideas/${a.uuid}`);break;case"proposal":a.projectUuid&&l.push(`/projects/${a.projectUuid}/proposals/${a.uuid}`);break;case"document":a.projectUuid&&l.push(`/projects/${a.projectUuid}/documents/${a.uuid}`);break;case"project":l.push(`/projects/${a.uuid}/dashboard`);break;case"project_group":l.push("/projects")}},[l]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(j.$,{variant:"outline",size:"icon",onClick:()=>v(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"hidden md:inline truncate text-sm",children:i("placeholder")}),(0,d.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,d.jsx)(af.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:"K"})]})]}),(0,d.jsx)(y.lG,{open:u,onOpenChange:v,children:(0,d.jsxs)(y.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,d.jsx)(y.L3,{className:"sr-only",children:i("placeholder")}),(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,d.jsx)(aj.p,{ref:C,type:"text",placeholder:i("placeholder"),value:m,onChange:a=>G(a.target.value),onKeyDown:a=>{!(0,al.P)(a)&&("ArrowDown"===a.key?(a.preventDefault(),B(a=>{let b=Math.min(a+1,q.length-1);return D.current[b]?.scrollIntoView({block:"nearest"}),b})):"ArrowUp"===a.key?(a.preventDefault(),B(a=>{let b=Math.max(a-1,0);return D.current[b]?.scrollIntoView({block:"nearest"}),b})):"Enter"===a.key&&q.length>0&&(a.preventDefault(),J(q[A])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),s&&(0,d.jsx)(ag.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,d.jsxs)(ak.l6,{value:o,onValueChange:a=>H(a),children:[(0,d.jsx)(ak.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,d.jsx)(ak.yv,{})}),(0,d.jsxs)(ak.gC,{children:[(0,d.jsx)(ak.eb,{value:"global",children:i("scopeGlobal")}),c&&(0,d.jsx)(ak.eb,{value:"group",children:h||i("scopeGroup")}),a&&(0,d.jsx)(ak.eb,{value:"project",children:b||i("scopeProject")})]})]})]}),m.trim()&&(0,d.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:am.map(a=>(0,d.jsx)(j.$,{variant:w===a?"default":"ghost",size:"sm",onClick:()=>I(a),className:(0,ai.cn)("h-7 px-3 text-xs rounded-full shrink-0",w===a?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:i(ao[a])},a))}),(0,d.jsx)(Z.F,{className:"max-h-[400px]",children:(0,d.jsx)(ah.N,{mode:"wait",children:m.trim()?s?(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,d.jsx)(ag.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),i("placeholder"),"..."]})},"loading"):0===q.length?(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:i("noResults")})},"no-results"):(0,d.jsx)(W.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:X.Yv.staggerFast},className:"p-2",children:q.map((a,b)=>(0,d.jsx)(W.P.div,{variants:X.Rf,children:(0,d.jsxs)("button",{ref:a=>{D.current[b]=a},onClick:()=>J(a),onMouseEnter:()=>B(b),className:(0,ai.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",b===A?"bg-accent":"hover:bg-accent/50"),children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,d.jsx)($.E,{variant:"outline",className:(0,ai.cn)("text-[10px] px-1.5 py-0 shrink-0",an[a.entityType]||"bg-muted text-muted-foreground"),children:i(`entityType.${a.entityType}`)}),a.status&&(0,d.jsx)($.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:a.status}),a.projectName&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:a.projectName})]}),(0,d.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:a.title}),a.snippet&&(0,d.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:a.snippet}),(0,d.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(a=>{let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);return b<60?k("justNow"):b<3600?k("minutesAgo",{minutes:Math.floor(b/60)}):b<86400?k("hoursAgo",{hours:Math.floor(b/3600)}):k("daysAgo",{days:Math.floor(b/86400)})})(a.updatedAt)})]})},`${a.entityType}-${a.uuid}`))},`results-${w}`):(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:i("placeholder")})},"empty")})}),(0,d.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),i("filterAll")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function aq({children:a}){let b=function(a){let b=a.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|ideas|documents|proposals))\/.+$/);return b?b[1]:a}((0,f.usePathname)());return(0,d.jsx)(W.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:X.Yv.normal,ease:X.Yv.easeOut},className:"flex-1 flex flex-col",children:a},b)}let ar=({...a})=>(0,d.jsx)(H.l$,{className:"toaster group",...a});function as({children:a}){let b=(0,f.useRouter)(),c=(0,f.usePathname)(),h=(0,g.c)(),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(!0),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),N=function(a){let b=a.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return b?b[1]:null}(c),O=function(a){let b=a.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return b?b[1]:null}(c),[P,Q]=(0,e.useState)(null),S="/projects"===c||"/settings"===c||c.startsWith("/project-groups"),T=N&&!S,U=c.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/),V=async()=>{try{await (0,w.ri)()}catch{(0,w.w9)()}b.push("/login")};if(D)return(0,d.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,d.jsx)("div",{className:"text-muted-foreground",children:h("common.loading")})});let Y=[{href:"/projects",label:h("nav.projects"),icon:q.A},{href:"/settings",label:h("nav.settings"),icon:r.A}],Z=a=>a.endsWith("/dashboard")?c===a:"/projects"===a?"/projects"===c:c===a||c.startsWith(a+"/"),$=({mobile:a=!1})=>{let c=a?"text-[15px]":"text-[13px]",e=a?"h-5 w-5":"h-4 w-4",f=a?"gap-1.5":"gap-1",g=a?"h-10":"";return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,d.jsx)("span",{className:"text-base font-semibold text-foreground",children:h("common.appName")})]}),(0,d.jsx)("div",{className:"hidden md:block",children:(0,d.jsx)(ac,{})})]}),!a&&(0,d.jsx)(ap,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)("nav",{className:`flex flex-col ${f}`,children:T&&N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i(),{href:"/projects",children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ${c} ${g}`,children:[(0,d.jsx)(s.A,{className:a?"h-4 w-4":"h-3 w-3"}),h("nav.backToProjects")]})}),z&&(0,d.jsxs)("div",{className:"relative mt-2",children:[(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>B.length>0&&I(!H),className:`w-full justify-between px-3 py-1.5 ${0===B.length?"cursor-default":""}`,children:[(0,d.jsx)("span",{className:`truncate font-semibold uppercase tracking-wider text-foreground ${a?"text-[13px]":"text-[11px]"}`,children:z.name}),B.length>0&&(0,d.jsx)(t.A,{className:`h-3 w-3 text-muted-foreground transition-transform ${H?"rotate-180":""}`})]}),(0,d.jsx)(ah.N,{children:H&&B.length>0&&(0,d.jsx)(W.P.div,{variants:X.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:B.map(a=>(0,d.jsx)(j.$,{variant:"ghost",size:"sm",onClick:()=>{I(!1),b.push(`/projects/${a.uuid}/dashboard`)},className:`w-full justify-start px-3 py-2 ${c} [&>*]:truncate text-muted-foreground`,children:(0,d.jsx)("span",{className:"truncate",children:a.name})},a.uuid))})})]}),(0,d.jsx)("div",{className:`mt-2 flex flex-col ${f}`,children:[{href:`/projects/${N}/dashboard`,label:h("nav.overview"),icon:k.A},{href:`/projects/${N}/ideas`,label:h("nav.ideas"),icon:l.A},{href:`/projects/${N}/documents`,label:h("nav.documents"),icon:m.A},{href:`/projects/${N}/proposals`,label:h("nav.proposals"),icon:n.A},{href:`/projects/${N}/tasks`,label:h("nav.tasks"),icon:o.A},{href:`/projects/${N}/activity`,label:h("nav.activity"),icon:p.A}].map(a=>{let b=Z(a.href),f=a.icon;return(0,d.jsx)(i(),{href:a.href,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`relative w-full justify-start gap-2.5 ${c} ${g} ${b?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[b&&(0,d.jsx)(W.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,d.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,d.jsx)(f,{className:`${e} ${b?"text-primary":""}`}),a.label]})]})},a.href)})})]}):(0,d.jsx)(d.Fragment,{children:(0,d.jsx)("div",{className:`flex flex-col ${f}`,children:Y.map(a=>{let b=Z(a.href),f=a.icon;return(0,d.jsx)(i(),{href:a.href,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`relative w-full justify-start gap-2.5 ${c} ${g} ${b?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[b&&(0,d.jsx)(W.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,d.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,d.jsx)(f,{className:`${e} ${b?"text-primary":""}`}),a.label]})]})},a.href)})})})})]}),(0,d.jsx)("div",{className:"p-6",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:`flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ${a?"h-10 w-10 text-base":"h-9 w-9 text-sm"}`,children:x?.name?.charAt(0)||"U"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:`truncate font-medium text-foreground ${a?"text-[15px]":"text-[13px]"}`,children:x?.name}),(0,d.jsx)("div",{className:`truncate text-muted-foreground ${a?"text-[12px]":"text-[11px]"}`,children:x?.email})]}),(0,d.jsx)(j.$,{variant:"ghost",size:"icon",onClick:V,title:h("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(u.A,{className:"h-4 w-4"})})]})})]})};return(0,d.jsxs)(R,{children:[(0,d.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,d.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,d.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,d.jsx)("button",{onClick:()=>K(!0),"aria-label":h("nav.openMenu"),children:(0,d.jsx)(v.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-foreground",children:h("common.appName")})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(ap,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)(ac,{})]})]})}),(0,d.jsx)(ad.cj,{open:J,onOpenChange:K,children:(0,d.jsx)(ad.h,{side:"left",className:"w-[280px] p-0",children:(0,d.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,d.jsx)($,{mobile:!0})})})}),(0,d.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,d.jsx)($,{})}),T&&N?(0,d.jsxs)(F.tS,{projectUuid:N,children:[(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})}),(0,d.jsx)(G,{projectUuid:N,projectName:z?.name||""})]}):"/projects"===c||c.startsWith("/project-groups")?(0,d.jsx)(F.tS,{children:(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})})}):(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})})]}),(0,d.jsx)(ar,{position:L?"top-center":"top-right",closeButton:!L})]})}},11568:(a,b,c)=>{"use strict";c.d(b,{Cf:()=>m,Es:()=>o,L3:()=>p,c7:()=>n,lG:()=>i,rr:()=>q,zM:()=>j});var d=c(10837);c(21968);var e=c(10694),f=c(14220),g=c(96307),h=c(42424);function i({...a}){return(0,d.jsx)(f.Root,{"data-slot":"dialog",...a})}function j({...a}){return(0,d.jsx)(f.Trigger,{"data-slot":"dialog-trigger",...a})}function k({...a}){return(0,d.jsx)(f.Portal,{"data-slot":"dialog-portal",...a})}function l({className:a,...b}){return(0,d.jsx)(f.Overlay,{"data-slot":"dialog-overlay",className:(0,g.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...b})}function m({className:a,children:b,showCloseButton:c=!0,...h}){return(0,d.jsxs)(k,{"data-slot":"dialog-portal",children:[(0,d.jsx)(l,{}),(0,d.jsxs)(f.Content,{"data-slot":"dialog-content",className:(0,g.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",a),...h,children:[b,c&&(0,d.jsxs)(f.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,d.jsx)(e.A,{}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function n({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"dialog-header",className:(0,g.cn)("flex flex-col gap-2 text-center sm:text-left",a),...b})}function o({className:a,showCloseButton:b=!1,children:c,...e}){return(0,d.jsxs)("div",{"data-slot":"dialog-footer",className:(0,g.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...e,children:[c,b&&(0,d.jsx)(f.Close,{asChild:!0,children:(0,d.jsx)(h.$,{variant:"outline",children:"Close"})})]})}function p({className:a,...b}){return(0,d.jsx)(f.Title,{"data-slot":"dialog-title",className:(0,g.cn)("text-lg leading-none font-semibold",a),...b})}function q({className:a,...b}){return(0,d.jsx)(f.Description,{"data-slot":"dialog-description",className:(0,g.cn)("text-muted-foreground text-sm",a),...b})}},16352:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/layout.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/layout.tsx","default")},21865:(a,b,c)=>{"use strict";c.d(b,{HB:()=>e,JK:()=>h,XQ:()=>g,bN:()=>i,vh:()=>f});var d=c(99582);function e(a){let b=function(a){let b=process.env.NEXTAUTH_URL||"http://localhost:8637";return{authority:a.issuer,client_id:a.clientId,redirect_uri:`${b}/login/callback`,post_logout_redirect_uri:`${b}/login`,response_type:"code",scope:"openid profile email",automaticSilentRenew:!0,silent_redirect_uri:`${b}/login/silent-refresh`,accessTokenExpiringNotificationTimeInSeconds:60,userStore:void 0,extraQueryParams:{company:a.companyUuid}}}(a);return new d.$5(b)}function f(a){}function g(){return null}function h(){}function i(a){return{sub:a.profile.sub,email:a.profile.email,name:a.profile.name,picture:a.profile.picture,accessToken:a.access_token,refreshToken:a.refresh_token,expiresAt:a.expires_at,idToken:a.id_token}}},22299:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>n,Tg:()=>o,v5:()=>p});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(33994),i=c(5562),j=c(30457),k=c(97307),l=c(12217),m=a([g,h,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.xx)(b.companyUuid,a))return{success:!1,error:"Project not found"}}catch(a){return k.A.error({err:a},"Failed to delete project"),{success:!1,error:"Failed to delete project"}}(0,f.redirect)("/projects")}async function o(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.vr)(c.companyUuid,a,b);if(!d)return{success:!1,error:"Project not found"};return(0,i.revalidatePath)(`/projects/${a}/dashboard`),{success:!0,data:d}}catch(a){return k.A.error({err:a},"Failed to update project"),{success:!1,error:"Failed to update project"}}}async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,j.UL)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return k.A.error({err:a},"Failed to fetch active sessions"),{success:!1,error:"Failed to fetch active sessions"}}}[g,h,j]=m.then?(await m)():m,(0,l.D)([n,o,p]),(0,e.A)(n,"40cb34bdc4fed2104114738bf7775d107b52ddb319",null),(0,e.A)(o,"60cfafb97dee121da111a8fbb6d24763894ee7029a",null),(0,e.A)(p,"4019dc5c43c0d0b5cd0ecf1c4101d03c3bcac1be4c",null),d()}catch(a){d(a)}})},33994:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Yi:()=>i,hF:()=>h,vr:()=>j,xx:()=>k});var e=c(71255),f=c(62729),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function j(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function k(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},42087:(a,b,c)=>{"use strict";function d(a){return("nativeEvent"in a?a.nativeEvent:a).isComposing||229===a.keyCode}c.d(b,{P:()=>d})},46795:(a,b,c)=>{Promise.resolve().then(c.bind(c,9318))},49599:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(10837);c(21968);var e=c(35973),f=c(11156),g=c(96307);let h=(0,e.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},74113:(a,b,c)=>{"use strict";c.d(b,{AM:()=>g,Wv:()=>h,hl:()=>i});var d=c(10837);c(21968);var e=c(41335),f=c(96307);function g({...a}){return(0,d.jsx)(e.Root,{"data-slot":"popover",...a})}function h({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"popover-trigger",...a})}function i({className:a,align:b="center",sideOffset:c=4,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsx)(e.Content,{"data-slot":"popover-content",align:b,sideOffset:c,className:(0,f.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",a),...g})})}},74645:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});var d=c(10837);c(21968);var e=c(63658),f=c(96307);function g({className:a,children:b,...c}){return(0,d.jsxs)(e.Root,{"data-slot":"scroll-area",className:(0,f.cn)("relative",a),...c,children:[(0,d.jsx)(e.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:b}),(0,d.jsx)(h,{}),(0,d.jsx)(e.Corner,{})]})}function h({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(e.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,f.cn)("flex touch-none p-px transition-colors select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(e.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},76172:(a,b,c)=>{"use strict";c.d(b,{S2:()=>j,eV:()=>i,l9:()=>h,tS:()=>g,w0:()=>k});var d=c(10837),e=c(21968);c(1007);let f=(0,e.createContext)(null);function g({projectUuid:a,children:b}){let c=(0,e.useRef)(new Set),g=(0,e.useRef)(new Set),h=(0,e.useRef)(new Set);(0,e.useCallback)(()=>{c.current.forEach(a=>a())},[]),(0,e.useCallback)(a=>{g.current.forEach(b=>b(a))},[]);let i=(0,e.useCallback)(a=>(c.current.add(a),()=>{c.current.delete(a)}),[]),j=(0,e.useCallback)(a=>(g.current.add(a),()=>{g.current.delete(a)}),[]),k=(0,e.useCallback)(a=>(h.current.add(a),()=>{h.current.delete(a)}),[]),l=(0,e.useMemo)(()=>({subscribe:i,subscribeEntity:j,subscribePresence:k}),[i,j,k]);return(0,d.jsx)(f.Provider,{value:l,children:b})}function h(a){(0,e.useContext)(f),(0,e.useRef)(a).current=a}function i(a,b){(0,e.useContext)(f),(0,e.useRef)(b).current=b,(0,e.useRef)(a).current=a}function j(a){(0,e.useContext)(f),(0,e.useRef)(a).current=a}function k(a,b,c){(0,e.useContext)(f),(0,e.useRef)(c).current=c}},86547:(a,b,c)=>{Promise.resolve().then(c.bind(c,16352))},93524:(a,b,c)=>{"use strict";c.d(b,{hj:()=>f,ri:()=>l,tm:()=>k,w9:()=>g});var d=c(21865),e=c(54722);function f(a){return(0,d.vh)(a),(0,d.HB)(a)}function g(){}async function h(){return null}async function i(){let a=await h();return!a||a.expired?null:a.access_token}async function j(a,b){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:a,refreshToken:b})})).ok}catch{return e.q.error("Failed to sync token to cookie"),!1}}async function k(a,b={}){let c=await i(),d=new Headers(b.headers);c&&d.set("Authorization",`Bearer ${c}`);let e=await fetch(a,{...b,headers:d});if(401===e.status)if(1)try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return d.delete("Authorization"),fetch(a,{...b,headers:d})}catch{}else try{let c=await null.signinSilent();if(c?.access_token)return await j(c.access_token),d.set("Authorization",`Bearer ${c.access_token}`),fetch(a,{...b,headers:d})}catch{}return e}async function l(){try{await fetch("/api/auth/logout",{method:"POST"})}catch{}g(),(0,d.JK)()}},94143:(a,b,c)=>{"use strict";c.d(b,{CG:()=>j,Fm:()=>o,cj:()=>i,h:()=>n,qp:()=>p});var d=c(10837);c(21968);var e=c(10694),f=c(14220),g=c(35973),h=c(96307);function i({...a}){return(0,d.jsx)(f.Root,{"data-slot":"sheet",...a})}function j({...a}){return(0,d.jsx)(f.Trigger,{"data-slot":"sheet-trigger",...a})}function k({...a}){return(0,d.jsx)(f.Portal,{"data-slot":"sheet-portal",...a})}function l({className:a,...b}){return(0,d.jsx)(f.Overlay,{"data-slot":"sheet-overlay",className:(0,h.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...b})}let m=(0,g.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function n({className:a,children:b,side:c="right",...g}){return(0,d.jsxs)(k,{children:[(0,d.jsx)(l,{}),(0,d.jsxs)(f.Content,{"data-slot":"sheet-content",className:(0,h.cn)(m({side:c}),a),...g,children:[b,(0,d.jsxs)(f.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,d.jsx)(e.A,{className:"size-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function o({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"sheet-header",className:(0,h.cn)("flex flex-col gap-2 p-4",a),...b})}function p({className:a,...b}){return(0,d.jsx)(f.Title,{"data-slot":"sheet-title",className:(0,h.cn)("text-foreground text-lg font-semibold",a),...b})}}};
|
|
1
|
+
exports.id=6207,exports.ids=[6207],exports.modules={11568:(a,b,c)=>{"use strict";c.d(b,{Cf:()=>m,Es:()=>o,L3:()=>p,c7:()=>n,lG:()=>i,rr:()=>q,zM:()=>j});var d=c(10837);c(21968);var e=c(10694),f=c(14220),g=c(96307),h=c(42424);function i({...a}){return(0,d.jsx)(f.Root,{"data-slot":"dialog",...a})}function j({...a}){return(0,d.jsx)(f.Trigger,{"data-slot":"dialog-trigger",...a})}function k({...a}){return(0,d.jsx)(f.Portal,{"data-slot":"dialog-portal",...a})}function l({className:a,...b}){return(0,d.jsx)(f.Overlay,{"data-slot":"dialog-overlay",className:(0,g.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...b})}function m({className:a,children:b,showCloseButton:c=!0,...h}){return(0,d.jsxs)(k,{"data-slot":"dialog-portal",children:[(0,d.jsx)(l,{}),(0,d.jsxs)(f.Content,{"data-slot":"dialog-content",className:(0,g.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",a),...h,children:[b,c&&(0,d.jsxs)(f.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,d.jsx)(e.A,{}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function n({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"dialog-header",className:(0,g.cn)("flex flex-col gap-2 text-center sm:text-left",a),...b})}function o({className:a,showCloseButton:b=!1,children:c,...e}){return(0,d.jsxs)("div",{"data-slot":"dialog-footer",className:(0,g.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...e,children:[c,b&&(0,d.jsx)(f.Close,{asChild:!0,children:(0,d.jsx)(h.$,{variant:"outline",children:"Close"})})]})}function p({className:a,...b}){return(0,d.jsx)(f.Title,{"data-slot":"dialog-title",className:(0,g.cn)("text-lg leading-none font-semibold",a),...b})}function q({className:a,...b}){return(0,d.jsx)(f.Description,{"data-slot":"dialog-description",className:(0,g.cn)("text-muted-foreground text-sm",a),...b})}},16352:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/layout.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/layout.tsx","default")},21865:(a,b,c)=>{"use strict";c.d(b,{HB:()=>e,JK:()=>h,XQ:()=>g,bN:()=>i,vh:()=>f});var d=c(99582);function e(a){let b=function(a){let b=process.env.NEXTAUTH_URL||"http://localhost:8637";return{authority:a.issuer,client_id:a.clientId,redirect_uri:`${b}/login/callback`,post_logout_redirect_uri:`${b}/login`,response_type:"code",scope:"openid profile email",automaticSilentRenew:!0,silent_redirect_uri:`${b}/login/silent-refresh`,accessTokenExpiringNotificationTimeInSeconds:60,userStore:void 0,extraQueryParams:{company:a.companyUuid}}}(a);return new d.$5(b)}function f(a){}function g(){return null}function h(){}function i(a){return{sub:a.profile.sub,email:a.profile.email,name:a.profile.name,picture:a.profile.picture,accessToken:a.access_token,refreshToken:a.refresh_token,expiresAt:a.expires_at,idToken:a.id_token}}},22299:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>n,Tg:()=>o,v5:()=>p});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(33994),i=c(5562),j=c(30457),k=c(97307),l=c(12217),m=a([g,h,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.xx)(b.companyUuid,a))return{success:!1,error:"Project not found"}}catch(a){return k.A.error({err:a},"Failed to delete project"),{success:!1,error:"Failed to delete project"}}(0,f.redirect)("/projects")}async function o(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.vr)(c.companyUuid,a,b);if(!d)return{success:!1,error:"Project not found"};return(0,i.revalidatePath)(`/projects/${a}/dashboard`),{success:!0,data:d}}catch(a){return k.A.error({err:a},"Failed to update project"),{success:!1,error:"Failed to update project"}}}async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,j.UL)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return k.A.error({err:a},"Failed to fetch active sessions"),{success:!1,error:"Failed to fetch active sessions"}}}[g,h,j]=m.then?(await m)():m,(0,l.D)([n,o,p]),(0,e.A)(n,"4006dd9f7d3437ab1478c6be32917a71073ed4fab0",null),(0,e.A)(o,"60e7e554b32e453f3c930e14410f5077ad183f596f",null),(0,e.A)(p,"40c24e6feb30798e01c084892d389e502bdb0aa268",null),d()}catch(a){d(a)}})},33994:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Yi:()=>i,hF:()=>h,vr:()=>j,xx:()=>k});var e=c(71255),f=c(62729),g=a([e]);async function h({companyUuid:a,skip:b,take:c}){let[d,f]=await Promise.all([e.z.project.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{ideas:!0,documents:!0,tasks:!0,proposals:!0}}}}),e.z.project.count({where:{companyUuid:a}})]);return{projects:d,total:f}}async function i(a,b){return!!await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function j(a,b,c){let d=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return d?e.z.project.update({where:{uuid:d.uuid},data:c,select:{uuid:!0,name:!0,description:!0,createdAt:!0,updatedAt:!0}}):null}async function k(a,b){let c=await e.z.project.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}});return!!c&&(await e.z.project.delete({where:{uuid:c.uuid}}),f.B.emitChange({companyUuid:a,projectUuid:b,entityType:"project",entityUuid:b,action:"deleted"}),!0)}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},42087:(a,b,c)=>{"use strict";function d(a){return("nativeEvent"in a?a.nativeEvent:a).isComposing||229===a.keyCode}c.d(b,{P:()=>d})},46795:(a,b,c)=>{Promise.resolve().then(c.bind(c,94123))},49599:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(10837);c(21968);var e=c(35973),f=c(11156),g=c(96307);let h=(0,e.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},74113:(a,b,c)=>{"use strict";c.d(b,{AM:()=>g,Wv:()=>h,hl:()=>i});var d=c(10837);c(21968);var e=c(41335),f=c(96307);function g({...a}){return(0,d.jsx)(e.Root,{"data-slot":"popover",...a})}function h({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"popover-trigger",...a})}function i({className:a,align:b="center",sideOffset:c=4,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsx)(e.Content,{"data-slot":"popover-content",align:b,sideOffset:c,className:(0,f.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",a),...g})})}},74645:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});var d=c(10837);c(21968);var e=c(63658),f=c(96307);function g({className:a,children:b,...c}){return(0,d.jsxs)(e.Root,{"data-slot":"scroll-area",className:(0,f.cn)("relative",a),...c,children:[(0,d.jsx)(e.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:b}),(0,d.jsx)(h,{}),(0,d.jsx)(e.Corner,{})]})}function h({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(e.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,f.cn)("flex touch-none p-px transition-colors select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(e.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},76172:(a,b,c)=>{"use strict";c.d(b,{S2:()=>j,eV:()=>i,l9:()=>h,tS:()=>g,w0:()=>k});var d=c(10837),e=c(21968);c(1007);let f=(0,e.createContext)(null);function g({projectUuid:a,children:b}){let c=(0,e.useRef)(new Set),g=(0,e.useRef)(new Set),h=(0,e.useRef)(new Set);(0,e.useCallback)(()=>{c.current.forEach(a=>a())},[]),(0,e.useCallback)(a=>{g.current.forEach(b=>b(a))},[]);let i=(0,e.useCallback)(a=>(c.current.add(a),()=>{c.current.delete(a)}),[]),j=(0,e.useCallback)(a=>(g.current.add(a),()=>{g.current.delete(a)}),[]),k=(0,e.useCallback)(a=>(h.current.add(a),()=>{h.current.delete(a)}),[]),l=(0,e.useMemo)(()=>({subscribe:i,subscribeEntity:j,subscribePresence:k}),[i,j,k]);return(0,d.jsx)(f.Provider,{value:l,children:b})}function h(a){(0,e.useContext)(f),(0,e.useRef)(a).current=a}function i(a,b){(0,e.useContext)(f),(0,e.useRef)(b).current=b,(0,e.useRef)(a).current=a}function j(a){(0,e.useContext)(f),(0,e.useRef)(a).current=a}function k(a,b,c){(0,e.useContext)(f),(0,e.useRef)(c).current=c}},86547:(a,b,c)=>{Promise.resolve().then(c.bind(c,16352))},93524:(a,b,c)=>{"use strict";c.d(b,{hj:()=>f,ri:()=>l,tm:()=>k,w9:()=>g});var d=c(21865),e=c(54722);function f(a){return(0,d.vh)(a),(0,d.HB)(a)}function g(){}async function h(){return null}async function i(){let a=await h();return!a||a.expired?null:a.access_token}async function j(a,b){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:a,refreshToken:b})})).ok}catch{return e.q.error("Failed to sync token to cookie"),!1}}async function k(a,b={}){let c=await i(),d=new Headers(b.headers);c&&d.set("Authorization",`Bearer ${c}`);let e=await fetch(a,{...b,headers:d});if(401===e.status)if(1)try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return d.delete("Authorization"),fetch(a,{...b,headers:d})}catch{}else try{let c=await null.signinSilent();if(c?.access_token)return await j(c.access_token),d.set("Authorization",`Bearer ${c.access_token}`),fetch(a,{...b,headers:d})}catch{}return e}async function l(){try{await fetch("/api/auth/logout",{method:"POST"})}catch{}g(),(0,d.JK)()}},94123:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>as});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(81512),i=c.n(h),j=c(42424),k=c(76723),l=c(5797),m=c(65956),n=c(4065),o=c(10529),p=c(28605),q=c(33650),r=c(59169),s=c(35209),t=c(21790),u=c(71833),v=c(46839),w=c(93524),x=c(15640),y=c(11568),z=c(54722);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],B=Array.from({length:7},(a,b)=>b).sort((a,b)=>A[a].topY-A[b].topY);function C({slots:a,projectName:b,agentCount:c,collapsed:f=!1,effects:g,onEffectsConsumed:h}){let i=(0,e.useRef)(null),j=(0,e.useRef)({}),k=(0,e.useRef)(!1),l=(0,e.useRef)(0),m=(0,e.useRef)(0),n=(0,e.useRef)(0),o=(0,e.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),p=(0,e.useRef)(a),q=(0,e.useRef)(b),r=(0,e.useRef)(c),s=(0,e.useRef)(f),t=(0,e.useRef)([]),u=(0,e.useCallback)(a=>{a.fillStyle="#d0d0e0",a.fillRect(0,0,256,16),a.fillStyle="#e4e4f0",a.fillRect(0,0,256,1),a.fillStyle="#9999aa",a.fillRect(0,15,256,1),a.font="bold 7px monospace",a.textBaseline="middle",a.fillStyle="#333",a.textAlign="left";let b=q.current,c=b.length>20?b.slice(0,18)+"..":b;a.fillText(c,6,8),a.textAlign="right",a.fillStyle="#336";let d=r.current;a.fillText(`${d} agent${1!==d?"s":""}`,250,8),a.textAlign="start",a.textBaseline="alphabetic"},[]),v=(0,e.useCallback)((a,b)=>{let c=p.current[b];if(!c?.sessionName)return;let d=A[b];a.font="5px monospace",a.textAlign="center",a.textBaseline="bottom";let e=c.sessionName.length>12?c.sessionName.slice(0,10)+"..":c.sessionName,f=a.measureText(e).width,g=d.cx,h=d.topY-4;a.fillStyle="rgba(0,0,0,0.55)",a.fillRect(g-f/2-2,h-6,f+4,7),a.fillStyle="#fff",a.fillText(e,g,h),a.textAlign="start",a.textBaseline="alphabetic"},[]),w=(0,e.useCallback)(a=>{for(let b of t.current){let c=b.elapsed/b.duration,d=A[b.slotIndex]||A[0];switch(b.type){case"bulb":{let b=c<.1?c/.1:c>.8?(1-c)/.2:1,e=d.cx,f=d.topY-14-2*Math.sin(c*Math.PI*4);a.fillStyle=`rgba(255, 220, 50, ${.3*b})`,a.beginPath(),a.arc(e,f,8,0,2*Math.PI),a.fill(),a.fillStyle=`rgba(255, 230, 80, ${b})`,a.beginPath(),a.arc(e,f,4,0,2*Math.PI),a.fill(),a.fillStyle=`rgba(255, 255, 200, ${b})`,a.fillRect(e-1,f-1,2,2),a.fillStyle=`rgba(180, 180, 180, ${b})`,a.fillRect(e-2,f+3,4,2);break}case"document":{let b=256+(d.cx-256)*Math.min(2*c,1),e=d.topY-10+-15*Math.sin(c*Math.PI);a.globalAlpha=c>.8?(1-c)/.2:1,a.fillStyle="#f8f8f0",a.fillRect(b,e,8,10),a.strokeStyle="#aaa",a.lineWidth=.5,a.strokeRect(b,e,8,10),a.fillStyle="#ccc",a.fillRect(b+1.5,e+2,5,1),a.fillRect(b+1.5,e+4,4,1),a.fillRect(b+1.5,e+6,5,1),a.globalAlpha=1;break}case"stars":{let b=c>.7?(1-c)/.3:1,e=d.cx,f=d.cy;for(let d=0;d<8;d++){let g=d/8*Math.PI*2+c*Math.PI*3,h=10+15*c,i=e+Math.cos(g)*h,j=f+Math.sin(g)*h,k=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];a.fillStyle=k[d%k.length],a.globalAlpha=b*(.5+.5*Math.sin(c*Math.PI*6+d));let l=1.5+.5*Math.sin(c*Math.PI*4+d);a.fillRect(i-l/2,j-l/2,l,l)}a.globalAlpha=1;break}case"flash":{let b=c<.3?c/.3:(1-c)/.7;a.fillStyle=`rgba(255, 255, 255, ${.6*b})`,a.fillRect(0,16,256,240)}}}},[]),x=(0,e.useCallback)((a,b)=>{a.clearRect(0,0,768,768),a.save(),a.scale(3,3);let c=b.floor;for(let d of(c?.complete&&c.naturalWidth&&a.drawImage(c,0,0,256,256),B)){let c=o.current[d];if("empty"===c.state)continue;let e="typing"===c.state&&c.cycleIndex%2==1,f=b[`char${d}-frame${e?2:1}`];if(f?.complete&&f.naturalWidth){"celebrate"===c.state&&(a.save(),a.globalAlpha=.85+.15*Math.sin(Date.now()/200));let b="looking"===c.state?+Math.sin(Date.now()/300):0;0!==b&&(a.save(),a.translate(0,b)),a.drawImage(f,0,0,256,256),0!==b&&a.restore(),"celebrate"===c.state&&a.restore()}v(a,d)}u(a),w(a),a.restore()},[u,v,w]),y=(0,e.useCallback)(a=>{for(let b=0;b<7;b++){let c=o.current[b];"empty"!==c.state&&(c.stateTimer+=a,"celebrate"===c.state&&c.stateTimer>=3e3&&(c.state="idle",c.cycleIndex=0,c.frameTicks=0,c.stateTimer=0),"looking"===c.state&&c.stateTimer>=1500&&(c.state="idle",c.cycleIndex=0,c.frameTicks=0,c.stateTimer=0),"typing"===c.state&&(c.frameTicks++,c.frameTicks>=c.ticksPerFrame&&(c.frameTicks=0,c.cycleIndex=(c.cycleIndex+1)%2)))}let b=t.current;for(let c=b.length-1;c>=0;c--)b[c].elapsed+=a,b[c].elapsed>=b[c].duration&&b.splice(c,1)},[]),z=(0,e.useCallback)(a=>{if(s.current){l.current=requestAnimationFrame(z),m.current=a;return}let b=a-m.current;m.current=a,n.current+=b;let c=!1;for(;n.current>=10;)n.current-=10,y(10),c=!0;if(c){let a=i.current,b=a?.getContext("2d");b&&k.current&&x(b,j.current)}l.current=requestAnimationFrame(z)},[y,x]);return(0,d.jsx)("canvas",{ref:i,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}!function(){let a={floor:"floor.png"};for(let b=0;b<7;b++)a[`char${b}-frame1`]=`char${b}-frame1.png`,a[`char${b}-frame2`]=`char${b}-frame2.png`}();var D=c(42377);let E=(0,D.createServerReference)("40c24e6feb30798e01c084892d389e502bdb0aa268",D.callServer,void 0,D.findSourceMapURL,"getProjectActiveSessionsAction");var F=c(76172);function G({projectUuid:a,projectName:b}){let c=(0,g.c)("pixelCanvas"),[f,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(Array.from({length:7},()=>({state:"empty"}))),[k,l]=(0,e.useState)(0),[m,n]=(0,e.useState)([]),o=(0,e.useCallback)(async()=>{let b=await E(a);if(!b.success||!b.data)return;let c=b.data;j(Array.from({length:7},(a,b)=>{let d=c[b];return d?{state:"typing",sessionName:d.sessionName}:{state:"empty"}})),l(c.length)},[a]);(0,F.l9)(o);let p=(0,e.useCallback)(()=>{n([])},[]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>h(!0),children:(0,d.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,d.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,d.jsx)(x.default,{src:"/typing-animation.gif",alt:c("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),k>0&&(0,d.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:k})]})}),(0,d.jsx)(y.lG,{open:f,onOpenChange:h,children:(0,d.jsxs)(y.Cf,{className:"sm:max-w-2xl p-4",children:[(0,d.jsxs)(y.L3,{className:"text-sm",children:[b," — ",c("title")]}),(0,d.jsx)(y.rr,{className:"sr-only",children:c("title")}),(0,d.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,d.jsx)(C,{slots:i,projectName:b,agentCount:k,collapsed:!f,effects:m,onEffectsConsumed:p})})]})})]})}var H=c(76549),I=c(24838),J=c(98893),K=c(97825),L=c(59129),M=c(61131),N=c(24714),O=c(73112);let P=(0,e.createContext)(null),Q=new Set(["agent_checkin"]);function R({children:a}){let[b,c]=(0,e.useState)(0),h=(0,e.useRef)(new Set),i=(0,f.useRouter)(),j=(0,g.c)("notifications"),k=(0,e.useCallback)(()=>{h.current.forEach(a=>a())},[]),l=(0,e.useCallback)(async()=>{try{let a=await (0,w.tm)("/api/notifications?readFilter=unread&take=0");if(a.ok){let b=await a.json();b.success&&c(b.data.unreadCount)}}catch{}},[]),m=(0,e.useCallback)(()=>{l(),k()},[l,k]);(0,e.useCallback)(a=>{if(!a.action||Q.has(a.action)||!a.entityTitle||!a.actorName)return;let b=j(`types.${a.action}`),c=a.entityTitle,e=`${a.actorName} \xb7 ${b}`;(0,H.oR)(c,{description:e,icon:function(a){switch(a){case"task_assigned":case"idea_claimed":return(0,d.jsx)(I.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,d.jsx)(J.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,d.jsx)(K.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,d.jsx)(L.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,d.jsx)(M.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,d.jsx)(N.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,d.jsx)(O.A,{className:"h-4 w-4 text-blue-500"});default:return(0,d.jsx)(N.A,{className:"h-4 w-4 text-muted-foreground"})}}(a.action),duration:5e3,action:a.entityType&&a.entityUuid&&a.projectUuid?{label:j("viewDetail"),onClick:()=>i.push(function(a,b,c){let d=`/projects/${c}`;switch(a){case"task":return`${d}/tasks/${b}`;case"idea":return`${d}/ideas/${b}`;case"proposal":return`${d}/proposals/${b}`;case"document":return`${d}/documents/${b}`;default:return d}}(a.entityType,a.entityUuid,a.projectUuid))}:void 0})},[j,i]);let n=(0,e.useMemo)(()=>({unreadCount:b,refreshNotifications:m}),[b,m]);return(0,d.jsx)(P.Provider,{value:n,children:a})}function S(){let a=(0,e.useContext)(P);return a||{unreadCount:0,refreshNotifications:()=>{}}}var T=c(86677),U=c(74113),V=c(27362),W=c(31009),X=c(45148),Y=c(94372),Z=c(74645),$=c(49599);let _=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],aa=new Set(["agent_checkin"]);function ab({onClose:a}){let b=(0,g.c)("notifications"),c=(0,f.useRouter)(),{refreshNotifications:h}=S(),k=(0,e.useCallback)(a=>{let c=Date.now()-new Date(a).getTime(),d=Math.floor(c/6e4),e=Math.floor(c/36e5),f=Math.floor(c/864e5);return d<1?b("justNow"):d<60?b("minutesAgo",{count:d}):e<24?b("hoursAgo",{count:e}):b("daysAgo",{count:f})},[b]),[l,m]=(0,e.useState)([]),[n,o]=(0,e.useState)([]),[p,q]=(0,e.useState)(0),[r,s]=(0,e.useState)(0),[t,u]=(0,e.useState)(!0),v=(0,e.useCallback)(async(a,b)=>{let c=new URLSearchParams({limit:"20",offset:String(b)});a&&c.set("unreadOnly","true");let d=await (0,w.tm)(`/api/notifications?${c}`);if(!d.ok)return null;let e=await d.json();return e.success?e.data:null},[]),x=async()=>{await (0,w.tm)("/api/notifications/read-all",{method:"POST"}),o([]),s(0),m(a=>a.map(a=>a.readAt?a:{...a,readAt:new Date().toISOString()})),h()},y=async b=>{b.readAt||((0,w.tm)(`/api/notifications/${b.uuid}/read`,{method:"PATCH"}),o(a=>a.filter(a=>a.uuid!==b.uuid)),m(a=>a.map(a=>a.uuid===b.uuid?{...a,readAt:new Date().toISOString()}:a)),h()),a(),c.push(function(a){let{action:b,entityType:c,entityUuid:d,projectUuid:e}=a,f=`/projects/${e}`;if("report_created"===b)return`${f}/dashboard?panel=${d}&tab=overview`;switch(c){case"task":return`${f}/tasks/${d}`;case"idea":return`${f}/ideas/${d}`;case"proposal":return`${f}/proposals/${d}`;case"document":return`${f}/documents/${d}`;default:return f}}(b))},z=async a=>{let b=a?n:l,c=await v(a,b.length);c&&(a?o(a=>[...a,...c.notifications]):m(a=>[...a,...c.notifications]))},A=a=>{let{Icon:c,color:e}=function(a){switch(a){case"task_assigned":case"idea_claimed":return{Icon:I.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:J.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:K.A,color:"text-red-500"};case"comment_added":return{Icon:L.A,color:"text-orange-500"};case"mentioned":return{Icon:M.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:N.A,color:"text-blue-500"};case"task_status_changed":return{Icon:O.A,color:"text-blue-500"};case"report_created":return{Icon:V.A,color:"text-emerald-600"};default:return{Icon:N.A,color:"text-muted-foreground"}}}(a.action),f=function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return _[Math.abs(b)%_.length]}(a.projectUuid),g=!a.readAt;return(0,d.jsx)(W.P.div,{variants:X.Rf,children:(0,d.jsxs)("button",{onClick:()=>y(a),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,d.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:g?(0,d.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,d.jsx)("div",{className:"h-2 w-2"})}),(0,d.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,d.jsx)(c,{className:`h-4 w-4 ${e}`})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)($.E,{variant:"secondary",className:`mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ${f.bg} ${f.text} border-0`,children:a.projectName}),(0,d.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:a.entityTitle}),(0,d.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:b(`types.${a.action}`)}),(0,d.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[a.actorName," \xb7 ",k(a.createdAt)]})]})]})},a.uuid)},B=(a,c,e)=>{let f=a.filter(a=>!aa.has(a.action));return t?(0,d.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[b("loadMore"),"..."]}):0===f.length?(0,d.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:c?b("noUnread"):b("noNotifications")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(W.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:f.map(A)}),f.length<e&&(0,d.jsx)("div",{className:"p-3 text-center",children:(0,d.jsx)(j.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>z(c),children:b("loadMore")})})]})};return(0,d.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b("title")}),(0,d.jsx)(j.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:x,children:b("markAllRead")})]}),(0,d.jsxs)(Y.tU,{defaultValue:"unread",className:"gap-0",children:[(0,d.jsxs)(Y.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,d.jsxs)(Y.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[b("tabUnread")," ",r>0&&`(${r})`]}),(0,d.jsx)(Y.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:b("tabAll")})]}),(0,d.jsx)(Y.av,{value:"all",className:"mt-0",children:(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:B(l,!1,p)})},"tab-all")}),(0,d.jsx)(Y.av,{value:"unread",className:"mt-0",children:(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:B(n,!0,r)})},"tab-unread")})]}),(0,d.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,d.jsx)(i(),{href:"/settings",onClick:a,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:b("notificationPreferences")})})]})}function ac(){let{unreadCount:a}=S(),[b,c]=(0,e.useState)(!1);return(0,d.jsxs)(U.AM,{open:b,onOpenChange:c,children:[(0,d.jsx)(U.Wv,{asChild:!0,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,d.jsx)(T.A,{className:"h-4 w-4"}),a>0&&(0,d.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:a>99?"99+":a})]})}),(0,d.jsx)(U.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,d.jsx)(ab,{onClose:()=>c(!1)})})]})}var ad=c(94143),ae=c(75888),af=c(86691),ag=c(86460),ah=c(78323),ai=c(96307),aj=c(9994),ak=c(55732),al=c(42087);let am=["all","task","idea","proposal","document","project"],an={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},ao={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function ap({currentProjectUuid:a,currentProjectName:b,currentGroupUuid:c,currentGroupName:h}){let i=(0,g.c)("search"),k=(0,g.c)("time"),l=(0,f.useRouter)(),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(a?"project":c?"group":"global"),[q,r]=(0,e.useState)([]),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)("all"),[A,B]=(0,e.useState)(0),C=(0,e.useRef)(null),D=(0,e.useRef)([]),E=(0,e.useRef)(void 0),F=(0,e.useCallback)(async(b,d,e="all")=>{if(!b.trim()){r([]),t(!1);return}t(!0);try{let f=new URLSearchParams({q:b.trim(),scope:d,limit:"20"});"project"===d&&a?f.set("scopeUuid",a):"group"===d&&c&&f.set("scopeUuid",c),"all"!==e&&f.set("types",e);let g=await fetch(`/api/search?${f.toString()}`,{credentials:"include"});if(!g.ok){z.q.error("Search failed:",g.status),r([]);return}let h=await g.json();h.success?r(h.data.results):r([])}catch(a){z.q.error("Search error:",a),r([])}finally{t(!1)}},[a,c]),G=(0,e.useCallback)(a=>{n(a),E.current&&clearTimeout(E.current),a.trim()?E.current=setTimeout(()=>{F(a,o,w)},300):(r([]),t(!1))},[o,w,F]),H=(0,e.useCallback)(a=>{p(a),m.trim()&&F(m,a,w)},[m,w,F]),I=(0,e.useCallback)(a=>{x(a),B(0),m.trim()&&F(m,o,a)},[m,o,F]),J=(0,e.useCallback)(a=>{switch(v(!1),a.entityType){case"task":a.projectUuid&&l.push(`/projects/${a.projectUuid}/tasks/${a.uuid}`);break;case"idea":a.projectUuid&&l.push(`/projects/${a.projectUuid}/ideas/${a.uuid}`);break;case"proposal":a.projectUuid&&l.push(`/projects/${a.projectUuid}/proposals/${a.uuid}`);break;case"document":a.projectUuid&&l.push(`/projects/${a.projectUuid}/documents/${a.uuid}`);break;case"project":l.push(`/projects/${a.uuid}/dashboard`);break;case"project_group":l.push("/projects")}},[l]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(j.$,{variant:"outline",size:"icon",onClick:()=>v(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"hidden md:inline truncate text-sm",children:i("placeholder")}),(0,d.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,d.jsx)(af.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:"K"})]})]}),(0,d.jsx)(y.lG,{open:u,onOpenChange:v,children:(0,d.jsxs)(y.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,d.jsx)(y.L3,{className:"sr-only",children:i("placeholder")}),(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,d.jsx)(aj.p,{ref:C,type:"text",placeholder:i("placeholder"),value:m,onChange:a=>G(a.target.value),onKeyDown:a=>{!(0,al.P)(a)&&("ArrowDown"===a.key?(a.preventDefault(),B(a=>{let b=Math.min(a+1,q.length-1);return D.current[b]?.scrollIntoView({block:"nearest"}),b})):"ArrowUp"===a.key?(a.preventDefault(),B(a=>{let b=Math.max(a-1,0);return D.current[b]?.scrollIntoView({block:"nearest"}),b})):"Enter"===a.key&&q.length>0&&(a.preventDefault(),J(q[A])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),s&&(0,d.jsx)(ag.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,d.jsxs)(ak.l6,{value:o,onValueChange:a=>H(a),children:[(0,d.jsx)(ak.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,d.jsx)(ak.yv,{})}),(0,d.jsxs)(ak.gC,{children:[(0,d.jsx)(ak.eb,{value:"global",children:i("scopeGlobal")}),c&&(0,d.jsx)(ak.eb,{value:"group",children:h||i("scopeGroup")}),a&&(0,d.jsx)(ak.eb,{value:"project",children:b||i("scopeProject")})]})]})]}),m.trim()&&(0,d.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:am.map(a=>(0,d.jsx)(j.$,{variant:w===a?"default":"ghost",size:"sm",onClick:()=>I(a),className:(0,ai.cn)("h-7 px-3 text-xs rounded-full shrink-0",w===a?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:i(ao[a])},a))}),(0,d.jsx)(Z.F,{className:"max-h-[400px]",children:(0,d.jsx)(ah.N,{mode:"wait",children:m.trim()?s?(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,d.jsx)(ag.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),i("placeholder"),"..."]})},"loading"):0===q.length?(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:i("noResults")})},"no-results"):(0,d.jsx)(W.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:X.Yv.staggerFast},className:"p-2",children:q.map((a,b)=>(0,d.jsx)(W.P.div,{variants:X.Rf,children:(0,d.jsxs)("button",{ref:a=>{D.current[b]=a},onClick:()=>J(a),onMouseEnter:()=>B(b),className:(0,ai.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",b===A?"bg-accent":"hover:bg-accent/50"),children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,d.jsx)($.E,{variant:"outline",className:(0,ai.cn)("text-[10px] px-1.5 py-0 shrink-0",an[a.entityType]||"bg-muted text-muted-foreground"),children:i(`entityType.${a.entityType}`)}),a.status&&(0,d.jsx)($.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:a.status}),a.projectName&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:a.projectName})]}),(0,d.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:a.title}),a.snippet&&(0,d.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:a.snippet}),(0,d.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(a=>{let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);return b<60?k("justNow"):b<3600?k("minutesAgo",{minutes:Math.floor(b/60)}):b<86400?k("hoursAgo",{hours:Math.floor(b/3600)}):k("daysAgo",{days:Math.floor(b/86400)})})(a.updatedAt)})]})},`${a.entityType}-${a.uuid}`))},`results-${w}`):(0,d.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:X.Yv.fast},children:(0,d.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:i("placeholder")})},"empty")})}),(0,d.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),i("filterAll")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function aq({children:a}){let b=function(a){let b=a.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|ideas|documents|proposals))\/.+$/);return b?b[1]:a}((0,f.usePathname)());return(0,d.jsx)(W.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:X.Yv.normal,ease:X.Yv.easeOut},className:"flex-1 flex flex-col",children:a},b)}let ar=({...a})=>(0,d.jsx)(H.l$,{className:"toaster group",...a});function as({children:a}){let b=(0,f.useRouter)(),c=(0,f.usePathname)(),h=(0,g.c)(),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)([]),[D,E]=(0,e.useState)(!0),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),N=function(a){let b=a.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return b?b[1]:null}(c),O=function(a){let b=a.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return b?b[1]:null}(c),[P,Q]=(0,e.useState)(null),S="/projects"===c||"/settings"===c||c.startsWith("/project-groups"),T=N&&!S,U=c.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/),V=async()=>{try{await (0,w.ri)()}catch{(0,w.w9)()}b.push("/login")};if(D)return(0,d.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,d.jsx)("div",{className:"text-muted-foreground",children:h("common.loading")})});let Y=[{href:"/projects",label:h("nav.projects"),icon:q.A},{href:"/settings",label:h("nav.settings"),icon:r.A}],Z=a=>a.endsWith("/dashboard")?c===a:"/projects"===a?"/projects"===c:c===a||c.startsWith(a+"/"),$=({mobile:a=!1})=>{let c=a?"text-[15px]":"text-[13px]",e=a?"h-5 w-5":"h-4 w-4",f=a?"gap-1.5":"gap-1",g=a?"h-10":"";return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,d.jsx)("span",{className:"text-base font-semibold text-foreground",children:h("common.appName")})]}),(0,d.jsx)("div",{className:"hidden md:block",children:(0,d.jsx)(ac,{})})]}),!a&&(0,d.jsx)(ap,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)("nav",{className:`flex flex-col ${f}`,children:T&&N?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i(),{href:"/projects",children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ${c} ${g}`,children:[(0,d.jsx)(s.A,{className:a?"h-4 w-4":"h-3 w-3"}),h("nav.backToProjects")]})}),z&&(0,d.jsxs)("div",{className:"relative mt-2",children:[(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>B.length>0&&I(!H),className:`w-full justify-between px-3 py-1.5 ${0===B.length?"cursor-default":""}`,children:[(0,d.jsx)("span",{className:`truncate font-semibold uppercase tracking-wider text-foreground ${a?"text-[13px]":"text-[11px]"}`,children:z.name}),B.length>0&&(0,d.jsx)(t.A,{className:`h-3 w-3 text-muted-foreground transition-transform ${H?"rotate-180":""}`})]}),(0,d.jsx)(ah.N,{children:H&&B.length>0&&(0,d.jsx)(W.P.div,{variants:X.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:B.map(a=>(0,d.jsx)(j.$,{variant:"ghost",size:"sm",onClick:()=>{I(!1),b.push(`/projects/${a.uuid}/dashboard`)},className:`w-full justify-start px-3 py-2 ${c} [&>*]:truncate text-muted-foreground`,children:(0,d.jsx)("span",{className:"truncate",children:a.name})},a.uuid))})})]}),(0,d.jsx)("div",{className:`mt-2 flex flex-col ${f}`,children:[{href:`/projects/${N}/dashboard`,label:h("nav.overview"),icon:k.A},{href:`/projects/${N}/ideas`,label:h("nav.ideas"),icon:l.A},{href:`/projects/${N}/documents`,label:h("nav.documents"),icon:m.A},{href:`/projects/${N}/proposals`,label:h("nav.proposals"),icon:n.A},{href:`/projects/${N}/tasks`,label:h("nav.tasks"),icon:o.A},{href:`/projects/${N}/activity`,label:h("nav.activity"),icon:p.A}].map(a=>{let b=Z(a.href),f=a.icon;return(0,d.jsx)(i(),{href:a.href,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`relative w-full justify-start gap-2.5 ${c} ${g} ${b?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[b&&(0,d.jsx)(W.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,d.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,d.jsx)(f,{className:`${e} ${b?"text-primary":""}`}),a.label]})]})},a.href)})})]}):(0,d.jsx)(d.Fragment,{children:(0,d.jsx)("div",{className:`flex flex-col ${f}`,children:Y.map(a=>{let b=Z(a.href),f=a.icon;return(0,d.jsx)(i(),{href:a.href,children:(0,d.jsxs)(j.$,{variant:"ghost",size:"sm",className:`relative w-full justify-start gap-2.5 ${c} ${g} ${b?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[b&&(0,d.jsx)(W.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,d.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,d.jsx)(f,{className:`${e} ${b?"text-primary":""}`}),a.label]})]})},a.href)})})})})]}),(0,d.jsx)("div",{className:"p-6",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:`flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ${a?"h-10 w-10 text-base":"h-9 w-9 text-sm"}`,children:x?.name?.charAt(0)||"U"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:`truncate font-medium text-foreground ${a?"text-[15px]":"text-[13px]"}`,children:x?.name}),(0,d.jsx)("div",{className:`truncate text-muted-foreground ${a?"text-[12px]":"text-[11px]"}`,children:x?.email})]}),(0,d.jsx)(j.$,{variant:"ghost",size:"icon",onClick:V,title:h("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(u.A,{className:"h-4 w-4"})})]})})]})};return(0,d.jsxs)(R,{children:[(0,d.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,d.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,d.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,d.jsx)("button",{onClick:()=>K(!0),"aria-label":h("nav.openMenu"),children:(0,d.jsx)(v.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-foreground",children:h("common.appName")})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(ap,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)(ac,{})]})]})}),(0,d.jsx)(ad.cj,{open:J,onOpenChange:K,children:(0,d.jsx)(ad.h,{side:"left",className:"w-[280px] p-0",children:(0,d.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,d.jsx)($,{mobile:!0})})})}),(0,d.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,d.jsx)($,{})}),T&&N?(0,d.jsxs)(F.tS,{projectUuid:N,children:[(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})}),(0,d.jsx)(G,{projectUuid:N,projectName:z?.name||""})]}):"/projects"===c||c.startsWith("/project-groups")?(0,d.jsx)(F.tS,{children:(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})})}):(0,d.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,d.jsx)("div",{className:`mx-auto w-full flex-1 flex flex-col ${U?"":"max-w-[1200px]"}`,children:(0,d.jsx)(aq,{children:a})})})]}),(0,d.jsx)(ar,{position:L?"top-center":"top-right",closeButton:!L})]})}},94143:(a,b,c)=>{"use strict";c.d(b,{CG:()=>j,Fm:()=>o,cj:()=>i,h:()=>n,qp:()=>p});var d=c(10837);c(21968);var e=c(10694),f=c(14220),g=c(35973),h=c(96307);function i({...a}){return(0,d.jsx)(f.Root,{"data-slot":"sheet",...a})}function j({...a}){return(0,d.jsx)(f.Trigger,{"data-slot":"sheet-trigger",...a})}function k({...a}){return(0,d.jsx)(f.Portal,{"data-slot":"sheet-portal",...a})}function l({className:a,...b}){return(0,d.jsx)(f.Overlay,{"data-slot":"sheet-overlay",className:(0,h.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...b})}let m=(0,g.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function n({className:a,children:b,side:c="right",...g}){return(0,d.jsxs)(k,{children:[(0,d.jsx)(l,{}),(0,d.jsxs)(f.Content,{"data-slot":"sheet-content",className:(0,h.cn)(m({side:c}),a),...g,children:[b,(0,d.jsxs)(f.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,d.jsx)(e.A,{className:"size-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function o({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"sheet-header",className:(0,h.cn)("flex flex-col gap-2 p-4",a),...b})}function p({className:a,...b}){return(0,d.jsx)(f.Title,{"data-slot":"sheet-title",className:(0,h.cn)("text-foreground text-lg font-semibold",a),...b})}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5044,exports.ids=[5044],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,"00c154b24639883e24929daf40c7659938375e92d1",null),(0,e.A)(o,"401aadf96622ab0b2bf7cc5986f1b83425ac429ae8",null),(0,e.A)(p,"4018fb015c7e90ac5f114d555142c90190e149e477",null),(0,e.A)(q,"40ed94d6eaa158fef112b1a77ba9a2e91bf3c30430",null),(0,e.A)(r,"40e1269f3365a5fc47efe77ae48b5d7cbe1215699a",null),(0,e.A)(s,"40557d985a27adc0c0faaf43f493f821d243228741",null),(0,e.A)(t,"40d310e569cfefc90bcf228f7615c06b0f53c94274",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})}},52937:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("401aadf96622ab0b2bf7cc5986f1b83425ac429ae8",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},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)}})},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
|
+
"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")})]})]})}}};
|