aigetwey 1.4.7 → 1.4.8
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/CHANGELOG.md +38 -0
- package/README.md +46 -25
- package/dashboard/.next/standalone/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/.next/build-manifest.json +3 -3
- package/dashboard/.next/standalone/.next/server/app/(console)/combos/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/combos/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/config/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/config/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/console/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/console/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/endpoint/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/endpoint/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/keys/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/keys/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/providers/[id]/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/providers/[id]/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/providers/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/providers/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/quota/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/quota/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/tools/[id]/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/tools/[id]/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/tools/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/tools/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/usage/page.js.nft.json +1 -1
- package/dashboard/.next/standalone/.next/server/app/(console)/usage/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/combos.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/combos.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/combos.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/combos.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/combos.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/combos.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/combos.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/config.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/config.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/config.segments/!KGNvbnNvbGUp/config/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/config.segments/!KGNvbnNvbGUp/config.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/config.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/config.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/config.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/config.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/config.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/console.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/console.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/console.segments/!KGNvbnNvbGUp/console/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/console.segments/!KGNvbnNvbGUp/console.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/console.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/console.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/console.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/console.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/console.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/endpoint.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/endpoint.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/endpoint.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/index.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/index.segments/!KGNvbnNvbGUp/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/index.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/keys.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/keys.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/keys.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/keys.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/keys.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/keys.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/keys.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/.next/server/app/login.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/login.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/providers.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/providers.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/providers.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/providers.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/providers.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/providers.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/quota.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/quota.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/quota.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/quota.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/quota.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/quota.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/quota.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/tools.html +1 -1
- package/dashboard/.next/standalone/.next/server/app/tools.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/tools.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
- package/dashboard/.next/standalone/.next/server/app/tools.segments/_full.segment.rsc +5 -5
- package/dashboard/.next/standalone/.next/server/app/tools.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/.next/server/app/tools.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/app/tools.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/.next/server/chunks/[root-of-the-server]__0das32e._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/_0g1n0z2._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/_1jt-_lv._.js +3 -0
- package/dashboard/.next/standalone/.next/server/chunks/ssr/src_13mfqac._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/src_components_0dgasfb._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/src_components_1z4akp5._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/src_components_ProviderDetail_tsx_06sxu0r._.js +1 -1
- package/dashboard/.next/standalone/.next/server/chunks/ssr/src_components_ProviderManager_tsx_09d2dzw._.js +1 -1
- package/dashboard/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/dashboard/.next/standalone/.next/server/pages/404.html +1 -1
- package/dashboard/.next/standalone/.next/server/pages/500.html +1 -1
- package/dashboard/.next/standalone/.next/static/chunks/{1o3ruivohs5gd.js → 0a2dpmmnxcati.js} +1 -1
- package/dashboard/.next/standalone/.next/static/chunks/{0zdns9uijk264.js → 0v6gyc7bvg8qn.js} +1 -1
- package/dashboard/.next/standalone/.next/static/chunks/0x7oom3qi0g1v.js +1 -0
- package/dashboard/.next/standalone/.next/static/chunks/{16g5ijkdzzgmk.js → 1b8cxegje1-0s.js} +1 -1
- package/dashboard/.next/standalone/.next/static/chunks/1gz48b5ucrqx3.css +3 -0
- package/dashboard/.next/standalone/.next/static/chunks/28vuqx9hjn8z7.js +1 -0
- package/dashboard/.next/standalone/.next/static/chunks/2ppfeqv-8bdjp.js +1 -0
- package/dashboard/.next/standalone/.next/static/chunks/{29u15x0h3zg8t.js → 3cwf_8nn90yl2.js} +1 -1
- package/dist/cli/tray/trayWin.js +67 -0
- package/dist/cli/tray/trayWin.js.map +1 -0
- package/dist/config.js +38 -4
- package/dist/config.js.map +1 -1
- package/dist/core/embeddings.js +156 -0
- package/dist/core/embeddings.js.map +1 -0
- package/dist/providers/capabilities.js +1 -1
- package/dist/providers/capabilities.js.map +1 -1
- package/dist/routes/admin.js +28 -1
- package/dist/routes/admin.js.map +1 -1
- package/dist/routes/v1.js +54 -0
- package/dist/routes/v1.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/tray/trayWin.ts +85 -0
- package/src/config.ts +51 -5
- package/src/core/embeddings.ts +194 -0
- package/src/providers/capabilities.ts +1 -1
- package/src/routes/admin.ts +32 -0
- package/src/routes/v1.ts +45 -0
- package/dashboard/.next/standalone/.next/server/chunks/ssr/_0p90gyy._.js +0 -3
- package/dashboard/.next/standalone/.next/static/chunks/08-n5lb85_j1a.css +0 -3
- package/dashboard/.next/standalone/.next/static/chunks/0anfgqf1k-eo4.js +0 -1
- package/dashboard/.next/standalone/.next/static/chunks/0qzv-tyyzo7kl.js +0 -1
- package/dashboard/.next/standalone/.next/static/chunks/3mauivz8vrva9.js +0 -1
- /package/dashboard/.next/standalone/.next/static/{SYmUHnzWs5TL-n0AY-k0m → 4LgzWtISJ5Fy5C7TcKCJm}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/.next/static/{SYmUHnzWs5TL-n0AY-k0m → 4LgzWtISJ5Fy5C7TcKCJm}/_clientMiddlewareManifest.js +0 -0
- /package/dashboard/.next/standalone/.next/static/{SYmUHnzWs5TL-n0AY-k0m → 4LgzWtISJ5Fy5C7TcKCJm}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
|
|
2
|
-
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7ea1d0f9-module__6GV5LG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7ea1d0f9-module__6GV5LG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:var(--font-inter), -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", Menlo, monospace;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0f0f0e;--color-bg-alt:#141413;--color-surface:#1a1a18;--color-surface-2:#222220;--color-surface-3:#2c2c29;--color-sidebar:#131312;--color-border:#2a2a27;--color-border-subtle:#1f1f1d;--color-text:#ededec;--color-text-muted:#8d8d86;--color-text-subtle:#5c5c56;--color-accent:#cbe85a;--color-accent-hover:#d6f06a;--color-accent-ink:#14140f;--color-accent-soft:#3a3f1c;--color-success:#7dd87f;--color-warning:#e8c55a;--color-danger:#e8806a;--color-info:#7fb0e8;--radius-brand:12px;--radius-brand-lg:16px;--shadow-soft:0 1px 2px 0 #0006;--shadow-warm:0 4px 16px -4px #cbe85a2e}@supports (color:lab(0% 0 0)){:root,:host{--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-5{right:calc(var(--spacing) * 5)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[3px\]{height:3px}.h-\[18px\]{height:18px}.h-\[55vh\]{height:55vh}.h-\[200px\]{height:200px}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-full{height:100%}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[280px\]{max-height:280px}.max-h-\[400px\]{max-height:400px}.min-h-\[34px\]{min-height:34px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-48{width:calc(var(--spacing) * 48)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-\[180px\]{max-width:180px}.max-w-\[280px\]{max-width:280px}.max-w-\[360px\]{max-width:360px}.max-w-\[480px\]{max-width:480px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-\[720px\]{min-width:720px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5\.5{--tw-translate-x:calc(var(--spacing) * 5.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[14px\]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[slideIn_0\.2s_ease\]{animation:.2s slideIn}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[7rem_1fr\]{grid-template-columns:7rem 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-subtle>:not(:last-child)){border-color:var(--color-border-subtle)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[5px\]{border-radius:5px}.rounded-brand{border-radius:var(--radius-brand)}.rounded-brand-lg{border-radius:var(--radius-brand-lg)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:var(--color-accent)}.border-accent\/40{border-color:#cbe85a66}@supports (color:color-mix(in lab, red, red)){.border-accent\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-border{border-color:var(--color-border)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-danger\/30{border-color:#e8806a4d}@supports (color:color-mix(in lab, red, red)){.border-danger\/30{border-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.border-danger\/35{border-color:#e8806a59}@supports (color:color-mix(in lab, red, red)){.border-danger\/35{border-color:color-mix(in oklab, var(--color-danger) 35%, transparent)}}.border-danger\/40{border-color:#e8806a66}@supports (color:color-mix(in lab, red, red)){.border-danger\/40{border-color:color-mix(in oklab, var(--color-danger) 40%, transparent)}}.border-info\/30{border-color:#7fb0e84d}@supports (color:color-mix(in lab, red, red)){.border-info\/30{border-color:color-mix(in oklab, var(--color-info) 30%, transparent)}}.border-success\/30{border-color:#7dd87f4d}@supports (color:color-mix(in lab, red, red)){.border-success\/30{border-color:color-mix(in oklab, var(--color-success) 30%, transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:#e8c55a4d}@supports (color:color-mix(in lab, red, red)){.border-warning\/30{border-color:color-mix(in oklab, var(--color-warning) 30%, transparent)}}.border-warning\/40{border-color:#e8c55a66}@supports (color:color-mix(in lab, red, red)){.border-warning\/40{border-color:color-mix(in oklab, var(--color-warning) 40%, transparent)}}.bg-\[\#0a0a09\]{background-color:#0a0a09}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-accent-soft\/40{background-color:#3a3f1c66}@supports (color:color-mix(in lab, red, red)){.bg-accent-soft\/40{background-color:color-mix(in oklab, var(--color-accent-soft) 40%, transparent)}}.bg-accent\/10{background-color:#cbe85a1a}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/12{background-color:#cbe85a1f}@supports (color:color-mix(in lab, red, red)){.bg-accent\/12{background-color:color-mix(in oklab, var(--color-accent) 12%, transparent)}}.bg-accent\/15{background-color:#cbe85a26}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/5{background-color:color-mix(in oklab, var(--color-amber-500) 5%, transparent)}}.bg-bg{background-color:var(--color-bg)}.bg-bg-alt{background-color:var(--color-bg-alt)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border-subtle{background-color:var(--color-border-subtle)}.bg-danger{background-color:var(--color-danger)}.bg-danger\/5{background-color:#e8806a0d}@supports (color:color-mix(in lab, red, red)){.bg-danger\/5{background-color:color-mix(in oklab, var(--color-danger) 5%, transparent)}}.bg-danger\/8{background-color:#e8806a14}@supports (color:color-mix(in lab, red, red)){.bg-danger\/8{background-color:color-mix(in oklab, var(--color-danger) 8%, transparent)}}.bg-danger\/10{background-color:#e8806a1a}@supports (color:color-mix(in lab, red, red)){.bg-danger\/10{background-color:color-mix(in oklab, var(--color-danger) 10%, transparent)}}.bg-danger\/12{background-color:#e8806a1f}@supports (color:color-mix(in lab, red, red)){.bg-danger\/12{background-color:color-mix(in oklab, var(--color-danger) 12%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-info\/10{background-color:#7fb0e81a}@supports (color:color-mix(in lab, red, red)){.bg-info\/10{background-color:color-mix(in oklab, var(--color-info) 10%, transparent)}}.bg-info\/12{background-color:#7fb0e81f}@supports (color:color-mix(in lab, red, red)){.bg-info\/12{background-color:color-mix(in oklab, var(--color-info) 12%, transparent)}}.bg-success\/10{background-color:#7dd87f1a}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-success\/12{background-color:#7dd87f1f}@supports (color:color-mix(in lab, red, red)){.bg-success\/12{background-color:color-mix(in oklab, var(--color-success) 12%, transparent)}}.bg-success\/15{background-color:#7dd87f26}@supports (color:color-mix(in lab, red, red)){.bg-success\/15{background-color:color-mix(in oklab, var(--color-success) 15%, transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-2\/40{background-color:#22222066}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/40{background-color:color-mix(in oklab, var(--color-surface-2) 40%, transparent)}}.bg-surface-2\/60{background-color:#22222099}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/60{background-color:color-mix(in oklab, var(--color-surface-2) 60%, transparent)}}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-muted{background-color:var(--color-text-muted)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning\/8{background-color:#e8c55a14}@supports (color:color-mix(in lab, red, red)){.bg-warning\/8{background-color:color-mix(in oklab, var(--color-warning) 8%, transparent)}}.bg-warning\/10{background-color:#e8c55a1a}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-warning\/12{background-color:#e8c55a1f}@supports (color:color-mix(in lab, red, red)){.bg-warning\/12{background-color:color-mix(in oklab, var(--color-warning) 12%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.\!px-2\.5{padding-inline:calc(var(--spacing) * 2.5)!important}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.\!py-1{padding-block:var(--spacing)!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:var(--spacing)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-\[22px\]{padding-left:22px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:var(--font-mono)}.\!text-\[11\.5px\]{font-size:11.5px!important}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-accent-ink{color:var(--color-accent-ink)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/60{color:#fcbb0099}@supports (color:color-mix(in lab, red, red)){.text-amber-400\/60{color:color-mix(in oklab, var(--color-amber-400) 60%, transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-danger{color:var(--color-danger)}.text-emerald-400{color:var(--color-emerald-400)}.text-info{color:var(--color-info)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-muted{color:var(--color-text-muted)}.text-text-subtle{color:var(--color-text-subtle)}.text-text-subtle\/70{color:#5c5c56b3}@supports (color:color-mix(in lab, red, red)){.text-text-subtle\/70{color:color-mix(in oklab, var(--color-text-subtle) 70%, transparent)}}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-amber-300\/50{text-decoration-color:#ffd23680}@supports (color:color-mix(in lab, red, red)){.decoration-amber-300\/50{-webkit-text-decoration-color:color-mix(in oklab, var(--color-amber-300) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-amber-300) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-amber-300) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--color-amber-300) 50%, transparent)}}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-elevated{--tw-shadow:0 16px 40px -8px var(--tw-shadow-color,#0000008c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-soft{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-warm{--tw-shadow:0 4px 16px -4px var(--tw-shadow-color,#cbe85a2e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *),.group-open\/p\:rotate-180:is(:where(.group\/p):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:animate-\[flash_0\.3s_ease-out\]:is(:where(.group):hover *){animation:.3s ease-out flash}.group-hover\:bg-text-subtle:is(:where(.group):hover *){background-color:var(--color-text-subtle)}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}.group-hover\:text-text:is(:where(.group):hover *){color:var(--color-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-text-subtle::placeholder{color:var(--color-text-subtle)}.placeholder\:text-text-subtle\/60::placeholder{color:#5c5c5699}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-text-subtle\/60::placeholder{color:color-mix(in oklab, var(--color-text-subtle) 60%, transparent)}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:animate-\[shake_0\.4s_ease-in-out\]:hover{animation:.4s ease-in-out shake}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-border:hover{border-color:var(--color-border)}.hover\:border-danger\/40:hover{border-color:#e8806a66}@supports (color:color-mix(in lab, red, red)){.hover\:border-danger\/40:hover{border-color:color-mix(in oklab, var(--color-danger) 40%, transparent)}}.hover\:border-danger\/50:hover{border-color:#e8806a80}@supports (color:color-mix(in lab, red, red)){.hover\:border-danger\/50:hover{border-color:color-mix(in oklab, var(--color-danger) 50%, transparent)}}.hover\:border-danger\/60:hover{border-color:#e8806a99}@supports (color:color-mix(in lab, red, red)){.hover\:border-danger\/60:hover{border-color:color-mix(in oklab, var(--color-danger) 60%, transparent)}}.hover\:border-text-subtle:hover{border-color:var(--color-text-subtle)}.hover\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\:bg-accent-soft:hover{background-color:var(--color-accent-soft)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-bg:hover{background-color:var(--color-bg)}.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:bg-surface-2\/70:hover{background-color:#222220b3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/70:hover{background-color:color-mix(in oklab, var(--color-surface-2) 70%, transparent)}}.hover\:bg-warning\/20:hover{background-color:#e8c55a33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/20:hover{background-color:color-mix(in oklab, var(--color-warning) 20%, transparent)}}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-amber-400:hover{color:var(--color-amber-400)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-text:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-amber-300:hover{-webkit-text-decoration-color:var(--color-amber-300);-webkit-text-decoration-color:var(--color-amber-300);-webkit-text-decoration-color:var(--color-amber-300);text-decoration-color:var(--color-amber-300)}.hover\:opacity-100:hover{opacity:1}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:border-border:disabled:hover{border-color:var(--color-border)}.disabled\:hover\:text-text-muted:disabled:hover{color:var(--color-text-muted)}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-10{padding:calc(var(--spacing) * 10)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}*{box-sizing:border-box}html.light{--color-bg:#fafaf9;--color-bg-alt:#f5f5f3;--color-surface:#fff;--color-surface-2:#f0f0ee;--color-surface-3:#e8e8e5;--color-sidebar:#f7f7f6;--color-border:#e0e0dc;--color-border-subtle:#eaeae7;--color-text:#1a1a18;--color-text-muted:#6b6b65;--color-text-subtle:#9b9b94;--color-accent:#6b8f20;--color-accent-hover:#7ba025;--color-accent-ink:#fff;--color-accent-soft:#eef5d8;--shadow-soft:0 1px 3px 0 #00000014;--shadow-warm:0 4px 16px -4px #6b8f201f;--shadow-elevated:0 16px 40px -8px #0000001f}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;font-size:20px;line-height:1}.tnum{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px}.dark select option{background-color:var(--color-surface);color:var(--color-text)}html.light select option{color:#1a1a18;background-color:#fff}html.light .rail-icon-active{color:#fff;background:#1a1a18}html.light .rail-icon-active:hover{color:#fff;background:#333330}.lamp{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.lamp-live{background:var(--color-success);box-shadow:0 0 6px 1px #7dd87f99}@supports (color:color-mix(in lab, red, red)){.lamp-live{box-shadow:0 0 6px 1px color-mix(in srgb, var(--color-success) 60%, transparent)}}.lamp-idle{background:var(--color-text-subtle)}.lamp-down{background:var(--color-danger);box-shadow:0 0 6px 1px #e8806a99}@supports (color:color-mix(in lab, red, red)){.lamp-down{box-shadow:0 0 6px 1px color-mix(in srgb, var(--color-danger) 60%, transparent)}}.lamp-down{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.lamp-down{animation:none}}.console-grid{min-height:100vh;padding-left:108px}.console-rail{z-index:30;background:var(--color-sidebar);border:1px solid var(--color-border-subtle);width:76px;box-shadow:var(--shadow-soft);border-radius:24px;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 0;display:flex;position:fixed;top:50%;left:32px;transform:translateY(-50%)}.rail-divider{background:var(--color-border);flex:none;width:26px;height:1px;margin:.2rem 0 .4rem}.console-col{flex-direction:column;min-width:0;display:flex}.console-topbar{z-index:20;background:var(--color-bg);align-items:center;gap:1rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.console-main{zoom:1.06;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:2rem 3rem 4rem}.rail-icon{background:var(--color-surface);width:42px;height:42px;color:var(--color-text-subtle);border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex;position:relative}.rail-icon:hover{color:var(--color-text);background:var(--color-surface-3)}.rail-icon-active{color:var(--color-bg);background:var(--color-text)}.rail-icon-active:hover{color:var(--color-bg);background:#fff}.rail-brand{background:var(--color-accent);width:42px;height:42px;color:var(--color-accent-ink);box-shadow:var(--shadow-warm);border-radius:13px;flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.rail-icon[data-label]:after{content:attr(data-label);white-space:nowrap;background:var(--color-surface-3);color:var(--color-text);opacity:0;pointer-events:none;z-index:40;box-shadow:var(--shadow-soft);border-radius:7px;padding:4px 9px;font-size:12px;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.rail-icon:hover[data-label]:after{opacity:1}.kpi{background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;display:flex}.kpi-k{color:var(--color-text-subtle)}.kpi-v{color:var(--color-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (max-width:760px){.console-grid{grid-template-columns:72px 1fr}.console-main{padding:1.25rem 1.1rem 3rem}.console-topbar{padding:0 1rem}}.table-wrap{overflow-x:auto}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}label:has(>input[type=checkbox]:not(:disabled)){cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:#cbe85a4d}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}input[type=range].range-accent{appearance:none;background:var(--color-surface-2);border-radius:9999px;outline:none;height:6px}input[type=range].range-accent::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border:2px solid var(--color-surface);width:16px;height:16px;box-shadow:0 0 0 1px var(--color-accent), 0 0 8px #cbe85a8c;border-radius:9999px}@supports (color:color-mix(in lab, red, red)){input[type=range].range-accent::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 8px color-mix(in srgb, var(--color-accent) 55%, transparent)}}input[type=range].range-accent::-webkit-slider-thumb{cursor:pointer;transition:box-shadow .15s}input[type=range].range-accent:hover::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 12px #cbe85ad9}@supports (color:color-mix(in lab, red, red)){input[type=range].range-accent:hover::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 12px color-mix(in srgb, var(--color-accent) 85%, transparent)}}input[type=range].range-accent:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 12px #cbe85ad9}@supports (color:color-mix(in lab, red, red)){input[type=range].range-accent:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 12px color-mix(in srgb, var(--color-accent) 85%, transparent)}}input[type=range].range-accent::-moz-range-track{background:var(--color-surface-2);border-radius:9999px;height:6px}input[type=range].range-accent::-moz-range-progress{background:var(--color-accent);border-radius:9999px;height:6px}input[type=range].range-accent::-moz-range-thumb{border:2px solid var(--color-surface);background:var(--color-accent);width:16px;height:16px;box-shadow:0 0 0 1px var(--color-accent), 0 0 8px #cbe85a8c;border-radius:9999px}@supports (color:color-mix(in lab, red, red)){input[type=range].range-accent::-moz-range-thumb{box-shadow:0 0 0 1px var(--color-accent), 0 0 8px color-mix(in srgb, var(--color-accent) 55%, transparent)}}input[type=range].range-accent::-moz-range-thumb{cursor:pointer}@keyframes shake{0%,to{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}@keyframes flash{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.8)}to{opacity:0;transform:scale(2.2)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10007,e=>{"use strict";var t=e.i(43476),n=e.i(71645);let r={primary:"bg-accent text-accent-ink shadow-warm hover:bg-accent-hover border border-transparent font-semibold",ghost:"bg-transparent text-text-muted border border-border hover:text-text hover:border-text-subtle",danger:"bg-transparent text-text-muted border border-border hover:text-danger hover:border-danger/50"};e.s(["Button",0,function({variant:e="primary",className:n,...o}){return(0,t.jsx)("button",{className:`inline-flex items-center justify-center gap-1.5 rounded-brand px-3.5 py-2 text-[13px] font-medium transition-colors duration-150 cursor-pointer disabled:opacity-45 disabled:cursor-not-allowed ${r[e]}${n?` ${n}`:""}`,...o})},"Field",0,function({label:e,hint:n,children:r}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-text-subtle",children:[e,n&&(0,t.jsxs)("span",{className:"ml-1.5 lowercase tracking-normal text-text-subtle/70",children:["· ",n]})]}),r]})},"Input",0,function({className:e,...n}){return(0,t.jsx)("input",{className:`w-full rounded-brand border border-border bg-bg px-3 py-2 text-[13px] text-text placeholder:text-text-subtle focus:border-accent focus:outline-none transition-colors${e?` ${e}`:""}`,...n})},"Select",0,function({className:e,value:r,onChange:o,children:s,...a}){let[i,l]=(0,n.useState)(!1),d=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!i)return;let e=e=>{d.current&&!d.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[i]);let c=[];n.Children.forEach(s,e=>{(0,n.isValidElement)(e)&&"option"===e.type&&c.push({value:String(e.props.value??""),label:"string"==typeof e.props.children?e.props.children:String(e.props.value??"")})});let u=c.find(e=>e.value===String(r??"")),p=u?.label??"";return(0,t.jsxs)("div",{className:`relative${e?` ${e}`:""}`,ref:d,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>l(e=>!e),className:"flex w-full items-center justify-between rounded-brand border border-border bg-bg px-3 py-2 text-left text-[13px] text-text transition-colors focus:border-accent focus:outline-none",children:[(0,t.jsx)("span",{className:"truncate",children:p}),(0,t.jsx)("svg",{className:`ml-2 h-4 w-4 shrink-0 text-text-subtle transition-transform ${i?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),i&&(0,t.jsx)("div",{className:"absolute left-0 right-0 top-full z-50 mt-1 overflow-hidden rounded-brand border border-border bg-surface shadow-lg",children:c.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>{o?.({target:{value:e.value}}),l(!1)},className:`flex w-full items-center gap-2 px-3 py-2 text-left text-[12.5px] transition-colors ${e.value===String(r??"")?"bg-accent/10 text-accent":"text-text-muted hover:bg-surface-2 hover:text-text"}`,children:e.label},e.value))})]})}])},29481,e=>{"use strict";async function t(e,t,n){let r;try{r=await fetch(`/api/gw${t}`,{method:e,headers:void 0!==n?{"content-type":"application/json"}:{},body:void 0!==n?JSON.stringify(n):void 0})}catch(e){return{ok:!1,status:0,data:null,error:e.message}}let o=await r.text(),s=null;try{s=o?JSON.parse(o):null}catch{s=null}if(!r.ok){let e=s?.error??`request failed (${r.status})`;return{ok:!1,status:r.status,data:s,error:e}}return{ok:!0,status:r.status,data:s}}async function n(e,t,n){let r;try{r=await fetch(t,{method:e,headers:void 0!==n?{"content-type":"application/json"}:{},body:void 0!==n?JSON.stringify(n):void 0})}catch(e){return{ok:!1,status:0,data:null,error:e.message}}let o=await r.text(),s=o?JSON.parse(o):null;if(!r.ok){let e=s?.error??`request failed (${r.status})`;return{ok:!1,status:r.status,data:s,error:e}}return{ok:!0,status:r.status,data:s}}e.s(["account",0,{changePassword:(e,t)=>n("POST","/api/password",{current:e,next:t})},"adminApi",0,{providers:()=>t("GET","/admin/providers"),budgets:()=>t("GET","/admin/budgets"),models:()=>t("GET","/admin/models"),keys:()=>t("GET","/admin/keys"),keysUsage:()=>t("GET","/admin/keys/usage"),setBudget:e=>t("PUT","/admin/budgets",e),clearBudget:e=>t("DELETE",`/admin/budgets/${encodeURIComponent(e)}`),addProvider:e=>t("POST","/admin/providers",e),editProvider:(e,n)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}`,n),renameProvider:(e,n)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/rename`,{id:n}),removeProvider:e=>t("DELETE",`/admin/providers/${encodeURIComponent(e)}`),addKey:(e,n,r)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/keys`,{key:n,name:r}),editKey:(e,n,r)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/keys/${n}`,r),removeKey:(e,n)=>t("DELETE",`/admin/providers/${encodeURIComponent(e)}/keys/${n}`),revealKey:(e,n)=>t("GET",`/admin/providers/${encodeURIComponent(e)}/keys/${n}/reveal`),addModel:(e,n,r)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/models`,{model:n,...r}),addModels:(e,n)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/models`,{models:n}),removeModel:(e,n)=>t("DELETE",`/admin/providers/${encodeURIComponent(e)}/models?model=${encodeURIComponent(n)}`),clearModels:e=>t("DELETE",`/admin/providers/${encodeURIComponent(e)}/models`),pricing:()=>t("GET","/admin/pricing"),setModelPrice:(e,n,r)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/models/price`,{model:n,...r}),testProvider:e=>t("POST",`/admin/providers/${encodeURIComponent(e)}/test`),testKey:(e,n)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/keys/${n}/test`),checkKey:(e,n)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/keys/check`,{key:n}),testModel:(e,n)=>t("POST",`/admin/providers/${encodeURIComponent(e)}/models/test?model=${encodeURIComponent(n)}`),validateProvider:e=>t("POST","/admin/providers/validate",e),discoverModels:e=>t("POST",`/admin/providers/${encodeURIComponent(e)}/connect`),reorderProvider:(e,n)=>t("PUT","/admin/providers/reorder",{from:e,to:n}),reorderKey:(e,n,r)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/keys/reorder`,{from:n,to:r}),toggleKey:(e,n,r)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/keys/${n}/toggle`,{enabled:r}),setProviderStrategy:(e,n,r)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/strategy`,{strategy:n,sticky:r}),setProviderDisabled:(e,n)=>t("PUT",`/admin/providers/${encodeURIComponent(e)}/disabled`,{disabled:n}),setRoute:(e,n)=>t("PUT",`/admin/routes/${encodeURIComponent(e)}`,n),removeRoute:e=>t("DELETE",`/admin/routes/${encodeURIComponent(e)}`),endpoint:()=>t("GET","/admin/endpoint"),setRtk:e=>t("PUT","/admin/endpoint/rtk",{enabled:e}),setCaveman:e=>t("PUT","/admin/endpoint/caveman",{level:e}),setPonytail:e=>t("PUT","/admin/endpoint/ponytail",{level:e}),addServerKey:(e,n)=>t("POST","/admin/endpoint/keys",{key:e,name:n}),editServerKey:(e,n)=>t("PUT",`/admin/endpoint/keys/${e}`,{name:n}),setServerKeyScope:(e,n)=>t("PUT",`/admin/endpoint/keys/${e}/scope`,n),removeServerKey:e=>t("DELETE",`/admin/endpoint/keys/${e}`),revealServerKey:e=>t("GET",`/admin/endpoint/keys/${e}/reveal`),setHeadroom:e=>t("PUT","/admin/endpoint/headroom",e),headroomStatus:()=>t("GET","/admin/headroom/status"),headroomStart:()=>t("POST","/admin/headroom/start"),headroomStop:()=>t("POST","/admin/headroom/stop"),putConfig:e=>t("PUT","/admin/config",{text:e}),version:()=>t("GET","/admin/version"),shutdown:()=>t("POST","/admin/shutdown")},"cliConfig",0,{status:e=>n("GET",`/api/cli-detect/${encodeURIComponent(e)}`),apply:(e,t)=>n("POST",`/api/cli-detect/${encodeURIComponent(e)}`,t),reset:e=>n("DELETE",`/api/cli-detect/${encodeURIComponent(e)}`)}])},18566,(e,t,n)=>{t.exports=e.r(76562)},13135,e=>{"use strict";var t=e.i(43476),n=e.i(10007),r=e.i(51514);e.s(["ConfirmModal",0,function({title:e,message:o,confirmLabel:s="Delete",onConfirm:a,onCancel:i,busy:l}){return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-6",onClick:i,children:(0,t.jsxs)("div",{className:"w-full max-w-sm rounded-brand-lg border border-border bg-surface p-5 shadow-elevated",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-danger/10 text-danger",children:(0,t.jsx)(r.Icon,{name:"warning",size:16})}),(0,t.jsx)("h2",{className:"text-[15px] font-semibold text-text",children:e})]}),(0,t.jsx)("p",{className:"mb-4 text-[12.5px] text-text-muted",children:o}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(n.Button,{variant:"ghost",onClick:i,children:"Cancel"}),(0,t.jsx)(n.Button,{variant:"danger",disabled:l,onClick:a,children:s})]})]})})}])},95057,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return i},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let s=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",i=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:n&&(d=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||a.test(r))&&!1!==d?(d="//"+(d||""),o&&"/"!==o[0]&&(o="/"+o)):d||(d=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${d}${o}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return i(e)}},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(71645);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=s(e,r)),t&&(o.current=s(t,r))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return s}});let r=e.r(18967),o=e.r(52817);function s(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},84508,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return b},useLinkStatus:function(){return v}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let s=e.r(90809),a=e.r(43476),i=s._(e.r(71645)),l=e.r(95057),d=e.r(8372),c=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let m=e.r(88540),x=e.r(91949),f=e.r(73668),h=e.r(9396);function b(t){var n,r;let o,s,b,[v,y]=(0,i.useOptimistic)(x.IDLE_LINK_STATUS),j=(0,i.useRef)(null),{href:w,as:k,children:T,prefetch:C=null,passHref:S,replace:P,shallow:N,scroll:U,onClick:$,onMouseEnter:E,onTouchStart:R,legacyBehavior:I=!1,onNavigate:O,transitionTypes:_,ref:L,unstable_dynamicOnHover:M,...A}=t;o=T,I&&("string"==typeof o||"number"==typeof o)&&(o=(0,a.jsx)("a",{children:o}));let K=i.default.useContext(d.AppRouterContext),B=!1!==C,z=!1!==C?null===(r=C)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,D="string"==typeof(n=k||w)?n:(0,l.formatUrl)(n);if(I){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=i.default.Children.only(o)}let G=I?s&&"object"==typeof s&&s.ref:L,F=i.default.useCallback(e=>(null!==K&&(j.current=(0,x.mountLinkInstance)(e,D,K,z,B,y)),()=>{j.current&&((0,x.unmountLinkForCurrentNavigation)(j.current),j.current=null),(0,x.unmountPrefetchableInstance)(e)}),[B,D,K,z,y]),W={ref:(0,c.useMergedRef)(F,G),onClick(t){I||"function"!=typeof $||$(t),I&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!K||t.defaultPrevented||function(t,n,r,o,s,a,l){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);i.default.startTransition(()=>{u(n,o?"replace":"push",!1===s?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,r.current,l)})}}(t,D,j,P,U,O,_)},onMouseEnter(e){I||"function"!=typeof E||E(e),I&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),K&&B&&(0,x.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){I||"function"!=typeof R||R(e),I&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),K&&B&&(0,x.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,u.isAbsoluteUrl)(D)?W.href=D:I&&!S&&("a"!==s.type||"href"in s.props)||(W.href=(0,p.addBasePath)(D)),b=I?i.default.cloneElement(s,W):(0,a.jsx)("a",{...A,...W,children:o}),(0,a.jsx)(g.Provider,{value:v,children:b})}e.r(84508);let g=(0,i.createContext)(x.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(g);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},94434,e=>{"use strict";var t=e.i(43476),n=e.i(22016),r=e.i(18566),o=e.i(51514);let s=[{href:"/",label:"Endpoint",icon:"api"},{href:"/keys",label:"Access Keys",icon:"key"},{href:"/providers",label:"Providers",icon:"dns"},{href:"/combos",label:"Combos",icon:"layers"},{href:"/usage",label:"Usage",icon:"bar_chart"},{href:"/quota",label:"Budgets",icon:"data_usage"},{href:"/tools",label:"CLI Tools",icon:"terminal"}],a=[{href:"/console",label:"Server Console",icon:"receipt_long"},{href:"/config",label:"Settings",icon:"settings"}];e.s(["Rail",0,function(){let e=(0,r.usePathname)(),i=(0,r.useRouter)();async function l(){await fetch("/api/logout",{method:"POST"}),i.replace("/login"),i.refresh()}let d=r=>{let s,a="/"===(s=r.href)?"/"===e||e.startsWith("/endpoint"):e===s||e.startsWith(`${s}/`);return(0,t.jsx)(n.default,{href:r.href,"data-label":r.label,className:`rail-icon${a?" rail-icon-active":""}`,"aria-label":r.label,children:(0,t.jsx)(o.Icon,{name:r.icon,size:20,fill:a})},r.href)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.default,{href:"/",className:"rail-brand","aria-label":"aigetwey",children:(0,t.jsxs)("svg",{viewBox:"0 0 512 512",width:"26",height:"26","aria-hidden":!0,children:[(0,t.jsx)("text",{x:"120",y:"338",fontFamily:"ui-sans-serif, Arial, sans-serif",fontSize:"260",fontWeight:"800",textAnchor:"middle",fill:"#14140f",children:"a"}),(0,t.jsxs)("g",{fill:"none",stroke:"#14140f",strokeWidth:"34",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("polyline",{points:"276,182 352,256 276,330"}),(0,t.jsx)("polyline",{points:"346,182 422,256 346,330"})]})]})}),(0,t.jsxs)("nav",{className:"flex flex-col items-center gap-3",children:[s.map(d),(0,t.jsx)("div",{className:"rail-divider"}),a.map(d)]}),(0,t.jsx)("button",{onClick:l,"data-label":"Disconnect",className:"rail-icon","aria-label":"Disconnect",children:(0,t.jsx)(o.Icon,{name:"logout",size:19})})]})}])},18993,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(18566),o=e.i(51514),s=e.i(59919),a=e.i(13135),i=e.i(29481);let l={"":"Endpoint",endpoint:"Endpoint",keys:"Access Keys",providers:"Providers",combos:"Combos",usage:"Usage",quota:"Budgets",tools:"CLI Tools",console:"Server Console",config:"Settings"},d="npm i -g aigetwey@latest --prefer-online";function c({current:e,latest:r,onClose:s,onShutdown:a}){let[i,l]=(0,n.useState)(!1);function u(){navigator.clipboard.writeText(d).then(()=>{l(!0),setTimeout(()=>l(!1),2e3)})}return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-6",onClick:s,children:(0,t.jsxs)("div",{className:"w-full max-w-sm rounded-brand-lg border border-border bg-surface p-5 shadow-elevated",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-9 w-9 flex-none items-center justify-center rounded-full bg-warning/10 text-warning",children:(0,t.jsx)(o.Icon,{name:"arrow_upward",size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-[14px] font-semibold text-text",children:"Update available"}),(0,t.jsxs)("p",{className:"text-[12px] text-text-muted",children:["v",e," → ",(0,t.jsxs)("span",{className:"text-warning font-medium",children:["v",r]})]})]})]}),(0,t.jsx)("button",{onClick:s,className:"text-text-subtle hover:text-text",children:(0,t.jsx)(o.Icon,{name:"close",size:17})})]}),(0,t.jsx)("p",{className:"mb-3 text-[12.5px] text-text-muted",children:"Run this command in your terminal to update:"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-brand border border-border bg-bg px-3 py-2",children:[(0,t.jsx)("code",{className:"flex-1 text-[12px] text-text",children:d}),(0,t.jsx)("button",{onClick:u,className:"flex-none text-text-subtle transition-colors hover:text-text",title:"Copy command",children:(0,t.jsx)(o.Icon,{name:i?"check":"content_copy",size:14})})]}),(0,t.jsx)("p",{className:"mt-3 text-[11.5px] text-text-subtle",children:"Shut down the gateway first, then run the command above, then restart."}),(0,t.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,t.jsxs)("button",{onClick:()=>{u(),a()},className:"flex flex-1 items-center justify-center gap-1.5 rounded-brand border border-warning/30 bg-warning/10 px-3 py-2 text-[12.5px] font-medium text-warning transition-colors hover:bg-warning/20",children:[(0,t.jsx)(o.Icon,{name:"content_copy",size:14}),"Copy & Shut down"]}),(0,t.jsx)("button",{onClick:s,className:"rounded-brand border border-border px-3 py-2 text-[12.5px] text-text-muted transition-colors hover:text-text",children:"Later"})]})]})})}e.s(["TopBar",0,function(){let e=(0,r.usePathname)(),{theme:u,toggle:p}=(0,s.useTheme)(),m="/"===e?"":e.split("/")[1]??"",x=l[m]??m,[f,h]=(0,n.useState)(null),[b,g]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),[j,w]=(0,n.useState)(!1),[k,T]=(0,n.useState)(!1);async function C(){T(!0),await i.adminApi.shutdown(),w(!0),y(!1),g(!1),T(!1)}return(0,n.useEffect)(()=>{i.adminApi.version().then(e=>{e.ok&&e.data&&h(e.data)})},[]),(0,t.jsxs)("header",{className:"console-topbar",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[13px]",children:[(0,t.jsx)("span",{className:"text-text-subtle",children:"aigetwey"}),(0,t.jsx)("span",{className:"text-text-subtle",children:"/"}),(0,t.jsx)("span",{className:"font-medium text-text",children:x})]}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2.5",children:[f&&(f.updateAvailable?(0,t.jsxs)("button",{onClick:()=>g(!0),className:"flex items-center gap-1.5 rounded-full border border-warning/30 bg-warning/10 px-2.5 py-1 text-[11px] font-medium text-warning transition-colors hover:bg-warning/20",children:[(0,t.jsx)(o.Icon,{name:"arrow_upward",size:12}),"v",f.current," → ",f.latest]}):(0,t.jsxs)("span",{className:"text-[11px] text-text-subtle",title:"You're on the latest version",children:["v",f.current]})),(0,t.jsxs)("button",{onClick:p,className:`group relative flex h-8 w-8 items-center justify-center rounded-full text-text-subtle transition-colors hover:text-text ${"dark"===u?"hover:animate-[shake_0.4s_ease-in-out]":""}`,"aria-label":"Toggle theme",title:"dark"===u?"FLASHBANG OUT!":"Switch to dark mode",children:["dark"===u&&(0,t.jsx)("span",{className:"pointer-events-none absolute inset-0 rounded-full opacity-0 group-hover:animate-[flash_0.3s_ease-out] group-hover:opacity-100 bg-white/80"}),"dark"===u?(0,t.jsxs)("svg",{viewBox:"0 -1 24 24",className:"h-[18px] w-[18px]",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9.5",y:"3.5",width:"5",height:"3.5",rx:"1"}),(0,t.jsx)("path",{d:"M12 3.5V2.5"}),(0,t.jsx)("path",{d:"M10.5 3.5c0-1 3-1 3 0"}),(0,t.jsx)("circle",{cx:"14.5",cy:"2.8",r:"0.8"}),(0,t.jsx)("rect",{x:"8.5",y:"7",width:"7",height:"10.5",rx:"1.5"}),(0,t.jsx)("line",{x1:"8.5",y1:"12.25",x2:"15.5",y2:"12.25"}),(0,t.jsx)("line",{x1:"6.5",y1:"12.25",x2:"4.5",y2:"12.25"}),(0,t.jsx)("line",{x1:"17.5",y1:"12.25",x2:"19.5",y2:"12.25"}),(0,t.jsx)("line",{x1:"6.8",y1:"9.8",x2:"5.2",y2:"8.8"}),(0,t.jsx)("line",{x1:"17.2",y1:"9.8",x2:"18.8",y2:"8.8"}),(0,t.jsx)("line",{x1:"6.8",y1:"14.7",x2:"5.2",y2:"15.7"}),(0,t.jsx)("line",{x1:"17.2",y1:"14.7",x2:"18.8",y2:"15.7"})]}):(0,t.jsx)(o.Icon,{name:"dark_mode",size:18})]}),(0,t.jsx)("button",{onClick:()=>y(!0),className:"flex h-8 w-8 items-center justify-center rounded-full text-text-subtle transition-colors hover:text-danger","aria-label":"Shut down gateway",title:"Shut down the gateway",children:(0,t.jsx)(o.Icon,{name:"power_settings_new",size:18})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-border bg-surface py-1 pl-1 pr-3",children:[(0,t.jsx)("span",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-accent",children:(0,t.jsxs)("svg",{viewBox:"0 0 512 512",className:"h-4 w-4",children:[(0,t.jsx)("text",{x:"135",y:"360",fontFamily:"ui-sans-serif, Inter, Arial, sans-serif",fontSize:"320",fontWeight:"800",textAnchor:"middle",fill:"#0f0f0e",children:"a"}),(0,t.jsxs)("g",{fill:"none",stroke:"#0f0f0e",strokeWidth:"38",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("polyline",{points:"280,170 370,256 280,342"}),(0,t.jsx)("polyline",{points:"355,170 445,256 355,342"})]})]})}),(0,t.jsx)("span",{className:"text-[12px] font-medium text-text-muted",children:"aigetwey"})]})]}),b&&f?.updateAvailable&&(0,t.jsx)(c,{current:f.current,latest:f.latest,onClose:()=>g(!1),onShutdown:C}),v&&(0,t.jsx)(a.ConfirmModal,{title:"Shut down gateway?",message:"The gateway process will stop and all requests will fail until you restart it. The dashboard stays up but can't reach the gateway.",confirmLabel:"Shut down",busy:k,onConfirm:C,onCancel:()=>y(!1)}),j&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-6",children:(0,t.jsxs)("div",{className:"w-full max-w-sm rounded-brand-lg border border-border bg-surface p-5 text-center shadow-elevated",children:[(0,t.jsx)("span",{className:"mx-auto mb-2 flex h-9 w-9 items-center justify-center rounded-full bg-danger/10 text-danger",children:(0,t.jsx)(o.Icon,{name:"power_settings_new",size:20})}),(0,t.jsx)("h2",{className:"text-[15px] font-semibold text-text",children:"Gateway stopped"}),(0,t.jsxs)("p",{className:"mt-1 text-[12.5px] text-text-muted",children:["Run ",(0,t.jsx)("code",{className:"rounded bg-surface-2 px-1",children:d})," then restart with ",(0,t.jsx)("code",{className:"rounded bg-surface-2 px-1",children:"aigetwey"}),"."]})]})})]})}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70757,e=>{"use strict";let t;var n,r,l,i,a,o,s,u,d,c,h,f,p,g,b,m,v,x,y,w=e.i(43476),D=e.i(71645),C=e.i(22016),j=e.i(74080);let E="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function S(e){let t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function k(e){return"nodeType"in e}function M(e){var t,n;return e?S(e)?e:k(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function R(e){let{Document:t}=M(e);return e instanceof t}function N(e){return!S(e)&&e instanceof M(e).HTMLElement}function I(e){return e instanceof M(e).SVGElement}function T(e){return e?S(e)?e.document:k(e)?R(e)?e:N(e)||I(e)?e.ownerDocument:document:document:document}let A=E?D.useLayoutEffect:D.useEffect;function O(e){let t=(0,D.useRef)(e);return A(()=>{t.current=e}),(0,D.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function L(e,t){void 0===t&&(t=[e]);let n=(0,D.useRef)(e);return A(()=>{n.current!==e&&(n.current=e)},t),n}function P(e,t){let n=(0,D.useRef)();return(0,D.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function B(e){let t=O(e),n=(0,D.useRef)(null),r=(0,D.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function z(e){let t=(0,D.useRef)();return(0,D.useEffect)(()=>{t.current=e},[e]),t.current}let F={};function U(e,t){return(0,D.useMemo)(()=>{if(t)return t;let n=null==F[e]?0:F[e]+1;return F[e]=n,e+"-"+n},[e,t])}function _(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),l=1;l<n;l++)r[l-1]=arguments[l];return r.reduce((t,n)=>{for(let[r,l]of Object.entries(n)){let n=t[r];null!=n&&(t[r]=n+e*l)}return t},{...t})}}let K=_(1),X=_(-1);function Y(e){if(!e)return!1;let{KeyboardEvent:t}=M(e.target);return t&&e instanceof t}function W(e){if(function(e){if(!e)return!1;let{TouchEvent:t}=M(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return"clientX"in e&&"clientY"in e?{x:e.clientX,y:e.clientY}:null}let H=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[H.Translate.toString(e),H.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),$="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",q={display:"none"};function J(e){let{id:t,value:n}=e;return D.default.createElement("div",{id:t,style:q},n)}function V(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return D.default.createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}let G=(0,D.createContext)(null),Q={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},Z={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function ee(e){var t;let n,{announcements:r=Z,container:l,hiddenTextDescribedById:i,screenReaderInstructions:a=Q}=e,{announce:o,announcement:s}=function(){let[e,t]=(0,D.useState)("");return{announce:(0,D.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),u=U("DndLiveRegion"),[d,c]=(0,D.useState)(!1);if((0,D.useEffect)(()=>{c(!0)},[]),t=(0,D.useMemo)(()=>({onDragStart(e){let{active:t}=e;o(r.onDragStart({active:t}))},onDragMove(e){let{active:t,over:n}=e;r.onDragMove&&o(r.onDragMove({active:t,over:n}))},onDragOver(e){let{active:t,over:n}=e;o(r.onDragOver({active:t,over:n}))},onDragEnd(e){let{active:t,over:n}=e;o(r.onDragEnd({active:t,over:n}))},onDragCancel(e){let{active:t,over:n}=e;o(r.onDragCancel({active:t,over:n}))}}),[o,r]),n=(0,D.useContext)(G),(0,D.useEffect)(()=>{if(!n)throw Error("useDndMonitor must be used within a children of <DndContext>");return n(t)},[t,n]),!d)return null;let h=D.default.createElement(D.default.Fragment,null,D.default.createElement(J,{id:i,value:a.draggable}),D.default.createElement(V,{id:u,announcement:s}));return l?(0,j.createPortal)(h,l):h}function et(){}(n=c||(c={})).DragStart="dragStart",n.DragMove="dragMove",n.DragEnd="dragEnd",n.DragCancel="dragCancel",n.DragOver="dragOver",n.RegisterDroppable="registerDroppable",n.SetDroppableDisabled="setDroppableDisabled",n.UnregisterDroppable="unregisterDroppable";let en=Object.freeze({x:0,y:0});function er(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function el(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function ei(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}let ea=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,l=ei(t,t.left,t.top),i=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){var a;let n=(a=ei(r),Math.sqrt(Math.pow(a.x-l.x,2)+Math.pow(a.y-l.y,2)));i.push({id:t,data:{droppableContainer:e,value:n}})}}return i.sort(er)},eo=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,l=[];for(let e of r){let{id:r}=e,i=n.get(r);if(i){let n=function(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),l=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height);if(r<l&&n<i){let a=t.width*t.height,o=e.width*e.height,s=(l-r)*(i-n);return Number((s/(a+o-s)).toFixed(4))}return 0}(i,t);n>0&&l.push({id:r,data:{droppableContainer:e,value:n}})}}return l.sort(el)};function es(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:en}let eu=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((e,t)=>({...e,top:e.top+ +t.y,bottom:e.bottom+ +t.y,left:e.left+ +t.x,right:e.right+ +t.x}),{...e})},ed={ignoreTransform:!1};function ec(e,t){void 0===t&&(t=ed);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=M(e).getComputedStyle(e);t&&(n=function(e,t,n){let r=function(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;let{scaleX:l,scaleY:i,x:a,y:o}=r,s=e.left-a-(1-l)*parseFloat(n),u=e.top-o-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),d=l?e.width/l:e.width,c=i?e.height/i:e.height;return{width:d,height:c,top:u,right:s+d,bottom:u+c,left:s}}(n,t,r))}let{top:r,left:l,width:i,height:a,bottom:o,right:s}=n;return{top:r,left:l,width:i,height:a,bottom:o,right:s}}function eh(e){return ec(e,{ignoreTransform:!0})}function ef(e,t){let n=[];return e?function r(l){var i,a;let o;if(null!=t&&n.length>=t||!l)return n;if(R(l)&&null!=l.scrollingElement&&!n.includes(l.scrollingElement))return n.push(l.scrollingElement),n;if(!N(l)||I(l)||n.includes(l))return n;let s=M(e).getComputedStyle(l);return(l!==e&&(void 0===(i=s)&&(i=M(l).getComputedStyle(l)),o=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(e=>{let t=i[e];return"string"==typeof t&&o.test(t)}))&&n.push(l),void 0===(a=s)&&(a=M(l).getComputedStyle(l)),"fixed"===a.position)?n:r(l.parentNode)}(e):n}function ep(e){let[t]=ef(e,1);return null!=t?t:null}function eg(e){return E&&e?S(e)?e:k(e)?R(e)||e===T(e).scrollingElement?window:N(e)?e:null:null:null}function eb(e){return S(e)?e.scrollX:e.scrollLeft}function em(e){return S(e)?e.scrollY:e.scrollTop}function ev(e){return{x:eb(e),y:em(e)}}function ex(e){return!!E&&!!e&&e===document.scrollingElement}function ey(e){let t={x:0,y:0},n=ex(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},l=e.scrollTop<=t.y,i=e.scrollLeft<=t.x;return{isTop:l,isLeft:i,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}(r=h||(h={}))[r.Forward=1]="Forward",r[r.Backward=-1]="Backward";let ew={x:.2,y:.2};function eD(e){return e.reduce((e,t)=>K(e,ev(t)),en)}let eC=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+eb(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+em(t),0)}]];class ej{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=ef(t),r=eD(n);for(const[t,l,i]of(this.rect={...e},this.width=e.width,this.height=e.height,eC))for(const e of l)Object.defineProperty(this,e,{get:()=>{let l=i(n),a=r[t]-l;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class eE{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function eS(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}function ek(e){e.preventDefault()}function eM(e){e.stopPropagation()}(l=f||(f={})).Click="click",l.DragStart="dragstart",l.Keydown="keydown",l.ContextMenu="contextmenu",l.Resize="resize",l.SelectionChange="selectionchange",l.VisibilityChange="visibilitychange",(i=p||(p={})).Space="Space",i.Down="ArrowDown",i.Right="ArrowRight",i.Left="ArrowLeft",i.Up="ArrowUp",i.Esc="Escape",i.Enter="Enter",i.Tab="Tab";let eR={start:[p.Space,p.Enter],cancel:[p.Esc],end:[p.Space,p.Enter,p.Tab]},eN=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case p.Right:return{...n,x:n.x+25};case p.Left:return{...n,x:n.x-25};case p.Down:return{...n,y:n.y+25};case p.Up:return{...n,y:n.y-25}}};class eI{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new eE(T(t)),this.windowListeners=new eE(M(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(f.Resize,this.handleCancel),this.windowListeners.add(f.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(f.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=ec),!e)return;let{top:n,left:r,bottom:l,right:i}=t(e);ep(e)&&(l<=0||i<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(en)}handleKeyDown(e){if(Y(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:l=eR,coordinateGetter:i=eN,scrollBehavior:a="smooth"}=r,{code:o}=e;if(l.end.includes(o))return void this.handleEnd(e);if(l.cancel.includes(o))return void this.handleCancel(e);let{collisionRect:s}=n.current,u=s?{x:s.left,y:s.top}:en;this.referenceCoordinates||(this.referenceCoordinates=u);let d=i(e,{active:t,context:n.current,currentCoordinates:u});if(d){let t=X(d,u),r={x:0,y:0},{scrollableAncestors:l}=n.current;for(let n of l){let l=e.code,{isTop:i,isRight:o,isLeft:s,isBottom:u,maxScroll:c,minScroll:h}=ey(n),f=function(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:l}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:l,width:e.clientWidth,height:e.clientHeight}}(n),g={x:Math.min(l===p.Right?f.right-f.width/2:f.right,Math.max(l===p.Right?f.left:f.left+f.width/2,d.x)),y:Math.min(l===p.Down?f.bottom-f.height/2:f.bottom,Math.max(l===p.Down?f.top:f.top+f.height/2,d.y))},b=l===p.Right&&!o||l===p.Left&&!s,m=l===p.Down&&!u||l===p.Up&&!i;if(b&&g.x!==d.x){let e=n.scrollLeft+t.x,i=l===p.Right&&e<=c.x||l===p.Left&&e>=h.x;if(i&&!t.y)return void n.scrollTo({left:e,behavior:a});i?r.x=n.scrollLeft-e:r.x=l===p.Right?n.scrollLeft-c.x:n.scrollLeft-h.x,r.x&&n.scrollBy({left:-r.x,behavior:a});break}if(m&&g.y!==d.y){let e=n.scrollTop+t.y,i=l===p.Down&&e<=c.y||l===p.Up&&e>=h.y;if(i&&!t.x)return void n.scrollTo({top:e,behavior:a});i?r.y=n.scrollTop-e:r.y=l===p.Down?n.scrollTop-c.y:n.scrollTop-h.y,r.y&&n.scrollBy({top:-r.y,behavior:a});break}}this.handleMove(e,K(X(d,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function eT(e){return!!(e&&"distance"in e)}function eA(e){return!!(e&&"delay"in e)}eI.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=eR,onActivation:l}=t,{active:i}=n,{code:a}=e.nativeEvent;if(r.start.includes(a)){let t=i.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==l||l({event:e.nativeEvent}),!0)}return!1}}];class eO{constructor(e,t,n){var r;void 0===n&&(n=function(e){let{EventTarget:t}=M(e);return e instanceof t?e:T(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:l}=e,{target:i}=l;this.props=e,this.events=t,this.document=T(i),this.documentListeners=new eE(this.document),this.listeners=new eE(n),this.windowListeners=new eE(M(i)),this.initialCoordinates=null!=(r=W(l))?r:en,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(f.Resize,this.handleCancel),this.windowListeners.add(f.DragStart,ek),this.windowListeners.add(f.VisibilityChange,this.handleCancel),this.windowListeners.add(f.ContextMenu,ek),this.documentListeners.add(f.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(eA(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(eT(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(f.Click,eM,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(f.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;let{activated:n,initialCoordinates:r,props:l}=this,{onMove:i,options:{activationConstraint:a}}=l;if(!r)return;let o=null!=(t=W(e))?t:en,s=X(r,o);if(!n&&a){if(eT(a)){if(null!=a.tolerance&&eS(s,a.tolerance))return this.handleCancel();if(eS(s,a.distance))return this.handleStart()}return eA(a)&&eS(s,a.tolerance)?this.handleCancel():void this.handlePending(a,s)}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===p.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}let eL={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class eP extends eO{constructor(e){const{event:t}=e;super(e,eL,T(t.target))}}eP.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!!n.isPrimary&&0===n.button&&(null==r||r({event:n}),!0)}}];(a=g||(g={}))[a.RightClick=2]="RightClick";(o=b||(b={}))[o.Pointer=0]="Pointer",o[o.DraggableRect=1]="DraggableRect",(s=m||(m={}))[s.TreeOrder=0]="TreeOrder",s[s.ReversedTreeOrder=1]="ReversedTreeOrder";let eB={x:{[h.Backward]:!1,[h.Forward]:!1},y:{[h.Backward]:!1,[h.Forward]:!1}};(u=v||(v={}))[u.Always=0]="Always",u[u.BeforeDragging=1]="BeforeDragging",u[u.WhileDragging=2]="WhileDragging",(x||(x={})).Optimized="optimized";let ez=new Map;function eF(e,t){return P(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function eU(e){let{callback:t,disabled:n}=e,r=O(t),l=(0,D.useMemo)(()=>{if(n||"u"<typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,D.useEffect)(()=>()=>null==l?void 0:l.disconnect(),[l]),l}function e_(e){return new ej(ec(e),e)}function eK(e,t,n){void 0===t&&(t=e_);let[r,l]=(0,D.useState)(null);function i(){l(r=>{if(!e)return null;if(!1===e.isConnected){var l;return null!=(l=null!=r?r:n)?l:null}let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let a=function(e){let{callback:t,disabled:n}=e,r=O(t),l=(0,D.useMemo)(()=>{if(n||"u"<typeof window||void 0===window.MutationObserver)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,D.useEffect)(()=>()=>null==l?void 0:l.disconnect(),[l]),l}({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),o=eU({callback:i});return A(()=>{i(),e?(null==o||o.observe(e),null==a||a.observe(document.body,{childList:!0,subtree:!0})):(null==o||o.disconnect(),null==a||a.disconnect())},[e]),r}let eX=[];function eY(e,t){void 0===t&&(t=[]);let n=(0,D.useRef)(null);return(0,D.useEffect)(()=>{n.current=null},t),(0,D.useEffect)(()=>{let t=e!==en;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?X(e,n.current):en}function eW(e){return(0,D.useMemo)(()=>{let t,n;return e?(t=e.innerWidth,{top:0,left:0,right:t,bottom:n=e.innerHeight,width:t,height:n}):null},[e])}let eH=[],e$=[{sensor:eP,options:{}},{sensor:eI,options:{}}],eq={current:{}},eJ={draggable:{measure:eh},droppable:{measure:eh,strategy:v.WhileDragging,frequency:x.Optimized},dragOverlay:{measure:ec}};class eV extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}let eG={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new eV,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:et},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:eJ,measureDroppableContainers:et,windowRect:null,measuringScheduled:!1},eQ={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:et,draggableNodes:new Map,over:null,measureDroppableContainers:et},eZ=(0,D.createContext)(eQ),e0=(0,D.createContext)(eG);function e1(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new eV}}}function e2(e,t){switch(t.type){case c.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case c.DragMove:if(null==e.draggable.active)return e;return{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case c.DragEnd:case c.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case c.RegisterDroppable:{let{element:n}=t,{id:r}=n,l=new eV(e.droppable.containers);return l.set(r,n),{...e,droppable:{...e.droppable,containers:l}}}case c.SetDroppableDisabled:{let{id:n,key:r,disabled:l}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new eV(e.droppable.containers);return a.set(n,{...i,disabled:l}),{...e,droppable:{...e.droppable,containers:a}}}case c.UnregisterDroppable:{let{id:n,key:r}=t,l=e.droppable.containers.get(n);if(!l||r!==l.key)return e;let i=new eV(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function e5(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:l}=(0,D.useContext)(eZ),i=z(r),a=z(null==n?void 0:n.id);return(0,D.useEffect)(()=>{if(!t&&!r&&i&&null!=a){if(!Y(i)||document.activeElement===i.target)return;let e=l.get(a);if(!e)return;let{activatorNode:t,node:n}=e;(t.current||n.current)&&requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=e.matches($)?e:e.querySelector($);if(t){t.focus();break}}})}},[r,t,l,a,i]),null}let e4=(0,D.createContext)({...en,scaleX:1,scaleY:1});(d=y||(y={}))[d.Uninitialized=0]="Uninitialized",d[d.Initializing=1]="Initializing",d[d.Initialized=2]="Initialized";let e3=(0,D.memo)(function(e){var t,n,r,l,i,a,o,s;let u,d,f,p,g,x,w,C,{id:S,accessibility:k,autoScroll:R=!0,children:I,sensors:T=e$,collisionDetection:O=eo,measuring:F,modifiers:_,...X}=e,[Y,H]=(0,D.useReducer)(e2,void 0,e1),[$,q]=function(){let[e]=(0,D.useState)(()=>new Set),t=(0,D.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,D.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[J,V]=(0,D.useState)(y.Uninitialized),Q=J===y.Initialized,{draggable:{active:Z,nodes:et,translate:er},droppable:{containers:el}}=Y,ei=null!=Z?et.get(Z):null,ea=(0,D.useRef)({initial:null,translated:null}),ed=(0,D.useMemo)(()=>{var e;return null!=Z?{id:Z,data:null!=(e=null==ei?void 0:ei.data)?e:eq,rect:ea}:null},[Z,ei]),eh=(0,D.useRef)(null),[eb,em]=(0,D.useState)(null),[eC,eE]=(0,D.useState)(null),eS=L(X,Object.values(X)),ek=U("DndDescribedBy",S),eM=(0,D.useMemo)(()=>el.getEnabled(),[el]),eR=(0,D.useMemo)(()=>({draggable:{...eJ.draggable,...null==F?void 0:F.draggable},droppable:{...eJ.droppable,...null==F?void 0:F.droppable},dragOverlay:{...eJ.dragOverlay,...null==F?void 0:F.dragOverlay}}),[null==F?void 0:F.draggable,null==F?void 0:F.droppable,null==F?void 0:F.dragOverlay]),{droppableRects:eN,measureDroppableContainers:eI,measuringScheduled:eT}=function(e,t){let{dragging:n,dependencies:r,config:l}=t,[i,a]=(0,D.useState)(null),{frequency:o,measure:s,strategy:u}=l,d=(0,D.useRef)(e),c=function(){switch(u){case v.Always:return!1;case v.BeforeDragging:return n;default:return!n}}(),h=L(c),f=(0,D.useCallback)(function(e){void 0===e&&(e=[]),h.current||a(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[h]),p=(0,D.useRef)(null),g=P(t=>{if(c&&!n)return ez;if(!t||t===ez||d.current!==e||null!=i){let t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new ej(s(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,c,s]);return(0,D.useEffect)(()=>{d.current=e},[e]),(0,D.useEffect)(()=>{c||f()},[n,c]),(0,D.useEffect)(()=>{i&&i.length>0&&a(null)},[JSON.stringify(i)]),(0,D.useEffect)(()=>{c||"number"!=typeof o||null!==p.current||(p.current=setTimeout(()=>{f(),p.current=null},o))},[o,c,f,...r]),{droppableRects:g,measureDroppableContainers:f,measuringScheduled:null!=i}}(eM,{dragging:Q,dependencies:[er.x,er.y],config:eR.droppable}),eA=P(e=>{var t;return null==Z?null:null!=(t=null!=g?g:e)?t:null},[g=(p=null!=Z?et.get(Z):void 0)?p.node.current:null,Z]),eO=(0,D.useMemo)(()=>eC?W(eC):null,[eC]),eL=(u=(null==eb?void 0:eb.autoScrollEnabled)===!1,d="object"==typeof R?!1===R.enabled:!1===R,f=Q&&!u&&!d,"object"==typeof R?{...R,enabled:f}:{enabled:f}),eP=eF(eA,eR.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:l=!0}=e,i=(0,D.useRef)(!1),{x:a,y:o}="boolean"==typeof l?{x:l,y:l}:l;A(()=>{if(!a&&!o||!t){i.current=!1;return}if(i.current||!r)return;let e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;let l=es(n(e),r);if(a||(l.x=0),o||(l.y=0),i.current=!0,Math.abs(l.x)>0||Math.abs(l.y)>0){let t=ep(e);t&&t.scrollBy({top:l.y,left:l.x})}},[t,a,o,r,n])}({activeNode:null!=Z?et.get(Z):null,config:eL.layoutShiftCompensation,initialRect:eP,measure:eR.draggable.measure});let e_=eK(eA,eR.draggable.measure,eP),eV=eK(eA?eA.parentElement:null),eG=(0,D.useRef)({activatorEvent:null,active:null,activeNode:eA,collisionRect:null,collisions:null,droppableRects:eN,draggableNodes:et,draggingNode:null,draggingNodeRect:null,droppableContainers:el,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),eQ=el.getNodeFor(null==(t=eG.current.over)?void 0:t.id),e3=function(e){let{measure:t}=e,[n,r]=(0,D.useState)(null),l=eU({callback:(0,D.useCallback)(e=>{for(let{target:n}of e)if(N(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[i,a]=B((0,D.useCallback)(e=>{let n=function(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return N(t)?t:e}(e);null==l||l.disconnect(),n&&(null==l||l.observe(n)),r(n?t(n):null)},[t,l]));return(0,D.useMemo)(()=>({nodeRef:i,rect:n,setRef:a}),[n,i,a])}({measure:eR.dragOverlay.measure}),e7=null!=(n=e3.nodeRef.current)?n:eA,e8=Q?null!=(r=e3.rect)?r:e_:null,e6=!!(e3.nodeRef.current&&e3.rect),e9=(x=eF(i=e6?null:e_),es(i,x)),te=eW(e7?M(e7):null),tt=(a=Q?null!=eQ?eQ:eA:null,w=(0,D.useRef)(a),C=P(e=>a?e&&e!==eX&&a&&w.current&&a.parentNode===w.current.parentNode?e:ef(a):eX,[a]),(0,D.useEffect)(()=>{w.current=a},[a]),C),tn=function(e,t){void 0===t&&(t=ec);let[n]=e,r=eW(n?M(n):null),[l,i]=(0,D.useState)(eH);function a(){i(()=>e.length?e.map(e=>ex(e)?r:new ej(t(e),e)):eH)}let o=eU({callback:a});return A(()=>{null==o||o.disconnect(),a(),e.forEach(e=>null==o?void 0:o.observe(e))},[e]),l}(tt),tr=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(_,{transform:{x:er.x-e9.x,y:er.y-e9.y,scaleX:1,scaleY:1},activatorEvent:eC,active:ed,activeNodeRect:e_,containerNodeRect:eV,draggingNodeRect:e8,over:eG.current.over,overlayNodeRect:e3.rect,scrollableAncestors:tt,scrollableAncestorRects:tn,windowRect:te}),tl=eO?K(eO,er):null,ti=function(e){let[t,n]=(0,D.useState)(null),r=(0,D.useRef)(e),l=(0,D.useCallback)(e=>{let t=eg(e.target);t&&n(e=>e?(e.set(t,ev(t)),new Map(e)):null)},[]);return(0,D.useEffect)(()=>{let t=r.current;if(e!==t){i(t);let a=e.map(e=>{let t=eg(e);return t?(t.addEventListener("scroll",l,{passive:!0}),[t,ev(t)]):null}).filter(e=>null!=e);n(a.length?new Map(a):null),r.current=e}return()=>{i(e),i(t)};function i(e){e.forEach(e=>{let t=eg(e);null==t||t.removeEventListener("scroll",l)})}},[l,e]),(0,D.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>K(e,t),en):eD(e):en,[e,t])}(tt),ta=eY(ti),to=eY(ti,[e_]),ts=K(tr,ta),tu=e8?eu(e8,tr):null,td=ed&&tu?O({active:ed,collisionRect:tu,droppableRects:eN,droppableContainers:eM,pointerCoordinates:tl}):null,tc=function(e){if(!e||0===e.length)return null;let[t]=e;return t.id}(td),[th,tf]=(0,D.useState)(null),tp=(o=e6?tr:K(tr,to),s=null!=(l=null==th?void 0:th.rect)?l:null,{...o,scaleX:s&&e_?s.width/e_.width:1,scaleY:s&&e_?s.height/e_.height:1}),tg=(0,D.useRef)(null),tb=(0,D.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==eh.current)return;let l=et.get(eh.current);if(!l)return;let i=e.nativeEvent,a=new n({active:eh.current,activeNode:l,event:i,options:r,context:eG,onAbort(e){if(!et.get(e))return;let{onDragAbort:t}=eS.current,n={id:e};null==t||t(n),$({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!et.get(e))return;let{onDragPending:l}=eS.current,i={id:e,constraint:t,initialCoordinates:n,offset:r};null==l||l(i),$({type:"onDragPending",event:i})},onStart(e){let t=eh.current;if(null==t)return;let n=et.get(t);if(!n)return;let{onDragStart:r}=eS.current,l={activatorEvent:i,active:{id:t,data:n.data,rect:ea}};(0,j.unstable_batchedUpdates)(()=>{null==r||r(l),V(y.Initializing),H({type:c.DragStart,initialCoordinates:e,active:t}),$({type:"onDragStart",event:l}),em(tg.current),eE(i)})},onMove(e){H({type:c.DragMove,coordinates:e})},onEnd:o(c.DragEnd),onCancel:o(c.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:l}=eG.current,a=null;if(t&&l){let{cancelDrop:o}=eS.current;a={activatorEvent:i,active:t,collisions:n,delta:l,over:r},e===c.DragEnd&&"function"==typeof o&&await Promise.resolve(o(a))&&(e=c.DragCancel)}eh.current=null,(0,j.unstable_batchedUpdates)(()=>{H({type:e}),V(y.Uninitialized),tf(null),em(null),eE(null),tg.current=null;let t=e===c.DragEnd?"onDragEnd":"onDragCancel";if(a){let e=eS.current[t];null==e||e(a),$({type:t,event:a})}})}}tg.current=a},[et]),tm=(0,D.useCallback)((e,t)=>(n,r)=>{let l=n.nativeEvent,i=et.get(r);null!==eh.current||!i||l.dndKit||l.defaultPrevented||!0===e(n,t.options,{active:i})&&(l.dndKit={capturedBy:t.sensor},eh.current=r,tb(n,t))},[et,tb]),tv=(0,D.useMemo)(()=>T.reduce((e,t)=>{let{sensor:n}=t;return[...e,...n.activators.map(e=>({eventName:e.eventName,handler:tm(e.handler,t)}))]},[]),[T,tm]);(0,D.useEffect)(()=>{if(!E)return;let e=T.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(let t of e)null==t||t()}},T.map(e=>{let{sensor:t}=e;return t})),A(()=>{e_&&J===y.Initializing&&V(y.Initialized)},[e_,J]),(0,D.useEffect)(()=>{let{onDragMove:e}=eS.current,{active:t,activatorEvent:n,collisions:r,over:l}=eG.current;if(!t||!n)return;let i={active:t,activatorEvent:n,collisions:r,delta:{x:ts.x,y:ts.y},over:l};(0,j.unstable_batchedUpdates)(()=>{null==e||e(i),$({type:"onDragMove",event:i})})},[ts.x,ts.y]),(0,D.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:l}=eG.current;if(!e||null==eh.current||!t||!l)return;let{onDragOver:i}=eS.current,a=r.get(tc),o=a&&a.rect.current?{id:a.id,rect:a.rect.current,data:a.data,disabled:a.disabled}:null,s={active:e,activatorEvent:t,collisions:n,delta:{x:l.x,y:l.y},over:o};(0,j.unstable_batchedUpdates)(()=>{tf(o),null==i||i(s),$({type:"onDragOver",event:s})})},[tc]),A(()=>{eG.current={activatorEvent:eC,active:ed,activeNode:eA,collisionRect:tu,collisions:td,droppableRects:eN,draggableNodes:et,draggingNode:e7,draggingNodeRect:e8,droppableContainers:el,over:th,scrollableAncestors:tt,scrollAdjustedTranslate:ts},ea.current={initial:e8,translated:tu}},[ed,eA,td,tu,et,e7,e8,eN,el,th,tt,ts]),function(e){let t,{acceleration:n,activator:r=b.Pointer,canScroll:l,draggingRect:i,enabled:a,interval:o=5,order:s=m.TreeOrder,pointerCoordinates:u,scrollableAncestors:d,scrollableAncestorRects:c,delta:f,threshold:p}=e,g=function(e){let{delta:t,disabled:n}=e,r=z(t);return P(e=>{if(n||!r||!e)return eB;let l={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[h.Backward]:e.x[h.Backward]||-1===l.x,[h.Forward]:e.x[h.Forward]||1===l.x},y:{[h.Backward]:e.y[h.Backward]||-1===l.y,[h.Forward]:e.y[h.Forward]||1===l.y}}},[n,t,r])}({delta:f,disabled:!a}),[v,x]=(t=(0,D.useRef)(null),[(0,D.useCallback)((e,n)=>{t.current=setInterval(e,n)},[]),(0,D.useCallback)(()=>{null!==t.current&&(clearInterval(t.current),t.current=null)},[])]),y=(0,D.useRef)({x:0,y:0}),w=(0,D.useRef)({x:0,y:0}),C=(0,D.useMemo)(()=>{switch(r){case b.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case b.DraggableRect:return i}},[r,i,u]),j=(0,D.useRef)(null),E=(0,D.useCallback)(()=>{let e=j.current;if(!e)return;let t=y.current.x*w.current.x,n=y.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,D.useMemo)(()=>s===m.TreeOrder?[...d].reverse():d,[s,d]);(0,D.useEffect)(()=>{if(!a||!d.length||!C)return void x();for(let e of S){if((null==l?void 0:l(e))===!1)continue;let t=c[d.indexOf(e)];if(!t)continue;let{direction:r,speed:i}=function(e,t,n,r,l){let{top:i,left:a,right:o,bottom:s}=n;void 0===r&&(r=10),void 0===l&&(l=ew);let{isTop:u,isBottom:d,isLeft:c,isRight:f}=ey(e),p={x:0,y:0},g={x:0,y:0},b={height:t.height*l.y,width:t.width*l.x};return!u&&i<=t.top+b.height?(p.y=h.Backward,g.y=r*Math.abs((t.top+b.height-i)/b.height)):!d&&s>=t.bottom-b.height&&(p.y=h.Forward,g.y=r*Math.abs((t.bottom-b.height-s)/b.height)),!f&&o>=t.right-b.width?(p.x=h.Forward,g.x=r*Math.abs((t.right-b.width-o)/b.width)):!c&&a<=t.left+b.width&&(p.x=h.Backward,g.x=r*Math.abs((t.left+b.width-a)/b.width)),{direction:p,speed:g}}(e,t,C,n,p);for(let e of["x","y"])g[e][r[e]]||(i[e]=0,r[e]=0);if(i.x>0||i.y>0){x(),j.current=e,v(E,o),y.current=i,w.current=r;return}}y.current={x:0,y:0},w.current={x:0,y:0},x()},[n,E,l,x,a,o,JSON.stringify(C),JSON.stringify(g),v,d,S,c,JSON.stringify(p)])}({...eL,delta:er,draggingRect:tu,pointerCoordinates:tl,scrollableAncestors:tt,scrollableAncestorRects:tn});let tx=(0,D.useMemo)(()=>({active:ed,activeNode:eA,activeNodeRect:e_,activatorEvent:eC,collisions:td,containerNodeRect:eV,dragOverlay:e3,draggableNodes:et,droppableContainers:el,droppableRects:eN,over:th,measureDroppableContainers:eI,scrollableAncestors:tt,scrollableAncestorRects:tn,measuringConfiguration:eR,measuringScheduled:eT,windowRect:te}),[ed,eA,e_,eC,td,eV,e3,et,el,eN,th,eI,tt,tn,eR,eT,te]),ty=(0,D.useMemo)(()=>({activatorEvent:eC,activators:tv,active:ed,activeNodeRect:e_,ariaDescribedById:{draggable:ek},dispatch:H,draggableNodes:et,over:th,measureDroppableContainers:eI}),[eC,tv,ed,e_,H,ek,et,th,eI]);return D.default.createElement(G.Provider,{value:q},D.default.createElement(eZ.Provider,{value:ty},D.default.createElement(e0.Provider,{value:tx},D.default.createElement(e4.Provider,{value:tp},I)),D.default.createElement(e5,{disabled:(null==k?void 0:k.restoreFocus)===!1})),D.default.createElement(ee,{...k,hiddenTextDescribedById:ek}))}),e7=(0,D.createContext)(null),e8="button",e6={timeout:25},e9={position:"fixed",touchAction:"none"},te=e=>Y(e)?"transform 250ms ease":void 0;function tt(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function tn(e){return null!==e&&e>=0}(e,t)=>{let{as:n,activatorEvent:r,adjustScale:l,children:i,className:a,rect:o,style:s,transform:u,transition:d=te}=e;if(!o)return null;let c=l?u:{...u,scaleX:1,scaleY:1},h={...e9,width:o.width,height:o.height,top:o.top,left:o.left,transform:H.Transform.toString(c),transformOrigin:l&&r?function(e,t){let n=W(e);if(!n)return"0 0";let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}(r,o):void 0,transition:"function"==typeof d?d(r):d,...s};return D.default.createElement(n,{className:a,style:h,ref:t},i)},t={styles:{active:{opacity:"0"}}};let tr=e=>{let{rects:t,activeIndex:n,overIndex:r,index:l}=e,i=tt(t,r,n),a=t[l],o=i[l];return o&&a?{x:o.left-a.left,y:o.top-a.top,scaleX:o.width/a.width,scaleY:o.height/a.height}:null},tl="Sortable",ti=D.default.createContext({activeIndex:-1,containerId:tl,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:tr,disabled:{draggable:!1,droppable:!1}});function ta(e){let{children:t,id:n,items:r,strategy:l=tr,disabled:i=!1}=e,{active:a,dragOverlay:o,droppableRects:s,over:u,measureDroppableContainers:d}=(0,D.useContext)(e0),c=U(tl,n),h=null!==o.rect,f=(0,D.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),p=null!=a,g=a?f.indexOf(a.id):-1,b=u?f.indexOf(u.id):-1,m=(0,D.useRef)(f),v=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(f,m.current),x=-1!==b&&-1===g||v,y="boolean"==typeof i?{draggable:i,droppable:i}:i;A(()=>{v&&p&&d(f)},[v,f,p,d]),(0,D.useEffect)(()=>{m.current=f},[f]);let w=(0,D.useMemo)(()=>({activeIndex:g,containerId:c,disabled:y,disableTransforms:x,items:f,overIndex:b,useDragOverlay:h,sortedRects:f.reduce((e,t,n)=>{let r=s.get(t);return r&&(e[n]=r),e},Array(f.length)),strategy:l}),[g,c,y.draggable,y.droppable,x,f,b,s,h,l]);return D.default.createElement(ti.Provider,{value:w},t)}let to=e=>{let{id:t,items:n,activeIndex:r,overIndex:l}=e;return tt(n,r,l).indexOf(t)},ts=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:l,items:i,newIndex:a,previousItems:o,previousContainerId:s,transition:u}=e;return!!u&&!!r&&(o===i||l!==a)&&(!!n||a!==l&&t===s)},tu={duration:200,easing:"ease"},td="transform",tc=H.Transition.toString({property:td,duration:0,easing:"linear"}),th={roleDescription:"sortable"};p.Down,p.Right,p.Up,p.Left;var tf=e.i(29481),tp=e.i(49080),tg=e.i(81189),tb=e.i(98111),tm=e.i(10007),tv=e.i(51514),tx=e.i(38286);function ty({p:e,healthy:t,cooling:n,onDone:r}){let{attributes:l,listeners:i,setNodeRef:a,transform:o,transition:s,isDragging:u}=function(e){var t,n,r,l;let{animateLayoutChanges:i=ts,attributes:a,disabled:o,data:s,getNewIndex:u=to,id:d,strategy:h,resizeObserverConfig:f,transition:p=tu}=e,{items:g,containerId:b,activeIndex:m,disabled:v,disableTransforms:x,sortedRects:y,overIndex:w,useDragOverlay:C,strategy:j}=(0,D.useContext)(ti),E=(t=o,n=v,"boolean"==typeof t?{draggable:t,droppable:!1}:{draggable:null!=(r=null==t?void 0:t.draggable)?r:n.draggable,droppable:null!=(l=null==t?void 0:t.droppable)?l:n.droppable}),S=g.indexOf(d),k=(0,D.useMemo)(()=>({sortable:{containerId:b,index:S,items:g},...s}),[b,s,S,g]),M=(0,D.useMemo)(()=>g.slice(g.indexOf(d)),[g,d]),{rect:R,node:N,isOver:I,setNodeRef:T}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:l}=e,i=U("Droppable"),{active:a,dispatch:o,over:s,measureDroppableContainers:u}=(0,D.useContext)(eZ),d=(0,D.useRef)({disabled:n}),h=(0,D.useRef)(!1),f=(0,D.useRef)(null),p=(0,D.useRef)(null),{disabled:g,updateMeasurementsFor:b,timeout:m}={...e6,...l},v=L(null!=b?b:r),x=eU({callback:(0,D.useCallback)(()=>{if(!h.current){h.current=!0;return}null!=p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),p.current=null},m)},[m]),disabled:g||!a}),[y,w]=B((0,D.useCallback)((e,t)=>{x&&(t&&(x.unobserve(t),h.current=!1),e&&x.observe(e))},[x])),C=L(t);return(0,D.useEffect)(()=>{x&&y.current&&(x.disconnect(),h.current=!1,x.observe(y.current))},[y,x]),(0,D.useEffect)(()=>(o({type:c.RegisterDroppable,element:{id:r,key:i,disabled:n,node:y,rect:f,data:C}}),()=>o({type:c.UnregisterDroppable,key:i,id:r})),[r]),(0,D.useEffect)(()=>{n!==d.current.disabled&&(o({type:c.SetDroppableDisabled,id:r,key:i,disabled:n}),d.current.disabled=n)},[r,i,n,o]),{active:a,rect:f,isOver:(null==s?void 0:s.id)===r,node:y,over:s,setNodeRef:w}}({id:d,data:k,disabled:E.droppable,resizeObserverConfig:{updateMeasurementsFor:M,...f}}),{active:O,activatorEvent:P,activeNodeRect:z,attributes:F,setNodeRef:_,listeners:K,isDragging:X,over:W,setActivatorNodeRef:$,transform:q}=function(e){let{id:t,data:n,disabled:r=!1,attributes:l}=e,i=U("Draggable"),{activators:a,activatorEvent:o,active:s,activeNodeRect:u,ariaDescribedById:d,draggableNodes:c,over:h}=(0,D.useContext)(eZ),{role:f=e8,roleDescription:p="draggable",tabIndex:g=0}=null!=l?l:{},b=(null==s?void 0:s.id)===t,m=(0,D.useContext)(b?e4:e7),[v,x]=B(),[y,w]=B(),C=(0,D.useMemo)(()=>a.reduce((e,n)=>{let{eventName:r,handler:l}=n;return e[r]=e=>{l(e,t)},e},{}),[a,t]),j=L(n);return A(()=>(c.set(t,{id:t,key:i,node:v,activatorNode:y,data:j}),()=>{let e=c.get(t);e&&e.key===i&&c.delete(t)}),[c,t]),{active:s,activatorEvent:o,activeNodeRect:u,attributes:(0,D.useMemo)(()=>({role:f,tabIndex:g,"aria-disabled":r,"aria-pressed":!!b&&f===e8||void 0,"aria-roledescription":p,"aria-describedby":d.draggable}),[r,f,g,b,p,d.draggable]),isDragging:b,listeners:r?void 0:C,node:v,over:h,setNodeRef:x,setActivatorNodeRef:w,transform:m}}({id:d,data:k,attributes:{...th,...a},disabled:E.draggable}),J=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,D.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(T,_),V=!!O,G=V&&!x&&tn(m)&&tn(w),Q=!C&&X,Z=Q&&G?q:null,ee=G?null!=Z?Z:(null!=h?h:j)({rects:y,activeNodeRect:z,activeIndex:m,overIndex:w,index:S}):null,et=tn(m)&&tn(w)?u({id:d,items:g,activeIndex:m,overIndex:w}):S,en=null==O?void 0:O.id,er=(0,D.useRef)({activeId:en,items:g,newIndex:et,containerId:b}),el=g!==er.current.items,ei=i({active:O,containerId:b,isDragging:X,isSorting:V,id:d,index:S,items:g,newIndex:er.current.newIndex,previousItems:er.current.items,previousContainerId:er.current.containerId,transition:p,wasDragging:null!=er.current.activeId}),ea=function(e){let{disabled:t,index:n,node:r,rect:l}=e,[i,a]=(0,D.useState)(null),o=(0,D.useRef)(n);return A(()=>{if(!t&&n!==o.current&&r.current){let e=l.current;if(e){let t=ec(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&a(n)}}n!==o.current&&(o.current=n)},[t,n,r,l]),(0,D.useEffect)(()=>{i&&a(null)},[i]),i}({disabled:!ei,index:S,node:N,rect:R});return(0,D.useEffect)(()=>{V&&er.current.newIndex!==et&&(er.current.newIndex=et),b!==er.current.containerId&&(er.current.containerId=b),g!==er.current.items&&(er.current.items=g)},[V,et,b,g]),(0,D.useEffect)(()=>{if(en===er.current.activeId)return;if(null!=en&&null==er.current.activeId){er.current.activeId=en;return}let e=setTimeout(()=>{er.current.activeId=en},50);return()=>clearTimeout(e)},[en]),{active:O,activeIndex:m,attributes:F,data:k,rect:R,index:S,newIndex:et,items:g,isOver:I,isSorting:V,isDragging:X,listeners:K,node:N,overIndex:w,over:W,setNodeRef:J,setActivatorNodeRef:$,setDroppableNodeRef:T,setDraggableNodeRef:_,transform:null!=ea?ea:ee,transition:ea||el&&er.current.newIndex===S?tc:(!Q||Y(P))&&p&&(V||ei)?H.Transition.toString({...p,property:td}):void 0}}({id:e.id}),d={transform:H.Transform.toString(o),transition:s};return(0,w.jsxs)("div",{ref:a,style:d,className:`group relative rounded-brand-lg border bg-surface shadow-soft transition-colors ${u?"opacity-50 border-accent shadow-elevated z-10":""} ${e.disabled?"border-danger/35 opacity-60 hover:opacity-100 hover:border-danger/60":u?"":"border-border hover:border-text-subtle"}`,children:[(0,w.jsx)("div",{...l,...i,className:"absolute inset-x-0 top-0 flex h-5 cursor-grab items-center justify-center opacity-0 transition-opacity group-hover:opacity-100 active:cursor-grabbing",onClick:e=>e.preventDefault(),children:(0,w.jsx)("span",{className:"h-[3px] w-8 rounded-full bg-border-subtle transition-colors group-hover:bg-text-subtle"})}),(0,w.jsxs)(C.default,{href:`/providers/${encodeURIComponent(e.id)}`,className:"block px-5 py-6",draggable:!1,children:[(0,w.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,w.jsx)(tp.Lamp,{state:e.disabled?"down":t?"live":"down"}),(0,w.jsxs)("div",{className:"min-w-0",children:[(0,w.jsx)("span",{className:"block truncate text-[15px] font-semibold text-text",children:e.name||e.id}),e.name&&(0,w.jsxs)("span",{className:"block truncate text-[12px] text-text-subtle",children:[e.id,"/"]})]})]}),(0,w.jsx)(tg.FormatBadge,{format:e.format})]}),(0,w.jsx)("div",{className:"mt-3 truncate text-[13px] text-text-subtle",children:e.base_url}),(0,w.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[(0,w.jsx)(tw,{id:e.id,disabled:!!e.disabled,onDone:r}),e.free&&(0,w.jsx)(tg.Badge,{tone:"info",children:"no auth"}),e.service_account&&(0,w.jsx)(tg.Badge,{tone:"info",children:"service-account"}),(0,w.jsx)(tg.Badge,{tone:"neutral",children:e.free||e.service_account?`${e.api_keys?.length??0} keys`:`${e.api_keys?.length??+!!e.api_key} keys`}),(0,w.jsxs)(tg.Badge,{tone:"neutral",children:[e.models.length," models"]}),n&&(0,w.jsx)(tb.CooldownTimer,{ms:n.cooldown_ms})]})]})]})}function tw({id:e,disabled:t,onDone:n}){let[r,l]=(0,D.useState)(!1);return(0,w.jsx)("button",{type:"button",onClick:i=>{i.preventDefault(),i.stopPropagation(),r||(l(!0),tf.adminApi.setProviderDisabled(e,!t).then(()=>n()).finally(()=>l(!1)))},className:`inline-flex items-center gap-1.5 text-[11px] font-medium ${t?"text-danger":"text-text-muted"}`,"aria-label":t?"Enable provider":"Disable provider",title:t?"Provider disabled — click to enable":"Provider enabled — click to disable",children:(0,w.jsx)("span",{className:`relative h-4 w-7 rounded-full transition-colors ${t?"bg-danger":"bg-accent"} ${r?"opacity-60":""}`,children:(0,w.jsx)("span",{className:`absolute left-0.5 top-0.5 h-3 w-3 rounded-full bg-white transition-transform ${t?"translate-x-0":"translate-x-[14px]"}`})})})}let tD=[{id:"openai",label:"OpenAI compatible",sub:"/v1/chat/completions",icon:"bolt",format:"openai",base_url:"https://api.openai.com/v1",hint:"Base URL ending in /v1 for any OpenAI-compatible API.",modelHint:"e.g. gpt-4o, glm-5.2"},{id:"anthropic",label:"Anthropic compatible",sub:"/v1/messages",icon:"smart_toy",format:"anthropic",base_url:"https://api.anthropic.com",hint:"Base URL of an Anthropic-compatible API; /messages is appended.",modelHint:"e.g. claude-sonnet-4-6"}];function tC({onDone:e,onClose:t}){let[n,r]=(0,D.useState)(null),[l,i]=(0,D.useState)(""),[a,o]=(0,D.useState)(""),[s,u]=(0,D.useState)(""),[d,c]=(0,D.useState)(""),[h,f]=(0,D.useState)(!1),[p,g]=(0,D.useState)(""),[b,m]=(0,D.useState)(!1),[v,x]=(0,D.useState)(!1),[y,C]=(0,D.useState)(null),[j,E]=(0,D.useState)("");if(!n)return(0,w.jsxs)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:[(0,w.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("h2",{className:"text-[14px] font-semibold text-text",children:"Add a provider"}),(0,w.jsx)("p",{className:"mt-0.5 text-[12.5px] text-text-muted",children:"Pick the API your endpoint speaks — the rest is prefilled."})]}),(0,w.jsx)("button",{type:"button",onClick:t,className:"flex-none text-text-subtle hover:text-text","aria-label":"Cancel",children:(0,w.jsx)(tv.Icon,{name:"close",size:18})})]}),(0,w.jsx)("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:tD.map(e=>(0,w.jsxs)("button",{type:"button",onClick:()=>{r(e),u(e.base_url),C(null),E("")},className:"group flex items-start gap-3 rounded-brand-lg border border-border bg-bg p-4 text-left transition-colors hover:border-accent hover:bg-accent-soft",children:[(0,w.jsx)("span",{className:"flex h-10 w-10 flex-none items-center justify-center rounded-brand bg-surface-2 text-text-muted group-hover:text-accent",children:(0,w.jsx)(tv.Icon,{name:e.icon,size:20})}),(0,w.jsxs)("span",{className:"min-w-0",children:[(0,w.jsx)("span",{className:"block text-[13.5px] font-semibold text-text",children:e.label}),(0,w.jsx)("span",{className:"block tnum text-[11.5px] text-text-subtle",children:e.sub}),(0,w.jsx)("span",{className:"mt-1 block text-[11.5px] text-text-muted",children:e.hint})]})]},e.id))})]});async function S(){if(!s||!n)return;x(!0),C(null);let e=await tf.adminApi.validateProvider({format:n.format,base_url:s,api_key:d||void 0});x(!1),C(e.data??{ok:!1,reachable:!1,status:0,error:e.error})}async function k(t){if(t.preventDefault(),!n||!l||!s)return void E(l?"base URL is required":"ID / Prefix is required");m(!0),E("");let r=await tf.adminApi.addProvider({id:l,format:n.format,base_url:s,api_key:d||void 0,free:!d.trim(),name:a.trim()||void 0});if(!r.ok){m(!1),E(r.error??"failed");return}p.trim()&&await tf.adminApi.addModel(l,p.trim()),m(!1),e()}return(0,w.jsx)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:(0,w.jsxs)("form",{onSubmit:k,children:[(0,w.jsxs)("div",{className:"mb-4 flex items-center gap-2.5 border-b border-border-subtle pb-4",children:[(0,w.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-brand bg-surface-2 text-text-muted",children:(0,w.jsx)(tv.Icon,{name:n.icon,size:17})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("div",{className:"text-[13.5px] font-semibold text-text",children:n.label}),(0,w.jsx)("div",{className:"tnum text-[11px] text-text-subtle",children:n.sub})]}),(0,w.jsxs)("button",{type:"button",onClick:()=>{r(null),C(null)},className:"ml-auto inline-flex items-center gap-1 text-[12px] text-text-subtle hover:text-text",children:[(0,w.jsx)(tv.Icon,{name:"arrow_back",size:14})," change type"]})]}),(0,w.jsxs)("div",{className:"space-y-3",children:[(0,w.jsx)(tm.Field,{label:"Label",hint:"display name in dashboard (optional)",children:(0,w.jsx)(tm.Input,{value:a,onChange:e=>o(e.target.value),placeholder:"e.g. My OpenAI"})}),(0,w.jsx)(tm.Field,{label:"ID / Prefix",hint:"required — used as prefix when calling models (e.g. prefix/model-name)",children:(0,w.jsx)(tm.Input,{value:l,onChange:e=>i(e.target.value),placeholder:"e.g. openai, anthropic",className:"font-mono text-[12.5px]"})}),(0,w.jsx)(tm.Field,{label:"Base URL",hint:n.hint,children:(0,w.jsx)(tm.Input,{value:s,onChange:e=>{u(e.target.value),C(null)},placeholder:n.base_url,className:"font-mono text-[12.5px]"})}),(0,w.jsx)(tm.Field,{label:"API Key",hint:"used for Check and live requests — leave blank for a free / no-auth endpoint",children:(0,w.jsxs)("div",{className:"flex gap-2",children:[(0,w.jsxs)("div",{className:"relative flex-1",children:[(0,w.jsx)(tm.Input,{type:h?"text":"password",value:d,onChange:e=>{c(e.target.value),C(null)},placeholder:"sk-…",className:"pr-9 font-mono text-[12.5px]"}),d&&(0,w.jsx)("button",{type:"button",onClick:()=>f(e=>!e),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text","aria-label":h?"Hide key":"Show key",children:(0,w.jsx)(tv.Icon,{name:h?"visibility_off":"visibility",size:15})})]}),(0,w.jsxs)(tm.Button,{type:"button",variant:"ghost",disabled:v||!s,onClick:S,children:[(0,w.jsx)(tv.Icon,{name:v?"progress_activity":"wifi_tethering",size:15}),v?"Checking…":"Check"]})]})}),y&&(0,w.jsxs)("div",{className:"flex items-center gap-2 text-[12px]",children:[(0,w.jsx)(tg.Badge,{tone:y.ok?"live":y.reachable?"warn":"down",children:y.ok?"valid":y.reachable?`reachable (${y.status})`:"invalid"}),y.error&&(0,w.jsx)("span",{className:"text-text-subtle",children:y.error})]}),(0,w.jsx)(tm.Field,{label:"Model ID",hint:"optional — seed one if the provider has no /models endpoint",children:(0,w.jsx)(tm.Input,{value:p,onChange:e=>g(e.target.value),placeholder:n.modelHint,className:"font-mono text-[12.5px]"})})]}),j&&(0,w.jsx)("div",{className:"mt-2 text-[12px] text-danger",children:j}),(0,w.jsxs)("div",{className:"mt-4 flex justify-end gap-2",children:[(0,w.jsx)(tm.Button,{type:"button",variant:"ghost",onClick:t,children:"Cancel"}),(0,w.jsx)(tm.Button,{type:"submit",disabled:b,children:b?"Adding…":"Add provider"})]})]})})}e.s(["ProviderManager",0,function(){var e;let[t,n]=(0,D.useState)(null),[r,l]=(0,D.useState)(""),[i,a]=(0,D.useState)(!1),[o,s]=(0,D.useState)([]),u=(0,D.useCallback)(async()=>{let[e,t]=await Promise.all([fetch("/api/gw/admin/config"),tf.adminApi.providers()]);if(!e.ok||!t.ok)return void l("could not reach the gateway");l("");let r={config:await e.json(),health:t.data?.providers??[]};n(r),s(r.config.providers.map(e=>e.id))},[]);(0,D.useEffect)(()=>{u()},[u]);let d=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,D.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}((e={activationConstraint:{distance:6}},(0,D.useMemo)(()=>({sensor:eP,options:null!=e?e:{}}),[eP,e])));async function c(e){let{active:n,over:r}=e;if(!r||n.id===r.id||!t)return;let l=o.indexOf(n.id),i=o.indexOf(r.id);-1!==l&&-1!==i&&(s(tt(o,l,i)),await tf.adminApi.reorderProvider(l,i),u())}if(r)return(0,w.jsx)(tx.Empty,{children:r});if(!t)return(0,w.jsx)(tx.Empty,{children:"Loading…"});let h=new Map(t.health.map(e=>[e.id,e])),f=new Map(t.config.providers.map(e=>[e.id,e])),p=o.map(e=>f.get(e)).filter(Boolean);return(0,w.jsxs)("div",{children:[(0,w.jsxs)("div",{className:"mb-6 flex items-center justify-between gap-3",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("h1",{className:"text-[22px] font-semibold tracking-tight text-text",children:"Providers & Keys"}),(0,w.jsx)("p",{className:"mt-1 text-[13px] text-text-muted",children:"Upstream providers the gateway routes to."})]}),(0,w.jsxs)(tm.Button,{onClick:()=>a(!0),children:[(0,w.jsx)(tv.Icon,{name:"add",size:17}),"Add provider"]})]}),i&&(0,w.jsx)(tC,{onClose:()=>a(!1),onDone:()=>{a(!1),u()}}),0===p.length?(0,w.jsx)(tx.Empty,{children:"No providers yet. Add one to start routing."}):(0,w.jsx)(e3,{sensors:d,collisionDetection:ea,onDragEnd:c,children:(0,w.jsx)(ta,{items:o,strategy:tr,children:(0,w.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:p.map(e=>{let t=h.get(e.id),n=!t||t.keys.some(e=>e.healthy),r=t?.keys.find(e=>!e.healthy&&e.cooldown_ms>0);return(0,w.jsx)(ty,{p:e,healthy:n,cooling:r,onDone:u},e.id)})})})})]})}],70757)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10007,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n={primary:"bg-accent text-accent-ink shadow-warm hover:bg-accent-hover border border-transparent font-semibold",ghost:"bg-transparent text-text-muted border border-border hover:text-text hover:border-text-subtle",danger:"bg-transparent text-text-muted border border-border hover:text-danger hover:border-danger/50"};e.s(["Button",0,function({variant:e="primary",className:r,...s}){return(0,t.jsx)("button",{className:`inline-flex items-center justify-center gap-1.5 rounded-brand px-3.5 py-2 text-[13px] font-medium transition-colors duration-150 cursor-pointer disabled:opacity-45 disabled:cursor-not-allowed ${n[e]}${r?` ${r}`:""}`,...s})},"Field",0,function({label:e,hint:r,children:n}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-text-subtle",children:[e,r&&(0,t.jsxs)("span",{className:"ml-1.5 lowercase tracking-normal text-text-subtle/70",children:["· ",r]})]}),n]})},"Input",0,function({className:e,...r}){return(0,t.jsx)("input",{className:`w-full rounded-brand border border-border bg-bg px-3 py-2 text-[13px] text-text placeholder:text-text-subtle focus:border-accent focus:outline-none transition-colors${e?` ${e}`:""}`,...r})},"Select",0,function({className:e,value:n,onChange:s,children:a,...o}){let[l,i]=(0,r.useState)(!1),c=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(!l)return;let e=e=>{c.current&&!c.current.contains(e.target)&&i(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]);let d=[];r.Children.forEach(a,e=>{(0,r.isValidElement)(e)&&"option"===e.type&&d.push({value:String(e.props.value??""),label:"string"==typeof e.props.children?e.props.children:String(e.props.value??"")})});let u=d.find(e=>e.value===String(n??"")),x=u?.label??"";return(0,t.jsxs)("div",{className:`relative${e?` ${e}`:""}`,ref:c,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>i(e=>!e),className:"flex w-full items-center justify-between rounded-brand border border-border bg-bg px-3 py-2 text-left text-[13px] text-text transition-colors focus:border-accent focus:outline-none",children:[(0,t.jsx)("span",{className:"truncate",children:x}),(0,t.jsx)("svg",{className:`ml-2 h-4 w-4 shrink-0 text-text-subtle transition-transform ${l?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),l&&(0,t.jsx)("div",{className:"absolute left-0 right-0 top-full z-50 mt-1 overflow-hidden rounded-brand border border-border bg-surface shadow-lg",children:d.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>{s?.({target:{value:e.value}}),i(!1)},className:`flex w-full items-center gap-2 px-3 py-2 text-left text-[12.5px] transition-colors ${e.value===String(n??"")?"bg-accent/10 text-accent":"text-text-muted hover:bg-surface-2 hover:text-text"}`,children:e.label},e.value))})]})}])},18566,(e,t,r)=>{t.exports=e.r(76562)},94542,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(18566),s=e.i(10007);e.s(["default",0,function(){let e=(0,n.useRouter)(),[a,o]=(0,r.useState)(""),[l,i]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1);async function u(t){t.preventDefault(),d(!0),i("");let r=await fetch("/api/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({password:a})});r.ok?(e.replace("/"),e.refresh()):(i((await r.json().catch(()=>({}))).error??"login failed"),d(!1))}return(0,t.jsx)("main",{className:"grid min-h-screen place-items-center p-6",children:(0,t.jsxs)("form",{onSubmit:u,className:"w-full max-w-[360px] rounded-brand-lg border border-border bg-surface p-7 shadow-elevated",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-7 w-7 flex-none items-center justify-center rounded-brand bg-accent text-[14px] font-bold text-accent-ink shadow-warm",children:"a"}),(0,t.jsx)("span",{className:"text-[16px] font-semibold tracking-tight text-text",children:"aigetwey"})]}),(0,t.jsx)("h1",{className:"text-[19px] font-semibold tracking-tight text-text",children:"Welcome back"}),(0,t.jsx)("p",{className:"mb-6 mt-1 text-[13px] text-text-muted",children:"Enter the admin password to continue."}),(0,t.jsx)(s.Field,{label:"Password",children:(0,t.jsx)(s.Input,{type:"password",value:a,autoFocus:!0,onChange:e=>o(e.target.value)})}),l&&(0,t.jsx)("div",{className:"mt-2.5 text-[12px] text-danger",children:l}),(0,t.jsx)(s.Button,{type:"submit",disabled:c,className:"mt-6 w-full",children:c?"Connecting…":"Connect"})]})})}])}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|