@thangnm.nip/arouter 0.1.16 → 0.1.18
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 +8 -6
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/routes-manifest.json +14 -0
- package/.next/standalone/.next/server/app/(dashboard)/mitm/page.js +3 -3
- package/.next/standalone/.next/server/app/(dashboard)/mitm/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/mitm/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- 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.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/console-logs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/logs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/providers/client/route.js +2 -0
- package/.next/standalone/.next/server/app/api/providers/client/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/usage/[id]/route.js +2 -0
- package/.next/standalone/.next/server/app/api/usage/[id]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/usage/[id]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -15
- package/.next/standalone/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/mitm.html +1 -1
- package/.next/standalone/.next/server/app/mitm.rsc +16 -15
- package/.next/standalone/.next/server/app/mitm.segments/!KGRhc2hib2FyZCk/mitm/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/mitm.segments/!KGRhc2hib2FyZCk/mitm.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/mitm.segments/_full.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/mitm.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/mitm.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/mitm.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +8 -6
- package/.next/standalone/.next/server/chunks/17.js +1 -0
- package/.next/standalone/.next/server/chunks/182.js +3 -3
- package/.next/standalone/.next/server/chunks/900.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/IH6-ya3VS5IgydfgTMabe/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/{497-ccc7bd75dbf8f86a.js → 497-8d84de9ebf3a0e47.js} +1 -1
- package/.next/standalone/.next/static/chunks/{702-1294e38572a8fef5.js → 702-2c12ecf123019d5d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/mitm/{page-7b00b393f7d9f26e.js → page-92d8f757eb03c60d.js} +2 -2
- package/.next/standalone/.next/static/chunks/app/(dashboard)/page-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/_global-error/page-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/console-logs/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/logs/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/claude-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/codex-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/copilot-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/droid-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/opencode-settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/keys/[id]/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/keys/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/locale/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/models/alias/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/models/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/providers/client/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/providers/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/settings/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/usage/[id]/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/version/route-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-7070335bf833b346.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-419c1820686842ea.js +1 -0
- package/.next/standalone/.next/static/css/73a57e9fc54d09c4.css +3 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/public/icons/icon-192.svg +11 -3
- package/.next/standalone/public/icons/icon-512.svg +11 -3
- package/.next/standalone/public/manifest.json +30 -0
- package/.next/standalone/public/offline.html +113 -0
- package/.next/standalone/public/sw.js +56 -8
- package/.next/standalone/src/mitm/logger.js +21 -3
- package/.next/standalone/src/mitm/manager.js +54 -2
- package/.next/standalone/src/mitm/server.js +25 -1
- package/package.json +2 -2
- package/.next/standalone/.next/server/chunks/219.js +0 -1
- package/.next/standalone/.next/static/47Vl4XkcsFJjPtC0N_x6v/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/page-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/_global-error/page-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/console-logs/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/logs/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/antigravity-mitm/settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/claude-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/codex-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/copilot-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/droid-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/cli-tools/opencode-settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/keys/[id]/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/keys/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/locale/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/models/alias/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/models/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/providers/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/settings/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/version/route-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-6e491caa4df42293.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-5c09ac097fc0cc9b.js +0 -1
- package/.next/standalone/.next/static/css/4291792acb7bd8fe.css +0 -3
- /package/.next/standalone/.next/static/{47Vl4XkcsFJjPtC0N_x6v → IH6-ya3VS5IgydfgTMabe}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
IH6-ya3VS5IgydfgTMabe
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
+
"/_not-found/page": "/_not-found",
|
|
3
|
+
"/_global-error/page": "/_global-error",
|
|
2
4
|
"/api/cli-tools/antigravity-mitm/alias/route": "/api/cli-tools/antigravity-mitm/alias",
|
|
3
5
|
"/api/cli-tools/antigravity-mitm/logs/route": "/api/cli-tools/antigravity-mitm/logs",
|
|
4
6
|
"/api/cli-tools/antigravity-mitm/route": "/api/cli-tools/antigravity-mitm",
|
|
@@ -7,19 +9,19 @@
|
|
|
7
9
|
"/api/cli-tools/codex-settings/route": "/api/cli-tools/codex-settings",
|
|
8
10
|
"/api/cli-tools/copilot-settings/route": "/api/cli-tools/copilot-settings",
|
|
9
11
|
"/api/cli-tools/droid-settings/route": "/api/cli-tools/droid-settings",
|
|
10
|
-
"/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
|
|
11
12
|
"/api/cli-tools/opencode-settings/route": "/api/cli-tools/opencode-settings",
|
|
12
|
-
"/api/
|
|
13
|
+
"/api/cli-tools/openclaw-settings/route": "/api/cli-tools/openclaw-settings",
|
|
13
14
|
"/api/locale/route": "/api/locale",
|
|
15
|
+
"/api/keys/[id]/route": "/api/keys/[id]",
|
|
14
16
|
"/api/models/route": "/api/models",
|
|
15
17
|
"/api/providers/route": "/api/providers",
|
|
16
18
|
"/api/settings/route": "/api/settings",
|
|
17
19
|
"/api/version/route": "/api/version",
|
|
18
|
-
"/_global-error/page": "/_global-error",
|
|
19
|
-
"/_not-found/page": "/_not-found",
|
|
20
20
|
"/api/cli-tools/antigravity-mitm/console-logs/route": "/api/cli-tools/antigravity-mitm/console-logs",
|
|
21
21
|
"/api/keys/route": "/api/keys",
|
|
22
22
|
"/api/models/alias/route": "/api/models/alias",
|
|
23
|
-
"/
|
|
24
|
-
"/
|
|
23
|
+
"/api/providers/client/route": "/api/providers/client",
|
|
24
|
+
"/api/usage/[id]/route": "/api/usage/[id]",
|
|
25
|
+
"/(dashboard)/page": "/",
|
|
26
|
+
"/(dashboard)/mitm/page": "/mitm"
|
|
25
27
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"lowPriorityFiles": [
|
|
7
|
-
"static/
|
|
8
|
-
"static/
|
|
7
|
+
"static/IH6-ya3VS5IgydfgTMabe/_buildManifest.js",
|
|
8
|
+
"static/IH6-ya3VS5IgydfgTMabe/_ssgManifest.js"
|
|
9
9
|
],
|
|
10
10
|
"rootMainFiles": [
|
|
11
11
|
"static/chunks/webpack-d8640887a0ea8b77.js",
|
|
@@ -54,6 +54,14 @@
|
|
|
54
54
|
"nxtPid": "nxtPid"
|
|
55
55
|
},
|
|
56
56
|
"namedRegex": "^/api/keys/(?<nxtPid>[^/]+?)(?:/)?$"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"page": "/api/usage/[id]",
|
|
60
|
+
"regex": "^/api/usage/([^/]+?)(?:/)?$",
|
|
61
|
+
"routeKeys": {
|
|
62
|
+
"nxtPid": "nxtPid"
|
|
63
|
+
},
|
|
64
|
+
"namedRegex": "^/api/usage/(?<nxtPid>[^/]+?)(?:/)?$"
|
|
57
65
|
}
|
|
58
66
|
],
|
|
59
67
|
"staticRoutes": [
|
|
@@ -171,6 +179,12 @@
|
|
|
171
179
|
"routeKeys": {},
|
|
172
180
|
"namedRegex": "^/api/providers(?:/)?$"
|
|
173
181
|
},
|
|
182
|
+
{
|
|
183
|
+
"page": "/api/providers/client",
|
|
184
|
+
"regex": "^/api/providers/client(?:/)?$",
|
|
185
|
+
"routeKeys": {},
|
|
186
|
+
"namedRegex": "^/api/providers/client(?:/)?$"
|
|
187
|
+
},
|
|
174
188
|
{
|
|
175
189
|
"page": "/api/settings",
|
|
176
190
|
"regex": "^/api/settings(?:/)?$",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(()=>{var a={};a.id=46,a.ids=[46],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},
|
|
1
|
+
(()=>{var a={};a.id=46,a.ids=[46],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20532:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/MitmPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/MitmPageClient.js","default")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30404:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>L,handler:()=>N,routeModule:()=>M});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(89125),A=c(86439),B=c(77068),C=c(95547),D=c.n(C),E=c(61287),F=c(81494),G=c(70722),H=c(70753),I=c(43954),J={};for(let a in E)0>["default","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(J[a]=()=>E[a]);c.d(b,J);let K={children:["",{children:["(dashboard)",{children:["mitm",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,41250)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/page.js"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,30508)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/layout.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,60317)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,L={require:c,loadChunk:()=>Promise.resolve()},M=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(dashboard)/mitm/page",pathname:"/mitm",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:K},distDir:".next",relativeProjectDir:""});async function N(a,b,d){var C;M.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let J=!!(0,h.getRequestMeta)(a,"minimalMode"),O="/(dashboard)/mitm/page";"/index"===O&&(O="/");let P=await M.prepare(a,b,{srcPage:O,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,parsedUrl:ae,interceptionRoutePatterns:af,deploymentId:ag}=P,ah=(0,q.normalizeAppPath)(O),{isOnDemandRevalidate:ai}=P,aj=ad.experimental.ppr&&!ad.cacheComponents&&(0,I.isInterceptionRouteAppPath)(aa)?null:M.match(aa,$),ak=!!$.routes[aa],al=a.headers["user-agent"]||"",am=(0,t.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],aq=(0,r.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&ar&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let as=ar&&(null==(C=$.routes[ah]??$.dynamicRoutes[ah])?void 0:C.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?(0,h.getRequestMeta)(a,"postponed"):void 0,aw=as&&ap&&!ao;J&&(aw=aw&&!!av);let ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=(!an||!as)&&(!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots)),az=!!((aj||ak||$.routes[ah])&&!(an&&as)),aA=as&&!0===ad.cacheComponents,aB=!0===M.isDev||!az||"string"==typeof av||(aA&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aw&&!J:aw),aC=an&&as,aD=null;_||!az||aB||aq||av||aw||(aD=aa);let aE=aD;!aE&&M.isDev&&(aE=aa),M.isDev||_||!az||!ap||aw||(0,k.d)(a.headers);let aF={...E,tree:K,GlobalError:D(),handler:N,routeModule:M,__next_app__:L};X&&Y&&(0,o.setManifestsSingleton)({page:O,clientReferenceManifest:Y,serverActionsManifest:X});let aG=a.method||"GET",aH=(0,g.getTracer)(),aI=aH.getActiveScopeSpan(),aJ=async()=>((null==ac?void 0:ac.render404)?await ac.render404(a,b,ae,!1):b.end("This page could not be found"),null);try{let f=M.getVaryHeader(aa,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return M.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aH.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aG} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aG} ${O}`)})},m=(0,h.getRequestMeta)(a,"incrementalCache"),o=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aF,Component:(0,j.T)(aF),params:S,routeModule:M,page:O,postponed:f,shouldWaitOnAllReady:aC,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||aB,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,setCacheStatus:null==ac?void 0:ac.setCacheStatus,setIsrStatus:null==ac?void 0:ac.setIsrStatus,setReactDebugChannel:null==ac?void 0:ac.setReactDebugChannel,sendErrorsToBrowser:null==ac?void 0:ac.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),M.relativeProjectDir),isDraftMode:_,botType:am,isOnDemandRevalidate:ai,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,images:ad.images,previewProps:$.preview,deploymentId:ag,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:ad.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...at||au?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:at}:{},cacheComponents:!!ad.cacheComponents,experimental:{isRoutePPREnabled:as,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ad.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(ad.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>M.onRequestError(a,b,d,e,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:M.isDev}};at&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=at),i&&(l.renderOpts.supportsDynamicResponse=!1);let n=await k(e,l),{metadata:o}=n,{cacheControl:p,headers:q={},fetchTags:r,fetchMetrics:s}=o;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,az&&(null==p?void 0:p.revalidate)===0&&!M.isDev&&!as){let a=o.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===M.isDev,q=c||b.writableEnded;if(ai&&ab&&!f&&!J)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(k=(0,v.parseFallbackField)(aj.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(al)&&(!as||an)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!J&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aE&&!q&&!_&&T&&(l||!ak)){if((l||aj)&&k===v.FallbackMode.NOT_FOUND){if(ad.experimental.adapterPath)return await aJ();throw new A.NoFallbackError}if(as&&(ad.cacheComponents?!aw:!ap)){let b=l&&"string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:ah,c=l&&(null==aj?void 0:aj.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null,f=await M.handleResponse({cacheKey:b,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:as,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:J});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ai||g||!av?void 0:av;if(aA&&!J&&m&&aw&&!j){let b=await m.get(aa,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,H.scheduleOnNextTick)(async()=>{let b=M.getResponseCache(a);try{await b.revalidate(aa,m,as,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(at&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==aj?void 0:aj.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await M.handleResponse({cacheKey:aD,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil,isMinimalMode:J});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),M.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aD)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;az&&!aw&&(!n||ao)&&(J||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(av)l={revalidate:0,expire:void 0};else if(aw)l={revalidate:0,expire:void 0};else if(!M.isDev)if(_)l={revalidate:0,expire:void 0};else if(az){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];J&&az&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=aA?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(J&&az||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(J&&az&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ap&&as||(b.statusCode=q.status),!J&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),n&&!aw&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ad.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new G.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||J||ap)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:m.cacheControl});if(at)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aI)return await aH.withPropagatedContext(a.headers,()=>aH.trace(i.BaseServerSpan.handleRequest,{spanName:`${aG} ${O}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aG,"http.target":a.url}},q));await q(aI)}catch(b){throw b instanceof A.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:O,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:az,isOnDemandRevalidate:ai})},!1,ac),b}}},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41250:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(20532);function f(){return(0,d.jsx)(e.default,{})}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77768:(a,b,c)=>{Promise.resolve().then(c.bind(c,97495))},79646:a=>{"use strict";a.exports=require("child_process")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90920:(a,b,c)=>{Promise.resolve().then(c.bind(c,20532))},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},97495:(a,b,c)=>{"use strict";c.d(b,{default:()=>p});var d=c(48249),e=c(67484);let f={claude:{id:"claude",name:"Claude Code",icon:"terminal",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-4-6"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-4-6"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},openclaw:{id:"openclaw",name:"Open Claw",image:"/providers/openclaw.png",color:"#FF6B35",description:"Open Claw AI Assistant",configType:"custom"},codex:{id:"codex",name:"OpenAI Codex CLI",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},antigravity:{id:"antigravity",name:"Antigravity",image:"/providers/antigravity.png",color:"#4285F4",description:"Google Antigravity IDE with MITM",configType:"mitm",mitmDomain:"daily-cloudcode-pa.googleapis.com",modelAliases:["claude-opus-4-6-thinking","claude-sonnet-4-6","gemini-3-flash","gpt-oss-120b-medium","gemini-3-pro-high","gemini-3-pro-low"],defaultModels:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",alias:"gemini-3.1-pro-high"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low",alias:"gemini-3.1-pro-low"},{id:"gemini-3-flash",name:"Gemini 3 Flash",alias:"gemini-3-flash"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",alias:"claude-sonnet-4-6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",alias:"claude-opus-4-6-thinking"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium",alias:"gpt-oss-120b-medium"}]},copilot:{id:"copilot",name:"GitHub Copilot",image:"/providers/copilot.png",color:"#1F6FEB",description:"GitHub Copilot IDE with MITM",configType:"mitm",mitmDomain:"api.individual.githubcopilot.com",modelAliases:["gpt-4o-mini","claude-haiku-4.5","gpt-4o","gpt-5-mini"],defaultModels:[{id:"gpt-4o",name:"GPT-4o",alias:"gpt-4o"},{id:"gpt-4.1",name:"GPT-4.1",alias:"gpt-4.1"},{id:"gpt-5-mini",name:"GPT-5 Mini",alias:"gpt-5-mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",alias:"claude-haiku-4.5"}]},droid:{id:"droid",name:"Factory Droid",image:"/providers/droid.png",color:"#00D4FF",description:"Factory Droid AI Assistant",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]},cline:{id:"cline",name:"Cline",image:"/providers/cline.png",color:"#00D1B2",description:"Cline AI Coding Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Settings",desc:"Go to Cline Settings panel"},{step:2,title:"Select Provider",desc:"Choose API Provider → OpenAI Compatible"},{step:3,title:"Base URL",value:"{{baseUrl}}/v1",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Select Model",type:"modelSelector"}]},kilo:{id:"kilo",name:"Kilo Code",image:"/providers/kilocode.png",color:"#FF6B6B",description:"Kilo Code AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Settings",desc:"Go to Kilo Code Settings panel"},{step:2,title:"Select Provider",desc:"Choose API Provider → OpenAI Compatible"},{step:3,title:"Base URL",value:"{{baseUrl}}/v1",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Select Model",type:"modelSelector"}]},roo:{id:"roo",name:"Roo",image:"/providers/roo.png",color:"#FF6B6B",description:"Roo AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Settings",desc:"Go to Roo Settings panel"},{step:2,title:"Select Provider",desc:"Choose API Provider → Ollama"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Select Model",type:"modelSelector"}]},continue:{id:"continue",name:"Continue",image:"/providers/continue.png",color:"#7C3AED",description:"Continue AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Config",desc:"Open Continue configuration file"},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Select Model",type:"modelSelector"},{step:4,title:"Add Model Config",desc:"Add the following configuration to your models array:"}],codeBlock:{language:"json",code:`{
|
|
2
3
|
"apiBase": "{{baseUrl}}",
|
|
3
4
|
"title": "{{model}}",
|
|
4
5
|
"model": "{{model}}",
|
|
5
6
|
"provider": "openai",
|
|
6
7
|
"apiKey": "{{apiKey}}"
|
|
7
|
-
}`}}};var g=c(69974),h=c(96919),i=c(50412);function j({apiKeys:a,cloudEnabled:b,onStatusChange:c,onModelsLoaded:f}){let[g,h]=(0,e.useState)(null),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)("http://localhost:20128/v1/chat/completions"),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(null),J="u">typeof navigator&&navigator.userAgent?.includes("Windows"),K=g?.isAdmin!==!1,L=async()=>{try{let a=await fetch("/api/cli-tools/antigravity-mitm");if(a.ok){let b=await a.json();if(h(b),c?.(b),b.running)try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings");if(a.ok){let b=await a.json(),c=b.endpoint||t,d=b.apiKey||v,e=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:c,apiKey:d})}),g=await e.json();g.models?.length>0&&(f?.(g.models),C(g))}}catch{}}}catch{h({running:!1,certExists:!1,dnsStatus:{}})}},M=async()=>{G(!0);try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})});if(a.ok)y(!0),q({type:"success",text:"Configuration saved"});else{let b=await a.json();q({type:"error",text:b.error||"Failed to save"})}}catch(a){q({type:"error",text:a.message})}finally{G(!1)}},N=async()=>{E(!0),C(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})}),b=await a.json();C(b),b.models?.length>0&&f?.(b.models)}catch(a){C({success:!1,reachable:!1,message:a.message})}finally{E(!1)}},O=a=>{J||g?.hasCachedPassword?P(a,""):(s(a),m(!0),q(null))},P=async(a,b)=>{k(!0),q(null);try{if("trust-cert"===a){let a=await fetch("/api/cli-tools/antigravity-mitm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"trust-cert",sudoPassword:b})}),c=await a.json();a.ok?q({type:"success",text:"Certificate trusted successfully"}):q({type:"error",text:c.error||"Failed to trust certificate"})}else if("start"===a){C(null),I(null),await M(),q({type:"info",text:"Validating endpoint..."});let a=0;try{let b=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})}),c=await b.json();if(!b.ok||!c.reachable||!c.models||0===c.models.length){q({type:"error",text:`Endpoint invalid: ${c.message||c.error||"cannot load models"}`}),k(!1),await L();return}a=c.models.length,f&&f(c.models),C(c)}catch(a){q({type:"error",text:`Endpoint invalid: ${a.message}`}),k(!1),await L();return}let c=await fetch("/api/cli-tools/antigravity-mitm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:v||"sk_default",sudoPassword:b})}),d=await c.json();c.ok?q({type:"success",text:`Server started (${a} models loaded)`}):q({type:"error",text:d.error||"Failed to start server"})}else{let a=await fetch("/api/cli-tools/antigravity-mitm",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:b})}),c=await a.json();console.log("STOP SERVER REPONSE:",a.status,c),a.ok?q({type:"success",text:"Server stopped — all DNS cleared"}):q({type:"error",text:c.error||"Failed to stop server"})}m(!1),o(""),await L()}catch(a){q({type:"error",text:a.message})}finally{k(!1),s(null)}},Q=()=>{n.trim()?P(r,n):q({type:"error",text:"Sudo password is required"})},R=g?.running;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Zp,{padding:"sm",className:"border-primary/20 bg-primary/5",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-[20px]",children:"security"}),(0,d.jsx)("span",{className:"font-semibold text-sm text-text-main",children:"MITM Server"}),R?(0,d.jsx)(i.Ex,{variant:"success",size:"sm",children:"Running"}):(0,d.jsx)(i.Ex,{variant:"error",size:"sm",children:"Stopped"})]}),(0,d.jsx)("div",{className:"flex items-center gap-1 text-xs text-text-muted","data-i18n-skip":"true",children:[{label:"Cert",ok:g?.certExists},{label:"Trusted",ok:g?.certTrusted},{label:"Server",ok:R}].map(({label:a,ok:b})=>(0,d.jsxs)("span",{className:`flex items-center gap-0.5 px-1.5 py-0.5 rounded ${b?"text-green-600":"text-text-muted"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:b?"check_circle":"cancel"}),a]},a))})]}),(0,d.jsxs)("div",{className:"px-2 py-2 rounded-lg bg-surface/50 border border-border/50 flex flex-col gap-2",children:[(0,d.jsxs)("p",{className:"text-[11px] text-text-muted leading-relaxed",children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:"Purpose:"})," Use Antigravity IDE & GitHub Copilot → with ANY provider/model from Router"]}),(0,d.jsxs)("p",{className:"text-[11px] text-text-muted leading-relaxed",children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:"How it works:"})," IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → Router endpoint → response back to IDE"]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 px-2 py-2 rounded-lg bg-surface/30 border border-border/30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("p",{className:"text-[11px] font-medium text-text-main uppercase tracking-wider",children:"Router Configuration"}),H&&null!==H.ok&&(0,d.jsxs)("div",{className:`flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium ${H.ok?"bg-green-500/15 text-green-600":"bg-red-500/15 text-red-500"}`,children:[(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${H.ok?"bg-green-500":"bg-red-500"}`}),H.ok?"Valid":"Invalid"]})]}),H&&!1===H.ok&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-[11px] bg-red-500/10 text-red-500 border border-red-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{className:"break-all",children:H.detail})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"text-[11px] text-text-muted",children:"Endpoint URL"}),(0,d.jsx)("input",{type:"text",value:t,onChange:a=>{u(a.target.value),y(!1),C(null)},placeholder:"http://localhost:20128/v1/chat/completions",disabled:R,className:`w-full px-2.5 py-1.5 bg-surface rounded-md text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50 text-text-main placeholder-text-muted/50 ${R?"opacity-50 cursor-not-allowed":""}`})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"text-[11px] text-text-muted",children:"API Key"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{type:z?"text":"password",value:v,onChange:a=>{w(a.target.value),y(!1),C(null)},placeholder:"Enter API key",disabled:R,className:`w-full px-2.5 py-1.5 pr-8 bg-surface rounded-md text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50 text-text-main placeholder-text-muted/50 ${R?"opacity-50 cursor-not-allowed":""}`}),(0,d.jsx)("button",{type:"button",onClick:()=>A(a=>!a),className:"absolute right-1.5 top-1/2 -translate-y-1/2 flex items-center justify-center w-5 h-5 rounded text-text-muted hover:text-text-main transition-colors",title:z?"Hide API Key":"Show API Key",children:(0,d.jsx)("span",{className:"material-symbols-outlined",style:{fontSize:"18px"},children:z?"visibility":"visibility_off"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsxs)("button",{onClick:N,disabled:D||!t||R,className:"px-3 py-1 rounded-md bg-blue-500/10 border border-blue-500/30 text-blue-500 font-medium text-[11px] flex items-center gap-1 hover:bg-blue-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:D?"hourglass_empty":"sync"}),D?"Loading...":"Load Models"]}),(0,d.jsxs)("button",{onClick:M,disabled:F||x||!t||R,className:"px-3 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-600 font-medium text-[11px] flex items-center gap-1 hover:bg-green-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"save"}),F?"Saving...":x?"Saved ✓":"Save"]})]}),B&&(0,d.jsxs)("div",{className:`flex flex-col gap-1.5 px-2 py-1.5 rounded text-[11px] ${B.reachable?B.status>=200&&B.status<300?"bg-green-500/10 text-green-600":"bg-yellow-500/10 text-yellow-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:B.reachable?B.status>=200&&B.status<300?"check_circle":"warning":"error"}),(0,d.jsx)("span",{children:B.message})]}),B.models?.length>0&&(0,d.jsx)("div",{className:"flex flex-wrap gap-1 mt-1 max-h-[120px] overflow-y-auto",children:B.models.map(a=>(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-green-500/15 text-green-700 text-[10px] font-mono",children:a},a))})]})]}),p&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===p.type?"bg-green-500/10 text-green-600":"info"===p.type?"bg-amber-500/10 text-amber-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"success"===p.type?"check_circle":"info"===p.type?"hourglass_top":"error"}),(0,d.jsx)("span",{children:p.text})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap","data-i18n-skip":"true",children:[g?.certExists&&!g?.certTrusted&&(0,d.jsxs)("button",{onClick:()=>O("trust-cert"),disabled:j,className:"px-4 py-1.5 rounded-lg bg-yellow-500/10 border border-yellow-500/30 text-yellow-600 font-medium text-xs flex items-center gap-1.5 hover:bg-yellow-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"verified_user"}),"Trust Cert"]}),R?(0,d.jsxs)("button",{onClick:()=>O("stop"),disabled:j,className:"px-4 py-1.5 rounded-lg bg-red-500/10 border border-red-500/30 text-red-500 font-medium text-xs flex items-center gap-1.5 hover:bg-red-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop_circle"}),"Stop Server"]}):(0,d.jsxs)("button",{onClick:()=>O("start"),disabled:j||!t||J&&!K,className:"px-4 py-1.5 rounded-lg bg-primary/10 border border-primary/30 text-primary font-medium text-xs flex items-center gap-1.5 hover:bg-primary/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"play_circle"}),"Start Server"]}),R&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Enable DNS per tool below to activate interception"})]}),J&&!K&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600 border border-red-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"shield_lock"}),(0,d.jsx)("span",{children:"Administrator required — restart as Administrator to use MITM"})]})]})}),l&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"bg-surface border border-border rounded-xl p-6 w-full max-w-sm flex flex-col gap-4 shadow-xl",children:[(0,d.jsx)("h3",{className:"font-semibold text-text-main",children:"Sudo Password Required"}),(0,d.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-yellow-500 text-[20px]",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Required for SSL certificate and server startup"})]}),(0,d.jsx)(i.pd,{type:"password",placeholder:"Enter sudo password",value:n,onChange:a=>o(a.target.value),onKeyDown:a=>{"Enter"!==a.key||j||Q()}}),p&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{children:p.text})]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsx)(i.$n,{variant:"ghost",size:"sm",onClick:()=>{m(!1),o(""),q(null)},disabled:j,children:"Cancel"}),(0,d.jsx)(i.$n,{variant:"primary",size:"sm",onClick:Q,loading:j,children:"Confirm"})]})]})})]})}var k=c(81220);function l({tool:a,isExpanded:b,onToggle:c,serverRunning:f,dnsActive:g,hasCachedPassword:h,apiKeys:j,activeProviders:l,hasActiveProviders:m,modelAliases:n={},cloudEnabled:o,loadedModels:p=[],onDnsChange:q}){let[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)({}),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)({top:0,right:0}),[H,I]=(0,e.useState)(""),J="u">typeof navigator&&navigator.userAgent?.includes("Windows"),K=(0,e.useCallback)(async b=>{try{await fetch("/api/cli-tools/antigravity-mitm/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a.id,mappings:b})})}catch{}},[a.id]),L=(a,b)=>{C(c=>({...c,[a]:b}))},M=()=>{if(!f)return;let a=g?"disable":"enable";J||h?N(a,""):(A(a),w(!0),u(null))},N=async(b,c)=>{s(!0),u(null);try{let d=await fetch("/api/cli-tools/antigravity-mitm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a.id,action:b,sudoPassword:c})}),e=await d.json();if(!d.ok)throw Error(e.error||"Failed to toggle DNS");"enable"===b?u({type:"success",text:"DNS enabled successfully.",warning:`Please restart ${a.name} to apply changes.`}):u({type:"success",text:"DNS disabled — traffic restored"}),w(!1),y(""),q?.(e)}catch(a){u({type:"error",text:a.message})}finally{s(!1),A(null)}},O=()=>{x.trim()?N(z,x):u({type:"error",text:"Sudo password is required"})};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{padding:"xs",className:"overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between hover:cursor-pointer",onClick:c,children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(k.default,{src:a.image,alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"}})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),f?g?(0,d.jsx)(i.Ex,{variant:"success",size:"sm",children:"Active"}):(0,d.jsx)(i.Ex,{variant:"warning",size:"sm",children:"DNS off"}):(0,d.jsx)(i.Ex,{variant:"error",size:"sm",children:"Server off"})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Intercept ",a.name," requests via MITM proxy"]})]})]}),(0,d.jsx)("span",{className:`material-symbols-outlined text-text-muted text-[20px] transition-transform ${b?"rotate-180":""}`,children:"expand_more"})]}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 text-[11px] text-text-muted px-1",children:[(0,d.jsxs)("p",{children:["Toggle DNS to redirect ",a.name," traffic through Router via MITM."]}),!g&&(0,d.jsx)("p",{className:"text-amber-600 text-[10px] mt-1",children:"⚠️ Enable DNS to edit model mappings"})]}),t&&(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===t.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"success"===t.type?"check_circle":"error"}),(0,d.jsx)("span",{children:t.text})]}),t.warning&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-amber-500/10 text-amber-600 border border-amber-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"warning"}),(0,d.jsx)("span",{className:"font-medium",children:t.warning})]})]}),a.defaultModels?.length>0&&(0,d.jsx)("div",{className:"flex flex-col gap-2",children:a.defaultModels.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 relative",children:[(0,d.jsx)("span",{className:"w-36 shrink-0 text-xs font-semibold text-text-main text-right",children:a.name}),(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[14px]",children:"arrow_forward"}),(0,d.jsx)("input",{type:"text",value:B[a.alias]||"",onChange:b=>L(a.alias,b.target.value),onBlur:b=>{var c,d;return c=a.alias,d=b.target.value,void K({...B,[c]:d})},placeholder:"provider/model-id",disabled:!g,className:`flex-1 px-2 py-1.5 bg-surface rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 ${!g?"opacity-50 cursor-not-allowed":""}`}),(0,d.jsx)("div",{className:"relative","data-model-dropdown":!0,children:(0,d.jsx)("button",{ref:b=>{b&&(b._alias=a.alias)},onClick:b=>{if(D===a.alias)E(null);else{I("");let c=b.currentTarget.getBoundingClientRect(),d=Math.min(32*p.length,280);G({top:window.innerHeight-c.bottom<d+8?Math.max(8,c.top-d-4):c.bottom+4,right:window.innerWidth-c.right}),E(a.alias)}},disabled:!g||0===p.length,className:`px-2 py-1.5 rounded border text-xs transition-colors shrink-0 ${g&&p.length>0?"bg-surface border-border hover:border-primary cursor-pointer":"opacity-50 cursor-not-allowed border-border"}`,title:0===p.length?"Load Models first (from server card above)":"Select model",children:"Select"})}),B[a.alias]&&(0,d.jsx)("button",{onClick:()=>{L(a.alias,""),K({...B,[a.alias]:""})},className:"p-1 text-text-muted hover:text-red-500 rounded transition-colors",title:"Clear",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]},a.alias))}),a.defaultModels?.length===0&&(0,d.jsx)("p",{className:"text-xs text-text-muted px-1",children:"Model mappings will be available soon."}),(0,d.jsx)("div",{children:g?(0,d.jsxs)("button",{onClick:M,disabled:!f||r,className:"px-4 py-1.5 rounded-lg bg-red-500/10 border border-red-500/30 text-red-500 font-medium text-xs flex items-center gap-1.5 hover:bg-red-500/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop_circle"}),"Stop DNS"]}):(0,d.jsxs)(i.$n,{variant:"primary",size:"sm",onClick:M,loading:r,disabled:!f||r,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1",children:"play_circle"}),"Start DNS"]})})]})]}),D&&p.length>0&&(0,d.jsxs)("div",{"data-model-dropdown":!0,className:"fixed z-[999] bg-surface border border-border rounded-lg shadow-xl max-h-[280px] w-[340px] overflow-hidden flex flex-col",style:{top:F.top,right:F.right},children:[(0,d.jsx)("div",{className:"sticky top-0 p-1.5 border-b border-border bg-surface",children:(0,d.jsx)("input",{type:"text",value:H,onChange:a=>I(a.target.value),placeholder:"Search models...",className:"w-full px-2 py-1 bg-background rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50",autoFocus:!0})}),(0,d.jsx)("div",{className:"overflow-y-auto flex-1",children:p.filter(a=>!H||a.toLowerCase().includes(H.toLowerCase())).map(a=>(0,d.jsx)("button",{onClick:()=>{let b;C(b={...B,[D]:a}),K(b),E(null)},className:`w-full text-left px-3 py-2 text-xs font-mono hover:bg-primary/10 transition-colors border-b border-border/30 last:border-0 ${B[D]===a?"bg-primary/15 text-primary font-semibold":"text-text-main"}`,children:a},a))})]}),v&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"bg-surface border border-border rounded-xl p-6 w-full max-w-sm flex flex-col gap-4 shadow-xl",children:[(0,d.jsx)("h3",{className:"font-semibold text-text-main",children:"Sudo Password Required"}),(0,d.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-yellow-500 text-[20px]",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Required to modify /etc/hosts and flush DNS cache"})]}),(0,d.jsx)(i.pd,{type:"password",placeholder:"Enter sudo password",value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"!==a.key||r||O()}}),t&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{children:t.text})]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsx)(i.$n,{variant:"ghost",size:"sm",onClick:()=>{w(!1),y(""),u(null)},disabled:r,children:"Cancel"}),(0,d.jsx)(i.$n,{variant:"primary",size:"sm",onClick:O,loading:r,children:"Confirm"})]})]})})]})}function m(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)(!0),[g,h]=(0,e.useState)("mitm"),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(0),o=(0,e.useRef)(null),p=(0,e.useRef)(null),q=(0,e.useRef)(null),r=(0,e.useCallback)(()=>{q.current&&(q.current.close(),q.current=null),l(!1),b([]),n(a=>a+1)},[]);return(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,d.jsxs)("div",{className:"text-sm font-semibold flex items-center gap-2 cursor-pointer select-none",onClick:()=>j(!i),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",children:"terminal"}),"Console Logs",(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] transition-transform ${i?"rotate-180":""}`,children:"expand_more"})]}),i&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("select",{value:g,onChange:a=>{h(a.target.value),b([])},className:"px-1.5 py-0.5 rounded border border-border bg-surface text-[10px] cursor-pointer",children:[(0,d.jsx)("option",{value:"mitm",children:"MITM Only"}),(0,d.jsx)("option",{value:"all",children:"All Logs"})]}),(0,d.jsx)("button",{onClick:()=>{f(!c),!c&&o.current&&o.current.scrollIntoView({behavior:"smooth"})},className:`p-0.5 rounded transition-colors ${c?"text-primary":"text-muted hover:text-foreground"}`,title:c?"Auto-scroll ON":"Auto-scroll OFF",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:c?"vertical_align_bottom":"pause"})}),(0,d.jsx)("button",{onClick:()=>b([]),className:"p-0.5 rounded text-muted hover:text-foreground transition-colors",title:"Clear logs",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"delete_sweep"})})]})]}),i&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:p,onScroll:()=>{if(!p.current)return;let{scrollTop:a,scrollHeight:b,clientHeight:c}=p.current;f(b-a-c<40)},className:"bg-zinc-950 rounded-lg p-3 font-mono text-[11px] leading-[1.6] overflow-auto border border-zinc-800",style:{maxHeight:"280px",minHeight:"120px"},children:[0===a.length?(0,d.jsx)("div",{className:"text-zinc-600 italic text-center py-4",children:k?"Waiting for logs...":"Disconnected — click Reconnect below"}):a.map((a,b)=>(0,d.jsx)("div",{className:`whitespace-pre-wrap break-all ${a.includes("❌")||a.includes("[ERROR]")||a.includes("error")?"text-red-400":a.includes("⚡")||a.includes("intercept")?"text-emerald-400":a.includes("⏩")||a.includes("passthrough")?"text-amber-400":a.includes("\uD83D\uDE80")||a.includes("✅")?"text-green-400":a.includes("\uD83D\uDD10")?"text-blue-400":a.includes("\uD83C\uDF10")?"text-cyan-400":a.includes("\uD83D\uDD0D")?"text-purple-400":a.includes("⏹")?"text-orange-400":a.includes("WARNING")||a.includes("warn")?"text-yellow-400":"text-zinc-300"}`,children:a},b)),(0,d.jsx)("div",{ref:o})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between mt-1.5",children:[(0,d.jsxs)("span",{className:"text-[10px] text-muted",children:[a.length," lines"]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[!k&&(0,d.jsx)("button",{onClick:r,className:"flex items-center justify-center rounded p-2 text-primary hover:bg-primary/20 transition-colors",title:"Reconnect to console logs",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",style:{fontSize:"18px"},children:"sync"})}),(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${k?"bg-green-500 animate-pulse":"bg-red-500"}`}),(0,d.jsx)("span",{className:`text-[10px] ${k?"text-muted":"text-red-400"}`,children:k?"Connected":"Disconnected"})]})]})]})]})}let n=["antigravity","copilot"];function o(){let[a,b]=(0,e.useState)([]),[c,i]=(0,e.useState)([]),[k,o]=(0,e.useState)({}),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1}),[v,w]=(0,e.useState)([]),x=()=>a.filter(a=>!1!==a.isActive),y=Object.entries(f).filter(([a])=>n.includes(a));return(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,d.jsx)("div",{children:(0,d.jsx)(j,{apiKeys:c,cloudEnabled:p,onStatusChange:u,onModelsLoaded:w})}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[y.map(([a,b])=>(0,d.jsx)(l,{tool:b,isExpanded:r===a,onToggle:()=>s(r===a?null:a),serverRunning:t.running,dnsActive:t.dnsStatus?.[a]||!1,hasCachedPassword:t.hasCachedPassword||!1,apiKeys:c,activeProviders:x(),hasActiveProviders:x().some(a=>(0,g.KC)(a.provider).length>0||(0,h.mq)(a.provider)||(0,h.gb)(a.provider)),modelAliases:k,cloudEnabled:p,loadedModels:v,onDnsChange:a=>u(b=>({...b,dnsStatus:a.dnsStatus??b.dnsStatus}))},a)),(0,d.jsx)(m,{})]})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20532:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/MitmPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/MitmPageClient.js","default")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30404:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>L,handler:()=>N,routeModule:()=>M});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(89125),A=c(86439),B=c(77068),C=c(95547),D=c.n(C),E=c(61287),F=c(81494),G=c(70722),H=c(70753),I=c(43954),J={};for(let a in E)0>["default","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(J[a]=()=>E[a]);c.d(b,J);let K={children:["",{children:["(dashboard)",{children:["mitm",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,41250)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/mitm/page.js"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,30508)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/(dashboard)/layout.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,60317)),"/Users/nip/Desktop/WORKSPACE/iCheck/iCheck.AI.Workflows/arouter/src/app/layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,L={require:c,loadChunk:()=>Promise.resolve()},M=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(dashboard)/mitm/page",pathname:"/mitm",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:K},distDir:".next",relativeProjectDir:""});async function N(a,b,d){var C;M.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let J=!!(0,h.getRequestMeta)(a,"minimalMode"),O="/(dashboard)/mitm/page";"/index"===O&&(O="/");let P=await M.prepare(a,b,{srcPage:O,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,parsedUrl:ae,interceptionRoutePatterns:af,deploymentId:ag}=P,ah=(0,q.normalizeAppPath)(O),{isOnDemandRevalidate:ai}=P,aj=ad.experimental.ppr&&!ad.cacheComponents&&(0,I.isInterceptionRouteAppPath)(aa)?null:M.match(aa,$),ak=!!$.routes[aa],al=a.headers["user-agent"]||"",am=(0,t.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],aq=(0,r.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&ar&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let as=ar&&(null==(C=$.routes[ah]??$.dynamicRoutes[ah])?void 0:C.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?(0,h.getRequestMeta)(a,"postponed"):void 0,aw=as&&ap&&!ao;J&&(aw=aw&&!!av);let ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=(!an||!as)&&(!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots)),az=!!((aj||ak||$.routes[ah])&&!(an&&as)),aA=as&&!0===ad.cacheComponents,aB=!0===M.isDev||!az||"string"==typeof av||(aA&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aw&&!J:aw),aC=an&&as,aD=null;_||!az||aB||aq||av||aw||(aD=aa);let aE=aD;!aE&&M.isDev&&(aE=aa),M.isDev||_||!az||!ap||aw||(0,k.d)(a.headers);let aF={...E,tree:K,GlobalError:D(),handler:N,routeModule:M,__next_app__:L};X&&Y&&(0,o.setManifestsSingleton)({page:O,clientReferenceManifest:Y,serverActionsManifest:X});let aG=a.method||"GET",aH=(0,g.getTracer)(),aI=aH.getActiveScopeSpan(),aJ=async()=>((null==ac?void 0:ac.render404)?await ac.render404(a,b,ae,!1):b.end("This page could not be found"),null);try{let f=M.getVaryHeader(aa,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return M.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aH.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aG} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aG} ${O}`)})},m=(0,h.getRequestMeta)(a,"incrementalCache"),o=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aF,Component:(0,j.T)(aF),params:S,routeModule:M,page:O,postponed:f,shouldWaitOnAllReady:aC,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||aB,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,setCacheStatus:null==ac?void 0:ac.setCacheStatus,setIsrStatus:null==ac?void 0:ac.setIsrStatus,setReactDebugChannel:null==ac?void 0:ac.setReactDebugChannel,sendErrorsToBrowser:null==ac?void 0:ac.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),M.relativeProjectDir),isDraftMode:_,botType:am,isOnDemandRevalidate:ai,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,images:ad.images,previewProps:$.preview,deploymentId:ag,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:ad.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...at||au?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:at}:{},cacheComponents:!!ad.cacheComponents,experimental:{isRoutePPREnabled:as,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ad.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(ad.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>M.onRequestError(a,b,d,e,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:M.isDev}};at&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=at),i&&(l.renderOpts.supportsDynamicResponse=!1);let n=await k(e,l),{metadata:o}=n,{cacheControl:p,headers:q={},fetchTags:r,fetchMetrics:s}=o;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,az&&(null==p?void 0:p.revalidate)===0&&!M.isDev&&!as){let a=o.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
8
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===M.isDev,q=c||b.writableEnded;if(ai&&ab&&!f&&!J)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(k=(0,v.parseFallbackField)(aj.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(al)&&(!as||an)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!J&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aE&&!q&&!_&&T&&(l||!ak)){if((l||aj)&&k===v.FallbackMode.NOT_FOUND){if(ad.experimental.adapterPath)return await aJ();throw new A.NoFallbackError}if(as&&(ad.cacheComponents?!aw:!ap)){let b=l&&"string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:ah,c=l&&(null==aj?void 0:aj.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null,f=await M.handleResponse({cacheKey:b,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:as,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:J});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ai||g||!av?void 0:av;if(aA&&!J&&m&&aw&&!j){let b=await m.get(aa,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,H.scheduleOnNextTick)(async()=>{let b=M.getResponseCache(a);try{await b.revalidate(aa,m,as,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(at&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==aj?void 0:aj.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(aj.fallbackRouteParams):au?(0,n.getFallbackRouteParams)(ah,M):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await M.handleResponse({cacheKey:aD,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil,isMinimalMode:J});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),M.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aD)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;az&&!aw&&(!n||ao)&&(J||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(av)l={revalidate:0,expire:void 0};else if(aw)l={revalidate:0,expire:void 0};else if(!M.isDev)if(_)l={revalidate:0,expire:void 0};else if(az){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];J&&az&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=aA?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(J&&az||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(J&&az&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ap&&as||(b.statusCode=q.status),!J&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),n&&!aw&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ad.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new G.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||J||ap)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:m.cacheControl});if(at)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aI)return await aH.withPropagatedContext(a.headers,()=>aH.trace(i.BaseServerSpan.handleRequest,{spanName:`${aG} ${O}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aG,"http.target":a.url}},q));await q(aI)}catch(b){throw b instanceof A.NoFallbackError||await M.onRequestError(a,b,{routerKind:"App Router",routePath:O,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:az,isOnDemandRevalidate:ai})},!1,ac),b}}},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41250:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(20532);function f(){return(0,d.jsx)(e.default,{})}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77768:(a,b,c)=>{Promise.resolve().then(c.bind(c,3763))},79646:a=>{"use strict";a.exports=require("child_process")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90920:(a,b,c)=>{Promise.resolve().then(c.bind(c,20532))},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,216,194,471,138,330,182,219,900],()=>b(b.s=30404));module.exports=c})();
|
|
8
|
+
}`}}};var g=c(69974),h=c(96919),i=c(50412);function j({apiKeys:a,cloudEnabled:b,onStatusChange:c,onModelsLoaded:f}){let[g,h]=(0,e.useState)(null),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)("http://localhost:20128/v1/chat/completions"),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(null),J="u">typeof navigator&&navigator.userAgent?.includes("Windows"),K=g?.isAdmin!==!1,L=async()=>{try{let a=await fetch("/api/cli-tools/antigravity-mitm");if(a.ok){let b=await a.json();if(h(b),c?.(b),b.running)try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings");if(a.ok){let b=await a.json(),c=b.endpoint||t,d=b.apiKey||v,e=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:c,apiKey:d})}),g=await e.json();g.models?.length>0&&(f?.(g.models),C(g))}}catch{}}}catch{h({running:!1,certExists:!1,dnsStatus:{}})}},M=async()=>{G(!0);try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})});if(a.ok)y(!0),q({type:"success",text:"Configuration saved"});else{let b=await a.json();q({type:"error",text:b.error||"Failed to save"})}}catch(a){q({type:"error",text:a.message})}finally{G(!1)}},N=async()=>{E(!0),C(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})}),b=await a.json();C(b),b.models?.length>0&&f?.(b.models)}catch(a){C({success:!1,reachable:!1,message:a.message})}finally{E(!1)}},O=a=>{J||g?.hasCachedPassword?P(a,""):(s(a),m(!0),q(null))},P=async(a,b)=>{k(!0),q(null);try{if("trust-cert"===a){let a=await fetch("/api/cli-tools/antigravity-mitm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"trust-cert",sudoPassword:b})}),c=await a.json();a.ok?q({type:"success",text:"Certificate trusted successfully"}):q({type:"error",text:c.error||"Failed to trust certificate"})}else if("start"===a){C(null),I(null),await M(),q({type:"info",text:"Validating endpoint..."});let a=0;try{let b=await fetch("/api/cli-tools/antigravity-mitm/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:t,apiKey:v})}),c=await b.json();if(!b.ok||!c.reachable||!c.models||0===c.models.length){q({type:"error",text:`Endpoint invalid: ${c.message||c.error||"cannot load models"}`}),k(!1),await L();return}a=c.models.length,f&&f(c.models),C(c)}catch(a){q({type:"error",text:`Endpoint invalid: ${a.message}`}),k(!1),await L();return}let c=await fetch("/api/cli-tools/antigravity-mitm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:v||"sk_default",sudoPassword:b})}),d=await c.json();c.ok?q({type:"success",text:`Server started (${a} models loaded)`}):q({type:"error",text:d.error||"Failed to start server"})}else{let a=await fetch("/api/cli-tools/antigravity-mitm",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:b})}),c=await a.json();console.log("STOP SERVER REPONSE:",a.status,c),a.ok?q({type:"success",text:"Server stopped — all DNS cleared"}):q({type:"error",text:c.error||"Failed to stop server"})}m(!1),o(""),await L()}catch(a){q({type:"error",text:a.message})}finally{k(!1),s(null)}},Q=()=>{n.trim()?P(r,n):q({type:"error",text:"Sudo password is required"})},R=g?.running;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Zp,{padding:"sm",className:"border-primary/20 bg-primary/5",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary text-[20px]",children:"security"}),(0,d.jsx)("span",{className:"font-semibold text-sm text-text-main",children:"MITM Server"}),R?(0,d.jsx)(i.Ex,{variant:"success",size:"sm",children:"Running"}):(0,d.jsx)(i.Ex,{variant:"error",size:"sm",children:"Stopped"})]}),(0,d.jsx)("div",{className:"flex items-center gap-1 text-xs text-text-muted","data-i18n-skip":"true",children:[{label:"Cert",ok:g?.certExists},{label:"Trusted",ok:g?.certTrusted},{label:"Server",ok:R}].map(({label:a,ok:b})=>(0,d.jsxs)("span",{className:`flex items-center gap-0.5 px-1.5 py-0.5 rounded ${b?"text-green-600":"text-text-muted"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:b?"check_circle":"cancel"}),a]},a))})]}),(0,d.jsxs)("div",{className:"px-2 py-2 rounded-lg bg-surface/50 border border-border/50 flex flex-col gap-2",children:[(0,d.jsxs)("p",{className:"text-[11px] text-text-muted leading-relaxed",children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:"Purpose:"})," Use Antigravity IDE & GitHub Copilot → with ANY provider/model from Router"]}),(0,d.jsxs)("p",{className:"text-[11px] text-text-muted leading-relaxed",children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:"How it works:"})," IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → Router endpoint → response back to IDE"]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 px-2 py-2 rounded-lg bg-surface/30 border border-border/30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("p",{className:"text-[11px] font-medium text-text-main uppercase tracking-wider",children:"Router Configuration"}),H&&null!==H.ok&&(0,d.jsxs)("div",{className:`flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium ${H.ok?"bg-green-500/15 text-green-600":"bg-red-500/15 text-red-500"}`,children:[(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${H.ok?"bg-green-500":"bg-red-500"}`}),H.ok?"Valid":"Invalid"]})]}),H&&!1===H.ok&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-[11px] bg-red-500/10 text-red-500 border border-red-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{className:"break-all",children:H.detail})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"text-[11px] text-text-muted",children:"Endpoint URL"}),(0,d.jsx)("input",{type:"text",value:t,onChange:a=>{u(a.target.value),y(!1),C(null)},placeholder:"http://localhost:20128/v1/chat/completions",disabled:R,className:`w-full px-2.5 py-1.5 bg-surface rounded-md text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50 text-text-main placeholder-text-muted/50 ${R?"opacity-50 cursor-not-allowed":""}`})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"text-[11px] text-text-muted",children:"API Key"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("input",{type:z?"text":"password",value:v,onChange:a=>{w(a.target.value),y(!1),C(null)},placeholder:"Enter API key",disabled:R,className:`w-full px-2.5 py-1.5 pr-8 bg-surface rounded-md text-xs border border-border focus:outline-none focus:ring-1 focus:ring-primary/50 text-text-main placeholder-text-muted/50 ${R?"opacity-50 cursor-not-allowed":""}`}),(0,d.jsx)("button",{type:"button",onClick:()=>A(a=>!a),className:"absolute right-1.5 top-1/2 -translate-y-1/2 flex items-center justify-center w-5 h-5 rounded text-text-muted hover:text-text-main transition-colors",title:z?"Hide API Key":"Show API Key",children:(0,d.jsx)("span",{className:"material-symbols-outlined",style:{fontSize:"18px"},children:z?"visibility":"visibility_off"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsxs)("button",{onClick:N,disabled:D||!t||R,className:"px-3 py-1 rounded-md bg-blue-500/10 border border-blue-500/30 text-blue-500 font-medium text-[11px] flex items-center gap-1 hover:bg-blue-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:D?"hourglass_empty":"sync"}),D?"Loading...":"Load Models"]}),(0,d.jsxs)("button",{onClick:M,disabled:F||x||!t||R,className:"px-3 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-600 font-medium text-[11px] flex items-center gap-1 hover:bg-green-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"save"}),F?"Saving...":x?"Saved ✓":"Save"]})]}),B&&(0,d.jsxs)("div",{className:`flex flex-col gap-1.5 px-2 py-1.5 rounded text-[11px] ${B.reachable?B.status>=200&&B.status<300?"bg-green-500/10 text-green-600":"bg-yellow-500/10 text-yellow-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:B.reachable?B.status>=200&&B.status<300?"check_circle":"warning":"error"}),(0,d.jsx)("span",{children:B.message})]}),B.models?.length>0&&(0,d.jsx)("div",{className:"flex flex-wrap gap-1 mt-1 max-h-[120px] overflow-y-auto",children:B.models.map(a=>(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-green-500/15 text-green-700 text-[10px] font-mono",children:a},a))})]})]}),p&&(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===p.type?"bg-green-500/10 text-green-600":"info"===p.type?"bg-amber-500/10 text-amber-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"success"===p.type?"check_circle":"info"===p.type?"hourglass_top":"error"}),(0,d.jsx)("span",{children:p.text})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap","data-i18n-skip":"true",children:[g?.certExists&&!g?.certTrusted&&(0,d.jsxs)("button",{onClick:()=>O("trust-cert"),disabled:j,className:"px-4 py-1.5 rounded-lg bg-yellow-500/10 border border-yellow-500/30 text-yellow-600 font-medium text-xs flex items-center gap-1.5 hover:bg-yellow-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"verified_user"}),"Trust Cert"]}),R?(0,d.jsxs)("button",{onClick:()=>O("stop"),disabled:j,className:"px-4 py-1.5 rounded-lg bg-red-500/10 border border-red-500/30 text-red-500 font-medium text-xs flex items-center gap-1.5 hover:bg-red-500/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop_circle"}),"Stop Server"]}):(0,d.jsxs)("button",{onClick:()=>O("start"),disabled:j||!t||J&&!K,className:"px-4 py-1.5 rounded-lg bg-primary/10 border border-primary/30 text-primary font-medium text-xs flex items-center gap-1.5 hover:bg-primary/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"play_circle"}),"Start Server"]}),R&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Enable DNS per tool below to activate interception"})]}),J&&!K&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600 border border-red-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"shield_lock"}),(0,d.jsx)("span",{children:"Administrator required — restart as Administrator to use MITM"})]})]})}),l&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"bg-surface border border-border rounded-xl p-6 w-full max-w-sm flex flex-col gap-4 shadow-xl",children:[(0,d.jsx)("h3",{className:"font-semibold text-text-main",children:"Sudo Password Required"}),(0,d.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-yellow-500 text-[20px]",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Required for SSL certificate and server startup"})]}),(0,d.jsx)(i.pd,{type:"password",placeholder:"Enter sudo password",value:n,onChange:a=>o(a.target.value),onKeyDown:a=>{"Enter"!==a.key||j||Q()}}),p&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{children:p.text})]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsx)(i.$n,{variant:"ghost",size:"sm",onClick:()=>{m(!1),o(""),q(null)},disabled:j,children:"Cancel"}),(0,d.jsx)(i.$n,{variant:"primary",size:"sm",onClick:Q,loading:j,children:"Confirm"})]})]})})]})}var k=c(81220);function l({tool:a,isExpanded:b,onToggle:c,serverRunning:f,dnsActive:g,hasCachedPassword:h,apiKeys:j,activeProviders:l,hasActiveProviders:m,modelAliases:n={},cloudEnabled:o,loadedModels:p=[],onDnsChange:q}){let[r,s]=(0,e.useState)(!1),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)({}),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)({top:0,right:0}),[H,I]=(0,e.useState)(""),J="u">typeof navigator&&navigator.userAgent?.includes("Windows"),K=(0,e.useCallback)(async b=>{try{await fetch("/api/cli-tools/antigravity-mitm/alias",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a.id,mappings:b})})}catch{}},[a.id]),L=(a,b)=>{C(c=>({...c,[a]:b}))},M=()=>{if(!f)return;let a=g?"disable":"enable";J||h?N(a,""):(A(a),w(!0),u(null))},N=async(b,c)=>{s(!0),u(null);try{let d=await fetch("/api/cli-tools/antigravity-mitm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a.id,action:b,sudoPassword:c})}),e=await d.json();if(!d.ok)throw Error(e.error||"Failed to toggle DNS");"enable"===b?u({type:"success",text:"DNS enabled successfully.",warning:`Please restart ${a.name} to apply changes.`}):u({type:"success",text:"DNS disabled — traffic restored"}),w(!1),y(""),q?.(e)}catch(a){u({type:"error",text:a.message})}finally{s(!1),A(null)}},O=()=>{x.trim()?N(z,x):u({type:"error",text:"Sudo password is required"})};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(i.Zp,{padding:"xs",className:"overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between hover:cursor-pointer",onClick:c,children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:(0,d.jsx)(k.default,{src:a.image,alt:a.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:a=>{a.target.style.display="none"}})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:a.name}),f?g?(0,d.jsx)(i.Ex,{variant:"success",size:"sm",children:"Active"}):(0,d.jsx)(i.Ex,{variant:"warning",size:"sm",children:"DNS off"}):(0,d.jsx)(i.Ex,{variant:"error",size:"sm",children:"Server off"})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted",children:["Intercept ",a.name," requests via MITM proxy"]})]})]}),(0,d.jsx)("span",{className:`material-symbols-outlined text-text-muted text-[20px] transition-transform${b?" rotate-180":""}`,children:"expand_more"})]}),b&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 text-[11px] text-text-muted px-1",children:[(0,d.jsxs)("p",{children:["Toggle DNS to redirect ",a.name," traffic through Router via MITM."]}),!g&&(0,d.jsx)("p",{className:"text-amber-600 text-[10px] mt-1",children:"⚠️ Enable DNS to edit model mappings"})]}),t&&(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded text-xs ${"success"===t.type?"bg-green-500/10 text-green-600":"bg-red-500/10 text-red-600"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"success"===t.type?"check_circle":"error"}),(0,d.jsx)("span",{children:t.text})]}),t.warning&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-amber-500/10 text-amber-600 border border-amber-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"warning"}),(0,d.jsx)("span",{className:"font-medium",children:t.warning})]})]}),a.defaultModels?.length>0&&(0,d.jsx)("div",{className:"flex flex-col gap-2",children:a.defaultModels.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 relative",children:[(0,d.jsx)("span",{className:"w-36 shrink-0 text-xs font-semibold text-text-main text-right",children:a.name}),(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[14px]",children:"arrow_forward"}),(0,d.jsx)("input",{type:"text",value:B[a.alias]||"",onChange:b=>L(a.alias,b.target.value),onBlur:b=>{var c,d;return c=a.alias,d=b.target.value,void K({...B,[c]:d})},placeholder:"provider/model-id",disabled:!g,className:`flex-1 px-2 py-1.5 bg-surface rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50 ${!g?"opacity-50 cursor-not-allowed":""}`}),(0,d.jsx)("div",{className:"relative","data-model-dropdown":!0,children:(0,d.jsx)("button",{ref:b=>{b&&(b._alias=a.alias)},onClick:b=>{if(D===a.alias)E(null);else{I("");let c=b.currentTarget.getBoundingClientRect(),d=Math.min(32*p.length,280);G({top:window.innerHeight-c.bottom<d+8?Math.max(8,c.top-d-4):c.bottom+4,right:window.innerWidth-c.right}),E(a.alias)}},disabled:!g||0===p.length,className:`px-2 py-1.5 rounded border text-xs transition-colors shrink-0 ${g&&p.length>0?"bg-surface border-border hover:border-primary cursor-pointer":"opacity-50 cursor-not-allowed border-border"}`,title:0===p.length?"Load Models first (from server card above)":"Select model",children:"Select"})}),B[a.alias]&&(0,d.jsx)("button",{onClick:()=>{L(a.alias,""),K({...B,[a.alias]:""})},className:"p-1 text-text-muted hover:text-red-500 rounded transition-colors",title:"Clear",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]},a.alias))}),a.defaultModels?.length===0&&(0,d.jsx)("p",{className:"text-xs text-text-muted px-1",children:"Model mappings will be available soon."}),(0,d.jsx)("div",{children:g?(0,d.jsxs)("button",{onClick:M,disabled:!f||r,className:"px-4 py-1.5 rounded-lg bg-red-500/10 border border-red-500/30 text-red-500 font-medium text-xs flex items-center gap-1.5 hover:bg-red-500/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop_circle"}),"Stop DNS"]}):(0,d.jsxs)(i.$n,{variant:"primary",size:"sm",onClick:M,loading:r,disabled:!f||r,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] mr-1",children:"play_circle"}),"Start DNS"]})})]})]}),D&&p.length>0&&(0,d.jsxs)("div",{"data-model-dropdown":!0,className:"fixed z-[999] bg-surface border border-border rounded-lg shadow-xl max-h-[280px] w-[340px] overflow-hidden flex flex-col",style:{top:F.top,right:F.right},children:[(0,d.jsx)("div",{className:"sticky top-0 p-1.5 border-b border-border bg-surface",children:(0,d.jsx)("input",{type:"text",value:H,onChange:a=>I(a.target.value),placeholder:"Search models...",className:"w-full px-2 py-1 bg-background rounded border border-border text-xs focus:outline-none focus:ring-1 focus:ring-primary/50",autoFocus:!0})}),(0,d.jsx)("div",{className:"overflow-y-auto flex-1",children:p.filter(a=>!H||a.toLowerCase().includes(H.toLowerCase())).map(a=>(0,d.jsx)("button",{onClick:()=>{let b;C(b={...B,[D]:a}),K(b),E(null)},className:`w-full text-left px-3 py-2 text-xs font-mono hover:bg-primary/10 transition-colors border-b border-border/30 last:border-0 ${B[D]===a?"bg-primary/15 text-primary font-semibold":"text-text-main"}`,children:a},a))})]}),v&&(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",children:(0,d.jsxs)("div",{className:"bg-surface border border-border rounded-xl p-6 w-full max-w-sm flex flex-col gap-4 shadow-xl",children:[(0,d.jsx)("h3",{className:"font-semibold text-text-main",children:"Sudo Password Required"}),(0,d.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-yellow-500 text-[20px]",children:"warning"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Required to modify /etc/hosts and flush DNS cache"})]}),(0,d.jsx)(i.pd,{type:"password",placeholder:"Enter sudo password",value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"!==a.key||r||O()}}),t&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-red-500/10 text-red-600",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{children:t.text})]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsx)(i.$n,{variant:"ghost",size:"sm",onClick:()=>{w(!1),y(""),u(null)},disabled:r,children:"Cancel"}),(0,d.jsx)(i.$n,{variant:"primary",size:"sm",onClick:O,loading:r,children:"Confirm"})]})]})})]})}function m(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)(!0),[g,h]=(0,e.useState)("mitm"),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(0),o=(0,e.useRef)(null),p=(0,e.useRef)(null),q=(0,e.useRef)(null),r=(0,e.useCallback)(()=>{q.current&&(q.current.close(),q.current=null),l(!1),b([]),n(a=>a+1)},[]);return(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,d.jsxs)("div",{className:"text-sm font-semibold flex items-center gap-2 cursor-pointer select-none",onClick:()=>j(!i),children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary",children:"terminal"}),"Console Logs",(0,d.jsx)("span",{className:`material-symbols-outlined text-[14px] transition-transform ${i?"rotate-180":""}`,children:"expand_more"})]}),i&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("select",{value:g,onChange:a=>{h(a.target.value),b([])},className:"px-1.5 py-0.5 rounded border border-border bg-surface text-[10px] cursor-pointer",children:[(0,d.jsx)("option",{value:"mitm",children:"MITM Only"}),(0,d.jsx)("option",{value:"all",children:"All Logs"})]}),(0,d.jsx)("button",{onClick:()=>{f(!c),!c&&o.current&&o.current.scrollIntoView({behavior:"smooth"})},className:`p-0.5 rounded transition-colors ${c?"text-primary":"text-muted hover:text-foreground"}`,title:c?"Auto-scroll ON":"Auto-scroll OFF",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:c?"vertical_align_bottom":"pause"})}),(0,d.jsx)("button",{onClick:()=>b([]),className:"p-0.5 rounded text-muted hover:text-foreground transition-colors",title:"Clear logs",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"delete_sweep"})})]})]}),i&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:p,onScroll:()=>{if(!p.current)return;let{scrollTop:a,scrollHeight:b,clientHeight:c}=p.current;f(b-a-c<40)},className:"bg-zinc-950 rounded-lg p-3 font-mono text-[11px] leading-[1.6] overflow-auto border border-zinc-800",style:{maxHeight:"280px",minHeight:"120px"},children:[0===a.length?(0,d.jsx)("div",{className:`italic text-center py-4 ${k?"text-zinc-600":"text-red-500 font-semibold"}`,children:k?"Waiting for logs...":"Vui l\xf2ng Stop > Start lại MITM Server để kết nối lại logs hệ thống"}):a.map((a,b)=>(0,d.jsx)("div",{className:`whitespace-pre-wrap break-all ${a.includes("❌")||a.includes("[ERROR]")||a.includes("error")?"text-red-400":a.includes("⚡")||a.includes("intercept")?"text-emerald-400":a.includes("⏩")||a.includes("passthrough")?"text-amber-400":a.includes("\uD83D\uDE80")||a.includes("✅")?"text-green-400":a.includes("\uD83D\uDD10")?"text-blue-400":a.includes("\uD83C\uDF10")?"text-cyan-400":a.includes("\uD83D\uDD0D")?"text-purple-400":a.includes("⏹")?"text-orange-400":a.includes("WARNING")||a.includes("warn")?"text-yellow-400":"text-zinc-300"}`,children:a},b)),(0,d.jsx)("div",{ref:o})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between mt-1.5",children:[(0,d.jsxs)("span",{className:"text-[10px] text-muted",children:[a.length," lines"]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[!k&&(0,d.jsx)("button",{onClick:r,className:"flex items-center justify-center rounded p-2 text-primary hover:bg-primary/20 transition-colors",title:"Reconnect to console logs",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",style:{fontSize:"18px"},children:"sync"})}),(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${k?"bg-green-500 animate-pulse":"bg-red-500"}`}),(0,d.jsx)("span",{className:`text-[10px] ${k?"text-muted":"text-red-400"}`,children:k?"Connected":"Disconnected"})]})]})]})]})}function n({serverRunning:a}){let[b,c]=(0,e.useState)(!1),[f,g]=(0,e.useState)(!1),[h,j]=(0,e.useState)([]),[l,m]=(0,e.useState)([]),[n,o]=(0,e.useState)(null),p=async()=>{g(!0),o(null);try{let a=await fetch("/api/providers/client");if(!a.ok)throw Error("Failed to fetch providers");let b=((await a.json()).connections||[]).filter(a=>"antigravity"===a.provider);j(b);let c=await Promise.all(b.map(async a=>{try{let b=await fetch(`/api/usage/${a.id}`);if(b.ok){let c=await b.json();return{...a,quota:c}}return{...a,quota:null,quotaError:"Failed to fetch quota"}}catch(b){return{...a,quota:null,quotaError:b.message}}}));m(c)}catch(a){o(a.message)}finally{g(!1)}},q=a=>a>80?"bg-green-500":a>50?"bg-yellow-500":"bg-orange-500",r=h.length>0;return(0,d.jsxs)(i.Zp,{padding:"xs",className:`overflow-hidden ${!a?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:`flex items-center justify-between ${a?"hover:cursor-pointer hover:bg-primary/5":"cursor-not-allowed"} transition-colors rounded px-2`,onClick:()=>a&&c(!b),children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0 rounded-lg bg-gradient-to-br from-blue-500 to-purple-600 text-white",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"speed"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("h3",{className:"font-medium text-sm",children:"Quota Checker"}),a?r?(0,d.jsxs)(i.Ex,{variant:"success",size:"sm",children:[h.length," account",h.length>1?"s":""]}):(0,d.jsx)(i.Ex,{variant:"warning",size:"sm",children:"No accounts"}):(0,d.jsx)(i.Ex,{variant:"error",size:"sm",children:"Server off"})]}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Check antigravity provider quota usage"})]})]}),(0,d.jsx)("span",{className:`material-symbols-outlined text-text-muted text-[20px] transition-transform${b?" rotate-180":""}`,children:"expand_more"})]}),b&&a&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"Antigravity Client Quotas"}),(0,d.jsxs)("button",{onClick:a=>{a.stopPropagation(),p()},disabled:f,className:"flex items-center gap-1 px-2 py-1 rounded-md bg-primary/10 text-primary text-[11px] font-medium hover:bg-primary/20 transition-colors disabled:opacity-50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:f?"hourglass_empty":"refresh"}),f?"Refreshing...":"Refresh"]})]}),n&&!f&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded text-xs bg-red-500/10 text-red-600 border border-red-500/20",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),(0,d.jsx)("span",{children:n})]}),f&&(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-2xl animate-spin",children:"progress_activity"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:"Loading quota data..."})]}),!f&&!n&&0===l.length&&(0,d.jsxs)("div",{className:"py-6 text-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-2xl",children:"cloud_off"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mt-2",children:"No antigravity connections found"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"Add an antigravity provider to see quota info"})]}),!f&&!n&&l.length>0&&(0,d.jsx)("div",{className:"flex flex-col gap-3 max-h-[400px] overflow-y-auto",children:l.map(a=>(0,d.jsxs)("div",{className:"p-3 rounded-lg border border-border/50 bg-surface",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-3 pb-2 border-b border-border/30",children:[(0,d.jsx)("div",{className:"w-7 h-7 rounded-full overflow-hidden flex items-center justify-center bg-surface",children:(0,d.jsx)(k.default,{src:"/providers/antigravity.png",alt:"Antigravity",width:28,height:28,className:"w-7 h-7 object-contain"})}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-text-main truncate",children:a.name||a.email||"Unknown Account"}),(0,d.jsx)("p",{className:"text-[10px] text-text-muted",children:a.quota?.plan||"Free Tier"})]})]}),a.quota?.quotas&&Object.keys(a.quota.quotas).length>0?(0,d.jsx)("div",{className:"space-y-3",children:Object.entries(a.quota.quotas).map(([a,b])=>(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:`w-2 h-2 rounded-full ${q(b.remainingPercentage)}`}),(0,d.jsx)("span",{className:"text-xs font-medium text-text-main",children:b.displayName||a})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:[b.used.toLocaleString()," / ",b.total.toLocaleString()]}),(0,d.jsxs)("span",{className:`text-[10px] font-medium ${b.remainingPercentage>80?"text-green-500":b.remainingPercentage>50?"text-yellow-500":"text-orange-500"}`,children:[b.remainingPercentage,"%"]})]})]}),(0,d.jsx)("div",{className:"relative h-1.5 bg-black/5 dark:bg-white/5 rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:`absolute left-0 top-0 h-full rounded-full transition-all duration-500 ${q(b.remainingPercentage)}`,style:{width:`${b.remainingPercentage}%`}})}),b.resetAt&&(0,d.jsxs)("div",{className:"flex items-center justify-between text-[10px] text-text-muted",children:[(0,d.jsxs)("span",{children:["Resets ",(a=>{if(!a)return"";let b=new Date(a)-new Date;if(b<=0)return"Resetting soon";let c=Math.floor(b/36e5),d=Math.floor(c/24);return d>0?`in ${d}d ${c%24}h`:`in ${c}h ${Math.floor(b%36e5/6e4)}m`})(b.resetAt)]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:new Date(b.resetAt).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]})]},a))}):(0,d.jsx)("div",{className:"py-2 text-center",children:(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"No quota data available"})}),a.quotaError&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded text-xs bg-yellow-500/10 text-yellow-600 mt-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"warning"}),(0,d.jsx)("span",{children:a.quotaError})]})]},a.id))})]}),b&&!a&&(0,d.jsx)("div",{className:"mt-4 pt-4 border-t border-border",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded text-xs bg-text-muted/10 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"info"}),(0,d.jsx)("span",{children:"Start MITM Server to check quota information"})]})})]})}let o=["antigravity","copilot"];function p(){let[a,b]=(0,e.useState)([]),[c,i]=(0,e.useState)([]),[k,p]=(0,e.useState)({}),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1}),[w,x]=(0,e.useState)([]),y=()=>a.filter(a=>!1!==a.isActive),z=Object.entries(f).filter(([a])=>o.includes(a));return(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(j,{apiKeys:c,cloudEnabled:q,onStatusChange:v,onModelsLoaded:x}),(0,d.jsx)("div",{className:"mt-6",children:(0,d.jsx)(n,{serverRunning:u.running})})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[z.map(([a,b])=>(0,d.jsx)(l,{tool:b,isExpanded:s===a,onToggle:()=>t(s===a?null:a),serverRunning:u.running,dnsActive:u.dnsStatus?.[a]||!1,hasCachedPassword:u.hasCachedPassword||!1,apiKeys:c,activeProviders:y(),hasActiveProviders:y().some(a=>(0,g.KC)(a.provider).length>0||(0,h.mq)(a.provider)||(0,h.gb)(a.provider)),modelAliases:k,cloudEnabled:q,loadedModels:w,onDnsChange:a=>v(b=>({...b,dnsStatus:a.dnsStatus??b.dnsStatus}))},a)),(0,d.jsx)(m,{})]})]})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,216,194,471,138,330,182,17,900],()=>b(b.s=30404));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/bytes/index.js","../../../../../node_modules/next/dist/compiled/bytes/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/dist/shared/lib/size-limit.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/138.js","../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/bytes/index.js","../../../../../node_modules/next/dist/compiled/bytes/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/dist/shared/lib/size-limit.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/138.js","../../../chunks/17.js","../../../chunks/182.js","../../../chunks/194.js","../../../chunks/216.js","../../../chunks/330.js","../../../chunks/341.js","../../../chunks/471.js","../../../chunks/741.js","../../../chunks/844.js","../../../chunks/900.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|