@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 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-cc5626a562806e84.js","static/chunks/88a6fc35-f836b4b72df5eafa.js","static/chunks/1461-af7c54935f21d56d.js","static/chunks/main-app-bd2a1b10332da5d9.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-cc5626a562806e84.js","static/chunks/framework-7060e2ac4971c604.js","static/chunks/main-ed1610689fbd6f0d.js","static/chunks/pages/_app-f4baf4dbe88f6f54.js"],"/_error":["static/chunks/webpack-cc5626a562806e84.js","static/chunks/framework-7060e2ac4971c604.js","static/chunks/main-ed1610689fbd6f0d.js","static/chunks/pages/_error-a7f6723f42093f29.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__REACT_LOADABLE_MANIFEST='{"app/dev/terminal-test/page.tsx -> @/components/DirectTerminal":{"id":3764,"files":["static/css/d06ee45019116677.css","static/chunks/3764.
|
|
1
|
+
self.__REACT_LOADABLE_MANIFEST='{"app/dev/terminal-test/page.tsx -> @/components/DirectTerminal":{"id":3764,"files":["static/css/d06ee45019116677.css","static/chunks/3764.9c44a4ac0ede4088.js","static/chunks/5204.0d460c9e7de8b015.js"]},"app/dev/terminal-test/page.tsx -> @/components/Terminal":{"id":7317,"files":["static/chunks/7317.685aa5231218e8d3.js"]},"app/test-direct/page.tsx -> @/components/DirectTerminal":{"id":3764,"files":["static/css/d06ee45019116677.css","static/chunks/3764.9c44a4ac0ede4088.js","static/chunks/5204.0d460c9e7de8b015.js"]},"components/SessionDetail.tsx -> ./DirectTerminal":{"id":3764,"files":["static/css/d06ee45019116677.css","static/chunks/3764.9c44a4ac0ede4088.js"]},"components/terminal/useXtermTerminal.ts -> @xterm/addon-fit":{"id":503,"files":["static/chunks/503.f7ff284457dd9c40.js"]},"components/terminal/useXtermTerminal.ts -> @xterm/addon-unicode11":{"id":4751,"files":["static/chunks/4751.6c71bfc0c4520627.js"]},"components/terminal/useXtermTerminal.ts -> @xterm/addon-web-links":{"id":6835,"files":["static/chunks/6835.7a29fa4b665b7c2f.js"]},"components/terminal/useXtermTerminal.ts -> @xterm/addon-webgl":{"id":1695,"files":["static/chunks/e12b4bb0.8742134e1ac0263f.js"]},"components/terminal/useXtermTerminal.ts -> @xterm/xterm":{"id":7026,"files":["static/chunks/0f200859.359176a445d2791f.js"]}}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/
|
|
1
|
+
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/Athene/Athene/packages/web/src/app/layout":["static/media/91601dd83defba07-s.p.woff2","static/media/aa8291c31d4e9e54-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"pages":{},"app":{"/home/
|
|
1
|
+
{"pages":{},"app":{"/home/runner/work/Athene/Athene/packages/web/src/app/layout":["static/media/91601dd83defba07-s.p.woff2","static/media/aa8291c31d4e9e54-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--pROr0laPuZIdA4NYNygMD--><html lang="en" class="dark __variable_13a5cb __variable_c78a36"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/_next/static/media/91601dd83defba07-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa8291c31d4e9e54-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/7ca4e3753c1c7833.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0c9b7451c2ce7c02.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b4a15f23f468892a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f9566aaa604a1b07.js"/><script src="/_next/static/chunks/88a6fc35-f836b4b72df5eafa.js" async=""></script><script src="/_next/static/chunks/1461-af7c54935f21d56d.js" async=""></script><script src="/_next/static/chunks/main-app-162601c3f1c01b19.js" async=""></script><script src="/_next/static/chunks/app/layout-5cac6fe817194d7a.js" async=""></script><script src="/_next/static/chunks/8713-d3d663f55dc00e48.js" async=""></script><script src="/_next/static/chunks/app/error-d632d0714b987864.js" async=""></script><script src="/_next/static/chunks/app/not-found-cba3f587e1f98dcb.js" async=""></script><script src="/_next/static/chunks/app/global-error-f6bef179169bcdae.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#f5f3f0"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0b0d"/><title>ao | ao</title><meta name="description" content="Dashboard for managing parallel AI coding agents"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="ao | ao"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon?fde4afff4688df3a" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?95aeb60ec7acf330" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,false,true)</script><!--$--><div class="flex w-full items-center justify-center px-6 py-10 min-h-screen" style="background:radial-gradient(circle at top, var(--color-body-gradient-blue), transparent 35%), var(--color-bg-base)"><div class="w-full max-w-[36rem] rounded-[28px] border p-6 sm:p-8" style="background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg-elevated) 88%, transparent) 0%, var(--color-bg-surface) 100%);border-color:var(--color-border-default);box-shadow:var(--detail-card-shadow)"><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 sm:flex-row sm:items-start"><div class="flex h-14 w-14 items-center justify-center rounded-2xl border" style="background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%);border-color:color-mix(in srgb, var(--color-accent) 18%, var(--color-border-default));box-shadow:var(--detail-card-shadow)"><svg class="h-7 w-7" fill="none" stroke="currentColor" stroke-width="1.6" style="color:var(--color-accent)" viewBox="0 0 24 24"><rect x="2.5" y="4.5" width="19" height="15" rx="3"></rect><path d="M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"></path></svg></div><div class="min-w-0 flex-1"><div class="mb-3 inline-flex items-center rounded-full border px-2.5 py-1 font-[var(--font-mono)] text-[10px] font-medium uppercase tracking-[0.22em]" style="color:var(--color-accent);background:var(--color-tint-blue);border-color:color-mix(in srgb, var(--color-accent) 24%, transparent)">missing</div><h1 class="text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]">Page not found</h1><p class="mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]">This route does not exist in the dashboard. Return to the main view to pick an active project or session.</p></div></div><div class="flex flex-wrap gap-3"><a class="inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-semibold transition-colors hover:no-underline" style="background:var(--color-accent);color:var(--color-text-inverse);border-color:color-mix(in srgb, var(--color-accent) 72%, transparent)" href="/">Back to dashboard</a></div></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/webpack-f9566aaa604a1b07.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1012,[\"7177\",\"static/chunks/app/layout-5cac6fe817194d7a.js\"],\"Providers\"]\n3:I[1992,[],\"\"]\n4:I[3464,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"8039\",\"static/chunks/app/error-d632d0714b987864.js\"],\"default\"]\n5:I[7678,[],\"\"]\n6:I[9789,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"4345\",\"static/chunks/app/not-found-cba3f587e1f98dcb.js\"],\"ErrorDisplay\"]\n7:I[7285,[\"7177\",\"static/chunks/app/layout-5cac6fe817194d7a.js\"],\"ServiceWorkerRegistrar\"]\n8:I[2901,[],\"OutletBoundary\"]\na:I[9904,[],\"AsyncMetadataOutlet\"]\nc:I[2901,[],\"ViewportBoundary\"]\ne:I[2901,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[7494,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"4219\",\"static/chunks/app/global-error-f6bef179169bcdae.js\"],\"default\"]\n:HL[\"/_next/static/media/91601dd83defba07-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa8291c31d4e9e54-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/7ca4e3753c1c7833.css\",\"style\"]\n:HL[\"/_next/static/css/0c9b7451c2ce7c02.css\",\"style\"]\n:HL[\"/_next/static/css/b4a15f23f468892a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"pROr0laPuZIdA4NYNygMD\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7ca4e3753c1c7833.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0c9b7451c2ce7c02.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b4a15f23f468892a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_13a5cb __variable_c78a36\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L6\",null,{\"title\":\"Page not found\",\"message\":\"This route does not exist in the dashboard. Return to the main view to pick an active project or session.\",\"tone\":\"not-found\",\"primaryAction\":{\"label\":\"Back to dashboard\",\"href\":\"/\"}}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L7\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"title\":\"Page not found\",\"message\":\"This route does not exist in the dashboard. Return to the main view to pick an active project or session.\",\"tone\":\"not-found\",\"primaryAction\":{\"label\":\"Back to dashboard\",\"href\":\"/\"}}],null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false]},[[\"$\",\"div\",\"l\",{\"className\":\"flex min-h-screen items-center justify-center bg-[var(--color-bg-base)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5 animate-spin text-[var(--color-text-tertiary)]\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 3a9 9 0 1 0 9 9\"}]}],[\"$\",\"p\",null,{\"className\":\"text-[13px] text-[var(--color-text-tertiary)]\",\"children\":\"Loading…\"}]]}]}],[],[]],false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#f5f3f0\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0b0d\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"12:I[7184,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"ao | ao\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for managing parallel AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"ao | ao\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon?fde4afff4688df3a\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?95aeb60ec7acf330\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L12\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--TSIgyOuEpSp86lKtHn_Y4--><html lang="en" class="dark __variable_13a5cb __variable_c78a36"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/_next/static/media/91601dd83defba07-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa8291c31d4e9e54-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/7ca4e3753c1c7833.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3effacfd2e5df88c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0863eb7d19a9924a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-cc5626a562806e84.js"/><script src="/_next/static/chunks/88a6fc35-f836b4b72df5eafa.js" async=""></script><script src="/_next/static/chunks/1461-af7c54935f21d56d.js" async=""></script><script src="/_next/static/chunks/main-app-bd2a1b10332da5d9.js" async=""></script><script src="/_next/static/chunks/app/layout-3937228484f6c652.js" async=""></script><script src="/_next/static/chunks/8713-d3d663f55dc00e48.js" async=""></script><script src="/_next/static/chunks/app/error-362a1ff5db756e6f.js" async=""></script><script src="/_next/static/chunks/app/not-found-3d7a362f3eaf10aa.js" async=""></script><script src="/_next/static/chunks/app/global-error-ca208f2a552a271f.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#f5f3f0"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0b0d"/><title>athene | athene</title><meta name="description" content="Dashboard for managing parallel AI coding agents"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="athene | athene"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/icon?fde4afff4688df3a" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?95aeb60ec7acf330" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark","ocean"],null,false,true)</script><!--$--><div class="flex w-full items-center justify-center px-6 py-10 min-h-screen" style="background:radial-gradient(circle at top, var(--color-body-gradient-blue), transparent 35%), var(--color-bg-base)"><div class="w-full max-w-[36rem] rounded-[28px] border p-6 sm:p-8" style="background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg-elevated) 88%, transparent) 0%, var(--color-bg-surface) 100%);border-color:var(--color-border-default);box-shadow:var(--detail-card-shadow)"><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 sm:flex-row sm:items-start"><div class="flex h-14 w-14 items-center justify-center rounded-2xl border" style="background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 16%, var(--color-bg-elevated)) 0%, var(--color-bg-surface) 100%);border-color:color-mix(in srgb, var(--color-accent) 18%, var(--color-border-default));box-shadow:var(--detail-card-shadow)"><svg class="h-7 w-7" fill="none" stroke="currentColor" stroke-width="1.6" style="color:var(--color-accent)" viewBox="0 0 24 24"><rect x="2.5" y="4.5" width="19" height="15" rx="3"></rect><path d="M6.5 9.5l3.25 2.5-3.25 2.5M12.75 15h4.75"></path></svg></div><div class="min-w-0 flex-1"><div class="mb-3 inline-flex items-center rounded-full border px-2.5 py-1 font-[var(--font-mono)] text-[10px] font-medium uppercase tracking-[0.22em]" style="color:var(--color-accent);background:var(--color-tint-blue);border-color:color-mix(in srgb, var(--color-accent) 24%, transparent)">missing</div><h1 class="text-[24px] font-semibold tracking-[-0.04em] text-[var(--color-text-primary)]">Page not found</h1><p class="mt-2 max-w-[34rem] text-[14px] leading-6 text-[var(--color-text-secondary)]">This route does not exist in the dashboard. Return to the main view to pick an active project or session.</p></div></div><div class="flex flex-wrap gap-3"><a class="inline-flex items-center justify-center rounded-full border px-4 py-2 text-[12px] font-semibold transition-colors hover:no-underline" style="background:var(--color-accent);color:var(--color-text-inverse);border-color:color-mix(in srgb, var(--color-accent) 72%, transparent)" href="/">Back to dashboard</a></div></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/webpack-cc5626a562806e84.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1012,[\"7177\",\"static/chunks/app/layout-3937228484f6c652.js\"],\"Providers\"]\n3:I[1992,[],\"\"]\n4:I[3464,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"8039\",\"static/chunks/app/error-362a1ff5db756e6f.js\"],\"default\"]\n5:I[7678,[],\"\"]\n6:I[9789,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"4345\",\"static/chunks/app/not-found-3d7a362f3eaf10aa.js\"],\"ErrorDisplay\"]\n7:I[7285,[\"7177\",\"static/chunks/app/layout-3937228484f6c652.js\"],\"ServiceWorkerRegistrar\"]\n8:I[2901,[],\"OutletBoundary\"]\na:I[9904,[],\"AsyncMetadataOutlet\"]\nc:I[2901,[],\"ViewportBoundary\"]\ne:I[2901,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[7494,[\"8713\",\"static/chunks/8713-d3d663f55dc00e48.js\",\"4219\",\"static/chunks/app/global-error-ca208f2a552a271f.js\"],\"default\"]\n:HL[\"/_next/static/media/91601dd83defba07-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa8291c31d4e9e54-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/7ca4e3753c1c7833.css\",\"style\"]\n:HL[\"/_next/static/css/3effacfd2e5df88c.css\",\"style\"]\n:HL[\"/_next/static/css/0863eb7d19a9924a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"TSIgyOuEpSp86lKtHn-Y4\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7ca4e3753c1c7833.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3effacfd2e5df88c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0863eb7d19a9924a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_13a5cb __variable_c78a36\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-screen overflow-hidden bg-[var(--color-bg-base)] text-[var(--color-text-primary)] antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L6\",null,{\"title\":\"Page not found\",\"message\":\"This route does not exist in the dashboard. Return to the main view to pick an active project or session.\",\"tone\":\"not-found\",\"primaryAction\":{\"label\":\"Back to dashboard\",\"href\":\"/\"}}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L7\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"title\":\"Page not found\",\"message\":\"This route does not exist in the dashboard. Return to the main view to pick an active project or session.\",\"tone\":\"not-found\",\"primaryAction\":{\"label\":\"Back to dashboard\",\"href\":\"/\"}}],null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false]},[[\"$\",\"div\",\"l\",{\"className\":\"flex min-h-screen items-center justify-center bg-[var(--color-bg-base)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5 animate-spin text-[var(--color-text-tertiary)]\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 3a9 9 0 1 0 9 9\"}]}],[\"$\",\"p\",null,{\"className\":\"text-[13px] text-[var(--color-text-tertiary)]\",\"children\":\"Loading…\"}]]}]}],[],[]],false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#f5f3f0\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0b0d\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"12:I[7184,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"athene | athene\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Dashboard for managing parallel AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"athene | athene\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon?fde4afff4688df3a\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?95aeb60ec7acf330\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L12\",\"8\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-cc5626a562806e84.js" defer=""></script><script src="/_next/static/chunks/framework-7060e2ac4971c604.js" defer=""></script><script src="/_next/static/chunks/main-ed1610689fbd6f0d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-f4baf4dbe88f6f54.js" defer=""></script><script src="/_next/static/chunks/pages/_error-a7f6723f42093f29.js" defer=""></script><script src="/_next/static/TSIgyOuEpSp86lKtHn-Y4/_buildManifest.js" defer=""></script><script src="/_next/static/TSIgyOuEpSp86lKtHn-Y4/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"TSIgyOuEpSp86lKtHn-Y4","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"566YSAuNfGwwVCogDgUisLdBRQSFRAbGQ9NoxO3VFLU="}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:33,errorRate:1e-4,numBits:633,numHashes:14,bitArray:[1,0,1,e,e,0,r,e,r,e,e,r,r,r,r,r,e,e,e,e,e,e,e,e,e,e,r,e,r,e,r,r,r,e,r,e,r,e,r,r,e,r,e,e,r,e,r,e,r,r,e,r,r,e,r,e,r,e,r,e,r,r,e,e,e,e,e,e,e,e,r,r,r,e,r,e,e,e,r,r,r,e,e,r,e,e,r,r,r,r,e,e,e,r,r,r,r,e,r,e,r,e,r,r,r,r,e,r,r,e,e,r,r,e,r,r,r,r,e,e,r,e,r,r,e,r,r,e,r,e,e,r,r,r,e,e,r,r,r,e,r,e,e,e,r,r,e,r,r,r,r,r,e,e,r,r,r,r,r,e,e,r,e,e,e,r,e,e,e,e,e,e,e,r,r,r,e,e,r,r,e,e,e,r,e,e,e,r,e,r,e,e,r,r,r,r,r,e,r,e,r,e,e,r,e,e,e,r,e,r,e,r,e,e,r,e,e,e,r,e,r,r,e,r,r,r,r,r,e,e,r,r,r,r,e,e,e,e,e,r,e,r,r,r,e,e,r,e,e,r,e,r,e,r,r,r,e,r,e,r,e,r,r,r,r,r,r,r,e,e,r,r,r,r,e,e,r,e,e,e,e,e,e,r,r,e,r,r,e,r,e,e,r,e,e,r,e,r,e,e,r,r,r,r,r,r,r,e,e,r,e,e,r,r,r,e,r,r,e,r,e,e,r,r,e,e,r,e,r,e,e,r,e,e,e,r,e,e,e,e,e,r,r,e,e,e,r,e,e,e,e,e,e,e,e,r,r,r,r,r,e,e,e,r,r,e,e,e,e,e,e,e,e,e,r,e,e,e,r,e,r,e,r,r,e,r,e,e,e,r,e,e,r,e,r,r,r,r,r,r,r,e,r,r,e,e,e,e,e,e,r,r,e,e,e,e,r,r,r,e,e,e,r,r,r,e,e,r,e,r,e,e,e,e,e,r,e,e,r,r,e,r,r,e,r,r,r,r,e,r,r,r,e,r,r,e,e,e,r,e,e,r,e,r,r,e,r,r,e,e,e,e,e,e,r,e,e,e,e,r,e,r,e,e,r,r,r,r,r,r,r,e,e,e,e,e,e,r,e,r,r,r,r,e,r,e,r,r,r,r,r,e,r,e,r,r,e,e,e,e,r,e,e,e,r,e,r,e,e,r,r,e,r,e,r,r,e,e,e,r,e,r,e,e,e,e,r,e,e,e,e,e,e,e,r,r,e,r,r,e,e,e,r,r,r,r,e,e,e,e,r,r,e,e,r,r,r,r,e,e,e,e,r,e,e,r,r,r,e,e,e,e,e,e,r,e,e,e,r,e,e,r,r,e,e,r,e,r,e,r,r,r,r,e,r,e,e,r,r,r,e,r,r,r,e,e,r,e,e,r,r,e,e]},__routerFilterDynamic:{numItems:8,errorRate:1e-4,numBits:154,numHashes:14,bitArray:[r,r,e,r,e,e,e,e,r,r,e,r,e,r,r,e,r,e,r,e,e,e,e,r,r,e,r,e,e,r,e,e,e,r,r,r,e,r,e,r,e,r,e,e,r,e,e,r,e,e,e,e,e,r,r,e,e,e,e,e,r,r,r,r,r,e,r,e,r,r,r,r,r,r,r,r,e,r,r,r,r,e,e,e,r,e,r,r,e,e,e,r,r,e,r,e,r,e,e,e,e,e,r,r,r,e,r,e,e,e,e,e,e,e,r,r,r,e,e,e,e,e,e,r,e,r,e,r,e,r,r,r,r,e,e,e,e,r,e,r,e,e,e,r,e,e,r,e,e,e,e,r,r,e]},"/_error":["static/chunks/pages/_error-a7f6723f42093f29.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +1 @@
|
|
|
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 i(e,t){if(c(t),!e.body)return"function"==typeof e.text?await e.text():"";let r=e.body.getReader(),n=new TextDecoder,i=[];try{for(;;){c(t);let e=()=>{},a=void 0===t?null:new Promise((n,c)=>{let i=()=>{r.cancel().catch(()=>{}),c(o())};if(t.aborted)return void i();t.addEventListener("abort",i,{once:!0}),e=()=>t.removeEventListener("abort",i)});try{let e=await Promise.race([r.read(),...a?[a]:[]]);if(e.done)break;i.push(n.decode(e.value,{stream:!0}))}finally{e()}}}finally{r.releaseLock()}return i.push(n.decode()),i.join("")}async function a(e,t){return(c(t),e.body||"function"!=typeof e.json)?JSON.parse(await i(e,t)):await e.json()}async function l(e,t){try{var r;let n=await a(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:i,...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}([i,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,i;let a="".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==(i=null==t?void 0:t.body)?"":"string"==typeof i?i:i instanceof URLSearchParams?i.toString():i instanceof Blob?"blob:".concat(i.type,":").concat(i.size):i instanceof ArrayBuffer?"array-buffer:".concat(i.byteLength):ArrayBuffer.isView(i)?"".concat(i.constructor.name,":").concat(i.byteOffset,":").concat(i.byteLength):i instanceof FormData?[...i.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("&"):i.constructor.name),l=n.get(a);if(!l){let r=new AbortController,{signal:o,...c}=null!=t?t:{},i=fetch(e,{...c,signal:r.signal}),s={controller:r,consumers:0,maxConsumers:0,promise:i,settled:!1};i.finally(()=>{s.settled=!0,n.delete(a)}).catch(()=>{}),l=s,n.set(a,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(a(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 i=o.createContext(void 0);function a(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 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,i="https:"===o.protocol?"wss:":"ws:",a=null!=(t=e.proxyWsPath)?t:c.env.NEXT_PUBLIC_TERMINAL_WS_PATH;if(a){let e=a.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")}(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},...void 0!==e.cols&&{cols:e.cols},...void 0!==e.rows&&{rows:e.rows}};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(a(t),t);for(let e of t)n.set(a(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),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))}},[]),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,o,c)=>{var i;if(s.current.set(u(e,t),{id:e,projectId:t,tmuxName:n,cols:o,rows:c}),(null==(i=r.current)?void 0:i.readyState)===WebSocket.OPEN){let i={ch:"terminal",id:e,type:"open",...t&&{projectId:t},...n&&{tmuxName:n},...void 0!==o&&{cols:o},...void 0!==c&&{rows:c}};r.current.send(JSON.stringify(i))}},[]),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)(i.Provider,{value:j,children:t})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9876],{1550:(e,t,n)=>{n.d(t,{e:()=>x});var a=n(3817),r=n(6749),i=n(8713),l=n.n(i),o=n(8450),s=n(5184);let c="ao.dashboard.notifications.read.v1",d={"github.com":"https://github.com","gitlab.com":"https://gitlab.com","linear.app":"https://linear.app"};function u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function f(e,t){let n=e[t];return"string"==typeof n&&n.trim().length>0?n:null}function h(e,t){let n=e[t];return u(n)?n:null}function m(e){let t=e.event.data;return u(t)&&3===t.schemaVersion?t:null}function p(e){let t=b(e);if(!t)return null;try{let e=new URL(t);e.hash="";let n=e.pathname.replace(/\/+$/,"");return"".concat(e.origin).concat(n).concat(e.search)}catch(e){return null}}function b(e){if(!e||0===e.trim().length)return null;try{let t=new URL(e.trim());if("https:"!==t.protocol)return null;let n=d[t.hostname.toLowerCase()];if(!n)return null;let a=t.pathname.split("/").map(v).join("/"),r=new URLSearchParams(t.searchParams).toString();return"".concat(n).concat(a).concat(r?"?".concat(r):"")}catch(e){return null}}function v(e){try{return encodeURIComponent(decodeURIComponent(e))}catch(t){return encodeURIComponent(e)}}function g(e){let t=m(e);if(!t)return null;let n=f(t,"semanticType");if(n&&"summary.all-complete"===n.toLowerCase().replace(/[_\s]+/g,"-"))return"all complete";let a=h(t,"merge"),r=h(t,"review"),i=a?function(e,t){let n=e[t];return"boolean"==typeof n?n:null}(a,"ready"):null,l=r?f(r,"decision"):null;return"merge.ready"===n||"review.approved"===n||!0===i||"approved"===l?"approved":null}function _(e){return"".concat(e.id,":").concat(e.receivedAt)}function w(e){try{window.localStorage.setItem(c,JSON.stringify([...e]))}catch(e){}}function j(e){var t,n;let{isRead:r,notification:i,onMarkRead:s,onMarkUnread:c}=e,{event:d}=i,u=(0,o.Nc)(d.projectId,d.sessionId),v=b(function(e){let t=function(e){let t=m(e);if(!t)return null;let n=h(t,"subject");return n?h(n,"pr"):null}(e);return t?f(t,"url"):null}(i)),_=b(function(e){let t=m(e);if(!t)return null;let n=h(t,"review");return n?f(n,"url"):null}(i)),w=function(e){let t=m(e);if(!t)return null;let n=h(t,"escalation");return n?f(n,"cause"):null}(i),j=g(i),x=null!=j?j:d.priority,N=(null!=(t=i.actions)?t:[]).map(e=>{let t=b(e.url);return t?{label:e.label,url:t}:null}).filter(e=>null!==e).filter(e=>!function(e,t){let n=e.label.trim().toLowerCase().replace(/\s+/g," "),a=p(e.url),r=p(t.prUrl),i=p(t.reviewUrl);return!!n.includes("dashboard")||!!r&&a===r||!!i&&a===i}(e,{prUrl:v,reviewUrl:_}));return(0,a.jsxs)("li",{className:"dashboard-notification-item ".concat(g(i)?"dashboard-notification-item--success":"urgent"===(n=i.event.priority)?"dashboard-notification-item--urgent":"action"===n?"dashboard-notification-item--action":"warning"===n?"dashboard-notification-item--warning":"dashboard-notification-item--info").concat(r?" dashboard-notification-item--read":" dashboard-notification-item--unread"),children:[(0,a.jsx)("span",{className:"dashboard-notification-item__status-dot","aria-hidden":"true"}),(0,a.jsxs)("div",{className:"dashboard-notification-item__content",children:[(0,a.jsxs)("div",{className:"dashboard-notification-item__topline",children:[(0,a.jsx)("span",{className:"dashboard-notification-item__priority",children:x}),(0,a.jsx)("span",{className:"dashboard-notification-item__time",children:function(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return"now";let n=Date.now()-t;if(n<6e4)return"now";let a=Math.floor(n/6e4);if(a<60)return"".concat(a,"m");let r=Math.floor(a/60);return r<24?"".concat(r,"h"):"".concat(Math.floor(r/24),"d")}(i.receivedAt)})]}),(0,a.jsx)("p",{className:"dashboard-notification-item__message",children:d.message}),(0,a.jsxs)("div",{className:"dashboard-notification-item__meta",children:[(0,a.jsx)("span",{children:d.projectId}),(0,a.jsx)("span",{children:d.sessionId}),w?(0,a.jsx)("span",{children:w.replace(/_/g," ")}):null]}),(0,a.jsxs)("div",{className:"dashboard-notification-item__links",children:[(0,a.jsx)(l(),{href:u,children:"Session"}),v?(0,a.jsx)("a",{href:v,target:"_blank",rel:"noopener noreferrer",children:"PR"}):null,_?(0,a.jsx)("a",{href:_,target:"_blank",rel:"noopener noreferrer",children:"Review"}):null,N.map(e=>(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",children:e.label},"".concat(i.id,":").concat(e.label,":").concat(e.url)))]})]}),(0,a.jsx)("div",{className:"dashboard-notification-item__side",children:(0,a.jsx)("button",{type:"button",className:"dashboard-notification-item__read-btn",onClick:r?c:s,children:r?"Mark unread":"Mark read"})})]})}function x(){var e,t;let n=(0,s.eT)(),i=null!=(e=null==n?void 0:n.notifications)?e:[],l=null!=(t=null==n?void 0:n.notificationError)?t:null,[o,d]=(0,r.useState)(!1),[u,f]=(0,r.useState)("all"),[h,m]=(0,r.useState)(()=>(function(){try{let e=window.localStorage.getItem(c),t=e?JSON.parse(e):null;if(!Array.isArray(t))return new Set;return new Set(t.filter(e=>"string"==typeof e))}catch(e){return new Set}})()),p=(0,r.useRef)(null),b=(0,r.useMemo)(()=>i.filter(e=>!h.has(_(e))).length,[i,h]),v=i.length>0&&0===b,g=(0,r.useMemo)(()=>[..."unread"===u?i.filter(e=>!h.has(_(e))):i].reverse(),[i,h,u]);return(0,r.useEffect)(()=>{0!==i.length&&m(e=>{let t=function(e,t){let n=new Set(t.map(_));return new Set([...e].filter(e=>n.has(e)))}(e,i);return t.size===e.size?e:(w(t),t)})},[i]),(0,r.useEffect)(()=>{if(!o)return;let e=e=>{var t;(null==(t=p.current)?void 0:t.contains(e.target))||d(!1)},t=e=>{"Escape"===e.key&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[o]),(0,a.jsxs)("div",{ref:p,className:"dashboard-notification-wrap",children:[(0,a.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-notification-btn".concat(o?" dashboard-notification-btn--open":""),"aria-label":"Notifications","aria-expanded":o,onClick:()=>d(e=>!e),children:[(0,a.jsxs)("svg",{width:"17",height:"17",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M18 8a6 6 0 0 0-12 0c0 7-3 8-3 8h18s-3-1-3-8"}),(0,a.jsx)("path",{d:"M13.7 21a2 2 0 0 1-3.4 0"})]}),b>0?(0,a.jsx)("span",{className:"dashboard-notification-btn__count",children:b}):null]}),o?(0,a.jsxs)("div",{className:"dashboard-notification-panel",role:"dialog","aria-label":"Notifications",children:[(0,a.jsxs)("div",{className:"dashboard-notification-panel__header",children:[(0,a.jsx)("div",{className:"dashboard-notification-panel__title",children:"Notifications"}),(0,a.jsx)("div",{className:"dashboard-notification-panel__actions",children:(0,a.jsx)("button",{type:"button",className:"dashboard-notification-panel__mark-all",disabled:0===i.length,onClick:v?()=>{m(e=>{let t=new Set(e);for(let e of i)t.delete(_(e));return w(t),t})}:()=>{m(e=>{let t=new Set(e);for(let e of i)t.add(_(e));return w(t),t})},children:v?"Mark all unread":"Mark all read"})})]}),(0,a.jsxs)("div",{className:"dashboard-notification-tabs",role:"tablist","aria-label":"Notification view",children:[(0,a.jsx)("button",{type:"button",role:"tab","aria-selected":"all"===u,className:"dashboard-notification-tab",onClick:()=>f("all"),children:"All"}),(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":"unread"===u,className:"dashboard-notification-tab",onClick:()=>f("unread"),children:["Unread ",(0,a.jsx)("span",{children:b})]})]}),l?(0,a.jsx)("div",{className:"dashboard-notification-panel__error",children:l}):null,g.length>0?(0,a.jsx)("ul",{className:"dashboard-notification-list",children:g.map(e=>(0,a.jsx)(j,{isRead:h.has(_(e)),notification:e,onMarkRead:()=>{m(t=>{let n=_(e);if(t.has(n))return t;let a=new Set(t);return a.add(n),w(a),a})},onMarkUnread:()=>{m(t=>{let n=_(e);if(!t.has(n))return t;let a=new Set(t);return a.delete(n),w(a),a})}},_(e)))}):(0,a.jsx)("div",{className:"dashboard-notification-panel__empty",children:"unread"===u?"No unread notifications":"No notifications yet"})]}):null]})}},2466:(e,t,n)=>{n.d(t,{I:()=>r,V:()=>i});var a=n(6749);let r=(0,a.createContext)(null);function i(){return(0,a.useContext)(r)}},3210:(e,t,n)=>{n.d(t,{W:()=>s});var a=n(3817),r=n(6749),i=n(5425),l=n(545);function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{tone:e,label:t,breathing:n}}let s=(0,r.memo)(function(e){let{session:t,spec:n,variant:r="inline",className:s}=e,c=null!=n?n:t?function(e){var t,n,a,r,s,c,d,u;let f=(0,l.ng)(e,"detailed");if("done"===f)return(null==(t=e.pr)?void 0:t.state)==="merged"||"merged"===e.status?o("merged","Merged"):(0,l.y8)(e)?o("neutral","Terminated"):o("neutral","Done");if("merge"===f)return o("ready","Mergeable");if("respond"===f)return(null==(n=e.lifecycle)?void 0:n.sessionState)==="stuck"||e.status===i.SB.STUCK||e.status===i.SB.ERRORED?o("fail","Stuck"):e.activity===i.u3.EXITED?o("fail","Crashed"):o("input","Needs input");if("review"===f)return(null==(a=e.lifecycle)?void 0:a.prReason)==="ci_failing"||"ci_failed"===e.status||(null==(r=e.pr)?void 0:r.ciStatus)===i.U1.FAILING?o("fail","CI failed"):(null==(s=e.lifecycle)?void 0:s.prReason)==="changes_requested"||"changes_requested"===e.status||(null==(c=e.pr)?void 0:c.reviewDecision)==="changes_requested"?o("changes","Changes req."):e.pr&&!e.pr.mergeability.noConflicts?o("fail","Conflicts"):o("review","Needs review");if("pending"===f){let t=null!=(u=null==(d=e.pr)?void 0:d.unresolvedThreads)?u:0;return t>0?o("review","".concat(t," ").concat(1===t?"thread":"threads")):o("review","Review pending")}return e.activity===i.u3.IDLE?o("neutral","Idle"):o("working","Working",!0)}(t):null;if(!c)return null;let d=["status-badge","status-badge--".concat(r),s].filter(Boolean).join(" ");return(0,a.jsxs)("span",{className:d,"data-tone":c.tone,"data-breathing":c.breathing?"":void 0,children:[(0,a.jsx)("span",{className:"status-badge__dot","aria-hidden":"true"}),"dot"!==r?(0,a.jsx)("span",{className:"status-badge__label",children:c.label}):null]})})}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1145],{1550:(e,t,n)=>{n.d(t,{e:()=>w});var a=n(3817),r=n(6749),i=n(8713),l=n.n(i),o=n(8450),s=n(5184);let c="ao.dashboard.notifications.read.v1",d={"github.com":"https://github.com","gitlab.com":"https://gitlab.com","linear.app":"https://linear.app"};function u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function f(e,t){let n=e[t];return"string"==typeof n&&n.trim().length>0?n:null}function h(e,t){let n=e[t];return u(n)?n:null}function m(e){let t=e.event.data;return u(t)&&3===t.schemaVersion?t:null}function p(e){let t=b(e);if(!t)return null;try{let e=new URL(t);e.hash="";let n=e.pathname.replace(/\/+$/,"");return"".concat(e.origin).concat(n).concat(e.search)}catch(e){return null}}function b(e){if(!e||0===e.trim().length)return null;try{let t=new URL(e.trim());if("https:"!==t.protocol)return null;let n=d[t.hostname.toLowerCase()];if(!n)return null;let a=t.pathname.split("/").map(v).join("/"),r=new URLSearchParams(t.searchParams).toString();return"".concat(n).concat(a).concat(r?"?".concat(r):"")}catch(e){return null}}function v(e){try{return encodeURIComponent(decodeURIComponent(e))}catch(t){return encodeURIComponent(e)}}function g(e){let t=m(e);if(!t)return null;let n=f(t,"semanticType");if(n&&"summary.all-complete"===n.toLowerCase().replace(/[_\s]+/g,"-"))return"all complete";let a=h(t,"merge"),r=h(t,"review"),i=a?function(e,t){let n=e[t];return"boolean"==typeof n?n:null}(a,"ready"):null,l=r?f(r,"decision"):null;return"merge.ready"===n||"review.approved"===n||!0===i||"approved"===l?"approved":null}function x(e){return"".concat(e.id,":").concat(e.receivedAt)}function _(e){try{window.localStorage.setItem(c,JSON.stringify([...e]))}catch(e){}}function j(e){var t,n;let{isRead:r,notification:i,onMarkRead:s,onMarkUnread:c}=e,{event:d}=i,u=(0,o.Nc)(d.projectId,d.sessionId),v=b(function(e){let t=function(e){let t=m(e);if(!t)return null;let n=h(t,"subject");return n?h(n,"pr"):null}(e);return t?f(t,"url"):null}(i)),x=b(function(e){let t=m(e);if(!t)return null;let n=h(t,"review");return n?f(n,"url"):null}(i)),_=function(e){let t=m(e);if(!t)return null;let n=h(t,"escalation");return n?f(n,"cause"):null}(i),j=g(i),w=null!=j?j:d.priority,N=(null!=(t=i.actions)?t:[]).map(e=>{let t=b(e.url);return t?{label:e.label,url:t}:null}).filter(e=>null!==e).filter(e=>!function(e,t){let n=e.label.trim().toLowerCase().replace(/\s+/g," "),a=p(e.url),r=p(t.prUrl),i=p(t.reviewUrl);return!!n.includes("dashboard")||!!r&&a===r||!!i&&a===i}(e,{prUrl:v,reviewUrl:x}));return(0,a.jsxs)("li",{className:"dashboard-notification-item ".concat(g(i)?"dashboard-notification-item--success":"urgent"===(n=i.event.priority)?"dashboard-notification-item--urgent":"action"===n?"dashboard-notification-item--action":"warning"===n?"dashboard-notification-item--warning":"dashboard-notification-item--info").concat(r?" dashboard-notification-item--read":" dashboard-notification-item--unread"),children:[(0,a.jsx)("span",{className:"dashboard-notification-item__status-dot","aria-hidden":"true"}),(0,a.jsxs)("div",{className:"dashboard-notification-item__content",children:[(0,a.jsxs)("div",{className:"dashboard-notification-item__topline",children:[(0,a.jsx)("span",{className:"dashboard-notification-item__priority",children:w}),(0,a.jsx)("span",{className:"dashboard-notification-item__time",children:function(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return"now";let n=Date.now()-t;if(n<6e4)return"now";let a=Math.floor(n/6e4);if(a<60)return"".concat(a,"m");let r=Math.floor(a/60);return r<24?"".concat(r,"h"):"".concat(Math.floor(r/24),"d")}(i.receivedAt)})]}),(0,a.jsx)("p",{className:"dashboard-notification-item__message",children:d.message}),(0,a.jsxs)("div",{className:"dashboard-notification-item__meta",children:[(0,a.jsx)("span",{children:d.projectId}),(0,a.jsx)("span",{children:d.sessionId}),_?(0,a.jsx)("span",{children:_.replace(/_/g," ")}):null]}),(0,a.jsxs)("div",{className:"dashboard-notification-item__links",children:[(0,a.jsx)(l(),{href:u,children:"Session"}),v?(0,a.jsx)("a",{href:v,target:"_blank",rel:"noopener noreferrer",children:"PR"}):null,x?(0,a.jsx)("a",{href:x,target:"_blank",rel:"noopener noreferrer",children:"Review"}):null,N.map(e=>(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",children:e.label},"".concat(i.id,":").concat(e.label,":").concat(e.url)))]})]}),(0,a.jsx)("div",{className:"dashboard-notification-item__side",children:(0,a.jsx)("button",{type:"button",className:"dashboard-notification-item__read-btn",onClick:r?c:s,children:r?"Mark unread":"Mark read"})})]})}function w(){var e,t;let n=(0,s.eT)(),i=null!=(e=null==n?void 0:n.notifications)?e:[],l=null!=(t=null==n?void 0:n.notificationError)?t:null,[o,d]=(0,r.useState)(!1),[u,f]=(0,r.useState)("all"),[h,m]=(0,r.useState)(()=>(function(){try{let e=window.localStorage.getItem(c),t=e?JSON.parse(e):null;if(!Array.isArray(t))return new Set;return new Set(t.filter(e=>"string"==typeof e))}catch(e){return new Set}})()),p=(0,r.useRef)(null),b=(0,r.useMemo)(()=>i.filter(e=>!h.has(x(e))).length,[i,h]),v=i.length>0&&0===b,g=(0,r.useMemo)(()=>[..."unread"===u?i.filter(e=>!h.has(x(e))):i].reverse(),[i,h,u]);return(0,r.useEffect)(()=>{0!==i.length&&m(e=>{let t=function(e,t){let n=new Set(t.map(x));return new Set([...e].filter(e=>n.has(e)))}(e,i);return t.size===e.size?e:(_(t),t)})},[i]),(0,r.useEffect)(()=>{if(!o)return;let e=e=>{var t;(null==(t=p.current)?void 0:t.contains(e.target))||d(!1)},t=e=>{"Escape"===e.key&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[o]),(0,a.jsxs)("div",{ref:p,className:"dashboard-notification-wrap",children:[(0,a.jsxs)("button",{type:"button",className:"dashboard-app-btn dashboard-notification-btn".concat(o?" dashboard-notification-btn--open":""),"aria-label":"Notifications","aria-expanded":o,onClick:()=>d(e=>!e),children:[(0,a.jsxs)("svg",{width:"17",height:"17",fill:"none",stroke:"currentColor",strokeWidth:"1.6",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M18 8a6 6 0 0 0-12 0c0 7-3 8-3 8h18s-3-1-3-8"}),(0,a.jsx)("path",{d:"M13.7 21a2 2 0 0 1-3.4 0"})]}),b>0?(0,a.jsx)("span",{className:"dashboard-notification-btn__count",children:b}):null]}),o?(0,a.jsxs)("div",{className:"dashboard-notification-panel",role:"dialog","aria-label":"Notifications",children:[(0,a.jsxs)("div",{className:"dashboard-notification-panel__header",children:[(0,a.jsx)("div",{className:"dashboard-notification-panel__title",children:"Notifications"}),(0,a.jsx)("div",{className:"dashboard-notification-panel__actions",children:(0,a.jsx)("button",{type:"button",className:"dashboard-notification-panel__mark-all",disabled:0===i.length,onClick:v?()=>{m(e=>{let t=new Set(e);for(let e of i)t.delete(x(e));return _(t),t})}:()=>{m(e=>{let t=new Set(e);for(let e of i)t.add(x(e));return _(t),t})},children:v?"Mark all unread":"Mark all read"})})]}),(0,a.jsxs)("div",{className:"dashboard-notification-tabs",role:"tablist","aria-label":"Notification view",children:[(0,a.jsx)("button",{type:"button",role:"tab","aria-selected":"all"===u,className:"dashboard-notification-tab",onClick:()=>f("all"),children:"All"}),(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":"unread"===u,className:"dashboard-notification-tab",onClick:()=>f("unread"),children:["Unread ",(0,a.jsx)("span",{children:b})]})]}),l?(0,a.jsx)("div",{className:"dashboard-notification-panel__error",children:l}):null,g.length>0?(0,a.jsx)("ul",{className:"dashboard-notification-list",children:g.map(e=>(0,a.jsx)(j,{isRead:h.has(x(e)),notification:e,onMarkRead:()=>{m(t=>{let n=x(e);if(t.has(n))return t;let a=new Set(t);return a.add(n),_(a),a})},onMarkUnread:()=>{m(t=>{let n=x(e);if(!t.has(n))return t;let a=new Set(t);return a.delete(n),_(a),a})}},x(e)))}):(0,a.jsx)("div",{className:"dashboard-notification-panel__empty",children:"unread"===u?"No unread notifications":"No notifications yet"})]}):null]})}},2466:(e,t,n)=>{n.d(t,{I:()=>r,V:()=>i});var a=n(6749);let r=(0,a.createContext)(null);function i(){return(0,a.useContext)(r)}},3210:(e,t,n)=>{n.d(t,{W:()=>s});var a=n(3817),r=n(6749),i=n(5425),l=n(545);function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{tone:e,label:t,breathing:n}}let s=(0,r.memo)(function(e){let{session:t,spec:n,variant:r="inline",className:s}=e,c=null!=n?n:t?function(e){var t,n,a,r,s,c,d,u;let f=(0,l.ng)(e,"detailed");if("done"===f)return(null==(t=e.pr)?void 0:t.state)==="merged"||"merged"===e.status?o("merged","Merged"):(0,l.y8)(e)?o("neutral","Terminated"):o("neutral","Done");if("merge"===f)return o("ready","Mergeable");if("respond"===f)return(null==(n=e.lifecycle)?void 0:n.sessionState)==="stuck"||e.status===i.SB.STUCK||e.status===i.SB.ERRORED?o("fail","Stuck"):e.activity===i.u3.EXITED?o("fail","Crashed"):o("input","Needs input");if("review"===f)return(null==(a=e.lifecycle)?void 0:a.prReason)==="ci_failing"||"ci_failed"===e.status||(null==(r=e.pr)?void 0:r.ciStatus)===i.U1.FAILING?o("fail","CI failed"):(null==(s=e.lifecycle)?void 0:s.prReason)==="changes_requested"||"changes_requested"===e.status||(null==(c=e.pr)?void 0:c.reviewDecision)==="changes_requested"?o("changes","Changes req."):e.pr&&!e.pr.mergeability.noConflicts?o("fail","Conflicts"):o("review","Needs review");if("pending"===f){let t=null!=(u=null==(d=e.pr)?void 0:d.unresolvedThreads)?u:0;return t>0?o("review","".concat(t," ").concat(1===t?"thread":"threads")):o("review","Review pending")}return e.activity===i.u3.IDLE?o("neutral","Idle"):o("working","Working",!0)}(t):null;if(!c)return null;let d=["status-badge","status-badge--".concat(r),s].filter(Boolean).join(" ");return(0,a.jsxs)("span",{className:d,"data-tone":c.tone,"data-breathing":c.breathing?"":void 0,children:[(0,a.jsx)("span",{className:"status-badge__dot","aria-hidden":"true"}),"dot"!==r?(0,a.jsx)("span",{className:"status-badge__label",children:c.label}):null]})})},6704:(e,t,n)=>{n.d(t,{H:()=>i});var a=n(3817);function r(e){return e>=1e6?"".concat((e/1e6).toFixed(1),"M"):e>=1e3?"".concat(Math.round(e/1e3),"k"):String(e)}let i=(0,n(6749).memo)(function(e){let{contextWindow:t,className:n}=e;if(!t)return null;let i=t.pct>.8,l=function(e){let t=Math.round(100*e.pct);return"".concat(r(e.usedTokens)," / ").concat(r(e.limitTokens)," \xb7 ").concat(t,"%")}(t),o=Math.round(100*t.pct),s=["inline-flex items-center gap-1 rounded font-[var(--font-mono)] text-[10px] leading-none px-1.5 py-0.5",i?"bg-[color-mix(in_srgb,var(--color-status-error)_15%,transparent)] text-[var(--color-status-error)]":"bg-[var(--color-bg-subtle)] text-[var(--color-text-tertiary)]",n].filter(Boolean).join(" ");return(0,a.jsxs)("span",{className:s,title:"Context window ".concat(o,"% full").concat(i?" — nearly full":""),"data-warning":i?"":void 0,children:[i?(0,a.jsx)("span",{"aria-hidden":"true",children:"⚠"}):null,(0,a.jsx)("span",{className:"text-[var(--color-text-muted)]",children:"ctx"}),(0,a.jsx)("span",{children:l})]})})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1160],{1160:(e,t,r)=>{r.d(t,{u:()=>Z});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),m=r(8450),j=r(6004);let b=/^[A-Za-z]:[\\/]?$/,f=/^[A-Za-z]:[\\/]/,x=/^\\\\[^\\]+\\[^\\]+\\?$/;function _(e){var t;return(null!=(t=e.split(/[\\/]+/).filter(Boolean).pop())?t:"project").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"project"}function v(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 g(e){return e.includes("\\")?"\\":"/"}function y(e){return b.test(e)||x.test(e)?e:e.replace(/[\\/]+$/,"")}function w(e,t){if("~"===e)return"~/".concat(t);let r=g(e),s=y(e);return/[\\/]$/.test(s)?"".concat(s).concat(t):"".concat(s).concat(r).concat(t)}function N(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 k={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"miter"},C={fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"square"},S={fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"miter"};function E(e){let{className:t}=e;return(0,s.jsx)(N,{className:t,children:(0,s.jsx)("path",{d:"M2 4.5h4l1.5 2H14v5.5H2Z",...k})})}function P(){return(0,s.jsx)(N,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"M10 3.5 6 8l4 4.5",...C})})}function I(){return(0,s.jsx)(N,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"m6 3.5 4 4.5L6 12.5",...C})})}function M(){return(0,s.jsx)(N,{className:"add-project-modal__toolicon",children:(0,s.jsx)("path",{d:"M8 12V4m0 0L5 7m3-3 3 3",...S})})}function R(){return(0,s.jsx)(N,{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",...S})})}function L(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=>w(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(w(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(w(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(b.test(e)){let t=g(e),r=e.slice(0,2);return[{label:r,path:"".concat(r).concat(t)}]}if(f.test(e)){var t;let r=g(e),s=y(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=w(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),m=null!=(l=null==(t=h[h.length-1])?void 0:t.label)?l:o.browsePath,j="~"!==o.browsePath&&null!==o.currentDirectory,x=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)(P,{})}),(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)(I,{})}),(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)(M,{})}),(0,s.jsx)("button",{type:"button",onClick:o.refresh,className:"add-project-modal__toolbtn","aria-label":"Refresh",children:(0,s.jsx)(R,{})}),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:[j?(0,s.jsxs)("button",{type:"button","aria-label":(null==(r=o.currentDirectory)?void 0:r.isGitRepo)?"".concat(m,", current folder, Git repository"):"".concat(m,", current folder"),onClick:()=>o.setSelectedBrowsePath(o.browsePath),className:"add-project-browser__row add-project-browser__row--current".concat(x?" is-selected":""),children:[(0,s.jsx)(E,{className:"add-project-browser__row-icon"}),(0,s.jsx)("span",{className:"add-project-browser__row-name",children:m}),(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=w(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)(E,{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)(I,{})})]},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),[m,j]=(0,n.useState)([]),[_,v]=(0,n.useState)(null),[w,N]=(0,n.useState)([]),[k,C]=(0,n.useState)("~"),[S,E]=(0,n.useState)(!1),[P,I]=(0,n.useState)(null),M=(0,n.useCallback)((e,t)=>{u.current=e,p.current=t,i(e),d(t)},[]),R=(0,n.useCallback)((e,t)=>{j([]),v(null),N([]),l(null!=t?t:"")},[]),L=(0,n.useCallback)(async(e,t)=>{var r,a,n,o,i,c,d;let m=h.current+1;h.current=m;let b=null!=(r=null==t?void 0:t.historyIndex)?r:p.current;C(e),E(!0),I(null);try{let r=await fetch("/api/filesystem/browse?path=".concat(encodeURIComponent(e))).catch(()=>null);if(m!==h.current)return;if(!r){R(e,null==t?void 0:t.selectedPath),I("Failed to browse directories.");return}let p=await r.json().catch(()=>null);if(m!==h.current)return;if(!r.ok){R(e,null==t?void 0:t.selectedPath),I(null!=(a=null==p?void 0:p.error)?a:"Failed to browse directories.");return}let f=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:""),j(null!=(i=null==p?void 0:p.entries)?i:[]),v(null!=(c=null==p?void 0:p.current)?c:null),N(null!=(d=null==p?void 0:p.roots)?d:[]),"push"===f){let t=u.current.slice(0,b+1);t[t.length-1]!==e&&t.push(e),M(t,t.length-1)}else{let t=[...u.current];t[b]=e,M(t,b)}}catch(r){if(m!==h.current)return;R(e,null==t?void 0:t.selectedPath),I("Failed to browse directories.")}finally{m===h.current&&E(!1)}},[R,M]),T=(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]),D=(0,n.useMemo)(()=>m.filter(e=>e.isDirectory),[m]),B=function(e){if("~"===e||b.test(e)||x.test(e))return null;if(f.test(e)){let t=g(e),r=y(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),O=null!=(t=null==(e=w.find(e=>r.startsWith(e.path)))?void 0:e.path)?t:"",A=c<o.length-1,F=(0,n.useCallback)(()=>{T(p.current-1)},[T]),K=(0,n.useCallback)(()=>{T(p.current+1)},[T]),W=(0,n.useCallback)(()=>{B&&L(B)},[L,B]),H=(0,n.useCallback)(()=>{L(r,{mode:"replace",selectedPath:a})},[L,r,a]),U=(0,n.useCallback)(()=>{I(null),M(["~"],0),s("~"),C("~"),l("~"),j([]),v(null),N([]),L("~",{mode:"replace",selectedPath:"~",historyIndex:0})},[L,M]);return{browsePath:r,selectedBrowsePath:a,setSelectedBrowsePath:l,directoryEntries:D,currentDirectory:_,roots:w,selectedRootPath:O,locationInput:k,setLocationInput:C,loading:S,error:P,parentPath:B,canGoBack:c>0,canGoForward:A,browse:L,goBack:F,goForward:K,goUp:W,refresh:H,reset:U}}(),i=(0,n.useRef)(null),[c,d]=(0,n.useState)(!1),[u,p]=(0,n.useState)(null),[h,m]=(0,n.useState)(null),[j,N]=(0,n.useState)(null),[k,C]=(0,n.useState)(""),[S,E]=(0,n.useState)(""),{reset:P,selectedBrowsePath:I,directoryEntries:M,currentDirectory:R,error:T,browsePath:D}=l;(0,n.useEffect)(()=>{var e;t&&(d(!1),p(null),m(null),N(null),C(""),E(""),null==(e=i.current)||e.focus(),P())},[t,P]);let B=(0,n.useMemo)(()=>{var e;return null!=(e=M.find(e=>w(D,e.name)===I))?e:null},[D,M,I]),O=I===D?R:null,A=k.trim()||(I.trim()&&"~"!==I?_(I):""),F=S.trim()||(I.trim()&&"~"!==I?v(I):""),K=""!==I.trim()&&"~"!==I&&!T&&!!((null==B?void 0:B.isGitRepo)||(null==O?void 0:O.isGitRepo))&&A.length>0&&F.length>0;(0,n.useEffect)(()=>{if(!I||"~"===I){C(""),E("");return}C(_(I)),E(v(I))},[I]);let W=(0,n.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];p(null),m(null),N(null),d(!0);let t=I.trim();try{var s,l,n;let o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:A,name:F,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)){N({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):m(e);return}let c=null!=(n=null==i?void 0:i.projectId)?n:A.trim();r(),a.push("/projects/".concat(encodeURIComponent(c))),a.refresh()}catch(e){m("Network error while adding project.")}finally{d(!1)}},[r,A,F,a,I]);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(),W())}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[K,r,t,W]),!t)return null;let H=!!(B&&!B.isGitRepo)||!!(O&&"~"!==I&&!O.isGitRepo),U=j?(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:j.error}),(0,s.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Existing project: ",(0,s.jsx)("code",{children:j.existingProjectId})]}),(0,s.jsxs)("p",{className:"add-project-modal__notice-copy",children:["Suggested project ID: ",(0,s.jsx)("code",{children:j.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(j.existingProjectId)))},className:"add-project-modal__ghostbtn",children:"Open existing"}),(0,s.jsx)("button",{type:"button",onClick:()=>void W(!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}):H?(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)(L,{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:I||"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:k,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:[M.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 W(),disabled:!K||c,className:"add-project-modal__primarybtn",children:c?"Adding…":"Add project"})]})]})]})})}var D=r(2749);function B(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 m=(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||!m?null:(0,s.jsx)(D.ProjectSettingsForm,{projectId:a,initialValues:m})]})]})}):null}var O=r(2647);function A(e){let{session:t}=e;if(!t)return null;let r=(0,c.ng)(t);return(0,s.jsx)("div",{className:(0,i.cn)("sidebar-session-dot shrink-0 rounded-full","working"===r&&"sidebar-session-dot--glow"),"data-level":r})}function F(e){let{collapsed:t,metaOrchestrators:r,orchestrators:a,registeredProjectIds:l,activeSessionId:d,onNavigate:u}=e,p=(0,o.useRouter)(),[h,j]=(0,n.useState)(new Set),[b,f]=(0,n.useState)(!1),[x,_]=(0,n.useState)(""),[v,g]=(0,n.useState)(!1),[y,w]=(0,n.useState)(null),N=(0,n.useRef)(null);(0,n.useEffect)(()=>{var e;b&&(null==(e=N.current)||e.focus())},[b]);let k=async e=>{e.preventDefault();let t=x.trim();if(t){g(!0),w(null);try{let e=await fetch("/api/meta",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,scope:"all"})});if(!e.ok){var r;let t=await e.json().catch(()=>({}));w(null!=(r=t.error)?r:"Failed to create");return}f(!1),_(""),p.refresh()}catch(e){w("Network error")}finally{g(!1)}}};if(0===r.length&&0===a.length&&!b)return t?null:(0,s.jsx)("div",{className:"project-sidebar__orchestrators",children:(0,s.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,s.jsx)("span",{children:"Parliament"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New meta orchestrator",onClick:()=>f(!0),children:(0,s.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:[(0,s.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,s.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]})});let C=(e,t)=>r=>{r.metaKey||r.ctrlKey||r.shiftKey||1===r.button||(r.preventDefault(),u(e,null!=t?t:void 0))};if(t)return(0,s.jsxs)("div",{className:"project-sidebar__orch-collapsed flex flex-col items-center gap-1",children:[r.map(e=>{var t;return(0,s.jsx)("a",{href:(0,m.jS)(e.name),onClick:C((0,m.jS)(e.name),null!=(t=e.session)?t:void 0),className:"project-sidebar__orch-glyph","data-level":e.session?(0,c.ng)(e.session):void 0,title:"".concat(e.name," (meta)"),"aria-label":"Open ".concat(e.name," meta dashboard"),children:"◆"},e.name)}),a.map(e=>{var t;let{slot:r}=(0,O.fQ)(e.projectId,l),a=(0,m.Nc)(e.projectId,e.id);return(0,s.jsx)("a",{href:a,onClick:C(a,null!=(t=e.session)?t:void 0),"data-level":e.session?(0,c.ng)(e.session):void 0,className:(0,i.cn)("project-sidebar__orch-collapsed-dot shrink-0 rounded-full",(0,O.A_)(r)),title:"".concat(e.projectId," orchestrator"),"aria-label":"Open ".concat(e.projectId," orchestrator")},e.id)})]});let S=r.length>0,E=a.length>0,P=S&&E;return(0,s.jsxs)("div",{className:"project-sidebar__orchestrators",children:[(0,s.jsxs)("div",{className:"project-sidebar__nav-label",children:[(0,s.jsx)("span",{children:"Parliament"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__add-btn","aria-label":"New meta orchestrator",onClick:()=>{f(e=>!e),w(null),_("")},children:(0,s.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:[(0,s.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,s.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}),b&&(0,s.jsxs)("form",{onSubmit:k,className:"project-sidebar__orch-create-form",children:[(0,s.jsx)("input",{ref:N,type:"text",value:x,onChange:e=>{_(e.target.value),w(null)},placeholder:"Name",className:"project-sidebar__orch-create-input",disabled:v,"aria-label":"Meta orchestrator name"}),y&&(0,s.jsx)("span",{className:"project-sidebar__orch-create-error",children:y}),(0,s.jsxs)("div",{className:"project-sidebar__orch-create-actions",children:[(0,s.jsx)("button",{type:"submit",className:"project-sidebar__orch-create-submit",disabled:v||!x.trim(),children:v?(0,s.jsx)("span",{className:"project-sidebar__orch-start-spinner","aria-hidden":"true"}):"Create"}),(0,s.jsx)("button",{type:"button",className:"project-sidebar__orch-create-cancel",onClick:()=>{f(!1),_(""),w(null)},disabled:v,children:"Cancel"})]})]}),S?(0,s.jsxs)(s.Fragment,{children:[P?(0,s.jsx)("div",{className:"project-sidebar__orch-group-label","aria-hidden":"true",children:"Meta"}):null,r.map(e=>{var t;let r,a=(0,m.jS)(e.name),l=h.has(e.name);return(0,s.jsxs)("a",{href:a,onClick:C(a,null!=(t=e.session)?t:void 0),className:(0,i.cn)("project-sidebar__orch-row",d===e.name&&"project-sidebar__orch-row--active"),"aria-label":"Open ".concat(e.name," meta dashboard"),children:[(0,s.jsx)("span",{className:"project-sidebar__orch-glyph","aria-hidden":"true",children:"◆"}),(0,s.jsx)("span",{className:"project-sidebar__orch-name min-w-0 flex-1",children:e.name}),null===e.session?(0,s.jsx)("button",{type:"button",onClick:(r=e.name,async e=>{if(e.preventDefault(),e.stopPropagation(),!h.has(r)){j(e=>new Set(e).add(r));try{await fetch("/api/meta/".concat(encodeURIComponent(r),"/start"),{method:"POST"}),p.refresh()}finally{j(e=>{let t=new Set(e);return t.delete(r),t})}}}),disabled:l,"aria-label":"Start ".concat(e.name),className:"project-sidebar__orch-start-btn shrink-0",children:l?(0,s.jsx)("span",{className:"project-sidebar__orch-start-spinner","aria-hidden":"true"}):(0,s.jsx)("span",{"aria-hidden":"true",children:"▶"})}):(0,s.jsx)(A,{session:e.session})]},e.name)})]}):null,E?(0,s.jsxs)(s.Fragment,{children:[P?(0,s.jsx)("div",{className:"project-sidebar__orch-group-label","aria-hidden":"true",children:"Project"}):null,a.map(e=>{var t;let{slot:r}=(0,O.fQ)(e.projectId,l),a=null!=(t=e.session)?t:null,n=(0,m.Nc)(e.projectId,e.id);return(0,s.jsxs)("a",{href:n,onClick:C(n,null!=a?a:void 0),className:(0,i.cn)("project-sidebar__orch-row",d===e.id&&"project-sidebar__orch-row--active"),"aria-label":"Open ".concat(e.projectId," orchestrator"),children:[(0,s.jsx)("span",{className:(0,i.cn)("project-sidebar__orch-dot shrink-0 rounded-full",(0,O.A_)(r)),"aria-hidden":"true"}),(0,s.jsx)("span",{className:"project-sidebar__orch-name min-w-0 flex-1",children:e.projectId}),(0,s.jsx)(A,{session:a})]},e.id)})]}):null]})}let K=(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})}),W="ao:sidebar:show-session-id";function H(){try{return"true"===window.localStorage.getItem(W)}catch(e){return!1}}let U="ao:sidebar:show-killed",z="ao:sidebar:show-done",G="ao:sidebar:expanded-projects";function J(){try{return"true"===window.sessionStorage.getItem(U)}catch(e){return!1}}function V(){try{return"true"===window.sessionStorage.getItem(z)}catch(e){return!1}}function $(e){let{onToggleCollapsed:t}=e;return(0,s.jsxs)("div",{className:"project-sidebar__brand",children:[(0,s.jsx)("span",{className:"project-sidebar__brand-name",children:"Athene"}),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 Z(e){return 0===e.projects.length?(0,s.jsx)(q,{collapsed:e.collapsed}):(0,s.jsx)(X,{...e})}let Q=(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:"",j=""!==h?h:null!=(r=a.branch)?r:(0,u.Pn)(a),b=(0,m.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(j),children:[(0,s.jsx)(K,{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:j}),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,j)},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)($,{}),(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)(j.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,metaOrchestrators:b=[],activeProjectId:f,activeSessionId:x,loading:_=!1,error:v=!1,onRetry:g,collapsed:y=!1,onToggleCollapsed:w,onMobileClose:N}=e,k=(0,o.useRouter)(),{onPointerDown:C,onDoubleClick:S}=(0,h.$)({cssVar:"--ao-sidebar-w",storageKey:"ao-sidebar-w",defaultWidth:240,min:200,max:420,edge:"right"}),[E,P]=(0,n.useState)(()=>{var e;return null!=(e=function(){try{let e=window.sessionStorage.getItem(G);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(f&&"all"!==f?[f]:[])}),[I,M]=(0,n.useState)(J),[R,L]=(0,n.useState)(V),[D,A]=(0,n.useState)(H),[Z,q]=(0,n.useState)(null),[X,Y]=(0,n.useState)(""),[ee,et]=(0,n.useState)(new Map),[er,es]=(0,n.useState)(!1),[ea,el]=(0,n.useState)(null),[en,eo]=(0,n.useState)(null),[ei,ec]=(0,n.useState)(null),[ed,eu]=(0,n.useState)(null),[ep,eh]=(0,n.useState)(new Set),[em,ej]=(0,n.useState)(!1),eb=(0,n.useRef)(null),ef=(0,n.useRef)(null),ex=(0,n.useRef)(null),e_=(0,n.useRef)(null);p(er,ef),p(!!ea,e_),(0,n.useEffect)(()=>{try{window.localStorage.setItem(W,String(D))}catch(e){}},[D]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(U,String(I))}catch(e){}},[I]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(z,String(R))}catch(e){}},[R]),(0,n.useEffect)(()=>{try{window.sessionStorage.setItem(G,JSON.stringify([...E]))}catch(e){}},[E]),(0,n.useEffect)(()=>{if(!er)return;let e=e=>{eb.current&&!eb.current.contains(e.target)&&es(!1)},t=e=>{"Escape"===e.key&&es(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[er]),(0,n.useEffect)(()=>{if(!ea)return;let e=e=>{ex.current&&!ex.current.contains(e.target)&&el(null)},t=e=>{"Escape"===e.key&&el(null)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[ea]),(0,n.useEffect)(()=>{f&&"all"!==f&&P(e=>new Set([...e,f]))},[f]),(0,n.useEffect)(()=>{eh(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 ev=(0,n.useMemo)(()=>t.filter(e=>!ep.has(e.id)),[t,ep]),eg=(0,n.useMemo)(()=>t.map(e=>e.id),[t]),ey=(0,n.useMemo)(()=>new Map(ev.map(e=>{var t;return[e.id,null!=(t=e.sessionPrefix)?t:e.id]})),[ev]),ew=(0,n.useMemo)(()=>ev.map(e=>{var t;return null!=(t=e.sessionPrefix)?t:e.id}),[ev]),eN=(0,n.useMemo)(()=>new Map((null!=a?a:[]).map(e=>[e.projectId,e])),[a]),ek=(0,n.useRef)(r);ek.current=r;let eC=(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]),eS=(0,n.useMemo)(()=>{var e,t;let r=new Map,s=new Set(ev.map(e=>e.id));for(let a of null!=(e=ek.current)?e:[]){if(!s.has(a.projectId)||(0,d.tT)(a,ey.get(a.projectId),ew)||"done"===(0,c.ng)(a)&&("killed"===a.status?!I&&!R:!R))continue;let e=null!=(t=r.get(a.projectId))?t:[];e.push(a),r.set(a.projectId,e)}return r},[eC,ey,ew,ev,I,R]);(0,n.useEffect)(()=>{if(0===ee.size||!r)return;let e=new Map(ee),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&&et(e)},[r,ee]);let eE=(0,n.useRef)(ee);eE.current=ee;let eP=(0,n.useCallback)((e,t)=>{var r;let s=eE.current.get(e.id),a=null!=s?s:e.displayNameUserSet&&null!=(r=e.displayName)?r:"";q(e.id),Y(a||t)},[]),eI=async e=>{if(Z!==e)return;let t=X.trim();q(null),Y(""),et(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){et(t=>{let r=new Map(t);return r.delete(e),r})}},eM=(0,n.useCallback)((e,t)=>{if(t)try{sessionStorage.setItem("ao-session-nav:".concat(t.id),JSON.stringify(t))}catch(e){}k.push(e),null==N||N()},[k,N]),eR=async e=>{if(window.confirm("Restart orchestrator for ".concat(e.name,"? The current orchestrator session will be killed and a fresh one spawned."))){eu(e.id),el(null);try{let r=await fetch("/api/orchestrators",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e.id,clean:!0})}),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 restart orchestrator.")}}catch(e){window.alert(e instanceof Error?e.message:"Failed to restart orchestrator.")}finally{eu(null)}}},eL=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."))){ec(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.")}eh(t=>new Set(t).add(e.id)),P(t=>{let r=new Set(t);return r.delete(e.id),r}),el(null),f===e.id?k.push("/"):"refresh"in k&&"function"==typeof k.refresh&&k.refresh(),null==N||N()}catch(e){window.alert(e instanceof Error?e.message:"Failed to remove project.")}finally{ec(null)}}};return y?(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:[w?(0,s.jsx)("button",{type:"button",className:"project-sidebar__collapse-btn project-sidebar__expand-btn",onClick:w,"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,(0,s.jsx)(F,{collapsed:!0,metaOrchestrators:b,orchestrators:null!=a?a:[],registeredProjectIds:eg,activeSessionId:x,onNavigate:eM}),ev.map((e,t)=>{var r;let a=null!=(r=eS.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,m.bn)(e.id),className:(0,i.cn)("project-sidebar__collapsed-icon",f===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,m.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(),eM(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)($,{onToggleCollapsed:w}),(0,s.jsx)(F,{collapsed:!1,metaOrchestrators:b,orchestrators:null!=a?a:[],registeredProjectIds:eg,activeSessionId:x,onNavigate:eM}),(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:()=>ej(!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"})})})]}),v&&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,ev.map(e=>{var t,a,n,o,d;let u=null!=(a=eS.get(e.id))?a:[],p=E.has(e.id),h=f===e.id,j=!!e.resolveError,b=(0,m.bn)(e.id),_=null!=(n=eN.get(e.id))?n:null,y=_&&null!=(o=null==r?void 0:r.find(e=>e.id===_.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:[j?(0,s.jsxs)("a",{href:b,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||1===e.button||(e.preventDefault(),eM(b))},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 P(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:(0,i.cn)("project-sidebar__proj-dot shrink-0 rounded-full",(0,O.A_)((0,O.fQ)(e.id,eg).slot)),"aria-hidden":"true"}),(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=eS.get(e.id))?void 0:t.length)?d:0})]}),(0,s.jsxs)("div",{className:"project-sidebar__proj-actions",children:[j?null:(0,s.jsx)(l(),{href:b,prefetch:!1,onClick:e=>{e.stopPropagation(),null==N||N()},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"})})}),!j&&_&&(0,s.jsx)("a",{href:(0,m.Nc)(e.id,_.id),onClick:t=>{t.metaKey||t.ctrlKey||t.shiftKey||1===t.button||(t.preventDefault(),t.stopPropagation(),eM((0,m.Nc)(e.id,_.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:ea===e.id?ex:void 0,children:[(0,s.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),el(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":ea===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"})]})}),ea===e.id?(0,s.jsxs)("div",{ref:e_,className:"project-sidebar__proj-menu-popover",role:"menu","aria-label":"".concat(e.name," actions"),children:[_?(0,s.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{el(null),eM((0,m.Nc)(e.id,_.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:()=>void eR(e),disabled:ed===e.id,children:ed===e.id?"Restarting...":"Restart orchestrator"}):null,(0,s.jsx)("button",{type:"button",className:"project-sidebar__proj-menu-item",role:"menuitem",onClick:()=>{el(null),eo(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 eL(e),disabled:ei===e.id,children:ei===e.id?"Removing...":"Remove project"})]}):null]})]})]}),j?(0,s.jsx)("div",{className:"project-sidebar__degraded-note",children:"Config needs repair"}):null,!j&&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 Z===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)(K,{level:t}),(0,s.jsx)("input",{type:"text",autoFocus:!0,value:X,onChange:e=>Y(e.target.value),onKeyDown:t=>{"Enter"===t.key?(t.preventDefault(),eI(e.id)):"Escape"===t.key&&(t.preventDefault(),q(null),Y(""))},onFocus:e=>e.currentTarget.select(),onBlur:()=>void eI(e.id),maxLength:80,"aria-label":"Rename ".concat(e.id),className:"project-sidebar__sess-rename-input"})]},e.id):(0,s.jsx)(Q,{session:e,level:t,isActive:r,showSessionId:D,pendingRename:ee.get(e.id),onNavigate:eM,onStartRename:eP},e.id)}):v?(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:eb,children:[(0,s.jsxs)("button",{type:"button",onClick:()=>es(e=>!e),className:(0,i.cn)("project-sidebar__foot-btn",er&&"project-sidebar__foot-btn--active"),"aria-expanded":er,"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"})]}),er?(0,s.jsxs)("div",{ref:ef,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:I,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:R,onChange:e=>L(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:D,onChange:e=>A(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)(j.U,{className:"project-sidebar__theme-toggle"})]})]}):null]})})}),y?null:(0,s.jsx)("div",{className:"resize-handle resize-handle--right",onPointerDown:C,onDoubleClick:S}),(0,s.jsx)(T,{open:em,onClose:()=>ej(!1)}),(0,s.jsx)(B,{open:null!==en,projectId:en,onClose:()=>eo(null)})]})}},2286:(e,t,r)=>{r.d(t,{D:()=>d,N:()=>u});var s=r(6749),a=(e,t,r,s,a,l,n,o)=>{let i=document.documentElement,c=["light","dark"];function d(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,s=r&&l?a.map(e=>l[e]||e):a;r?(i.classList.remove(...s),i.classList.add(l&&l[t]?l[t]:t)):i.setAttribute(e,t)}),r=t,o&&c.includes(r)&&(i.style.colorScheme=r)}if(s)d(s);else try{let e=localStorage.getItem(t)||r,s=n&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;d(s)}catch(e){}},l=["light","dark"],n="(prefers-color-scheme: dark)",o="undefined"==typeof window,i=s.createContext(void 0),c={setTheme:e=>{},themes:[]},d=()=>{var e;return null!=(e=s.useContext(i))?e:c},u=e=>s.useContext(i)?s.createElement(s.Fragment,null,e.children):s.createElement(h,{...e}),p=["light","dark"],h=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:a=!0,enableColorScheme:o=!0,storageKey:c="theme",themes:d=p,defaultTheme:u=a?"system":"light",attribute:h="data-theme",value:x,children:_,nonce:v,scriptProps:g}=e,[y,w]=s.useState(()=>j(c,u)),[N,k]=s.useState(()=>"system"===y?f():y),C=x?Object.values(x):d,S=s.useCallback(e=>{let t=e;if(!t)return;"system"===e&&a&&(t=f());let s=x?x[t]:t,n=r?b(v):null,i=document.documentElement,c=e=>{"class"===e?(i.classList.remove(...C),s&&i.classList.add(s)):e.startsWith("data-")&&(s?i.setAttribute(e,s):i.removeAttribute(e))};if(Array.isArray(h)?h.forEach(c):c(h),o){let e=l.includes(u)?u:null,r=l.includes(t)?t:e;i.style.colorScheme=r}null==n||n()},[v]),E=s.useCallback(e=>{let t="function"==typeof e?e(y):e;w(t);try{localStorage.setItem(c,t)}catch(e){}},[y]),P=s.useCallback(e=>{k(f(e)),"system"===y&&a&&!t&&S("system")},[y,t]);s.useEffect(()=>{let e=window.matchMedia(n);return e.addListener(P),P(e),()=>e.removeListener(P)},[P]),s.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?w(e.newValue):E(u))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[E]),s.useEffect(()=>{S(null!=t?t:y)},[t,y]);let I=s.useMemo(()=>({theme:y,setTheme:E,forcedTheme:t,resolvedTheme:"system"===y?N:y,themes:a?[...d,"system"]:d,systemTheme:a?N:void 0}),[y,E,t,N,a,d]);return s.createElement(i.Provider,{value:I},s.createElement(m,{forcedTheme:t,storageKey:c,attribute:h,enableSystem:a,enableColorScheme:o,defaultTheme:u,value:x,themes:d,nonce:v,scriptProps:g}),_)},m=s.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:l,enableSystem:n,enableColorScheme:o,defaultTheme:i,value:c,themes:d,nonce:u,scriptProps:p}=e,h=JSON.stringify([l,r,i,t,d,c,n,o]).slice(1,-1);return s.createElement("script",{...p,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?u:"",dangerouslySetInnerHTML:{__html:"(".concat(a.toString(),")(").concat(h,")")}})}),j=(e,t)=>{let r;if(!o){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)}},f=e=>(e||(e=window.matchMedia(n)),e.matches?"dark":"light")},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}},2647:(e,t,r)=>{function s(e,t){let r=t.indexOf(e),s=(r<0?0:r)%8+1;return{slot:s,colorVar:"var(--project-color-".concat(s,")"),tintVar:"var(--project-tint-".concat(s,")")}}r.d(t,{$Z:()=>o,A_:()=>l,fQ:()=>s});let a={1:"bg-[var(--project-color-1)]",2:"bg-[var(--project-color-2)]",3:"bg-[var(--project-color-3)]",4:"bg-[var(--project-color-4)]",5:"bg-[var(--project-color-5)]",6:"bg-[var(--project-color-6)]",7:"bg-[var(--project-color-7)]",8:"bg-[var(--project-color-8)]"};function l(e){var t;return null!=(t=a[e])?t:"bg-[var(--project-color-1)]"}let n={1:"border-l-[color:var(--project-color-1)]",2:"border-l-[color:var(--project-color-2)]",3:"border-l-[color:var(--project-color-3)]",4:"border-l-[color:var(--project-color-4)]",5:"border-l-[color:var(--project-color-5)]",6:"border-l-[color:var(--project-color-6)]",7:"border-l-[color:var(--project-color-7)]",8:"border-l-[color:var(--project-color-8)]"};function o(e){var t;return null!=(t=n[e])?t:"border-l-[color:var(--project-color-1)]"}},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,m]=(0,a.useState)(r.runtime),[j,b]=(0,a.useState)(r.trackerPlugin),[f,x]=(0,a.useState)(r.scmPlugin),[_,v]=(0,a.useState)(r.reactions),[g,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:j.trim()?{plugin:j.trim()}:null,scm:f.trim()?{plugin:f.trim()}:null,reactions:_}),[u,h,j,f,_]),E=async()=>{let e;N(null),C(null);try{let t=_.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:g,className:"project-settings-form__save",children:g?"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:m,placeholder:"tmux"}),(0,s.jsx)(c,{id:"tracker-plugin",label:"Tracker plugin",value:j,onChange:b,placeholder:"github"}),(0,s.jsx)(c,{id:"scm-plugin",label:"SCM plugin",value:f,onChange:x,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:_,onChange:e=>v(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})})}},6004:(e,t,r)=>{r.d(t,{U:()=>i});var s=r(3817),a=r(2286),l=r(6749);let n=["dark","ocean","light"],o={dark:"dark",ocean:"ocean",light:"light"};function i(e){let{className:t,label:r}=e,{resolvedTheme:i,setTheme:c}=(0,a.D)(),[d,u]=(0,l.useState)(!1);if((0,l.useEffect)(()=>u(!0),[]),!d)return(0,s.jsx)("div",{className:null!=t?t:"h-9 w-9"});let p=null!=i?i:"dark",h=function(e){let t=n.indexOf(e);return n[(t+1)%n.length]}(p);return(0,s.jsxs)("button",{onClick:()=>c(h),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(o[h]," mode"),title:"Switch to ".concat(o[h]," mode"),children:["light"===p?(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"})]}):"ocean"===p?(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"})}):(0,s.jsxs)("svg",{className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:[(0,s.jsx)("path",{d:"M2 12c1.5-2 3.5-2 5 0s3.5 2 5 0 3.5-2 5 0"}),(0,s.jsx)("path",{d:"M2 17c1.5-2 3.5-2 5 0s3.5 2 5 0 3.5-2 5 0"}),(0,s.jsx)("path",{d:"M2 7c1.5-2 3.5-2 5 0s3.5 2 5 0 3.5-2 5 0"})]}),r?(0,s.jsx)("span",{children:r}):null]})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2554],{545:(e,t,n)=>{n.d(t,{Ou:()=>s,QN:()=>o,U1:()=>r.U1,dG:()=>l,fZ:()=>i,nH:()=>d,ng:()=>m,sZ:()=>a,wy:()=>f,y8:()=>c});var r=n(5425);function i(e){return e.mergeability.blockers.includes("API rate limited or unavailable")}function a(e){return!1===e.enriched}function o(e){return"open"===e.state&&e.mergeability.mergeable&&e.mergeability.ciPassing&&e.mergeability.approved&&e.mergeability.noConflicts}function s(e){var t,n,r;return null!=(r=null==(n=e.lifecycle)||null==(t=n.session)?void 0:t.label)?r:e.status.replace(/_/g," ")}function c(e){return e.lifecycle?"terminated"===e.lifecycle.sessionState:"terminated"===e.status||"killed"===e.status}function l(e){var t;return e.lifecycle?"done"===e.lifecycle.sessionState||c(e)||"merged"===e.lifecycle.prState:"merged"===e.status||"killed"===e.status||"cleanup"===e.status||"done"===e.status||"terminated"===e.status||(null==(t=e.pr)?void 0:t.state)==="merged"}function u(e){return null!==e.activity&&r.Rt.has(e.activity)}function d(e){return e.lifecycle?l(e)||"missing"===e.lifecycle.runtimeState||"exited"===e.lifecycle.runtimeState||u(e):r.CM.has(e.status)||u(e)}function f(e){return e.lifecycle?("done"===e.lifecycle.sessionState||c(e)||"missing"===e.lifecycle.runtimeState||"exited"===e.lifecycle.runtimeState||u(e))&&!r.N_.has(e.status)&&"merged"!==e.status:d(e)&&!r.N_.has(e.status)}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"detailed",n=function(e){var t,n,o,s,c,u,d,f,m;if(l(e))return"done";if((null==(t=e.lifecycle)?void 0:t.prReason)==="merge_ready"||(null==(n=e.lifecycle)?void 0:n.prReason)==="approved"||"mergeable"===e.status||"approved"===e.status||e.pr&&!a(e.pr)&&e.pr.mergeability.mergeable)return"merge";if((null==(o=e.lifecycle)?void 0:o.sessionState)==="detecting"||(null==(s=e.lifecycle)?void 0:s.sessionState)==="needs_input"||(null==(c=e.lifecycle)?void 0:c.sessionState)==="stuck"||e.status===r.SB.ERRORED||e.status===r.SB.NEEDS_INPUT||e.status===r.SB.STUCK||e.activity===r.u3.WAITING_INPUT||e.activity===r.u3.BLOCKED||e.activity===r.u3.EXITED)return"respond";if((null==(u=e.lifecycle)?void 0:u.prReason)==="ci_failing"||(null==(d=e.lifecycle)?void 0:d.prReason)==="changes_requested"||"ci_failed"===e.status||"changes_requested"===e.status)return"review";if(e.pr&&!i(e.pr)&&!a(e.pr)){let t=e.pr;if(t.ciStatus===r.U1.FAILING||"changes_requested"===t.reviewDecision||!t.mergeability.noConflicts)return"review"}if((null==(f=e.lifecycle)?void 0:f.prReason)==="review_pending"||(null==(m=e.lifecycle)?void 0:m.prReason)==="closed_unmerged"||"review_pending"===e.status)return"pending";if(e.pr&&!i(e.pr)&&!a(e.pr)){let t=e.pr;if(!t.isDraft&&t.unresolvedThreads>0||!t.isDraft&&("pending"===t.reviewDecision||"none"===t.reviewDecision))return"pending"}return"working"}(e);return"simple"===t&&("respond"===n||"review"===n)?"action":n}},3517:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(6749);function i(e){let{cssVar:t,storageKey:n,defaultWidth:i,min:a,max:o,edge:s}=e,c=(0,r.useRef)(i),l=(0,r.useCallback)(e=>{let n=Math.min(o,Math.max(a,e));c.current=n,document.documentElement.style.setProperty(t,"".concat(n,"px"))},[t,o,a]);return(0,r.useEffect)(()=>{let e=Number(window.localStorage.getItem(n));return l(Number.isFinite(e)&&e>0?e:i),()=>{document.documentElement.style.removeProperty(t)}},[l,t,i,n]),{onPointerDown:(0,r.useCallback)(e=>{e.preventDefault();let t=e.clientX,r=c.current,i="right"===s?1:-1;document.body.classList.add("is-resizing-x");let a=e=>{l(r+i*(e.clientX-t))},o=()=>{window.removeEventListener("pointermove",a),window.removeEventListener("pointerup",o),document.body.classList.remove("is-resizing-x"),window.localStorage.setItem(n,String(c.current))};window.addEventListener("pointermove",a),window.addEventListener("pointerup",o)},[l,s,n]),onDoubleClick:(0,r.useCallback)(()=>{l(i),window.localStorage.setItem(n,String(i))},[l,i,n])}}},4901:(e,t,n)=>{n.d(t,{cn:()=>r});function r(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")}},5425:(e,t,n)=>{n.d(t,{CM:()=>a,N_:()=>s,Rt:()=>o,SB:()=>i,U1:()=>l,tT:()=>c,u3:()=>r});let r={ACTIVE:"active",READY:"ready",IDLE:"idle",WAITING_INPUT:"waiting_input",BLOCKED:"blocked",EXITED:"exited"},i={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"},a=new Set(["killed","terminated","done","cleanup","errored","merged"]),o=new Set(["exited"]),s=new Set([]);function c(e,t,n){var r;if((null==(r=e.metadata)?void 0:r.role)==="orchestrator")return!0;if(!t)return!1;let i=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(e.id==="".concat(t,"-orchestrator"))return!0;if(!new RegExp("^".concat(i,"-orchestrator-\\d+$")).test(e.id))return!1;if(n){for(let r of n)if(r!==t&&new RegExp("^".concat(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"-\\d+$")).test(e.id))return!1}return!0}let l={PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"}},7387:(e,t,n)=>{function r(e,t){let n=e.replace(/^(?:feat|fix|chore|refactor|docs|test|ci|session|orchestrator|release|hotfix|feature|bugfix|build|wip|improvement)\//,"");return t&&n===t?"":n.replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function i(e){var t;if(e.displayName&&e.displayNameUserSet)return e.displayName;if(null==(t=e.pr)?void 0:t.title)return e.pr.title;if(e.issueTitle)return e.issueTitle;if(e.displayName)return e.displayName;if(e.userPrompt)return e.userPrompt;if(e.branch){let t=r(e.branch,e.id);if(t)return t}let n=e.metadata.pinnedSummary;return n||(e.summary&&!e.summaryIsFallback||e.summary?e.summary:e.status)}function a(e){let t=Date.now()-e;if(t<6e4)return"just now";let n=Math.floor(t/6e4);if(n<60)return"".concat(n,"m ago");let r=Math.floor(n/60);if(r<24)return"".concat(r,"h ago");let i=Math.floor(r/24);if(i<7)return"".concat(i,"d ago");let a=Math.floor(i/7);return"".concat(a,"w ago")}n.d(t,{Pn:()=>i,fw:()=>a,mC:()=>r})},7594:(e,t,n)=>{var r=n(9582);n.o(r,"useParams")&&n.d(t,{useParams:function(){return r.useParams}}),n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},8450:(e,t,n)=>{function r(e){return"/projects/".concat(encodeURIComponent(e))}function i(e,t){return"".concat(r(e),"?session=").concat(encodeURIComponent(t))}function a(e){return e?"/review?project=".concat(encodeURIComponent(e)):"/review?project=all"}function o(e,t){return"".concat(r(e),"/sessions/").concat(encodeURIComponent(t))}function s(e,t,n){return"".concat(o(e,t)).concat(n)}function c(e){return"/meta/".concat(encodeURIComponent(e))}n.d(t,{$l:()=>s,Nc:()=>o,bn:()=>r,jS:()=>c,l8:()=>i,nF:()=>a})},9120:(e,t,n)=>{n.d(t,{D:()=>i,U:()=>a});var r=n(6749);let i=767;function a(e){let t="number"==typeof e?"(max-width: ".concat(e,"px)"):e,[n,i]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=window.matchMedia(t);i(e.matches);let n=e=>{i(e.matches)};return"function"==typeof e.addEventListener?(e.addEventListener("change",n),()=>{e.removeEventListener("change",n)}):(e.addListener(n),()=>{e.removeListener(n)})},[t]),n}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3764],{2286:(e,t,r)=>{"use strict";r.d(t,{D:()=>d,N:()=>u});var n=r(6749),o=(e,t,r,n,o,l,a,i)=>{let s=document.documentElement,c=["light","dark"];function d(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&l?o.map(e=>l[e]||e):o;r?(s.classList.remove(...n),s.classList.add(l&&l[t]?l[t]:t)):s.setAttribute(e,t)}),r=t,i&&c.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){}},l=["light","dark"],a="(prefers-color-scheme: dark)",i="undefined"==typeof window,s=n.createContext(void 0),c={setTheme:e=>{},themes:[]},d=()=>{var e;return null!=(e=n.useContext(s))?e:c},u=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:o=!0,enableColorScheme:i=!0,storageKey:c="theme",themes:d=m,defaultTheme:u=o?"system":"light",attribute:h="data-theme",value:v,children:x,nonce:y,scriptProps:w}=e,[k,S]=n.useState(()=>p(c,u)),[E,C]=n.useState(()=>"system"===k?g():k),T=v?Object.values(v):d,j=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&o&&(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=l.includes(u)?u:null,r=l.includes(t)?t:e;s.style.colorScheme=r}null==a||a()},[y]),L=n.useCallback(e=>{let t="function"==typeof e?e(k):e;S(t);try{localStorage.setItem(c,t)}catch(e){}},[k]),M=n.useCallback(e=>{C(g(e)),"system"===k&&o&&!t&&j("system")},[k,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?S(e.newValue):L(u))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[L]),n.useEffect(()=>{j(null!=t?t:k)},[t,k]);let A=n.useMemo(()=>({theme:k,setTheme:L,forcedTheme:t,resolvedTheme:"system"===k?E:k,themes:o?[...d,"system"]:d,systemTheme:o?E:void 0}),[k,L,t,E,o,d]);return n.createElement(s.Provider,{value:A},n.createElement(f,{forcedTheme:t,storageKey:c,attribute:h,enableSystem:o,enableColorScheme:i,defaultTheme:u,value:v,themes:d,nonce:y,scriptProps:w}),x)},f=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:l,enableSystem:a,enableColorScheme:i,defaultTheme:s,value:c,themes:d,nonce:u,scriptProps:m}=e,h=JSON.stringify([l,r,s,t,d,c,a,i]).slice(1,-1);return n.createElement("script",{...m,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?u:"",dangerouslySetInnerHTML:{__html:"(".concat(o.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:()=>d});var n=r(3817),o=r(6749),l=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 d(){try{let e=getComputedStyle(document.documentElement).getPropertyValue("--font-jetbrains-mono").trim();return e?"".concat(e,", ").concat(c):c}catch(e){return c}}function u(e){let{sessionId:t,chromeless:r,isOpenCodeSession:l,reloadCommand:a,fontSize:s,setFontSize:c,fullscreen:d,toggleFullscreen:u,muxStatus:m}=e,[h,f]=(0,o.useState)(!1),[p,b]=(0,o.useState)(null);async function g(){if(l&&!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=l?(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:u,className:(0,i.cn)("terminal-chrome-fs-btn",r&&"flex items-center gap-1 px-2 py-0.5 text-[11px]"),"aria-label":d?"exit fullscreen":"fullscreen",title:d?"Exit fullscreen":"Fullscreen",children:d?(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",r={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"},n={...r,background:"#090b10",selectionBackground:"rgba(45, 212, 191, 0.28)",selectionInactiveBackground:"rgba(45, 212, 191, 0.12)",blue:"#2dd4bf",brightBlue:"#5de5d3",cyan:"#26c7b2",brightCyan:"#4ad5c4"};return{dark:r,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"},ocean:n}}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:k=!1,autoFocus:S=!1}=e,E=(0,l.useRouter)(),C=(0,l.usePathname)(),T=(0,l.useSearchParams)(),{resolvedTheme:j}=(0,a.D)(),L=(0,o.useRef)(null),[M,A]=(0,o.useState)(b),[N,F]=(0,o.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:B,scrollToLatest:z,muxStatus:_,terminalInstance:I,fitAddon:R}=function(e,t,n){let{appearance:l,variant:i,fontSize:c,autoFocus:u,projectId:p,tmuxName:b}=n,{resolvedTheme:g}=(0,a.D)(),v=(0,o.useMemo)(()=>f(i),[i]),{subscribeTerminal:x,writeTerminal:y,resizeTerminal:w,openTerminal:k,closeTerminal:S,status:E}=(0,m.Ug)(),C=(0,o.useRef)(null),T=(0,o.useRef)(null),[j,L]=(0,o.useState)(null),M=(0,o.useRef)(!0),[A,N]=(0,o.useState)(!0);return(0,o.useEffect)(()=>{if(!e.current)return;L(null);let n=!0,o=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"===l||"light"!==g,F="light"===g?v.light:"ocean"===g?v.ocean:v.dark,P=new m({cursorBlink:!0,fontSize:c,fontFamily:d(),lineHeight:1.2,theme:F,minimumContrastRatio:A?4.5:7,scrollback:0,allowProposedApi:!0,rescaleOverlappingGlyphs:!0,fastScrollSensitivity:3,scrollSensitivity:1}),B=new f;P.loadAddon(B),T.current=B;let z=new E;P.loadAddon(z),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)),o=new TextDecoder().decode(t);null==(n=navigator.clipboard)||n.writeText(o).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 _=null,I=requestAnimationFrame(()=>{if(n&&C.current)try{let e=new j;e.onContextLoss(()=>{e.dispose(),_=null}),P.loadAddon(e),_=e}catch(e){_=null}});u&&P.focus(),B.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=d(),null==(e=(r=C.current).clearTextureAtlas)||e.call(r),T.current.fit(),w(t,C.current.cols,C.current.rows,p)}catch(e){}},K="undefined"!=typeof document?document.fonts:void 0,D=!!K&&"function"==typeof K.addEventListener;D&&K.addEventListener("loadingdone",O);let W=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={...h,...r},o=e.element;if(!o)return()=>{};let l=o.style.touchAction;o.style.touchAction="none";let a=o.querySelector(".xterm-viewport");a&&(a.style.touchAction="none");let i=0,s=0,c=0,d=null,u=!1,m=e=>{"touch"===e.pointerType&&(i=e.clientX,s=e.clientY,c=e.clientY,d=null,u=!1)},f=l=>{var a,m,h;if("touch"!==l.pointerType)return;let f=l.clientX-i,p=l.clientY-s,b=Math.abs(f),g=Math.abs(p);if(null===d){if(Math.max(b,g)<n.deadZone)return;if(g<n.verticalDominance*b){d=!1;return}d=!0;try{o.setPointerCapture(l.pointerId)}catch(e){}}if(!0!==d)return;l.preventDefault();let v=Math.round((l.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=l.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{u||(u=!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{o.hasPointerCapture(e.pointerId)&&o.releasePointerCapture(e.pointerId)}catch(e){}d=null}},b={capture:!0},g={capture:!0,passive:!1};return o.addEventListener("pointerdown",m,b),o.addEventListener("pointermove",f,g),o.addEventListener("pointerup",p,b),o.addEventListener("pointercancel",p,b),()=>{o.removeEventListener("pointerdown",m,b),o.removeEventListener("pointermove",f,g),o.removeEventListener("pointerup",p,b),o.removeEventListener("pointercancel",p,b),o.style.touchAction=l}}(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;k(t,p,b,P.cols,P.rows),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=()=>{B&&(B.fit(),w(t,P.cols,P.rows,p))};window.addEventListener("resize",ee),a=P.onData(e=>{y(t,e,p)}),P.attachCustomKeyEventHandler(e=>"keydown"!==e.type||"Enter"!==e.key||!e.shiftKey||(y(t,"\n",p),!1)),w(t,P.cols,P.rows,p),o=()=>{var e;clearTimeout(R),cancelAnimationFrame(I);try{null==_||_.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),D&&K&&K.removeEventListener("loadingdone",O),$.dispose(),null==a||a.dispose(),a=null,null==i||i(),S(t,p),P.dispose()}}).catch(e=>{console.error("[DirectTerminal] Failed to load xterm.js:",e),L("Failed to load terminal")}),()=>{n=!1,null==o||o()}},[l,t,p,b,i,g,v,x,y,w,k,S]),(0,o.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,o.useEffect)(()=>{let e=C.current;if(!e)return;let t="dark"===l||"light"!==g;e.options.theme="light"===g?v.light:"ocean"===g?v.ocean:v.dark,e.options.minimumContrastRatio=t?4.5:7},[l,g,v]),(0,o.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:S,projectId:c,tmuxName:p}),{resizeTerminal:O,status:K}=(0,m.Ug)(),D=(0,o.useRef)(K);D.current=K,(0,o.useEffect)(()=>{let e=R.current,r=I.current,n=L.current;if(!e||!r||"connected"!==D.current||!n)return;let o=0,l=!1,a=0,i=-1,s=()=>{if(l)return;o++;let d=n.getBoundingClientRect().height,u=i>=0&&1>Math.abs(d-i);if(i=d,!u&&o<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 d=e=>{l||e.target===n.parentElement&&(o=0,i=-1,setTimeout(()=>{l||(a=requestAnimationFrame(s))},50))},u=n.parentElement;null==u||u.addEventListener("transitionend",d);let m=setTimeout(()=>{l||(o=0,i=-1,s())},300),h=setTimeout(()=>{l||(o=0,i=-1,s())},600);return()=>{l=!0,cancelAnimationFrame(a),null==u||u.removeEventListener("transitionend",d),clearTimeout(m),clearTimeout(h)}},[M,t,c,O,L,R,I]),(0,o.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]",k&&"border-0"),children:[(0,n.jsx)(u,{sessionId:t,chromeless:k,isOpenCodeSession:y,reloadCommand:w,fontSize:N,setFontSize:F,fullscreen:M,toggleFullscreen:()=>A(e=>!e),muxStatus:_,error:P}),(0,n.jsxs)("div",{className:"relative flex-1 min-h-0 flex flex-col",children:[B?null:(0,n.jsx)("button",{type:"button",onClick:z,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"})]})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
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)([]),[v,y]=(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),w=(0,o.useRef)(null),k=(0,o.useRef)({}),E=(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")}(k.current);console.log("[MuxProvider] Connecting to",e);let t=new WebSocket(e);r.current=t,t.addEventListener("open",()=>{if(E.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},...void 0!==e.cols&&{cols:e.cols},...void 0!==e.rows&&{rows:e.rows}};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),y(t.notifications.slice(-t.limit)),b(null)):"append"===t.type?(g(t.limit),y(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),E.current)return;let e=Math.min(1e3*Math.pow(2,N.current),3e4);N.current+=1,f("reconnecting"),w.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)(()=>{E.current=!1;let e=!1;return(async()=>{try{let e=await fetch("/api/runtime/terminal");if(e.ok){let t=await e.json();k.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,E.current=!0,w.current&&clearTimeout(w.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,o,c)=>{var i;if(s.current.set(a(e,t),{id:e,projectId:t,tmuxName:n,cols:o,rows:c}),(null==(i=r.current)?void 0:i.readyState)===WebSocket.OPEN){let i={ch:"terminal",id:e,type:"open",...t&&{projectId:t},...n&&{tmuxName:n},...void 0!==o&&{cols:o},...void 0!==c&&{rows:c}};r.current.send(JSON.stringify(i))}},[]),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:v,notificationLimit:h,lastError:S,notificationError:P}),[C,I,T,O,W,d,p,v,h,S,P]);return(0,n.jsx)(i.Provider,{value:j,children:t})}}}]);
|