@made-by-moonlight/athene-web 0.9.2 → 0.10.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/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +241 -219
- package/.next/app-path-routes-manifest.json +10 -7
- package/.next/build-manifest.json +6 -6
- package/.next/prerender-manifest.json +23 -23
- package/.next/react-loadable-manifest.json +5 -5
- package/.next/required-server-files.json +4 -4
- package/.next/routes-manifest.json +16 -0
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +9 -9
- package/.next/server/app/api/backlog/route.js +1 -1
- package/.next/server/app/api/backlog/route.js.nft.json +1 -1
- package/.next/server/app/api/backlog/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/browse-directory/route.js +1 -1
- package/.next/server/app/api/browse-directory/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/filesystem/browse/route.js +1 -1
- package/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/issues/route.js +1 -1
- package/.next/server/app/api/issues/route.js.nft.json +1 -1
- package/.next/server/app/api/issues/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/meta/[name]/start/route.js +1 -0
- package/.next/server/app/api/meta/[name]/start/route.js.nft.json +1 -0
- package/.next/server/app/api/meta/[name]/start/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/meta/route.js +1 -0
- package/.next/server/app/api/meta/route.js.nft.json +1 -0
- package/.next/server/app/api/meta/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/observability/route.js +1 -1
- package/.next/server/app/api/observability/route.js.nft.json +1 -1
- package/.next/server/app/api/observability/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/orchestrators/route.js +1 -1
- package/.next/server/app/api/orchestrators/route.js.nft.json +1 -1
- package/.next/server/app/api/orchestrators/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/route.js +2 -2
- package/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/reload/route.js +1 -1
- package/.next/server/app/api/projects/reload/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/reload/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/prs/[id]/merge/route.js +1 -1
- package/.next/server/app/api/prs/[id]/merge/route.js.nft.json +1 -1
- package/.next/server/app/api/prs/[id]/merge/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/reviews/execute/route.js +1 -1
- package/.next/server/app/api/reviews/execute/route.js.nft.json +1 -1
- package/.next/server/app/api/reviews/execute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/reviews/findings/route.js +1 -1
- package/.next/server/app/api/reviews/findings/route.js.nft.json +1 -1
- package/.next/server/app/api/reviews/findings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/reviews/route.js +1 -1
- package/.next/server/app/api/reviews/route.js.nft.json +1 -1
- package/.next/server/app/api/reviews/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/reviews/send/route.js +1 -1
- package/.next/server/app/api/reviews/send/route.js.nft.json +1 -1
- package/.next/server/app/api/reviews/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/runtime/terminal/route.js +1 -1
- package/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/message/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/message/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/message/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/remap/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/remap/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/remap/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/send/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/patches/route.js +1 -1
- package/.next/server/app/api/sessions/patches/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/patches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/setup-labels/route.js +1 -1
- package/.next/server/app/api/setup-labels/route.js.nft.json +1 -1
- package/.next/server/app/api/setup-labels/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/spawn/route.js +1 -1
- package/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verify/route.js +1 -1
- package/.next/server/app/api/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/[...slug]/route.js +1 -1
- package/.next/server/app/api/webhooks/[...slug]/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[...slug]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/apple-icon/route.js +1 -1
- package/.next/server/app/apple-icon/route.js.nft.json +1 -1
- package/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -1
- package/.next/server/app/apple-icon.body +0 -0
- package/.next/server/app/dev/terminal-test/page.js +2 -2
- package/.next/server/app/dev/terminal-test/page.js.nft.json +1 -1
- package/.next/server/app/dev/terminal-test/page_client-reference-manifest.js +1 -1
- package/.next/server/app/dev/terminal-test.html +1 -1
- package/.next/server/app/dev/terminal-test.rsc +10 -10
- package/.next/server/app/icon/route.js +1 -1
- package/.next/server/app/icon/route.js.nft.json +1 -1
- package/.next/server/app/icon/route_client-reference-manifest.js +1 -1
- package/.next/server/app/icon-192/route.js +1 -1
- package/.next/server/app/icon-192/route.js.nft.json +1 -1
- package/.next/server/app/icon-192/route_client-reference-manifest.js +1 -1
- package/.next/server/app/icon-512/route.js +1 -1
- package/.next/server/app/icon-512/route.js.nft.json +1 -1
- package/.next/server/app/icon-512/route_client-reference-manifest.js +1 -1
- package/.next/server/app/icon.body +0 -0
- package/.next/server/app/manifest.webmanifest/route.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest.body +1 -1
- package/.next/server/app/meta/[name]/page.js +2 -0
- package/.next/server/app/meta/[name]/page.js.nft.json +1 -0
- package/.next/server/app/meta/[name]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/projects/[projectId]/page.js +2 -2
- package/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/projects/[projectId]/sessions/[id]/page.js +2 -2
- package/.next/server/app/projects/[projectId]/sessions/[id]/page.js.nft.json +1 -1
- package/.next/server/app/projects/[projectId]/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/projects/[projectId]/settings/page.js +2 -2
- package/.next/server/app/projects/[projectId]/settings/page.js.nft.json +1 -1
- package/.next/server/app/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/prs/page.js +2 -2
- package/.next/server/app/prs/page.js.nft.json +1 -1
- package/.next/server/app/prs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +2 -2
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reviews/page.js +2 -2
- package/.next/server/app/reviews/page.js.nft.json +1 -1
- package/.next/server/app/reviews/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/[id]/page.js +2 -2
- package/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/test-direct/page.js +2 -2
- package/.next/server/app/test-direct/page.js.nft.json +1 -1
- package/.next/server/app/test-direct/page_client-reference-manifest.js +1 -1
- package/.next/server/app/test-direct.html +1 -1
- package/.next/server/app/test-direct.rsc +10 -10
- package/.next/server/app-paths-manifest.json +10 -7
- package/.next/server/chunks/1215.js +1 -1
- package/.next/server/chunks/1271.js +1 -1
- package/.next/server/chunks/1351.js +3 -0
- package/.next/server/chunks/1612.js +1 -0
- package/.next/server/chunks/2899.js +1 -1
- package/.next/server/chunks/5053.js +1 -1
- package/.next/server/chunks/5684.js +942 -0
- package/.next/server/chunks/6148.js +2 -2
- package/.next/server/chunks/{4033.js → 6319.js} +1 -1
- package/.next/server/chunks/7486.js +3 -3
- package/.next/server/chunks/9472.js +102 -40
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/TSIgyOuEpSp86lKtHn-Y4/_buildManifest.js +1 -0
- package/.next/static/chunks/1089-89713836690dc384.js +1 -0
- package/.next/static/chunks/{9876-de0c5a1a319b4e8e.js → 1145-b66ea7e0df4f6842.js} +1 -1
- package/.next/static/chunks/1160-0ae37be89137bb48.js +1 -0
- package/.next/static/chunks/{2073-4192de0bb00cc993.js → 2554-dbb4cd7dd7f11245.js} +1 -1
- package/.next/static/chunks/3764.9c44a4ac0ede4088.js +1 -0
- package/.next/static/chunks/5204.0d460c9e7de8b015.js +1 -0
- package/.next/static/chunks/8759-2ef1cec1061e251a.js +1 -0
- package/.next/static/chunks/9531-6d130ea1232ee102.js +1 -0
- package/.next/static/chunks/app/_not-found/page-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/backlog/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/browse-directory/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/filesystem/browse/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/issues/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/meta/[name]/start/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/meta/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/observability/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/orchestrators/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/projects/reload/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/projects/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/prs/[id]/merge/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/reviews/execute/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/reviews/findings/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/reviews/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/reviews/send/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/runtime/terminal/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/kill/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/message/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/remap/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/restore/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/send/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/patches/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/setup-labels/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/spawn/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/update/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/verify/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/version/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/api/webhooks/[...slug]/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/apple-icon/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/dev/terminal-test/page-2a26b5fc208a0a35.js +1 -0
- package/.next/static/chunks/app/error-362a1ff5db756e6f.js +1 -0
- package/.next/static/chunks/app/{global-error-f6bef179169bcdae.js → global-error-ca208f2a552a271f.js} +1 -1
- package/.next/static/chunks/app/icon/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/icon-192/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/icon-512/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/layout-3937228484f6c652.js +1 -0
- package/.next/static/chunks/app/loading-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/meta/[name]/page-305f42c2c391f520.js +1 -0
- package/.next/static/chunks/app/{not-found-cba3f587e1f98dcb.js → not-found-3d7a362f3eaf10aa.js} +1 -1
- package/.next/static/chunks/app/page-305f42c2c391f520.js +1 -0
- package/.next/static/chunks/app/projects/[projectId]/layout-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/projects/[projectId]/loading-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/projects/[projectId]/page-daf2aefa15d58404.js +1 -0
- package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-e3e30f31bc5a683f.js +1 -0
- package/.next/static/chunks/app/projects/[projectId]/settings/{page-63572555892d7a61.js → page-804b824af9b9d550.js} +1 -1
- package/.next/static/chunks/app/projects/layout-f7f6bc8388761510.js +1 -0
- package/.next/static/chunks/app/prs/page-220d66ff3931dad7.js +1 -0
- package/.next/static/chunks/app/review/{page-022b2d2c326ff413.js → page-13ec034d995001ab.js} +1 -1
- package/.next/static/chunks/app/reviews/page-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/sessions/[id]/{error-67c0d27f977a1cc1.js → error-419d086d9f9cee0d.js} +1 -1
- package/.next/static/chunks/app/sessions/[id]/loading-5634011a1475aa0d.js +1 -0
- package/.next/static/chunks/app/sessions/[id]/{not-found-cba3f587e1f98dcb.js → not-found-3d7a362f3eaf10aa.js} +1 -1
- package/.next/static/chunks/app/sessions/[id]/page-9879b78853fe3a80.js +1 -0
- package/.next/static/chunks/app/test-direct/{page-8b80ed180c0f2f42.js → page-ca223477414cb95d.js} +1 -1
- package/.next/static/chunks/{main-app-162601c3f1c01b19.js → main-app-bd2a1b10332da5d9.js} +1 -1
- package/.next/static/chunks/{webpack-f9566aaa604a1b07.js → webpack-cc5626a562806e84.js} +1 -1
- package/.next/static/css/0863eb7d19a9924a.css +1 -0
- package/.next/static/css/3effacfd2e5df88c.css +1 -0
- package/dist-server/mux-websocket.js +46 -25
- package/dist-server/single-port-server.js +2 -2
- package/dist-server/start-all.js +3 -3
- package/package.json +33 -33
- package/.next/server/chunks/2347.js +0 -3
- package/.next/server/chunks/4148.js +0 -942
- package/.next/server/chunks/5689.js +0 -1
- package/.next/server/chunks/9493.js +0 -1
- package/.next/static/chunks/1089-c6d7995c7c19039a.js +0 -1
- package/.next/static/chunks/3764.4c736d9a181489a4.js +0 -1
- package/.next/static/chunks/4115-1a4fa80ec67a29d3.js +0 -1
- package/.next/static/chunks/5204.7de7e266895bced7.js +0 -1
- package/.next/static/chunks/8204-7c7837ed694da99c.js +0 -1
- package/.next/static/chunks/8759-490573536f93f85c.js +0 -1
- package/.next/static/chunks/9531-a5175e55fa0db48d.js +0 -1
- package/.next/static/chunks/app/_not-found/page-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/backlog/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/browse-directory/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/filesystem/browse/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/issues/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/observability/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/orchestrators/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/projects/reload/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/projects/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/prs/[id]/merge/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/reviews/execute/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/reviews/findings/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/reviews/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/reviews/send/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/runtime/terminal/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/kill/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/message/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/remap/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/restore/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/send/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/patches/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/setup-labels/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/spawn/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/update/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/verify/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/version/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/api/webhooks/[...slug]/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/apple-icon/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/dev/terminal-test/page-d0132109f9d8524e.js +0 -1
- package/.next/static/chunks/app/error-d632d0714b987864.js +0 -1
- package/.next/static/chunks/app/icon/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/icon-192/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/icon-512/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/layout-5cac6fe817194d7a.js +0 -1
- package/.next/static/chunks/app/loading-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/page-cf7bccb75990950d.js +0 -1
- package/.next/static/chunks/app/projects/[projectId]/layout-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/projects/[projectId]/loading-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/projects/[projectId]/page-039a93b16089ed57.js +0 -1
- package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-043b525bedb8f0f7.js +0 -1
- package/.next/static/chunks/app/projects/layout-d43b2e38d46221bd.js +0 -1
- package/.next/static/chunks/app/prs/page-e447852fbe0c6ee4.js +0 -1
- package/.next/static/chunks/app/reviews/page-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/sessions/[id]/loading-6add9dacf1870b4b.js +0 -1
- package/.next/static/chunks/app/sessions/[id]/page-863cf8dd2c76d06d.js +0 -1
- package/.next/static/css/0c9b7451c2ce7c02.css +0 -1
- package/.next/static/css/b4a15f23f468892a.css +0 -1
- package/.next/static/pROr0laPuZIdA4NYNygMD/_buildManifest.js +0 -1
- package/LICENSE +0 -22
- /package/.next/static/{pROr0laPuZIdA4NYNygMD → TSIgyOuEpSp86lKtHn-Y4}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5689,exports.ids=[5689],exports.modules={7207:(a,b)=>{function c(a){let{widthInt:b,heightInt:c,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}=a,h=d?40*d:b,i=e?40*e:c,j=h&&i?"viewBox='0 0 "+h+" "+i+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+j+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+f+"'/%3E%3C/svg%3E"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},26574:(a,b,c)=>{a.exports=c(2570).vendored.contexts.ImageConfigContext},28504:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(32697),e=c(96692),f=c(33666),g=e._(c(81115)),h=d._(c(51538)),i=d._(c(59319)),j=c(53448),k=c(98531),l=c(26574);c(82353);let m=c(61221),n=d._(c(80750)),o=c(32145),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},29647:(a,b)=>{function c(a){let{ampFirst:b=!1,hybrid:c=!1,hasQuery:d=!1}=void 0===a?{}:a;return b||c&&d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isInAmpMode",{enumerable:!0,get:function(){return c}})},38468:(a,b,c)=>{a.exports=c(2570).vendored.contexts.AmpContext},53448:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(82353);let d=c(7207),e=c(98531),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},59319:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(32697),e=c(96692),f=c(33666),g=e._(c(81115)),h=d._(c(99338)),i=c(38468),j=c(80644),k=c(29647);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(82353);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},61221:(a,b,c)=>{a.exports=c(2570).vendored.contexts.RouterContext},75689:(a,b,c)=>{c.d(b,{default:()=>e.a});var d=c(90346),e=c.n(d)},80644:(a,b,c)=>{a.exports=c(2570).vendored.contexts.HeadManagerContext},80750:(a,b)=>{function c(a){var b;let{config:c,src:d,width:e,quality:f}=a,g=f||(null==(b=c.qualities)?void 0:b.reduce((a,b)=>Math.abs(b-75)<Math.abs(a-75)?b:a))||75;return c.path+"?url="+encodeURIComponent(d)+"&w="+e+"&q="+g+(d.startsWith("/_next/static/media/"),"")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return d}}),c.__next_img_default=!0;let d=c},90346:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(32697),e=c(53448),f=c(28504),g=d._(c(80750));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},98531:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},99338:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(81115),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=9493,exports.ids=[9493],exports.modules={5241:(a,b,c)=>{c.d(b,{CM:()=>f,N_:()=>h,Rt:()=>g,SB:()=>e,U1:()=>j,tT:()=>i,u3:()=>d});let d={ACTIVE:"active",READY:"ready",IDLE:"idle",WAITING_INPUT:"waiting_input",BLOCKED:"blocked",EXITED:"exited"},e={SPAWNING:"spawning",WORKING:"working",DETECTING:"detecting",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",IDLE:"idle",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},f=new Set(["killed","terminated","done","cleanup","errored","merged"]),g=new Set(["exited"]),h=new Set([]);function i(a,b,c){if(a.metadata?.role==="orchestrator")return!0;if(!b)return!1;let d=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(a.id===`${b}-orchestrator`)return!0;if(!RegExp(`^${d}-orchestrator-\\d+$`).test(a.id))return!1;if(c){for(let d of c)if(d!==b&&RegExp(`^${d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}-\\d+$`).test(a.id))return!1}return!0}let j={PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"}},19881:(a,b,c)=>{c.d(b,{$:()=>e});var d=c(81115);function e({cssVar:a,storageKey:b,defaultWidth:c,min:e,max:f,edge:g}){let h=(0,d.useRef)(c),i=(0,d.useCallback)(b=>{let c=Math.min(f,Math.max(e,b));h.current=c,document.documentElement.style.setProperty(a,`${c}px`)},[a,f,e]);return{onPointerDown:(0,d.useCallback)(a=>{a.preventDefault();let c=a.clientX,d=h.current,e="right"===g?1:-1;document.body.classList.add("is-resizing-x");let f=a=>{i(d+e*(a.clientX-c))},j=()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",j),document.body.classList.remove("is-resizing-x"),window.localStorage.setItem(b,String(h.current))};window.addEventListener("pointermove",f),window.addEventListener("pointerup",j)},[i,g,b]),onDoubleClick:(0,d.useCallback)(()=>{i(c),window.localStorage.setItem(b,String(c))},[i,c,b])}}},37155:(a,b,c)=>{c.d(b,{Ou:()=>h,QN:()=>g,U1:()=>d.U1,dG:()=>j,fZ:()=>e,nH:()=>l,ng:()=>n,sZ:()=>f,wy:()=>m,y8:()=>i});var d=c(5241);function e(a){return a.mergeability.blockers.includes("API rate limited or unavailable")}function f(a){return!1===a.enriched}function g(a){return"open"===a.state&&a.mergeability.mergeable&&a.mergeability.ciPassing&&a.mergeability.approved&&a.mergeability.noConflicts}function h(a){return a.lifecycle?.session?.label??a.status.replace(/_/g," ")}function i(a){return a.lifecycle?"terminated"===a.lifecycle.sessionState:"terminated"===a.status||"killed"===a.status}function j(a){return a.lifecycle?"done"===a.lifecycle.sessionState||i(a)||"merged"===a.lifecycle.prState:"merged"===a.status||"killed"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr?.state==="merged"}function k(a){return null!==a.activity&&d.Rt.has(a.activity)}function l(a){return a.lifecycle?j(a)||"missing"===a.lifecycle.runtimeState||"exited"===a.lifecycle.runtimeState||k(a):d.CM.has(a.status)||k(a)}function m(a){return a.lifecycle?("done"===a.lifecycle.sessionState||i(a)||"missing"===a.lifecycle.runtimeState||"exited"===a.lifecycle.runtimeState||k(a))&&!d.N_.has(a.status)&&"merged"!==a.status:l(a)&&!d.N_.has(a.status)}function n(a,b="detailed"){let c=function(a){if(j(a))return"done";if(a.lifecycle?.prReason==="merge_ready"||a.lifecycle?.prReason==="approved"||"mergeable"===a.status||"approved"===a.status||a.pr&&!f(a.pr)&&a.pr.mergeability.mergeable)return"merge";if(a.lifecycle?.sessionState==="detecting"||a.lifecycle?.sessionState==="needs_input"||a.lifecycle?.sessionState==="stuck"||a.status===d.SB.ERRORED||a.status===d.SB.NEEDS_INPUT||a.status===d.SB.STUCK||a.activity===d.u3.WAITING_INPUT||a.activity===d.u3.BLOCKED||a.activity===d.u3.EXITED)return"respond";if(a.lifecycle?.prReason==="ci_failing"||a.lifecycle?.prReason==="changes_requested"||"ci_failed"===a.status||"changes_requested"===a.status)return"review";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(b.ciStatus===d.U1.FAILING||"changes_requested"===b.reviewDecision||!b.mergeability.noConflicts)return"review"}if(a.lifecycle?.prReason==="review_pending"||a.lifecycle?.prReason==="closed_unmerged"||"review_pending"===a.status)return"pending";if(a.pr&&!e(a.pr)&&!f(a.pr)){let b=a.pr;if(!b.isDraft&&b.unresolvedThreads>0||!b.isDraft&&("pending"===b.reviewDecision||"none"===b.reviewDecision))return"pending"}return"working"}(a);return"simple"===b&&("respond"===c||"review"===c)?"action":c}},52754:(a,b,c)=>{c.d(b,{D:()=>e,U:()=>f});var d=c(81115);let e=767;function f(a){let[b,c]=(0,d.useState)(!1);return b}},61875:(a,b,c)=>{function d(a,b){let c=a.replace(/^(?:feat|fix|chore|refactor|docs|test|ci|session|orchestrator|release|hotfix|feature|bugfix|build|wip|improvement)\//,"");return b&&c===b?"":c.replace(/[-_]/g," ").replace(/\b\w/g,a=>a.toUpperCase()).trim()}function e(a){if(a.displayName&&a.displayNameUserSet)return a.displayName;if(a.pr?.title)return a.pr.title;if(a.issueTitle)return a.issueTitle;if(a.displayName)return a.displayName;if(a.userPrompt)return a.userPrompt;if(a.branch){let b=d(a.branch,a.id);if(b)return b}let b=a.metadata.pinnedSummary;return b||(a.summary&&!a.summaryIsFallback||a.summary?a.summary:a.status)}function f(a){let b=Date.now()-a;if(b<6e4)return"just now";let c=Math.floor(b/6e4);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);if(e<7)return`${e}d ago`;let f=Math.floor(e/7);return`${f}w ago`}c.d(b,{Pn:()=>e,fw:()=>f,mC:()=>d})},71276:(a,b,c)=>{c.d(b,{d:()=>j,t:()=>i});var d=c(33666),e=c(81115),f=c(85489);function g(a,b){return"SHOW"===b.type?{message:b.message,variant:b.variant,key:b.key}:null}let h=(0,e.createContext)(null);function i({children:a}){let[b,c]=(0,e.useReducer)(g,null),i=(0,e.useRef)(null),j=(0,e.useRef)(0),k=(0,e.useCallback)((a,b="info")=>{null!==i.current&&clearTimeout(i.current),j.current+=1,c({type:"SHOW",message:a,variant:b,key:j.current}),i.current=setTimeout(()=>{c({type:"HIDE"}),i.current=null},3e3)},[]);return(0,d.jsxs)(h.Provider,{value:{showToast:k},children:[a,(0,d.jsx)("div",{className:"toast-container",role:"status","aria-live":"polite","aria-atomic":"true",children:b&&(0,d.jsxs)("div",{className:(0,f.cn)("toast","success"===b.variant&&"toast--success","error"===b.variant&&"toast--error","info"===b.variant&&"toast--info"),children:[(0,d.jsx)("span",{className:"toast__icon","aria-hidden":"true"}),(0,d.jsx)("span",{className:"toast__message",children:b.message})]},b.key)})]})}function j(){let a=(0,e.useContext)(h);if(!a)throw Error("useToast must be used within a ToastProvider");return a}},74566:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(33666),e=c(93463),f=c(81115);function g({className:a,label:b}){let{resolvedTheme:c,setTheme:g}=(0,e.D)(),[h,i]=(0,f.useState)(!1);if(!h)return(0,d.jsx)("div",{className:a??"h-9 w-9"});let j="dark"===c;return(0,d.jsxs)("button",{onClick:()=>g(j?"light":"dark"),className:a??"flex h-9 w-9 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-primary)] transition-colors hover:bg-[var(--color-bg-elevated-hover)]","aria-label":`Switch to ${j?"light":"dark"} mode`,title:`Switch to ${j?"light":"dark"} mode`,children:[j?(0,d.jsxs)("svg",{className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,d.jsx)("path",{d:"M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}):(0,d.jsx)("svg",{className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"})}),b?(0,d.jsx)("span",{children:b}):null]})}},81407:(a,b,c)=>{c.d(b,{ProjectSettingsForm:()=>l});var d=c(33666),e=c(81115),f=c(50436),g=c(71276);let h="These describe which repo this is. Change them via `athene project relink`.";function i({projectId:a,initialValues:b}){let c=(0,f.useRouter)(),{showToast:h}=(0,g.d)(),[i,l]=(0,e.useState)(b.agent),[m,n]=(0,e.useState)(b.runtime),[o,p]=(0,e.useState)(b.trackerPlugin),[q,r]=(0,e.useState)(b.scmPlugin),[s,t]=(0,e.useState)(b.reactions),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),A=(0,e.useMemo)(()=>({agent:i.trim()||null,runtime:m.trim()||null,tracker:o.trim()?{plugin:o.trim()}:null,scm:q.trim()?{plugin:q.trim()}:null,reactions:s}),[i,m,o,q,s]),B=async()=>{let b;x(null),z(null);try{let a=s.trim();b=a?JSON.parse(a):void 0}catch{x("Reactions must be valid JSON.");return}v(!0);try{let d=await fetch(`/api/projects/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:A.agent,runtime:A.runtime,tracker:A.tracker,scm:A.scm,reactions:b??null})}),e=await d.json().catch(()=>null);if(!d.ok){let a=e?.error??"Failed to save project settings.";400===d.status?x(a):z(a);return}h("Project settings updated.","success"),c.refresh()}catch{z("Network error while saving project settings.")}finally{v(!1)}};return(0,d.jsxs)("div",{className:"project-settings-form",children:[(0,d.jsxs)("section",{className:"project-settings-form__section",children:[(0,d.jsxs)("div",{className:"project-settings-form__section-header",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"project-settings-form__eyebrow",children:"Behavior"}),(0,d.jsx)("h2",{className:"project-settings-form__section-title",children:"Runtime configuration"}),(0,d.jsx)("p",{className:"project-settings-form__section-copy",children:"These values change how AO runs this project without changing which repository the project points at."})]}),(0,d.jsx)("button",{type:"button",onClick:()=>void B(),disabled:u,className:"project-settings-form__save",children:u?"Saving...":"Save changes"})]}),(0,d.jsxs)("div",{className:"project-settings-form__grid",children:[(0,d.jsx)(j,{id:"agent",label:"Agent",value:i,onChange:l,placeholder:"claude-code"}),(0,d.jsx)(j,{id:"runtime",label:"Runtime",value:m,onChange:n,placeholder:"tmux"}),(0,d.jsx)(j,{id:"tracker-plugin",label:"Tracker plugin",value:o,onChange:p,placeholder:"github"}),(0,d.jsx)(j,{id:"scm-plugin",label:"SCM plugin",value:q,onChange:r,placeholder:"github"})]}),(0,d.jsxs)("div",{className:"project-settings-form__reactions",children:[(0,d.jsx)("label",{htmlFor:"reactions",className:"project-settings-form__label",children:"Reactions"}),(0,d.jsx)("p",{className:"project-settings-form__hint",children:"JSON object keyed by reaction name. This PATCH only sends behavior fields."}),(0,d.jsx)("textarea",{id:"reactions",value:s,onChange:a=>t(a.target.value),spellCheck:!1,rows:12,className:"project-settings-form__textarea project-settings-form__textarea--mono"})]}),w?(0,d.jsx)("div",{role:"alert",className:"project-settings-form__alert project-settings-form__alert--error",children:w}):null,y?(0,d.jsxs)("div",{className:"project-settings-form__alert project-settings-form__alert--surface",children:[(0,d.jsx)("p",{className:"project-settings-form__alert-copy",children:y}),(0,d.jsx)("button",{type:"button",onClick:()=>void B(),className:"project-settings-form__retry",children:"Retry"})]}):null]}),(0,d.jsxs)("section",{className:"project-settings-form__section",children:[(0,d.jsx)("p",{className:"project-settings-form__eyebrow",children:"Identity"}),(0,d.jsx)("h2",{className:"project-settings-form__section-title",children:"Repository identity"}),(0,d.jsx)("p",{className:"project-settings-form__section-copy",children:"These fields are read-only because they define which repository AO considers this project to be."}),(0,d.jsxs)("div",{className:"project-settings-form__grid",children:[(0,d.jsx)(k,{id:"identity-project-id",label:"Project ID",value:b.identity.projectId}),(0,d.jsx)(k,{id:"identity-path",label:"Path",value:b.identity.path}),(0,d.jsx)(k,{id:"identity-repo",label:"Repo",value:b.identity.repo}),(0,d.jsx)(k,{id:"identity-default-branch",label:"Default branch",value:b.identity.defaultBranch})]})]})]})}function j({id:a,label:b,value:c,onChange:e,placeholder:f}){return(0,d.jsxs)("label",{htmlFor:a,className:"project-settings-form__field",children:[(0,d.jsx)("span",{className:"project-settings-form__label",children:b}),(0,d.jsx)("input",{id:a,value:c,onChange:a=>e(a.target.value),placeholder:f,className:"project-settings-form__input"})]})}function k({id:a,label:b,value:c}){return(0,d.jsxs)("label",{htmlFor:a,className:"project-settings-form__field",children:[(0,d.jsx)("span",{className:"project-settings-form__label",children:b}),(0,d.jsx)("input",{id:a,value:c,disabled:!0,readOnly:!0,title:h,"aria-describedby":`${a}-tooltip`,className:"project-settings-form__input project-settings-form__input--readonly"}),(0,d.jsx)("span",{id:`${a}-tooltip`,className:"project-settings-form__hint",children:h})]})}function l(a){return(0,d.jsx)(g.t,{children:(0,d.jsx)(i,{...a})})}},85489:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ")}},88510:(a,b,c)=>{c.d(b,{u:()=>P});var d=c(33666),e=c(47489),f=c.n(e),g=c(81115),h=c(50436),i=c(85489),j=c(37155),k=c(5241),l=c(61875),m=c(19881),n=c(88950),o=c(74566),p=c(75689);function q(){return(0,d.jsx)("span",{className:"app-mark","aria-hidden":"true",children:(0,d.jsx)(p.default,{src:"/mascot.png",alt:"",width:23,height:23,className:"app-mark__img",priority:!0})})}let r=/^[A-Za-z]:[\\/]?$/,s=/^[A-Za-z]:[\\/]/,t=/^\\\\[^\\]+\\[^\\]+\\?$/;function u(a){return a.includes("\\")?"\\":"/"}function v(a){return r.test(a)||t.test(a)?a:a.replace(/[\\/]+$/,"")}function w(a,b){if("~"===a)return`~/${b}`;let c=u(a),d=v(a);return/[\\/]$/.test(d)?`${d}${b}`:`${d}${c}${b}`}function x({children:a,className:b,viewBox:c="0 0 16 16"}){return(0,d.jsx)("svg",{"aria-hidden":"true",viewBox:c,className:b,children:a})}let y={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"miter"},z={fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"square"},A={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"miter"};function B({className:a}){return(0,d.jsx)(x,{className:a,children:(0,d.jsx)("path",{d:"M2 4.5h4l1.5 2H14v5.5H2Z",...y})})}function C(){return(0,d.jsx)(x,{className:"add-project-modal__toolicon",children:(0,d.jsx)("path",{d:"M10 3.5 6 8l4 4.5",...z})})}function D(){return(0,d.jsx)(x,{className:"add-project-modal__toolicon",children:(0,d.jsx)("path",{d:"m6 3.5 4 4.5L6 12.5",...z})})}function E(){return(0,d.jsx)(x,{className:"add-project-modal__toolicon",children:(0,d.jsx)("path",{d:"M8 12V4m0 0L5 7m3-3 3 3",...A})})}function F(){return(0,d.jsx)(x,{className:"add-project-modal__toolicon",children:(0,d.jsx)("path",{d:"M13 8A5 5 0 1 1 8 3M6.3 1.7 8 3 6.3 4.3",...A})})}function G({browser:a}){let b=(0,g.useRef)(null),c=(0,g.useRef)(null);(0,g.useRef)(""),(0,g.useRef)(0),(0,g.useMemo)(()=>a.directoryEntries.findIndex(b=>w(a.browsePath,b.name)===a.selectedBrowsePath),[a.browsePath,a.directoryEntries,a.selectedBrowsePath]);let e=function(a){if("~"===a)return[{label:"home",path:"~"}];if(r.test(a)){let b=u(a),c=a.slice(0,2);return[{label:c,path:`${c}${b}`}]}if(s.test(a)){let b=u(a),c=v(a).split(/[\\/]+/).filter(Boolean),d=c[0]??a.slice(0,2),e=`${d}${b}`,f=[{label:d,path:e}];for(let a of c.slice(1))e=w(e,a),f.push({label:a,path:e});return f}let b=a.split(/[\\/]+/).filter(Boolean),c=[{label:"home",path:"~"}],d="~";for(let a of b.slice(1))d="~"===d?`~/${a}`:`${d}/${a}`,c.push({label:a,path:d});return c}(a.browsePath),f=e[e.length-1]?.label??a.browsePath,h="~"!==a.browsePath&&null!==a.currentDirectory,i=a.selectedBrowsePath===a.browsePath;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:b,className:"add-project-modal__toolbar",children:[(0,d.jsxs)("div",{className:"add-project-modal__toolbarcluster",children:[(0,d.jsx)("button",{type:"button",onClick:a.goBack,disabled:!a.canGoBack,className:"add-project-modal__toolbtn","aria-label":"Go back",children:(0,d.jsx)(C,{})}),(0,d.jsx)("button",{type:"button",onClick:a.goForward,disabled:!a.canGoForward,className:"add-project-modal__toolbtn","aria-label":"Go forward",children:(0,d.jsx)(D,{})}),(0,d.jsx)("button",{type:"button",onClick:a.goUp,disabled:!a.parentPath,className:"add-project-modal__toolbtn","aria-label":"Go up",children:(0,d.jsx)(E,{})}),(0,d.jsx)("button",{type:"button",onClick:a.refresh,className:"add-project-modal__toolbtn","aria-label":"Refresh",children:(0,d.jsx)(F,{})}),a.roots.length>0?(0,d.jsxs)("select",{"aria-label":"Location",value:"~"===a.browsePath?"~":a.selectedRootPath,onChange:b=>{let c=b.target.value;c&&("~"===c?a.browse("~"):a.browse(c))},className:"add-project-modal__drive-select",children:[(0,d.jsx)("option",{value:"~",children:"Home"}),a.roots.map(a=>(0,d.jsx)("option",{value:a.path,children:a.label},a.path))]}):null]}),(0,d.jsx)("input",{"aria-label":"Folder path",value:a.locationInput,onChange:b=>a.setLocationInput(b.target.value),onKeyDown:b=>{if("Enter"!==b.key)return;b.preventDefault();let c=a.locationInput.trim()||"~";a.browse(c,{selectedPath:c})},className:"add-project-modal__location"})]}),(0,d.jsx)("div",{className:"add-project-modal__content",children:(0,d.jsxs)("div",{ref:c,className:"add-project-browser",children:[(0,d.jsxs)("div",{className:"add-project-browser__current",children:[(0,d.jsx)("div",{className:"add-project-browser__current-label",children:"Current folder"}),(0,d.jsx)("div",{className:"add-project-browser__breadcrumb",children:e.map(b=>(0,d.jsx)("button",{type:"button",className:"add-project-browser__crumb",onClick:()=>void a.browse(b.path),children:b.label},b.path))})]}),a.error?(0,d.jsxs)("div",{className:"add-project-browser__state add-project-browser__state--error",children:[(0,d.jsx)("p",{className:"add-project-browser__state-title",children:"Directory browser unavailable"}),(0,d.jsx)("p",{className:"add-project-browser__state-copy",children:a.error})]}):a.loading?(0,d.jsxs)("div",{className:"add-project-browser__state",children:[(0,d.jsx)("p",{className:"add-project-browser__state-title",children:"Loading folders"}),(0,d.jsx)("p",{className:"add-project-browser__state-copy",children:"Fetching directories for this location."})]}):(0,d.jsxs)("div",{className:"add-project-browser__rows",children:[h?(0,d.jsxs)("button",{type:"button","aria-label":a.currentDirectory?.isGitRepo?`${f}, current folder, Git repository`:`${f}, current folder`,onClick:()=>a.setSelectedBrowsePath(a.browsePath),className:`add-project-browser__row add-project-browser__row--current${i?" is-selected":""}`,children:[(0,d.jsx)(B,{className:"add-project-browser__row-icon"}),(0,d.jsx)("span",{className:"add-project-browser__row-name",children:f}),(0,d.jsx)("span",{className:"add-project-browser__row-tag",children:"this folder"}),a.currentDirectory?.isGitRepo?(0,d.jsx)("span",{className:"add-project-browser__badge","aria-hidden":"true",children:"git"}):null]}):null,a.parentPath?(0,d.jsx)("button",{type:"button",onClick:a.goUp,className:"add-project-browser__row add-project-browser__row--parent",children:".."}):null,0===a.directoryEntries.length?(0,d.jsx)("p",{className:"add-project-browser__empty-row",children:"No subfolders in this location."}):a.directoryEntries.map(b=>{let c=w(a.browsePath,b.name);return(0,d.jsxs)("button",{type:"button","aria-label":b.isGitRepo?`${b.name}, Git repository`:b.name,onClick:()=>a.setSelectedBrowsePath(c),onDoubleClick:()=>void a.browse(c),className:`add-project-browser__row${a.selectedBrowsePath===c?" is-selected":""}`,children:[(0,d.jsx)(B,{className:"add-project-browser__row-icon"}),(0,d.jsx)("span",{className:"add-project-browser__row-name",children:b.name}),b.isGitRepo?(0,d.jsx)("span",{className:"add-project-browser__badge","aria-hidden":"true",children:"git"}):null,(0,d.jsx)("span",{className:"add-project-browser__row-chevron","aria-hidden":"true",children:(0,d.jsx)(D,{})})]},c)})]})]})})]})}function H({open:a,onClose:b}){let c=(0,h.useRouter)(),e=function(){let[a,b]=(0,g.useState)("~"),[c,d]=(0,g.useState)("~"),[e,f]=(0,g.useState)(["~"]),[h,i]=(0,g.useState)(0),j=(0,g.useRef)(["~"]),k=(0,g.useRef)(0),l=(0,g.useRef)(0),[m,n]=(0,g.useState)([]),[o,p]=(0,g.useState)(null),[q,w]=(0,g.useState)([]),[x,y]=(0,g.useState)("~"),[z,A]=(0,g.useState)(!1),[B,C]=(0,g.useState)(null),D=(0,g.useCallback)((a,b)=>{j.current=a,k.current=b,f(a),i(b)},[]),E=(0,g.useCallback)((a,b)=>{n([]),p(null),w([]),d(b??"")},[]),F=(0,g.useCallback)(async(a,c)=>{let e=l.current+1;l.current=e;let f=c?.historyIndex??k.current;y(a),A(!0),C(null);try{let g=await fetch(`/api/filesystem/browse?path=${encodeURIComponent(a)}`).catch(()=>null);if(e!==l.current)return;if(!g){E(a,c?.selectedPath),C("Failed to browse directories.");return}let h=await g.json().catch(()=>null);if(e!==l.current)return;if(!g.ok){E(a,c?.selectedPath),C(h?.error??"Failed to browse directories.");return}let i=c?.mode??"push";if(b(a),y(a),d(c?.selectedPath??""),n(h?.entries??[]),p(h?.current??null),w(h?.roots??[]),"push"===i){let b=j.current.slice(0,f+1);b[b.length-1]!==a&&b.push(a),D(b,b.length-1)}else{let b=[...j.current];b[f]=a,D(b,f)}}catch{if(e!==l.current)return;E(a,c?.selectedPath),C("Failed to browse directories.")}finally{e===l.current&&A(!1)}},[E,D]),G=(0,g.useCallback)(a=>{let b=j.current;a<0||a>=b.length||(k.current=a,i(a),F(b[a]??"~",{mode:"replace",historyIndex:a}))},[F]),H=(0,g.useMemo)(()=>m.filter(a=>a.isDirectory),[m]),I=function(a){if("~"===a||r.test(a)||t.test(a))return null;if(s.test(a)){let b=u(a),c=v(a).split(/[\\/]+/).filter(Boolean);return c.length<=1||2===c.length?`${c[0]}${b}`:c.slice(0,-1).join(b)}let b=a.split(/[\\/]+/).filter(Boolean);return b.length<=1?"~":"~"===b[0]?`~/${b.slice(1,-1).join("/")}`:b.slice(0,-1).join("/")}(a),J=q.find(b=>a.startsWith(b.path))?.path??"",K=h<e.length-1,L=(0,g.useCallback)(()=>{G(k.current-1)},[G]),M=(0,g.useCallback)(()=>{G(k.current+1)},[G]),N=(0,g.useCallback)(()=>{I&&F(I)},[F,I]),O=(0,g.useCallback)(()=>{F(a,{mode:"replace",selectedPath:c})},[F,a,c]),P=(0,g.useCallback)(()=>{C(null),D(["~"],0),b("~"),y("~"),d("~"),n([]),p(null),w([]),F("~",{mode:"replace",selectedPath:"~",historyIndex:0})},[F,D]);return{browsePath:a,selectedBrowsePath:c,setSelectedBrowsePath:d,directoryEntries:H,currentDirectory:o,roots:q,selectedRootPath:J,locationInput:x,setLocationInput:y,loading:z,error:B,parentPath:I,canGoBack:h>0,canGoForward:K,browse:F,goBack:L,goForward:M,goUp:N,refresh:O,reset:P}}(),f=(0,g.useRef)(null),[i,j]=(0,g.useState)(!1),[k,l]=(0,g.useState)(null),[m,n]=(0,g.useState)(null),[o,p]=(0,g.useState)(null),[q,x]=(0,g.useState)(""),[y,z]=(0,g.useState)(""),{reset:A,selectedBrowsePath:B,directoryEntries:C,currentDirectory:D,error:E,browsePath:F}=e,H=(0,g.useMemo)(()=>C.find(a=>w(F,a.name)===B)??null,[F,C,B]),I=B===F?D:null,J=q.trim()||(B.trim()&&"~"!==B?(B.split(/[\\/]+/).filter(Boolean).pop()??"project").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"project":""),K=y.trim()||(B.trim()&&"~"!==B?(B.split(/[\\/]+/).filter(Boolean).pop()??"Project").replace(/[-_]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase())||"Project":""),L=""!==B.trim()&&"~"!==B&&!E&&!!(H?.isGitRepo||I?.isGitRepo)&&J.length>0&&K.length>0,M=(0,g.useCallback)(async(a=!1)=>{l(null),n(null),p(null),j(!0);let d=B.trim();try{let e=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:J,name:K,path:d,useDefaultProjectId:a})}),f=await e.json().catch(()=>null);if(409===e.status&&f?.existingProjectId&&f?.suggestedProjectId&&f?.suggestion){p({error:f.error??"A project with that ID already exists.",existingProjectId:f.existingProjectId,suggestedProjectId:f.suggestedProjectId,suggestion:f.suggestion}),x(f.suggestedProjectId);return}if(!e.ok){let a=f?.error??"Failed to add project.";e.status<500?l(a):n(a);return}let g=f?.projectId??J.trim();b(),c.push(`/projects/${encodeURIComponent(g)}`),c.refresh()}catch{n("Network error while adding project.")}finally{j(!1)}},[b,J,K,c,B]);if(!a)return null;let N=!!(H&&!H.isGitRepo)||!!(I&&"~"!==B&&!I.isGitRepo),O=o?(0,d.jsxs)("div",{className:"add-project-modal__notice add-project-modal__notice--warning",children:[(0,d.jsx)("p",{className:"add-project-modal__notice-title",children:o.error}),(0,d.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Existing project: ",(0,d.jsx)("code",{children:o.existingProjectId})]}),(0,d.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Suggested project ID: ",(0,d.jsx)("code",{children:o.suggestedProjectId})]}),(0,d.jsxs)("div",{className:"add-project-modal__notice-actions",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{b(),c.push(`/projects/${encodeURIComponent(o.existingProjectId)}`)},className:"add-project-modal__ghostbtn",children:"Open existing"}),(0,d.jsx)("button",{type:"button",onClick:()=>void M(!0),className:"add-project-modal__ghostbtn",children:"Use suggested ID"}),(0,d.jsx)("span",{className:"add-project-modal__notice-hint",children:"Edit the Project ID field or accept the suggested suffix."})]})]}):k?(0,d.jsx)("div",{role:"alert",className:"add-project-modal__notice add-project-modal__notice--error",children:k}):N?(0,d.jsx)("div",{role:"alert",className:"add-project-modal__notice add-project-modal__notice--error",children:"Selected folder is not a git repository."}):m?(0,d.jsx)("div",{className:"add-project-modal__notice add-project-modal__notice--error",children:m}):null;return(0,d.jsx)("div",{className:"add-project-modal-backdrop",children:(0,d.jsxs)("div",{ref:f,role:"dialog","aria-modal":"true","aria-label":"Add project",className:"add-project-modal",tabIndex:-1,children:[(0,d.jsxs)("div",{className:"add-project-modal__titlebar",children:[(0,d.jsx)("h2",{className:"add-project-modal__windowtitle",children:"add project"}),(0,d.jsx)("button",{type:"button","aria-label":"Close",onClick:b,className:"add-project-modal__iconbtn",children:"\xd7"})]}),(0,d.jsx)(G,{browser:e}),(0,d.jsxs)("div",{className:"add-project-modal__pathbar add-project-modal__pathbar--selection",children:[(0,d.jsx)("span",{className:"add-project-modal__selection-label",children:"Selected"}),(0,d.jsx)("span",{className:"add-project-modal__selection-path",children:B||"No directory selected"})]}),(0,d.jsxs)("div",{className:"add-project-modal__pathbar add-project-modal__formrow",children:[(0,d.jsxs)("div",{className:"add-project-modal__field",children:[(0,d.jsx)("label",{className:"add-project-modal__selection-label",htmlFor:"project-id-input",children:"Project ID"}),(0,d.jsx)("input",{id:"project-id-input",value:q,onChange:a=>x(a.target.value),className:"add-project-modal__selection-path"})]}),(0,d.jsxs)("div",{className:"add-project-modal__field",children:[(0,d.jsx)("label",{className:"add-project-modal__selection-label",htmlFor:"project-name-input",children:"Project name"}),(0,d.jsx)("input",{id:"project-name-input",value:y,onChange:a=>z(a.target.value),className:"add-project-modal__selection-path"})]})]}),O,(0,d.jsxs)("div",{className:"add-project-modal__footer",children:[(0,d.jsxs)("div",{className:"add-project-modal__foldercount",children:[C.length," folders"]}),(0,d.jsxs)("div",{className:"add-project-modal__actions",children:[(0,d.jsx)("button",{type:"button",onClick:b,className:"add-project-modal__ghostbtn",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void M(),disabled:!L||i,className:"add-project-modal__primarybtn",children:i?"Adding…":"Add project"})]})]})]})})}var I=c(81407);function J({open:a,projectId:b,onClose:c}){let e=(0,g.useRef)(null),[f,h]=(0,g.useState)(!1),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(null),m=(0,g.useMemo)(()=>k&&b?{agent:k.agent??"",runtime:k.runtime??"",trackerPlugin:k.tracker?.plugin??"",scmPlugin:k.scm?.plugin??"",reactions:JSON.stringify(k.reactions??{},null,2),identity:{projectId:b,path:k.path,repo:k.repo??"",defaultBranch:k.defaultBranch??"main"}}:null,[k,b]);return a&&b?(0,d.jsx)("div",{className:"project-settings-modal-backdrop",onClick:c,children:(0,d.jsxs)("div",{ref:e,role:"dialog","aria-modal":"true","aria-label":"Project settings",className:"project-settings-modal",tabIndex:-1,onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"project-settings-modal__header",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"project-settings-modal__eyebrow",children:"Project settings"}),(0,d.jsx)("h2",{className:"project-settings-modal__title",children:k?.name??b})]}),(0,d.jsx)("button",{type:"button","aria-label":"Close",onClick:c,className:"project-settings-modal__close",children:"\xd7"})]}),(0,d.jsxs)("div",{className:"project-settings-modal__body",children:[f?(0,d.jsx)("div",{className:"project-settings-modal__state",children:"Loading project settings…"}):null,!f&&i?(0,d.jsx)("div",{role:"alert",className:"project-settings-modal__state project-settings-modal__state--error",children:i}):null,f||i||!m?null:(0,d.jsx)(I.ProjectSettingsForm,{projectId:b,initialValues:m})]})]})}):null}let K=(0,g.memo)(function({level:a}){return(0,d.jsx)("div",{className:(0,i.cn)("sidebar-session-dot shrink-0 rounded-full","working"===a&&"sidebar-session-dot--glow"),"data-level":a})});function L(){return!1}function M(){return!1}function N(){return!1}function O({onToggleCollapsed:a}){return(0,d.jsxs)("div",{className:"project-sidebar__brand",children:[(0,d.jsx)(q,{}),(0,d.jsxs)("span",{className:"project-sidebar__brand-name",children:["Agent",(0,d.jsx)("b",{className:"project-sidebar__brand-sep",children:" / "}),"Orchestrator"]}),a?(0,d.jsx)("button",{type:"button",className:"project-sidebar__collapse-btn",onClick:a,title:"Collapse sidebar","aria-label":"Collapse sidebar",children:(0,d.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),(0,d.jsx)("path",{d:"M9 4v16"})]})}):null]})}function P(a){return 0===a.projects.length?(0,d.jsx)(R,{collapsed:a.collapsed}):(0,d.jsx)(S,{...a})}let Q=(0,g.memo)(function({session:a,level:b,isActive:c,showSessionId:e,pendingRename:f,onNavigate:g,onStartRename:h}){let j=void 0!==f?f:a.displayNameUserSet?a.displayName??"":"",k=""!==j?j:a.branch??(0,l.Pn)(a),m=(0,n.Nc)(a.projectId,a.id);return(0,d.jsxs)("div",{className:(0,i.cn)("project-sidebar__sess-row group",c&&"project-sidebar__sess-row--active"),children:[(0,d.jsxs)("a",{href:m,onClick:b=>{b.metaKey||b.ctrlKey||b.shiftKey||1===b.button||(b.preventDefault(),g(m,a))},className:"project-sidebar__sess-link flex flex-1 min-w-0 items-center gap-[7px]","aria-current":c?"page":void 0,"aria-label":`Open ${k}`,children:[(0,d.jsx)(K,{level:b}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("span",{className:(0,i.cn)("project-sidebar__sess-label",c&&"project-sidebar__sess-label--active"),children:k}),e?(0,d.jsx)("div",{className:"project-sidebar__sess-meta",children:(0,d.jsx)("span",{className:"project-sidebar__sess-id",children:a.id})}):null]})]}),(0,d.jsx)("button",{type:"button",onClick:b=>{b.preventDefault(),b.stopPropagation(),h(a,k)},className:"project-sidebar__sess-rename-btn opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus:opacity-100",title:"Rename session","aria-label":`Rename ${a.id}`,children:(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M12 20h9"}),(0,d.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})]})})]})});function R({collapsed:a=!1}){let[b,c]=(0,g.useState)(!1);return a?(0,d.jsxs)("aside",{className:"project-sidebar project-sidebar--collapsed flex h-full flex-col items-center gap-1 py-2",children:[(0,d.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>c(!0),children:(0,d.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 5v14M5 12h14"})})}),(0,d.jsx)(H,{open:b,onClose:()=>c(!1)})]}):(0,d.jsxs)("aside",{className:"project-sidebar flex h-full flex-col",children:[(0,d.jsx)(O,{}),(0,d.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,d.jsx)("span",{children:"Projects"}),(0,d.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>c(!0),children:(0,d.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,d.jsx)("div",{className:"project-sidebar__empty flex-1 text-[var(--color-text-tertiary)]",children:"No projects yet. Click + to add one."}),(0,d.jsx)("div",{className:"project-sidebar__footer",children:(0,d.jsx)("div",{className:"project-sidebar__foot-inner",children:(0,d.jsx)(o.U,{className:"project-sidebar__theme-toggle"})})}),(0,d.jsx)(H,{open:b,onClose:()=>c(!1)})]})}function S({projects:a,sessions:b,orchestrators:c,activeProjectId:e,activeSessionId:p,loading:q=!1,error:r=!1,onRetry:s,collapsed:t=!1,onToggleCollapsed:u,onMobileClose:v}){let w=(0,h.useRouter)(),{onPointerDown:x,onDoubleClick:y}=(0,m.$)({cssVar:"--ao-sidebar-w",storageKey:"ao-sidebar-w",defaultWidth:240,min:200,max:420,edge:"right"}),[z,A]=(0,g.useState)(()=>new Set(e&&"all"!==e?[e]:[])),[B,C]=(0,g.useState)(M),[D,E]=(0,g.useState)(N),[F,G]=(0,g.useState)(L),[I,P]=(0,g.useState)(null),[R,S]=(0,g.useState)(""),[T,U]=(0,g.useState)(new Map),[V,W]=(0,g.useState)(!1),[X,Y]=(0,g.useState)(null),[Z,$]=(0,g.useState)(null),[_,aa]=(0,g.useState)(null),[ab,ac]=(0,g.useState)(new Set),[ad,ae]=(0,g.useState)(!1),af=(0,g.useRef)(null),ag=(0,g.useRef)(null),ah=(0,g.useRef)(null),ai=(0,g.useRef)(null),aj=(0,g.useMemo)(()=>a.filter(a=>!ab.has(a.id)),[a,ab]),ak=(0,g.useMemo)(()=>new Map(aj.map(a=>[a.id,a.sessionPrefix??a.id])),[aj]),al=(0,g.useMemo)(()=>aj.map(a=>a.sessionPrefix??a.id),[aj]),am=(0,g.useMemo)(()=>new Map((c??[]).map(a=>[a.projectId,a])),[c]),an=(0,g.useRef)(b);an.current=b;let ao=(0,g.useMemo)(()=>(b??[]).map(a=>`${a.id}:${a.status}:${a.activity??""}:${a.projectId}:${a.displayName??""}:${a.displayNameUserSet?"1":"0"}:${a.branch??""}:${a.issueTitle??""}:${a.pr?.title??""}:${a.summary??""}`).join("|"),[b]),ap=(0,g.useMemo)(()=>{let a=new Map,b=new Set(aj.map(a=>a.id));for(let c of an.current??[]){if(!b.has(c.projectId)||(0,k.tT)(c,ak.get(c.projectId),al)||"done"===(0,j.ng)(c)&&("killed"===c.status?!B&&!D:!D))continue;let d=a.get(c.projectId)??[];d.push(c),a.set(c.projectId,d)}return a},[ao,ak,al,aj,B,D]),aq=(0,g.useRef)(T);aq.current=T;let ar=(0,g.useCallback)((a,b)=>{let c=aq.current.get(a.id)??(a.displayNameUserSet?a.displayName??"":"");P(a.id),S(c||b)},[]),as=async a=>{if(I!==a)return;let b=R.trim();P(null),S(""),U(c=>{let d=new Map(c);return d.set(a,b),d});try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({displayName:""===b?null:b})});if(!c.ok){let a=await c.json().catch(()=>null);throw Error(a?.error??"Failed to rename session")}}catch{U(b=>{let c=new Map(b);return c.delete(a),c})}},at=(0,g.useCallback)((a,b)=>{if(b)try{sessionStorage.setItem(`ao-session-nav:${b.id}`,JSON.stringify(b))}catch{}w.push(a),v?.()},[w,v]),au=async a=>{if(window.confirm(`Remove project ${a.name} from AO? This clears its AO sessions/history and removes it from the portfolio, but keeps the repository folder on disk.`)){aa(a.id);try{let b=await fetch(`/api/projects/${encodeURIComponent(a.id)}`,{method:"DELETE"}),c=await b.json().catch(()=>null);if(!b.ok)throw Error((c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null)??"Failed to remove project.");ac(b=>new Set(b).add(a.id)),A(b=>{let c=new Set(b);return c.delete(a.id),c}),Y(null),e===a.id?w.push("/"):"refresh"in w&&"function"==typeof w.refresh&&w.refresh(),v?.()}catch(a){window.alert(a instanceof Error?a.message:"Failed to remove project.")}finally{aa(null)}}};return t?(0,d.jsxs)("aside",{className:(0,i.cn)("project-sidebar project-sidebar--collapsed flex flex-col h-full items-center py-2 gap-1 overflow-y-auto"),children:[u?(0,d.jsx)("button",{type:"button",className:"project-sidebar__collapse-btn project-sidebar__expand-btn",onClick:u,"aria-label":"Expand sidebar",title:"Expand sidebar",children:(0,d.jsxs)("svg",{width:"17",height:"17",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2.5"}),(0,d.jsx)("line",{x1:"9",y1:"4",x2:"9",y2:"20"}),(0,d.jsx)("path",{d:"m13 9 3 3-3 3"})]})}):null,aj.map((a,b)=>{let c=ap.get(a.id)??[],f=a.name.slice(0,2).toUpperCase();return(0,d.jsxs)("div",{className:"flex flex-col items-center gap-0.5 w-full px-1",children:[b>0&&(0,d.jsx)("div",{className:"project-sidebar__collapsed-divider","aria-hidden":"true"}),(0,d.jsx)("a",{href:(0,n.bn)(a.id),className:(0,i.cn)("project-sidebar__collapsed-icon",e===a.id&&"project-sidebar__collapsed-icon--active"),title:a.name,"aria-label":a.name,children:(0,d.jsx)("span",{className:"project-sidebar__collapsed-abbr",children:f})}),c.slice(0,5).map(b=>{let c=(0,j.ng)(b),e=b.branch??(0,l.Pn)(b),f=(b.branch&&(0,l.mC)(b.branch)||e).replace(/\s+/g,"").slice(0,3).toUpperCase(),g=p===b.id,h=(0,n.Nc)(a.id,b.id);return(0,d.jsxs)("a",{href:h,onClick:a=>{a.metaKey||a.ctrlKey||a.shiftKey||1===a.button||(a.preventDefault(),at(h,b))},className:(0,i.cn)("project-sidebar__collapsed-session-btn",g&&"project-sidebar__collapsed-session-btn--active"),"data-level":c,title:e,"aria-label":e,children:[(0,d.jsx)("span",{className:"project-sidebar__session-abbr-first",children:f[0]}),(0,d.jsx)("span",{className:"project-sidebar__session-abbr-rest",children:f.slice(1)})]},b.id)}),c.length>5&&(0,d.jsxs)("span",{className:"project-sidebar__collapsed-overflow",children:["+",c.length-5]})]},a.id)})]}):(0,d.jsxs)("aside",{className:"project-sidebar relative flex h-full flex-col",children:[(0,d.jsx)(O,{onToggleCollapsed:u}),(0,d.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,d.jsx)("span",{children:"Projects"}),(0,d.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>ae(!0),children:(0,d.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),r&&b&&b.length>0?(0,d.jsxs)("div",{role:"status",className:"mx-3 mb-2 flex items-center justify-between gap-2 rounded-md border border-[var(--color-border-strong)] bg-[var(--color-bg-primary)] px-2 py-1.5 text-[11px] text-[var(--color-text-tertiary)]",children:[(0,d.jsx)("span",{children:"Failed to refresh \xb7 showing cached sessions"}),s?(0,d.jsx)("button",{type:"button",onClick:s,className:"font-medium text-[var(--color-link)] hover:underline",children:"Retry"}):null]}):null,(0,d.jsxs)("div",{className:"project-sidebar__tree flex-1 overflow-y-auto overflow-x-hidden",children:[null===b?(0,d.jsx)("div",{className:"space-y-1 px-3 py-3","aria-label":"Loading projects",children:Array.from({length:4},(a,b)=>(0,d.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,d.jsx)("div",{className:"h-2 w-2 shrink-0 animate-pulse rounded-full bg-[var(--color-border-strong)]"}),(0,d.jsx)("div",{className:"h-3 flex-1 animate-pulse rounded bg-[var(--color-bg-primary)]"})]},b))}):null,aj.map(a=>{let c=ap.get(a.id)??[],g=z.has(a.id),h=e===a.id,k=!!a.resolveError,l=(0,n.bn)(a.id),m=am.get(a.id)??null,o=m?b?.find(a=>a.id===m.id)??null:null;return(0,d.jsxs)("div",{className:"project-sidebar__project",children:[(0,d.jsxs)("div",{className:"project-sidebar__proj-row flex items-center",children:[k?(0,d.jsxs)("a",{href:l,onClick:a=>{a.metaKey||a.ctrlKey||a.shiftKey||1===a.button||(a.preventDefault(),at(l))},className:(0,i.cn)("project-sidebar__proj-toggle project-sidebar__proj-toggle--link project-sidebar__proj-toggle--degraded",h&&"project-sidebar__proj-toggle--active"),"aria-current":h?"page":void 0,children:[(0,d.jsxs)("svg",{className:"project-sidebar__proj-chevron project-sidebar__proj-chevron--degraded",width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M12 9v4"}),(0,d.jsx)("path",{d:"M12 17h.01"}),(0,d.jsx)("path",{d:"M10.3 3.86 1.82 18a2 2 0 0 0 1.72 3h16.92a2 2 0 0 0 1.72-3L13.7 3.86a2 2 0 0 0-3.4 0Z"})]}),(0,d.jsx)("span",{className:"project-sidebar__proj-name",children:a.name}),(0,d.jsx)("span",{className:"project-sidebar__proj-badge project-sidebar__proj-badge--degraded",children:"degraded"})]}):(0,d.jsxs)("button",{type:"button",onClick:()=>{var b;return b=a.id,void A(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:(0,i.cn)("project-sidebar__proj-toggle",h&&"project-sidebar__proj-toggle--active"),"aria-expanded":g,"aria-current":h?"page":void 0,children:[(0,d.jsx)("svg",{className:(0,i.cn)("project-sidebar__proj-chevron",g&&"project-sidebar__proj-chevron--open"),width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"m9 18 6-6-6-6"})}),(0,d.jsx)("span",{className:"project-sidebar__proj-name",children:a.name}),(0,d.jsx)("span",{className:"project-sidebar__proj-count",children:ap.get(a.id)?.length??0})]}),(0,d.jsxs)("div",{className:"project-sidebar__proj-actions",children:[k?null:(0,d.jsx)(f(),{href:l,prefetch:!1,onClick:a=>{a.stopPropagation(),v?.()},className:"project-sidebar__proj-action","aria-label":`Open ${a.name} dashboard`,title:"Dashboard",children:(0,d.jsx)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{d:"M3 13h8V3H3zm10 8h8V11h-8zM3 21h8v-6H3zm10-10h8V3h-8z"})})}),!k&&m&&(0,d.jsx)("a",{href:(0,n.Nc)(a.id,m.id),onClick:b=>{b.metaKey||b.ctrlKey||b.shiftKey||1===b.button||(b.preventDefault(),b.stopPropagation(),at((0,n.Nc)(a.id,m.id),o??void 0))},className:"project-sidebar__proj-action","aria-label":`Open ${a.name} orchestrator`,title:"Orchestrator",children:(0,d.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,d.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,d.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,d.jsx)("circle",{cx:"18",cy:"17",r:"2"})]})}),(0,d.jsxs)("div",{className:"project-sidebar__proj-menu",ref:X===a.id?ah:void 0,children:[(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),Y(b=>b===a.id?null:a.id)},className:"project-sidebar__proj-action project-sidebar__proj-action--menu","aria-label":`Project actions for ${a.name}`,"aria-expanded":X===a.id,"aria-haspopup":"menu",title:"Project actions",children:(0,d.jsxs)("svg",{width:"12",height:"12",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"5",r:"1.75"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"1.75"}),(0,d.jsx)("circle",{cx:"12",cy:"19",r:"1.75"})]})}),X===a.id?(0,d.jsxs)("div",{ref:ai,className:"project-sidebar__proj-menu-popover",role:"menu","aria-label":`${a.name} actions`,children:[m?(0,d.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{Y(null),at((0,n.Nc)(a.id,m.id),o??void 0)},children:"Open orchestrator"}):null,(0,d.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{Y(null),$(a.id)},children:"Project settings"}),(0,d.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item project-sidebar__proj-menu-item--danger",role:"menuitem",onClick:()=>void au(a),disabled:_===a.id,children:_===a.id?"Removing...":"Remove project"})]}):null]})]})]}),k?(0,d.jsx)("div",{className:"project-sidebar__degraded-note",children:"Config needs repair"}):null,!k&&g&&(0,d.jsx)("div",{className:"project-sidebar__sessions",children:null===b?(0,d.jsx)("div",{className:"space-y-2 px-3 py-2","aria-label":"Loading sessions",children:Array.from({length:3},(b,c)=>(0,d.jsxs)("div",{className:"flex items-center gap-3 border border-[var(--color-border-subtle)] bg-[var(--color-bg-surface)] px-2 py-2",children:[(0,d.jsx)("div",{className:"h-2 w-2 shrink-0 animate-pulse bg-[var(--color-border-strong)]"}),(0,d.jsx)("div",{className:"h-3 flex-1 animate-pulse bg-[var(--color-bg-primary)]"}),(0,d.jsx)("div",{className:"h-3 w-12 animate-pulse bg-[var(--color-bg-primary)]"})]},`${a.id}-loading-${c}`))}):c.length>0?c.map(a=>{let b=(0,j.ng)(a),c=p===a.id;return I===a.id?(0,d.jsxs)("div",{className:(0,i.cn)("project-sidebar__sess-row",c&&"project-sidebar__sess-row--active"),"data-editing":"true",children:[(0,d.jsx)(K,{level:b}),(0,d.jsx)("input",{type:"text",autoFocus:!0,value:R,onChange:a=>S(a.target.value),onKeyDown:b=>{"Enter"===b.key?(b.preventDefault(),as(a.id)):"Escape"===b.key&&(b.preventDefault(),P(null),S(""))},onFocus:a=>a.currentTarget.select(),onBlur:()=>void as(a.id),maxLength:80,"aria-label":`Rename ${a.id}`,className:"project-sidebar__sess-rename-input"})]},a.id):(0,d.jsx)(Q,{session:a,level:b,isActive:c,showSessionId:F,pendingRename:T.get(a.id),onNavigate:at,onStartRename:ar},a.id)}):r?(0,d.jsxs)("div",{className:"px-3 py-2",children:[(0,d.jsx)("div",{className:"project-sidebar__empty",children:"Failed to load sessions"}),(0,d.jsx)("button",{type:"button",className:"mt-2 text-xs font-medium text-[var(--color-link)] hover:underline",onClick:s,children:"Retry"})]}):(0,d.jsx)("div",{className:"project-sidebar__empty",children:"No active sessions"})})]},a.id)})]}),(0,d.jsx)("div",{className:"project-sidebar__footer",children:(0,d.jsx)("div",{className:"project-sidebar__foot-inner",children:(0,d.jsxs)("div",{className:"project-sidebar__settings-wrap",ref:af,children:[(0,d.jsxs)("button",{type:"button",onClick:()=>W(a=>!a),className:(0,i.cn)("project-sidebar__foot-btn",V&&"project-sidebar__foot-btn--active"),"aria-expanded":V,"aria-haspopup":"dialog",title:"Settings","aria-label":"Settings",children:[(0,d.jsxs)("svg",{width:"15",height:"15",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,d.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),(0,d.jsx)("span",{className:"project-sidebar__foot-label",children:"Settings"})]}),V?(0,d.jsxs)("div",{ref:ag,className:"project-sidebar__settings-popover",role:"dialog","aria-label":"Settings",children:[(0,d.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,d.jsx)("input",{type:"checkbox",checked:B,onChange:a=>C(a.target.checked)}),(0,d.jsx)("span",{children:"Show killed sessions"})]}),(0,d.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,d.jsx)("input",{type:"checkbox",checked:D,onChange:a=>E(a.target.checked)}),(0,d.jsx)("span",{children:"Show done sessions"})]}),(0,d.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,d.jsx)("input",{type:"checkbox",checked:F,onChange:a=>G(a.target.checked)}),(0,d.jsx)("span",{children:"Show session ID"})]}),(0,d.jsxs)("div",{className:"project-sidebar__settings-row project-sidebar__settings-row--toggle",children:[(0,d.jsx)("span",{children:"Theme"}),(0,d.jsx)(o.U,{className:"project-sidebar__theme-toggle"})]})]}):null]})})}),t?null:(0,d.jsx)("div",{className:"resize-handle resize-handle--right",onPointerDown:x,onDoubleClick:y}),(0,d.jsx)(H,{open:ad,onClose:()=>ae(!1)}),(0,d.jsx)(J,{open:null!==Z,projectId:Z,onClose:()=>$(null)})]})}},88950:(a,b,c)=>{function d(a){return`/projects/${encodeURIComponent(a)}`}function e(a,b){return`${d(a)}?session=${encodeURIComponent(b)}`}function f(a){return a?`/review?project=${encodeURIComponent(a)}`:"/review?project=all"}function g(a,b){return`${d(a)}/sessions/${encodeURIComponent(b)}`}function h(a,b,c){return`${g(a,b)}${c}`}c.d(b,{$l:()=>h,Nc:()=>g,bn:()=>d,l8:()=>e,nF:()=>f})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1089],{3394:(e,t,r)=>{r.d(t,{uE:()=>s});let n=new Map;function o(){return new DOMException("The operation was aborted.","AbortError")}function c(e){if(null==e?void 0:e.aborted)throw o()}async function a(e,t){if(c(t),!e.body)return"function"==typeof e.text?await e.text():"";let r=e.body.getReader(),n=new TextDecoder,a=[];try{for(;;){c(t);let e=()=>{},i=void 0===t?null:new Promise((n,c)=>{let a=()=>{r.cancel().catch(()=>{}),c(o())};if(t.aborted)return void a();t.addEventListener("abort",a,{once:!0}),e=()=>t.removeEventListener("abort",a)});try{let e=await Promise.race([r.read(),...i?[i]:[]]);if(e.done)break;a.push(n.decode(e.value,{stream:!0}))}finally{e()}}}finally{r.releaseLock()}return a.push(n.decode()),a.join("")}async function i(e,t){return(c(t),e.body||"function"!=typeof e.json)?JSON.parse(await a(e,t)):await e.json()}async function l(e,t){try{var r;let n=await i(e,t),o=null!=(r=null==n?void 0:n.error)?r:null==n?void 0:n.message;if("string"==typeof o&&o.trim().length>0)return o.trim()}catch(e){if((null==t?void 0:t.aborted)||e instanceof DOMException&&"AbortError"===e.name)throw e}let n="string"==typeof e.statusText?e.statusText.trim():"";return n.length>0?"".concat(e.status," ").concat(n):"HTTP ".concat(e.status)}async function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{timeoutMs:r=8e3,timeoutMessage:c,signal:a,...s}=t,u=new AbortController,d=null,f=()=>{},m=!1;try{let t=function(e){let t=e.filter(e=>!!e);if(0===t.length)return;if(1===t.length)return t[0];let r=new AbortController,n=()=>r.abort();for(let e of t){if(e.aborted){r.abort();break}e.addEventListener("abort",n,{once:!0})}return r.signal}([a,u.signal]),p={...s};t&&(p.signal=t);let h=new Promise((e,t)=>{d=setTimeout(()=>{m=!0,u.abort(),t(Error(null!=c?c:"Request timed out after ".concat(r,"ms")))},r)});h.catch(()=>{});let y=void 0===t?null:new Promise((e,r)=>{let n=()=>{m||r(o())};if(t.aborted)return void n();t.addEventListener("abort",n,{once:!0}),f=()=>t.removeEventListener("abort",n)});null==y||y.catch(()=>{});let v=await Promise.race([(function(e,t){var r,c,a;let i="".concat("string"==typeof e?e:e instanceof URL?e.toString():e.url,"|").concat((null!=(c=null==t?void 0:t.method)?c:e instanceof Request?e.method:"GET").toUpperCase(),"|").concat(function(e,t){let r=new Headers(e instanceof Request?e.headers:void 0);return(null==t?void 0:t.headers)&&new Headers(t.headers).forEach((e,t)=>{r.set(t,e)}),[...r.entries()].map(e=>{let[t,r]=e;return"".concat(t.toLowerCase(),":").concat(r)}).sort().join("\n")}(e,t),"|").concat(null==(a=null==t?void 0:t.body)?"":"string"==typeof a?a:a instanceof URLSearchParams?a.toString():a instanceof Blob?"blob:".concat(a.type,":").concat(a.size):a instanceof ArrayBuffer?"array-buffer:".concat(a.byteLength):ArrayBuffer.isView(a)?"".concat(a.constructor.name,":").concat(a.byteOffset,":").concat(a.byteLength):a instanceof FormData?[...a.entries()].map(e=>{let[t,r]=e;return"undefined"!=typeof File&&r instanceof File?"".concat(t,"=file:").concat(r.name,":").concat(r.type,":").concat(r.size):"".concat(t,"=").concat(r)}).join("&"):a.constructor.name),l=n.get(i);if(!l){let r=new AbortController,{signal:o,...c}=null!=t?t:{},a=fetch(e,{...c,signal:r.signal}),s={controller:r,consumers:0,maxConsumers:0,promise:a,settled:!1};a.finally(()=>{s.settled=!0,n.delete(i)}).catch(()=>{}),l=s,n.set(i,l)}l.consumers+=1,l.maxConsumers=Math.max(l.maxConsumers,l.consumers);let s=null!=(r=null==t?void 0:t.signal)?r:void 0,u=()=>{},d=!1,f=()=>{!d&&(d=!0,u(),l.consumers-=1,0!==l.consumers||l.settled||l.controller.abort())},m=l.promise.then(e=>l.maxConsumers>1?function(e){if("function"!=typeof e.clone)throw TypeError("Cannot clone deduplicated fetch response");return e.clone()}(e):e),p=void 0===s?null:new Promise((e,t)=>{let r=()=>{f(),t(o())};if(s.aborted)return void r();s.addEventListener("abort",r,{once:!0}),u=()=>s.removeEventListener("abort",r)});return Promise.race([m,...p?[p]:[]]).finally(f)})(e,p).catch(e=>{if(m)throw Error(null!=c?c:"Request timed out after ".concat(r,"ms"),{cause:e});throw e}),h,...y?[y]:[]]),b=e=>Promise.race([e.catch(e=>{if(m)throw Error(null!=c?c:"Request timed out after ".concat(r,"ms"),{cause:e});throw e}),h,...y?[y]:[]]);if(!v.ok)throw Error(await b(l(v,t)));return await b(i(v,t))}finally{d&&clearTimeout(d),f()}}},5184:(e,t,r)=>{r.d(t,{Ug:()=>l,eT:()=>s,i2:()=>d});var n=r(3817),o=r(6749),c=r(1806);let a=o.createContext(void 0);function i(e){return"".concat(e.id,":").concat(e.receivedAt)}function l(){let e=o.useContext(a);if(!e)throw Error("useMux() must be used within <MuxProvider>");return e}function s(){return o.useContext(a)}function u(e,t){return t?"".concat(t,":").concat(e):e}function d(e){let{children:t}=e,r=(0,o.useRef)(null),l=(0,o.useRef)(new Map),s=(0,o.useRef)(new Map),[d,f]=(0,o.useState)("connecting"),[m,p]=(0,o.useState)([]),[h,y]=(0,o.useState)([]),[v,b]=(0,o.useState)(50),[g,w]=(0,o.useState)(null),[x,E]=(0,o.useState)(null),P=(0,o.useRef)(0),S=(0,o.useRef)(null),C=(0,o.useRef)({}),N=(0,o.useRef)(!1),T=(0,o.useCallback)(()=>{if(!r.current){f("connecting");try{let e=function(e){var t,r,n;let o=window.location,a="https:"===o.protocol?"wss:":"ws:",i=null!=(t=e.proxyWsPath)?t:c.env.NEXT_PUBLIC_TERMINAL_WS_PATH;if(i){let e=i.replace(/\/ws\/?$/,"");return"".concat(a,"//").concat(o.host).concat(e,"/mux")}if(""===o.port||"443"===o.port||"80"===o.port)return"".concat(a,"//").concat(o.hostname,"/ao-terminal-mux");let l=null!=(n=null!=(r=e.directTerminalPort)?r:c.env.NEXT_PUBLIC_DIRECT_TERMINAL_PORT)?n:"14801";return"".concat(a,"//").concat(o.hostname,":").concat(l,"/mux")}(C.current);console.log("[MuxProvider] Connecting to",e);let t=new WebSocket(e);r.current=t,t.addEventListener("open",()=>{if(N.current)return void t.close();for(let e of(console.log("[MuxProvider] Connected"),f("connected"),P.current=0,s.current.values())){let r={ch:"terminal",id:e.id,type:"open",...e.projectId&&{projectId:e.projectId},...e.tmuxName&&{tmuxName:e.tmuxName}};t.send(JSON.stringify(r))}t.send(JSON.stringify({ch:"subscribe",topics:["sessions","notifications"]}))}),t.addEventListener("message",e=>{try{let t=JSON.parse(e.data);if("terminal"===t.ch){let e=u(t.id,"projectId"in t?t.projectId:void 0);if("data"===t.type){let r=l.current.get(e);if(r)for(let e of r)e(t.data)}else if("opened"===t.type)s.current.has(e)||s.current.set(e,{id:t.id,..."projectId"in t&&t.projectId?{projectId:t.projectId}:{}});else if("exited"===t.type){s.current.delete(e);let r=l.current.get(e);if(r){let e="\r\n\x1b[31m[Terminal exited with code ".concat(t.code,"]\x1b[0m\r\n");for(let t of r)t(e)}}else"error"===t.type&&console.error("[MuxProvider] Terminal error for ".concat(t.id,":"),t.message)}else"sessions"===t.ch?"snapshot"===t.type?(p(t.sessions),w(null)):"error"===t.type&&w(t.error):"notifications"===t.ch&&("snapshot"===t.type?(b(t.limit),y(t.notifications.slice(-t.limit)),E(null)):"append"===t.type?(b(t.limit),y(e=>(function(e,t,r){let n=new Map;for(let t of e)n.set(i(t),t);for(let e of t)n.set(i(e),e);return[...n.values()].slice(-r)})(e,t.notifications,t.limit)),E(null)):"error"===t.type&&E(t.error))}catch(e){console.error("[MuxProvider] Error processing message:",e)}}),t.addEventListener("error",e=>{console.error("[MuxProvider] WebSocket error:",e)}),t.addEventListener("close",()=>{if(console.log("[MuxProvider] Disconnected"),r.current===t&&(r.current=null),N.current)return;let e=Math.min(1e3*Math.pow(2,P.current),3e4);P.current+=1,f("reconnecting"),S.current=setTimeout(()=>{console.log("[MuxProvider] Reconnecting (attempt ".concat(P.current,")...")),T()},e)})}catch(e){console.error("[MuxProvider] Failed to create WebSocket:",e),f("disconnected")}}},[]);(0,o.useEffect)(()=>{N.current=!1;let e=!1;return(async()=>{try{let e=await fetch("/api/runtime/terminal");if(e.ok){let t=await e.json();C.current={directTerminalPort:function(e){if("string"!=typeof e&&"number"!=typeof e)return;let t=Number.parseInt(String(e),10);if(Number.isInteger(t)&&!(t<=0)&&!(t>65535))return String(t)}(t.directTerminalPort),proxyWsPath:function(e){if("string"!=typeof e)return;let t=e.trim();if(t.startsWith("/"))return t}(t.proxyWsPath)}}}catch(e){}e||T()})(),()=>{var t;e=!0,N.current=!0,S.current&&clearTimeout(S.current),null==(t=r.current)||t.close()}},[T]);let k=(0,o.useCallback)((e,t,n)=>{var o;let c=u(e,n),a=l.current.get(c);if(a||(a=new Set,l.current.set(c,a)),a.add(t),!s.current.has(c)&&(null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let t={ch:"terminal",id:e,type:"open",...n&&{projectId:n}};r.current.send(JSON.stringify(t))}return()=>{let e=l.current.get(c);e&&(e.delete(t),0===e.size&&l.current.delete(c))}},[]),M=(0,o.useCallback)((e,t,n)=>{var o;if((null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let o={ch:"terminal",id:e,type:"data",data:t,...n&&{projectId:n}};r.current.send(JSON.stringify(o))}},[]),L=(0,o.useCallback)((e,t,n)=>{var o;if(s.current.set(u(e,t),{id:e,projectId:t,tmuxName:n}),(null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let o={ch:"terminal",id:e,type:"open",...t&&{projectId:t},...n&&{tmuxName:n}};r.current.send(JSON.stringify(o))}},[]),R=(0,o.useCallback)((e,t)=>{var n;if(s.current.delete(u(e,t)),(null==(n=r.current)?void 0:n.readyState)===WebSocket.OPEN){let n={ch:"terminal",id:e,type:"close",...t&&{projectId:t}};r.current.send(JSON.stringify(n))}},[]),O=(0,o.useCallback)((e,t,n,o)=>{var c;if((null==(c=r.current)?void 0:c.readyState)===WebSocket.OPEN){let c={ch:"terminal",id:e,type:"resize",cols:t,rows:n,...o&&{projectId:o}};r.current.send(JSON.stringify(c))}},[]),j=(0,o.useMemo)(()=>({subscribeTerminal:k,writeTerminal:M,openTerminal:L,closeTerminal:R,resizeTerminal:O,status:d,sessions:m,notifications:h,notificationLimit:v,lastError:g,notificationError:x}),[k,M,L,R,O,d,m,h,v,g,x]);return(0,n.jsx)(a.Provider,{value:j,children:t})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3764],{2286:(e,t,r)=>{"use strict";r.d(t,{D:()=>u,N:()=>d});var n=r(6749),l=(e,t,r,n,l,o,a,i)=>{let s=document.documentElement,c=["light","dark"];function u(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&o?l.map(e=>o[e]||e):l;r?(s.classList.remove(...n),s.classList.add(o&&o[t]?o[t]:t)):s.setAttribute(e,t)}),r=t,i&&c.includes(r)&&(s.style.colorScheme=r)}if(n)u(n);else try{let e=localStorage.getItem(t)||r,n=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(n)}catch(e){}},o=["light","dark"],a="(prefers-color-scheme: dark)",i="undefined"==typeof window,s=n.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=n.useContext(s))?e:c},d=e=>n.useContext(s)?n.createElement(n.Fragment,null,e.children):n.createElement(h,{...e}),m=["light","dark"],h=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:l=!0,enableColorScheme:i=!0,storageKey:c="theme",themes:u=m,defaultTheme:d=l?"system":"light",attribute:h="data-theme",value:v,children:x,nonce:y,scriptProps:w}=e,[S,k]=n.useState(()=>p(c,d)),[E,C]=n.useState(()=>"system"===S?g():S),T=v?Object.values(v):u,j=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&l&&(t=g());let n=v?v[t]:t,a=r?b(y):null,s=document.documentElement,c=e=>{"class"===e?(s.classList.remove(...T),n&&s.classList.add(n)):e.startsWith("data-")&&(n?s.setAttribute(e,n):s.removeAttribute(e))};if(Array.isArray(h)?h.forEach(c):c(h),i){let e=o.includes(d)?d:null,r=o.includes(t)?t:e;s.style.colorScheme=r}null==a||a()},[y]),L=n.useCallback(e=>{let t="function"==typeof e?e(S):e;k(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),M=n.useCallback(e=>{C(g(e)),"system"===S&&l&&!t&&j("system")},[S,t]);n.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(M),M(e),()=>e.removeListener(M)},[M]),n.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?k(e.newValue):L(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[L]),n.useEffect(()=>{j(null!=t?t:S)},[t,S]);let A=n.useMemo(()=>({theme:S,setTheme:L,forcedTheme:t,resolvedTheme:"system"===S?E:S,themes:l?[...u,"system"]:u,systemTheme:l?E:void 0}),[S,L,t,E,l,u]);return n.createElement(s.Provider,{value:A},n.createElement(f,{forcedTheme:t,storageKey:c,attribute:h,enableSystem:l,enableColorScheme:i,defaultTheme:d,value:v,themes:u,nonce:y,scriptProps:w}),x)},f=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:o,enableSystem:a,enableColorScheme:i,defaultTheme:s,value:c,themes:u,nonce:d,scriptProps:m}=e,h=JSON.stringify([o,r,s,t,u,c,a,i]).slice(1,-1);return n.createElement("script",{...m,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(l.toString(),")(").concat(h,")")}})}),p=(e,t)=>{let r;if(!i){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},b=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},g=e=>(e||(e=window.matchMedia(a)),e.matches?"dark":"light")},2700:()=>{},3764:(e,t,r)=>{"use strict";r.r(t),r.d(t,{DirectTerminal:()=>p,buildTerminalThemes:()=>f,resolveMonoFontFamily:()=>u});var n=r(3817),l=r(6749),o=r(7594),a=r(2286),i=r(4901);let s="ao-terminal-font-size",c='"JetBrains Mono", "SF Mono", Menlo, Monaco, "Courier New", monospace';function u(){try{let e=getComputedStyle(document.documentElement).getPropertyValue("--font-jetbrains-mono").trim();return e?"".concat(e,", ").concat(c):c}catch(e){return c}}function d(e){let{sessionId:t,chromeless:r,isOpenCodeSession:o,reloadCommand:a,fontSize:s,setFontSize:c,fullscreen:u,toggleFullscreen:d,muxStatus:m}=e,[h,f]=(0,l.useState)(!1),[p,b]=(0,l.useState)(null);async function g(){if(o&&!h){b(null),f(!0);try{let e=a;if(!e){let r=await fetch("/api/sessions/".concat(encodeURIComponent(t),"/remap"),{method:"POST"});if(!r.ok)throw Error("Failed to remap OpenCode session: ".concat(r.status));let n=await r.json();if("string"!=typeof n.opencodeSessionId||0===n.opencodeSessionId.length)throw Error("Missing OpenCode session id after remap");e="/exit\nopencode --session ".concat(n.opencodeSessionId,"\n")}let r=await fetch("/api/sessions/".concat(encodeURIComponent(t),"/send"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e})});if(!r.ok)throw Error("Failed to send reload command: ".concat(r.status))}catch(e){b(e instanceof Error?e.message:"Failed to reload OpenCode session")}finally{f(!1)}}}let v=(0,n.jsxs)("div",{className:"terminal-chrome-zoom flex items-center",children:[(0,n.jsx)("button",{onClick:()=>c(e=>Math.max(9,e-1)),disabled:s<=9,className:"terminal-chrome-zoom__btn","aria-label":"Decrease font size",children:"−"}),(0,n.jsxs)("span",{className:"terminal-chrome-zoom__value",children:[s,"px"]}),(0,n.jsx)("button",{onClick:()=>c(e=>Math.min(18,e+1)),disabled:s>=18,className:"terminal-chrome-zoom__btn","aria-label":"Increase font size",children:"+"})]}),x=o?(0,n.jsx)("button",{onClick:g,disabled:h||"connected"!==m,title:"Restart OpenCode session (/exit then resume mapped session)","aria-label":"Restart OpenCode session",className:"flex items-center gap-1 px-2 py-0.5 text-[11px] text-[var(--color-text-tertiary)] transition-colors hover:bg-[var(--color-bg-subtle)] hover:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-70",children:h?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"h-3 w-3 animate-spin",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M12 3a9 9 0 109 9"})}),"restarting"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("svg",{className:"h-3 w-3",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,n.jsx)("path",{d:"M21 12a9 9 0 11-2.64-6.36"}),(0,n.jsx)("path",{d:"M21 3v6h-6"})]}),"restart"]})}):null,y=(0,n.jsx)("button",{onClick:d,className:(0,i.cn)("terminal-chrome-fs-btn",r&&"flex items-center gap-1 px-2 py-0.5 text-[11px]"),"aria-label":u?"exit fullscreen":"fullscreen",title:u?"Exit fullscreen":"Fullscreen",children:u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M8 3v3a2 2 0 01-2 2H3m18 0h-3a2 2 0 01-2-2V3m0 18v-3a2 2 0 012-2h3M3 16h3a2 2 0 012 2v3"})}),(0,n.jsx)("span",{className:"terminal-chrome-fs-btn__label",children:"exit fullscreen"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M8 3H5a2 2 0 00-2 2v3M16 3h3a2 2 0 012 2v3M8 21H5a2 2 0 01-2-2v-3M16 21h3a2 2 0 002-2v-3"})}),(0,n.jsx)("span",{className:"terminal-chrome-fs-btn__label",children:"fullscreen"})]})});return r?(0,n.jsxs)("div",{className:"absolute right-3 top-3 z-10 flex items-center gap-1 rounded-[6px] border border-[var(--color-border-subtle)] bg-[color-mix(in_srgb,var(--color-bg-elevated)_92%,transparent)] px-1.5 py-1 shadow-[0_8px_24px_rgba(0,0,0,0.18)] backdrop-blur-sm",children:[x,y]}):(0,n.jsxs)("div",{className:"terminal-chrome-bar flex items-center gap-2.5 border-b border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-[15px]",children:[(0,n.jsx)("span",{className:"terminal-chrome-pane-label",children:"Terminal"}),(0,n.jsx)("span",{className:"terminal-chrome-session-id",children:t}),(0,n.jsx)("div",{className:"flex-1"}),v,x,p?(0,n.jsx)("span",{className:"max-w-[40ch] truncate text-[10px] font-medium text-[var(--color-status-error)]",title:p,children:p}):null,y]})}var m=r(5184);r(2700);let h={deadZone:8,verticalDominance:1.5,maxLinesPerEvent:6,speedMultiplier:3,tmuxPrefix:"\x02"};function f(e){let t="#f59f4c";return{dark:{background:"#0c0d10",foreground:"#c5ccd3",cursor:t,cursorAccent:"#0c0d10",selectionBackground:"rgba(77, 141, 255, 0.30)",selectionInactiveBackground:"rgba(128, 128, 128, 0.2)",black:"#15171b",red:"#ef6b6b",green:"#74b98a",yellow:"#e8c14a",blue:"#4d8dff",magenta:"#a78bfa",cyan:"#6fb3c9",white:"#c5ccd3",brightBlack:"#444951",brightRed:"#ff8a8a",brightGreen:"#8fd6a6",brightYellow:"#f0d06b",brightBlue:"#7eaaff",brightMagenta:"#c4b0fc",brightCyan:"#8fcfe0",brightWhite:"#f4f5f7"},light:{background:"#fafafa",foreground:"#24292f",cursor:t,cursorAccent:"#fafafa",selectionBackground:"rgba(77, 141, 255, 0.25)",selectionInactiveBackground:"rgba(128, 128, 128, 0.15)",black:"#24292f",red:"#b42318",green:"#1f7a3d",yellow:"#8a5a00",blue:"#175cd3",magenta:"#8e24aa",cyan:"#0b7285",white:"#4b5563",brightBlack:"#374151",brightRed:"#912018",brightGreen:"#176639",brightYellow:"#6f4a00",brightBlue:"#1d4ed8",brightMagenta:"#7b1fa2",brightCyan:"#155e75",brightWhite:"#374151"}}}function p(e){let{sessionId:t,projectId:c,tmuxName:p,startFullscreen:b=!1,variant:g="agent",appearance:v="theme",height:x="max(440px, calc(100dvh - 440px))",isOpenCodeSession:y=!1,reloadCommand:w,chromeless:S=!1,autoFocus:k=!1}=e,E=(0,o.useRouter)(),C=(0,o.usePathname)(),T=(0,o.useSearchParams)(),{resolvedTheme:j}=(0,a.D)(),L=(0,l.useRef)(null),[M,A]=(0,l.useState)(b),[N,F]=(0,l.useState)(function(){try{let e=localStorage.getItem(s);if(e){let t=parseInt(e,10);if(!Number.isNaN(t))return Math.max(9,Math.min(18,t))}}catch(e){}return 13}()),{error:P,followOutput:z,scrollToLatest:_,muxStatus:B,terminalInstance:I,fitAddon:R}=function(e,t,n){let{appearance:o,variant:i,fontSize:c,autoFocus:d,projectId:p,tmuxName:b}=n,{resolvedTheme:g}=(0,a.D)(),v=(0,l.useMemo)(()=>f(i),[i]),{subscribeTerminal:x,writeTerminal:y,resizeTerminal:w,openTerminal:S,closeTerminal:k,status:E}=(0,m.Ug)(),C=(0,l.useRef)(null),T=(0,l.useRef)(null),[j,L]=(0,l.useState)(null),M=(0,l.useRef)(!0),[A,N]=(0,l.useState)(!0);return(0,l.useEffect)(()=>{if(!e.current)return;L(null);let n=!0,l=null,a=null,i=null;return Promise.all([r.e(7949).then(r.bind(r,7026)).then(e=>e.Terminal),r.e(503).then(r.bind(r,503)).then(e=>e.FitAddon),r.e(6835).then(r.bind(r,6835)).then(e=>e.WebLinksAddon),r.e(5453).then(r.bind(r,1695)).then(e=>e.WebglAddon),r.e(4751).then(r.bind(r,4751)).then(e=>e.Unicode11Addon),document.fonts.ready]).then(r=>{var s;let[m,f,E,j,L]=r;if(!n||!e.current)return;let A="dark"===o||"light"!==g,F=A?v.dark:v.light,P=new m({cursorBlink:!0,fontSize:c,fontFamily:u(),lineHeight:1.2,theme:F,minimumContrastRatio:A?4.5:7,scrollback:0,allowProposedApi:!0,rescaleOverlappingGlyphs:!0,fastScrollSensitivity:3,scrollSensitivity:1}),z=new f;P.loadAddon(z),T.current=z;let _=new E;P.loadAddon(_),P.parser.registerCsiHandler({prefix:">",final:"q"},()=>(P.write("\x1bP>|XTerm(370)\x1b\\"),!0)),P.parser.registerOscHandler(52,e=>{let t=e.split(";");if(t.length<2)return!1;let r=t[t.length-1];try{var n;let e=atob(r),t=Uint8Array.from(e,e=>e.charCodeAt(0)),l=new TextDecoder().decode(t);null==(n=navigator.clipboard)||n.writeText(l).catch(()=>{})}catch(e){}return!0}),P.attachCustomKeyEventHandler(e=>{if("keydown"!==e.type)return!0;if((e.metaKey&&!e.ctrlKey&&!e.altKey&&"KeyC"===e.code||e.ctrlKey&&e.shiftKey&&"KeyC"===e.code)&&P.hasSelection()){var t;return null==(t=navigator.clipboard)||t.writeText(P.getSelection()).catch(()=>{}),P.clearSelection(),!1}return!0}),P.open(e.current),C.current=P;try{P.loadAddon(new L),P.unicode.activeVersion="11"}catch(e){}let B=null,I=requestAnimationFrame(()=>{if(n&&C.current)try{let e=new j;e.onContextLoss(()=>{e.dispose(),B=null}),P.loadAddon(e),B=e}catch(e){B=null}});d&&P.focus(),z.fit();let R=setTimeout(()=>{if(n&&T.current)try{T.current.fit(),w(t,P.cols,P.rows,p)}catch(e){}},100),O=()=>{if(n&&T.current&&C.current)try{var e,r;C.current.options.fontFamily=u(),null==(e=(r=C.current).clearTextureAtlas)||e.call(r),T.current.fit(),w(t,C.current.cols,C.current.rows,p)}catch(e){}},D="undefined"!=typeof document?document.fonts:void 0,K=!!D&&"function"==typeof D.addEventListener;K&&D.addEventListener("loadingdone",O);let W=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={...h,...r},l=e.element;if(!l)return()=>{};let o=l.style.touchAction;l.style.touchAction="none";let a=l.querySelector(".xterm-viewport");a&&(a.style.touchAction="none");let i=0,s=0,c=0,u=null,d=!1,m=e=>{"touch"===e.pointerType&&(i=e.clientX,s=e.clientY,c=e.clientY,u=null,d=!1)},f=o=>{var a,m,h;if("touch"!==o.pointerType)return;let f=o.clientX-i,p=o.clientY-s,b=Math.abs(f),g=Math.abs(p);if(null===u){if(Math.max(b,g)<n.deadZone)return;if(g<n.verticalDominance*b){u=!1;return}u=!0;try{l.setPointerCapture(o.pointerId)}catch(e){}}if(!0!==u)return;o.preventDefault();let v=Math.round((o.clientY-c)/((null!=(h=e.options.fontSize)?h:13)*1.2));if(v>n.maxLinesPerEvent&&(v=n.maxLinesPerEvent),v<-n.maxLinesPerEvent&&(v=-n.maxLinesPerEvent),0===v)return;c=o.clientY;let x=v*n.speedMultiplier;if(v>0?null==(a=r.onScrollAway)||a.call(r):null==(m=r.onScrollTowardLatest)||m.call(r),"normal"===e.buffer.active.type)e.scrollLines(-x);else{d||(d=!0,t(n.tmuxPrefix+"["));let e=v>0?"\x1b[A":"\x1b[B",r=Math.abs(x);for(let n=0;n<r;n++)t(e)}},p=e=>{if("touch"===e.pointerType){try{l.hasPointerCapture(e.pointerId)&&l.releasePointerCapture(e.pointerId)}catch(e){}u=null}},b={capture:!0},g={capture:!0,passive:!1};return l.addEventListener("pointerdown",m,b),l.addEventListener("pointermove",f,g),l.addEventListener("pointerup",p,b),l.addEventListener("pointercancel",p,b),()=>{l.removeEventListener("pointerdown",m,b),l.removeEventListener("pointermove",f,g),l.removeEventListener("pointerup",p,b),l.removeEventListener("pointercancel",p,b),l.style.touchAction=o}}(P,e=>{y(t,e,p)},{onScrollAway:()=>{M.current=!1,N(!1)}}),H=null;e.current&&(H=new ResizeObserver(()=>{if(n&&T.current)try{T.current.fit(),w(t,P.cols,P.rows,p)}catch(e){}})).observe(e.current);let Y=null,q=()=>{if(n&&T.current&&C.current)try{var e,r;null==(e=(r=C.current).clearTextureAtlas)||e.call(r),T.current.fit(),w(t,C.current.cols,C.current.rows)}catch(e){}};"function"==typeof window.matchMedia&&(null==(s=(Y=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"))).addEventListener)||s.call(Y,"change",q));let U=[],V=!1,J=null,G=0,X=()=>{J&&(clearTimeout(J),J=null),U.length>0&&(P.write(U.join("")),U.length=0,G=0)},Z=P.onSelectionChange(()=>{P.hasSelection()?(V=!0,J||(J=setTimeout(()=>{V=!1,X()},5e3))):(V=!1,X())}),Q=!1;S(t,p,b),i=x(t,e=>{V?(U.push(e),(G+=e.length)>1048576&&(V=!1,X())):(P.write(e),M.current&&(Q=!0,P.scrollToBottom()))},p);let $=P.onScroll(()=>{if(Q){Q=!1;return}let e=P.buffer.active;e.viewportY+P.rows>=e.length?(M.current=!0,N(!0)):(M.current=!1,N(!1))}),ee=()=>{z&&(z.fit(),w(t,P.cols,P.rows,p))};window.addEventListener("resize",ee),a=P.onData(e=>{y(t,e,p)}),w(t,P.cols,P.rows,p),l=()=>{var e;clearTimeout(R),cancelAnimationFrame(I);try{null==B||B.dispose()}catch(e){}null==H||H.disconnect(),null==Y||null==(e=Y.removeEventListener)||e.call(Y,"change",q),W(),Z.dispose(),J&&clearTimeout(J),window.removeEventListener("resize",ee),K&&D&&D.removeEventListener("loadingdone",O),$.dispose(),null==a||a.dispose(),a=null,null==i||i(),k(t,p),P.dispose()}}).catch(e=>{console.error("[DirectTerminal] Failed to load xterm.js:",e),L("Failed to load terminal")}),()=>{n=!1,null==l||l()}},[o,t,p,b,i,g,v,x,y,w,S,k]),(0,l.useEffect)(()=>{if("connected"!==E)return;let e=T.current,r=C.current;e&&r&&(e.fit(),w(t,r.cols,r.rows,p))},[E,t,p,w]),(0,l.useEffect)(()=>{let e=C.current;if(!e)return;let t="dark"===o||"light"!==g;e.options.theme=t?v.dark:v.light,e.options.minimumContrastRatio=t?1:7},[o,g,v]),(0,l.useEffect)(()=>{let e=C.current,r=T.current;if(e&&r){e.options.fontSize=c;try{localStorage.setItem(s,String(c))}catch(e){}r.fit(),w(t,e.cols,e.rows,p)}},[c,t,p,w]),{error:j,followOutput:A,scrollToLatest:()=>{let e=C.current;e&&("normal"===e.buffer.active.type?e.scrollToBottom():y(t,"q",p)),M.current=!0,N(!0)},muxStatus:E,terminalInstance:C,fitAddon:T}}(L,t,{appearance:v,variant:g,fontSize:N,autoFocus:k,projectId:c,tmuxName:p}),{resizeTerminal:O,status:D}=(0,m.Ug)(),K=(0,l.useRef)(D);K.current=D,(0,l.useEffect)(()=>{let e=R.current,r=I.current,n=L.current;if(!e||!r||"connected"!==K.current||!n)return;let l=0,o=!1,a=0,i=-1,s=()=>{if(o)return;l++;let u=n.getBoundingClientRect().height,d=i>=0&&1>Math.abs(u-i);if(i=u,!d&&l<60){a=requestAnimationFrame(s);return}r.refresh(0,r.rows-1),e.fit(),r.refresh(0,r.rows-1),O(t,r.cols,r.rows,c)};a=requestAnimationFrame(s);let u=e=>{o||e.target===n.parentElement&&(l=0,i=-1,setTimeout(()=>{o||(a=requestAnimationFrame(s))},50))},d=n.parentElement;null==d||d.addEventListener("transitionend",u);let m=setTimeout(()=>{o||(l=0,i=-1,s())},300),h=setTimeout(()=>{o||(l=0,i=-1,s())},600);return()=>{o=!0,cancelAnimationFrame(a),null==d||d.removeEventListener("transitionend",u),clearTimeout(m),clearTimeout(h)}},[M,t,c,O,L,R,I]),(0,l.useEffect)(()=>{let e=new URLSearchParams(T.toString());M?e.set("fullscreen","true"):e.delete("fullscreen");let t=e.toString()?"".concat(C,"?").concat(e.toString()):C;E.replace(t,{scroll:!1})},[M,C,E,T]);let W="dark"===v||"light"!==j;return(0,n.jsxs)("div",{className:(0,i.cn)("overflow-hidden border border-[var(--color-border-default)] flex flex-col",M?"fixed inset-0 z-50 rounded-none border-0":"relative h-full",W?"bg-[#0a0a0f]":"bg-[#fafafa]",S&&"border-0"),children:[(0,n.jsx)(d,{sessionId:t,chromeless:S,isOpenCodeSession:y,reloadCommand:w,fontSize:N,setFontSize:F,fullscreen:M,toggleFullscreen:()=>A(e=>!e),muxStatus:B,error:P}),(0,n.jsxs)("div",{className:"relative flex-1 min-h-0 flex flex-col",children:[z?null:(0,n.jsx)("button",{type:"button",onClick:_,className:"absolute bottom-3 right-3 z-20 flex h-8 w-8 items-center justify-center rounded-full border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] text-[var(--color-text-primary)] shadow-md active:scale-95","aria-label":"Jump to latest",title:"Jump to latest",children:(0,n.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M19 14l-7 7m0 0l-7-7m7 7V3"})})}),(0,n.jsx)("div",{ref:L,className:"w-full flex flex-col flex-1 min-h-0 overflow-hidden"})]})]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4115],{2446:(e,t,r)=>{r.d(t,{d:()=>c,t:()=>i});var s=r(3817),a=r(6749),l=r(4901);function n(e,t){return"SHOW"===t.type?{message:t.message,variant:t.variant,key:t.key}:null}let o=(0,a.createContext)(null);function i(e){let{children:t}=e,[r,i]=(0,a.useReducer)(n,null),c=(0,a.useRef)(null),d=(0,a.useRef)(0);(0,a.useEffect)(()=>()=>{null!==c.current&&clearTimeout(c.current)},[]);let u=(0,a.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info";null!==c.current&&clearTimeout(c.current),d.current+=1,i({type:"SHOW",message:e,variant:t,key:d.current}),c.current=setTimeout(()=>{i({type:"HIDE"}),c.current=null},3e3)},[]);return(0,s.jsxs)(o.Provider,{value:{showToast:u},children:[t,(0,s.jsx)("div",{className:"toast-container",role:"status","aria-live":"polite","aria-atomic":"true",children:r&&(0,s.jsxs)("div",{className:(0,l.cn)("toast","success"===r.variant&&"toast--success","error"===r.variant&&"toast--error","info"===r.variant&&"toast--info"),children:[(0,s.jsx)("span",{className:"toast__icon","aria-hidden":"true"}),(0,s.jsx)("span",{className:"toast__message",children:r.message})]},r.key)})]})}function c(){let e=(0,a.useContext)(o);if(!e)throw Error("useToast must be used within a ToastProvider");return e}},2749:(e,t,r)=>{r.d(t,{ProjectSettingsForm:()=>u});var s=r(3817),a=r(6749),l=r(7594),n=r(2446);let o="These describe which repo this is. Change them via `athene project relink`.";function i(e){let{projectId:t,initialValues:r}=e,o=(0,l.useRouter)(),{showToast:i}=(0,n.d)(),[u,p]=(0,a.useState)(r.agent),[h,j]=(0,a.useState)(r.runtime),[m,b]=(0,a.useState)(r.trackerPlugin),[x,_]=(0,a.useState)(r.scmPlugin),[f,g]=(0,a.useState)(r.reactions),[v,y]=(0,a.useState)(!1),[w,N]=(0,a.useState)(null),[k,C]=(0,a.useState)(null),S=(0,a.useMemo)(()=>({agent:u.trim()||null,runtime:h.trim()||null,tracker:m.trim()?{plugin:m.trim()}:null,scm:x.trim()?{plugin:x.trim()}:null,reactions:f}),[u,h,m,x,f]),E=async()=>{let e;N(null),C(null);try{let t=f.trim();e=t?JSON.parse(t):void 0}catch(e){N("Reactions must be valid JSON.");return}y(!0);try{let s=await fetch("/api/projects/".concat(encodeURIComponent(t)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:S.agent,runtime:S.runtime,tracker:S.tracker,scm:S.scm,reactions:null!=e?e:null})}),a=await s.json().catch(()=>null);if(!s.ok){var r;let e=null!=(r=null==a?void 0:a.error)?r:"Failed to save project settings.";400===s.status?N(e):C(e);return}i("Project settings updated.","success"),o.refresh()}catch(e){C("Network error while saving project settings.")}finally{y(!1)}};return(0,s.jsxs)("div",{className:"project-settings-form",children:[(0,s.jsxs)("section",{className:"project-settings-form__section",children:[(0,s.jsxs)("div",{className:"project-settings-form__section-header",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"project-settings-form__eyebrow",children:"Behavior"}),(0,s.jsx)("h2",{className:"project-settings-form__section-title",children:"Runtime configuration"}),(0,s.jsx)("p",{className:"project-settings-form__section-copy",children:"These values change how AO runs this project without changing which repository the project points at."})]}),(0,s.jsx)("button",{type:"button",onClick:()=>void E(),disabled:v,className:"project-settings-form__save",children:v?"Saving...":"Save changes"})]}),(0,s.jsxs)("div",{className:"project-settings-form__grid",children:[(0,s.jsx)(c,{id:"agent",label:"Agent",value:u,onChange:p,placeholder:"claude-code"}),(0,s.jsx)(c,{id:"runtime",label:"Runtime",value:h,onChange:j,placeholder:"tmux"}),(0,s.jsx)(c,{id:"tracker-plugin",label:"Tracker plugin",value:m,onChange:b,placeholder:"github"}),(0,s.jsx)(c,{id:"scm-plugin",label:"SCM plugin",value:x,onChange:_,placeholder:"github"})]}),(0,s.jsxs)("div",{className:"project-settings-form__reactions",children:[(0,s.jsx)("label",{htmlFor:"reactions",className:"project-settings-form__label",children:"Reactions"}),(0,s.jsx)("p",{className:"project-settings-form__hint",children:"JSON object keyed by reaction name. This PATCH only sends behavior fields."}),(0,s.jsx)("textarea",{id:"reactions",value:f,onChange:e=>g(e.target.value),spellCheck:!1,rows:12,className:"project-settings-form__textarea project-settings-form__textarea--mono"})]}),w?(0,s.jsx)("div",{role:"alert",className:"project-settings-form__alert project-settings-form__alert--error",children:w}):null,k?(0,s.jsxs)("div",{className:"project-settings-form__alert project-settings-form__alert--surface",children:[(0,s.jsx)("p",{className:"project-settings-form__alert-copy",children:k}),(0,s.jsx)("button",{type:"button",onClick:()=>void E(),className:"project-settings-form__retry",children:"Retry"})]}):null]}),(0,s.jsxs)("section",{className:"project-settings-form__section",children:[(0,s.jsx)("p",{className:"project-settings-form__eyebrow",children:"Identity"}),(0,s.jsx)("h2",{className:"project-settings-form__section-title",children:"Repository identity"}),(0,s.jsx)("p",{className:"project-settings-form__section-copy",children:"These fields are read-only because they define which repository AO considers this project to be."}),(0,s.jsxs)("div",{className:"project-settings-form__grid",children:[(0,s.jsx)(d,{id:"identity-project-id",label:"Project ID",value:r.identity.projectId}),(0,s.jsx)(d,{id:"identity-path",label:"Path",value:r.identity.path}),(0,s.jsx)(d,{id:"identity-repo",label:"Repo",value:r.identity.repo}),(0,s.jsx)(d,{id:"identity-default-branch",label:"Default branch",value:r.identity.defaultBranch})]})]})]})}function c(e){let{id:t,label:r,value:a,onChange:l,placeholder:n}=e;return(0,s.jsxs)("label",{htmlFor:t,className:"project-settings-form__field",children:[(0,s.jsx)("span",{className:"project-settings-form__label",children:r}),(0,s.jsx)("input",{id:t,value:a,onChange:e=>l(e.target.value),placeholder:n,className:"project-settings-form__input"})]})}function d(e){let{id:t,label:r,value:a}=e;return(0,s.jsxs)("label",{htmlFor:t,className:"project-settings-form__field",children:[(0,s.jsx)("span",{className:"project-settings-form__label",children:r}),(0,s.jsx)("input",{id:t,value:a,disabled:!0,readOnly:!0,title:o,"aria-describedby":"".concat(t,"-tooltip"),className:"project-settings-form__input project-settings-form__input--readonly"}),(0,s.jsx)("span",{id:"".concat(t,"-tooltip"),className:"project-settings-form__hint",children:o})]})}function u(e){return(0,s.jsx)(n.t,{children:(0,s.jsx)(i,{...e})})}},4115:(e,t,r)=>{r.d(t,{u:()=>$});var s=r(3817),a=r(8713),l=r.n(a),n=r(6749),o=r(7594),i=r(4901),c=r(545),d=r(5425),u=r(7387);function p(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8;(0,n.useLayoutEffect)(()=>{if(!e)return;let s=t.current;if(!s)return;let a=()=>{s.style.transform="";let e=s.getBoundingClientRect(),t=window.innerWidth,a=0;e.left<r?a=r-e.left:e.right>t-r&&(a=t-r-e.right),0!==a&&(s.style.transform="translateX(".concat(a,"px)"))};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a),s.style.transform=""}},[e,t,r])}var h=r(3517),j=r(8450),m=r(6004),b=r(7209);function x(){return(0,s.jsx)("span",{className:"app-mark","aria-hidden":"true",children:(0,s.jsx)(b.default,{src:"/mascot.png",alt:"",width:23,height:23,className:"app-mark__img",priority:!0})})}let _=/^[A-Za-z]:[\\/]?$/,f=/^[A-Za-z]:[\\/]/,g=/^\\\\[^\\]+\\[^\\]+\\?$/;function v(e){var t;return(null!=(t=e.split(/[\\/]+/).filter(Boolean).pop())?t:"project").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"project"}function y(e){var t;return(null!=(t=e.split(/[\\/]+/).filter(Boolean).pop())?t:"Project").replace(/[-_]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,e=>e.toUpperCase())||"Project"}function w(e){return e.includes("\\")?"\\":"/"}function N(e){return _.test(e)||g.test(e)?e:e.replace(/[\\/]+$/,"")}function k(e,t){if("~"===e)return"~/".concat(t);let r=w(e),s=N(e);return/[\\/]$/.test(s)?"".concat(s).concat(t):"".concat(s).concat(r).concat(t)}function C(e){let{children:t,className:r,viewBox:a="0 0 16 16"}=e;return(0,s.jsx)("svg",{"aria-hidden":"true",viewBox:a,className:r,children:t})}let S={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"miter"},E={fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"square"},P={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"miter"};function M(e){let{className:t}=e;return(0,s.jsx)(C,{className:t,children:(0,s.jsx)("path",{d:"M2 4.5h4l1.5 2H14v5.5H2Z",...S})})}function I(){return(0,s.jsx)(C,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"M10 3.5 6 8l4 4.5",...E})})}function R(){return(0,s.jsx)(C,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"m6 3.5 4 4.5L6 12.5",...E})})}function L(){return(0,s.jsx)(C,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"M8 12V4m0 0L5 7m3-3 3 3",...P})})}function D(){return(0,s.jsx)(C,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"M13 8A5 5 0 1 1 8 3M6.3 1.7 8 3 6.3 4.3",...P})})}function B(e){var t,r,a,l;let{browser:o}=e,i=(0,n.useRef)(null),c=(0,n.useRef)(null),d=(0,n.useRef)(""),u=(0,n.useRef)(0),p=(0,n.useMemo)(()=>o.directoryEntries.findIndex(e=>k(o.browsePath,e.name)===o.selectedBrowsePath),[o.browsePath,o.directoryEntries,o.selectedBrowsePath]);(0,n.useEffect)(()=>{let e=e=>{var t,r,s;let a=e.target;if(!(a instanceof Node)||a instanceof HTMLElement&&(a.isContentEditable||a instanceof HTMLInputElement||a instanceof HTMLTextAreaElement||a instanceof HTMLSelectElement))return;let l=c.current;if(null!=(r=null==l?void 0:l.contains(a))&&r||null!=(s=null==(t=i.current)?void 0:t.contains(a))&&s||null!==l&&a.contains(l)){if(1===e.key.length&&!e.ctrlKey&&!e.metaKey&&!e.altKey){let t=Date.now();t-u.current>600&&(d.current=""),u.current=t,d.current+=e.key.toLowerCase();let r=o.directoryEntries.find(e=>e.name.toLowerCase().startsWith(d.current));r&&(e.preventDefault(),o.setSelectedBrowsePath(k(o.browsePath,r.name)));return}if("ArrowDown"===e.key||"ArrowUp"===e.key){if(0===o.directoryEntries.length)return;e.preventDefault();let t="ArrowDown"===e.key?1:-1,r=-1===p?t>0?0:o.directoryEntries.length-1:Math.min(Math.max(p+t,0),o.directoryEntries.length-1),s=o.directoryEntries[r];s&&o.setSelectedBrowsePath(k(o.browsePath,s.name));return}"Enter"===e.key&&p>=0&&(a instanceof HTMLElement&&a.classList.contains("add-project-browser__row")||!(a instanceof HTMLButtonElement||a instanceof HTMLAnchorElement))&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&(e.preventDefault(),o.browse(o.selectedBrowsePath))}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,p]);let h=function(e){if("~"===e)return[{label:"home",path:"~"}];if(_.test(e)){let t=w(e),r=e.slice(0,2);return[{label:r,path:"".concat(r).concat(t)}]}if(f.test(e)){var t;let r=w(e),s=N(e).split(/[\\/]+/).filter(Boolean),a=null!=(t=s[0])?t:e.slice(0,2),l="".concat(a).concat(r),n=[{label:a,path:l}];for(let e of s.slice(1))l=k(l,e),n.push({label:e,path:l});return n}let r=e.split(/[\\/]+/).filter(Boolean),s=[{label:"home",path:"~"}],a="~";for(let e of r.slice(1))a="~"===a?"~/".concat(e):"".concat(a,"/").concat(e),s.push({label:e,path:a});return s}(o.browsePath),j=null!=(l=null==(t=h[h.length-1])?void 0:t.label)?l:o.browsePath,m="~"!==o.browsePath&&null!==o.currentDirectory,b=o.selectedBrowsePath===o.browsePath;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{ref:i,className:"add-project-modal__toolbar",children:[(0,s.jsxs)("div",{className:"add-project-modal__toolbarcluster",children:[(0,s.jsx)("button",{type:"button",onClick:o.goBack,disabled:!o.canGoBack,className:"add-project-modal__toolbtn","aria-label":"Go back",children:(0,s.jsx)(I,{})}),(0,s.jsx)("button",{type:"button",onClick:o.goForward,disabled:!o.canGoForward,className:"add-project-modal__toolbtn","aria-label":"Go forward",children:(0,s.jsx)(R,{})}),(0,s.jsx)("button",{type:"button",onClick:o.goUp,disabled:!o.parentPath,className:"add-project-modal__toolbtn","aria-label":"Go up",children:(0,s.jsx)(L,{})}),(0,s.jsx)("button",{type:"button",onClick:o.refresh,className:"add-project-modal__toolbtn","aria-label":"Refresh",children:(0,s.jsx)(D,{})}),o.roots.length>0?(0,s.jsxs)("select",{"aria-label":"Location",value:"~"===o.browsePath?"~":o.selectedRootPath,onChange:e=>{let t=e.target.value;t&&("~"===t?o.browse("~"):o.browse(t))},className:"add-project-modal__drive-select",children:[(0,s.jsx)("option",{value:"~",children:"Home"}),o.roots.map(e=>(0,s.jsx)("option",{value:e.path,children:e.label},e.path))]}):null]}),(0,s.jsx)("input",{"aria-label":"Folder path",value:o.locationInput,onChange:e=>o.setLocationInput(e.target.value),onKeyDown:e=>{if("Enter"!==e.key)return;e.preventDefault();let t=o.locationInput.trim()||"~";o.browse(t,{selectedPath:t})},className:"add-project-modal__location"})]}),(0,s.jsx)("div",{className:"add-project-modal__content",children:(0,s.jsxs)("div",{ref:c,className:"add-project-browser",children:[(0,s.jsxs)("div",{className:"add-project-browser__current",children:[(0,s.jsx)("div",{className:"add-project-browser__current-label",children:"Current folder"}),(0,s.jsx)("div",{className:"add-project-browser__breadcrumb",children:h.map(e=>(0,s.jsx)("button",{type:"button",className:"add-project-browser__crumb",onClick:()=>void o.browse(e.path),children:e.label},e.path))})]}),o.error?(0,s.jsxs)("div",{className:"add-project-browser__state add-project-browser__state--error",children:[(0,s.jsx)("p",{className:"add-project-browser__state-title",children:"Directory browser unavailable"}),(0,s.jsx)("p",{className:"add-project-browser__state-copy",children:o.error})]}):o.loading?(0,s.jsxs)("div",{className:"add-project-browser__state",children:[(0,s.jsx)("p",{className:"add-project-browser__state-title",children:"Loading folders"}),(0,s.jsx)("p",{className:"add-project-browser__state-copy",children:"Fetching directories for this location."})]}):(0,s.jsxs)("div",{className:"add-project-browser__rows",children:[m?(0,s.jsxs)("button",{type:"button","aria-label":(null==(r=o.currentDirectory)?void 0:r.isGitRepo)?"".concat(j,", current folder, Git repository"):"".concat(j,", current folder"),onClick:()=>o.setSelectedBrowsePath(o.browsePath),className:"add-project-browser__row add-project-browser__row--current".concat(b?" is-selected":""),children:[(0,s.jsx)(M,{className:"add-project-browser__row-icon"}),(0,s.jsx)("span",{className:"add-project-browser__row-name",children:j}),(0,s.jsx)("span",{className:"add-project-browser__row-tag",children:"this folder"}),(null==(a=o.currentDirectory)?void 0:a.isGitRepo)?(0,s.jsx)("span",{className:"add-project-browser__badge","aria-hidden":"true",children:"git"}):null]}):null,o.parentPath?(0,s.jsx)("button",{type:"button",onClick:o.goUp,className:"add-project-browser__row add-project-browser__row--parent",children:".."}):null,0===o.directoryEntries.length?(0,s.jsx)("p",{className:"add-project-browser__empty-row",children:"No subfolders in this location."}):o.directoryEntries.map(e=>{let t=k(o.browsePath,e.name);return(0,s.jsxs)("button",{type:"button","aria-label":e.isGitRepo?"".concat(e.name,", Git repository"):e.name,onClick:()=>o.setSelectedBrowsePath(t),onDoubleClick:()=>void o.browse(t),className:"add-project-browser__row".concat(o.selectedBrowsePath===t?" is-selected":""),children:[(0,s.jsx)(M,{className:"add-project-browser__row-icon"}),(0,s.jsx)("span",{className:"add-project-browser__row-name",children:e.name}),e.isGitRepo?(0,s.jsx)("span",{className:"add-project-browser__badge","aria-hidden":"true",children:"git"}):null,(0,s.jsx)("span",{className:"add-project-browser__row-chevron","aria-hidden":"true",children:(0,s.jsx)(R,{})})]},t)})]})]})})]})}function T(e){let{open:t,onClose:r}=e,a=(0,o.useRouter)(),l=function(){var e,t;let[r,s]=(0,n.useState)("~"),[a,l]=(0,n.useState)("~"),[o,i]=(0,n.useState)(["~"]),[c,d]=(0,n.useState)(0),u=(0,n.useRef)(["~"]),p=(0,n.useRef)(0),h=(0,n.useRef)(0),[j,m]=(0,n.useState)([]),[b,x]=(0,n.useState)(null),[v,y]=(0,n.useState)([]),[k,C]=(0,n.useState)("~"),[S,E]=(0,n.useState)(!1),[P,M]=(0,n.useState)(null),I=(0,n.useCallback)((e,t)=>{u.current=e,p.current=t,i(e),d(t)},[]),R=(0,n.useCallback)((e,t)=>{m([]),x(null),y([]),l(null!=t?t:"")},[]),L=(0,n.useCallback)(async(e,t)=>{var r,a,n,o,i,c,d;let j=h.current+1;h.current=j;let b=null!=(r=null==t?void 0:t.historyIndex)?r:p.current;C(e),E(!0),M(null);try{let r=await fetch("/api/filesystem/browse?path=".concat(encodeURIComponent(e))).catch(()=>null);if(j!==h.current)return;if(!r){R(e,null==t?void 0:t.selectedPath),M("Failed to browse directories.");return}let p=await r.json().catch(()=>null);if(j!==h.current)return;if(!r.ok){R(e,null==t?void 0:t.selectedPath),M(null!=(a=null==p?void 0:p.error)?a:"Failed to browse directories.");return}let _=null!=(n=null==t?void 0:t.mode)?n:"push";if(s(e),C(e),l(null!=(o=null==t?void 0:t.selectedPath)?o:""),m(null!=(i=null==p?void 0:p.entries)?i:[]),x(null!=(c=null==p?void 0:p.current)?c:null),y(null!=(d=null==p?void 0:p.roots)?d:[]),"push"===_){let t=u.current.slice(0,b+1);t[t.length-1]!==e&&t.push(e),I(t,t.length-1)}else{let t=[...u.current];t[b]=e,I(t,b)}}catch(r){if(j!==h.current)return;R(e,null==t?void 0:t.selectedPath),M("Failed to browse directories.")}finally{j===h.current&&E(!1)}},[R,I]),D=(0,n.useCallback)(e=>{var t;let r=u.current;e<0||e>=r.length||(p.current=e,d(e),L(null!=(t=r[e])?t:"~",{mode:"replace",historyIndex:e}))},[L]),B=(0,n.useMemo)(()=>j.filter(e=>e.isDirectory),[j]),T=function(e){if("~"===e||_.test(e)||g.test(e))return null;if(f.test(e)){let t=w(e),r=N(e).split(/[\\/]+/).filter(Boolean);return r.length<=1||2===r.length?"".concat(r[0]).concat(t):r.slice(0,-1).join(t)}let t=e.split(/[\\/]+/).filter(Boolean);return t.length<=1?"~":"~"===t[0]?"~/".concat(t.slice(1,-1).join("/")):t.slice(0,-1).join("/")}(r),A=null!=(t=null==(e=v.find(e=>r.startsWith(e.path)))?void 0:e.path)?t:"",F=c<o.length-1,O=(0,n.useCallback)(()=>{D(p.current-1)},[D]),K=(0,n.useCallback)(()=>{D(p.current+1)},[D]),H=(0,n.useCallback)(()=>{T&&L(T)},[L,T]),W=(0,n.useCallback)(()=>{L(r,{mode:"replace",selectedPath:a})},[L,r,a]),U=(0,n.useCallback)(()=>{M(null),I(["~"],0),s("~"),C("~"),l("~"),m([]),x(null),y([]),L("~",{mode:"replace",selectedPath:"~",historyIndex:0})},[L,I]);return{browsePath:r,selectedBrowsePath:a,setSelectedBrowsePath:l,directoryEntries:B,currentDirectory:b,roots:v,selectedRootPath:A,locationInput:k,setLocationInput:C,loading:S,error:P,parentPath:T,canGoBack:c>0,canGoForward:F,browse:L,goBack:O,goForward:K,goUp:H,refresh:W,reset:U}}(),i=(0,n.useRef)(null),[c,d]=(0,n.useState)(!1),[u,p]=(0,n.useState)(null),[h,j]=(0,n.useState)(null),[m,b]=(0,n.useState)(null),[x,C]=(0,n.useState)(""),[S,E]=(0,n.useState)(""),{reset:P,selectedBrowsePath:M,directoryEntries:I,currentDirectory:R,error:L,browsePath:D}=l;(0,n.useEffect)(()=>{var e;t&&(d(!1),p(null),j(null),b(null),C(""),E(""),null==(e=i.current)||e.focus(),P())},[t,P]);let T=(0,n.useMemo)(()=>{var e;return null!=(e=I.find(e=>k(D,e.name)===M))?e:null},[D,I,M]),A=M===D?R:null,F=x.trim()||(M.trim()&&"~"!==M?v(M):""),O=S.trim()||(M.trim()&&"~"!==M?y(M):""),K=""!==M.trim()&&"~"!==M&&!L&&!!((null==T?void 0:T.isGitRepo)||(null==A?void 0:A.isGitRepo))&&F.length>0&&O.length>0;(0,n.useEffect)(()=>{if(!M||"~"===M){C(""),E("");return}C(v(M)),E(y(M))},[M]);let H=(0,n.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];p(null),j(null),b(null),d(!0);let t=M.trim();try{var s,l,n;let o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:F,name:O,path:t,useDefaultProjectId:e})}),i=await o.json().catch(()=>null);if(409===o.status&&(null==i?void 0:i.existingProjectId)&&(null==i?void 0:i.suggestedProjectId)&&(null==i?void 0:i.suggestion)){b({error:null!=(s=i.error)?s:"A project with that ID already exists.",existingProjectId:i.existingProjectId,suggestedProjectId:i.suggestedProjectId,suggestion:i.suggestion}),C(i.suggestedProjectId);return}if(!o.ok){let e=null!=(l=null==i?void 0:i.error)?l:"Failed to add project.";o.status<500?p(e):j(e);return}let c=null!=(n=null==i?void 0:i.projectId)?n:F.trim();r(),a.push("/projects/".concat(encodeURIComponent(c))),a.refresh()}catch(e){j("Network error while adding project.")}finally{d(!1)}},[r,F,O,a,M]);if((0,n.useEffect)(()=>{if(!t)return;let e=e=>{var t;if((null==(t=i.current)?void 0:t.contains(document.activeElement))||document.activeElement===document.body){if("Escape"===e.key){e.preventDefault(),r();return}(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&K&&(e.preventDefault(),H())}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[K,r,t,H]),!t)return null;let W=!!(T&&!T.isGitRepo)||!!(A&&"~"!==M&&!A.isGitRepo),U=m?(0,s.jsxs)("div",{className:"add-project-modal__notice add-project-modal__notice--warning",children:[(0,s.jsx)("p",{className:"add-project-modal__notice-title",children:m.error}),(0,s.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Existing project: ",(0,s.jsx)("code",{children:m.existingProjectId})]}),(0,s.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Suggested project ID: ",(0,s.jsx)("code",{children:m.suggestedProjectId})]}),(0,s.jsxs)("div",{className:"add-project-modal__notice-actions",children:[(0,s.jsx)("button",{type:"button",onClick:()=>{r(),a.push("/projects/".concat(encodeURIComponent(m.existingProjectId)))},className:"add-project-modal__ghostbtn",children:"Open existing"}),(0,s.jsx)("button",{type:"button",onClick:()=>void H(!0),className:"add-project-modal__ghostbtn",children:"Use suggested ID"}),(0,s.jsx)("span",{className:"add-project-modal__notice-hint",children:"Edit the Project ID field or accept the suggested suffix."})]})]}):u?(0,s.jsx)("div",{role:"alert",className:"add-project-modal__notice add-project-modal__notice--error",children:u}):W?(0,s.jsx)("div",{role:"alert",className:"add-project-modal__notice add-project-modal__notice--error",children:"Selected folder is not a git repository."}):h?(0,s.jsx)("div",{className:"add-project-modal__notice add-project-modal__notice--error",children:h}):null;return(0,s.jsx)("div",{className:"add-project-modal-backdrop",children:(0,s.jsxs)("div",{ref:i,role:"dialog","aria-modal":"true","aria-label":"Add project",className:"add-project-modal",tabIndex:-1,children:[(0,s.jsxs)("div",{className:"add-project-modal__titlebar",children:[(0,s.jsx)("h2",{className:"add-project-modal__windowtitle",children:"add project"}),(0,s.jsx)("button",{type:"button","aria-label":"Close",onClick:r,className:"add-project-modal__iconbtn",children:"\xd7"})]}),(0,s.jsx)(B,{browser:l}),(0,s.jsxs)("div",{className:"add-project-modal__pathbar add-project-modal__pathbar--selection",children:[(0,s.jsx)("span",{className:"add-project-modal__selection-label",children:"Selected"}),(0,s.jsx)("span",{className:"add-project-modal__selection-path",children:M||"No directory selected"})]}),(0,s.jsxs)("div",{className:"add-project-modal__pathbar add-project-modal__formrow",children:[(0,s.jsxs)("div",{className:"add-project-modal__field",children:[(0,s.jsx)("label",{className:"add-project-modal__selection-label",htmlFor:"project-id-input",children:"Project ID"}),(0,s.jsx)("input",{id:"project-id-input",value:x,onChange:e=>C(e.target.value),className:"add-project-modal__selection-path"})]}),(0,s.jsxs)("div",{className:"add-project-modal__field",children:[(0,s.jsx)("label",{className:"add-project-modal__selection-label",htmlFor:"project-name-input",children:"Project name"}),(0,s.jsx)("input",{id:"project-name-input",value:S,onChange:e=>E(e.target.value),className:"add-project-modal__selection-path"})]})]}),U,(0,s.jsxs)("div",{className:"add-project-modal__footer",children:[(0,s.jsxs)("div",{className:"add-project-modal__foldercount",children:[I.length," folders"]}),(0,s.jsxs)("div",{className:"add-project-modal__actions",children:[(0,s.jsx)("button",{type:"button",onClick:r,className:"add-project-modal__ghostbtn",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>void H(),disabled:!K||c,className:"add-project-modal__primarybtn",children:c?"Adding…":"Add project"})]})]})]})})}var A=r(2749);function F(e){var t;let{open:r,projectId:a,onClose:l}=e,o=(0,n.useRef)(null),[i,c]=(0,n.useState)(!1),[d,u]=(0,n.useState)(null),[p,h]=(0,n.useState)(null);(0,n.useEffect)(()=>{var e;r&&a&&(null==(e=o.current)||e.focus())},[r,a]),(0,n.useEffect)(()=>{if(!r)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),l())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r,l]),(0,n.useEffect)(()=>{if(!r||!a){h(null),u(null),c(!1);return}let e=!1;return c(!0),u(null),h(null),fetch("/api/projects/".concat(encodeURIComponent(a))).then(async t=>{let r=await t.json().catch(()=>null);if(!t.ok||!(null==r?void 0:r.project)||r.degraded){var s;throw Error(null!=(s=null==r?void 0:r.error)?s:"Failed to load project settings.")}e||h(r.project)}).catch(t=>{e||u(t instanceof Error?t.message:"Failed to load project settings.")}).finally(()=>{e||c(!1)}),()=>{e=!0}},[r,a]);let j=(0,n.useMemo)(()=>{var e,t,r,s,l,n,o,i,c;return p&&a?{agent:null!=(r=p.agent)?r:"",runtime:null!=(s=p.runtime)?s:"",trackerPlugin:null!=(l=null==(e=p.tracker)?void 0:e.plugin)?l:"",scmPlugin:null!=(n=null==(t=p.scm)?void 0:t.plugin)?n:"",reactions:JSON.stringify(null!=(o=p.reactions)?o:{},null,2),identity:{projectId:a,path:p.path,repo:null!=(i=p.repo)?i:"",defaultBranch:null!=(c=p.defaultBranch)?c:"main"}}:null},[p,a]);return r&&a?(0,s.jsx)("div",{className:"project-settings-modal-backdrop",onClick:l,children:(0,s.jsxs)("div",{ref:o,role:"dialog","aria-modal":"true","aria-label":"Project settings",className:"project-settings-modal",tabIndex:-1,onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"project-settings-modal__header",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"project-settings-modal__eyebrow",children:"Project settings"}),(0,s.jsx)("h2",{className:"project-settings-modal__title",children:null!=(t=null==p?void 0:p.name)?t:a})]}),(0,s.jsx)("button",{type:"button","aria-label":"Close",onClick:l,className:"project-settings-modal__close",children:"\xd7"})]}),(0,s.jsxs)("div",{className:"project-settings-modal__body",children:[i?(0,s.jsx)("div",{className:"project-settings-modal__state",children:"Loading project settings…"}):null,!i&&d?(0,s.jsx)("div",{role:"alert",className:"project-settings-modal__state project-settings-modal__state--error",children:d}):null,i||d||!j?null:(0,s.jsx)(A.ProjectSettingsForm,{projectId:a,initialValues:j})]})]})}):null}let O=(0,n.memo)(function(e){let{level:t}=e;return(0,s.jsx)("div",{className:(0,i.cn)("sidebar-session-dot shrink-0 rounded-full","working"===t&&"sidebar-session-dot--glow"),"data-level":t})}),K="ao:sidebar:show-session-id";function H(){try{return"true"===window.localStorage.getItem(K)}catch(e){return!1}}let W="ao:sidebar:show-killed",U="ao:sidebar:show-done",z="ao:sidebar:expanded-projects";function G(){try{return"true"===window.sessionStorage.getItem(W)}catch(e){return!1}}function J(){try{return"true"===window.sessionStorage.getItem(U)}catch(e){return!1}}function V(e){let{onToggleCollapsed:t}=e;return(0,s.jsxs)("div",{className:"project-sidebar__brand",children:[(0,s.jsx)(x,{}),(0,s.jsxs)("span",{className:"project-sidebar__brand-name",children:["Agent",(0,s.jsx)("b",{className:"project-sidebar__brand-sep",children:" / "}),"Orchestrator"]}),t?(0,s.jsx)("button",{type:"button",className:"project-sidebar__collapse-btn",onClick:t,title:"Collapse sidebar","aria-label":"Collapse sidebar",children:(0,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,s.jsx)("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),(0,s.jsx)("path",{d:"M9 4v16"})]})}):null]})}function $(e){return 0===e.projects.length?(0,s.jsx)(q,{collapsed:e.collapsed}):(0,s.jsx)(X,{...e})}let Z=(0,n.memo)(function(e){var t,r;let{session:a,level:l,isActive:n,showSessionId:o,pendingRename:c,onNavigate:d,onStartRename:p}=e,h=void 0!==c?c:a.displayNameUserSet&&null!=(t=a.displayName)?t:"",m=""!==h?h:null!=(r=a.branch)?r:(0,u.Pn)(a),b=(0,j.Nc)(a.projectId,a.id);return(0,s.jsxs)("div",{className:(0,i.cn)("project-sidebar__sess-row group",n&&"project-sidebar__sess-row--active"),children:[(0,s.jsxs)("a",{href:b,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||1===e.button||(e.preventDefault(),d(b,a))},className:"project-sidebar__sess-link flex flex-1 min-w-0 items-center gap-[7px]","aria-current":n?"page":void 0,"aria-label":"Open ".concat(m),children:[(0,s.jsx)(O,{level:l}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("span",{className:(0,i.cn)("project-sidebar__sess-label",n&&"project-sidebar__sess-label--active"),children:m}),o?(0,s.jsx)("div",{className:"project-sidebar__sess-meta",children:(0,s.jsx)("span",{className:"project-sidebar__sess-id",children:a.id})}):null]})]}),(0,s.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),p(a,m)},className:"project-sidebar__sess-rename-btn opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus:opacity-100",title:"Rename session","aria-label":"Rename ".concat(a.id),children:(0,s.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,s.jsx)("path",{d:"M12 20h9"}),(0,s.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})]})})]})});function q(e){let{collapsed:t=!1}=e,[r,a]=(0,n.useState)(!1);return t?(0,s.jsxs)("aside",{className:"project-sidebar project-sidebar--collapsed flex h-full flex-col items-center gap-1 py-2",children:[(0,s.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>a(!0),children:(0,s.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M12 5v14M5 12h14"})})}),(0,s.jsx)(T,{open:r,onClose:()=>a(!1)})]}):(0,s.jsxs)("aside",{className:"project-sidebar flex h-full flex-col",children:[(0,s.jsx)(V,{}),(0,s.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,s.jsx)("span",{children:"Projects"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>a(!0),children:(0,s.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,s.jsx)("div",{className:"project-sidebar__empty flex-1 text-[var(--color-text-tertiary)]",children:"No projects yet. Click + to add one."}),(0,s.jsx)("div",{className:"project-sidebar__footer",children:(0,s.jsx)("div",{className:"project-sidebar__foot-inner",children:(0,s.jsx)(m.U,{className:"project-sidebar__theme-toggle"})})}),(0,s.jsx)(T,{open:r,onClose:()=>a(!1)})]})}function X(e){let{projects:t,sessions:r,orchestrators:a,activeProjectId:b,activeSessionId:x,loading:_=!1,error:f=!1,onRetry:g,collapsed:v=!1,onToggleCollapsed:y,onMobileClose:w}=e,N=(0,o.useRouter)(),{onPointerDown:k,onDoubleClick:C}=(0,h.$)({cssVar:"--ao-sidebar-w",storageKey:"ao-sidebar-w",defaultWidth:240,min:200,max:420,edge:"right"}),[S,E]=(0,n.useState)(()=>{var e;return null!=(e=function(){try{let e=window.sessionStorage.getItem(z);if(!e)return null;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t);return null}catch(e){return null}}())?e:new Set(b&&"all"!==b?[b]:[])}),[P,M]=(0,n.useState)(G),[I,R]=(0,n.useState)(J),[L,D]=(0,n.useState)(H),[B,A]=(0,n.useState)(null),[$,q]=(0,n.useState)(""),[X,Q]=(0,n.useState)(new Map),[Y,ee]=(0,n.useState)(!1),[et,er]=(0,n.useState)(null),[es,ea]=(0,n.useState)(null),[el,en]=(0,n.useState)(null),[eo,ei]=(0,n.useState)(new Set),[ec,ed]=(0,n.useState)(!1),eu=(0,n.useRef)(null),ep=(0,n.useRef)(null),eh=(0,n.useRef)(null),ej=(0,n.useRef)(null);p(Y,ep),p(!!et,ej),(0,n.useEffect)(()=>{try{window.localStorage.setItem(K,String(L))}catch(e){}},[L]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(W,String(P))}catch(e){}},[P]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(U,String(I))}catch(e){}},[I]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(z,JSON.stringify([...S]))}catch(e){}},[S]),(0,n.useEffect)(()=>{if(!Y)return;let e=e=>{eu.current&&!eu.current.contains(e.target)&&ee(!1)},t=e=>{"Escape"===e.key&&ee(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[Y]),(0,n.useEffect)(()=>{if(!et)return;let e=e=>{eh.current&&!eh.current.contains(e.target)&&er(null)},t=e=>{"Escape"===e.key&&er(null)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[et]),(0,n.useEffect)(()=>{b&&"all"!==b&&E(e=>new Set([...e,b]))},[b]),(0,n.useEffect)(()=>{ei(e=>{if(0===e.size)return e;let r=new Set([...e].filter(e=>!t.some(t=>t.id===e)));return r.size===e.size?e:r})},[t]);let em=(0,n.useMemo)(()=>t.filter(e=>!eo.has(e.id)),[t,eo]),eb=(0,n.useMemo)(()=>new Map(em.map(e=>{var t;return[e.id,null!=(t=e.sessionPrefix)?t:e.id]})),[em]),ex=(0,n.useMemo)(()=>em.map(e=>{var t;return null!=(t=e.sessionPrefix)?t:e.id}),[em]),e_=(0,n.useMemo)(()=>new Map((null!=a?a:[]).map(e=>[e.projectId,e])),[a]),ef=(0,n.useRef)(r);ef.current=r;let eg=(0,n.useMemo)(()=>(null!=r?r:[]).map(e=>{var t,r,s,a,l,n,o;return"".concat(e.id,":").concat(e.status,":").concat(null!=(r=e.activity)?r:"",":").concat(e.projectId,":").concat(null!=(s=e.displayName)?s:"",":").concat(e.displayNameUserSet?"1":"0",":").concat(null!=(a=e.branch)?a:"",":").concat(null!=(l=e.issueTitle)?l:"",":").concat(null!=(n=null==(t=e.pr)?void 0:t.title)?n:"",":").concat(null!=(o=e.summary)?o:"")}).join("|"),[r]),ev=(0,n.useMemo)(()=>{var e,t;let r=new Map,s=new Set(em.map(e=>e.id));for(let a of null!=(e=ef.current)?e:[]){if(!s.has(a.projectId)||(0,d.tT)(a,eb.get(a.projectId),ex)||"done"===(0,c.ng)(a)&&("killed"===a.status?!P&&!I:!I))continue;let e=null!=(t=r.get(a.projectId))?t:[];e.push(a),r.set(a.projectId,e)}return r},[eg,eb,ex,em,P,I]);(0,n.useEffect)(()=>{if(0===X.size||!r)return;let e=new Map(X),t=!1;for(let a of r){var s;let r=e.get(a.id);void 0!==r&&(null!=(s=a.displayName)?s:"")===r&&(e.delete(a.id),t=!0)}t&&Q(e)},[r,X]);let ey=(0,n.useRef)(X);ey.current=X;let ew=(0,n.useCallback)((e,t)=>{var r;let s=ey.current.get(e.id),a=null!=s?s:e.displayNameUserSet&&null!=(r=e.displayName)?r:"";A(e.id),q(a||t)},[]),eN=async e=>{if(B!==e)return;let t=$.trim();A(null),q(""),Q(r=>{let s=new Map(r);return s.set(e,t),s});try{let s=await fetch("/api/sessions/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({displayName:""===t?null:t})});if(!s.ok){var r;let e=await s.json().catch(()=>null);throw Error(null!=(r=null==e?void 0:e.error)?r:"Failed to rename session")}}catch(t){Q(t=>{let r=new Map(t);return r.delete(e),r})}},ek=(0,n.useCallback)((e,t)=>{if(t)try{sessionStorage.setItem("ao-session-nav:".concat(t.id),JSON.stringify(t))}catch(e){}N.push(e),null==w||w()},[N,w]),eC=async e=>{if(window.confirm("Remove project ".concat(e.name," from AO? This clears its AO sessions/history and removes it from the portfolio, but keeps the repository folder on disk."))){en(e.id);try{let r=await fetch("/api/projects/".concat(encodeURIComponent(e.id)),{method:"DELETE"}),s=await r.json().catch(()=>null);if(!r.ok){var t;throw Error(null!=(t=s&&"object"==typeof s&&"error"in s&&"string"==typeof s.error?s.error:null)?t:"Failed to remove project.")}ei(t=>new Set(t).add(e.id)),E(t=>{let r=new Set(t);return r.delete(e.id),r}),er(null),b===e.id?N.push("/"):"refresh"in N&&"function"==typeof N.refresh&&N.refresh(),null==w||w()}catch(e){window.alert(e instanceof Error?e.message:"Failed to remove project.")}finally{en(null)}}};return v?(0,s.jsxs)("aside",{className:(0,i.cn)("project-sidebar project-sidebar--collapsed flex flex-col h-full items-center py-2 gap-1 overflow-y-auto"),children:[y?(0,s.jsx)("button",{type:"button",className:"project-sidebar__collapse-btn project-sidebar__expand-btn",onClick:y,"aria-label":"Expand sidebar",title:"Expand sidebar",children:(0,s.jsxs)("svg",{width:"17",height:"17",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,s.jsx)("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2.5"}),(0,s.jsx)("line",{x1:"9",y1:"4",x2:"9",y2:"20"}),(0,s.jsx)("path",{d:"m13 9 3 3-3 3"})]})}):null,em.map((e,t)=>{var r;let a=null!=(r=ev.get(e.id))?r:[],l=e.name.slice(0,2).toUpperCase();return(0,s.jsxs)("div",{className:"flex flex-col items-center gap-0.5 w-full px-1",children:[t>0&&(0,s.jsx)("div",{className:"project-sidebar__collapsed-divider","aria-hidden":"true"}),(0,s.jsx)("a",{href:(0,j.bn)(e.id),className:(0,i.cn)("project-sidebar__collapsed-icon",b===e.id&&"project-sidebar__collapsed-icon--active"),title:e.name,"aria-label":e.name,children:(0,s.jsx)("span",{className:"project-sidebar__collapsed-abbr",children:l})}),a.slice(0,5).map(t=>{var r;let a=(0,c.ng)(t),l=null!=(r=t.branch)?r:(0,u.Pn)(t),n=(t.branch&&(0,u.mC)(t.branch)||l).replace(/\s+/g,"").slice(0,3).toUpperCase(),o=x===t.id,d=(0,j.Nc)(e.id,t.id);return(0,s.jsxs)("a",{href:d,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||1===e.button||(e.preventDefault(),ek(d,t))},className:(0,i.cn)("project-sidebar__collapsed-session-btn",o&&"project-sidebar__collapsed-session-btn--active"),"data-level":a,title:l,"aria-label":l,children:[(0,s.jsx)("span",{className:"project-sidebar__session-abbr-first",children:n[0]}),(0,s.jsx)("span",{className:"project-sidebar__session-abbr-rest",children:n.slice(1)})]},t.id)}),a.length>5&&(0,s.jsxs)("span",{className:"project-sidebar__collapsed-overflow",children:["+",a.length-5]})]},e.id)})]}):(0,s.jsxs)("aside",{className:"project-sidebar relative flex h-full flex-col",children:[(0,s.jsx)(V,{onToggleCollapsed:y}),(0,s.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,s.jsx)("span",{children:"Projects"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New project",onClick:()=>ed(!0),children:(0,s.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),f&&r&&r.length>0?(0,s.jsxs)("div",{role:"status",className:"mx-3 mb-2 flex items-center justify-between gap-2 rounded-md border border-[var(--color-border-strong)] bg-[var(--color-bg-primary)] px-2 py-1.5 text-[11px] text-[var(--color-text-tertiary)]",children:[(0,s.jsx)("span",{children:"Failed to refresh \xb7 showing cached sessions"}),g?(0,s.jsx)("button",{type:"button",onClick:g,className:"font-medium text-[var(--color-link)] hover:underline",children:"Retry"}):null]}):null,(0,s.jsxs)("div",{className:"project-sidebar__tree flex-1 overflow-y-auto overflow-x-hidden",children:[null===r?(0,s.jsx)("div",{className:"space-y-1 px-3 py-3","aria-label":"Loading projects",children:Array.from({length:4},(e,t)=>(0,s.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,s.jsx)("div",{className:"h-2 w-2 shrink-0 animate-pulse rounded-full bg-[var(--color-border-strong)]"}),(0,s.jsx)("div",{className:"h-3 flex-1 animate-pulse rounded bg-[var(--color-bg-primary)]"})]},t))}):null,em.map(e=>{var t,a,n,o,d;let u=null!=(a=ev.get(e.id))?a:[],p=S.has(e.id),h=b===e.id,m=!!e.resolveError,_=(0,j.bn)(e.id),v=null!=(n=e_.get(e.id))?n:null,y=v&&null!=(o=null==r?void 0:r.find(e=>e.id===v.id))?o:null;return(0,s.jsxs)("div",{className:"project-sidebar__project",children:[(0,s.jsxs)("div",{className:"project-sidebar__proj-row flex items-center",children:[m?(0,s.jsxs)("a",{href:_,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||1===e.button||(e.preventDefault(),ek(_))},className:(0,i.cn)("project-sidebar__proj-toggle project-sidebar__proj-toggle--link project-sidebar__proj-toggle--degraded",h&&"project-sidebar__proj-toggle--active"),"aria-current":h?"page":void 0,children:[(0,s.jsxs)("svg",{className:"project-sidebar__proj-chevron project-sidebar__proj-chevron--degraded",width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,s.jsx)("path",{d:"M12 9v4"}),(0,s.jsx)("path",{d:"M12 17h.01"}),(0,s.jsx)("path",{d:"M10.3 3.86 1.82 18a2 2 0 0 0 1.72 3h16.92a2 2 0 0 0 1.72-3L13.7 3.86a2 2 0 0 0-3.4 0Z"})]}),(0,s.jsx)("span",{className:"project-sidebar__proj-name",children:e.name}),(0,s.jsx)("span",{className:"project-sidebar__proj-badge project-sidebar__proj-badge--degraded",children:"degraded"})]}):(0,s.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.id,void E(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},className:(0,i.cn)("project-sidebar__proj-toggle",h&&"project-sidebar__proj-toggle--active"),"aria-expanded":p,"aria-current":h?"page":void 0,children:[(0,s.jsx)("svg",{className:(0,i.cn)("project-sidebar__proj-chevron",p&&"project-sidebar__proj-chevron--open"),width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"2.5",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"m9 18 6-6-6-6"})}),(0,s.jsx)("span",{className:"project-sidebar__proj-name",children:e.name}),(0,s.jsx)("span",{className:"project-sidebar__proj-count",children:null!=(d=null==(t=ev.get(e.id))?void 0:t.length)?d:0})]}),(0,s.jsxs)("div",{className:"project-sidebar__proj-actions",children:[m?null:(0,s.jsx)(l(),{href:_,prefetch:!1,onClick:e=>{e.stopPropagation(),null==w||w()},className:"project-sidebar__proj-action","aria-label":"Open ".concat(e.name," dashboard"),title:"Dashboard",children:(0,s.jsx)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M3 13h8V3H3zm10 8h8V11h-8zM3 21h8v-6H3zm10-10h8V3h-8z"})})}),!m&&v&&(0,s.jsx)("a",{href:(0,j.Nc)(e.id,v.id),onClick:t=>{t.metaKey||t.ctrlKey||t.shiftKey||1===t.button||(t.preventDefault(),t.stopPropagation(),ek((0,j.Nc)(e.id,v.id),null!=y?y:void 0))},className:"project-sidebar__proj-action","aria-label":"Open ".concat(e.name," orchestrator"),title:"Orchestrator",children:(0,s.jsxs)("svg",{width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{cx:"12",cy:"5",r:"2",fill:"currentColor",stroke:"none"}),(0,s.jsx)("path",{d:"M12 7v4M12 11H6M12 11h6M6 11v3M12 11v3M18 11v3"}),(0,s.jsx)("circle",{cx:"6",cy:"17",r:"2"}),(0,s.jsx)("circle",{cx:"12",cy:"17",r:"2"}),(0,s.jsx)("circle",{cx:"18",cy:"17",r:"2"})]})}),(0,s.jsxs)("div",{className:"project-sidebar__proj-menu",ref:et===e.id?eh:void 0,children:[(0,s.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),er(t=>t===e.id?null:e.id)},className:"project-sidebar__proj-action project-sidebar__proj-action--menu","aria-label":"Project actions for ".concat(e.name),"aria-expanded":et===e.id,"aria-haspopup":"menu",title:"Project actions",children:(0,s.jsxs)("svg",{width:"12",height:"12",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,s.jsx)("circle",{cx:"12",cy:"5",r:"1.75"}),(0,s.jsx)("circle",{cx:"12",cy:"12",r:"1.75"}),(0,s.jsx)("circle",{cx:"12",cy:"19",r:"1.75"})]})}),et===e.id?(0,s.jsxs)("div",{ref:ej,className:"project-sidebar__proj-menu-popover",role:"menu","aria-label":"".concat(e.name," actions"),children:[v?(0,s.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{er(null),ek((0,j.Nc)(e.id,v.id),null!=y?y:void 0)},children:"Open orchestrator"}):null,(0,s.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{er(null),ea(e.id)},children:"Project settings"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item project-sidebar__proj-menu-item--danger",role:"menuitem",onClick:()=>void eC(e),disabled:el===e.id,children:el===e.id?"Removing...":"Remove project"})]}):null]})]})]}),m?(0,s.jsx)("div",{className:"project-sidebar__degraded-note",children:"Config needs repair"}):null,!m&&p&&(0,s.jsx)("div",{className:"project-sidebar__sessions",children:null===r?(0,s.jsx)("div",{className:"space-y-2 px-3 py-2","aria-label":"Loading sessions",children:Array.from({length:3},(t,r)=>(0,s.jsxs)("div",{className:"flex items-center gap-3 border border-[var(--color-border-subtle)] bg-[var(--color-bg-surface)] px-2 py-2",children:[(0,s.jsx)("div",{className:"h-2 w-2 shrink-0 animate-pulse bg-[var(--color-border-strong)]"}),(0,s.jsx)("div",{className:"h-3 flex-1 animate-pulse bg-[var(--color-bg-primary)]"}),(0,s.jsx)("div",{className:"h-3 w-12 animate-pulse bg-[var(--color-bg-primary)]"})]},"".concat(e.id,"-loading-").concat(r)))}):u.length>0?u.map(e=>{let t=(0,c.ng)(e),r=x===e.id;return B===e.id?(0,s.jsxs)("div",{className:(0,i.cn)("project-sidebar__sess-row",r&&"project-sidebar__sess-row--active"),"data-editing":"true",children:[(0,s.jsx)(O,{level:t}),(0,s.jsx)("input",{type:"text",autoFocus:!0,value:$,onChange:e=>q(e.target.value),onKeyDown:t=>{"Enter"===t.key?(t.preventDefault(),eN(e.id)):"Escape"===t.key&&(t.preventDefault(),A(null),q(""))},onFocus:e=>e.currentTarget.select(),onBlur:()=>void eN(e.id),maxLength:80,"aria-label":"Rename ".concat(e.id),className:"project-sidebar__sess-rename-input"})]},e.id):(0,s.jsx)(Z,{session:e,level:t,isActive:r,showSessionId:L,pendingRename:X.get(e.id),onNavigate:ek,onStartRename:ew},e.id)}):f?(0,s.jsxs)("div",{className:"px-3 py-2",children:[(0,s.jsx)("div",{className:"project-sidebar__empty",children:"Failed to load sessions"}),(0,s.jsx)("button",{type:"button",className:"mt-2 text-xs font-medium text-[var(--color-link)] hover:underline",onClick:g,children:"Retry"})]}):(0,s.jsx)("div",{className:"project-sidebar__empty",children:"No active sessions"})})]},e.id)})]}),(0,s.jsx)("div",{className:"project-sidebar__footer",children:(0,s.jsx)("div",{className:"project-sidebar__foot-inner",children:(0,s.jsxs)("div",{className:"project-sidebar__settings-wrap",ref:eu,children:[(0,s.jsxs)("button",{type:"button",onClick:()=>ee(e=>!e),className:(0,i.cn)("project-sidebar__foot-btn",Y&&"project-sidebar__foot-btn--active"),"aria-expanded":Y,"aria-haspopup":"dialog",title:"Settings","aria-label":"Settings",children:[(0,s.jsxs)("svg",{width:"15",height:"15",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,s.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),(0,s.jsx)("span",{className:"project-sidebar__foot-label",children:"Settings"})]}),Y?(0,s.jsxs)("div",{ref:ep,className:"project-sidebar__settings-popover",role:"dialog","aria-label":"Settings",children:[(0,s.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,s.jsx)("input",{type:"checkbox",checked:P,onChange:e=>M(e.target.checked)}),(0,s.jsx)("span",{children:"Show killed sessions"})]}),(0,s.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,s.jsx)("input",{type:"checkbox",checked:I,onChange:e=>R(e.target.checked)}),(0,s.jsx)("span",{children:"Show done sessions"})]}),(0,s.jsxs)("label",{className:"project-sidebar__settings-row",children:[(0,s.jsx)("input",{type:"checkbox",checked:L,onChange:e=>D(e.target.checked)}),(0,s.jsx)("span",{children:"Show session ID"})]}),(0,s.jsxs)("div",{className:"project-sidebar__settings-row project-sidebar__settings-row--toggle",children:[(0,s.jsx)("span",{children:"Theme"}),(0,s.jsx)(m.U,{className:"project-sidebar__theme-toggle"})]})]}):null]})})}),v?null:(0,s.jsx)("div",{className:"resize-handle resize-handle--right",onPointerDown:k,onDoubleClick:C}),(0,s.jsx)(T,{open:ec,onClose:()=>ed(!1)}),(0,s.jsx)(F,{open:null!==es,projectId:es,onClose:()=>ea(null)})]})}},6004:(e,t,r)=>{r.d(t,{U:()=>n});var s=r(3817),a=r(2286),l=r(6749);function n(e){let{className:t,label:r}=e,{resolvedTheme:n,setTheme:o}=(0,a.D)(),[i,c]=(0,l.useState)(!1);if((0,l.useEffect)(()=>c(!0),[]),!i)return(0,s.jsx)("div",{className:null!=t?t:"h-9 w-9"});let d="dark"===n;return(0,s.jsxs)("button",{onClick:()=>o(d?"light":"dark"),className:null!=t?t:"flex h-9 w-9 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-primary)] transition-colors hover:bg-[var(--color-bg-elevated-hover)]","aria-label":"Switch to ".concat(d?"light":"dark"," mode"),title:"Switch to ".concat(d?"light":"dark"," mode"),children:[d?(0,s.jsxs)("svg",{className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,s.jsx)("path",{d:"M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}):(0,s.jsx)("svg",{className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"})}),r?(0,s.jsx)("span",{children:r}):null]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5204],{4901:(e,t,r)=>{r.d(t,{cn:()=>n});function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter(Boolean).join(" ")}},5184:(e,t,r)=>{r.d(t,{Ug:()=>l,eT:()=>s,i2:()=>d});var n=r(3817),o=r(6749),c=r(1806);let i=o.createContext(void 0);function u(e){return"".concat(e.id,":").concat(e.receivedAt)}function l(){let e=o.useContext(i);if(!e)throw Error("useMux() must be used within <MuxProvider>");return e}function s(){return o.useContext(i)}function a(e,t){return t?"".concat(t,":").concat(e):e}function d(e){let{children:t}=e,r=(0,o.useRef)(null),l=(0,o.useRef)(new Map),s=(0,o.useRef)(new Map),[d,f]=(0,o.useState)("connecting"),[p,m]=(0,o.useState)([]),[y,v]=(0,o.useState)([]),[h,g]=(0,o.useState)(50),[S,x]=(0,o.useState)(null),[P,b]=(0,o.useState)(null),N=(0,o.useRef)(0),k=(0,o.useRef)(null),E=(0,o.useRef)({}),w=(0,o.useRef)(!1),M=(0,o.useCallback)(()=>{if(!r.current){f("connecting");try{let e=function(e){var t,r,n;let o=window.location,i="https:"===o.protocol?"wss:":"ws:",u=null!=(t=e.proxyWsPath)?t:c.env.NEXT_PUBLIC_TERMINAL_WS_PATH;if(u){let e=u.replace(/\/ws\/?$/,"");return"".concat(i,"//").concat(o.host).concat(e,"/mux")}if(""===o.port||"443"===o.port||"80"===o.port)return"".concat(i,"//").concat(o.hostname,"/ao-terminal-mux");let l=null!=(n=null!=(r=e.directTerminalPort)?r:c.env.NEXT_PUBLIC_DIRECT_TERMINAL_PORT)?n:"14801";return"".concat(i,"//").concat(o.hostname,":").concat(l,"/mux")}(E.current);console.log("[MuxProvider] Connecting to",e);let t=new WebSocket(e);r.current=t,t.addEventListener("open",()=>{if(w.current)return void t.close();for(let e of(console.log("[MuxProvider] Connected"),f("connected"),N.current=0,s.current.values())){let r={ch:"terminal",id:e.id,type:"open",...e.projectId&&{projectId:e.projectId},...e.tmuxName&&{tmuxName:e.tmuxName}};t.send(JSON.stringify(r))}t.send(JSON.stringify({ch:"subscribe",topics:["sessions","notifications"]}))}),t.addEventListener("message",e=>{try{let t=JSON.parse(e.data);if("terminal"===t.ch){let e=a(t.id,"projectId"in t?t.projectId:void 0);if("data"===t.type){let r=l.current.get(e);if(r)for(let e of r)e(t.data)}else if("opened"===t.type)s.current.has(e)||s.current.set(e,{id:t.id,..."projectId"in t&&t.projectId?{projectId:t.projectId}:{}});else if("exited"===t.type){s.current.delete(e);let r=l.current.get(e);if(r){let e="\r\n\x1b[31m[Terminal exited with code ".concat(t.code,"]\x1b[0m\r\n");for(let t of r)t(e)}}else"error"===t.type&&console.error("[MuxProvider] Terminal error for ".concat(t.id,":"),t.message)}else"sessions"===t.ch?"snapshot"===t.type?(m(t.sessions),x(null)):"error"===t.type&&x(t.error):"notifications"===t.ch&&("snapshot"===t.type?(g(t.limit),v(t.notifications.slice(-t.limit)),b(null)):"append"===t.type?(g(t.limit),v(e=>(function(e,t,r){let n=new Map;for(let t of e)n.set(u(t),t);for(let e of t)n.set(u(e),e);return[...n.values()].slice(-r)})(e,t.notifications,t.limit)),b(null)):"error"===t.type&&b(t.error))}catch(e){console.error("[MuxProvider] Error processing message:",e)}}),t.addEventListener("error",e=>{console.error("[MuxProvider] WebSocket error:",e)}),t.addEventListener("close",()=>{if(console.log("[MuxProvider] Disconnected"),r.current===t&&(r.current=null),w.current)return;let e=Math.min(1e3*Math.pow(2,N.current),3e4);N.current+=1,f("reconnecting"),k.current=setTimeout(()=>{console.log("[MuxProvider] Reconnecting (attempt ".concat(N.current,")...")),M()},e)})}catch(e){console.error("[MuxProvider] Failed to create WebSocket:",e),f("disconnected")}}},[]);(0,o.useEffect)(()=>{w.current=!1;let e=!1;return(async()=>{try{let e=await fetch("/api/runtime/terminal");if(e.ok){let t=await e.json();E.current={directTerminalPort:function(e){if("string"!=typeof e&&"number"!=typeof e)return;let t=Number.parseInt(String(e),10);if(Number.isInteger(t)&&!(t<=0)&&!(t>65535))return String(t)}(t.directTerminalPort),proxyWsPath:function(e){if("string"!=typeof e)return;let t=e.trim();if(t.startsWith("/"))return t}(t.proxyWsPath)}}}catch(e){}e||M()})(),()=>{var t;e=!0,w.current=!0,k.current&&clearTimeout(k.current),null==(t=r.current)||t.close()}},[M]);let C=(0,o.useCallback)((e,t,n)=>{var o;let c=a(e,n),i=l.current.get(c);if(i||(i=new Set,l.current.set(c,i)),i.add(t),!s.current.has(c)&&(null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let t={ch:"terminal",id:e,type:"open",...n&&{projectId:n}};r.current.send(JSON.stringify(t))}return()=>{let e=l.current.get(c);e&&(e.delete(t),0===e.size&&l.current.delete(c))}},[]),I=(0,o.useCallback)((e,t,n)=>{var o;if((null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let o={ch:"terminal",id:e,type:"data",data:t,...n&&{projectId:n}};r.current.send(JSON.stringify(o))}},[]),T=(0,o.useCallback)((e,t,n)=>{var o;if(s.current.set(a(e,t),{id:e,projectId:t,tmuxName:n}),(null==(o=r.current)?void 0:o.readyState)===WebSocket.OPEN){let o={ch:"terminal",id:e,type:"open",...t&&{projectId:t},...n&&{tmuxName:n}};r.current.send(JSON.stringify(o))}},[]),O=(0,o.useCallback)((e,t)=>{var n;if(s.current.delete(a(e,t)),(null==(n=r.current)?void 0:n.readyState)===WebSocket.OPEN){let n={ch:"terminal",id:e,type:"close",...t&&{projectId:t}};r.current.send(JSON.stringify(n))}},[]),W=(0,o.useCallback)((e,t,n,o)=>{var c;if((null==(c=r.current)?void 0:c.readyState)===WebSocket.OPEN){let c={ch:"terminal",id:e,type:"resize",cols:t,rows:n,...o&&{projectId:o}};r.current.send(JSON.stringify(c))}},[]),j=(0,o.useMemo)(()=>({subscribeTerminal:C,writeTerminal:I,openTerminal:T,closeTerminal:O,resizeTerminal:W,status:d,sessions:p,notifications:y,notificationLimit:h,lastError:S,notificationError:P}),[C,I,T,O,W,d,p,y,h,S,P]);return(0,n.jsx)(i.Provider,{value:j,children:t})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8204],{191:(e,t)=>{function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:i,blurDataURL:o,objectFit:a}=e,l=n?40*n:t,s=i?40*i:r,u=l&&s?"viewBox='0 0 "+l+" "+s+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+o+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},934:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return s}}),r(3799);let n=r(191),i=r(7771),o=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s(e,t){var r,s;let u,d,c,{src:f,sizes:m,unoptimized:p=!1,priority:h=!1,loading:g,className:y,quality:b,width:v,height:_,fill:w=!1,style:S,overrideSrc:C,onLoad:P,onLoadingComplete:j,placeholder:E="empty",blurDataURL:x,fetchPriority:O,decoding:M="async",layout:R,objectFit:z,objectPosition:k,lazyBoundary:I,lazyRoot:A,...T}=e,{imgConf:D,showAltText:L,blurComplete:N,defaultLoader:F}=t,U=D||i.imageConfigDefault;if("allSizes"in U)u=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>e-t),t=U.deviceSizes.sort((e,t)=>e-t),n=null==(r=U.qualities)?void 0:r.sort((e,t)=>e-t);u={...U,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=T.loader||F;delete T.loader,delete T.srcSet;let G="__next_img_default"in B;if(G){if("custom"===u.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=B;B=t=>{let{config:r,...n}=t;return e(n)}}if(R){"fill"===R&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[R];e&&(S={...S,...e});let t={responsive:"100vw",fill:"100vw"}[R];t&&!m&&(m=t)}let W="",q=l(v),V=l(_);if((s=f)&&"object"==typeof s&&(a(s)||void 0!==s.src)){let e=a(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(d=e.blurWidth,c=e.blurHeight,x=x||e.blurDataURL,W=e.src,!w)if(q||V){if(q&&!V){let t=q/e.width;V=Math.round(e.height*t)}else if(!q&&V){let t=V/e.height;q=Math.round(e.width*t)}}else q=e.width,V=e.height}let H=!h&&("lazy"===g||void 0===g);(!(f="string"==typeof f?f:W)||f.startsWith("data:")||f.startsWith("blob:"))&&(p=!0,H=!1),u.unoptimized&&(p=!0),G&&!u.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(p=!0);let X=l(b),J=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:z,objectPosition:k}:{},L?{}:{color:"transparent"},S),K=N||"empty"===E?null:"blur"===E?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:q,heightInt:V,blurWidth:d,blurHeight:c,blurDataURL:x||"",objectFit:J.objectFit})+'")':'url("'+E+'")',$=o.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Y=K?{backgroundSize:$,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},Q=function(e){let{config:t,src:r,unoptimized:n,width:i,quality:o,sizes:a,loader:l}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:s,kind:u}=function(e,t,r){let{deviceSizes:n,allSizes:i}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,a),d=s.length-1;return{sizes:a||"w"!==u?a:"100vw",srcSet:s.map((e,n)=>l({config:t,src:r,quality:o,width:e})+" "+("w"===u?e:n+1)+u).join(", "),src:l({config:t,src:r,quality:o,width:s[d]})}}({config:u,src:f,unoptimized:p,width:q,quality:X,sizes:m,loader:B});return{props:{...T,loading:H?"lazy":g,fetchPriority:O,width:q,height:V,decoding:M,className:y,style:{...J,...Y},sizes:Q.sizes,srcSet:Q.srcSet,src:C||Q.src},meta:{unoptimized:p,priority:h,placeholder:E,fill:w}}}},1102:(e,t)=>{function r(e){var t;let{config:r,src:n,width:i,quality:o}=e,a=o||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+i+"&q="+a+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},2286:(e,t,r)=>{r.d(t,{D:()=>d,N:()=>c});var n=r(6749),i=(e,t,r,n,i,o,a,l)=>{let s=document.documentElement,u=["light","dark"];function d(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&o?i.map(e=>o[e]||e):i;r?(s.classList.remove(...n),s.classList.add(o&&o[t]?o[t]:t)):s.setAttribute(e,t)}),r=t,l&&u.includes(r)&&(s.style.colorScheme=r)}if(n)d(n);else try{let e=localStorage.getItem(t)||r,n=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;d(n)}catch(e){}},o=["light","dark"],a="(prefers-color-scheme: dark)",l="undefined"==typeof window,s=n.createContext(void 0),u={setTheme:e=>{},themes:[]},d=()=>{var e;return null!=(e=n.useContext(s))?e:u},c=e=>n.useContext(s)?n.createElement(n.Fragment,null,e.children):n.createElement(m,{...e}),f=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:i=!0,enableColorScheme:l=!0,storageKey:u="theme",themes:d=f,defaultTheme:c=i?"system":"light",attribute:m="data-theme",value:b,children:v,nonce:_,scriptProps:w}=e,[S,C]=n.useState(()=>h(u,c)),[P,j]=n.useState(()=>"system"===S?y():S),E=b?Object.values(b):d,x=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&i&&(t=y());let n=b?b[t]:t,a=r?g(_):null,s=document.documentElement,u=e=>{"class"===e?(s.classList.remove(...E),n&&s.classList.add(n)):e.startsWith("data-")&&(n?s.setAttribute(e,n):s.removeAttribute(e))};if(Array.isArray(m)?m.forEach(u):u(m),l){let e=o.includes(c)?c:null,r=o.includes(t)?t:e;s.style.colorScheme=r}null==a||a()},[_]),O=n.useCallback(e=>{let t="function"==typeof e?e(S):e;C(t);try{localStorage.setItem(u,t)}catch(e){}},[S]),M=n.useCallback(e=>{j(y(e)),"system"===S&&i&&!t&&x("system")},[S,t]);n.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(M),M(e),()=>e.removeListener(M)},[M]),n.useEffect(()=>{let e=e=>{e.key===u&&(e.newValue?C(e.newValue):O(c))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[O]),n.useEffect(()=>{x(null!=t?t:S)},[t,S]);let R=n.useMemo(()=>({theme:S,setTheme:O,forcedTheme:t,resolvedTheme:"system"===S?P:S,themes:i?[...d,"system"]:d,systemTheme:i?P:void 0}),[S,O,t,P,i,d]);return n.createElement(s.Provider,{value:R},n.createElement(p,{forcedTheme:t,storageKey:u,attribute:m,enableSystem:i,enableColorScheme:l,defaultTheme:c,value:b,themes:d,nonce:_,scriptProps:w}),v)},p=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:o,enableSystem:a,enableColorScheme:l,defaultTheme:s,value:u,themes:d,nonce:c,scriptProps:f}=e,m=JSON.stringify([o,r,s,t,d,u,a,l]).slice(1,-1);return n.createElement("script",{...f,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?c:"",dangerouslySetInnerHTML:{__html:"(".concat(i.toString(),")(").concat(m,")")}})}),h=(e,t)=>{let r;if(!l){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},g=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},y=e=>(e||(e=window.matchMedia(a)),e.matches?"dark":"light")},3984:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(6749),i=n.useLayoutEffect,o=n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let i=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(i,e))}}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},4076:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(1903)._(r(6749)).default.createContext(null)},4935:(e,t)=>{function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},5262:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return s},getImageProps:function(){return l}});let n=r(1903),i=r(934),o=r(8630),a=n._(r(1102));function l(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let s=o.Image},6105:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=r(1903)._(r(6749)),i=r(7771),o=n.default.createContext(i.imageConfigDefault)},7087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(1903)._(r(6749)).default.createContext({})},7209:(e,t,r)=>{r.d(t,{default:()=>i.a});var n=r(5262),i=r.n(n)},7594:(e,t,r)=>{var n=r(9582);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},7771:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},8015:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return h},defaultHead:function(){return c}});let n=r(1903),i=r(7628),o=r(3817),a=i._(r(6749)),l=n._(r(3984)),s=r(7087),u=r(1799),d=r(4935);function c(e){void 0===e&&(e=!1);let t=[(0,o.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(3799);let m=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return i=>{let o=!0,a=!1;if(i.key&&"number"!=typeof i.key&&i.key.indexOf("$")>0){a=!0;let t=i.key.slice(i.key.indexOf("$")+1);e.has(t)?o=!1:e.add(t)}switch(i.type){case"title":case"base":t.has(i.type)?o=!1:t.add(i.type);break;case"meta":for(let e=0,t=m.length;e<t;e++){let t=m[e];if(i.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?o=!1:r.add(t);else{let e=i.props[t],r=n[t]||new Set;("name"!==t||!a)&&r.has(e)?o=!1:(r.add(e),n[t]=r)}}}return o}}()).reverse().map((e,t)=>{let r=e.key||t;return a.default.cloneElement(e,{key:r})})}let h=function(e){let{children:t}=e,r=(0,a.useContext)(s.AmpStateContext),n=(0,a.useContext)(u.HeadManagerContext);return(0,o.jsx)(l.default,{reduceComponentsToState:p,headManager:n,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8630:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return _}});let n=r(1903),i=r(7628),o=r(3817),a=i._(r(6749)),l=n._(r(4768)),s=n._(r(8015)),u=r(934),d=r(7771),c=r(6105);r(3799);let f=r(4076),m=n._(r(1102)),p=r(5701),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,n,i,o,a){let l=null==e?void 0:e.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function y(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}let b=(0,a.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:i,height:l,width:s,decoding:u,className:d,style:c,fetchPriority:f,placeholder:m,loading:h,unoptimized:b,fill:v,onLoadRef:_,onLoadingCompleteRef:w,setBlurComplete:S,setShowAltText:C,sizesInput:P,onLoad:j,onError:E,...x}=e,O=(0,a.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&g(e,m,_,w,S,b,P))},[r,m,_,w,S,E,b,P]),M=(0,p.useMergedRef)(t,O);return(0,o.jsx)("img",{...x,...y(f),loading:h,width:s,height:l,decoding:u,"data-nimg":v?"fill":"1",className:d,style:c,sizes:i,srcSet:n,src:r,ref:M,onLoad:e=>{g(e.currentTarget,m,_,w,S,b,P)},onError:e=>{C(!0),"empty"!==m&&S(!0),E&&E(e)}})});function v(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...y(r.fetchPriority)};return t&&l.default.preload?(l.default.preload(r.src,n),null):(0,o.jsx)(s.default,{children:(0,o.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let _=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(f.RouterContext),n=(0,a.useContext)(c.ImageConfigContext),i=(0,a.useMemo)(()=>{var e;let t=h||n||d.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),i=t.deviceSizes.sort((e,t)=>e-t),o=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:i,qualities:o}},[n]),{onLoad:l,onLoadingComplete:s}=e,p=(0,a.useRef)(l);(0,a.useEffect)(()=>{p.current=l},[l]);let g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let[y,_]=(0,a.useState)(!1),[w,S]=(0,a.useState)(!1),{props:C,meta:P}=(0,u.getImgProps)(e,{defaultLoader:m.default,imgConf:i,blurComplete:y,showAltText:w});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b,{...C,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:_,setShowAltText:S,sizesInput:e.sizes,ref:t}),P.priority?(0,o.jsx)(v,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]);
|