antigravity-mobile-proxy 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +21 -15
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +36 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/accept-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/active/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/diff/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/changes/reject-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/action/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/agent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/history/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/mode/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/monitor/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/new/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/stop/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/stream/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/active/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/select/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/dom/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/scrape/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/git/commit/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/commit/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/commit/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/diff/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/diff/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/diff/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/push/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/push/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/push/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/status/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/git/status/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/open/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/recent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/select/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/workspace/content/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/workspace/content/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/workspace/content/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/workspace/files/route.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/workspace/files/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/workspace/files/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/debug/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/~offline/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +21 -15
- package/.next/standalone/.next/server/chunks/1565.js +1 -1
- package/.next/standalone/.next/server/chunks/8107.js +1 -1
- package/.next/standalone/.next/server/chunks/948.js +1 -1
- package/.next/standalone/.next/server/instrumentation.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/static/chunks/app/_global-error/page-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/_not-found/page-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/artifacts/[convId]/[filename]/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/artifacts/[convId]/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/artifacts/active/[filename]/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/artifacts/active/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/artifacts/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/changes/accept-all/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/changes/active/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/changes/diff/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/changes/reject-all/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/action/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/agent/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/approve/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/history/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/mode/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/monitor/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/new/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/reject/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/state/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/stop/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/stream/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/conversations/active/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/conversations/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/conversations/select/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/debug/dom/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/debug/scrape/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/git/commit/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/git/diff/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/git/push/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/git/status/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/health/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/cdp-start/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/cdp-status/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/close/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/open/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/recent/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/windows/select/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/workspace/content/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/api/v1/workspace/files/route-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/{layout-cc611f198bd594a0.js → layout-7757590e84032b92.js} +1 -1
- package/.next/static/chunks/app/not-found-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/app/page-b59642b4851f2952.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cc79d4c747fe87b0.js +1 -0
- package/.next/static/chunks/{webpack-a8bd1bf5f31e6ddd.js → webpack-503a6513e11f0c2a.js} +1 -1
- package/.next/static/css/742a8e5707969683.css +1 -0
- package/.next/static/css/a9fb7d1761d6ce7a.css +1 -0
- package/.next/static/v1.1.4/_buildManifest.js +1 -0
- package/package.json +9 -3
- package/public/sw.js +1 -1
- package/.next/package.json +0 -1
- package/.next/standalone/.next/package.json +0 -1
- package/.next/standalone/package.json +0 -82
- package/.next/static/chunks/app/_global-error/page-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/_not-found/page-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/artifacts/[convId]/[filename]/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/artifacts/[convId]/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/artifacts/active/[filename]/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/artifacts/active/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/artifacts/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/changes/accept-all/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/changes/active/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/changes/diff/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/changes/reject-all/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/action/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/agent/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/approve/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/history/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/mode/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/monitor/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/new/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/reject/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/state/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/stop/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/stream/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/conversations/active/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/conversations/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/conversations/select/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/debug/dom/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/debug/scrape/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/health/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/cdp-start/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/cdp-status/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/close/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/open/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/recent/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/api/v1/windows/select/route-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/not-found-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/app/page-08b53f22073517a9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-691720a1ac05c31e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-691720a1ac05c31e.js +0 -1
- package/.next/static/css/5bd02429b9414cd4.css +0 -1
- package/.next/static/v1.1.2/_buildManifest.js +0 -1
- /package/.next/static/{v1.1.2 → v1.1.4}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
from { transform: translateY(100%); opacity: 0; }
|
|
4
4
|
to { transform: translateY(0); opacity: 1; }
|
|
5
5
|
}
|
|
6
|
-
`}),(0,n.jsx)("div",{style:{width:44,height:44,borderRadius:10,overflow:"hidden",flexShrink:0,border:"1px solid rgba(139, 92, 246, 0.2)"},children:(0,n.jsx)(a.default,{src:"/icons/icon-192.png",alt:"Antigravity",width:44,height:44,style:{display:"block"}})}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{color:"#f0f0f5",fontSize:"14px",fontWeight:600,fontFamily:"Inter, system-ui, sans-serif"},children:"Install Antigravity"}),(0,n.jsx)("div",{style:{color:"#9ca3af",fontSize:"12px",fontFamily:"Inter, system-ui, sans-serif",marginTop:2},children:s?'Tap the Share button, then "Add to Home Screen"':"Add to home screen for quick access"})]}),!s&&(0,n.jsx)("button",{onClick:d,style:{padding:"8px 16px",borderRadius:8,border:"none",background:"linear-gradient(135deg, #8b5cf6, #6d28d9)",color:"#fff",fontSize:"13px",fontWeight:600,fontFamily:"Inter, system-ui, sans-serif",cursor:"pointer",flexShrink:0,whiteSpace:"nowrap"},children:"Install"}),(0,n.jsx)("button",{onClick:c,style:{background:"none",border:"none",color:"#6b7280",fontSize:"18px",cursor:"pointer",padding:"4px",lineHeight:1,flexShrink:0},"aria-label":"Dismiss install prompt",children:"✕"})]})}},3911:(e,t,i)=>{Promise.resolve().then(i.bind(i,416)),Promise.resolve().then(i.t.bind(i,1593,23)),Promise.resolve().then(i.t.bind(i,3238,23)),Promise.resolve().then(i.t.bind(i,6872,23))},6872:()=>{}},e=>{e.O(0,[
|
|
6
|
+
`}),(0,n.jsx)("div",{style:{width:44,height:44,borderRadius:10,overflow:"hidden",flexShrink:0,border:"1px solid rgba(139, 92, 246, 0.2)"},children:(0,n.jsx)(a.default,{src:"/icons/icon-192.png",alt:"Antigravity",width:44,height:44,style:{display:"block"}})}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{color:"#f0f0f5",fontSize:"14px",fontWeight:600,fontFamily:"Inter, system-ui, sans-serif"},children:"Install Antigravity"}),(0,n.jsx)("div",{style:{color:"#9ca3af",fontSize:"12px",fontFamily:"Inter, system-ui, sans-serif",marginTop:2},children:s?'Tap the Share button, then "Add to Home Screen"':"Add to home screen for quick access"})]}),!s&&(0,n.jsx)("button",{onClick:d,style:{padding:"8px 16px",borderRadius:8,border:"none",background:"linear-gradient(135deg, #8b5cf6, #6d28d9)",color:"#fff",fontSize:"13px",fontWeight:600,fontFamily:"Inter, system-ui, sans-serif",cursor:"pointer",flexShrink:0,whiteSpace:"nowrap"},children:"Install"}),(0,n.jsx)("button",{onClick:c,style:{background:"none",border:"none",color:"#6b7280",fontSize:"18px",cursor:"pointer",padding:"4px",lineHeight:1,flexShrink:0},"aria-label":"Dismiss install prompt",children:"✕"})]})}},3911:(e,t,i)=>{Promise.resolve().then(i.bind(i,416)),Promise.resolve().then(i.t.bind(i,1593,23)),Promise.resolve().then(i.t.bind(i,3238,23)),Promise.resolve().then(i.t.bind(i,6872,23))},6872:()=>{}},e=>{e.O(0,[958,7513,7101,8441,8928,7358],()=>e(e.s=3911)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{5035:(e,t,s)=>{Promise.resolve().then(s.bind(s,8668))},8668:(e,t,s)=>{"use strict";s.d(t,{default:()=>L});var n=s(5155),i=s(2115),a=s(901),l=s(4855);let r="/api/v1",c=e=>fetch(e).then(e=>e.json()),o={windows:`${r}/windows`,cdpStatus:`${r}/windows/cdp-status`,conversations:`${r}/conversations`,recentProjects:`${r}/windows/recent`,artifacts:`${r}/artifacts/active`,changes:`${r}/changes/active`,git:`${r}/git/status`,workspace:`${r}/workspace/files`,history:`${r}/chat/history`,mode:`${r}/chat/mode`,agent:`${r}/chat/agent`,health:`${r}/health`},d="/api/v1",h="/api/v1";function m(e){if(!e)return"";let t=new Date(e),s=Math.floor((Date.now()-t.getTime())/6e4);if(s<1)return"now";if(s<60)return`${s}m ago`;let n=Math.floor(s/60);if(n<24)return`${n} hr${1!==n?"s":""} ago`;let i=Math.floor(n/24);if(i<7)return`${i} day${1!==i?"s":""} ago`;let a=Math.floor(i/7);return`${a} wk${1!==a?"s":""} ago`}function p({conversations:e,activeConversation:t,onSelect:s}){let[a,l]=(0,i.useState)(!1),[r,c]=(0,i.useState)(!1),o=(0,i.useRef)(null),d=(0,i.useCallback)(()=>{l(!1),c(!1)},[]);(0,i.useEffect)(()=>{let e=e=>{o.current&&!o.current.contains(e.target)&&d()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[d]);let h=e.find(e=>e.active)||null,p=[...e.filter(e=>!e.active)].sort((e,t)=>e.mtime||t.mtime?e.mtime?t.mtime?new Date(t.mtime).getTime()-new Date(e.mtime).getTime():-1:1:0),x=r?p:p.slice(0,5),u=p.length-5;return(0,n.jsxs)("div",{ref:o,className:`conv-selector-wrapper ${a?"open":""}`,children:[(0,n.jsxs)("button",{className:"conv-selector-btn",onClick:()=>l(!a),title:"Switch conversation",children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),(0,n.jsx)("span",{children:t?.title?.substring(0,22)||"Select a conversation"}),(0,n.jsx)("svg",{className:"chevron",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,n.jsxs)("div",{className:`conv-dropdown ${a?"open":""}`,children:[(0,n.jsx)("div",{className:"conv-dropdown-header",children:"Select a conversation"}),(0,n.jsxs)("div",{className:"conv-dropdown-list",children:[h&&(0,n.jsxs)("div",{className:"conv-section",children:[(0,n.jsx)("div",{className:"conv-section-label",children:"Current"}),(0,n.jsx)("button",{className:"conv-item active",onClick:()=>{-1!==h.index&&s(h.title),d()},children:(0,n.jsxs)("div",{className:"conv-item-header",children:[(0,n.jsx)("span",{className:"conv-item-title",children:h.title||"Untitled"}),h.mtime&&(0,n.jsx)("span",{className:"conv-item-time",children:m(h.mtime)}),(0,n.jsx)("span",{role:"button",tabIndex:0,className:"conv-item-action",title:"Current conversation",onClick:e=>e.stopPropagation(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&e.stopPropagation()},children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6l-1 14H6L5 6"}),(0,n.jsx)("path",{d:"M10 11v6M14 11v6"}),(0,n.jsx)("path",{d:"M9 6V4h6v2"})]})})]})})]}),x.length>0&&(0,n.jsxs)("div",{className:"conv-section",children:[(0,n.jsxs)("div",{className:"conv-section-label",children:["Recent",p.length>0&&(0,n.jsx)("span",{className:"conv-section-count",children:p.length})]}),x.map((e,t)=>{let i=e.title||e.id.substring(0,20)+"…";return(0,n.jsx)("button",{className:"conv-item",onClick:()=>{s(e.title),d()},children:(0,n.jsxs)("div",{className:"conv-item-header",children:[e.active&&(0,n.jsx)("span",{className:"conv-item-dot active"}),(0,n.jsx)("span",{className:"conv-item-title",children:i}),e.mtime&&(0,n.jsx)("span",{className:"conv-item-time",children:m(e.mtime)})]})},`conv-${t}`)}),!r&&u>0&&(0,n.jsxs)("button",{className:"conv-show-more",onClick:e=>{e.stopPropagation(),c(!0)},children:["Show ",u," more…"]})]}),0===e.length&&(0,n.jsx)("div",{className:"conv-dropdown-empty",children:"No conversations found"})]})]})]})}function x({statusState:e,statusText:t,windows:s,conversations:a,activeConversation:l,cdpStatus:r,recentProjects:c,onSelectWindow:o,onSelectConversation:d,onNewChat:h,onStartCdp:m,onOpenWindow:x,onCloseWindow:u}){let[g,j]=(0,i.useState)(!1),[v,f]=(0,i.useState)(""),[w,y]=(0,i.useState)(!1),[k,N]=(0,i.useState)(!1),[b,C]=(0,i.useState)(null),S=(0,i.useRef)(null),$=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=e=>{S.current&&!S.current.contains(e.target)&&j(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,i.useEffect)(()=>{if(b){let e=setTimeout(()=>C(null),4e3);return()=>clearTimeout(e)}},[b]);let W=async()=>{let e=c.length>0?c[0].path:".";N(!0),C(null);try{let t=await m(e,!0);C({text:t.message||(t.success?"CDP started!":"Failed to start CDP"),type:t.success?"success":"error"})}catch{C({text:"Failed to start CDP server",type:"error"})}finally{N(!1)}},B=async e=>{e.preventDefault();let t=v.trim();if(t&&!w){y(!0),C(null);try{let e=await x(t);C({text:e.message||(e.success?"Window opened!":"Failed to open"),type:e.success?"success":"error"}),e.success&&f("")}catch{C({text:"Failed to open window",type:"error"})}finally{y(!1)}}},T=async(e,t,n)=>{if(n.stopPropagation(),!window.confirm(`Close window "${s[e]?.title||e}"?`))return;let i=await u(e,t);C({text:i.message||(i.success?"Closed!":"Failed to close"),type:i.success?"success":"error"})};return(0,n.jsxs)("header",{className:"header",children:[(0,n.jsx)("div",{className:"header-left",children:(0,n.jsx)("div",{className:"logo",children:(0,n.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"url(#header-gradient)",strokeWidth:"1.5",children:[(0,n.jsx)("defs",{children:(0,n.jsxs)("linearGradient",{id:"header-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,n.jsx)("stop",{offset:"0%",style:{stopColor:"#6366f1"}}),(0,n.jsx)("stop",{offset:"100%",style:{stopColor:"#a855f7"}})]})}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}),(0,n.jsx)("line",{x1:"2",y1:"12",x2:"22",y2:"12"})]})})}),(0,n.jsxs)("div",{className:"header-right",children:[(0,n.jsx)(p,{conversations:a,activeConversation:l,onSelect:d}),(0,n.jsxs)("div",{ref:S,className:`window-selector-wrapper ${g?"open":""}`,children:[(0,n.jsxs)("button",{className:"window-selector-btn",onClick:()=>j(!g),title:"Manage Antigravity windows",children:[(0,n.jsx)("span",{className:`cdp-indicator ${r.active?"active":"inactive"}`}),(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),(0,n.jsx)("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),(0,n.jsx)("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]}),(0,n.jsx)("span",{style:{maxWidth:"120px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"inline-block",verticalAlign:"bottom"},children:s.find(e=>e.active)?.title||"Windows"}),(0,n.jsx)("svg",{className:"chevron",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,n.jsxs)("div",{className:`window-dropdown ${g?"open":""}`,children:[(0,n.jsxs)("div",{className:"wm-cdp-status",children:[(0,n.jsxs)("div",{className:"wm-cdp-info",children:[(0,n.jsx)("span",{className:`wm-cdp-dot ${r.active?"active":"inactive"}`}),(0,n.jsx)("span",{children:r.active?`CDP Active \xb7 ${r.windowCount} window${1!==r.windowCount?"s":""}`:"CDP Inactive"})]}),!r.active&&(0,n.jsxs)("button",{className:"wm-cdp-start-btn",onClick:W,disabled:k,title:"Start Antigravity with CDP",children:[k?(0,n.jsx)("span",{className:"wm-spinner"}):(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polygon",{points:"5 3 19 12 5 21 5 3"})}),k?"Starting...":"Start CDP"]})]}),(0,n.jsx)("div",{className:"window-dropdown-header",children:"Open Windows"}),s.map(e=>(0,n.jsxs)("div",{className:`window-item ${e.active?"active":""}`,children:[(0,n.jsxs)("button",{className:"window-item-select",onClick:()=>{o(e.index),j(!1)},children:[(0,n.jsx)("span",{className:"window-dot"}),(0,n.jsx)("span",{className:"window-item-title",children:e.title})]}),(0,n.jsx)("button",{className:"window-item-close",onClick:t=>T(e.index,e.targetId,t),title:`Close "${e.title}"`,children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},e.index)),0===s.length&&(0,n.jsx)("div",{style:{padding:"12px",color:"var(--text-muted)",fontSize:"12px"},children:"No windows detected"}),c.length>0&&(0,n.jsxs)("div",{className:"wm-recent-section",children:[(0,n.jsx)("div",{className:"wm-recent-header",children:"Recent Projects"}),c.map(e=>(0,n.jsxs)("button",{className:"wm-recent-item",onClick:async()=>{y(!0),C(null);try{let t=await x(e.path);C({text:t.message||(t.success?"Opened!":"Failed"),type:t.success?"success":"error"})}catch{C({text:"Failed to open",type:"error"})}finally{y(!1)}},disabled:w,title:e.path,children:[(0,n.jsx)("svg",{className:"wm-recent-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),(0,n.jsxs)("div",{className:"wm-recent-info",children:[(0,n.jsx)("span",{className:"wm-recent-name",children:e.name}),(0,n.jsx)("span",{className:"wm-recent-path",children:e.path})]})]},e.path))]}),(0,n.jsxs)("div",{className:"wm-open-section",children:[(0,n.jsx)("div",{className:"wm-open-label",children:"Open New Window"}),(0,n.jsxs)("form",{className:"wm-open-form",onSubmit:B,children:[(0,n.jsx)("input",{ref:$,type:"text",className:"wm-open-input",value:v,onChange:e=>f(e.target.value),placeholder:"/path/to/project",disabled:w}),(0,n.jsx)("button",{type:"submit",className:"wm-open-btn",disabled:w||!v.trim(),title:"Open directory in Antigravity",children:w?(0,n.jsx)("span",{className:"wm-spinner"}):(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]})]}),b&&(0,n.jsx)("div",{className:`wm-action-message ${b.type}`,children:b.text})]})]}),(0,n.jsx)("button",{className:"icon-btn",onClick:h,title:"New Chat","aria-label":"New Chat",children:(0,n.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]})]})}function u({onQuickPrompt:e}){return(0,n.jsxs)("div",{className:"welcome-screen",children:[(0,n.jsx)("div",{className:"welcome-icon",children:(0,n.jsxs)("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"url(#gradient)",strokeWidth:"1.5",children:[(0,n.jsx)("defs",{children:(0,n.jsxs)("linearGradient",{id:"gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,n.jsx)("stop",{offset:"0%",style:{stopColor:"#6366f1"}}),(0,n.jsx)("stop",{offset:"100%",style:{stopColor:"#a855f7"}})]})}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}),(0,n.jsx)("line",{x1:"2",y1:"12",x2:"22",y2:"12"})]})}),(0,n.jsx)("h2",{children:"Antigravity Agent"}),(0,n.jsx)("p",{children:"Ask anything. The agent has access to your IDE — files, terminal, search, and more."}),(0,n.jsxs)("div",{className:"quick-prompts",children:[(0,n.jsx)("button",{className:"quick-prompt",onClick:()=>e("What files are in the current workspace?"),children:"\uD83D\uDCC1 List workspace files"}),(0,n.jsx)("button",{className:"quick-prompt",onClick:()=>e("Explain the architecture of this project"),children:"\uD83C\uDFD7️ Explain architecture"}),(0,n.jsx)("button",{className:"quick-prompt",onClick:()=>e("Help me debug the most recent error"),children:"\uD83D\uDC1B Debug last error"})]})]})}function g({content:e}){return(0,n.jsx)("div",{className:"user-message",children:(0,n.jsx)("div",{className:"message-content",children:e})})}let j={command:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>',file:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>',search:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>',read:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>',browser:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>',mcp:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v6M12 22v-6M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M2 12h6M22 12h-6M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24"/><circle cx="12" cy="12" r="4"/></svg>'},v='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>';function f(e){let t=e.toLowerCase();return"deny"===t||"block"===t||"reject"===t?"permission-btn deny":"allow"===t||"allow once"===t||"allow this conversation"===t?"permission-btn allow":"tool-footer-btn"}function w({data:e,onAction:t}){let s,i="permission required"===(s=(e.status||"").toLowerCase())?"permission":s.startsWith("running")||s.startsWith("editing")||s.startsWith("creating")||s.startsWith("search")?"running":s.startsWith("ran")||s.startsWith("edited")||s.startsWith("created")||s.startsWith("read")||s.startsWith("viewed")||s.startsWith("analyzed")||s.startsWith("wrote")||s.startsWith("replaced")||s.startsWith("deleted")?"done":s.includes("error")||s.includes("fail")?"error":s.startsWith("mcp")?"mcp":"running",a="permission"===i,l=a?v:j[e.type]||j.file,r=async s=>{if(t)return void t(e.id,s);try{await fetch("/api/v1/chat/action",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toolId:e.id,buttonText:s})})}catch{}};return a?(0,n.jsxs)("div",{className:"permission-card","data-tool-index":e.index,children:[(0,n.jsxs)("div",{className:"permission-header",children:[(0,n.jsx)("span",{className:"permission-icon",dangerouslySetInnerHTML:{__html:v}}),(0,n.jsx)("span",{className:"permission-title",children:"Permission Required"})]}),e.path?(0,n.jsxs)("div",{className:"permission-description",children:["The agent needs access to: ",(0,n.jsx)("code",{className:"permission-path",children:e.path})]}):(0,n.jsx)("div",{className:"permission-description",children:"The agent is requesting your approval to proceed."}),e.footerButtons&&e.footerButtons.length>0&&(0,n.jsx)("div",{className:"permission-actions",children:e.footerButtons.map((e,t)=>(0,n.jsx)("button",{className:f(e),onClick:()=>r(e),children:e},t))})]}):(0,n.jsxs)("div",{className:`tool-call-card ${i}`,"data-tool-index":e.index,children:[(0,n.jsxs)("div",{className:"tool-header",children:[(0,n.jsx)("span",{className:"tool-icon",dangerouslySetInnerHTML:{__html:l}}),(0,n.jsx)("span",{className:"tool-status-text",children:e.status}),e.path&&(0,n.jsx)("span",{className:"tool-path",title:e.path,children:e.path})]}),e.command&&(0,n.jsx)("div",{className:"tool-command",children:(0,n.jsx)("code",{children:e.command})}),(e.additions||e.deletions)&&(0,n.jsxs)("div",{className:"tool-file-changes",children:[e.additions&&(0,n.jsx)("span",{className:"tool-additions",children:e.additions}),e.deletions&&(0,n.jsx)("span",{className:"tool-deletions",children:e.deletions})]}),e.exitCode&&(0,n.jsx)("div",{className:"tool-exit-code",children:e.exitCode}),e.terminalOutput&&(0,n.jsx)("div",{className:"tool-terminal",children:e.terminalOutput}),e.footerButtons&&e.footerButtons.length>0&&(0,n.jsx)("div",{className:"tool-footer-actions",children:e.footerButtons.map((e,t)=>(0,n.jsx)("button",{className:f(e),onClick:()=>r(e),children:e},t))})]})}function y({time:e}){return(0,n.jsxs)("div",{className:"thinking-block",children:[(0,n.jsx)("span",{className:"thinking-icon",children:"\uD83D\uDCAD"}),(0,n.jsx)("span",{children:e})]})}function k(){return(0,n.jsxs)("div",{className:"typing-indicator",children:[(0,n.jsx)("div",{className:"typing-dot"}),(0,n.jsx)("div",{className:"typing-dot"}),(0,n.jsx)("div",{className:"typing-dot"})]})}function N({content:e,steps:t,isStreaming:s,onRetry:i}){return(0,n.jsxs)("div",{className:`agent-message ${s?"streaming":""}`,children:[(0,n.jsxs)("div",{className:"agent-steps",children:[t.map((e,t)=>{switch(e.type){case"thinking":return(0,n.jsx)(y,{time:e.data.time},`step-${t}`);case"tool_call":return(0,n.jsx)(w,{data:e.data},`step-${t}`);case"hitl":case"notification":default:return null;case"file_change":return(0,n.jsxs)("div",{className:"file-change-indicator",children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),(0,n.jsx)("span",{className:"file-change-name",children:e.data.fileName})]},`step-${t}`);case"error":return(0,n.jsxs)("div",{className:"error-banner",children:[(0,n.jsxs)("div",{style:{marginBottom:!s&&i?"8px":"0"},children:["⚠️ ",String(e.data.message)]}),!s&&i&&(0,n.jsx)("button",{className:"px-3 py-1 bg-red-100 text-red-800 rounded hover:bg-red-200 transition-colors text-sm font-medium",onClick:i,children:"Try Again"})]},`step-${t}`)}}),s&&(0,n.jsx)(k,{})]}),e&&(0,n.jsx)("div",{className:"agent-response",dangerouslySetInnerHTML:{__html:e}})]})}function b({messages:e,currentSteps:t,currentResponse:s,isStreaming:i,onRetry:a}){return(0,n.jsxs)(n.Fragment,{children:[e.map((e,t)=>"user"===e.role?(0,n.jsx)(g,{content:e.content},`msg-${t}`):(0,n.jsx)(N,{content:e.content,steps:e.steps||[],isStreaming:!1,onRetry:a},`msg-${t}`)),i&&(0,n.jsx)(N,{content:s,steps:t,isStreaming:!0,onRetry:a})]})}function C({onSend:e,onStop:t,isStreaming:s,currentMode:a,onToggleMode:l,currentAgent:r,agents:c,isLoadingAgents:o,onFetchAgents:d,onSwitchAgent:h,onToggleArtifacts:m,artifactCount:p,artifactPanelOpen:x,onToggleChanges:u,changesCount:g,changesPanelOpen:j,onToggleGit:v,gitChangedCount:f,gitPanelOpen:w,onToggleWorkspace:y,workspacePanelOpen:k}){let[N,b]=(0,i.useState)(""),[C,S]=(0,i.useState)(!1),$=(0,i.useRef)(null),W=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=e=>{W.current&&!W.current.contains(e.target)&&S(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,i.useEffect)(()=>{$.current?.focus()},[]);let B=r?r.replace(/^(Claude\s+|Google\s+|OpenAI\s+)/i,"").substring(0,20):"Agent";return(0,n.jsxs)("footer",{className:"input-area",children:[(0,n.jsxs)("div",{className:"input-toolbar",children:[(0,n.jsxs)("div",{ref:W,className:"agent-selector-wrapper",children:[(0,n.jsxs)("button",{className:"agent-selector-btn",onClick:()=>{C||d(),S(!C)},title:r?`Agent: ${r} — Click to switch`:"Select AI agent","aria-label":`Switch agent (currently ${r||"unknown"})`,type:"button",children:[(0,n.jsx)("span",{className:"agent-icon",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("path",{d:"M12 2a4 4 0 0 1 4 4v2a4 4 0 0 1-8 0V6a4 4 0 0 1 4-4z"}),(0,n.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-3-3.87"}),(0,n.jsx)("path",{d:"M4 21v-2a4 4 0 0 1 3-3.87"}),(0,n.jsx)("circle",{cx:"12",cy:"17",r:"1"}),(0,n.jsx)("path",{d:"M9 17h6"})]})}),(0,n.jsx)("span",{className:"agent-label",children:B}),(0,n.jsx)("svg",{className:`agent-chevron ${C?"open":""}`,width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,n.jsxs)("div",{className:`agent-dropdown ${C?"open":""}`,children:[(0,n.jsx)("div",{className:"agent-dropdown-header",children:"Select Agent"}),o?(0,n.jsxs)("div",{className:"agent-dropdown-loading",children:[(0,n.jsx)("span",{className:"wm-spinner"}),(0,n.jsx)("span",{children:"Loading agents..."})]}):0===c.length?(0,n.jsx)("div",{className:"agent-dropdown-empty",children:"No agents detected. Make sure the IDE has a workbench open."}):(0,n.jsx)("div",{className:"agent-dropdown-list",children:c.map((e,t)=>(0,n.jsxs)("button",{className:`agent-option ${e.active?"active":""} ${r===e.name?"current":""}`,onClick:()=>{h(e.name),S(!1)},type:"button",children:[(0,n.jsx)("span",{className:"agent-option-name",children:e.name}),e.description&&(0,n.jsx)("span",{className:"agent-option-desc",children:e.description}),(e.active||r===e.name)&&(0,n.jsx)("svg",{className:"agent-check",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})})]},t))})]})]}),(0,n.jsxs)("button",{className:`mode-toggle ${a}`,onClick:l,title:`Mode: ${"planning"===a?"Planning":"Fast"} — Click to switch`,"aria-label":`Switch mode (currently ${a})`,type:"button",children:[(0,n.jsx)("span",{className:"mode-icon",children:"planning"===a?"\uD83D\uDCCB":"⚡"}),(0,n.jsx)("span",{className:"mode-label",children:"planning"===a?"Plan":"Fast"})]}),(0,n.jsxs)("button",{className:`artifact-toggle-btn ${x?"active":""}`,onClick:m,title:`Artifacts${p>0?` (${p})`:""}`,"aria-label":"Toggle artifacts panel",type:"button",children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,n.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,n.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),(0,n.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17"})]}),p>0&&(0,n.jsx)("span",{className:"artifact-badge",children:p})]}),(0,n.jsxs)("button",{className:`changes-toggle-btn ${j?"active":""}`,onClick:u,title:`Changes${g>0?` (${g})`:""}`,"aria-label":"Toggle changes panel",type:"button",children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("path",{d:"M12 20h9"}),(0,n.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"})]}),g>0&&(0,n.jsx)("span",{className:"changes-badge",children:g})]}),(0,n.jsxs)("button",{className:`git-toggle-btn ${w?"active":""}`,onClick:v,title:`Git${f>0?` (${f} changed)`:""}`,"aria-label":"Toggle git panel",type:"button",children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,n.jsx)("path",{d:"M13 6h3a2 2 0 0 1 2 2v7"}),(0,n.jsx)("line",{x1:"6",y1:"9",x2:"6",y2:"21"})]}),"Git",f>0&&(0,n.jsx)("span",{className:"git-badge",children:f})]}),(0,n.jsxs)("button",{className:`workspace-toggle-btn ${k?"active":""}`,onClick:y,title:"Working Directory","aria-label":"Toggle working directory panel",type:"button",children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),"Dir"]})]}),(0,n.jsxs)("div",{className:"input-wrapper",children:[(0,n.jsx)("textarea",{ref:$,value:N,onChange:e=>{b(e.target.value);let t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,150)+"px"},onKeyDown:n=>{if("Escape"===n.key&&s){n.preventDefault(),t();return}"Enter"===n.key&&(n.shiftKey||n.ctrlKey||n.metaKey)&&(n.preventDefault(),N.trim()?(e(N),b(""),$.current&&($.current.style.height="auto")):s&&t())},placeholder:"Ask the Antigravity agent...",rows:1,"aria-label":"Chat message input",enterKeyHint:"enter",autoComplete:"off"}),(0,n.jsx)("button",{className:`send-btn${s&&N.trim()?" send-btn--interrupt":s?" send-btn--stop":""}`,onClick:()=>{N.trim()?(e(N),b(""),$.current&&($.current.style.height="auto")):s&&t()},disabled:!s&&!N.trim(),"aria-label":s&&N.trim()?"Interrupt and send new message":s?"Stop generation":"Send message",title:s&&N.trim()?"Interrupt agent and send new message":s?"Stop generation (Esc)":"Send message",children:s&&!N.trim()?(0,n.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"3"})}):(0,n.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,n.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]}),(0,n.jsx)("div",{className:"input-hint",children:(0,n.jsx)("span",{children:"Shift+Enter to send \xb7 Enter for new line \xb7 Ctrl+N for new chat \xb7 Esc to stop"})})]})}function S({open:e,onClose:t,activeConversation:s,files:a}){let[l,r]=(0,i.useState)(null),[c,o]=(0,i.useState)(""),[d,h]=(0,i.useState)(!1),m=async e=>{h(!0),r(e);try{let t=await fetch(`/api/v1/artifacts/active/${encodeURIComponent(e)}`);if(!t.ok){let e=await t.json().catch(()=>({error:"Unknown error"}));o(`Error: ${e.error||t.statusText}`);return}let s=await t.text();o(s)}catch(e){o(`Error loading file: ${e.message}`)}finally{h(!1)}},p=e=>!1!==e.isFile&&/\.\w{1,5}$/.test(e.name);return(0,n.jsxs)("div",{className:`artifact-panel ${e?"open":""}`,children:[(0,n.jsxs)("div",{className:"artifact-panel-header",children:[(0,n.jsx)("button",{className:"icon-btn",onClick:t,title:"Close panel",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,n.jsx)("h3",{children:"Artifacts"})]}),s?(0,n.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid var(--border-subtle)",background:"rgba(99,102,241,0.04)"},children:[(0,n.jsx)("div",{style:{fontSize:"13px",fontWeight:600,color:"var(--text-primary)",marginBottom:"2px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.title||"Untitled"}),(0,n.jsxs)("div",{style:{fontSize:"10px",fontFamily:"'JetBrains Mono', monospace",color:"var(--text-muted)"},children:[a.length," artifact",1!==a.length?"s":""]})]}):a.length>0?(0,n.jsx)("div",{style:{padding:"12px 16px",borderBottom:"1px solid var(--border-subtle)",background:"rgba(99,102,241,0.04)"},children:(0,n.jsxs)("div",{style:{fontSize:"10px",fontFamily:"'JetBrains Mono', monospace",color:"var(--text-muted)"},children:[a.length," artifact",1!==a.length?"s":""]})}):(0,n.jsx)("div",{style:{padding:"24px 16px",textAlign:"center",color:"var(--text-muted)",fontSize:"13px"},children:"No active conversation"}),l?(0,n.jsxs)("div",{className:"artifact-viewer",children:[(0,n.jsxs)("div",{className:"artifact-viewer-header",children:[(0,n.jsx)("button",{className:"artifact-back-btn",onClick:()=>{r(null),o("")},children:"← Back"}),(0,n.jsx)("span",{className:"artifact-viewer-title",children:l})]}),(0,n.jsx)("div",{className:"artifact-viewer-body",children:d?(0,n.jsx)("div",{style:{color:"var(--text-muted)",padding:"16px"},children:"Loading..."}):l.endsWith(".md")?(0,n.jsx)("div",{className:"agent-response",dangerouslySetInnerHTML:{__html:c.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^- (.*$)/gim,"<li>$1</li>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br/>")}}):(0,n.jsx)("pre",{style:{margin:0,fontSize:"12px",lineHeight:1.6,color:"var(--text-secondary)",fontFamily:"'JetBrains Mono', monospace",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:c})})]}):(0,n.jsxs)("div",{className:"artifact-file-list",children:[a.map(e=>{var t;return(0,n.jsxs)("button",{className:`artifact-file-item ${!p(e)?"non-file":""}`,onClick:()=>{p(e)&&m(e.name)},disabled:!p(e),title:p(e)?`Open ${e.name}`:`${e.name} (IDE artifact — view in Antigravity)`,children:[(0,n.jsx)("span",{className:"artifact-file-icon",children:(e=>{if(p(e)){let t=e.name;return t.endsWith(".md")?"\uD83D\uDCC4":t.endsWith(".json")?"\uD83D\uDCCB":t.endsWith(".ts")||t.endsWith(".tsx")?"\uD83D\uDCD8":t.endsWith(".css")?"\uD83C\uDFA8":t.endsWith(".js")||t.endsWith(".jsx")?"\uD83D\uDCDC":"\uD83D\uDCC4"}return"\uD83D\uDDBC️"})(e)}),(0,n.jsxs)("div",{style:{flex:1,overflow:"hidden"},children:[(0,n.jsx)("div",{className:"artifact-file-name",children:e.name}),(0,n.jsx)("div",{style:{fontSize:"10px",color:"var(--text-muted)"},children:(e=>{if(e.includes("T")||e.includes("-")){let t=new Date(e);if(!isNaN(t.getTime()))return t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})+" \xb7 "+t.toLocaleDateString()}return e})(e.mtime)})]}),(0,n.jsx)("span",{className:"artifact-file-size",children:(t=e.size)<=0?"":t<1024?`${t}B`:t<1048576?`${(t/1024).toFixed(1)}KB`:`${(t/1048576).toFixed(1)}MB`})]},e.name)}),0===a.length&&(0,n.jsx)("div",{style:{textAlign:"center",padding:"24px",color:"var(--text-muted)",fontSize:"13px"},children:"No artifacts in this conversation"})]})]})}function $({open:e,onClose:t,changes:s,onAcceptAll:a,onRejectAll:l,isAccepting:r,isRejecting:c}){let[o,d]=(0,i.useState)(null),[h,m]=(0,i.useState)([]),[p,x]=(0,i.useState)(!1),[u,g]=(0,i.useState)(""),[j,v]=(0,i.useState)(null),f=s.reduce((e,t)=>e+t.additions,0),w=s.reduce((e,t)=>e+t.deletions,0),y=async e=>{x(!0),d(e.filepath),g(e.filename),m([]);try{let t=await fetch(`/api/v1/changes/diff?filepath=${encodeURIComponent(e.filepath)}`),s=await t.json();s.diff?m(function(e){let t=[],s=0,n=0;for(let i of e.split("\n"))if(i.startsWith("diff --git")||i.startsWith("index ")||i.startsWith("new file")||i.startsWith("deleted file"))t.push({type:"meta",content:i});else if(i.startsWith("---")||i.startsWith("+++"))t.push({type:"meta",content:i});else if(i.startsWith("@@")){let e=i.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);e&&(n=parseInt(e[1]),s=parseInt(e[2])),t.push({type:"header",content:i})}else i.startsWith("+")?t.push({type:"add",content:i.substring(1),lineNum:s++}):i.startsWith("-")?t.push({type:"del",content:i.substring(1),lineNum:n++}):i.startsWith(" ")&&(t.push({type:"context",content:i.substring(1),lineNum:s}),s++,n++);return t}(s.diff)):m([{type:"meta",content:s.message||"No diff available"}])}catch(e){m([{type:"meta",content:`Error: ${e.message}`}])}finally{x(!1)}},k=async()=>{v(null);let e=await a();e?.success?v({type:"success",text:"All changes accepted ✓"}):v({type:"error",text:e?.error||"Failed to accept changes"}),setTimeout(()=>v(null),3e3)},N=async()=>{v(null);let e=await l();e?.success?v({type:"success",text:"All changes rejected ✓"}):v({type:"error",text:e?.error||"Failed to reject changes"}),setTimeout(()=>v(null),3e3)},b=r||c;return(0,n.jsxs)("div",{className:`changes-panel ${e?"open":""}`,children:[(0,n.jsxs)("div",{className:"changes-panel-header",children:[(0,n.jsx)("button",{className:"icon-btn",onClick:t,title:"Close panel",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,n.jsx)("h3",{children:"Changes Overview"})]}),o?(0,n.jsxs)("div",{className:"diff-viewer",children:[(0,n.jsxs)("div",{className:"diff-viewer-header",children:[(0,n.jsx)("button",{className:"diff-back-btn",onClick:()=>{d(null),m([]),g("")},children:"← Back"}),(0,n.jsx)("span",{className:"diff-viewer-title",children:u}),(0,n.jsx)("span",{className:"diff-viewer-path",children:o})]}),(0,n.jsx)("div",{className:"diff-viewer-body",children:p?(0,n.jsx)("div",{style:{color:"var(--text-muted)",padding:"16px",fontStyle:"italic"},children:"Loading diff..."}):0===h.length?(0,n.jsx)("div",{style:{color:"var(--text-muted)",padding:"16px"},children:"No changes found"}):(0,n.jsx)("div",{className:"diff-lines",children:h.map((e,t)=>(0,n.jsxs)("div",{className:`diff-line diff-line-${e.type}`,children:[(0,n.jsx)("span",{className:"diff-line-num",children:void 0!==e.lineNum?e.lineNum:""}),(0,n.jsx)("span",{className:"diff-line-indicator",children:"add"===e.type?"+":"del"===e.type?"-":"header"===e.type?"@@":""}),(0,n.jsx)("span",{className:"diff-line-content",children:e.content})]},t))})})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"changes-summary",children:[(0,n.jsxs)("span",{className:"changes-count",children:[s.length," file",1!==s.length?"s":""," changed"]}),(0,n.jsxs)("div",{className:"changes-stats",children:[f>0&&(0,n.jsxs)("span",{className:"changes-additions",children:["+",f]}),w>0&&(0,n.jsxs)("span",{className:"changes-deletions",children:["-",w]})]})]}),s.length>0&&(0,n.jsxs)("div",{className:"changes-action-bar",children:[(0,n.jsx)("button",{className:"changes-reject-all-btn",onClick:N,disabled:b,title:"Reject all file changes",children:c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"changes-action-spinner",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M21 12a9 9 0 11-6.219-8.56"})}),"Rejecting…"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),"Reject All"]})}),(0,n.jsx)("button",{className:"changes-accept-all-btn",onClick:k,disabled:b,title:"Accept all file changes",children:r?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"changes-action-spinner",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M21 12a9 9 0 11-6.219-8.56"})}),"Accepting…"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),"Accept All"]})})]}),j&&(0,n.jsx)("div",{className:`changes-action-message changes-action-message--${j.type}`,children:j.text}),(0,n.jsxs)("div",{className:"changes-file-list",children:[s.map(e=>{var t;return(0,n.jsxs)("button",{className:"changes-file-item",onClick:()=>y(e),title:`View diff: ${e.filepath}`,children:[(0,n.jsx)("span",{className:"changes-file-icon",children:(t=e.filename).endsWith(".tsx")||t.endsWith(".jsx")?"⚛️":t.endsWith(".ts")||t.endsWith(".js")?"\uD83D\uDCD8":t.endsWith(".css")?"\uD83C\uDFA8":t.endsWith(".md")?"\uD83D\uDCC4":t.endsWith(".json")?"\uD83D\uDCCB":"\uD83D\uDCDD"}),(0,n.jsxs)("div",{className:"changes-file-info",children:[(0,n.jsx)("div",{className:"changes-file-name",children:e.filename}),(0,n.jsx)("div",{className:"changes-file-path",children:e.filepath})]}),(0,n.jsxs)("div",{className:"changes-file-diff",children:[e.additions>0&&(0,n.jsxs)("span",{className:"changes-additions",children:["+",e.additions]}),e.deletions>0&&(0,n.jsxs)("span",{className:"changes-deletions",children:["-",e.deletions]})]})]},e.filepath)}),0===s.length&&(0,n.jsx)("div",{style:{textAlign:"center",padding:"24px",color:"var(--text-muted)",fontSize:"13px"},children:"No file changes in this conversation"})]})]})]})}let W={modified:{label:"M",color:"#fbbf24"},added:{label:"A",color:"#34d399"},deleted:{label:"D",color:"#ef4444"},renamed:{label:"R",color:"#a78bfa"},copied:{label:"C",color:"#60a5fa"},untracked:{label:"U",color:"#94a3b8"},unmerged:{label:"!",color:"#f97316"}};function B({status:e}){let{label:t,color:s}=W[e]||{label:"?",color:"#94a3b8"};return(0,n.jsx)("span",{className:"git-file-status-badge",style:{color:s,borderColor:`${s}44`,background:`${s}18`},children:t})}function T({open:e,onClose:t,gitStatus:s,onRefresh:a}){let[l,r]=(0,i.useState)("changes"),[c,o]=(0,i.useState)(null),[d,h]=(0,i.useState)([]),[m,p]=(0,i.useState)(!1),[x,u]=(0,i.useState)(!1),[g,j]=(0,i.useState)(""),[v,f]=(0,i.useState)(!1),[w,y]=(0,i.useState)(!1),[k,N]=(0,i.useState)(null),b=(e,t)=>{N({text:e,type:t}),setTimeout(()=>N(null),4e3)},C=async()=>{if(g.trim()&&!v){f(!0);try{let e=await fetch("/api/v1/git/commit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:g.trim(),stageAll:!0})}),t=await e.json();t.success?(j(""),b("Committed successfully","success"),a()):b(t.error||"Commit failed","error")}catch(e){b(`Error: ${e.message}`,"error")}finally{f(!1)}}},S=async()=>{if(!w){y(!0);try{let e=await fetch("/api/v1/git/push",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),t=await e.json();t.success?(b("Pushed to origin","success"),a()):b(t.error||"Push failed","error")}catch(e){b(`Error: ${e.message}`,"error")}finally{y(!1)}}},$=async(e,t)=>{p(!0),o({path:e.path,staged:t,untracked:"untracked"===e.status}),h([]);try{let s=new URLSearchParams({filepath:e.path,staged:String(t),untracked:String("untracked"===e.status)}),n=await fetch(`/api/v1/git/diff?${s}`),i=await n.json();i.diff?h(function(e){let t=[],s=0,n=0;for(let i of e.split("\n"))if(i.startsWith("diff --git")||i.startsWith("index ")||i.startsWith("new file")||i.startsWith("deleted file"))t.push({type:"meta",content:i});else if(i.startsWith("---")||i.startsWith("+++"))t.push({type:"meta",content:i});else if(i.startsWith("@@")){let e=i.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);e&&(n=parseInt(e[1]),s=parseInt(e[2])),t.push({type:"header",content:i})}else i.startsWith("+")?t.push({type:"add",content:i.substring(1),lineNum:s++}):i.startsWith("-")?t.push({type:"del",content:i.substring(1),lineNum:n++}):i.startsWith(" ")&&(t.push({type:"context",content:i.substring(1),lineNum:s}),s++,n++);return t}(i.diff)):h([{type:"meta",content:i.error||"No diff available"}])}catch(e){h([{type:"meta",content:`Error: ${e.message}`}])}finally{p(!1)}},W=async()=>{u(!0),a(),await new Promise(e=>setTimeout(e,600)),u(!1)},T=e=>e.endsWith(".tsx")||e.endsWith(".jsx")?"⚛️":e.endsWith(".ts")||e.endsWith(".js")?"\uD83D\uDCD8":e.endsWith(".css")||e.endsWith(".scss")?"\uD83C\uDFA8":e.endsWith(".md")?"\uD83D\uDCC4":e.endsWith(".json")?"\uD83D\uDCCB":e.endsWith(".py")?"\uD83D\uDC0D":e.endsWith(".go")?"\uD83D\uDD39":e.endsWith(".sh")?"⚙️":"\uD83D\uDCDD",M=e=>{let t=e.split("/");return t.length<=2?e:`…/${t.slice(-2).join("/")}`},O=s?(s.staged?.length||0)+(s.unstaged?.length||0)+(s.untracked?.length||0):0;return(0,n.jsxs)("div",{className:`git-panel ${e?"open":""}`,role:"complementary","aria-label":"Git Panel",children:[(0,n.jsxs)("div",{className:"git-panel-header",children:[(0,n.jsxs)("div",{className:"git-panel-title-row",children:[(0,n.jsx)("button",{className:"icon-btn",onClick:t,title:"Close git panel",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,n.jsxs)("div",{className:"git-panel-title",children:[(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,n.jsx)("path",{d:"M13 6h3a2 2 0 0 1 2 2v7"}),(0,n.jsx)("line",{x1:"6",y1:"9",x2:"6",y2:"21"})]}),(0,n.jsx)("span",{children:"Git"})]}),(0,n.jsx)("button",{className:`git-refresh-btn ${x?"spinning":""}`,onClick:W,title:"Refresh git status",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("polyline",{points:"23 4 23 10 17 10"}),(0,n.jsx)("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})})]}),s?.isGitRepo&&(0,n.jsxs)("div",{className:"git-branch-bar",children:[(0,n.jsxs)("div",{className:"git-branch-badge",children:[(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),(0,n.jsx)("span",{children:s.branch})]}),s.remoteBranch&&(0,n.jsxs)("div",{className:"git-sync-badges",children:[s.ahead>0&&(0,n.jsxs)("span",{className:"git-sync-badge git-sync-badge--ahead",children:["↑",s.ahead]}),s.behind>0&&(0,n.jsxs)("span",{className:"git-sync-badge git-sync-badge--behind",children:["↓",s.behind]}),0===s.ahead&&0===s.behind&&(0,n.jsx)("span",{className:"git-sync-badge git-sync-badge--synced",children:"✓ synced"})]}),s.stashCount>0&&(0,n.jsxs)("span",{className:"git-stash-badge",title:`${s.stashCount} stash entries`,children:["\uD83D\uDCE6 ",s.stashCount]})]})]}),s?.isGitRepo&&!c&&(0,n.jsxs)("div",{className:"git-commit-bar",children:[(0,n.jsx)("div",{className:"git-commit-input-row",children:(0,n.jsx)("textarea",{className:"git-commit-textarea",placeholder:"Commit message…",value:g,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),C())},rows:2,disabled:v})}),(0,n.jsxs)("div",{className:"git-commit-actions",children:[(0,n.jsxs)("button",{className:"git-commit-btn",onClick:C,disabled:!g.trim()||v,title:"Stage all & commit (Ctrl+Enter)",children:[v?(0,n.jsx)("span",{className:"wm-spinner"}):(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,n.jsx)("path",{d:"M12 2v7M12 15v7M2 12h7M15 12h7"})]}),v?"Committing…":"Commit All"]}),(0,n.jsxs)("button",{className:"git-push-btn",onClick:S,disabled:w||!s?.branch,title:s?.ahead>0?`Push ${s.ahead} commit(s)`:"Push to remote",children:[w?(0,n.jsx)("span",{className:"wm-spinner"}):(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),(0,n.jsx)("polyline",{points:"5 12 12 5 19 12"})]}),w?"Pushing…":s?.ahead>0?`Push (${s.ahead})`:"Push"]})]}),k&&(0,n.jsxs)("div",{className:`git-action-feedback git-action-feedback--${k.type}`,children:["success"===k.type?(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),(0,n.jsx)("span",{children:k.text})]})]}),s&&!s.isGitRepo&&(0,n.jsxs)("div",{className:"git-not-repo",children:[(0,n.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,n.jsx)("circle",{cx:"18",cy:"18",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"6",r:"3"}),(0,n.jsx)("path",{d:"M13 6h3a2 2 0 0 1 2 2v7"}),(0,n.jsx)("line",{x1:"6",y1:"9",x2:"6",y2:"21"})]}),(0,n.jsx)("p",{children:"No git repository detected"}),(0,n.jsx)("span",{children:"Open a git project in the IDE"})]}),!s&&(0,n.jsxs)("div",{className:"git-loading",children:[(0,n.jsx)("div",{className:"git-loading-dot"}),(0,n.jsx)("span",{children:"Loading git status…"})]}),c&&s?.isGitRepo&&(0,n.jsxs)("div",{className:"diff-viewer",children:[(0,n.jsxs)("div",{className:"diff-viewer-header",children:[(0,n.jsx)("button",{className:"diff-back-btn",onClick:()=>{o(null),h([])},children:"← Back"}),(0,n.jsx)("span",{className:"diff-viewer-title",children:c.path.split("/").pop()}),(0,n.jsx)("span",{className:"diff-viewer-path",title:c.path,children:M(c.path)}),(0,n.jsx)("span",{className:`diff-viewer-badge ${c.staged?"staged":"unstaged"}`,children:c.staged?"staged":c.untracked?"untracked":"unstaged"})]}),(0,n.jsx)("div",{className:"diff-viewer-body",children:m?(0,n.jsx)("div",{className:"diff-loading",children:"Loading diff…"}):0===d.length?(0,n.jsx)("div",{className:"diff-empty",children:"No diff available"}):(0,n.jsx)("div",{className:"diff-lines",children:d.map((e,t)=>(0,n.jsxs)("div",{className:`diff-line diff-line-${e.type}`,children:[(0,n.jsx)("span",{className:"diff-line-num",children:void 0!==e.lineNum?e.lineNum:""}),(0,n.jsx)("span",{className:"diff-line-indicator",children:"add"===e.type?"+":"del"===e.type?"-":"header"===e.type?"@@":""}),(0,n.jsx)("span",{className:"diff-line-content",children:e.content})]},t))})})]}),s?.isGitRepo&&!c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"git-summary-bar",children:[(0,n.jsxs)("span",{className:"git-summary-stat",children:[(0,n.jsx)("span",{className:"git-summary-dot git-summary-dot--changed"}),O," changed"]}),s.staged.length>0&&(0,n.jsxs)("span",{className:"git-summary-stat",children:[(0,n.jsx)("span",{className:"git-summary-dot git-summary-dot--staged"}),s.staged.length," staged"]})]}),(0,n.jsxs)("div",{className:"git-tabs",children:[(0,n.jsxs)("button",{className:`git-tab ${"changes"===l?"active":""}`,onClick:()=>r("changes"),children:["Changes",O>0&&(0,n.jsx)("span",{className:"git-tab-badge",children:O})]}),(0,n.jsxs)("button",{className:`git-tab ${"commits"===l?"active":""}`,onClick:()=>r("commits"),children:["Commits",s.commits.length>0&&(0,n.jsx)("span",{className:"git-tab-badge git-tab-badge--neutral",children:s.commits.length})]})]}),"changes"===l&&(0,n.jsxs)("div",{className:"git-file-list",children:[s.staged.length>0&&(0,n.jsxs)("div",{className:"git-section",children:[(0,n.jsxs)("div",{className:"git-section-header",children:[(0,n.jsx)("span",{className:"git-section-dot git-section-dot--staged"}),(0,n.jsx)("span",{children:"Staged Changes"}),(0,n.jsx)("span",{className:"git-section-count",children:s.staged.length})]}),s.staged.map((e,t)=>(0,n.jsxs)("button",{className:"git-file-item git-file-item--staged",onClick:()=>$(e,!0),title:`View staged diff: ${e.path}`,children:[(0,n.jsx)("span",{className:"git-file-icon",children:T(e.path)}),(0,n.jsxs)("div",{className:"git-file-info",children:[(0,n.jsx)("div",{className:"git-file-name",children:e.path.split("/").pop()}),(0,n.jsx)("div",{className:"git-file-path",children:M(e.path)})]}),(0,n.jsx)(B,{status:e.status})]},`staged-${t}`))]}),s.unstaged.length>0&&(0,n.jsxs)("div",{className:"git-section",children:[(0,n.jsxs)("div",{className:"git-section-header",children:[(0,n.jsx)("span",{className:"git-section-dot git-section-dot--unstaged"}),(0,n.jsx)("span",{children:"Changes"}),(0,n.jsx)("span",{className:"git-section-count",children:s.unstaged.length})]}),s.unstaged.map((e,t)=>(0,n.jsxs)("button",{className:"git-file-item",onClick:()=>$(e,!1),title:`View diff: ${e.path}`,children:[(0,n.jsx)("span",{className:"git-file-icon",children:T(e.path)}),(0,n.jsxs)("div",{className:"git-file-info",children:[(0,n.jsx)("div",{className:"git-file-name",children:e.path.split("/").pop()}),(0,n.jsx)("div",{className:"git-file-path",children:M(e.path)})]}),(0,n.jsx)(B,{status:e.status})]},`unstaged-${t}`))]}),s.untracked.length>0&&(0,n.jsxs)("div",{className:"git-section",children:[(0,n.jsxs)("div",{className:"git-section-header",children:[(0,n.jsx)("span",{className:"git-section-dot git-section-dot--untracked"}),(0,n.jsx)("span",{children:"Untracked"}),(0,n.jsx)("span",{className:"git-section-count",children:s.untracked.length})]}),s.untracked.map((e,t)=>(0,n.jsxs)("button",{className:"git-file-item git-file-item--untracked",onClick:()=>$(e,!1),title:`View file: ${e.path}`,children:[(0,n.jsx)("span",{className:"git-file-icon",children:T(e.path)}),(0,n.jsxs)("div",{className:"git-file-info",children:[(0,n.jsx)("div",{className:"git-file-name",children:e.path.split("/").pop()}),(0,n.jsx)("div",{className:"git-file-path",children:M(e.path)})]}),(0,n.jsx)(B,{status:"untracked"})]},`untracked-${t}`))]}),0===O&&(0,n.jsxs)("div",{className:"git-empty",children:[(0,n.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),(0,n.jsx)("p",{children:"Working tree clean"}),(0,n.jsx)("span",{children:"No uncommitted changes"})]})]}),"commits"===l&&(0,n.jsx)("div",{className:"git-commit-list",children:0===s.commits.length?(0,n.jsx)("div",{className:"git-empty",children:(0,n.jsx)("p",{children:"No commits yet"})}):s.commits.map((e,t)=>(0,n.jsxs)("div",{className:"git-commit-item",children:[(0,n.jsx)("div",{className:"git-commit-hash",children:e.shortHash}),(0,n.jsxs)("div",{className:"git-commit-info",children:[(0,n.jsx)("div",{className:"git-commit-subject",children:e.subject}),(0,n.jsxs)("div",{className:"git-commit-meta",children:[(0,n.jsx)("span",{className:"git-commit-author",children:e.author}),(0,n.jsx)("span",{className:"git-commit-dot",children:"\xb7"}),(0,n.jsx)("span",{className:"git-commit-date",children:e.relativeDate})]})]})]},t))})]})]})}let M={ts:"\uD83D\uDCD8",tsx:"⚛️",js:"\uD83D\uDCDC",jsx:"⚛️",json:"\uD83D\uDCCB",md:"\uD83D\uDCC4",mdx:"\uD83D\uDCC4",css:"\uD83C\uDFA8",scss:"\uD83C\uDFA8",sass:"\uD83C\uDFA8",py:"\uD83D\uDC0D",go:"\uD83D\uDD39",rs:"\uD83E\uDD80",sh:"⚙️",bash:"⚙️",zsh:"⚙️",sql:"\uD83D\uDDC4️",graphql:"\uD83D\uDD37",gql:"\uD83D\uDD37",yaml:"\uD83D\uDCD0",yml:"\uD83D\uDCD0",toml:"\uD83D\uDCD0",env:"\uD83D\uDD11",svg:"\uD83D\uDDBC️",png:"\uD83D\uDDBC️",jpg:"\uD83D\uDDBC️",jpeg:"\uD83D\uDDBC️",gif:"\uD83D\uDDBC️",webp:"\uD83D\uDDBC️",lock:"\uD83D\uDD12",gitignore:"\uD83D\uDC41️"};function O(e){return void 0===e?"":e<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(1)}K`:`${(e/1048576).toFixed(1)}M`}function P({node:e,depth:t,expandedPaths:s,onToggle:a,onFileOpen:l,selectedPath:r}){let c=s.has(e.path),o="dir"===e.type,d=r===e.path,h=12+14*t,m=(0,i.useCallback)(()=>{o?a(e.path):l(e)},[o,e,a,l]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{className:`workspace-tree-node ${o?"is-dir":"is-file"} ${d?"selected":""}`,style:{paddingLeft:h},onClick:m,title:o?c?"Collapse":"Expand":e.path,children:[o?(0,n.jsx)("svg",{className:`workspace-arrow ${c?"open":""}`,width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"6 9 12 15 18 9"})}):(0,n.jsx)("span",{className:"workspace-arrow-spacer"}),(0,n.jsx)("span",{className:"workspace-node-icon",children:"dir"===e.type?"\uD83D\uDCC1":M[e.ext||""]||"\uD83D\uDCDD"}),(0,n.jsx)("span",{className:"workspace-node-name",children:e.name}),!o&&void 0!==e.size&&(0,n.jsx)("span",{className:"workspace-node-size",children:O(e.size)}),o&&void 0!==e.children&&(0,n.jsx)("span",{className:"workspace-node-count",children:e.children.length})]}),o&&c&&e.children&&(0,n.jsx)("div",{className:"workspace-tree-children",children:0===e.children.length?(0,n.jsx)("div",{className:"workspace-empty-dir",style:{paddingLeft:h+14},children:"empty"}):e.children.map(e=>(0,n.jsx)(P,{node:e,depth:t+1,expandedPaths:s,onToggle:a,onFileOpen:l,selectedPath:r},e.path))})]})}function A({view:e,onClose:t,onCopyPath:s,workspacePath:a}){let[l,r]=(0,i.useState)(!1),c=e.content?e.content.split("\n").map((e,t)=>({num:t+1,text:e})):[];return(0,n.jsxs)("div",{className:"workspace-file-viewer",children:[(0,n.jsxs)("div",{className:"workspace-viewer-header",children:[(0,n.jsxs)("button",{className:"workspace-viewer-back",onClick:t,title:"Back to file tree",children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),(0,n.jsx)("span",{children:"Back"})]}),(0,n.jsxs)("div",{className:"workspace-viewer-title",children:[(0,n.jsx)("span",{className:"workspace-viewer-name",children:e.name}),e.lang&&"plaintext"!==e.lang&&(0,n.jsx)("span",{className:"workspace-viewer-lang",children:e.lang})]}),(0,n.jsxs)("div",{className:"workspace-viewer-actions",children:[e.content&&(0,n.jsx)("button",{className:"workspace-viewer-action-btn",onClick:()=>{e.content&&(navigator.clipboard.writeText(e.content).catch(()=>{}),r(!0),setTimeout(()=>r(!1),2e3))},title:"Copy file content",children:l?(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}):(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,n.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}),(0,n.jsx)("button",{className:"workspace-viewer-action-btn",onClick:()=>{s(e.path)},title:"Copy file path",children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),(0,n.jsx)("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})})]})]}),(0,n.jsxs)("div",{className:"workspace-viewer-meta",children:[(0,n.jsx)("span",{className:"workspace-viewer-path",title:`${a}/${e.path}`,children:e.path}),!e.loading&&!e.error&&e.content&&(0,n.jsxs)("span",{className:"workspace-viewer-stats",children:[e.lines," lines \xb7 ",O(e.size)]})]}),(0,n.jsxs)("div",{className:"workspace-viewer-body",children:[e.loading&&(0,n.jsxs)("div",{className:"git-loading",children:[(0,n.jsx)("div",{className:"git-loading-dot"}),(0,n.jsx)("span",{children:"Loading…"})]}),!e.loading&&e.error&&(0,n.jsxs)("div",{className:"workspace-viewer-error",children:[(0,n.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),(0,n.jsx)("p",{children:e.error}),e.binary&&(0,n.jsx)("span",{children:"Binary files cannot be displayed as text."}),e.tooLarge&&(0,n.jsx)("span",{children:"Try opening the file directly in the IDE."})]}),!e.loading&&!e.error&&null!==e.content&&(0,n.jsx)("div",{className:"workspace-code-scroll",children:(0,n.jsx)("table",{className:"workspace-code-table",children:(0,n.jsx)("tbody",{children:c.map(({num:e,text:t})=>(0,n.jsxs)("tr",{className:"workspace-code-row",children:[(0,n.jsx)("td",{className:"workspace-line-num",children:e}),(0,n.jsx)("td",{className:"workspace-line-code",children:(0,n.jsx)("span",{children:t||"\xa0"})})]},e))})})})]})]})}function E({open:e,onClose:t,workspaceTree:s,workspaceLoading:a,onRefresh:l}){let[r,c]=(0,i.useState)(new Set),[o,d]=(0,i.useState)(!1),[h,m]=(0,i.useState)(""),[p,x]=(0,i.useState)(null),[u,g]=(0,i.useState)(null);(0,i.useEffect)(()=>{e||g(null)},[e]);let j=(0,i.useCallback)(e=>{c(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),v=(0,i.useCallback)(e=>{let t=s?`${s.workspacePath}/${e}`:e;navigator.clipboard.writeText(t).catch(()=>{}),x(e),setTimeout(()=>x(null),2e3)},[s]),f=(0,i.useCallback)(async e=>{g({path:e.path,name:e.name,content:null,lang:"",lines:0,size:e.size||0,error:null,loading:!0});try{let t=await fetch(`/api/v1/workspace/content?path=${encodeURIComponent(e.path)}`),s=await t.json();!t.ok||s.error?g(e=>e?{...e,loading:!1,error:s.error||"Failed to load file",binary:s.binary,tooLarge:s.tooLarge}:null):g({path:e.path,name:s.name,content:s.content,lang:s.lang,lines:s.lines,size:s.size,error:null,loading:!1})}catch(e){g(t=>t?{...t,loading:!1,error:`Network error: ${e.message}`}:null)}},[]),w=async()=>{d(!0),l(),await new Promise(e=>setTimeout(e,700)),d(!1)},y=(0,i.useMemo)(()=>{if(!s)return[];var e=s.tree;if(!h)return e;let t=h.toLowerCase(),n=e=>{if(e.name.toLowerCase().includes(t))return e;if("dir"===e.type&&e.children){let t=e.children.map(n).filter(Boolean);if(t.length>0)return{...e,children:t}}return null};return e.map(n).filter(Boolean)},[s,h]),k=s?.rootLabel||s?.workspacePath?.split("/").pop()||"Workspace",N=s?.workspacePath||"",b=u?u.path:null;return(0,n.jsxs)("div",{className:`workspace-panel ${e?"open":""}`,role:"complementary","aria-label":"Workspace Panel",children:[u&&(0,n.jsx)(A,{view:u,onClose:()=>g(null),onCopyPath:v,workspacePath:N}),!u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"workspace-panel-header",children:[(0,n.jsxs)("div",{className:"workspace-panel-title-row",children:[(0,n.jsx)("button",{className:"icon-btn",onClick:t,title:"Close workspace panel",children:(0,n.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,n.jsxs)("div",{className:"workspace-panel-title",children:[(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,n.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),(0,n.jsx)("span",{children:"Working Directory"})]}),(0,n.jsx)("button",{className:`git-refresh-btn ${o?"spinning":""}`,onClick:w,title:"Refresh file tree",children:(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("polyline",{points:"23 4 23 10 17 10"}),(0,n.jsx)("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})})]}),N&&(0,n.jsxs)("div",{className:"workspace-path-bar",title:N,children:[(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,n.jsx)("path",{d:"M12 2v4M12 18v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M2 12h4M18 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83"})]}),(0,n.jsx)("span",{className:"workspace-path-text",children:N})]})]}),s&&(0,n.jsxs)("div",{className:"workspace-search-bar",children:[(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,n.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,n.jsx)("input",{className:"workspace-search-input",type:"text",placeholder:`Filter in ${k}…`,value:h,onChange:e=>m(e.target.value)}),h&&(0,n.jsx)("button",{className:"workspace-search-clear",onClick:()=>m(""),title:"Clear filter",children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),a&&!s&&(0,n.jsxs)("div",{className:"git-loading",children:[(0,n.jsx)("div",{className:"git-loading-dot"}),(0,n.jsx)("span",{children:"Loading workspace…"})]}),!a&&!s&&(0,n.jsxs)("div",{className:"git-not-repo",children:[(0,n.jsx)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,n.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),(0,n.jsx)("p",{children:"No workspace detected"}),(0,n.jsx)("span",{children:"Open a project in the IDE"})]}),p&&(0,n.jsxs)("div",{className:"workspace-copy-toast",children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),"Path copied!"]}),s&&(0,n.jsxs)("div",{className:"workspace-tree",children:[(0,n.jsxs)("div",{className:"workspace-root-label",children:[(0,n.jsx)("span",{className:"workspace-root-icon",children:"\uD83D\uDDC2️"}),(0,n.jsx)("span",{className:"workspace-root-name",children:k}),(0,n.jsx)("span",{className:"workspace-node-count",children:s.tree.length})]}),0===y.length?(0,n.jsx)("div",{className:"git-empty",children:(0,n.jsx)("p",{children:h?"No matches":"Directory is empty"})}):(0,n.jsx)("div",{className:"workspace-tree-list",children:y.map(e=>{let t,s;return(0,n.jsx)(P,{node:e,depth:0,expandedPaths:h?new Set((t=[],s=e=>{"dir"===e.type&&(t.push(e.path),e.children?.forEach(s))},y.forEach(s),t)):r,onToggle:j,onFileOpen:f,selectedPath:b},e.path)})})]})]})]})}function R({networkOnline:e,isConnected:t}){let[s,a]=(0,i.useState)(!1),[l,r]=(0,i.useState)(!1),c=!e||!t;return((0,i.useEffect)(()=>{if(c)a(!0),r(!1);else if(s){r(!0);let e=setTimeout(()=>{a(!1),r(!1)},2500);return()=>clearTimeout(e)}},[c]),s)?(0,n.jsxs)("div",{className:`network-banner ${l?"recovered":"offline"}`,role:"status","aria-live":"polite",children:[(0,n.jsx)("span",{className:"network-banner-pulse"}),l?"✅ Connection restored":e?"\uD83D\uDD04 Reconnecting to server…":"\uD83D\uDCE1 No network — waiting for connection…"]}):null}function L(){let{statusState:e,statusText:t,windows:s,conversations:r,activeConversation:m,cdpStatus:p,recentProjects:g,selectWindow:j,selectConversation:v,startNewChat:f,startCdpServer:w,openNewWindow:y,closeWindowByIndex:k,networkOnline:N,isConnected:W,isLoadingHistory:B,showWelcome:M,messages:O,currentSteps:P,currentResponse:A,isStreaming:L,sendMessage:F,stopStreaming:D,currentMode:I,toggleMode:z,currentAgent:_,agents:H,isLoadingAgents:J,fetchAgentList:V,switchAgent:G,toggleArtifactPanel:K,artifactFiles:q,artifactPanelOpen:U,toggleChangesPanel:Q,changeFiles:X,changesPanelOpen:Y,acceptAllChanges:Z,rejectAllChanges:ee,isAccepting:et,isRejecting:es,gitStatus:en,gitPanelOpen:ei,gitChangedCount:ea,toggleGitPanel:el,refreshGit:er,workspaceTree:ec,workspacePanelOpen:eo,workspaceLoading:ed,toggleWorkspacePanel:eh,refreshWorkspace:em,messagesEndRef:ep}=function(){let[e,t]=(0,i.useState)([]),[s,n]=(0,i.useState)(!1),[r,m]=(0,i.useState)(!1),[p,x]=(0,i.useState)("Agent"),[u,g]=(0,i.useState)("connected"),[j,v]=(0,i.useState)(!0),[f,w]=(0,i.useState)(!1),[y,k]=(0,i.useState)([]),[N,b]=(0,i.useState)(""),[C,S]=(0,i.useState)("planning"),[$,W]=(0,i.useState)(null),[B,T]=(0,i.useState)([]),[M,O]=(0,i.useState)(!1),[P,A]=(0,i.useState)(!1),[E,R]=(0,i.useState)(!1),[L,F]=(0,i.useState)(!0);(0,i.useEffect)(()=>{F(navigator.onLine);let e=()=>F(!0),t=()=>F(!1);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]);let D=(0,i.useRef)(null),I=(0,i.useRef)(null),z=(0,i.useRef)(null),_=(0,i.useRef)(""),H=(0,i.useRef)([]),{mutate:J}=(0,a.iX)(),V=(0,i.useCallback)(()=>{requestAnimationFrame(()=>{z.current?.scrollIntoView({behavior:"smooth"})})},[]),G=(0,i.useCallback)((e,t)=>{g(e),x(t)},[]),{data:K,mutate:q}=(0,l.Ay)(o.health,c,{refreshInterval:L?3e4:5e3,revalidateOnFocus:!0,revalidateOnReconnect:!0,onSuccess:e=>{m(e.connected),L||F(!0),G(e.connected?"connected":"disconnected",e.connected?"Agent":!1===e.network?"Offline":"Reconnecting…")},onError:()=>{m(!1),G("disconnected",L?"Reconnecting…":"Offline")}});(0,i.useEffect)(()=>{L&&q()},[L]);let{mutate:U}=(0,l.Ay)(o.mode,c,{revalidateOnFocus:!1,onSuccess:e=>{e.mode&&S(e.mode)}}),{mutate:Q}=(0,l.Ay)(o.agent,c,{revalidateOnFocus:!1,onSuccess:e=>{e.agent&&W(e.agent)}}),{mutate:X}=(0,l.Ay)(o.history,c,{revalidateOnFocus:!1,revalidateOnMount:!0,onSuccess:e=>{w(!1),e.turns&&e.turns.length>0?(v(!1),t(e.turns.map(e=>({role:e.role,content:e.content})))):v(!0)},onError:()=>{w(!1)}}),Y=(0,i.useCallback)(()=>{w(!0),t([]),X()},[X]),{artifactFiles:Z,artifactPanelOpen:ee,toggleArtifactPanel:et,openArtifactPanel:es,loadArtifacts:en}=function(e){let[t,s]=(0,i.useState)(!1),{data:n,mutate:a}=(0,l.Ay)(o.artifacts,c,{refreshInterval:t?3e3:8e3,revalidateOnFocus:!0,revalidateOnReconnect:!0,dedupingInterval:2e3}),r=n?.files||[],d=(0,i.useCallback)(()=>{s(e=>!e)},[]),h=(0,i.useCallback)(()=>{s(!0)},[]);return(0,i.useEffect)(()=>{},[void 0,a]),{artifactFiles:r,artifactPanelOpen:t,toggleArtifactPanel:d,openArtifactPanel:h,loadArtifacts:a}}(),{changeFiles:ei,changesPanelOpen:ea,toggleChangesPanel:el,loadChanges:er,acceptAllChanges:ec,rejectAllChanges:eo,isAccepting:ed,isRejecting:eh}=function(){let[e,t]=(0,i.useState)(!1),[s,n]=(0,i.useState)(!1),[a,r]=(0,i.useState)(!1),{data:d,mutate:h}=(0,l.Ay)(o.changes,c,{refreshInterval:e?3e3:8e3,revalidateOnFocus:!0,revalidateOnReconnect:!0,dedupingInterval:2e3}),m=d?.changes||[],p=(0,i.useCallback)(()=>{t(e=>!e)},[]),x=(0,i.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/v1/changes/accept-all",{method:"POST"}),t=await e.json();return await new Promise(e=>setTimeout(e,500)),await h(),t}catch(e){return{success:!1,error:e.message}}finally{n(!1)}},[h]),u=(0,i.useCallback)(async()=>{r(!0);try{let e=await fetch("/api/v1/changes/reject-all",{method:"POST"}),t=await e.json();return await new Promise(e=>setTimeout(e,500)),await h(),t}catch(e){return{success:!1,error:e.message}}finally{r(!1)}},[h]);return{changeFiles:m,changesPanelOpen:e,toggleChangesPanel:p,loadChanges:h,acceptAllChanges:x,rejectAllChanges:u,isAccepting:s,isRejecting:a}}(),{gitStatus:em,gitPanelOpen:ep,gitChangedCount:ex,toggleGitPanel:eu,refreshGit:eg}=function(){let[e,t]=(0,i.useState)(!1),{data:s,mutate:n}=(0,l.Ay)(o.git,c,{refreshInterval:e?4e3:15e3,revalidateOnFocus:!0,revalidateOnReconnect:!0,dedupingInterval:2e3}),a=s?.isGitRepo!==void 0?s:null,r=a?(a.staged?.length||0)+(a.unstaged?.length||0)+(a.untracked?.length||0):0;return{gitStatus:a,gitPanelOpen:e,gitChangedCount:r,toggleGitPanel:(0,i.useCallback)(()=>{t(e=>!e)},[]),refreshGit:(0,i.useCallback)(()=>{n()},[n])}}(),{workspaceTree:ej,workspacePanelOpen:ev,workspaceLoading:ef,toggleWorkspacePanel:ew,refreshWorkspace:ey}=function(){let[e,t]=(0,i.useState)(!1),{data:s,mutate:n,isLoading:a}=(0,l.Ay)(o.workspace,c,{refreshInterval:e?5e3:6e4,revalidateOnFocus:e,revalidateOnReconnect:!0,dedupingInterval:3e3}),r=s?.workspacePath?s:null;return{workspaceTree:r,workspacePanelOpen:e,workspaceLoading:a,toggleWorkspacePanel:(0,i.useCallback)(()=>{t(e=>!e)},[]),refreshWorkspace:(0,i.useCallback)(()=>{n()},[n])}}(),{windows:ek,conversations:eN,activeConversation:eb,cdpStatus:eC,recentProjects:eS,loadWindows:e$,selectWindow:eW,loadConversations:eB,selectConversation:eT,checkCdpStatus:eM,startCdpServer:eO,openNewWindow:eP,closeWindowByIndex:eA,loadRecentProjects:eE}=function(e,t,s){let{data:n,mutate:a}=(0,l.Ay)(o.windows,c,{revalidateOnFocus:!0}),r=n?.windows||[],{data:h,mutate:m}=(0,l.Ay)(o.cdpStatus,c,{refreshInterval:15e3,revalidateOnFocus:!0}),p={active:h?.active??!1,windowCount:h?.windowCount??0,error:h?.error??null},{data:x,mutate:u}=(0,l.Ay)(o.conversations,c,{revalidateOnFocus:!0}),g=x?.conversations||[],j=g.find(e=>e.active)||null,{data:v,mutate:f}=(0,l.Ay)(o.recentProjects,c,{revalidateOnFocus:!0}),w=v?.recentProjects||[],y=(0,i.useCallback)(async(e,t)=>{try{let s=await fetch(`${d}/windows/cdp-start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectDir:e||".",killExisting:t||!1})}),n=await s.json();return n.success&&(m(),a()),n}catch(e){return{success:!1,message:e.message||"Failed to start CDP server"}}},[m,a]),k=(0,i.useCallback)(async e=>{try{let t=await fetch(`${d}/windows/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectDir:e})}),s=await t.json();return s.success&&(a(),m()),s}catch(e){return{success:!1,message:e.message||"Failed to open window"}}},[a,m]),N=(0,i.useCallback)(async(e,t)=>{try{let s=await fetch(`${d}/windows/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t?{targetId:t}:{index:e})}),n=await s.json();return n.success&&(a(),m()),n}catch(e){return{success:!1,message:e.message||"Failed to close window"}}},[a,m]),b=(0,i.useCallback)(async n=>{try{t(!0),await fetch(`${d}/windows/select`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({index:n})}),a(),e(),setTimeout(()=>u(),300),setTimeout(()=>u(),1500),s?.()}catch{}},[a,e,t,u,s]),C=(0,i.useCallback)(async n=>{try{let i=await fetch(`${d}/conversations/select`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:n})});if((await i.json()).success){t(!1);let i=0,a=async()=>{i++;try{let t=await fetch(`${d}/conversations`),a=(await t.json()).conversations||[],l=a.find(e=>e.active);if(l&&l.title===n||i>10){u({conversations:a},{revalidate:!1}),e(),s?.();return}}catch{}setTimeout(a,500)};a()}}catch{}},[e,t,u,s]);return{windows:r,conversations:g,activeConversation:j,cdpStatus:p,recentProjects:w,loadWindows:a,selectWindow:b,loadConversations:u,selectConversation:C,checkCdpStatus:m,startCdpServer:y,openNewWindow:k,closeWindowByIndex:N,loadRecentProjects:f}}(Y,v,(0,i.useCallback)(()=>{en(),er()},[en,er])),eR=(0,i.useCallback)(async()=>{let e="planning"===C?"fast":"planning";S(e);try{let t=await fetch(`${h}/chat/mode`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})}),s=await t.json();s.mode&&S(s.mode),U()}catch{S(C)}},[C,U]),eL=(0,i.useCallback)(async()=>{O(!0);try{let e=await fetch(`${h}/chat/agent`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"list"})}),t=await e.json();t.agents&&T(t.agents),t.currentAgent&&W(t.currentAgent)}catch{}O(!1)},[]),eF=(0,i.useCallback)(async e=>{W(e);try{let t=await fetch(`${h}/chat/agent`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"switch",agent:e})}),s=await t.json();s.agent?W(s.agent):s.success||W($),Q()}catch{W($)}},[$,Q]),eD=(0,i.useCallback)(e=>{let{type:t,...s}=e;switch(t){case"tool_call":k(e=>{let n,i=e.findIndex(e=>"tool_call"===e.type&&e.data?.id===s.id);return i>=0?(n=[...e])[i]={type:t,data:s}:n=[...e,{type:t,data:s}],H.current=n,n});break;case"thinking":case"hitl":case"error":case"notification":k(e=>{let n=[...e,{type:t,data:s}];return H.current=n,n});break;case"file_change":k(e=>{let n=[...e,{type:t,data:s}];return H.current=n,n}),en(),er();break;case"response":b(s.content||""),_.current=s.content||"";break;case"status":G(s.isRunning?"streaming":"connected",s.isRunning?"Agent working...":"Agent");break;case"done":s.finalResponse&&(b(s.finalResponse),_.current=s.finalResponse),G("connected","Agent"),n(!1),en(),er()}V()},[G,V,en,er]),eI=(0,i.useCallback)(async e=>{if(!e.trim())return;D.current&&(D.current.abort(),D.current=null,fetch(`${h}/chat/stop`,{method:"POST"}).catch(()=>{})),I.current&&(await I.current,I.current=null),v(!1);let s=e.trim();t(e=>[...e,{role:"user",content:s}]),n(!0),k([]),b(""),_.current="",H.current=[],G("streaming","Agent typing...");let i=new AbortController;D.current=i,I.current=(async()=>{try{let e="",t=0;for(;t<=5;){let n=!1;try{let a={"Content-Type":"application/json"};e&&(a["Last-Event-ID"]=e);let l=(await fetch(`${h}/chat/stream`,{method:"POST",headers:a,body:JSON.stringify({message:s}),signal:i.signal})).body.getReader(),r=new TextDecoder,c="",o=!1;for(;;){let{done:t,value:s}=await l.read();if(t){n=!0;break}let i=(c+=r.decode(s,{stream:!0})).split("\n");for(let t of(c=i.pop(),i)){if(!t.startsWith(":")){if(t.startsWith("id: ")){e=t.slice(4).trim();continue}if(!t.startsWith("retry:")&&t.startsWith("data: "))try{let e=JSON.parse(t.slice(6));eD(e),"done"===e.type&&(o=!0)}catch{}}}if(o)break}if(o||!n||++t>5)break;console.warn(`[SSE] Stream dropped (attempt ${t}/5), reconnecting in 2000ms...`),await new Promise(e=>setTimeout(e,2e3))}catch(e){if("AbortError"===e.name||++t>5)throw e;console.warn(`[SSE] Fetch error (attempt ${t}/5):`,e.message),await new Promise(e=>setTimeout(e,2e3))}}}catch(e){"AbortError"!==e.name&&(k(t=>[...t,{type:"error",data:{message:e.message}}]),G("error","Error"))}finally{let e=_.current,s=[...H.current];n(!1),D.current===i&&(D.current=null),(e||s.length>0)&&t(t=>[...t,{role:"agent",content:e,steps:s}]),G("connected","Agent")}})(),await I.current},[eD,G]),ez=(0,i.useCallback)(async()=>{D.current&&D.current.abort(),t([]),k([]),b(""),v(!0);try{let e=await fetch(`${h}/chat/new`,{method:"POST"});(await e.json()).success&&G("connected","New Chat")}catch{}},[G]),e_=(0,i.useCallback)(()=>{D.current&&(D.current.abort(),D.current=null),fetch(`${h}/chat/stop`,{method:"POST"}).catch(()=>{})},[]),eH=(0,i.useCallback)(async()=>{try{await fetch(`${h}/chat/approve`,{method:"POST"}),G("streaming","Agent")}catch{}},[G]),eJ=(0,i.useCallback)(async()=>{try{await fetch(`${h}/chat/reject`,{method:"POST"})}catch{}},[]),eV=(0,i.useRef)(s);eV.current=s;let{isMonitoring:eG}=function(e={}){let{onEvent:t,onActivityStart:s,onActivityEnd:n,onTurnChange:a,onModeChange:l,onSync:r,autoConnect:c=!0}=e,[o,d]=(0,i.useState)(!1),[h,m]=(0,i.useState)(null),p=(0,i.useRef)(null),x=(0,i.useRef)(null),u=(0,i.useRef)(!1),g=(0,i.useRef)(t),j=(0,i.useRef)(s),v=(0,i.useRef)(n),f=(0,i.useRef)(a),w=(0,i.useRef)(l),y=(0,i.useRef)(r);g.current=t,j.current=s,v.current=n,f.current=a,w.current=l,y.current=r;let k=(0,i.useCallback)(()=>{x.current&&(clearTimeout(x.current),x.current=null),p.current&&(p.current.abort(),p.current=null),d(!1),u.current=!1},[]),N=(0,i.useCallback)(async()=>{if(u.current||p.current)return;u.current=!0;let e=new AbortController;p.current=e;try{let t=await fetch("/api/v1/chat/monitor",{signal:e.signal});if(!t.ok||!t.body)throw Error(`Monitor connection failed: ${t.status}`);d(!0),u.current=!1;let s=t.body.getReader(),n=new TextDecoder,i="";for(;;){let{done:e,value:t}=await s.read();if(e)break;let a=(i+=n.decode(t,{stream:!0})).split("\n");for(let e of(i=a.pop(),a))if(!(e.startsWith(":")||e.startsWith("retry:")||e.startsWith("id:"))&&e.startsWith("data: "))try{let{type:t,...s}=JSON.parse(e.slice(6));switch(g.current?.({type:t,...s}),t){case"activity_start":j.current?.();break;case"activity_end":v.current?.(s);break;case"turn_change":f.current?.(s);break;case"mode_change":w.current?.(s);break;case"sync":m(Date.now()),y.current?.(s)}}catch{}}}catch(e){if("AbortError"===e.name)return;console.warn("[Monitor] Connection lost:",e.message)}finally{p.current=null,u.current=!1,d(!1),e.signal.aborted||(x.current=setTimeout(()=>{x.current=null,N()},3e3))}},[]);return(0,i.useEffect)(()=>(c&&N(),()=>{k()}),[c,N,k]),{isMonitoring:o,lastSyncTime:h,connect:N,disconnect:k}}({autoConnect:!0,onActivityStart:()=>{A(!0),eV.current||(g("streaming"),x("Agent working..."))},onActivityEnd:()=>{A(!1),eV.current||(g("connected"),x("Agent"),X(),en(),er())},onTurnChange:()=>{eV.current||(v(!1),X())},onModeChange:({newMode:e})=>{S(e)},onSync:e=>{"boolean"==typeof e.isRunning&&A(e.isRunning)},onEvent:e=>{eV.current||"tool_call"!==e.type&&"response"!==e.type&&"thinking"!==e.type&&"hitl"!==e.type&&"notification"!==e.type||eD(e)}});return(0,i.useEffect)(()=>{R(eG)},[eG]),(0,i.useEffect)(V,[e,y,N,V]),{messages:e,isStreaming:s,isConnected:r,statusText:p,statusState:u,showWelcome:j,isLoadingHistory:f,currentSteps:y,currentResponse:N,windows:ek,conversations:eN,activeConversation:eb,artifactFiles:Z,artifactPanelOpen:ee,changeFiles:ei,changesPanelOpen:ea,acceptAllChanges:ec,rejectAllChanges:eo,isAccepting:ed,isRejecting:eh,gitStatus:em,gitPanelOpen:ep,gitChangedCount:ex,toggleGitPanel:eu,refreshGit:eg,workspaceTree:ej,workspacePanelOpen:ev,workspaceLoading:ef,toggleWorkspacePanel:ew,refreshWorkspace:ey,currentMode:C,currentAgent:$,agents:B,isLoadingAgents:M,cdpStatus:eC,recentProjects:eS,isAgentBusy:P,isMonitorConnected:E,networkOnline:L,sendMessage:eI,stopStreaming:e_,startNewChat:ez,approve:eH,reject:eJ,selectWindow:eW,selectConversation:eT,toggleArtifactPanel:et,openArtifactPanel:es,toggleChangesPanel:el,toggleMode:eR,fetchAgentList:eL,switchAgent:eF,startCdpServer:eO,openNewWindow:eP,closeWindowByIndex:eA,messagesEndRef:z,setShowWelcome:v}}(),ex=(0,i.useCallback)(async()=>{try{await fetch("/api/v1/health"),window.location.reload()}catch{}},[]);return(0,i.useEffect)(()=>{let e=e=>{"n"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),f())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f]),(0,n.jsxs)("div",{className:"app-container",children:[(0,n.jsx)(x,{statusState:e,statusText:t,windows:s,conversations:r,activeConversation:m,cdpStatus:p,recentProjects:g,onSelectWindow:j,onSelectConversation:v,onNewChat:f,onStartCdp:w,onOpenWindow:y,onCloseWindow:k}),(0,n.jsx)(R,{networkOnline:N,isConnected:W}),(0,n.jsxs)("main",{className:"messages-area",role:"log","aria-live":"polite",children:[B?(0,n.jsxs)("div",{className:"history-loading",children:[(0,n.jsxs)("div",{className:"history-loading-header",children:[(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-avatar"}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"45%"}})]}),(0,n.jsxs)("div",{className:"history-loading-block",children:[(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"80%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"65%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"72%"}})]}),(0,n.jsx)("div",{className:"history-loading-header right",children:(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"35%"}})}),(0,n.jsxs)("div",{className:"history-loading-block",children:[(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"90%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"55%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"68%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"40%"}})]}),(0,n.jsxs)("div",{className:"history-loading-header",children:[(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-avatar"}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"50%"}})]}),(0,n.jsxs)("div",{className:"history-loading-block",children:[(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"75%"}}),(0,n.jsx)("div",{className:"skeleton-shimmer skeleton-line",style:{width:"60%"}})]}),(0,n.jsx)("p",{className:"history-loading-text",children:"Loading conversation history…"})]}):M?(0,n.jsx)(u,{onQuickPrompt:F}):(0,n.jsx)(b,{messages:O,currentSteps:P,currentResponse:A,isStreaming:L,onRetry:ex}),(0,n.jsx)("div",{ref:ep})]}),(0,n.jsx)(C,{onSend:F,onStop:D,isStreaming:L,currentMode:I,onToggleMode:z,currentAgent:_,agents:H,isLoadingAgents:J,onFetchAgents:V,onSwitchAgent:G,onToggleArtifacts:K,artifactCount:q.length,artifactPanelOpen:U,onToggleChanges:Q,changesCount:X.length,changesPanelOpen:Y,onToggleGit:el,gitChangedCount:ea,gitPanelOpen:ei,onToggleWorkspace:eh,workspacePanelOpen:eo}),(0,n.jsx)(S,{open:U,onClose:K,activeConversation:m,files:q}),(0,n.jsx)($,{open:Y,onClose:Q,changes:X,onAcceptAll:Z,onRejectAll:ee,isAccepting:et,isRejecting:es}),(0,n.jsx)(T,{open:ei,onClose:el,gitStatus:en,onRefresh:er}),(0,n.jsx)(E,{open:eo,onClose:eh,workspaceTree:ec,workspaceLoading:ed,onRefresh:em})]})}}},e=>{e.O(0,[4855,8441,8928,7358],()=>e(e.s=5035)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cc79d4c747fe87b0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[912,2159,2647,2653,2682,3074,3081,3250,3265,3488,3570,3620,3648,3791,3950,4345,4445,4797,4815,4896,4970,5198,5603,5671,5734,5963,5996,6217,6237,6701,6819,6988,7131,7236,8136,8167,8560,8608,8704,9279,9301,9399,9428,9492,9576,9712],{4441:()=>{}},_=>{_.O(0,[8441,8928,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,o,n,i,a,u,l={},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{l[e](r,r.exports,s),o=!1}finally{o&&delete c[e]}return r.exports}s.m=l,e=[],s.O=(t,r,o,n)=>{if(r){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[r,o,n];return}for(var a=1/0,i=0;i<e.length;i++){for(var[r,o,n]=e[i],u=!0,l=0;l<r.length;l++)(!1&n||a>=n)&&Object.keys(s.O).every(e=>s.O[e](r[l]))?r.splice(l--,1):(u=!1,n<a&&(a=n));if(u){e.splice(i--,1);var c=o();void 0!==c&&(t=c)}}return t},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);s.r(n);var i={};t=t||[null,r({}),r([]),r(r)];for(var a=2&o&&e;"object"==typeof a&&!~t.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,s.d(n,i),n},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>{},s.miniCssF=e=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var i,a,u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var c=u[l];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")=="_N_E:"+r){i=c;break}}i||(a=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack","_N_E:"+r),i.src=s.tu(e)),o[e]=[t];var f=(t,r)=>{i.onerror=i.onload=null,clearTimeout(d);var n=o[e];if(delete o[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(e=>e(r)),t)return t(r)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),a&&document.head.appendChild(i)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),s.tu=e=>s.tt().createScriptURL(e),s.p="/_next/",i={8068:0,
|
|
1
|
+
(()=>{"use strict";var e,t,r,o,n,i,a,u,l={},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{l[e](r,r.exports,s),o=!1}finally{o&&delete c[e]}return r.exports}s.m=l,e=[],s.O=(t,r,o,n)=>{if(r){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[r,o,n];return}for(var a=1/0,i=0;i<e.length;i++){for(var[r,o,n]=e[i],u=!0,l=0;l<r.length;l++)(!1&n||a>=n)&&Object.keys(s.O).every(e=>s.O[e](r[l]))?r.splice(l--,1):(u=!1,n<a&&(a=n));if(u){e.splice(i--,1);var c=o();void 0!==c&&(t=c)}}return t},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);s.r(n);var i={};t=t||[null,r({}),r([]),r(r)];for(var a=2&o&&e;"object"==typeof a&&!~t.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,s.d(n,i),n},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>{},s.miniCssF=e=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var i,a,u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var c=u[l];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")=="_N_E:"+r){i=c;break}}i||(a=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack","_N_E:"+r),i.src=s.tu(e)),o[e]=[t];var f=(t,r)=>{i.onerror=i.onload=null,clearTimeout(d);var n=o[e];if(delete o[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(e=>e(r)),t)return t(r)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),a&&document.head.appendChild(i)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),s.tu=e=>s.tt().createScriptURL(e),s.p="/_next/",i={8068:0,958:0,7513:0},s.f.j=(e,t)=>{var r=s.o(i,e)?i[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(7513|8068|958)$/.test(e))i[e]=0;else{var o=new Promise((t,o)=>r=i[e]=[t,o]);t.push(r[2]=o);var n=s.p+s.u(e),a=Error();s.l(n,t=>{if(s.o(i,e)&&(0!==(r=i[e])&&(i[e]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+n+")",a.name="ChunkLoadError",a.type=o,a.request=n,r[1](a)}},"chunk-"+e,e)}},s.O.j=e=>0===i[e],a=(e,t)=>{var r,o,[n,a,u]=t,l=0;if(n.some(e=>0!==i[e])){for(r in a)s.o(a,r)&&(s.m[r]=a[r]);if(u)var c=u(s)}for(e&&e(t);l<n.length;l++)o=n[l],s.o(i,o)&&i[o]&&i[o][0](),i[o]=0;return s.O(c)},(u=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),u.push=a.bind(null,u.push.bind(u))})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_fa2f99{font-family:Inter,Inter Fallback;font-style:normal}.__variable_fa2f99{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-hover:#22223a;--bg-glass:rgba(26,26,46,0.7);--bg-glass-strong:rgba(26,26,46,0.9);--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#686888;--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-gradient:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);--accent-glow:rgba(99,102,241,0.3);--border-subtle:rgba(255,255,255,0.06);--border-active:rgba(99,102,241,0.4);--user-bubble:rgba(99,102,241,0.15);--agent-bubble:rgba(255,255,255,0.04);--success:#34d399;--warning:#fbbf24;--error:#ef4444;--tool-running-border:rgba(99,102,241,0.4);--tool-running-bg:rgba(99,102,241,0.06);--tool-done-border:rgba(255,255,255,0.08);--tool-done-bg:rgba(255,255,255,0.02);--tool-error-border:rgba(239,68,68,0.4);--tool-error-bg:rgba(239,68,68,0.06);--hitl-bg:rgba(251,191,36,0.08);--hitl-border:rgba(251,191,36,0.3);--hitl-approve-bg:rgba(52,211,153,0.15);--hitl-approve-border:rgba(52,211,153,0.5);--hitl-reject-bg:rgba(239,68,68,0.15);--hitl-reject-border:rgba(239,68,68,0.5);--header-height:52px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-xl:18px;--transition-fast:0.15s ease;--transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toolPulse{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,0)}50%{box-shadow:0 0 12px 0 rgba(99,102,241,.15)}}@keyframes hitlSlideIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes wm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}@keyframes historyFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.history-loading{display:flex;flex-direction:column;gap:18px;padding:20px 10px;animation:historyFadeIn .4s ease-out;max-width:100%}.history-loading-header{display:flex;align-items:center;gap:10px}.history-loading-header.right{justify-content:flex-end}.history-loading-block{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-md);background:var(--agent-bubble);border:1px solid var(--border-subtle)}.skeleton-shimmer{background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08) 40%,rgba(255,255,255,.03) 80%);background-size:300px 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:6px}.skeleton-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.skeleton-line{height:12px;border-radius:6px}.history-loading-text{text-align:center;font-size:12px;color:var(--text-muted);padding-top:8px;animation:pulse-dot 2s ease-in-out infinite}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;padding-top:var(--safe-top)}.header{justify-content:space-between;height:var(--header-height);padding:0 10px;padding-left:calc(10px + var(--safe-left));padding-right:calc(10px + var(--safe-right));border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-glass-strong);position:sticky;top:0;z-index:100;gap:6px;overflow:visible}.header,.header-left{display:flex;align-items:center;flex-shrink:0}.header-left{gap:8px;min-width:0}.logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-title h1{font-size:14px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.header-subtitle{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.header-subtitle:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}.status-streaming:before{background:var(--accent-primary);animation:pulse-dot .8s ease-in-out infinite}.status-hitl:before{background:var(--warning);animation:pulse-dot .6s ease-in-out infinite}.status-disconnected:before,.status-error:before{background:var(--error);animation:none}.status-disconnected:before{opacity:.5}.header-right{gap:1px;flex-shrink:1;min-width:0;position:static}.header-right,.icon-btn{display:flex;align-items:center}.icon-btn{width:34px;height:34px;justify-content:center;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:0}.icon-btn:active,.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn:active{transform:scale(.92)}.messages-area{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 8px;scroll-behavior:smooth}.messages-area::-webkit-scrollbar{display:none}.messages-area{scrollbar-width:none}.user-message{display:flex;justify-content:flex-end;margin-bottom:14px;animation:messageIn .3s ease-out}.message-content{max-width:92%;padding:12px 14px;border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg);background:var(--user-bubble);border:1px solid var(--border-active);font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.agent-message{margin-bottom:18px;animation:messageIn .3s ease-out}.agent-steps{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.agent-response{padding:0 2px;font-size:14px;line-height:1.7}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:55vh;text-align:center;padding:0 20px;animation:fadeIn .6s ease-out}.welcome-icon{margin-bottom:16px;animation:float 4s ease-in-out infinite}.welcome-icon svg{width:48px;height:48px}.welcome-screen h2{font-size:20px;font-weight:700;margin-bottom:6px}.welcome-screen p{font-size:13px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.quick-prompts{display:flex;flex-direction:column;gap:8px;width:100%;align-items:stretch}.quick-prompt{padding:12px 16px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent}.quick-prompt:active,.quick-prompt:hover{border-color:var(--border-active);color:var(--text-primary);background:var(--bg-tertiary)}.quick-prompt:active{transform:scale(.98)}.tool-call-card{border:1px solid var(--tool-done-border);background:var(--tool-done-bg);border-radius:var(--radius-sm);padding:10px;font-size:12px;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:5px}.tool-call-card.running{border-color:var(--tool-running-border);background:var(--tool-running-bg);animation:toolPulse 2s ease infinite}.tool-call-card.error{border-color:var(--tool-error-border);background:var(--tool-error-bg)}.tool-call-card.mcp{border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.06)}.tool-header{gap:6px;flex-wrap:wrap}.tool-header,.tool-icon{display:flex;align-items:center}.tool-icon{color:var(--text-muted);flex-shrink:0}.tool-status-text{font-weight:500;color:var(--text-primary)}.tool-path{font-family:var(--font-jetbrains),monospace;font-size:10px;color:var(--accent-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;order:3}.tool-command{background:rgba(0,0,0,.3);border-radius:4px;padding:6px 8px;margin-top:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tool-command code{font-family:var(--font-jetbrains),monospace;font-size:11px;color:var(--text-primary);white-space:nowrap}.tool-exit-code{font-size:10px;color:var(--text-muted);margin-top:4px}.tool-footer-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.tool-footer-btn{padding:6px 12px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all var(--transition-fast);min-height:36px;-webkit-tap-highlight-color:transparent}.tool-footer-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.tool-footer-btn:active{transform:scale(.96)}.tool-file-changes{display:flex;gap:6px;font-size:10px;margin-top:2px}.tool-additions{color:var(--success)}.tool-additions,.tool-deletions{font-family:var(--font-jetbrains),monospace}.tool-deletions{color:var(--error)}.tool-terminal{background:rgba(0,0,0,.4);border-radius:4px;padding:8px;margin-top:6px;max-height:100px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-jetbrains),monospace;font-size:10px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.permission-card{border:1px solid rgba(251,191,36,.4);background:rgba(251,191,36,.07);border-radius:var(--radius-md);padding:12px;font-size:12px;display:flex;flex-direction:column;gap:8px;animation:hitlSlideIn .3s ease-out}.permission-header{display:flex;align-items:center;gap:6px}.permission-icon{display:flex;align-items:center;color:var(--warning)}.permission-title{font-weight:600;font-size:13px;color:var(--warning)}.permission-description{font-size:12px;color:var(--text-secondary);line-height:1.5}.permission-path{font-family:var(--font-jetbrains),monospace;font-size:11px;color:var(--accent-primary);background:rgba(0,0,0,.25);padding:1px 4px;border-radius:3px;word-break:break-word}.permission-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.permission-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:38px;-webkit-tap-highlight-color:transparent;white-space:nowrap}.permission-btn.allow{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.45);color:#34d399}.permission-btn.allow:hover{background:rgba(52,211,153,.22);border-color:rgba(52,211,153,.7)}.permission-btn.allow:active{transform:scale(.96)}.permission-btn.deny{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4);color:#ef4444}.permission-btn.deny:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.65)}.permission-btn.deny:active{transform:scale(.96)}.thinking-block{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(99,102,241,.04);border-left:2px solid var(--accent-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px;color:var(--text-secondary);animation:fadeIn .3s ease}.thinking-icon{color:var(--accent-primary);animation:pulse-dot 2s ease-in-out infinite}.hitl-dialog{border:1px solid var(--hitl-border);background:var(--hitl-bg);border-radius:var(--radius-md);padding:14px 12px;animation:hitlSlideIn .3s ease-out}.hitl-dialog.resolved{opacity:.5;pointer-events:none;transition:opacity .5s ease}.hitl-label{font-size:13px;font-weight:600;color:var(--warning);margin-bottom:8px;display:flex;align-items:center;gap:6px}.hitl-context{font-size:12px;color:var(--text-secondary);margin-bottom:12px;font-family:var(--font-jetbrains),monospace;padding:6px 8px;background:rgba(0,0,0,.3);border-radius:4px;word-break:break-word;overflow-x:auto;-webkit-overflow-scrolling:touch}.hitl-actions{display:flex;gap:8px;flex-direction:column}.hitl-approve-btn,.hitl-reject-btn{padding:12px 16px;border-radius:var(--radius-sm);border:1px solid;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition-fast);min-height:44px;-webkit-tap-highlight-color:transparent}.hitl-approve-btn{background:var(--hitl-approve-bg);border-color:var(--hitl-approve-border);color:var(--success)}.hitl-approve-btn:hover{background:rgba(52,211,153,.25)}.hitl-approve-btn:active{transform:scale(.97)}.hitl-reject-btn{background:var(--hitl-reject-bg);border-color:var(--hitl-reject-border);color:var(--error)}.hitl-reject-btn:hover{background:rgba(239,68,68,.25)}.hitl-reject-btn:active{transform:scale(.97)}.typing-indicator{display:flex;align-items:center;gap:4px;padding:8px 0}.typing-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}.file-change-indicator{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;color:var(--text-secondary);background:rgba(52,211,153,.04);border-left:2px solid var(--success);border-radius:0 4px 4px 0}.file-change-name{font-family:var(--font-jetbrains),monospace;color:var(--success)}.error-banner{padding:10px 12px;background:var(--tool-error-bg);border:1px solid var(--tool-error-border);border-radius:var(--radius-sm);color:var(--error);font-size:13px;display:flex;align-items:center;gap:8px;word-break:break-word}.input-area{padding:10px 8px;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right));padding-bottom:calc(10px + var(--safe-bottom));border-top:1px solid var(--border-subtle);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0;display:flex;flex-direction:column;gap:6px}.input-toolbar{display:flex;align-items:center;gap:6px;padding:0 2px}.toolbar-agent-name{font-size:10px;color:var(--text-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:var(--font-jetbrains),monospace}.input-wrapper{display:flex;align-items:flex-end;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:6px 10px;transition:border-color var(--transition-fast)}.input-wrapper:focus-within{border-color:var(--border-active)}.input-wrapper textarea{flex:1 1;background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:16px;line-height:1.5;resize:none;outline:none;max-height:120px;min-height:24px}.input-wrapper textarea::placeholder{color:var(--text-muted)}.send-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:white;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;-webkit-tap-highlight-color:transparent}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn:not(:disabled):hover{transform:scale(1.05);box-shadow:0 0 16px var(--accent-glow)}.send-btn:not(:disabled):active{transform:scale(.95)}.send-btn--stop{background:rgba(239,68,68,.15);border:1.5px solid rgba(239,68,68,.6);color:#f87171;animation:stopPulse 2s ease-in-out infinite}.send-btn--stop:not(:disabled):hover{background:rgba(239,68,68,.28);border-color:rgba(239,68,68,.9);color:#fca5a5;box-shadow:0 0 16px rgba(239,68,68,.4);transform:scale(1.05)}.send-btn--stop:not(:disabled):active{transform:scale(.92)}@keyframes stopPulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 0 4px rgba(239,68,68,.18)}}.send-btn--interrupt{background:linear-gradient(135deg,#f59e0b,#ef4444);animation:interruptPulse 1.8s ease-in-out infinite}.send-btn--interrupt:not(:disabled):hover{box-shadow:0 0 16px rgba(245,158,11,.5);transform:scale(1.05)}.send-btn--interrupt:not(:disabled):active{transform:scale(.92)}@keyframes interruptPulse{0%,to{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 4px rgba(245,158,11,.2)}}.input-hint{display:none}.mode-toggle{display:flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px}.mode-toggle:active{transform:scale(.95)}.mode-toggle.planning{border-color:rgba(99,102,241,.3);background:rgba(99,102,241,.08);color:#a5b4fc}.mode-toggle.fast{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08);color:#fcd34d}.mode-icon{font-size:12px;line-height:1}.mode-label{font-weight:500;letter-spacing:.02em}.artifact-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px;position:relative}.artifact-toggle-btn:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.artifact-toggle-btn:active{transform:scale(.95)}.artifact-toggle-btn.active{border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.1);color:#c4b5fd}.artifact-toggle-btn.active:hover{border-color:rgba(168,85,247,.6);background:rgba(168,85,247,.18);color:#ddd6fe}.artifact-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:rgba(168,85,247,.25);color:#c4b5fd;font-size:9px;font-weight:700;font-family:var(--font-jetbrains),monospace;line-height:1}.artifact-toggle-btn.active .artifact-badge{background:rgba(168,85,247,.35);color:#e9d5ff}.changes-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px;position:relative}.changes-toggle-btn:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.changes-toggle-btn:active{transform:scale(.95)}.changes-toggle-btn.active{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.1);color:#6ee7b7}.changes-toggle-btn.active:hover{border-color:rgba(52,211,153,.6);background:rgba(52,211,153,.18);color:#a7f3d0}.changes-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:rgba(52,211,153,.25);color:#6ee7b7;font-size:9px;font-weight:700;font-family:var(--font-jetbrains),monospace;line-height:1}.changes-toggle-btn.active .changes-badge{background:rgba(52,211,153,.35);color:#a7f3d0}.changes-panel{position:fixed;top:0;right:0;width:100%;height:100%;background:var(--bg-primary);z-index:150;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.changes-panel.open{transform:translateX(0)}.changes-panel-header{display:flex;align-items:center;gap:10px;padding:14px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.changes-panel-header h3{font-size:15px;font-weight:600;margin:0;color:var(--text-primary)}.changes-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-subtle);background:rgba(52,211,153,.04)}.changes-count{font-size:12px;font-weight:600;color:var(--text-primary);font-family:var(--font-jetbrains),monospace}.changes-stats{display:flex;gap:8px}.changes-additions{color:var(--success)}.changes-additions,.changes-deletions{font-size:11px;font-weight:700;font-family:var(--font-jetbrains),monospace}.changes-deletions{color:var(--error)}.changes-file-list{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;display:flex;flex-direction:column;gap:4px}.changes-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;min-height:48px;transition:all .2s ease;cursor:pointer;text-align:left;font-family:inherit;width:100%;-webkit-tap-highlight-color:transparent}.changes-file-item:hover{border-color:var(--border-active);background:var(--bg-hover)}.changes-file-item:active{transform:scale(.98)}.changes-file-icon{flex-shrink:0;font-size:14px}.changes-file-info{flex:1 1;min-width:0;overflow:hidden}.changes-file-name{font-size:13px;font-weight:500;color:var(--text-primary)}.changes-file-name,.changes-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-file-path{font-size:10px;color:var(--text-muted);font-family:var(--font-jetbrains),monospace}.changes-file-diff{display:flex;gap:6px;flex-shrink:0}.changes-action-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-subtle);background:rgba(0,0,0,.12)}.changes-accept-all-btn,.changes-reject-all-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1 1;padding:8px 12px;border-radius:var(--radius-sm);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:36px;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.changes-reject-all-btn{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:#f87171}.changes-reject-all-btn:hover:not(:disabled){background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.5);color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 12px rgba(239,68,68,.15)}.changes-reject-all-btn:active:not(:disabled){transform:scale(.97)}.changes-accept-all-btn{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);color:#34d399}.changes-accept-all-btn:hover:not(:disabled){background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.5);color:#6ee7b7;transform:translateY(-1px);box-shadow:0 2px 12px rgba(52,211,153,.15)}.changes-accept-all-btn:active:not(:disabled){transform:scale(.97)}.changes-accept-all-btn:disabled,.changes-reject-all-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.changes-action-spinner{animation:spinAction .8s linear infinite}@keyframes spinAction{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.changes-action-message{padding:8px 16px;font-size:12px;font-weight:500;text-align:center;animation:slideInMessage .25s ease-out}.changes-action-message--success{background:rgba(52,211,153,.08);color:#6ee7b7;border-bottom:1px solid rgba(52,211,153,.15)}.changes-action-message--error{background:rgba(239,68,68,.08);color:#f87171;border-bottom:1px solid rgba(239,68,68,.15)}@keyframes slideInMessage{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.diff-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.diff-viewer-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-shrink:0;overflow:hidden}.diff-back-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:13px;font-weight:500;padding:2px 6px;border-radius:4px;flex-shrink:0}.diff-back-btn:hover{background:rgba(99,102,241,.1)}.diff-viewer-title{font-size:13px;font-weight:600;color:var(--text-primary);flex-shrink:0}.diff-viewer-path{font-size:10px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-viewer-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.diff-lines{font-family:var(--font-jetbrains),monospace;font-size:11px;line-height:1.65}.diff-line{display:flex;padding:0 8px;border-bottom:1px solid transparent;min-height:20px}.diff-line-num{width:40px;text-align:right;padding-right:8px;color:var(--text-muted);opacity:.5}.diff-line-indicator,.diff-line-num{flex-shrink:0;-webkit-user-select:none;user-select:none}.diff-line-indicator{width:16px;text-align:center;font-weight:700}.diff-line-content{flex:1 1;white-space:pre-wrap;word-break:break-all;min-width:0}.diff-line-add{background:rgba(52,211,153,.08)}.diff-line-add .diff-line-indicator{color:#34d399}.diff-line-add .diff-line-content{color:#a7f3d0}.diff-line-del{background:rgba(248,113,113,.08)}.diff-line-del .diff-line-indicator{color:#f87171}.diff-line-del .diff-line-content{color:#fca5a5}.diff-line-context .diff-line-content{color:var(--text-secondary)}.diff-line-header{background:rgba(99,102,241,.06);border-bottom:1px solid var(--border-subtle);padding:4px 8px;margin-top:4px}.diff-line-header .diff-line-indicator{color:var(--accent-primary)}.diff-line-header .diff-line-content{color:var(--accent-primary);font-weight:500}.diff-line-meta{background:rgba(100,100,120,.04);padding:2px 8px}.diff-line-meta .diff-line-content{color:var(--text-muted);font-style:italic}.agent-selector-wrapper{position:relative;overflow:visible}.agent-selector-btn{display:flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px;max-width:140px}.agent-selector-btn:active{transform:scale(.95)}.agent-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.agent-icon{display:flex;align-items:center;color:var(--accent-secondary);flex-shrink:0}.agent-label{font-weight:500;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.agent-chevron{transition:transform .2s ease;flex-shrink:0;opacity:.6}.agent-chevron.open{transform:rotate(180deg)}.agent-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;width:280px;max-height:320px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 -8px 32px rgba(0,0,0,.5);z-index:300;opacity:0;transform:translateY(4px) scale(.97);pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column}.agent-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.agent-dropdown-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:rgba(0,0,0,.15)}.agent-dropdown-loading{display:flex;align-items:center;gap:10px}.agent-dropdown-empty,.agent-dropdown-loading{padding:20px 14px;color:var(--text-muted);font-size:12px}.agent-dropdown-empty{text-align:center;line-height:1.5}.agent-dropdown-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px;flex:1 1}.agent-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:all var(--transition-fast);text-align:left;position:relative;-webkit-tap-highlight-color:transparent}.agent-option:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-option:active{background:var(--bg-hover);transform:scale(.98)}.agent-option.current{color:var(--text-primary);background:rgba(99,102,241,.1)}.agent-option-name{font-weight:500;display:flex;align-items:center;justify-content:space-between}.agent-option-desc{font-size:10px;color:var(--text-muted);line-height:1.4}.agent-check{color:var(--accent-primary);flex-shrink:0;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.window-selector-wrapper{position:static;overflow:visible}.window-selector-btn{display:flex;align-items:center;gap:4px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-fast);min-height:34px;min-width:0;flex-shrink:1;-webkit-tap-highlight-color:transparent}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.window-selector-btn .chevron{transition:transform .2s ease}.window-selector-wrapper.open .window-selector-btn{border-color:var(--accent-primary);color:var(--text-primary)}.window-selector-wrapper.open .chevron{transform:rotate(180deg)}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){display:none}.cdp-indicator{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cdp-indicator.active{background:var(--success);box-shadow:0 0 6px rgba(52,211,153,.5);animation:pulse-dot 2s ease-in-out infinite}.cdp-indicator.inactive{background:var(--error);opacity:.6}.window-dropdown{position:absolute;top:100%;left:10px;right:10px;width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:200;opacity:0;transform:translateY(-4px) scale(.97);pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;margin-top:4px}.window-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.wm-cdp-status{justify-content:space-between;padding:12px;background:rgba(0,0,0,.2);border-bottom:1px solid var(--border-subtle)}.wm-cdp-info,.wm-cdp-status{display:flex;align-items:center}.wm-cdp-info{gap:8px;font-size:12px;color:var(--text-secondary)}.wm-cdp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wm-cdp-dot.active{background:var(--success);box-shadow:0 0 8px rgba(52,211,153,.4)}.wm-cdp-dot.inactive{background:var(--error);opacity:.7}.wm-cdp-start-btn{display:flex;align-items:center;gap:5px;padding:8px 14px;border:1px solid rgba(52,211,153,.3);border-radius:var(--radius-sm);background:rgba(52,211,153,.08);color:var(--success);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:40px;-webkit-tap-highlight-color:transparent}.wm-cdp-start-btn:hover:not(:disabled){border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.15)}.wm-cdp-start-btn:active:not(:disabled){transform:scale(.97)}.wm-cdp-start-btn:disabled{opacity:.5;cursor:not-allowed}.window-dropdown-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.window-item{display:flex;align-items:center;width:100%;padding:0;border:none;background:transparent;transition:all var(--transition-fast)}.window-item:hover{background:var(--bg-hover)}.window-item.active{background:var(--tool-running-bg)}.window-item-select{display:flex;align-items:center;gap:10px;flex:1 1;padding:14px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:color var(--transition-fast);min-width:0;min-height:48px;-webkit-tap-highlight-color:transparent}.window-item-select:hover{color:var(--text-primary)}.window-item.active .window-item-select{color:var(--accent-primary)}.window-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-item-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:8px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;opacity:.6;-webkit-tap-highlight-color:transparent}.window-item-close:active{background:rgba(239,68,68,.15);color:var(--error);transform:scale(.9)}.window-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.window-item.active .window-dot{background:var(--success);box-shadow:0 0 6px rgba(52,211,153,.4)}.wm-open-section{padding:14px;border-top:1px solid var(--border-subtle);background:rgba(0,0,0,.1)}.wm-open-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.wm-open-form{display:flex;gap:8px}.wm-open-input{flex:1 1;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-jetbrains),monospace;font-size:14px;outline:none;transition:border-color var(--transition-fast);min-width:0;min-height:44px}.wm-open-input::placeholder{color:var(--text-muted);font-family:inherit}.wm-open-input:focus{border-color:var(--accent-primary)}.wm-open-input:disabled{opacity:.5}.wm-open-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-active);border-radius:6px;background:rgba(99,102,241,.1);color:var(--accent-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;-webkit-tap-highlight-color:transparent}.wm-open-btn:hover:not(:disabled){background:rgba(99,102,241,.2)}.wm-open-btn:active:not(:disabled){transform:scale(.95)}.wm-open-btn:disabled{opacity:.3;cursor:not-allowed}.wm-action-message{padding:10px 14px;font-size:12px;border-top:1px solid var(--border-subtle);animation:fadeIn .2s ease;word-break:break-word}.wm-action-message.success{color:var(--success);background:rgba(52,211,153,.06)}.wm-action-message.error{color:var(--error);background:rgba(239,68,68,.06)}.wm-recent-section{border-top:1px solid var(--border-subtle)}.wm-recent-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.wm-recent-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;cursor:pointer;transition:all var(--transition-fast);text-align:left;min-height:52px;-webkit-tap-highlight-color:transparent}.wm-recent-item:active,.wm-recent-item:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-recent-item:disabled{opacity:.5;cursor:not-allowed}.wm-recent-icon{color:var(--accent-primary);flex-shrink:0}.wm-recent-info{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.wm-recent-name{font-size:13px;font-weight:500;color:var(--text-primary)}.wm-recent-name,.wm-recent-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-recent-path{font-size:10px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted)}.wm-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.15);border-top-color:currentcolor;border-radius:50%;animation:wm-spin .6s linear infinite}.artifact-panel{position:fixed;top:0;right:0;width:100%;height:100vh;height:100dvh;background:var(--bg-secondary);border-left:none;z-index:400;display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--transition-smooth);overflow:hidden}.artifact-panel.open{transform:translateX(0);box-shadow:-8px 0 32px rgba(0,0,0,.5)}.artifact-panel-header{display:flex;align-items:center;padding:12px;padding-top:calc(12px + var(--safe-top));border-bottom:1px solid var(--border-subtle);background:var(--bg-glass-strong);min-height:50px;gap:8px}.artifact-panel-header h3{font-size:14px;font-weight:600;white-space:nowrap}.artifact-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px}.artifact-conv-item{padding:12px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);min-height:48px;-webkit-tap-highlight-color:transparent}.artifact-conv-item:active,.artifact-conv-item:hover{background:var(--bg-hover)}.artifact-conv-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-conv-id{font-size:10px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted)}.artifact-file-list{display:flex;flex-direction:column;gap:6px;padding:12px}.artifact-file-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:48px;-webkit-tap-highlight-color:transparent}.artifact-file-item:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.artifact-file-item:active{transform:scale(.98)}.artifact-file-item.non-file{cursor:default;opacity:.6;border-style:dashed}.artifact-file-item.non-file:hover{border-color:var(--border-subtle);background:var(--bg-tertiary)}.artifact-file-item.non-file:active{transform:none}.artifact-file-icon{color:var(--accent-primary);flex-shrink:0}.artifact-file-name{font-size:13px;font-weight:500;color:var(--text-primary);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-file-size{font-size:10px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted)}.artifact-viewer{display:flex;flex-direction:column;height:100%}.artifact-viewer-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary)}.artifact-back-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 10px;border-radius:4px;transition:background .2s;min-height:36px;-webkit-tap-highlight-color:transparent}.artifact-back-btn:hover{background:rgba(99,102,241,.1)}.artifact-viewer-title{font-size:13px;font-weight:600;color:var(--text-primary);font-family:var(--font-jetbrains),monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-viewer-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 12px;padding-bottom:calc(14px + var(--safe-bottom));font-size:13px;line-height:1.6;color:var(--text-primary)}.artifact-viewer-body pre{background:rgba(0,0,0,.3);border-radius:6px;padding:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:11px}.artifact-viewer-body code{font-family:var(--font-jetbrains),monospace;font-size:11px}.conv-selector-wrapper{overflow:visible}.conv-selector-btn{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-fast);max-width:110px;min-height:34px;min-width:0;flex-shrink:1;-webkit-tap-highlight-color:transparent}.conv-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.conv-selector-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70px}.conv-dropdown{position:absolute;top:100%;left:10px;right:10px;width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:300;opacity:0;transform:translateY(-4px) scale(.97);pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;margin-top:4px}.conv-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.conv-dropdown-header{padding:10px 14px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.conv-dropdown-list{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1;padding:4px}.conv-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:all var(--transition-fast);text-align:left;min-height:48px;-webkit-tap-highlight-color:transparent}.conv-item:active,.conv-item:hover{background:var(--bg-hover);color:var(--text-primary)}.conv-item.active{color:var(--text-primary);background:rgba(99,102,241,.12)}.conv-section{padding:4px 0}.conv-section+.conv-section{border-top:1px solid var(--border-subtle);margin-top:2px}.conv-section-label{display:flex;gap:6px;padding:8px 12px 4px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.conv-section-count,.conv-section-label{align-items:center;font-size:10px;color:var(--text-muted)}.conv-section-count{display:inline-flex;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bg-tertiary);font-weight:600}.conv-item-header{display:flex;align-items:center;gap:6px;width:100%}.conv-item-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.conv-item-time{font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.conv-item-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0;opacity:.5}.conv-item-dot.active{background:var(--success);opacity:1;box-shadow:0 0 5px rgba(52,211,153,.5)}.conv-item-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;opacity:0;-webkit-tap-highlight-color:transparent}.conv-item:hover .conv-item-action{opacity:1}.conv-item-action:hover{background:rgba(239,68,68,.12);color:var(--error)}.conv-show-more{display:block;width:100%;padding:9px 12px;border:none;border-radius:6px;background:transparent;color:var(--accent-primary);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;text-align:left;transition:background var(--transition-fast);min-height:36px;-webkit-tap-highlight-color:transparent}.conv-show-more:hover{background:rgba(99,102,241,.08)}.agent-response h1,.agent-response h2,.agent-response h3,.agent-response h4{color:var(--text-primary);margin-top:.8em;margin-bottom:.3em}.agent-response h1{font-size:1.3em}.agent-response h2{font-size:1.15em;border-bottom:1px solid var(--border-subtle);padding-bottom:4px}.agent-response p{margin:.4em 0}.agent-response ol,.agent-response ul{padding-left:18px;margin:.4em 0}.agent-response li{margin-bottom:4px}.agent-response code{font-family:var(--font-jetbrains),monospace;font-size:.85em;background:rgba(255,255,255,.06);padding:2px 5px;border-radius:4px}.agent-response pre{background:rgba(0,0,0,.4);border-radius:var(--radius-sm);padding:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0;border:1px solid var(--border-subtle)}.agent-response pre code{background:none;padding:0;font-size:12px}.agent-response a{color:var(--accent-primary);text-decoration:none}.agent-response a:hover{text-decoration:underline}.agent-response blockquote{border-left:3px solid var(--accent-primary);padding-left:10px;color:var(--text-secondary);margin:8px 0}.agent-response table{width:100%;border-collapse:collapse;margin:8px 0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.agent-response td,.agent-response th{border:1px solid var(--border-subtle);padding:6px 8px;text-align:left;font-size:12px;white-space:nowrap}.agent-response th{background:var(--bg-tertiary);font-weight:600}.agent-response [class*=cursor-pointer][class*=opacity-70],.agent-response button[class*=opacity-70],.agent-response svg[class*=cursor-pointer]{display:none!important}.agent-response svg:not([width]):not([class]){max-width:1.2em;max-height:1.2em}@media (min-width:480px){.header{padding:0 14px}.header-title h1{font-size:15px}.messages-area{padding:16px 12px}.message-content{max-width:88%;padding:13px 16px}.input-area{padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper{padding:8px 12px}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){display:inline-block;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.conv-selector-btn>span{max-width:100px}.quick-prompts{flex-direction:row;flex-wrap:wrap;justify-content:center;width:auto}.quick-prompt{white-space:nowrap;text-align:center}.hitl-actions{flex-direction:row}.hitl-approve-btn,.hitl-reject-btn{padding:10px 16px}.tool-path{flex-basis:auto;order:0;max-width:180px;margin-left:auto}}@media (min-width:768px){:root{--header-height:56px;--radius-lg:16px;--radius-xl:20px}.header{padding:0 16px}.header-left{gap:12px}.logo{width:34px;height:34px}.header-title h1{font-size:16px}.header-subtitle{font-size:11px;max-width:200px}.header-right{gap:4px}.header-right,.window-selector-wrapper{position:relative}.icon-btn{width:36px;height:36px}.messages-area{padding:20px 16px}.messages-area::-webkit-scrollbar{display:block;width:4px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.messages-area{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.message-content{max-width:85%}.user-message{margin-bottom:18px}.agent-message{margin-bottom:22px}.welcome-icon svg{width:56px;height:56px}.welcome-screen h2{font-size:22px}.welcome-screen p{font-size:14px}.input-area{padding:12px 16px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper textarea{font-size:14px;max-height:150px}.input-hint{display:flex;justify-content:space-between;padding:6px 4px 0;font-size:11px;color:var(--text-muted)}.mode-toggle{font-size:12px;padding:4px 10px;gap:4px}.mode-icon{font-size:13px}.agent-selector-btn{font-size:12px;max-width:180px}.agent-label{max-width:130px}.agent-dropdown{width:300px}.tool-terminal{max-height:120px;font-size:11px}.tool-command code,.tool-path{font-size:11px}.tool-path{max-width:200px}.conv-selector-btn{max-width:160px;padding:4px 8px}.conv-selector-btn>span{max-width:110px}.window-dropdown{left:auto;right:0;width:340px;max-height:440px}.conv-dropdown{left:auto;right:0;width:340px;max-height:380px}.wm-open-input{font-size:12px}.window-item-close{opacity:0}.window-item:hover .window-item-close{opacity:1}.window-item-close:hover{background:rgba(239,68,68,.15);color:var(--error)}.artifact-panel{width:380px;border-left:1px solid var(--border-subtle)}.agent-response td,.agent-response th{font-size:13px;padding:6px 10px}}@media (min-width:1024px){:root{--header-height:60px}.app-container{max-width:900px;margin:0 auto}.logo{width:36px;height:36px;padding:4px}.header-title h1{font-size:16px}.header-subtitle{max-width:none;letter-spacing:.08em}.messages-area{padding:24px 16px}.message-content{padding:14px 18px}.agent-message{margin-bottom:24px}.user-message{margin-bottom:20px}.welcome-icon svg{width:64px;height:64px}.welcome-screen h2{font-size:24px}.welcome-screen{height:60vh}.icon-btn{width:36px;height:36px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-prompt:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.mode-toggle:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.mode-toggle.planning:hover{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.15);color:#c7d2fe}.mode-toggle.fast:hover{border-color:rgba(251,191,36,.5);background:rgba(251,191,36,.15);color:#fde68a}.agent-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.agent-option:hover{background:var(--bg-hover);color:var(--text-primary)}.hitl-approve-btn:hover,.hitl-reject-btn:hover{transform:translateY(-1px)}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.wm-cdp-start-btn:hover:not(:disabled),.wm-open-btn:hover:not(:disabled){transform:translateY(-1px)}.wm-recent-item:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-response h1{font-size:1.4em}.agent-response h2{font-size:1.2em}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{display:none!important}.network-banner{position:fixed;top:var(--header-height);left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;font-size:13px;font-weight:500;animation:banner-slide-in .3s cubic-bezier(.4,0,.2,1) forwards}.network-banner.offline{background:rgba(239,68,68,.15);border-bottom:1px solid rgba(239,68,68,.25);color:#fca5a5}.network-banner.offline,.network-banner.recovered{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.network-banner.recovered{background:rgba(52,211,153,.15);border-bottom:1px solid rgba(52,211,153,.25);color:#6ee7b7;animation:banner-slide-in .3s cubic-bezier(.4,0,.2,1) forwards,banner-fade-out .4s ease 2.1s forwards}.network-banner-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.network-banner.offline .network-banner-pulse{animation:banner-pulse 1.4s ease-in-out infinite}.network-banner.recovered .network-banner-pulse{animation:none}@keyframes banner-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes banner-fade-out{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes banner-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.git-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px;position:relative}.git-toggle-btn:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.git-toggle-btn:active{transform:scale(.95)}.git-toggle-btn.active{border-color:rgba(251,146,60,.5);background:rgba(251,146,60,.1);color:#fb923c}.git-toggle-btn.active:hover{border-color:rgba(251,146,60,.7);background:rgba(251,146,60,.18);color:#fdba74}.git-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:rgba(251,146,60,.25);color:#fb923c;font-size:9px;font-weight:700;font-family:var(--font-jetbrains),monospace;line-height:1}.git-toggle-btn.active .git-badge{background:rgba(251,146,60,.35);color:#fdba74}.git-panel{position:fixed;top:0;right:0;width:100%;height:100%;background:var(--bg-primary);z-index:155;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.git-panel.open{transform:translateX(0)}.git-panel-header{display:flex;flex-direction:column;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.git-panel-title-row{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}.git-panel-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary);flex:1 1}.git-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;-webkit-tap-highlight-color:transparent}.git-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.git-refresh-btn:active{transform:scale(.9)}.git-refresh-btn.spinning svg{animation:git-spin .6s linear infinite}@keyframes git-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.git-branch-bar{display:flex;align-items:center;gap:8px;padding:6px 12px 10px;flex-wrap:wrap}.git-branch-badge{display:flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);color:#a5b4fc;font-size:11px;font-weight:500;font-family:var(--font-jetbrains),monospace;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-sync-badges{display:flex;gap:4px}.git-sync-badge{padding:2px 7px;border-radius:99px;font-size:10px;font-weight:700;font-family:var(--font-jetbrains),monospace}.git-sync-badge--ahead{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);color:#6ee7b7}.git-sync-badge--behind{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#f87171}.git-sync-badge--synced{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.2);color:#34d399}.git-stash-badge{padding:2px 7px;border-radius:99px;font-size:10px;font-weight:600;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);color:#fbbf24}.git-summary-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border-subtle);background:rgba(251,146,60,.03)}.git-summary-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-family:var(--font-jetbrains),monospace}.git-summary-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.git-summary-dot--changed{background:#fb923c}.git-summary-dot--staged{background:#34d399}.git-tabs{display:flex;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.git-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.git-tab:hover{color:var(--text-secondary)}.git-tab.active{color:var(--text-primary);border-bottom-color:#fb923c}.git-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:rgba(251,146,60,.2);color:#fb923c;font-size:9px;font-weight:700;font-family:var(--font-jetbrains),monospace;line-height:1}.git-tab-badge--neutral{background:rgba(148,163,184,.2);color:#94a3b8}.git-file-list{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;gap:6px}.git-file-list,.git-section{display:flex;flex-direction:column}.git-section{gap:2px}.git-section-header{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.git-section-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.git-section-dot--staged{background:#34d399}.git-section-dot--unstaged{background:#fb923c}.git-section-dot--untracked{background:#94a3b8}.git-section-count{margin-left:auto;background:rgba(255,255,255,.06);border-radius:99px;padding:1px 6px;font-size:9px}.git-file-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;min-height:44px;transition:all .15s ease;cursor:pointer;text-align:left;font-family:inherit;width:100%;-webkit-tap-highlight-color:transparent}.git-file-item:hover{border-color:rgba(251,146,60,.35);background:rgba(251,146,60,.04)}.git-file-item:active{transform:scale(.98)}.git-file-item--staged{border-color:rgba(52,211,153,.15);background:rgba(52,211,153,.04)}.git-file-item--staged:hover{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08)}.git-file-item--untracked{border-color:rgba(148,163,184,.15);opacity:.85}.git-file-item--untracked:hover{opacity:1;border-color:rgba(148,163,184,.35)}.git-file-icon{flex-shrink:0;font-size:13px}.git-file-info{flex:1 1;min-width:0;overflow:hidden}.git-file-name{font-size:12px;font-weight:500;color:var(--text-primary)}.git-file-name,.git-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file-path{color:var(--text-muted);margin-top:1px}.git-file-path,.git-file-status-badge{font-size:10px;font-family:var(--font-jetbrains),monospace}.git-file-status-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1px solid;font-weight:700;line-height:1}.git-commit-list{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;display:flex;flex-direction:column;gap:2px}.git-commit-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);transition:border-color .15s ease}.git-commit-item:hover{border-color:rgba(99,102,241,.25)}.git-commit-hash{font-size:10px;font-family:var(--font-jetbrains),monospace;color:#a5b4fc;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);padding:2px 6px;border-radius:4px;flex-shrink:0;margin-top:1px}.git-commit-info{flex:1 1;min-width:0}.git-commit-subject{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px}.git-commit-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted)}.git-commit-author{color:var(--text-secondary)}.git-commit-dot{color:var(--text-muted)}.git-commit-date{font-family:var(--font-jetbrains),monospace}.git-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;text-align:center;color:var(--text-muted);flex:1 1}.git-empty svg{opacity:.4;color:#34d399}.git-empty p{font-size:13px;color:var(--text-secondary);font-weight:500;margin:0}.git-empty span{font-size:11px}.git-not-repo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;flex:1 1}.git-not-repo svg{opacity:.3;color:var(--text-muted)}.git-not-repo p{font-size:13px;color:var(--text-secondary);font-weight:500;margin:0}.git-not-repo span{font-size:11px;color:var(--text-muted)}.git-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:var(--text-muted);font-size:12px;flex:1 1}.git-loading-dot{width:8px;height:8px;border-radius:50%;background:#fb923c;animation:pulse-dot 1.4s ease-in-out infinite}.diff-viewer-badge{padding:2px 8px;border-radius:99px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.diff-viewer-badge.staged{background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.3);color:#34d399}.diff-viewer-badge.unstaged{background:rgba(251,146,60,.15);border:1px solid rgba(251,146,60,.3);color:#fb923c}.diff-viewer-badge.untracked{background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.25);color:#94a3b8}@media (min-width:768px){.git-panel{width:380px;box-shadow:-4px 0 32px rgba(0,0,0,.5);border-left:1px solid var(--border-subtle)}}.workspace-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:32px}.workspace-toggle-btn:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}.workspace-toggle-btn:active{transform:scale(.95)}.workspace-toggle-btn.active{border-color:rgba(96,165,250,.5);background:rgba(96,165,250,.1);color:#60a5fa}.workspace-toggle-btn.active:hover{border-color:rgba(96,165,250,.7);background:rgba(96,165,250,.18);color:#93c5fd}.workspace-panel{position:fixed;top:0;right:0;width:100%;height:100%;background:var(--bg-primary);z-index:154;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.workspace-panel.open{transform:translateX(0)}.workspace-panel-header{display:flex;flex-direction:column;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.workspace-panel-title-row{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}.workspace-panel-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary);flex:1 1}.workspace-path-bar{display:flex;align-items:center;gap:6px;padding:4px 12px 10px;color:var(--text-muted)}.workspace-path-text{font-size:10px;font-family:var(--font-jetbrains),monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.workspace-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-shrink:0;color:var(--text-muted)}.workspace-search-input{flex:1 1;background:transparent;border:none;outline:none;font-family:inherit;font-size:12px;color:var(--text-primary);caret-color:var(--accent-primary)}.workspace-search-input::placeholder{color:var(--text-muted)}.workspace-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.workspace-search-clear:hover{background:var(--bg-hover);color:var(--text-secondary)}.workspace-tree{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.workspace-tree::-webkit-scrollbar{width:4px}.workspace-tree::-webkit-scrollbar-track{background:transparent}.workspace-tree::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.workspace-root-label{display:flex;align-items:center;gap:6px;padding:8px 12px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.workspace-root-icon{font-size:14px}.workspace-root-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.workspace-tree-list{display:flex;flex-direction:column}.workspace-tree-node{display:flex;align-items:center;gap:4px;width:100%;padding-top:4px;padding-bottom:4px;padding-right:12px;background:transparent;border:none;text-align:left;font-family:inherit;cursor:pointer;transition:background .1s ease;-webkit-tap-highlight-color:transparent;color:var(--text-secondary);min-height:32px}.workspace-tree-node:hover{background:var(--bg-hover);color:var(--text-primary)}.workspace-tree-node:active{background:rgba(255,255,255,.04)}.workspace-tree-node.highlighted{background:rgba(96,165,250,.08);color:#93c5fd}.workspace-tree-node.is-dir{color:var(--text-primary);font-weight:500}.workspace-tree-node.is-file{font-size:12.5px}.workspace-arrow{flex-shrink:0;color:var(--text-muted);transition:transform .15s ease;transform:rotate(-90deg)}.workspace-arrow.open{transform:rotate(0deg)}.workspace-arrow-spacer{display:inline-block;width:10px;flex-shrink:0}.workspace-node-icon{font-size:13px;flex-shrink:0;line-height:1}.workspace-node-name{flex:1 1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-node-size{opacity:.7}.workspace-node-count,.workspace-node-size{font-size:9px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted);flex-shrink:0}.workspace-node-count{background:rgba(255,255,255,.06);border-radius:99px;padding:1px 5px}.workspace-tree-children{display:flex;flex-direction:column}.workspace-empty-dir{font-size:11px;color:var(--text-muted);font-style:italic;padding:4px 0}.workspace-copy-toast{position:absolute;top:60px;right:12px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:11px;font-weight:500;z-index:10;animation:workspace-toast-in .2s ease forwards,workspace-toast-out .2s ease 1.6s forwards;pointer-events:none}@keyframes workspace-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes workspace-toast-out{0%{opacity:1}to{opacity:0}}@media (min-width:768px){.workspace-panel{width:360px;box-shadow:-4px 0 32px rgba(0,0,0,.5);border-left:1px solid var(--border-subtle)}}.workspace-file-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg-primary)}.workspace-viewer-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.workspace-viewer-back{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;-webkit-tap-highlight-color:transparent}.workspace-viewer-back:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.workspace-viewer-title{display:flex;align-items:center;gap:6px;flex:1 1;min-width:0}.workspace-viewer-name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-viewer-lang{font-size:10px;padding:2px 6px;border-radius:99px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.25);color:#60a5fa;font-family:var(--font-jetbrains),monospace;font-weight:500;flex-shrink:0}.workspace-viewer-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.workspace-viewer-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.workspace-viewer-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.workspace-viewer-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px 6px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-shrink:0}.workspace-viewer-path{overflow:hidden;text-overflow:ellipsis;flex:1 1}.workspace-viewer-path,.workspace-viewer-stats{font-size:10px;font-family:var(--font-jetbrains),monospace;color:var(--text-muted);white-space:nowrap}.workspace-viewer-stats{flex-shrink:0}.workspace-viewer-body{flex:1 1;overflow:hidden;display:flex;flex-direction:column}.workspace-viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;flex:1 1;color:var(--text-muted)}.workspace-viewer-error svg{opacity:.4;color:var(--error)}.workspace-viewer-error p{font-size:13px;color:var(--text-secondary);font-weight:500;margin:0}.workspace-viewer-error span{font-size:11px}.workspace-code-scroll{flex:1 1;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.workspace-code-scroll::-webkit-scrollbar{width:4px;height:4px}.workspace-code-scroll::-webkit-scrollbar-track{background:transparent}.workspace-code-scroll::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.workspace-code-table{width:100%;border-collapse:collapse;font-family:var(--font-jetbrains),monospace;font-size:12px;line-height:1.6}.workspace-code-row:hover{background:rgba(255,255,255,.02)}.workspace-line-num{text-align:right;padding:0 12px 0 10px;color:var(--text-muted);-webkit-user-select:none;user-select:none;min-width:36px;width:36px;border-right:1px solid var(--border-subtle);vertical-align:top;font-size:11px;opacity:.5;white-space:nowrap}.workspace-line-code{padding:0 16px 0 12px;color:var(--text-primary);white-space:pre;vertical-align:top}.workspace-tree-node.selected{background:rgba(96,165,250,.1);color:#93c5fd}.git-commit-bar{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-subtle);background:rgba(251,146,60,.03);flex-shrink:0}.git-commit-input-row{width:100%}.git-commit-textarea{width:100%;box-sizing:border-box;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:12px;padding:7px 10px;resize:none;outline:none;transition:border-color var(--transition-fast);line-height:1.5}.git-commit-textarea::placeholder{color:var(--text-muted)}.git-commit-textarea:focus{border-color:rgba(251,146,60,.5)}.git-commit-textarea:disabled{opacity:.5;cursor:not-allowed}.git-commit-actions{display:flex;gap:6px}.git-commit-btn{display:flex;align-items:center;gap:5px;flex:1 1;justify-content:center;padding:7px 10px;border:1px solid rgba(52,211,153,.35);border-radius:var(--radius-sm);background:rgba(52,211,153,.08);color:#34d399;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;min-height:34px;white-space:nowrap}.git-commit-btn:hover:not(:disabled){background:rgba(52,211,153,.15);border-color:rgba(52,211,153,.6);color:#6ee7b7;transform:translateY(-1px)}.git-commit-btn:active:not(:disabled){transform:scale(.97)}.git-commit-btn:disabled{opacity:.4;cursor:not-allowed}.git-push-btn{display:flex;align-items:center;gap:5px;flex:1 1;justify-content:center;padding:7px 10px;border:1px solid rgba(96,165,250,.35);border-radius:var(--radius-sm);background:rgba(96,165,250,.08);color:#60a5fa;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;min-height:34px;white-space:nowrap}.git-push-btn:hover:not(:disabled){background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.6);color:#93c5fd;transform:translateY(-1px)}.git-push-btn:active:not(:disabled){transform:scale(.97)}.git-push-btn:disabled{opacity:.4;cursor:not-allowed}.git-action-feedback{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;animation:feedback-in .2s ease}@keyframes feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.git-action-feedback--success{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);color:#34d399}.git-action-feedback--error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#f87171}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,b,c,d;self.__BUILD_MANIFEST=(a=0,b=0,c=0,d=0,{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:43,errorRate:1e-4,numBits:825,numHashes:14,bitArray:[1,1,1,1,1,0,0,1,0,1,1,1,0,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,0,1,1,0,1,0,0,1,0,0,0,1,1,0,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,0,0,0,1,0,1,1,1,0,1,0,1,1,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,0,0,1,1,1,0,0,1,1,0,0,1,0,1,0,1,0,0,1,1,1,0,1,1,0,0,0,1,0,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,0,1,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,1,1,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,1,1,1,1,0,1,0,1,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,0,0,0,0,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,1,0,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1,0,0,0,0,0,1,1,0,0]},__routerFilterDynamic:{numItems:2,errorRate:1e-4,numBits:39,numHashes:14,bitArray:[0,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0]},sortedPages:["/_app"]}),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|