@chorus-aidlc/chorus 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +215 -215
- package/.next/standalone/.next/app-path-routes-manifest.json +44 -44
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +33 -33
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_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 +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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.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.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/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_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.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.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.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.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.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.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.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.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.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.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.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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +6 -6
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +7 -7
- 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 +7 -7
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +8 -8
- package/.next/standalone/.next/server/app-paths-manifest.json +44 -44
- package/.next/standalone/.next/server/chunks/1002.js +1 -1
- package/.next/standalone/.next/server/chunks/1596.js +2 -2
- package/.next/standalone/.next/server/chunks/1673.js +1 -0
- package/.next/standalone/.next/server/chunks/1871.js +1 -1
- package/.next/standalone/.next/server/chunks/2570.js +1 -1
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/{2675.js → 3139.js} +1 -1
- package/.next/standalone/.next/server/chunks/3405.js +1 -0
- package/.next/standalone/.next/server/chunks/4294.js +1 -0
- package/.next/standalone/.next/server/chunks/{8251.js → 5044.js} +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6836.js +1 -0
- package/.next/standalone/.next/server/chunks/8322.js +2 -2
- package/.next/standalone/.next/server/chunks/8881.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +2 -2
- 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/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/10739-a14d0dc7271f247e.js +1 -0
- package/.next/standalone/.next/static/chunks/19126-f1bc396538752bce.js +1 -0
- package/.next/standalone/.next/static/chunks/{53664-a2be2eaacce03f0f.js → 23588-66d80958224a8544.js} +1 -1
- package/.next/standalone/.next/static/chunks/32190-a110356fb68a4333.js +1 -0
- package/.next/standalone/.next/static/chunks/65371-d3686d82abca6495.js +1 -0
- package/.next/standalone/.next/static/chunks/70317-49653c6dce23f1d9.js +1 -0
- package/.next/standalone/.next/static/chunks/8731-7869a6ed671c63a3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-719f0815a37f19be.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-bc8c3c0362de377c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c1c4b5798c494341.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-29ac4172940780e0.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/{page-2d820769aa7bcaf6.js → page-e59232665c3a0412.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/{page-dec0e71221d77928.js → page-9b1e02b5e2cfb410.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-567e98e9e90a7ef1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-bc66567cb9c40bf0.js → page-31f4ffd9778a39ed.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-86cfeb421fa97830.js → page-8eded17e1e44522d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-7fe70579023330da.js → page-e5c99f2020b904f5.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-8c51993bb3866a55.js → page-7947010e9684fbcf.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-a01b45dbe80aeecf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/{layout-22f1a931323bbb60.js → layout-482dee7dace72c88.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/{page-8d755192f0f67938.js → page-ac0593c045c64013.js} +1 -1
- package/.next/standalone/.next/static/css/84edd78de243cde6.css +1 -0
- package/.next/standalone/.next/static/css/{ca9796ac54f96058.css → a577d38ad6d7491b.css} +1 -1
- package/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/f639721981034f88-s.woff2 +0 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +7 -1
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +1 -1
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +1 -1
- package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +190 -0
- package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +58 -0
- package/.next/standalone/public/chorus-plugin/bin/test-syntax.sh +1 -0
- package/.next/standalone/public/chorus-plugin/bin/tests/test-on-post-verify-task.sh +365 -0
- package/.next/standalone/public/chorus-plugin/hooks/hooks.json +9 -0
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -1
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +9 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +436 -0
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +11 -1
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +26 -4
- package/README.md +34 -7
- package/README.zh.md +15 -8
- package/chorus.mjs +56 -12
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/1639.js +0 -1
- package/.next/standalone/.next/server/chunks/3300.js +0 -1
- package/.next/standalone/.next/server/chunks/8584.js +0 -1
- package/.next/standalone/.next/server/chunks/9051.js +0 -1
- package/.next/standalone/.next/static/chunks/10739-5c185aa0432f5d56.js +0 -1
- package/.next/standalone/.next/static/chunks/19126-858a24cab6fd338a.js +0 -1
- package/.next/standalone/.next/static/chunks/29445-04c4ab36da85b7da.js +0 -1
- package/.next/standalone/.next/static/chunks/39611-cc227784ed679a6d.js +0 -1
- package/.next/standalone/.next/static/chunks/96919-8cbf6310c703e7af.js +0 -1
- package/.next/standalone/.next/static/chunks/99513-24849ff68a8098e1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-acddb9c84f5d1607.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-b4c6141dd26cc506.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-4bf7bff8d68509f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-37a0cea0ba40c31b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-355321010dd82e56.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-8db25385236a9bbf.js +0 -1
- package/.next/standalone/.next/static/css/de70bee13400563f.css +0 -1
- package/.next/standalone/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/747892c23ea88013-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/8d697b304b401681-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- /package/.next/standalone/.next/static/{TJ6qFSxjQGUSajvwbI2qu → CqUAJ6h-gVfCxU6FvVekP}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{TJ6qFSxjQGUSajvwbI2qu → CqUAJ6h-gVfCxU6FvVekP}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
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,"401d400f977bdb2e53c96b824bed06e5eb5d27b37f",null),(0,e.A)(o,"60a749eb3a1cdc769e1047033577ceecc2f28e72ea",null),(0,e.A)(p,"40d99ce33fa98dde63c6c3af0de97e7ef37cae60cb",null),d()}catch(a){d(a)}})},26602:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>aq});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)("40d99ce33fa98dde63c6c3af0de97e7ef37cae60cb",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(31009),W=c(45148),X=c(94372),Y=c(74645),Z=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"}],_=new Set(["agent_checkin"]);function aa({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{entityType:b,entityUuid:c,projectUuid:d}=a,e=`/projects/${d}`;switch(b){case"task":return`${e}/tasks/${c}`;case"idea":return`${e}/ideas/${c}`;case"proposal":return`${e}/proposals/${c}`;case"document":return`${e}/documents/${c}`;default:return e}}(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"};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)(V.P.div,{variants:W.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)(Z.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=>!_.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)(V.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)(X.tU,{defaultValue:"unread",className:"gap-0",children:[(0,d.jsxs)(X.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,d.jsxs)(X.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)(X.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)(X.av,{value:"all",className:"mt-0",children:(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Y.F,{className:"max-h-[400px] overflow-y-auto",children:B(l,!1,p)})},"tab-all")}),(0,d.jsx)(X.av,{value:"unread",className:"mt-0",children:(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Y.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 ab(){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)(aa,{onClose:()=>c(!1)})})]})}var ac=c(94143),ad=c(75888),ae=c(86691),af=c(86460),ag=c(78323),ah=c(96307),ai=c(9994),aj=c(55732);let ak=["all","task","idea","proposal","document","project"],al={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"},am={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function an({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)(ad.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)(ae.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)(ad.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,d.jsx)(ai.p,{ref:C,type:"text",placeholder:i("placeholder"),value:m,onChange:a=>G(a.target.value),onKeyDown: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)(af.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,d.jsxs)(aj.l6,{value:o,onValueChange:a=>H(a),children:[(0,d.jsx)(aj.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,d.jsx)(aj.yv,{})}),(0,d.jsxs)(aj.gC,{children:[(0,d.jsx)(aj.eb,{value:"global",children:i("scopeGlobal")}),c&&(0,d.jsx)(aj.eb,{value:"group",children:h||i("scopeGroup")}),a&&(0,d.jsx)(aj.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:ak.map(a=>(0,d.jsx)(j.$,{variant:w===a?"default":"ghost",size:"sm",onClick:()=>I(a),className:(0,ah.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(am[a])},a))}),(0,d.jsx)(Y.F,{className:"max-h-[400px]",children:(0,d.jsx)(ag.N,{mode:"wait",children:m.trim()?s?(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.Yv.fast},children:(0,d.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,d.jsx)(af.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),i("placeholder"),"..."]})},"loading"):0===q.length?(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.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)(V.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:W.Yv.staggerFast},className:"p-2",children:q.map((a,b)=>(0,d.jsx)(V.P.div,{variants:W.Rf,children:(0,d.jsxs)("button",{ref:a=>{D.current[b]=a},onClick:()=>J(a),onMouseEnter:()=>B(b),className:(0,ah.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)(Z.E,{variant:"outline",className:(0,ah.cn)("text-[10px] px-1.5 py-0 shrink-0",al[a.entityType]||"bg-muted text-muted-foreground"),children:i(`entityType.${a.entityType}`)}),a.status&&(0,d.jsx)(Z.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)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.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 ao({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)(V.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:W.Yv.normal,ease:W.Yv.easeOut},className:"flex-1 flex flex-col",children:a},b)}let ap=({...a})=>(0,d.jsx)(H.l$,{className:"toaster group",...a});function aq({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(\/|$)/),X=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)(ab,{})})]}),!a&&(0,d.jsx)(an,{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)(ag.N,{children:H&&B.length>0&&(0,d.jsx)(V.P.div,{variants:W.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)(V.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)(V.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:X,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)(an,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)(ab,{})]})]})}),(0,d.jsx)(ac.cj,{open:J,onOpenChange:K,children:(0,d.jsx)(ac.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)(ao,{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)(ao,{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)(ao,{children:a})})})]}),(0,d.jsx)(ap,{position:L?"top-center":"top-right",closeButton:!L})]})}},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)}})},46795:(a,b,c)=>{Promise.resolve().then(c.bind(c,26602))},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={9318:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>aq});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(31009),W=c(45148),X=c(94372),Y=c(74645),Z=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"}],_=new Set(["agent_checkin"]);function aa({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{entityType:b,entityUuid:c,projectUuid:d}=a,e=`/projects/${d}`;switch(b){case"task":return`${e}/tasks/${c}`;case"idea":return`${e}/ideas/${c}`;case"proposal":return`${e}/proposals/${c}`;case"document":return`${e}/documents/${c}`;default:return e}}(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"};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)(V.P.div,{variants:W.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)(Z.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=>!_.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)(V.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)(X.tU,{defaultValue:"unread",className:"gap-0",children:[(0,d.jsxs)(X.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,d.jsxs)(X.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)(X.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)(X.av,{value:"all",className:"mt-0",children:(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Y.F,{className:"max-h-[400px] overflow-y-auto",children:B(l,!1,p)})},"tab-all")}),(0,d.jsx)(X.av,{value:"unread",className:"mt-0",children:(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,d.jsx)(Y.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 ab(){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)(aa,{onClose:()=>c(!1)})})]})}var ac=c(94143),ad=c(75888),ae=c(86691),af=c(86460),ag=c(78323),ah=c(96307),ai=c(9994),aj=c(55732);let ak=["all","task","idea","proposal","document","project"],al={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"},am={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function an({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)(ad.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)(ae.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)(ad.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,d.jsx)(ai.p,{ref:C,type:"text",placeholder:i("placeholder"),value:m,onChange:a=>G(a.target.value),onKeyDown: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)(af.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,d.jsxs)(aj.l6,{value:o,onValueChange:a=>H(a),children:[(0,d.jsx)(aj.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,d.jsx)(aj.yv,{})}),(0,d.jsxs)(aj.gC,{children:[(0,d.jsx)(aj.eb,{value:"global",children:i("scopeGlobal")}),c&&(0,d.jsx)(aj.eb,{value:"group",children:h||i("scopeGroup")}),a&&(0,d.jsx)(aj.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:ak.map(a=>(0,d.jsx)(j.$,{variant:w===a?"default":"ghost",size:"sm",onClick:()=>I(a),className:(0,ah.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(am[a])},a))}),(0,d.jsx)(Y.F,{className:"max-h-[400px]",children:(0,d.jsx)(ag.N,{mode:"wait",children:m.trim()?s?(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.Yv.fast},children:(0,d.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,d.jsx)(af.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),i("placeholder"),"..."]})},"loading"):0===q.length?(0,d.jsx)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.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)(V.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:W.Yv.staggerFast},className:"p-2",children:q.map((a,b)=>(0,d.jsx)(V.P.div,{variants:W.Rf,children:(0,d.jsxs)("button",{ref:a=>{D.current[b]=a},onClick:()=>J(a),onMouseEnter:()=>B(b),className:(0,ah.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)(Z.E,{variant:"outline",className:(0,ah.cn)("text-[10px] px-1.5 py-0 shrink-0",al[a.entityType]||"bg-muted text-muted-foreground"),children:i(`entityType.${a.entityType}`)}),a.status&&(0,d.jsx)(Z.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)(V.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:W.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 ao({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)(V.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:W.Yv.normal,ease:W.Yv.easeOut},className:"flex-1 flex flex-col",children:a},b)}let ap=({...a})=>(0,d.jsx)(H.l$,{className:"toaster group",...a});function aq({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(\/|$)/),X=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)(ab,{})})]}),!a&&(0,d.jsx)(an,{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)(ag.N,{children:H&&B.length>0&&(0,d.jsx)(V.P.div,{variants:W.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)(V.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)(V.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:X,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)(an,{currentProjectUuid:N||void 0,currentProjectName:z?.name,currentGroupUuid:O||void 0,currentGroupName:P||void 0}),(0,d.jsx)(ab,{})]})]})}),(0,d.jsx)(ac.cj,{open:J,onOpenChange:K,children:(0,d.jsx)(ac.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)(ao,{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)(ao,{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)(ao,{children:a})})})]}),(0,d.jsx)(ap,{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)}})},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})}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=6836,exports.ids=[6836],exports.modules={237:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeaCreateForm() from the server but IdeaCreateForm is 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)/projects/[uuid]/ideas/idea-create-form.tsx","IdeaCreateForm")},8234:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>f});var d=c(10837),e=c(31009);function f({children:a}){return(0,d.jsx)(e.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:a})}},34799:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IdeasList:()=>A});var e=c(10837),f=c(21968),g=c(81512),h=c.n(g),i=c(9222),j=c(16235),k=c(97443),l=c(59129),m=c(65956),n=c(35198),o=c(49599),p=c(80251),q=c(41709),r=c(83457),s=c(27380),t=c(76172),u=c(98625),v=c(22727),w=c(39099),x=c(50603),y=c(76664),z=a([r,s]);[r,s]=z.then?(await z)():z;let B={open:{dot:"bg-[#2563EB]",className:"bg-[#DBEAFE] text-[#1D4ED8] border-transparent"},elaborating:{dot:"bg-[#1976D2]",className:"bg-[#E3F2FD] text-[#1976D2] border-transparent"},proposal_created:{dot:"bg-[#FF9800]",className:"bg-[#FFF3E0] text-[#E65100] border-transparent"},completed:{dot:"bg-[#4CAF50]",className:"bg-[#E8F5E9] text-[#2E7D32] border-transparent"},closed:{dot:"bg-[#9A9A9A]",className:"bg-[#F5F5F5] text-[#6B6B6B] border-transparent"}},C={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};function A({ideas:a,projectUuid:b,currentUserUuid:c,usedIdeaUuids:d,ideaProposalMap:g,initialSelectedIdeaUuid:z}){let A=(0,i.c)(),[D,E]=(0,f.useState)(a),[F,G]=(0,f.useState)(d),[H,I]=(0,f.useState)(g),J=(0,f.useCallback)(async()=>{let a=await (0,x.z)(b);a.success&&(E(a.data.ideas),G(a.data.usedIdeaUuids),I(a.data.ideaProposalMap))},[b]);(0,t.eV)("idea",J);let K=`/projects/${b}/ideas`,{selectedId:L,openPanel:M,closePanel:N}=(0,u.T)(K,z),O=new Set(F),P=(0,f.useMemo)(()=>L?D.find(a=>a.uuid===L)??null:null,[L,D]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(w.I,{className:"space-y-4",children:D.map(a=>{let c=B[a.status]||B.open,d=O.has(a.uuid);return(0,e.jsx)(w.T,{children:(0,e.jsx)(v.D,{entityType:"idea",entityUuid:a.uuid,children:(0,e.jsxs)(n.Zp,{className:"cursor-pointer border-[#E5E0D8] py-4 transition-all hover:border-[#C67A52]/50 hover:shadow-sm",onClick:()=>M(a.uuid),children:[(0,e.jsxs)(n.aR,{className:"gap-0 py-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(p.eu,{size:"sm",children:(0,e.jsx)(p.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:a.createdBy?.type==="agent"?(0,e.jsx)(j.A,{className:"h-3 w-3"}):(0,e.jsx)(k.A,{className:"h-3 w-3"})})}),(0,e.jsx)("span",{className:"text-[11px] text-[#6B6B6B]",children:a.createdBy?.name||A("common.unknown")}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:"•"}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children: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,y.r)(c)}(a.createdAt,A)})]}),(0,e.jsx)(n.X9,{children:(0,e.jsxs)(o.E,{className:`gap-1.5 text-[10px] ${c.className}`,children:[(0,e.jsx)("span",{className:`h-1.5 w-1.5 rounded-full ${c.dot}`}),d?A("ideas.proposalGenerated"):A(`status.${C[a.status]||a.status}`)]})})]}),(0,e.jsxs)(n.Wu,{className:"space-y-2 py-0",children:[a.assignee&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[11px] text-[#9A9A9A]",children:[A("ideas.assignedTo"),":"]}),(0,e.jsxs)(o.E,{className:"gap-1.5 bg-[#F0F9FF] text-[#0284C7] border-transparent text-[10px]",children:[(0,e.jsx)(j.A,{className:"h-3 w-3"}),a.assignee.name]})]}),(0,e.jsx)("h3",{className:"text-sm font-medium text-[#2C2C2C]",children:a.title}),a.content&&(0,e.jsx)("div",{className:"prose prose-sm max-w-none line-clamp-3 text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(q.jH,{plugins:{code:r.a},children:a.content})})]}),(0,e.jsxs)(n.wL,{className:"gap-4 py-0 text-[#6B6B6B]",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,e.jsxs)("span",{className:"text-xs",children:[a.commentCount," ",A("comments.title").toLowerCase()]})]}),d&&H[a.uuid]&&(0,e.jsxs)(h(),{href:`/projects/${b}/proposals/${H[a.uuid]}`,onClick:a=>a.stopPropagation(),className:"flex items-center gap-1.5 text-[#C67A52] hover:text-[#B56A42] transition-colors",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{className:"text-xs font-medium",children:A("ideas.viewProposal")})]})]})]})})},a.uuid)})}),P&&(0,e.jsx)(s.D,{idea:P,projectUuid:b,currentUserUuid:c,isUsedInProposal:O.has(P.uuid),onClose:N,onDeleted:N})]})}d()}catch(a){d(a)}})},36928:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>v});var e=c(10023),f=c(18198),g=c.n(f),h=c(66530),i=c(26555),j=c(85394),k=c(74236),l=c(61007),m=c(97448),n=c(29662),o=c(66643),p=c(61413),q=c(57578),r=c(54349),s=c(237),t=c(84805),u=a([n,o,p,q,r]);[n,o,p,q,r]=u.then?(await u)():u;let w=["open","elaborating","proposal_created"],x={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};async function v({projectUuid:a,filter:b,isAssignedToMeFilter:c,initialSelectedIdeaUuid:d}){let f=await (0,n.d)();f||(0,h.redirect)("/login");let u=await (0,i.A)();await (0,p.Yi)(f.companyUuid,a)||(0,h.redirect)("/projects");let{ideas:v}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3}),{ideas:y}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3,assignedToMe:!0,actorUuid:f.actorUuid,actorType:f.type}),z=v.reduce((a,b)=>(a[b.status]=(a[b.status]||0)+1,a),{}),A=v.map(a=>a.uuid),B=A.length>0?await (0,q.e1)(f.companyUuid,A):{usedIdeas:[]},C=B.usedIdeas.map(a=>a.uuid),D={};for(let a of B.usedIdeas)D[a.uuid]=a.proposalUuid;let E=A.length>0?await (0,r.uA)(f.companyUuid,"idea",A):{},F=v;return c&&(F=y),"all"!==b&&(F=F.filter(a=>a.status===b)),(0,e.jsxs)("div",{className:"p-4 md:p-8",children:[(0,e.jsxs)("div",{className:"mb-6",children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:u("ideas.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:u("ideas.subtitle")})]}),(0,e.jsx)("div",{className:"mb-6",children:(0,e.jsx)(s.IdeaCreateForm,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-6 flex gap-2 overflow-x-auto border-b border-border pb-4",children:[(0,e.jsx)(g(),{href:`/projects/${a}/ideas`,children:(0,e.jsxs)(j.$,{variant:"all"!==b||c?"ghost":"default",size:"sm",children:[u("ideas.all")," (",v.length,")"]})}),(0,e.jsx)(g(),{href:`/projects/${a}/ideas?assignedToMe=true`,children:(0,e.jsxs)(j.$,{variant:c&&"all"===b?"default":"ghost",size:"sm",children:[u("ideas.assignedToMe")," (",y.length,")"]})}),w.map(d=>{let f=z[d]||0;return(0,e.jsx)(g(),{href:`/projects/${a}/ideas?status=${d}${c?"&assignedToMe=true":""}`,children:(0,e.jsxs)(j.$,{variant:b===d?"default":"ghost",size:"sm",children:[u(`status.${x[d]}`)," (",f,")"]})},d)})]}),0===F.length?(0,e.jsx)(m.AnimatedEmptyState,{children:(0,e.jsxs)(k.Zp,{className:"flex flex-col items-center justify-center p-12 text-center",children:[(0,e.jsx)("div",{className:"mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-primary/10",children:(0,e.jsx)(l.A,{className:"h-8 w-8 text-primary"})}),(0,e.jsx)("h3",{className:"mb-2 text-lg font-medium text-foreground",children:"all"===b?u("ideas.noIdeas"):u("ideas.noIdeasWithStatus",{status:u(`status.${x[b]||b}`)})}),(0,e.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:"all"===b?u("ideas.startByAdding"):u("ideas.ideasWithStatus")})]})}):(0,e.jsx)(t.IdeasList,{ideas:F.map(a=>({...a,commentCount:E[a.uuid]||0})),projectUuid:a,currentUserUuid:f.actorUuid,usedIdeaUuids:C,ideaProposalMap:D,initialSelectedIdeaUuid:d})]})}d()}catch(a){d(a)}})},38839:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>s});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(42424),i=c(9994),j=c(20170),k=c(2852),l=c(35198),m=c(78323),n=c(31009),o=c(9810),p=c(86460),q=c(42377);let r=(0,q.createServerReference)("40d8931a3475dbbcf7539393182192df2d87fd982d",q.callServer,void 0,q.findSourceMapURL,"createIdeaAction");function s({projectUuid:a}){let b=(0,g.c)(),c=(0,f.useRouter)(),[q,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),B=async d=>{if(d.preventDefault(),y(null),!t.trim())return void y(b("ideas.titleRequired"));s(async()=>{try{let d=await r({projectUuid:a,title:t.trim(),content:v.trim()||void 0});d.success?(A(!0),setTimeout(()=>{u(""),w(""),c.refresh(),A(!1)},600)):y(d.error||b("ideas.createFailed"))}catch{y(b("common.genericError"))}})};return(0,d.jsx)(l.Zp,{className:"border-[#E5E0D8] rounded-2xl py-5",children:(0,d.jsx)(l.Wu,{children:(0,d.jsxs)("form",{onSubmit:B,className:"space-y-4",children:[x&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:x}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("ideas.titleLabel")}),(0,d.jsx)(i.p,{id:"idea-title",value:t,onChange:a=>u(a.target.value),placeholder:b("ideas.whatIsYourIdea"),className:"border-[#E5E0D8] text-sm",required:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("common.content")}),(0,d.jsx)(j.T,{id:"idea-content",value:v,onChange:a=>w(a.target.value),placeholder:b("ideas.addMoreDetails"),rows:2,className:"border-[#E5E0D8] text-sm resize-none"})]})]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(h.$,{type:"submit",disabled:q||z||!t.trim(),size:"sm",className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:(0,d.jsx)(m.N,{mode:"wait",children:z?(0,d.jsx)(n.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"})},"success"):q?(0,d.jsxs)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(p.A,{className:"h-4 w-4 animate-spin"}),b("common.creating")]},"loading"):(0,d.jsx)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:b("ideas.submit")},"idle")})})})]})})})}},39099:(a,b,c)=>{"use strict";c.d(b,{I:()=>g,T:()=>h});var d=c(10837),e=c(31009),f=c(45148);function g({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.bK,initial:"initial",animate:"animate",className:b,children:a})}function h({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.Rf,className:b,children:a})}},50603:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4087e40dae1269b2ba2a062b4df8bea0c9964d2c3d",d.callServer,void 0,d.findSourceMapURL,"fetchIdeasAction")},52770:(a,b,c)=>{Promise.resolve().then(c.bind(c,43775)),Promise.resolve().then(c.bind(c,92851)),Promise.resolve().then(c.bind(c,11226)),Promise.resolve().then(c.bind(c,13065)),Promise.resolve().then(c.bind(c,64098)),Promise.resolve().then(c.bind(c,49442)),Promise.resolve().then(c.bind(c,66542)),Promise.resolve().then(c.bind(c,87827)),Promise.resolve().then(c.bind(c,81448)),Promise.resolve().then(c.bind(c,53392)),Promise.resolve().then(c.bind(c,97271)),Promise.resolve().then(c.bind(c,73814)),Promise.resolve().then(c.bind(c,62329)),Promise.resolve().then(c.bind(c,2768)),Promise.resolve().then(c.bind(c,1159)),Promise.resolve().then(c.bind(c,69757)),Promise.resolve().then(c.bind(c,92521)),Promise.resolve().then(c.bind(c,6873)),Promise.resolve().then(c.bind(c,10375)),Promise.resolve().then(c.bind(c,4176)),Promise.resolve().then(c.bind(c,33914)),Promise.resolve().then(c.bind(c,19868)),Promise.resolve().then(c.bind(c,32886)),Promise.resolve().then(c.bind(c,20294)),Promise.resolve().then(c.bind(c,94733)),Promise.resolve().then(c.bind(c,61298)),Promise.resolve().then(c.bind(c,8013)),Promise.resolve().then(c.bind(c,44236)),Promise.resolve().then(c.bind(c,5699)),Promise.resolve().then(c.t.bind(c,18198,23)),Promise.resolve().then(c.bind(c,237)),Promise.resolve().then(c.bind(c,84805)),Promise.resolve().then(c.bind(c,97448))},70922:(a,b,c)=>{Promise.resolve().then(c.bind(c,13753)),Promise.resolve().then(c.bind(c,81093)),Promise.resolve().then(c.bind(c,14672)),Promise.resolve().then(c.bind(c,25711)),Promise.resolve().then(c.bind(c,70952)),Promise.resolve().then(c.bind(c,98556)),Promise.resolve().then(c.bind(c,14220)),Promise.resolve().then(c.bind(c,5989)),Promise.resolve().then(c.bind(c,15906)),Promise.resolve().then(c.bind(c,45106)),Promise.resolve().then(c.bind(c,13277)),Promise.resolve().then(c.bind(c,55212)),Promise.resolve().then(c.bind(c,73935)),Promise.resolve().then(c.bind(c,50382)),Promise.resolve().then(c.bind(c,66529)),Promise.resolve().then(c.bind(c,41335)),Promise.resolve().then(c.bind(c,66619)),Promise.resolve().then(c.bind(c,53187)),Promise.resolve().then(c.bind(c,28121)),Promise.resolve().then(c.bind(c,63658)),Promise.resolve().then(c.bind(c,95556)),Promise.resolve().then(c.bind(c,28386)),Promise.resolve().then(c.bind(c,15644)),Promise.resolve().then(c.bind(c,25400)),Promise.resolve().then(c.bind(c,15700)),Promise.resolve().then(c.bind(c,31284)),Promise.resolve().then(c.bind(c,2807)),Promise.resolve().then(c.bind(c,59782)),Promise.resolve().then(c.bind(c,80501)),Promise.resolve().then(c.t.bind(c,81512,23)),Promise.resolve().then(c.bind(c,38839)),Promise.resolve().then(c.bind(c,34799)),Promise.resolve().then(c.bind(c,8234))},84805:(a,b,c)=>{"use strict";c.d(b,{IdeasList:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeasList() from the server but IdeasList is 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)/projects/[uuid]/ideas/ideas-list.tsx","IdeasList")},85394:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(10023);c(73426);var e=c(89571),f=c(15362),g=c(63413);let h=(0,e.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},87711:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"008f20a9405b38193432bd623a732a03d1573f9915":()=>i.UD,"4019dc5c43c0d0b5cd0ecf1c4101d03c3bcac1be4c":()=>e.v5,"401da80330372c6f48bb98b62ef3e13f5e2a56707e":()=>i.ZL,"407ffac12f593d62998dda19ad905f6958683c105c":()=>i.qN,"408601058044febf68e8336e07ed5085f28c4d4eae":()=>j.zS,"4087e40dae1269b2ba2a062b4df8bea0c9964d2c3d":()=>f.zK,"40a8dc731d4afcd4711ee4de5c14c357fc1b4639ca":()=>f.JQ,"40b87c9088e53f05d128cb7aea80d80fd4a1a91c9e":()=>h.x,"40cb34bdc4fed2104114738bf7775d107b52ddb319":()=>e.Dv,"40d8931a3475dbbcf7539393182192df2d87fd982d":()=>f.w$,"602780675b59205b3bd93dcfa5af4464fd9081c679":()=>f.Z$,"602f13cc95042682d5cf10c3387439a4d8c9e9323f":()=>i.M$,"6087f3e9888300b773d5b392ae84a724defbca763c":()=>i.Ax,"60c43a9f2b19ee7b3969eed5e9b23569c77064677e":()=>j.yu,"60c9fdcf1885bd3a91e2e933419e93a4c95d2bb832":()=>g.d,"60cfafb97dee121da111a8fbb6d24763894ee7029a":()=>e.Tg,"701c6cc943504a7de9e8eef50d2493072ed3eb0380":()=>j.em,"70f6ab49174daed18a540513e593e0cf2cf2dc3ad1":()=>g.s});var e=c(22299),f=c(31138),g=c(98581),h=c(80041),i=c(23157),j=c(22110),k=a([e,f,g,h,i,j]);[e,f,g,h,i,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},97448:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call AnimatedEmptyState() from the server but AnimatedEmptyState is 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/components/animated-empty-state.tsx","AnimatedEmptyState")},98625:(a,b,c)=>{"use strict";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}}}};
|