omnigateway 0.12.1 → 0.12.3

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/bin/omni.js CHANGED
@@ -37474,7 +37474,7 @@ function createServiceDeps(input2) {
37474
37474
  }
37475
37475
 
37476
37476
  // apps/cli/src/version.ts
37477
- var VERSION = "0.12.1";
37477
+ var VERSION = "0.12.3";
37478
37478
 
37479
37479
  // apps/cli/src/commands/service.ts
37480
37480
  function gatewayArgv(root) {
package/gateway.js CHANGED
@@ -62302,7 +62302,7 @@ function createRing(limits = DEFAULT_RING_LIMITS) {
62302
62302
  }
62303
62303
 
62304
62304
  // apps/gateway/src/version.ts
62305
- var VERSION = "0.12.1";
62305
+ var VERSION = "0.12.3";
62306
62306
 
62307
62307
  // apps/gateway/src/app.ts
62308
62308
  var ADMIN_SESSION_TTL_MS = 12 * 60 * 60 * 1000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnigateway",
3
- "version": "0.12.1",
3
+ "version": "0.12.3",
4
4
  "description": "Self-hosted AI gateway with Anthropic- and OpenAI-compatible APIs, an admin console, and a CLI",
5
5
  "license": "MIT",
6
6
  "author": "Harismawan <mail@harismawan.com>",
@@ -80,7 +80,7 @@ import{A as e,Ct as t,L as n,M as r,Mt as i,N as a,P as o,f as s,j as c,mt as l,
80
80
  `,Wr=L(me)`
81
81
  flex: 1;
82
82
  min-width: 260px;
83
- `,Gr=[{id:`all`,label:`All requests`,filters:{}},{id:`failed`,label:`Failed only`,filters:{failed:`true`}},{id:`pending`,label:`Still running`,filters:{state:`pending`}},{id:`done`,label:`Completed`,filters:{state:`done`}}],Kr=e=>e.failed===`true`?`failed`:e.state??`all`,qr=[{prefix:`model`,field:`model`},{prefix:`resolved`,field:`resolvedModel`},{prefix:`requested`,field:`requestedModel`},{prefix:`error`,field:`errorCode`}],Jr=[`model`,`resolvedModel`,`requestedModel`,`errorCode`];function Yr(e){let t={};for(let n of e.trim().split(/\s+/)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?void 0:qr.find(t=>t.prefix===n.slice(0,e).toLowerCase());if(r===void 0){t.model=n;continue}let i=n.slice(e+1);i!==``&&(t[r.field]=i)}return t}function Xr(e){let t=[];return e.model!==void 0&&t.push(e.model),e.resolvedModel!==void 0&&t.push(`resolved:${e.resolvedModel}`),e.requestedModel!==void 0&&t.push(`requested:${e.requestedModel}`),e.errorCode!==void 0&&t.push(`error:${e.errorCode}`),t.join(` `)}var Zr=(e,t)=>Jr.every(n=>e[n]===t[n]),Qr=Object.fromEntries(Jr.map(e=>[e,void 0]));function $r({filters:e,patch:n}){let r=l(),i=t();return I(xe,{children:[I(Ur,{"aria-label":`Account`,value:e.credentialId??``,onChange:e=>n({credentialId:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any account`}),(r.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]}),I(Ur,{"aria-label":`Gateway key`,value:e.apiKeyId??``,onChange:e=>n({apiKeyId:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any key`}),(i.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]})]})}function ei(e,t){let n={...e,...t};for(let e of Object.keys(n))n[e]===void 0&&delete n[e];return n}function ti({filters:e,onChange:t,operator:n=!1}){let r=i(),a=n=>t(ei(e,n)),[o,s]=be(()=>Xr(e)),c=ye(null),l=ye(a);l.current=a;let u=()=>{c.current!==null&&clearTimeout(c.current),c.current=null};_e(()=>()=>clearTimeout(c.current??void 0),[]);let d=Xr(e);return c.current===null&&!Zr(Yr(o),e)&&o!==d&&s(d),I(Hr,{children:[F(Wr,{"aria-label":`Models and error codes`,placeholder:`Search anything`,value:o,onChange:e=>{let t=e.target.value;s(t),u(),c.current=setTimeout(()=>{c.current=null,l.current({...Qr,...Yr(t)})},500)}}),F(Vr,{since:e.since,until:e.until,onChange:e=>a(e)}),F(Ur,{"aria-label":`Show which requests`,value:Kr(e),onChange:e=>{let t=Gr.find(t=>t.id===e.target.value)??Gr[0];a({state:void 0,failed:void 0,...t.filters})},children:Gr.map(e=>F(`option`,{value:e.id,children:e.label},e.id))}),I(Ur,{"aria-label":`Provider`,value:e.provider??``,onChange:e=>a({provider:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any provider`}),(r.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]}),n?F($r,{filters:e,patch:a}):null,F(h,{type:`button`,onClick:()=>{u(),s(``),t({})},children:`Clear filters`})]})}function ni(e){let[t,n]=be(Date.now);return _e(()=>{if(!e)return;n(Date.now());let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function ri({log:e}){return F(M,{$align:`right`,$mono:!0,...f(e)?{"aria-label":`processing`}:{title:se(e)},children:f(e)?F(ce,{}):F(oe,{tokens:e})})}function ii({rows:t,now:i,names:c,onOpen:l}){return I(ge,{children:[F(`thead`,{children:I(`tr`,{children:[F(N,{}),F(N,{$align:`right`,children:`Time`}),F(N,{children:`Requested`}),F(N,{children:`Routed to`}),c===void 0?null:I(xe,{children:[F(N,{children:`Account`}),F(N,{children:`Key`})]}),F(N,{$align:`right`,children:`Try`}),F(N,{$align:`right`,children:`TTFT`}),F(N,{$align:`right`,children:`Total`}),F(N,{$align:`right`,children:`Tokens`}),F(N,{$align:`right`,children:`Cost`}),F(N,{children:`Outcome`})]})}),F(`tbody`,{children:t.map(t=>I(he,{$selectable:!0,onClick:()=>l(t),children:[F(M,{children:F(d,{state:u(t),label:s(t)})}),F(M,{$align:`right`,$mono:!0,title:r(t.at),children:e(t.at)}),F(M,{$mono:!0,children:F(b,{style:{display:`block`,maxWidth:`20ch`},children:t.requestedModel||`—`})}),F(M,{children:t.resolvedProvider===null?F(_,{children:f(t)?`routing…`:`not routed`}):I(v,{$gap:1,children:[F(de,{provider:t.resolvedProvider}),F(y,{$dim:!0,children:t.resolvedModel??`—`})]})}),c===void 0?null:I(xe,{children:[F(M,{children:F(b,{style:{display:`block`,maxWidth:`18ch`},children:t.credentialId==null?`—`:c.accounts.get(t.credentialId)??p(t.credentialId)})}),F(M,{children:F(b,{style:{display:`block`,maxWidth:`16ch`},title:t.apiKeyId??void 0,children:t.apiKeyId==null?`—`:c.keys.get(t.apiKeyId)??p(t.apiKeyId)})})]}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:t.attempts}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:o(t.ttftMs)}),F(M,{$align:`right`,$mono:!0,children:f(t)?a(Math.max(0,i-t.at)):o(t.durationMs)}),F(ri,{log:t}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:n(t.costUsd)}),F(M,{children:f(t)?F(fe,{$tone:`accent`,children:`live`}):t.errorCode===null?F(fe,{$tone:`ok`,children:t.status}):F(fe,{$tone:`down`,children:t.errorCode})})]},t.id))})]})}var ai=L.dl`
83
+ `,Gr=[{id:`all`,label:`All requests`,filters:{}},{id:`failed`,label:`Failed only`,filters:{failed:`true`}},{id:`pending`,label:`Still running`,filters:{state:`pending`}},{id:`done`,label:`Completed`,filters:{state:`done`}}],Kr=e=>e.failed===`true`?`failed`:e.state??`all`,qr=[{prefix:`model`,field:`model`},{prefix:`resolved`,field:`resolvedModel`},{prefix:`requested`,field:`requestedModel`},{prefix:`error`,field:`errorCode`}],Jr=[`model`,`resolvedModel`,`requestedModel`,`errorCode`];function Yr(e){let t={};for(let n of e.trim().split(/\s+/)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?void 0:qr.find(t=>t.prefix===n.slice(0,e).toLowerCase());if(r===void 0){t.model=n;continue}let i=n.slice(e+1);i!==``&&(t[r.field]=i)}return t}function Xr(e){let t=[];return e.model!==void 0&&t.push(e.model),e.resolvedModel!==void 0&&t.push(`resolved:${e.resolvedModel}`),e.requestedModel!==void 0&&t.push(`requested:${e.requestedModel}`),e.errorCode!==void 0&&t.push(`error:${e.errorCode}`),t.join(` `)}var Zr=(e,t)=>Jr.every(n=>e[n]===t[n]),Qr=Object.fromEntries(Jr.map(e=>[e,void 0]));function $r({filters:e,patch:n}){let r=l(),a=t(),o=i();return I(xe,{children:[I(Ur,{"aria-label":`Provider`,value:e.provider??``,onChange:e=>n({provider:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any provider`}),(o.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]}),I(Ur,{"aria-label":`Account`,value:e.credentialId??``,onChange:e=>n({credentialId:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any account`}),(r.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]}),I(Ur,{"aria-label":`Gateway key`,value:e.apiKeyId??``,onChange:e=>n({apiKeyId:e.target.value||void 0}),children:[F(`option`,{value:``,children:`Any key`}),(a.data??[]).map(e=>F(`option`,{value:e.id,children:e.label},e.id))]})]})}function ei(e,t){let n={...e,...t};for(let e of Object.keys(n))n[e]===void 0&&delete n[e];return n}function ti({filters:e,onChange:t,operator:n=!1}){let r=n=>t(ei(e,n)),[i,a]=be(()=>Xr(e)),o=ye(null),s=ye(r);s.current=r;let c=()=>{o.current!==null&&clearTimeout(o.current),o.current=null};_e(()=>()=>clearTimeout(o.current??void 0),[]);let l=Xr(e);return o.current===null&&!Zr(Yr(i),e)&&i!==l&&a(l),I(Hr,{children:[F(Wr,{"aria-label":`Models and error codes`,placeholder:`Search anything`,value:i,onChange:e=>{let t=e.target.value;a(t),c(),o.current=setTimeout(()=>{o.current=null,s.current({...Qr,...Yr(t)})},500)}}),F(Vr,{since:e.since,until:e.until,onChange:e=>r(e)}),F(Ur,{"aria-label":`Show which requests`,value:Kr(e),onChange:e=>{let t=Gr.find(t=>t.id===e.target.value)??Gr[0];r({state:void 0,failed:void 0,...t.filters})},children:Gr.map(e=>F(`option`,{value:e.id,children:e.label},e.id))}),n?F($r,{filters:e,patch:r}):null,F(h,{type:`button`,onClick:()=>{c(),a(``),t({})},children:`Clear filters`})]})}function ni(e){let[t,n]=be(Date.now);return _e(()=>{if(!e)return;n(Date.now());let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function ri({log:e}){return F(M,{$align:`right`,$mono:!0,...f(e)?{"aria-label":`processing`}:{title:se(e)},children:f(e)?F(ce,{}):F(oe,{tokens:e})})}function ii({rows:t,now:i,names:c,onOpen:l}){return I(ge,{children:[F(`thead`,{children:I(`tr`,{children:[F(N,{}),F(N,{$align:`right`,children:`Time`}),F(N,{children:`Requested`}),F(N,{children:`Routed to`}),c===void 0?null:I(xe,{children:[F(N,{children:`Account`}),F(N,{children:`Key`})]}),F(N,{$align:`right`,children:`Try`}),F(N,{$align:`right`,children:`TTFT`}),F(N,{$align:`right`,children:`Total`}),F(N,{$align:`right`,children:`Tokens`}),F(N,{$align:`right`,children:`Cost`}),F(N,{children:`Outcome`})]})}),F(`tbody`,{children:t.map(t=>I(he,{$selectable:!0,onClick:()=>l(t),children:[F(M,{children:F(d,{state:u(t),label:s(t)})}),F(M,{$align:`right`,$mono:!0,title:r(t.at),children:e(t.at)}),F(M,{$mono:!0,children:F(b,{style:{display:`block`,maxWidth:`20ch`},children:t.requestedModel||`—`})}),F(M,{children:t.resolvedProvider===null?F(_,{children:f(t)?`routing…`:`not routed`}):I(v,{$gap:1,children:[F(de,{provider:t.resolvedProvider}),F(y,{$dim:!0,children:t.resolvedModel??`—`})]})}),c===void 0?null:I(xe,{children:[F(M,{children:F(b,{style:{display:`block`,maxWidth:`18ch`},children:t.credentialId==null?`—`:c.accounts.get(t.credentialId)??p(t.credentialId)})}),F(M,{children:F(b,{style:{display:`block`,maxWidth:`16ch`},title:t.apiKeyId??void 0,children:t.apiKeyId==null?`—`:c.keys.get(t.apiKeyId)??p(t.apiKeyId)})})]}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:t.attempts}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:o(t.ttftMs)}),F(M,{$align:`right`,$mono:!0,children:f(t)?a(Math.max(0,i-t.at)):o(t.durationMs)}),F(ri,{log:t}),F(M,{$align:`right`,$mono:!0,children:f(t)?`—`:n(t.costUsd)}),F(M,{children:f(t)?F(fe,{$tone:`accent`,children:`live`}):t.errorCode===null?F(fe,{$tone:`ok`,children:t.status}):F(fe,{$tone:`down`,children:t.errorCode})})]},t.id))})]})}var ai=L.dl`
84
84
  display: grid;
85
85
  grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
86
86
  gap: 6px ${({theme:e})=>e.space(3)};
@@ -1,4 +1,4 @@
1
- import{At as e,B as t,j as n,lt as r}from"./Lamp-DkvXKB-B.js";import{a as i,b as a,i as o,r as s,t as c,y as ee}from"./Panel-CWmOTDAP.js";import{D as l,t as u}from"./Rack-CEuCdVXc.js";import{a as d,c as f,o as p,s as m}from"./index-89mqAVmK.js";import{i as h}from"./Field-BYBri2NV.js";import{useQueryClient as g}from"@tanstack/react-query";import{useLayoutEffect as te,useMemo as _,useRef as v,useState as y}from"react";import{jsx as b,jsxs as x}from"react/jsx-runtime";import S from"styled-components";var C={debug:10,info:20,warn:30,error:40};function w(e){return typeof e==`string`&&e in C}function T(e,t){return!w(t)||e.level===null||C[e.level]>=C[t]}function E(e){if(typeof e!=`object`||!e)return null;let{raw:t,at:n,level:r,msg:i}=e;return typeof t!=`string`||n!==null&&typeof n!=`number`||r!==null&&!w(r)||i!==null&&typeof i!=`string`?null:{raw:t,at:n,level:r,msg:i}}function D(e){if(typeof e!=`object`||!e)return null;let{lines:t}=e;if(!Array.isArray(t))return null;let n=[];for(let e of t){let t=E(e);if(t===null)return null;n.push(t)}return n}var O=[100,200,500],ne=[{value:``,label:`All levels`},{value:`debug`,label:`Debug and above`},{value:`info`,label:`Info and above`},{value:`warn`,label:`Warnings and errors`},{value:`error`,label:`Errors only`}],re=S(a)`
1
+ import{At as e,B as t,j as n,lt as r}from"./Lamp-DkvXKB-B.js";import{a as i,b as a,i as o,r as s,t as c,y as ee}from"./Panel-CWmOTDAP.js";import{D as l,t as u}from"./Rack-CEuCdVXc.js";import{a as d,c as f,o as p,s as m}from"./index-Bk9sabex.js";import{i as h}from"./Field-BYBri2NV.js";import{useQueryClient as g}from"@tanstack/react-query";import{useLayoutEffect as te,useMemo as _,useRef as v,useState as y}from"react";import{jsx as b,jsxs as x}from"react/jsx-runtime";import S from"styled-components";var C={debug:10,info:20,warn:30,error:40};function w(e){return typeof e==`string`&&e in C}function T(e,t){return!w(t)||e.level===null||C[e.level]>=C[t]}function E(e){if(typeof e!=`object`||!e)return null;let{raw:t,at:n,level:r,msg:i}=e;return typeof t!=`string`||n!==null&&typeof n!=`number`||r!==null&&!w(r)||i!==null&&typeof i!=`string`?null:{raw:t,at:n,level:r,msg:i}}function D(e){if(typeof e!=`object`||!e)return null;let{lines:t}=e;if(!Array.isArray(t))return null;let n=[];for(let e of t){let t=E(e);if(t===null)return null;n.push(t)}return n}var O=[100,200,500],ne=[{value:``,label:`All levels`},{value:`debug`,label:`Debug and above`},{value:`info`,label:`Info and above`},{value:`warn`,label:`Warnings and errors`},{value:`error`,label:`Errors only`}],re=S(a)`
2
2
  gap: ${({theme:e})=>e.space(2)};
3
3
  flex-wrap: wrap;
4
4
  `,k=S(h)`
@@ -1,4 +1,4 @@
1
- import{Ct as e,Ft as t,K as n,Tt as r,V as i,W as a,Y as o,Zt as s,j as c,l,mt as u,u as d}from"./Lamp-DkvXKB-B.js";import{C as f,D as p,_ as m,a as h,b as g,i as _,r as v,t as y,x as b,y as x}from"./Panel-CWmOTDAP.js";import{D as S,i as C,t as w}from"./Rack-CEuCdVXc.js";import{a as T,i as E,n as D,r as O,t as k}from"./RequestTable-CSQGt9W_.js";import{t as A}from"./Chip-D4qvhu1D.js";import{i as j}from"./Field-BYBri2NV.js";import{useMemo as M,useState as N}from"react";import{Fragment as P,jsx as F,jsxs as I}from"react/jsx-runtime";import L from"styled-components";var R={none:{legend:`Not captured`,message:`Body capture was not running for this request. It needs OMNI_BODY_LOGGING_ALLOWED in the environment and the body logging setting turned on, and the calling key must not have opted out.`},missing:{legend:`Captured, then lost`,message:`This request was captured, but its artifact is no longer on disk. Retention or the row cap has since pruned it, or something removed the file underneath the gateway.`},corrupt:{legend:`Captured, but unreadable`,message:`This request was captured and the artifact is still on disk, but it failed its checksum or would not decrypt. Changing OMNI_ENCRYPTION_KEY invalidates every artifact written under the old one.`}},z=new Intl.NumberFormat(`en-US`),B=L.p`
1
+ import{Ct as e,Ft as t,K as n,Tt as r,V as i,W as a,Y as o,Zt as s,j as c,l,mt as u,u as d}from"./Lamp-DkvXKB-B.js";import{C as f,D as p,_ as m,a as h,b as g,i as _,r as v,t as y,x as b,y as x}from"./Panel-CWmOTDAP.js";import{D as S,i as C,t as w}from"./Rack-CEuCdVXc.js";import{a as ee,i as T,n as E,r as D,t as O}from"./RequestTable-D8L6iVJV.js";import{t as k}from"./Chip-D4qvhu1D.js";import{i as A}from"./Field-BYBri2NV.js";import{useMemo as j,useRef as M,useState as N}from"react";import{Fragment as P,jsx as F,jsxs as I}from"react/jsx-runtime";import L from"styled-components";var R={none:{legend:`Not captured`,message:`Body capture was not running for this request. It needs OMNI_BODY_LOGGING_ALLOWED in the environment and the body logging setting turned on, and the calling key must not have opted out.`},missing:{legend:`Captured, then lost`,message:`This request was captured, but its artifact is no longer on disk. Retention or the row cap has since pruned it, or something removed the file underneath the gateway.`},corrupt:{legend:`Captured, but unreadable`,message:`This request was captured and the artifact is still on disk, but it failed its checksum or would not decrypt. Changing OMNI_ENCRYPTION_KEY invalidates every artifact written under the old one.`}},z=new Intl.NumberFormat(`en-US`),B=L.p`
2
2
  font-size: 12px;
3
3
  color: ${({theme:e})=>e.color.inkDim};
4
4
  max-width: 62ch;
@@ -34,16 +34,16 @@ import{Ct as e,Ft as t,K as n,Tt as r,V as i,W as a,Y as o,Zt as s,j as c,l,mt a
34
34
  line-height: 1.5;
35
35
  white-space: pre-wrap;
36
36
  word-break: break-word;
37
- `;function K(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(t.omitted!==!0||typeof t.reason!=`string`)return null;let n=t.serializedBytes;return{omitted:!0,reason:t.reason,serializedBytes:typeof n==`number`?n:0}}function q({title:e,stage:t,value:n}){let r=K(n);return I(W,{children:[I(U,{children:[F(H,{children:e}),t===void 0?null:F(A,{children:t})]}),r===null?n==null?F(B,{children:`Nothing was recorded for this half — it never happened, or never completed.`}):F(G,{children:JSON.stringify(n,null,2)}):I(B,{children:[`Too large to keep: `,r.reason,`. The payload was`,` `,z.format(r.serializedBytes),` bytes after structural bounding, so it was replaced by this marker rather than written oversized or dropped without a trace.`]})]})}function J({attempt:e}){return I(f,{$gap:2,children:[I(g,{$gap:2,$wrap:!0,children:[I(m,{as:`h3`,children:[`Attempt `,e.attempt,` · `,e.provider]}),e.truncated?F(A,{$tone:`warn`,children:`truncated`}):null]}),F(q,{title:`Request sent to the provider`,stage:`post-RTK`,value:e.request}),F(q,{title:`Response from the provider`,value:e.response}),e.streamChunks===null?null:F(q,{title:`Raw stream frames (${c(e.streamChunks.length)})`,value:e.streamChunks})]})}function Y({body:e}){let t=e.artifact;if(t===null){let t=R[e.detailState===`ready`?`corrupt`:e.detailState];return I(f,{$gap:1,children:[F(m,{children:t.legend}),F(B,{children:t.message})]})}return I(f,{$gap:3,children:[t.attempts.length===0?null:F(V,{children:`The client request below is what arrived at the gateway. Each attempt request is what went upstream after RTK filters ran, so the two are not the same payload — compare them to see what compression actually removed.`}),I(f,{$gap:2,children:[I(g,{$gap:2,$wrap:!0,children:[F(m,{as:`h3`,children:`Client`}),t.client.truncated?F(A,{$tone:`warn`,children:`truncated`}):null]}),F(q,{title:`Request from the client`,stage:`pre-RTK`,value:t.client.request}),F(q,{title:`Response returned to the client`,value:t.client.response})]}),t.attempts.map(e=>F(J,{attempt:e},`${e.attempt}-${e.provider}`)),t.error===null||t.error===void 0?null:F(q,{title:`Error`,value:t.error})]})}function X({requestId:e}){let n=t(e),r=n.data===void 0||n.data.detailState!==`ready`?void 0:`${z.format(n.data.sizeBytes)} bytes on disk`;return F(y,{legend:`Captured bodies`,...r===void 0?{}:{meta:r},...n.data?.truncated===!0?{actions:F(A,{$tone:`warn`,children:`truncated`})}:{},children:n.isError?F(_,{error:n.error,onRetry:()=>void n.refetch()}):n.isPending?F(h,{rows:3}):F(Y,{body:n.data})})}var Z=[50,100,250,500],Q=L(g)`
37
+ `;function K(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(t.omitted!==!0||typeof t.reason!=`string`)return null;let n=t.serializedBytes;return{omitted:!0,reason:t.reason,serializedBytes:typeof n==`number`?n:0}}function q({title:e,stage:t,value:n}){let r=K(n);return I(W,{children:[I(U,{children:[F(H,{children:e}),t===void 0?null:F(k,{children:t})]}),r===null?n==null?F(B,{children:`Nothing was recorded for this half — it never happened, or never completed.`}):F(G,{children:JSON.stringify(n,null,2)}):I(B,{children:[`Too large to keep: `,r.reason,`. The payload was`,` `,z.format(r.serializedBytes),` bytes after structural bounding, so it was replaced by this marker rather than written oversized or dropped without a trace.`]})]})}function J({attempt:e}){return I(f,{$gap:2,children:[I(g,{$gap:2,$wrap:!0,children:[I(m,{as:`h3`,children:[`Attempt `,e.attempt,` · `,e.provider]}),e.truncated?F(k,{$tone:`warn`,children:`truncated`}):null]}),F(q,{title:`Request sent to the provider`,stage:`post-RTK`,value:e.request}),F(q,{title:`Response from the provider`,value:e.response}),e.streamChunks===null?null:F(q,{title:`Raw stream frames (${c(e.streamChunks.length)})`,value:e.streamChunks})]})}function Y({body:e}){let t=e.artifact;if(t===null){let t=R[e.detailState===`ready`?`corrupt`:e.detailState];return I(f,{$gap:1,children:[F(m,{children:t.legend}),F(B,{children:t.message})]})}return I(f,{$gap:3,children:[t.attempts.length===0?null:F(V,{children:`The client request below is what arrived at the gateway. Each attempt request is what went upstream after RTK filters ran, so the two are not the same payload — compare them to see what compression actually removed.`}),I(f,{$gap:2,children:[I(g,{$gap:2,$wrap:!0,children:[F(m,{as:`h3`,children:`Client`}),t.client.truncated?F(k,{$tone:`warn`,children:`truncated`}):null]}),F(q,{title:`Request from the client`,stage:`pre-RTK`,value:t.client.request}),F(q,{title:`Response returned to the client`,value:t.client.response})]}),t.attempts.map(e=>F(J,{attempt:e},`${e.attempt}-${e.provider}`)),t.error===null||t.error===void 0?null:F(q,{title:`Error`,value:t.error})]})}function X({requestId:e}){let n=t(e),r=n.data===void 0||n.data.detailState!==`ready`?void 0:`${z.format(n.data.sizeBytes)} bytes on disk`;return F(y,{legend:`Captured bodies`,...r===void 0?{}:{meta:r},...n.data?.truncated===!0?{actions:F(k,{$tone:`warn`,children:`truncated`})}:{},children:n.isError?F(_,{error:n.error,onRetry:()=>void n.refetch()}):n.isPending?F(h,{rows:3}):F(Y,{body:n.data})})}var Z=[50,100,250,500],Q=160,te=L(g)`
38
38
  gap: ${({theme:e})=>e.space(2)};
39
39
  flex-wrap: wrap;
40
- `,$=L(j)`
40
+ `,ne=L(A)`
41
41
  width: auto;
42
- `,ee=L(g)`
42
+ `,re=L(g)`
43
43
  justify-content: center;
44
44
  gap: ${({theme:e})=>e.space(2)};
45
45
  padding: ${({theme:e})=>e.space(3)};
46
- `,te=L(y)`
46
+ `,ie=L(y)`
47
47
  flex: 1;
48
48
  min-height: 0;
49
49
 
@@ -53,8 +53,8 @@ import{Ct as e,Ft as t,K as n,Tt as r,V as i,W as a,Y as o,Zt as s,j as c,l,mt a
53
53
  flex-direction: column;
54
54
  min-height: 0;
55
55
  }
56
- `,ne=L(b)`
56
+ `,ae=L(b)`
57
57
  flex: 1;
58
58
  min-height: 0;
59
59
  overflow-y: auto;
60
- `;function re(){let{cadence:t,live:f}=S(),[m,g]=N(100),[y,b]=N(T),[A,j]=N(null),L=r(y,m,t(i,`res:logs`)),R=M(()=>(L.data?.pages??[]).flatMap(e=>e.logs),[L.data?.pages]),z=!a(L.data),B=s(n.logPages(y,m)),V=u(),H=e(),U=o(),W=O(f&&R.some(d)),G=M(()=>({accounts:new Map((V.data??[]).map(e=>[e.id,e.label])),keys:new Map((H.data??[]).map(e=>[e.id,e.label]))}),[V.data,H.data]),K=R.filter(l).length,q=R.filter(d).length;return I(P,{children:[F(w,{legend:`Logs`,title:`Recent requests`,summary:L.isLoading?`Reading the request log…`:`${c(R.length)} requests loaded, ${c(K)} of them failed${q===0?``:`, ${c(q)} still running`}. ${U.data===!0?`Body capture is on: open a request to read what it sent and received.`:`Prompt and response bodies are not being recorded.`}`,actions:I(Q,{children:[F(E,{filters:y,onChange:b,operator:!0}),F($,{value:m,"aria-label":`How many requests per page`,onChange:e=>g(Number(e.target.value)),children:Z.map(e=>I(`option`,{value:e,children:[e,` per page`]},e))})]})}),F(te,{legend:`Request log`,meta:`${R.length} shown`,flush:!0,children:L.isError?F(_,{error:L.error,onRetry:()=>void L.refetch()}):L.isLoading?F(`div`,{style:{padding:12},children:F(h,{rows:8})}):R.length===0?F(v,{legend:`Nothing to show`,message:Object.keys(y).length===0?`No requests have reached the gateway yet.`:`No request matches these filters. Clear them to see everything.`}):I(ne,{"data-testid":`request-log-scroller`,children:[F(D,{rows:R,now:W,names:G,onOpen:j}),L.hasNextPage||z?I(ee,{children:[L.hasNextPage?F(p,{type:`button`,disabled:L.isFetchingNextPage,onClick:()=>void L.fetchNextPage(),children:L.isFetchingNextPage?`Loading…`:`Load older`}):null,z?I(P,{children:[F(x,{children:`Live updates are paused while older pages are loaded.`}),F(p,{type:`button`,onClick:B,children:`Back to live`})]}):null]}):null]})}),F(C,{open:A!==null,onOpenChange:e=>{e||j(null)},title:`Request detail`,width:`760px`,footer:F(p,{type:`button`,onClick:()=>j(null),children:`Close`}),children:A===null?null:F(k,{log:A,names:G,children:F(X,{requestId:A.id})})})]})}var ie=re;export{ie as component};
60
+ `;function $(){let{cadence:t,live:f}=S(),[m,g]=N(100),[y,b]=N(ee),[k,A]=N(null),L=M(!1),R=r(y,m,t(i,`res:logs`)),z=j(()=>(R.data?.pages??[]).flatMap(e=>e.logs),[R.data?.pages]),B=!a(R.data),V=s(n.logPages(y,m)),H=M(null),U=()=>{H.current?.scrollTo({top:0}),V()},W=u(),G=e(),K=o(),q=D(f&&z.some(d)),J=j(()=>({accounts:new Map((W.data??[]).map(e=>[e.id,e.label])),keys:new Map((G.data??[]).map(e=>[e.id,e.label]))}),[W.data,G.data]),Y=z.filter(l).length,$=z.filter(d).length;return I(P,{children:[F(w,{legend:`Logs`,title:`Recent requests`,summary:R.isLoading?`Reading the request log…`:`${c(z.length)} requests loaded, ${c(Y)} of them failed${$===0?``:`, ${c($)} still running`}. ${K.data===!0?`Body capture is on: open a request to read what it sent and received.`:`Prompt and response bodies are not being recorded.`}`,actions:I(te,{children:[F(T,{filters:y,onChange:b,operator:!0}),F(ne,{value:m,"aria-label":`How many requests per page`,onChange:e=>g(Number(e.target.value)),children:Z.map(e=>I(`option`,{value:e,children:[e,` per page`]},e))}),B?F(p,{type:`button`,onClick:U,children:`Back to live`}):null]})}),F(ie,{legend:`Request log`,meta:`${z.length} shown`,flush:!0,children:R.isError?F(_,{error:R.error,onRetry:()=>void R.refetch()}):R.isLoading?F(`div`,{style:{padding:12},children:F(h,{rows:8})}):z.length===0?F(v,{legend:`Nothing to show`,message:Object.keys(y).length===0?`No requests have reached the gateway yet.`:`No request matches these filters. Clear them to see everything.`}):I(ae,{ref:H,"data-testid":`request-log-scroller`,onScroll:e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight>Q||R.hasNextPage&&(L.current||(L.current=!0,R.fetchNextPage().finally(()=>{L.current=!1})))},children:[F(E,{rows:z,now:q,names:J,onOpen:A}),R.isFetchingNextPage||B?I(re,{children:[R.isFetchingNextPage?F(x,{children:`Loading older requests…`}):null,B?F(x,{children:`Live updates are paused while older pages are loaded.`}):null]}):null]})}),F(C,{open:k!==null,onOpenChange:e=>{e||A(null)},title:`Request detail`,width:`760px`,footer:F(p,{type:`button`,onClick:()=>A(null),children:`Close`}),children:k===null?null:F(O,{log:k,names:J,children:F(X,{requestId:k.id})})})]})}var oe=$;export{oe as component};
@@ -1,4 +1,4 @@
1
- import{jt as e}from"./Lamp-DkvXKB-B.js";import{t}from"./preload-helper-BPaHpbO_.js";import{C as n,a as r,c as i,d as a,f as o,i as s,l as c,r as l,t as u}from"./Panel-CWmOTDAP.js";import{t as d}from"./Rack-CEuCdVXc.js";import{t as f}from"./index-89mqAVmK.js";import{Component as p,Suspense as m,createContext as h,lazy as g,useContext as _,useMemo as v}from"react";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import S from"styled-components";import{pluginApiPath as C}from"@omnigateway/dashboard-sdk";var w=new Map;function T(e){let t=w.get(e);if(t!==void 0)return t;let n={get:(t,n)=>c(C(e,t),n),post:(t,n)=>a(C(e,t),n),put:(t,n)=>o(C(e,t),n),del:t=>i(C(e,t))};return w.set(e,n),n}var E=h(e=>t(()=>import(e),[]));E.Provider;function D(){return _(E)}function O(e,t){let n=e?.default;if(n==null)throw Error(`plugin ${t} has no default export from definePluginUI`);if(typeof n.mount!=`function`)throw Error(`plugin ${t} exported a default without a mount function`);return n}function k(e,t,n){return g(async()=>{let r=O(await n(t),e);return{default:()=>r.mount({pluginId:e,api:T(e)})}})}var A=S.p`
1
+ import{jt as e}from"./Lamp-DkvXKB-B.js";import{t}from"./preload-helper-BPaHpbO_.js";import{C as n,a as r,c as i,d as a,f as o,i as s,l as c,r as l,t as u}from"./Panel-CWmOTDAP.js";import{t as d}from"./Rack-CEuCdVXc.js";import{t as f}from"./index-Bk9sabex.js";import{Component as p,Suspense as m,createContext as h,lazy as g,useContext as _,useMemo as v}from"react";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import S from"styled-components";import{pluginApiPath as C}from"@omnigateway/dashboard-sdk";var w=new Map;function T(e){let t=w.get(e);if(t!==void 0)return t;let n={get:(t,n)=>c(C(e,t),n),post:(t,n)=>a(C(e,t),n),put:(t,n)=>o(C(e,t),n),del:t=>i(C(e,t))};return w.set(e,n),n}var E=h(e=>t(()=>import(e),[]));E.Provider;function D(){return _(E)}function O(e,t){let n=e?.default;if(n==null)throw Error(`plugin ${t} has no default export from definePluginUI`);if(typeof n.mount!=`function`)throw Error(`plugin ${t} exported a default without a mount function`);return n}function k(e,t,n){return g(async()=>{let r=O(await n(t),e);return{default:()=>r.mount({pluginId:e,api:T(e)})}})}var A=S.p`
2
2
  font-size: 13px;
3
3
  color: ${({theme:e})=>e.color.down};
4
4
  `,j=S.p`
@@ -34,7 +34,7 @@ import{Gt as e,J as t,Kt as n,Vt as r,X as i,Xt as a,Z as o,kt as s}from"./Lamp-
34
34
  display: grid;
35
35
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
36
36
  gap: ${({theme:e})=>e.space(2)};
37
- `,oe=[{key:`defaultModel`,label:`Default model`,required:!0},{key:`fableModel`,label:`Fable model`,required:!1},{key:`opusModel`,label:`Opus model`,required:!1},{key:`sonnetModel`,label:`Sonnet model`,required:!1},{key:`haikuModel`,label:`Haiku model`,required:!1}];function V(){let[e,n]=O(`claude`),[r,i]=O(()=>({claude:{},opencode:{}})),a=s(),o=r[e],u=typeof o.defaultModel==`string`&&o.defaultModel!==``?o:void 0,d=t(e,u),m=z.find(t=>t.id===e);return k(v,{legend:`Agent setup`,children:A(c,{children:[k(p,{children:z.map(t=>k(l,{type:`button`,$variant:t.id===e?`primary`:`ghost`,onClick:()=>n(t.id),children:t.label},t.id))}),A(B,{children:[m?.where,`. The key is a placeholder — paste your own over it. Or run`,` `,A(y,{children:[`omni setup `,e]}),` to write these files directly.`]}),(a.data?.length??0)>0?k(ae,{children:oe.map(t=>k(w,{label:t.label,children:n=>A(S,{...n,value:o[t.key]??``,onChange:n=>i(r=>({...r,[e]:{...r[e],[t.key]:n.target.value||void 0}})),children:[k(`option`,{value:``,children:t.required?`Choose a pool`:`Not mapped`}),a.data?.map(e=>k(`option`,{value:e.id,children:e.id},e.id))]})},t.key))}):null,a.isLoading?k(f,{rows:2}):d.isError?k(g,{error:d.error,onRetry:()=>void d.refetch()}):d.isLoading?k(f,{rows:4}):(a.data?.length??0)===0?k(B,{children:`No virtual models configured yet, so there is nothing to point a client at.`}):u===void 0?A(B,{children:[`Choose a default model to generate `,m?.label,` settings.`]}):d.data===void 0||d.data.length===0?k(B,{children:`No virtual models configured yet, so there is nothing to point a client at.`}):d.data.map(e=>A(`div`,{children:[k(ie,{children:e.path}),k(re,{as:`pre`,children:e.contents.trimEnd()})]},e.path)),d.isError?k(B,{children:_(d.error)}):null]})})}var H={off:`Off`,lite:`Lite — names the lazier option`,full:`Full — the ladder enforced`,ultra:`Ultra — challenges the requirement`},U=[{id:`tier`,label:`Tier`,blurb:`Prefers a lower tier.`},{id:`health`,label:`Health`,blurb:`Penalises recent failures and an open breaker.`},{id:`quota`,label:`Quota`,blurb:`Prefers accounts ahead of their window's burn rate.`},{id:`cost`,label:`Cost`,blurb:`Prefers the cheaper candidate.`},{id:`latency`,label:`Latency`,blurb:`Prefers the faster observed first token.`},{id:`load`,label:`Load`,blurb:`Prefers accounts with fewer requests in flight.`}],W=[{id:`maxAttempts`,label:`Attempts per request`,hint:`Candidates dispatch may try. 1 disables failover.`,unit:`attempts`,step:1,min:1},{id:`requestDeadlineMs`,label:`Request deadline`,hint:`Across all attempts. 0 disables only OmniGateway's deadline.`,unit:`ms`,step:1e3,min:0},{id:`breakerThreshold`,label:`Breaker threshold`,hint:`Consecutive failures before an account and model leaves rotation.`,unit:`failures`,step:1,min:1},{id:`breakerCooldownMs`,label:`Breaker cooldown`,hint:`Wait before a tripped account is probed. Doubles per extra failure.`,unit:`ms`,step:1e3,min:1},{id:`logRetentionDays`,label:`Log retention`,hint:`How long request rows are kept before pruning.`,unit:`days`,step:1,min:1},{id:`quotaPollIntervalMs`,label:`Quota poll interval`,hint:`How often a provider is asked for remaining quota. 0 disables. Needs a restart.`,unit:`ms`,step:6e4,min:0}],G=j.div`
37
+ `,oe=[{key:`defaultModel`,label:`Default model`,required:!0},{key:`fableModel`,label:`Fable model`,required:!1},{key:`opusModel`,label:`Opus model`,required:!1},{key:`sonnetModel`,label:`Sonnet model`,required:!1},{key:`haikuModel`,label:`Haiku model`,required:!1}];function V(){let[e,n]=O(`claude`),[r,i]=O(()=>({claude:{},opencode:{}})),a=s(),o=r[e],u=typeof o.defaultModel==`string`&&o.defaultModel!==``?o:void 0,d=t(e,u),m=z.find(t=>t.id===e);return k(v,{legend:`Agent setup`,children:A(c,{children:[k(p,{children:z.map(t=>k(l,{type:`button`,$variant:t.id===e?`primary`:`ghost`,onClick:()=>n(t.id),children:t.label},t.id))}),A(B,{children:[m?.where,`. The key is a placeholder — paste your own over it. Or run`,` `,A(y,{children:[`omni setup `,e]}),` to write these files directly.`]}),e===`claude`?A(B,{children:[`Claude Code cannot read a window from this gateway, so it assumes 200k for a pool id it does not recognise and auto-compacts there. For a pool whose models hold 1M, append`,` `,k(y,{children:`[1m]`}),` to the model name — `,k(y,{children:`--model 'pool[1m]'`}),` — which lifts it per invocation. The suffix is stripped before the request is sent, so the pool id arrives unchanged.`]}):null,(a.data?.length??0)>0?k(ae,{children:oe.map(t=>k(w,{label:t.label,children:n=>A(S,{...n,value:o[t.key]??``,onChange:n=>i(r=>({...r,[e]:{...r[e],[t.key]:n.target.value||void 0}})),children:[k(`option`,{value:``,children:t.required?`Choose a pool`:`Not mapped`}),a.data?.map(e=>k(`option`,{value:e.id,children:e.id},e.id))]})},t.key))}):null,a.isLoading?k(f,{rows:2}):d.isError?k(g,{error:d.error,onRetry:()=>void d.refetch()}):d.isLoading?k(f,{rows:4}):(a.data?.length??0)===0?k(B,{children:`No virtual models configured yet, so there is nothing to point a client at.`}):u===void 0?A(B,{children:[`Choose a default model to generate `,m?.label,` settings.`]}):d.data===void 0||d.data.length===0?k(B,{children:`No virtual models configured yet, so there is nothing to point a client at.`}):d.data.map(e=>A(`div`,{children:[k(ie,{children:e.path}),k(re,{as:`pre`,children:e.contents.trimEnd()})]},e.path)),d.isError?k(B,{children:_(d.error)}):null]})})}var H={off:`Off`,lite:`Lite — names the lazier option`,full:`Full — the ladder enforced`,ultra:`Ultra — challenges the requirement`},U=[{id:`tier`,label:`Tier`,blurb:`Prefers a lower tier.`},{id:`health`,label:`Health`,blurb:`Penalises recent failures and an open breaker.`},{id:`quota`,label:`Quota`,blurb:`Prefers accounts ahead of their window's burn rate.`},{id:`cost`,label:`Cost`,blurb:`Prefers the cheaper candidate.`},{id:`latency`,label:`Latency`,blurb:`Prefers the faster observed first token.`},{id:`load`,label:`Load`,blurb:`Prefers accounts with fewer requests in flight.`}],W=[{id:`maxAttempts`,label:`Attempts per request`,hint:`Candidates dispatch may try. 1 disables failover.`,unit:`attempts`,step:1,min:1},{id:`requestDeadlineMs`,label:`Request deadline`,hint:`Across all attempts. 0 disables only OmniGateway's deadline.`,unit:`ms`,step:1e3,min:0},{id:`breakerThreshold`,label:`Breaker threshold`,hint:`Consecutive failures before an account and model leaves rotation.`,unit:`failures`,step:1,min:1},{id:`breakerCooldownMs`,label:`Breaker cooldown`,hint:`Wait before a tripped account is probed. Doubles per extra failure.`,unit:`ms`,step:1e3,min:1},{id:`logRetentionDays`,label:`Log retention`,hint:`How long request rows are kept before pruning.`,unit:`days`,step:1,min:1},{id:`quotaPollIntervalMs`,label:`Quota poll interval`,hint:`How often a provider is asked for remaining quota. 0 disables. Needs a restart.`,unit:`ms`,step:6e4,min:0}],G=j.div`
38
38
  display: grid;
39
39
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
40
40
  gap: ${({theme:e})=>e.space(3)};
@@ -1,4 +1,4 @@
1
- import{_ as e,i as t,y as n}from"./shared-Dtkw6SE0.js";import{$ as r,F as i,I as a,K as o,L as s,V as ee,W as te,Zt as ne,at as re,et as ie,g as c,it as ae,j as l,l as oe,nt as u,ot as d,r as f,rt as se,tt as p,u as ce}from"./Lamp-DkvXKB-B.js";import{C as m,D as h,O as g,_,a as le,b as v,i as ue,t as de,v as y,x as b,y as x}from"./Panel-CWmOTDAP.js";import{D as fe,i as pe,t as me,x as S}from"./Rack-CEuCdVXc.js";import{a as he,i as ge,n as _e,r as ve,t as ye}from"./RequestTable-CSQGt9W_.js";import{t as C}from"./chevron-down-Bs0tSOyA.js";import{t as w}from"./chevron-right-DSaI1kFo.js";import{i as T,r as E}from"./index-89mqAVmK.js";import{i as be}from"./Field-BYBri2NV.js";import{t as D}from"./Meter-stpt3vQu.js";import{i as O,n as k,r as A,t as j}from"./Table-CVDZ69Zx.js";import{n as xe,r as M}from"./WindowChart-BeGPsccS.js";import{i as N,n as P,r as Se,t as Ce}from"./SummaryDeck-7ivuca39.js";import{Fragment as we,useMemo as F,useState as I}from"react";import{Fragment as Te,jsx as L,jsxs as R}from"react/jsx-runtime";import z from"styled-components";var B=z.div`
1
+ import{_ as e,i as t,y as n}from"./shared-Dtkw6SE0.js";import{$ as r,F as i,I as a,K as o,L as s,V as ee,W as te,Zt as ne,at as re,et as ie,g as c,it as ae,j as l,l as oe,nt as u,ot as d,r as f,rt as se,tt as p,u as ce}from"./Lamp-DkvXKB-B.js";import{C as m,D as h,O as g,_,a as le,b as v,i as ue,t as de,v as y,x as b,y as x}from"./Panel-CWmOTDAP.js";import{D as fe,i as pe,t as me,x as S}from"./Rack-CEuCdVXc.js";import{a as he,i as ge,n as _e,r as ve,t as ye}from"./RequestTable-D8L6iVJV.js";import{t as C}from"./chevron-down-Bs0tSOyA.js";import{t as w}from"./chevron-right-DSaI1kFo.js";import{i as T,r as E}from"./index-Bk9sabex.js";import{i as be}from"./Field-BYBri2NV.js";import{t as D}from"./Meter-stpt3vQu.js";import{i as O,n as k,r as A,t as j}from"./Table-CVDZ69Zx.js";import{n as xe,r as M}from"./WindowChart-BeGPsccS.js";import{i as N,n as P,r as Se,t as Ce}from"./SummaryDeck-7ivuca39.js";import{Fragment as we,useMemo as F,useState as I}from"react";import{Fragment as Te,jsx as L,jsxs as R}from"react/jsx-runtime";import z from"styled-components";var B=z.div`
2
2
  display: grid;
3
3
  grid-template-areas:
4
4
  "chassis"
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_app-Drf03PWk.js","assets/Panel-CWmOTDAP.js","assets/client-BZ_ev12J.js","assets/shared-Dtkw6SE0.js","assets/Lamp-DkvXKB-B.js","assets/Rack-CEuCdVXc.js","assets/RequestTable-CSQGt9W_.js","assets/TokenBreakdown-D1Wtza1y.js","assets/chevron-right-DSaI1kFo.js","assets/dist-D03q-60i.js","assets/Chip-D4qvhu1D.js","assets/Field-BYBri2NV.js","assets/Table-CVDZ69Zx.js","assets/chevron-down-Bs0tSOyA.js","assets/Meter-stpt3vQu.js","assets/WindowChart-BeGPsccS.js","assets/SummaryDeck-7ivuca39.js","assets/Readout-BTh732hP.js","assets/login-75MYwRdC.js","assets/reasons-Du1OBWAM.js","assets/_app.index-DigYfob3.js","assets/_app.accounts-W1USUo2Q.js","assets/CopyValue-SnsT2LML.js","assets/plus-BCfjC6nk.js","assets/trash-D4QWzEK_.js","assets/Toggle-t82IhqEt.js","assets/_app.console-BvIGqIe7.js","assets/_app.database-CtFJLcfE.js","assets/_app.keys-B1fRMyU-.js","assets/_app.logs-D73Qcx9S.js","assets/_app.models-Dpl1O2RE.js","assets/_app.settings-tRLrVJoq.js","assets/_app.usage-D2qlcEp4.js","assets/_app.plugins._pluginId-BNrRTn9l.js","assets/preload-helper-BPaHpbO_.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_app-Drf03PWk.js","assets/Panel-CWmOTDAP.js","assets/client-k1tkFSNH.js","assets/shared-Dtkw6SE0.js","assets/Lamp-DkvXKB-B.js","assets/Rack-CEuCdVXc.js","assets/RequestTable-D8L6iVJV.js","assets/TokenBreakdown-D1Wtza1y.js","assets/chevron-right-DSaI1kFo.js","assets/dist-D03q-60i.js","assets/Chip-D4qvhu1D.js","assets/Field-BYBri2NV.js","assets/Table-CVDZ69Zx.js","assets/chevron-down-Bs0tSOyA.js","assets/Meter-stpt3vQu.js","assets/WindowChart-BeGPsccS.js","assets/SummaryDeck-7ivuca39.js","assets/Readout-BTh732hP.js","assets/login-DW2Ipp21.js","assets/reasons-Du1OBWAM.js","assets/_app.index-DigYfob3.js","assets/_app.accounts-W1USUo2Q.js","assets/CopyValue-SnsT2LML.js","assets/plus-BCfjC6nk.js","assets/trash-D4QWzEK_.js","assets/Toggle-t82IhqEt.js","assets/_app.console-Co9d2ZiD.js","assets/_app.database-CtFJLcfE.js","assets/_app.keys-B1fRMyU-.js","assets/_app.logs-CFixPsUw.js","assets/_app.models-Dpl1O2RE.js","assets/_app.settings-C3GzeJ4q.js","assets/_app.usage-D2qlcEp4.js","assets/_app.plugins._pluginId-BK0ADugW.js","assets/preload-helper-BPaHpbO_.js"])))=>i.map(i=>d[i]);
2
2
  import{Cn as e,Dn as t,En as n,H as r,In as i,K as a,Mn as o,Mt as s,Nn as c,On as l,Pn as u,Sn as d,Tn as f,W as p,_n as m,an as h,cn as g,fn as _,gn as v,hn as y,jn as b,kn as x,ln as S,mn as C,on as w,pn as T,rn as E,sn as ee,un as te,vn as ne,wn as re,xn as ie,yn as ae}from"./Lamp-DkvXKB-B.js";import{a as oe,c as se,i as ce,n as D,o as le,r as O,s as ue,t as k}from"./preload-helper-BPaHpbO_.js";import{A as de,C as fe,D as pe,_ as me,a as he,k as A,l as ge,s as _e,t as ve}from"./Panel-CWmOTDAP.js";import{C as ye,E as be,T as xe,n as Se}from"./Rack-CEuCdVXc.js";import{MutationCache as Ce,QueryCache as we,QueryClient as Te,QueryClientProvider as Ee,useQueryClient as De}from"@tanstack/react-query";import*as j from"react";import{StrictMode as Oe,createContext as ke,use as Ae,useEffect as M,useRef as je,useState as Me,useSyncExternalStore as Ne}from"react";import{Fragment as Pe,jsx as N,jsxs as P}from"react/jsx-runtime";import{createRoot as Fe}from"react-dom/client";import Ie from"styled-components";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function F(e){return e?.isNotFound===!0}function Le(){try{return sessionStorage}catch{return}}var Re=`tsr-scroll-restoration-v1_3`,ze=Le();function Be(){try{return JSON.parse(ze?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Ve(){try{ze?.setItem(Re,JSON.stringify(I))}catch{}}var I=Be(),He=`data-scroll-restoration-id`,Ue=e=>e.state.__TSR_key||e.href;function We(e){let t=e.getAttribute(He);if(t)return`[${He}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Ge=!1,Ke=`window`;function qe(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Je(e){let t=new Set;for(let n of e){if(n===Ke)continue;let e=qe(n);e&&t.add(e)}return t}function Ye(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Ue,a=new Set,o=e=>{let t=I[e]||={};for(let e of a)e===document?t[Ke]={scrollX,scrollY}:e.isConnected&&(t[We(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Ge=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Ge||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Ve()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=I[d];if(e){let t=I[u];for(let n in e){if(n===Ke){if(s)continue}else{let e=qe(n);if(!e||s&&o&&(l??=Je(o),l.has(e)))continue}t||=I[u]={},t[n]??=e[n]}}}Ge=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Je(o));let t=e&&i&&c,s=r.restoring?I[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Ke){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=qe(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Ge=!1}}))}function Xe(e,t=String){let n;for(let r in e){let i=e[r];i!==void 0&&(n||=new URLSearchParams).set(r,t(i))}return n?n.toString():``}function Ze(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Qe(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=Ze(r):Array.isArray(t)?t.push(Ze(r)):n[e]=[t,Ze(r)]}return n}var $e=/^(?:\s|["[{\d-]|fa|nu|tr)/,et=nt(JSON.parse),tt=rt(JSON.stringify,JSON.parse);function nt(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=Qe(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!$e.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function rt(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!$e.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=Xe(e,r);return t?`?${t}`:``}}function it(e){return{input:({url:t})=>{for(let n of e)t=ot(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=st(e[n],t);return t}}}function at(e){let t=te(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=g([`/`,t,e.pathname]),e)}}function ot(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function st(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function ct(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),f=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function p(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let m={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:f,getMatchStore:p,setMatches:h};function h(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{d(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=p(t.routeId);e.get()!==t&&e.set(t)}})}return m}var L=`__TSR_index`,lt=`popstate`,ut=`beforeunload`,dt=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function ft(e){let t=dt.exec(e);return t?`/`+e.slice(t[0].length):e}function pt(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>`
3
3
  \r`.includes(e)?``:encodeURIComponent(e))),ft(e)}function mt(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=_t(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[L];i=ht(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[L];i=ht(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[L]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function ht(e,t){t||={};let n=vt();return{...t,key:n,__TSR_key:n,[L]:e}}function gt(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>pt(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>_t(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=vt();t.history.replaceState({[L]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=_t(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[L]-l.state[L],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=mt({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(ut,x,{capture:!0}),t.removeEventListener(lt,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(ut,x,{capture:!0}),t.addEventListener(lt,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function _t(e,t){let n=pt(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=vt();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[L]:0,key:a,__TSR_key:a}}}function vt(){return(Math.random()+1).toString(36).substring(7)}function yt(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function bt(e){return e.pathname+e.search+e.hash}function xt(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function St(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function Ct({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function wt(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function Tt(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var Et=class{constructor(r,i){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=w(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:gt()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=ae(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=ct(this.latestLocation,e),Ye(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=te(a);t&&t!==`/`&&e.push(at({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:it(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=ne(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&m(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(t,n)=>{let r=({pathname:t,search:r,hash:i,href:a,state:s})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(t)){let a=this.options.parseSearch(r),c=this.options.stringifySearch(a);return{href:t+c+i,publicHref:t+c+i,pathname:e(t),external:!1,searchStr:c,search:o(n?.search,a),hash:e(i.slice(1)),state:u(n?.state,s)}}let c=new URL(a,this.origin),l=ot(this.rewrite,c),d=this.options.parseSearch(l.search),f=this.options.stringifySearch(d);return l.search=f,{href:l.href.replace(l.origin,``),publicHref:a,pathname:e(ft(l.pathname)),external:!!this.rewrite&&yt(l,this.origin),searchStr:f,search:o(n?.search,d),hash:e(l.hash.slice(1)),state:u(n?.state,s)}},i=r(t),{__tempLocation:a,__tempKey:s}=i.state;if(a&&(!s||s===this.tempLocationKey)){let e=r(a);return e.state.key=i.state.key,e.state.__TSR_key=i.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:i}}return i},this.resolvePathWithBase=(e,t)=>S({base:e,to:t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=y(_(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=t=>{let r=(r={})=>{if(r.href){let e=_t(r.href,{});r={...r,to:ot(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let i=r._fromLocation||this._pendingLocation||this.latestLocation,a=this.matchRoutesLightweight(i),s=r.unsafeRelative===`path`?i.pathname:r.from??a[1],c=a[2],d=a[3],p=this.resolvePathWithBase(s,r.to?`${r.to}`:`.`),m=Nt(r.params,d),h=this.routesByPath[_(p)],g;if(h)g=this.getRouteBranch(h);else if(p.includes(`$`))g=[];else{let[e,t,n]=this.getMatchedRoutes(p);g=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(g=[...g,this.options.notFoundRoute])}if(g.length&&l(m))for(let e of g){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){m===d&&(m=Object.assign(Object.create(null),m));try{Object.assign(m,t(m))}catch{}}}let v=t.leaveParams?p:e(ft(ee({path:p,params:m,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath)),y=c;if(t._includeValidateSearch&&this.options.search?.strict){let e={};g.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,At(t.options.validateSearch,{...e,...y}))}catch{}}),y=e}y=jt(y,r,g,t._includeValidateSearch),y=o(c,y);let b=this.options.stringifySearch(y),x=r.hash===!0?i.hash:r.hash?n(r.hash,i.hash):void 0,S=x?`#${x}`:``,C=r.state===!0?i.state:r.state?n(r.state,i.state):{};r.state&&(C=u(i.state,C));let w=`${v}${b}${S}`,T,E,te=!1;if(this.rewrite){let e=new URL(w,this.origin),t=e.origin,n=st(this.rewrite,e);T=bt(e),yt(n,t)?(E=n.href,te=!0):E=ft(bt(n))}else T=f(w),E=T;return{publicHref:E,href:T,pathname:v,search:y,searchStr:b,state:C,hash:x??``,external:te,unmaskOnReload:r.unmaskOnReload}},i=r(t);if(t.mask)i.maskedLocation=r({from:t.from,...t.mask});else if(this.options.routeMasks){let e=C(i.pathname,this.processedTree);if(e){let n=Object.assign(Object.create(null),e.rawParams),{from:a,params:o,...s}=e.route,c=Nt(o,n);i.maskedLocation=r({from:t.from,...s,params:c})}}return i},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return Dt(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=_(this.latestLocation.href)===_(n.href)&&re(Ct(n.state),Ct(this.latestLocation.state)),o=this._commitPromise,s,c=new Promise(e=>{s=e});if(c.resolve=()=>{s(),o?.resolve()},this._commitPromise=c,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:n,href:r,publicHref:i,...a})=>{let o=r?t(r):void 0;if(o||n){if(e!==void 0||!r){let t=this.buildLocation({to:e,...a}),n=t.maskedLocation??t;r??=n.publicHref,i??=n.publicHref}let t=!o&&i?i:r;return Dt(this,t,a)}return this.buildAndCommitLocation({...a,href:r,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await pn(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(St(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&xt(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let n=e.options,r=e.headers.get(`Location`)||n.href;if(!r){let e=this.buildLocation(n);r=(e.maskedLocation??e).publicHref||`/`}let i;if(c.test(r)||(i=t(r))&&!this.protocolAllowlist.has(i))throw Error(`Redirect blocked: unsafe protocol`);if(i===`http:`||i===`https:`){let e=new URL(r);e.pathname.startsWith(`//`)?r=e.href:yt(e,this.origin)||(r=bt(e),i=void 0)}return i&&(n.reloadDocument=!0),n.href=r,e.headers.set(`Location`,r),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=R,this.preloadRoute=e=>mn(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=v(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!re(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?re(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=i,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...r,caseSensitive:r.caseSensitive??!1,notFoundMode:r.notFoundMode??`fuzzy`,stringifySearch:r.stringifySearch??tt,parseSearch:r.parseSearch??et,protocolAllowlist:r.protocolAllowlist??ie}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=T(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,s=!1;(i?i.path!==`/`&&r[`**`]:_(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:s=!0);let c=s?Mt(this.options.notFoundMode,a):void 0,l=Array(a.length),d=this._committed,f=(e,t)=>{let n=d[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?d.find(t=>t.routeId===e.id):void 0},p;for(let n=0;n<a.length;n++){let i=a[n],s=l[n-1],d,m,h;{let n=s?.search??e.search,r=s?._strictSearch??void 0;try{let e=At(i.options.validateSearch,{...n})??void 0;d={...n,...e},m={...r,...e}}catch(e){let r=e;if(e instanceof Ot||(r=new Ot(e.message,{cause:e})),t?.throwOnError)throw r;d=n,m={},h=r}}let g=``,_=``;try{g=i.options.loaderDeps?.({search:d})??``,_=g&&JSON.stringify(g)||``}catch(e){if(t?.throwOnError)throw e;h??=e}let{interpolatedPath:v,usedParams:y}=ee({path:i.fullPath,params:r,decoder:this.pathParamsDecoder,server:this.isServer}),b=i.id+v+_,x=f(i,n),S=this._cache.get(b)??(x?.id===b?x:void 0);p=S?._strictParams??Object.assign(y,p);let C;if(!S)try{Pt(i,p)}catch(e){if(C=F(e)||le(e)?e:new kt(e.message,{cause:e}),t?.throwOnError)throw C}let w=x?`stay`:`enter`,T;if(S)T={...S,cause:w,search:o(x?x.search:S.search,d),_strictSearch:m,searchError:h};else{let e=xt(i)?`pending`:`success`;T={id:b,ssr:i.options.ssr,index:n,routeId:i.id,params:x?.params??p,_strictParams:p,pathname:v,updatedAt:Date.now(),search:x?o(x.search,d):d,_strictSearch:m,searchError:h,status:e,isFetching:!1,error:void 0,paramsError:C,context:{},abortController:t?._controller??new AbortController,cause:w,loaderDeps:x?u(x.loaderDeps,g):g,invalid:!1,preload:!1,staticData:i.options.staticData||{},fullPath:i.fullPath}}let E=c===i.id;T._notFound&&!E&&(T.error=void 0),T._notFound=E,l[n]=T}for(let e=0;e<l.length;e++){let n=l[e];n.params=n.cause===`stay`?o(n.params,p):p,t?._controller&&(n.context={})}return l}matchRoutesLightweight(e){let t=b(this.stores.ids.get()),n=t?this.stores.byRoute.get(t).get():void 0,r=n?.id,i=this.lightweightCache.get(e);if(i&&i[0]===r)return i[1];let[a,o]=this.getMatchedRoutes(e.pathname),s=b(a),c={...e.search};for(let e of a)try{Object.assign(c,At(e.options.validateSearch,c))}catch{}let l=n&&n.routeId===s.id&&n.pathname===e.pathname,u;if(l)u=n.params;else{let e=Object.assign(Object.create(null),o);for(let t of a)try{Pt(t,e)}catch{}u=e}let d=[a,s.fullPath,c,u];return this.lightweightCache.set(e,[r,d]),d}};async function Dt(e,t,{replace:n,ignoreBlocker:r}){if(!x(t,e.protocolAllowlist)){if(!r){let t=e.history._getBlockers();for(let r of t)if(r?.blockerFn&&await r.blockerFn({currentLocation:e.history.location,nextLocation:e.history.location,action:n?`REPLACE`:`PUSH`}))return}e.history._ignoreNextBeforeUnload?.(t),n?window.location.replace(t):window.location.href=t}}var Ot=class extends Error{},kt=class extends Error{};function At(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new Ot(`Async validation not supported`);if(n.issues)throw new Ot(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function jt(e,t,r,i){let a=[];for(let e of r){let t=e.options;`search`in t?t.search?.middlewares&&a.push(...t.search.middlewares):(t.preSearchFilters||t.postSearchFilters)&&a.push(({search:e,next:n})=>{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;i&&n&&a.push(({search:e,next:t,meta:r})=>{let i=t(e);try{let e=At(n,i);if(r&&e)for(let t in e)t in i||(r.defaulted||=new Map).set(t,e[t]);return{...i,...e}}catch{}return i})}let o=(e,r,i)=>{if(e>=a.length){if(!t.search)return{};if(t.search===!0)return r;let e=n(t.search,r);return i&&(i.explicit=e),e}return a[e]({search:r,next:(t,n)=>{if(n){let n=i||{};return{search:o(e+1,t,n),meta:n}}return o(e+1,t,i)},meta:i})};return o(0,e)}function Mt(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return se}function Nt(e,t){if(e===!1||e===null)return Object.create(null);if((e??!0)===!0)return t;let r=Object.assign(Object.create(null),t);return Object.assign(r,n(e,r))}function Pt(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function Ft(e,t){return e.options[t]?.preload?.()}function It(e,t){let n=Ft(e,`component`),r=Ft(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function R(e,t,n){let r=()=>t===!1?void 0:t?Ft(e,t):It(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function Lt(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t<e.length?e.slice(0,t):e}var z=0,B=1,Rt=2,V=3,H=[4];function zt(e){return typeof e[0]==`number`}function U(e,t){return t.aborted?Promise.race([Promise.reject(t),e]):new Promise((n,r)=>{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function W(e,t){return e.routesById[t.routeId]}function G(e,t,n){return le(e)?[V,e]:F(e)?(e.routeId||=n,[Rt,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[B,e]):[z,e]}function Bt(e,t){let n=G(t,!0,e.id);if(n[0]!==B)return n;try{e.options.onError?.(n[1])}catch(t){n=G(t,!0,e.id)}return n}function K(e,t,n,r,i){return i[0].signal.aborted?H:$t(e,t,n,Bt(n,r),i)}async function Vt(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;i<r;i++){let r=s[i],u=W(e,r);r.abortController=n[0];let d=s[i-1]?.context??e.options.context??{},f={params:r.params,location:o,navigate:t=>e.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return q(e,r),[i,K(e,t,u,a,n)]}if(c.aborted)return[i,H];let p=r.paramsError??r.searchError;if(p!==void 0)return q(e,r),[i,K(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Wt(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?U(a,c):a);if(c.aborted)return[i,H];let s=$t(e,t,u,G(o,!1,u.id),n);if(s[0]!==z)return q(e,r),[i,s];r.context={...r.context,...o}}catch(a){return q(e,r),[i,K(e,t,u,a,n)]}finally{r.status=h,Wt(e,r,!1,n[0])}}i()}function Ht(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function q(e,t){let n=t._flight;t._flight=void 0,Ht(e,t,n)?.abort()}function J(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ht(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Ut(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Wt(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Gt(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Kt(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return H;if(!i)return[z,void 0];let l=n._flight;Wt(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Gt(e,t,n,r,s,a,!!o[3]))).then(e=>G(e,!1,r.id),e=>G(e,!0,r.id)).then(t=>(t[0]!==z&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===B&&l[2]?Bt(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],$t(e,t,r,await U(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return q(e,n),H}finally{Wt(e,n,!1,s)}}function qt(e,t,n){t[0]!==V&&(e.status=`success`,e.error=void 0,t[0]===z?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Jt(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&q(e,r)}function Yt(e,t){return t[0]===B||t[0]===Rt?{...e,status:t[0]===B?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Xt(e,t,n,r,i,a,o){let s=t[1][n],c=W(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Gt(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=H)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,q(e,s),p=K(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Ht(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Kt(e,t,s,c,g,i,a).then(t=>(qt(s,t,l),t[0]===z&&(m&&!a[0].signal.aborted&&Jt(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[z,s.loaderData]),T=(async()=>{try{let e=R(c,void 0,C);e&&await U(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,K(e,t,c,r,a)]}let r=await w;x&&r[0]===z&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>Yt(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let ee=Kt(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,qt(E,e,!1),e));return(t[2]??=[]).push([n,ee,T,E]),ee.then(e=>Yt(E,e))}async function Zt(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=W(e,t[n]);try{let e=R(i,!1);e&&await U(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Y(e,t){t[2]&&=(J(e,t[2].map(e=>e[3])),void 0)}async function Qt(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=V)throw[a,t];!i&&t[0]!==z&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===V)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function $t(e,t,n,r,i,a){for(;r[0]===V;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[V,t]:[V,t,a]}return[V,o,n]}catch(e){r=a?[B,e]:Bt(n,e),a=!0}}return r}async function en(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===Rt?Zt(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=V)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==z&&t[0]<V&&!(`loaderData`in o[e[0]])){s=[e[0],t],d=s[2]=await u(s);break}}}for(let e of n){if(e[0]>=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=V){let n=s[1];if(n[0]!==V||n[1].options.reloadDocument||n[2])return Y(e,t),n;c=!0,s=[0,[B,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===B?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=W(e,u);try{await U(i?Promise.resolve().then(()=>R(m,l===B?`errorComponent`:`notFoundComponent`)):Promise.all([R(m),R(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Y(e,t),H}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Y(e,t),J(e,o),p()):u.status=`success`}return t}async function tn(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;t<i;t++){let r=a[t],i=W(e,r).options;if(i.head||i.scripts)try{let t={ssr:e.options.ssr,matches:a,match:r,params:r.params,loaderData:r.loaderData},[o,s]=await U(Promise.all([i.head?.(t),i.scripts?.(t)]),n);r.meta=o?.meta,r.links=o?.links,r.headScripts=o?.scripts,r.styles=o?.styles,r.scripts=s}catch(e){if(e===n&&n.aborted)break;console.error(e)}if(r.status!==`success`||r._notFound)break}return t}async function nn(e,t,n,r){let i=[t,n],a=r[0].signal,o;try{let t=e.stores.matches.get(),s=n.findIndex(e=>e._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Zt(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l<c&&l!==s;){let e=n[l],i=r[2][l],a=t[l];if(i?.id!==e.id||i.status!==`success`||e.preload||a?.id!==e.id||a.status!==`success`||(l++,i._notFound||a._notFound))break}let u=[],d=r[6]??0,f=d?Promise.resolve(n[d-1]):void 0,p=()=>{for(let t=d;t<c&&!a.aborted;t++)f=Xt(e,i,t,u,f,r,l)},m=await Vt(e,i,r,c,p,l);if(m){if(r[4]=!0,c=m[0],m[1][0]===Rt){let t=await Zt(e,n,m,a);m[2]=t,c=Math.min(c,t+1)}else m[1][0]>=V&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=en(e,i,u,r[0],Qt(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Qt(i[2],void 0,void 0,h.then(e=>zt(e)?0:Lt(n).length,()=>0))),o=await h}catch(t){if(Y(e,i),t===a&&a.aborted)return H;throw t}return zt(o)?o:tn(e,o,a,r[6]===n.length?r[6]:0)}function rn(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a<n.length;a++){let o=n[a],s=o.status===`success`&&!o._notFound,c=r[a]?.id===o.id&&r[a]?.status===`pending`;if(s&&!c)continue;let l=W(e,o),u=s||o.invalid?0:l.options.pendingMs??e.options.defaultPendingMs,d=l.options.pendingComponent??e.options.defaultPendingComponent;if(!d||typeof u!=`number`||u===1/0){i&&(i[0]=t,i[2]=0,i[4]=!0);return}let f=l.options.pendingMinMs??e.options.defaultPendingMinMs??0,p=!1;if(i?.[1]===o.id?(p=i[0]!==t,i[0]=t):(clearTimeout(i?.[3]),e._pending=i=void 0),i||(e._pending=i=[t,o.id,c?Date.now()+f:t[4]+u,void 0,c||void 0,d]),i[4]&&!p&&i[5]===d)return;if(i[5]=d,!i[4]){clearTimeout(i[3]);let n=i[2]-Date.now();if(n>0){i[3]=setTimeout(()=>rn(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function an(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function on(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!Lt(t[3]).some(e=>e.id===n[1]))return;let i;try{await U(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function sn(e,t){e._committed=t,e.stores.setMatches(t)}function cn(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=Lt(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e<n.length;e++){let t=n[e];(e<s||t.status===`success`)&&r.add(t.id)}for(let n of[...i,...o.values()]){if(n.status!==`success`||r.has(n.id))continue;let i=W(e,n);!i.options.loader||t-n.updatedAt>=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=wt(n);sn(e,n),J(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),Tt(e,i,n,a,l,t)}async function ln(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function un(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function dn(e,t,n,r,i){let a=n.map(e=>({...e}));Ut(a);for(let t of r)q(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await en(e,o,r,t[0],i)}catch(t){throw J(e,a),t}if(zt(s)){J(e,a),s[0]===V&&e._tx===t&&e._committed===n&&await un(e,t,s);return}if(await tn(e,s,t[0].signal),e._tx!==t||e._committed!==n){J(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),q(e,n))}sn(e,a),J(e,n,a)}async function fn(e,t,n,r,i,a){let o=await nn(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(zt(o)){let n=o[0]===V&&e._tx===t;if((!n||o[1].options.reloadDocument)&&an(e,t),J(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){an(e,t);return}await un(e,t,o);return}let s=o[1];if(e._tx===t&&await on(e,t),e._tx!==t){an(e,t),J(e,s),Y(e,o);return}let c=t[2],l=St(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await on(e,t),e._tx!==t){an(e,t),J(e,s),Y(e,o);return}let n=await e.startTransition(()=>{an(e,t),cn(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Y(e,o);return}u?.length&&dn(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function pn(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=St(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await ln(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Ut(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){J(e,m),await ln(e,n);return}e._preflight=void 0;let g,_=()=>fn(e,y,f,()=>rn(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>ln(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Wt(e,t,!1)}n[0].abort(),J(e,n[3],y[3],!0)}if(e._tx!==y){J(e,y[3]),y[3]=[],g?.(),await ln(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&rn(e,y),g?.(_()),await y[5]}async function mn(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Ut(a),o=(e._preloads??=new Map).set(i,a),s=await nn(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),J(e,a)),i.abort()}if(!zt(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){F(e)||console.error(e);return}}}var hn=class extends j.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?j.createElement(this.props.errorComponent??gn,{error:e[0],reset:this.reset}):this.props.children}};function gn({error:e}){let[t,n]=j.useState(!1);return P(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[P(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[N(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),N(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),N(`div`,{style:{height:`.25rem`}}),t?N(`div`,{children:N(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?N(`code`,{children:e.message}):null})}):null]})}var X=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(X||{});function _n({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function vn(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var yn=[],bn=0,{link:xn,unlink:Sn,propagate:Cn,checkDirty:wn,shallowPropagate:Tn}=_n({update(e){return e._update()},notify(e){yn[Dn++]=e,e.flags&=~X.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=X.Mutable|X.Dirty,An(e))}}),En=0,Dn=0,Z,On=0;function kn(e){try{++On,e()}finally{--On||jn()}}function An(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Sn(n,e)}function jn(){if(!(On>0)){for(;En<Dn;){let e=yn[En];yn[En++]=void 0,e.notify()}En=0,Dn=0}}function Mn(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?X.None:X.Mutable,get(){return Z!==void 0&&xn(i,Z,bn),i._snapshot},subscribe(e){let t=vn(e),n={current:!1},r=Nn(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Z,o=t?.compare??Object.is;if(n)Z=i,++bn,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=X.Mutable|X.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Z=a,n&&(i.flags&=~X.RecursedCheck),An(i)}}};return n?(i.flags=X.Mutable|X.Dirty,i.get=function(){let e=i.flags;if(e&X.Dirty||e&X.Pending&&wn(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Tn(e)}}else e&X.Pending&&(i.flags=e&~X.Pending);return Z!==void 0&&xn(i,Z,bn),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Cn(e),Tn(e),jn())}},i}function Nn(e){let t=()=>{let t=Z;Z=n,++bn,n.depsTail=void 0,n.flags=X.Watching|X.RecursedCheck;try{return e()}finally{Z=t,n.flags&=~X.RecursedCheck,An(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:X.Watching|X.RecursedCheck,notify(){let e=this.flags;e&X.Dirty||e&X.Pending&&wn(this.deps,this)?t():this.flags=X.Watching},stop(){this.flags=X.None,this.depsTail=void 0,An(this)}};return t(),n}function Pn(e){let t=A(),n=`not-found-${E(t.stores.location,e=>e.pathname)}-${E(t.stores.status,e=>e)}`;return N(hn,{getResetKey:()=>n,onCatch:(t,n)=>{if(F(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(F(t))return e.fallback?.(t);throw t},children:e.children})}function Fn(){return N(`p`,{children:`Not Found`})}function Q(e){return N(Pe,{children:e.children})}function In(e,t,n){return t.options.notFoundComponent?N(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?N(e.options.defaultNotFoundComponent,{...n}):N(Fn,{})}function Ln(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?N(n,{}):null}var Rn=(e,t)=>e[0]===t[0]&&e[1]===t[1],zn=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,Bn=j.memo(function({routeId:e}){let t=A();return N(Vn,{router:t,match:E(t.stores.getMatchStore(e),e=>e)})});function Vn({router:e,match:t}){let n=e.routesById[t.routeId],r=Ln(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=zn(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?j.Suspense:Q,l=i?hn:Q,u=o?Pn:Q;return P(n.isRoot?n.options.shellComponent??Q:Q,{children:[N(oe.Provider,{value:t.routeId,children:N(c,{fallback:r,children:N(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(F(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:N(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return j.createElement(o,e)},children:s?N(h,{fallback:r,children:N(Hn,{match:t})}):N(Hn,{match:t})})})})}),null]})}var Hn=j.memo(function({match:e}){let t=A(),n=e.routeId,r=t.routesById[n],i=j.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=j.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?N(e,{},i):N(Un,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!zn(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return Ln(t,r)}if(e.status===`notFound`)return In(t,r,e.error);if(e.status===`error`)throw e.error;return a}),Un=j.memo(function(){let e=A(),t=j.useContext(oe),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=E(a,e=>[!!e._notFound,e.error],Rn),i=E(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return In(e,e.routesById[t],r);if(!i)return null;let a=N(Bn,{routeId:i});return t===`__root__`?N(j.Suspense,{fallback:Ln(e),children:a}):a});function Wn(e,t){let n=e[1];e.length=0,n?.(t)}function Gn({t:e}){let t=A(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{Wn(n,!1),n.push(i,a),e(t),j.startTransition(r)}),i(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(_(r.publicHref)!==_(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...St(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function Kn(){let e=A(),t=e.routesById[se],n=Ln(e,t),r=e.ssr?Q:j.Suspense,i=P(Pe,{children:[N(Gn,{t:j.useState()[1]}),N(r,{fallback:n,children:N(qn,{})})]});return e.options.InnerWrap?N(e.options.InnerWrap,{children:i}):i}function qn(){let e=A(),t=e._rendered,n=E(e.stores.matches,e=>t[0]??e),r=n[0],a=r?.routeId;i(()=>{t[0]===n&&Wn(t,!0)},[t,n]);let o=a?N(Bn,{routeId:a}):null;return N(oe.Provider,{value:a,children:e.options.disableGlobalCatchBoundary?o:N(hn,{getResetKey:()=>r,onCatch:void 0,children:o})})}var Jn=e=>({createMutableStore:Mn,createReadonlyStore:Mn,batch:kn}),Yn=e=>new Xn(e),Xn=class extends Et{constructor(e){super(e,Jn)}};function Zn({router:e,children:t,...n}){l(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=N(de.Provider,{value:e,children:t});return e.options.Wrap?N(e.options.Wrap,{children:r}):r}function Qn({router:e,...t}){return N(Zn,{router:e,...t,children:N(Kn,{})})}var $n=Ie.div`
4
4
  display: flex;
@@ -11,4 +11,4 @@ import{Cn as e,Dn as t,En as n,H as r,In as i,K as a,Mn as o,Mt as s,Nn as c,On
11
11
  font-size: 13px;
12
12
  color: ${({theme:e})=>e.color.inkDim};
13
13
  max-width: 48ch;
14
- `,tr=ce()({component:Un,notFoundComponent:()=>N($n,{children:P(fe,{$gap:3,style:{alignItems:`center`},children:[N(me,{children:`Not found`}),N(er,{children:`This console has no screen at that address.`}),N(pe,{as:`a`,href:`/`,$variant:`primary`,$size:`sm`,children:`Back to the rack`})]})})}),nr=`stream:console`,rr={"res:usage":{predicate:e=>e.queryKey[0]===`usage`||e.queryKey[0]===`client`&&(e.queryKey[1]===`usage`||e.queryKey[1]===`summary`)},"res:logs":{predicate:e=>e.queryKey[0]===`logs`&&e.queryKey[1]!==`body`||e.queryKey[0]===`client`&&e.queryKey[1]===`logs`||(e.queryKey[0]===`logPages`||e.queryKey[0]===`client`&&e.queryKey[1]===`logPages`)&&p(e.state.data)},"res:credentials":{queryKey:a.credentials},"res:keys":{queryKey:a.keys},"res:settings":{queryKey:a.settings},"res:models":{queryKey:a.models},"res:quota":{predicate:e=>e.queryKey[0]===`quota-history`||e.queryKey[0]===`credentials`&&e.queryKey[1]===`health`},[nr]:{queryKey:[`console`]}},ir=Object.keys(rr),ar=ir.filter(e=>e.startsWith(`res:`)),or=ir.filter(e=>e.startsWith(`stream:`));function sr(e,t){if(t===`res:*`){lr(e);return}let n=rr[t];n!==void 0&&e.invalidateQueries(n)}function cr(e){for(let t of ir)sr(e,t)}function lr(e){e.invalidateQueries()}var ur=4401,dr=500,fr=3e4,pr=new Set([...ar,...or]),mr=3,hr=6e4,gr=(e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)};function _r(){let{protocol:e,host:t}=window.location;return`${e===`https:`?`wss:`:`ws:`}//${t}/api/stream`}function vr(e){if(typeof e!=`string`)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t||Array.isArray(t))return null;let n=t,{type:r,topic:i,seq:a}=n;return typeof r!=`string`||i!==void 0&&typeof i!=`string`||a!==void 0&&typeof a!=`number`?null:{type:r,...typeof i==`string`?{topic:i}:{},...typeof a==`number`?{seq:a}:{},...`payload`in n?{payload:n.payload}:{}}}function yr(e){let t=new Set,n=new Set,r=new Map,i=new Map,a=new Map,o=e=>a.has(e)||pr.has(e),s=[],c=null,l=!1,u=!1,d=!1,f=!1,p=!1,m=0,h=null,g={status:`poll`,pushed:()=>!1};function _(){let e=p?`offline`:u&&!f?`push`:`poll`,r=e===`push`;g={status:e,pushed:e=>r&&n.has(e)};for(let e of t)e()}function v(e){c?.send(JSON.stringify(e))}function y(e,t){let n=i.get(e);if(n===void 0||n.size===0)return!1;for(let e of[...n])e(t);return!0}function b(){for(let e of ar)v({type:`subscribe`,topic:e});for(let e of or){let t=r.get(e);v(t===void 0?{type:`subscribe`,topic:e}:{type:`subscribe`,topic:e,sinceSeq:t})}for(let e of a.keys())v({type:`subscribe`,topic:e})}function x(){u=!0,m=0,n.clear(),d&&cr(e.client),d=!0,b(),_()}function S(t){let i=vr(t.data);if(i===null)return;let{topic:a}=i;if(i.type===`ack`){a!==void 0&&o(a)&&(n.add(a),y(a,{kind:`open`}),_());return}if(i.type===`error`){a!==void 0&&(n.delete(a)&&_(),y(a,{kind:`refused`}));return}if(a!==void 0){if(i.type===`gap`){i.seq!==void 0&&r.set(a,i.seq),y(a,{kind:`gap`}),sr(e.client,a);return}if(i.type===`event`){if(a===`res:*`){lr(e.client);return}if(i.seq!==void 0){let t=r.get(a);if(r.set(a,i.seq),t!==void 0&&i.seq>t+1){y(a,{kind:`gap`}),sr(e.client,a);return}}i.payload!==void 0&&y(a,{kind:`frame`,payload:i.payload})||sr(e.client,a)}}}function C(t){let r=u;u=!1,c=null,n.clear();for(let e of[...i.keys()])y(e,{kind:`closed`});if(l){if(t.code===ur){p=!0,l=!1,_(),lr(e.client);return}if(!r)f=!0;else{let t=e.now();s=[...s.filter(e=>e>t-hr),t],s.length>=mr&&(f=!0)}_(),w()}}function w(){let t=Math.min(fr,dr*2**m);m+=1,h=e.timer(()=>{h=null,l&&T()},t)}function T(){let t=new WebSocket(e.url());c=t,t.addEventListener(`open`,x),t.addEventListener(`message`,S),t.addEventListener(`close`,C)}function E(e,t){let n=i.get(e)??new Set;return i.set(e,n),n.add(t),()=>{n.delete(t),n.size===0&&i.delete(e)}}return{subscribe(e){return t.add(e),()=>{t.delete(e)}},snapshot:()=>g,hold(e,t){let r=E(e,t),i=(a.get(e)??0)+1;a.set(e,i),i===1&&u&&v({type:`subscribe`,topic:e}),n.has(e)&&t({kind:`open`});let o=!1;return()=>{if(o)return;o=!0,r();let t=(a.get(e)??1)-1;if(t>0){a.set(e,t);return}a.delete(e),n.delete(e)&&_(),u&&v({type:`unsubscribe`,topic:e})}},publish(e,t){return!u||!n.has(e)?!1:(v({type:`send`,topic:e,payload:t}),!0)},onStream:E,start(){return l=!0,T(),()=>{l=!1,h?.(),h=null;let e=c;c=null,u=!1,e?.close()}}}}var br=ke(null),xr=ke(null),Sr=ke(null),Cr={status:`poll`,pushed:()=>!1};function wr({children:e,enabled:t=!0,timer:n=gr,now:r=Date.now,url:i=_r}){let a=De(),[o]=Me(()=>yr({client:a,timer:n,now:r,url:i})),[s]=Me(()=>({subscribe:(e,t)=>o.hold(e,e=>{if(e.kind===`gap`){t({kind:`closed`});return}t(e)}),send:o.publish}));M(()=>{if(t)return o.start()},[o,t]);let c=Ne(o.subscribe,o.snapshot,o.snapshot);return N(br,{value:c,children:N(xr,{value:o.onStream,children:N(Sr,{value:s,children:e})})})}function Tr(){return Ae(br)??Cr}function Er(e,t){let n=Ae(xr),r=je(t);M(()=>{r.current=t}),M(()=>{if(n!==null)return n(e,e=>r.current(e))},[n,e])}function Dr(e,t){let n=Ae(Sr),r=je(t);M(()=>{r.current=t}),M(()=>{if(n!==null&&e!==null)return n.subscribe(e,e=>r.current(e))},[n,e])}function Or({children:e}){let t=Tr(),n=Ae(Sr);return N(be,{connection:t,...n===null?{}:{channels:n},children:e})}async function kr(e){return e.queryClient.ensureQueryData({queryKey:a.status,queryFn:()=>ge(`/api/status`),revalidateIfStale:!0})}function Ar(e){let t=e.principal;return e.authenticated!==!0||t==null?`/login`:t.kind===`client`?`/client`:t.kind===`admin`||t.kind===`viewer`?`/`:`/login`}function jr(e,t){let n=Ar(e);if(n===`/login`)throw ue({to:`/login`,search:{next:t}});if(n!==`/`)throw ue({to:n})}function Mr(e,t){let n=Ar(e);if(n===`/login`)throw ue({to:`/login`,search:{next:t}});if(n!==`/client`)throw ue({to:n})}var Nr=O(`/_app`)({beforeLoad:async({context:e,location:t})=>{jr(await kr(e),t.href),await e.queryClient.ensureQueryData(r)},pendingComponent:Pr,pendingMs:200,errorComponent:D(()=>k(()=>import(`./_app-Drf03PWk.js`),__vite__mapDeps([0,1])),`errorComponent`),component:Fr});function Pr(){return N(ve,{legend:`Console`,children:N(he,{rows:6})})}function Fr(){let e=s().data??[];return N(wr,{children:P(Or,{children:[N(xe,{$providers:e}),N(Se,{children:N(Un,{})})]})})}var Ir=O(`/client`)({beforeLoad:async({context:e,location:t})=>{Mr(await kr(e),t.href)},component:D(()=>k(()=>import(`./client-BZ_ev12J.js`),__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17])),`component`)}),Lr=O(`/login`)({validateSearch:e=>({...typeof e.next==`string`?{next:e.next}:{},...typeof e.reason==`string`?{reason:e.reason}:{}}),component:D(()=>k(()=>import(`./login-75MYwRdC.js`),__vite__mapDeps([18,4,1,11,19])),`component`)}),Rr=O(`/_app/`)({component:D(()=>k(()=>import(`./_app.index-DigYfob3.js`),__vite__mapDeps([20,4,1,5,7,10,14,12,17])),`component`)}),zr=O(`/_app/accounts`)({component:D(()=>k(()=>import(`./_app.accounts-W1USUo2Q.js`),__vite__mapDeps([21,4,1,5,22,13,8,23,24,25,9,10,11,14,12,15,3])),`component`)}),Br=O(`/_app/console`)({component:D(()=>k(()=>import(`./_app.console-BvIGqIe7.js`),__vite__mapDeps([26,4,1,5,11])),`component`)}),Vr=O(`/_app/database`)({component:D(()=>k(()=>import(`./_app.database-CtFJLcfE.js`),__vite__mapDeps([27,4,1,5,24,11,14,12,17,19])),`component`)}),Hr=O(`/_app/keys`)({component:D(()=>k(()=>import(`./_app.keys-B1fRMyU-.js`),__vite__mapDeps([28,4,1,5,22,13,8,23,25,9,10,11,14,12])),`component`)}),Ur=O(`/_app/logs`)({component:D(()=>k(()=>import(`./_app.logs-D73Qcx9S.js`),__vite__mapDeps([29,4,1,5,6,7,8,9,10,11,12])),`component`)}),Wr=O(`/_app/models`)({component:D(()=>k(()=>import(`./_app.models-Dpl1O2RE.js`),__vite__mapDeps([30,4,1,5,23,24,25,9,10,11,14])),`component`)}),Gr=O(`/_app/settings`)({component:D(()=>k(()=>import(`./_app.settings-tRLrVJoq.js`),__vite__mapDeps([31,4,1,5,25,9,11,14,19])),`component`)}),Kr=O(`/_app/usage`)({component:D(()=>k(()=>import(`./_app.usage-D2qlcEp4.js`),__vite__mapDeps([32,3,4,1,5,12,16,17])),`component`)}),qr=O(`/_app/plugins/$pluginId`)({component:D(()=>k(()=>import(`./_app.plugins._pluginId-BNrRTn9l.js`),__vite__mapDeps([33,4,1,34,5])),`component`)}),$=Nr.update({id:`/_app`,getParentRoute:()=>tr}),Jr=Ir.update({id:`/client`,path:`/client`,getParentRoute:()=>tr}),Yr=Lr.update({id:`/login`,path:`/login`,getParentRoute:()=>tr}),Xr=Rr.update({id:`/`,path:`/`,getParentRoute:()=>$}),Zr={AppAccountsRoute:zr.update({id:`/accounts`,path:`/accounts`,getParentRoute:()=>$}),AppConsoleRoute:Br.update({id:`/console`,path:`/console`,getParentRoute:()=>$}),AppDatabaseRoute:Vr.update({id:`/database`,path:`/database`,getParentRoute:()=>$}),AppKeysRoute:Hr.update({id:`/keys`,path:`/keys`,getParentRoute:()=>$}),AppLogsRoute:Ur.update({id:`/logs`,path:`/logs`,getParentRoute:()=>$}),AppModelsRoute:Wr.update({id:`/models`,path:`/models`,getParentRoute:()=>$}),AppSettingsRoute:Gr.update({id:`/settings`,path:`/settings`,getParentRoute:()=>$}),AppUsageRoute:Kr.update({id:`/usage`,path:`/usage`,getParentRoute:()=>$}),AppIndexRoute:Xr,AppPluginsPluginIdRoute:qr.update({id:`/plugins/$pluginId`,path:`/plugins/$pluginId`,getParentRoute:()=>$})},Qr={AppRoute:$._addFileChildren(Zr),ClientRoute:Jr,LoginRoute:Yr},$r=tr._addFileChildren(Qr)._addFileTypes();function ei(e){return{isLoginRoute:()=>e().state.location.pathname===`/login`,onUnauthenticated:()=>void e().navigate({to:`/login`,search:{next:e().state.location.href}})}}function ti(e){let t=t=>{t instanceof _e&&t.isUnauthenticated&&(e.isLoginRoute()||e.onUnauthenticated())};return new Te({queryCache:new we({onError:t}),mutationCache:new Ce({onError:t}),defaultOptions:{queries:{retry:(e,t)=>t instanceof _e&&t.isUnauthenticated?!1:e<2,staleTime:5e3,refetchOnWindowFocus:!0},mutations:{retry:!1}}})}var ni,ri=ti(ei(()=>ni));ni=Yn({routeTree:$r,context:{queryClient:ri}});var ii=document.getElementById(`root`);if(ii===null)throw Error(`#root is missing from index.html`);Fe(ii).render(N(Oe,{children:N(ye,{children:N(Ee,{client:ri,children:N(Qn,{router:ni})})})}));export{Dr as a,sr as c,Or as i,Lr as n,Er as o,wr as r,nr as s,qr as t};
14
+ `,tr=ce()({component:Un,notFoundComponent:()=>N($n,{children:P(fe,{$gap:3,style:{alignItems:`center`},children:[N(me,{children:`Not found`}),N(er,{children:`This console has no screen at that address.`}),N(pe,{as:`a`,href:`/`,$variant:`primary`,$size:`sm`,children:`Back to the rack`})]})})}),nr=`stream:console`,rr={"res:usage":{predicate:e=>e.queryKey[0]===`usage`||e.queryKey[0]===`client`&&(e.queryKey[1]===`usage`||e.queryKey[1]===`summary`)},"res:logs":{predicate:e=>e.queryKey[0]===`logs`&&e.queryKey[1]!==`body`||e.queryKey[0]===`client`&&e.queryKey[1]===`logs`||(e.queryKey[0]===`logPages`||e.queryKey[0]===`client`&&e.queryKey[1]===`logPages`)&&p(e.state.data)},"res:credentials":{queryKey:a.credentials},"res:keys":{queryKey:a.keys},"res:settings":{queryKey:a.settings},"res:models":{queryKey:a.models},"res:quota":{predicate:e=>e.queryKey[0]===`quota-history`||e.queryKey[0]===`credentials`&&e.queryKey[1]===`health`},[nr]:{queryKey:[`console`]}},ir=Object.keys(rr),ar=ir.filter(e=>e.startsWith(`res:`)),or=ir.filter(e=>e.startsWith(`stream:`));function sr(e,t){if(t===`res:*`){lr(e);return}let n=rr[t];n!==void 0&&e.invalidateQueries(n)}function cr(e){for(let t of ir)sr(e,t)}function lr(e){e.invalidateQueries()}var ur=4401,dr=500,fr=3e4,pr=new Set([...ar,...or]),mr=3,hr=6e4,gr=(e,t)=>{let n=setTimeout(e,t);return()=>clearTimeout(n)};function _r(){let{protocol:e,host:t}=window.location;return`${e===`https:`?`wss:`:`ws:`}//${t}/api/stream`}function vr(e){if(typeof e!=`string`)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t||Array.isArray(t))return null;let n=t,{type:r,topic:i,seq:a}=n;return typeof r!=`string`||i!==void 0&&typeof i!=`string`||a!==void 0&&typeof a!=`number`?null:{type:r,...typeof i==`string`?{topic:i}:{},...typeof a==`number`?{seq:a}:{},...`payload`in n?{payload:n.payload}:{}}}function yr(e){let t=new Set,n=new Set,r=new Map,i=new Map,a=new Map,o=e=>a.has(e)||pr.has(e),s=[],c=null,l=!1,u=!1,d=!1,f=!1,p=!1,m=0,h=null,g={status:`poll`,pushed:()=>!1};function _(){let e=p?`offline`:u&&!f?`push`:`poll`,r=e===`push`;g={status:e,pushed:e=>r&&n.has(e)};for(let e of t)e()}function v(e){c?.send(JSON.stringify(e))}function y(e,t){let n=i.get(e);if(n===void 0||n.size===0)return!1;for(let e of[...n])e(t);return!0}function b(){for(let e of ar)v({type:`subscribe`,topic:e});for(let e of or){let t=r.get(e);v(t===void 0?{type:`subscribe`,topic:e}:{type:`subscribe`,topic:e,sinceSeq:t})}for(let e of a.keys())v({type:`subscribe`,topic:e})}function x(){u=!0,m=0,n.clear(),d&&cr(e.client),d=!0,b(),_()}function S(t){let i=vr(t.data);if(i===null)return;let{topic:a}=i;if(i.type===`ack`){a!==void 0&&o(a)&&(n.add(a),y(a,{kind:`open`}),_());return}if(i.type===`error`){a!==void 0&&(n.delete(a)&&_(),y(a,{kind:`refused`}));return}if(a!==void 0){if(i.type===`gap`){i.seq!==void 0&&r.set(a,i.seq),y(a,{kind:`gap`}),sr(e.client,a);return}if(i.type===`event`){if(a===`res:*`){lr(e.client);return}if(i.seq!==void 0){let t=r.get(a);if(r.set(a,i.seq),t!==void 0&&i.seq>t+1){y(a,{kind:`gap`}),sr(e.client,a);return}}i.payload!==void 0&&y(a,{kind:`frame`,payload:i.payload})||sr(e.client,a)}}}function C(t){let r=u;u=!1,c=null,n.clear();for(let e of[...i.keys()])y(e,{kind:`closed`});if(l){if(t.code===ur){p=!0,l=!1,_(),lr(e.client);return}if(!r)f=!0;else{let t=e.now();s=[...s.filter(e=>e>t-hr),t],s.length>=mr&&(f=!0)}_(),w()}}function w(){let t=Math.min(fr,dr*2**m);m+=1,h=e.timer(()=>{h=null,l&&T()},t)}function T(){let t=new WebSocket(e.url());c=t,t.addEventListener(`open`,x),t.addEventListener(`message`,S),t.addEventListener(`close`,C)}function E(e,t){let n=i.get(e)??new Set;return i.set(e,n),n.add(t),()=>{n.delete(t),n.size===0&&i.delete(e)}}return{subscribe(e){return t.add(e),()=>{t.delete(e)}},snapshot:()=>g,hold(e,t){let r=E(e,t),i=(a.get(e)??0)+1;a.set(e,i),i===1&&u&&v({type:`subscribe`,topic:e}),n.has(e)&&t({kind:`open`});let o=!1;return()=>{if(o)return;o=!0,r();let t=(a.get(e)??1)-1;if(t>0){a.set(e,t);return}a.delete(e),n.delete(e)&&_(),u&&v({type:`unsubscribe`,topic:e})}},publish(e,t){return!u||!n.has(e)?!1:(v({type:`send`,topic:e,payload:t}),!0)},onStream:E,start(){return l=!0,T(),()=>{l=!1,h?.(),h=null;let e=c;c=null,u=!1,e?.close()}}}}var br=ke(null),xr=ke(null),Sr=ke(null),Cr={status:`poll`,pushed:()=>!1};function wr({children:e,enabled:t=!0,timer:n=gr,now:r=Date.now,url:i=_r}){let a=De(),[o]=Me(()=>yr({client:a,timer:n,now:r,url:i})),[s]=Me(()=>({subscribe:(e,t)=>o.hold(e,e=>{if(e.kind===`gap`){t({kind:`closed`});return}t(e)}),send:o.publish}));M(()=>{if(t)return o.start()},[o,t]);let c=Ne(o.subscribe,o.snapshot,o.snapshot);return N(br,{value:c,children:N(xr,{value:o.onStream,children:N(Sr,{value:s,children:e})})})}function Tr(){return Ae(br)??Cr}function Er(e,t){let n=Ae(xr),r=je(t);M(()=>{r.current=t}),M(()=>{if(n!==null)return n(e,e=>r.current(e))},[n,e])}function Dr(e,t){let n=Ae(Sr),r=je(t);M(()=>{r.current=t}),M(()=>{if(n!==null&&e!==null)return n.subscribe(e,e=>r.current(e))},[n,e])}function Or({children:e}){let t=Tr(),n=Ae(Sr);return N(be,{connection:t,...n===null?{}:{channels:n},children:e})}async function kr(e){return e.queryClient.ensureQueryData({queryKey:a.status,queryFn:()=>ge(`/api/status`),revalidateIfStale:!0})}function Ar(e){let t=e.principal;return e.authenticated!==!0||t==null?`/login`:t.kind===`client`?`/client`:t.kind===`admin`||t.kind===`viewer`?`/`:`/login`}function jr(e,t){let n=Ar(e);if(n===`/login`)throw ue({to:`/login`,search:{next:t}});if(n!==`/`)throw ue({to:n})}function Mr(e,t){let n=Ar(e);if(n===`/login`)throw ue({to:`/login`,search:{next:t}});if(n!==`/client`)throw ue({to:n})}var Nr=O(`/_app`)({beforeLoad:async({context:e,location:t})=>{jr(await kr(e),t.href),await e.queryClient.ensureQueryData(r)},pendingComponent:Pr,pendingMs:200,errorComponent:D(()=>k(()=>import(`./_app-Drf03PWk.js`),__vite__mapDeps([0,1])),`errorComponent`),component:Fr});function Pr(){return N(ve,{legend:`Console`,children:N(he,{rows:6})})}function Fr(){let e=s().data??[];return N(wr,{children:P(Or,{children:[N(xe,{$providers:e}),N(Se,{children:N(Un,{})})]})})}var Ir=O(`/client`)({beforeLoad:async({context:e,location:t})=>{Mr(await kr(e),t.href)},component:D(()=>k(()=>import(`./client-k1tkFSNH.js`),__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17])),`component`)}),Lr=O(`/login`)({validateSearch:e=>({...typeof e.next==`string`?{next:e.next}:{},...typeof e.reason==`string`?{reason:e.reason}:{}}),component:D(()=>k(()=>import(`./login-DW2Ipp21.js`),__vite__mapDeps([18,4,1,11,19])),`component`)}),Rr=O(`/_app/`)({component:D(()=>k(()=>import(`./_app.index-DigYfob3.js`),__vite__mapDeps([20,4,1,5,7,10,14,12,17])),`component`)}),zr=O(`/_app/accounts`)({component:D(()=>k(()=>import(`./_app.accounts-W1USUo2Q.js`),__vite__mapDeps([21,4,1,5,22,13,8,23,24,25,9,10,11,14,12,15,3])),`component`)}),Br=O(`/_app/console`)({component:D(()=>k(()=>import(`./_app.console-Co9d2ZiD.js`),__vite__mapDeps([26,4,1,5,11])),`component`)}),Vr=O(`/_app/database`)({component:D(()=>k(()=>import(`./_app.database-CtFJLcfE.js`),__vite__mapDeps([27,4,1,5,24,11,14,12,17,19])),`component`)}),Hr=O(`/_app/keys`)({component:D(()=>k(()=>import(`./_app.keys-B1fRMyU-.js`),__vite__mapDeps([28,4,1,5,22,13,8,23,25,9,10,11,14,12])),`component`)}),Ur=O(`/_app/logs`)({component:D(()=>k(()=>import(`./_app.logs-CFixPsUw.js`),__vite__mapDeps([29,4,1,5,6,7,8,9,10,11,12])),`component`)}),Wr=O(`/_app/models`)({component:D(()=>k(()=>import(`./_app.models-Dpl1O2RE.js`),__vite__mapDeps([30,4,1,5,23,24,25,9,10,11,14])),`component`)}),Gr=O(`/_app/settings`)({component:D(()=>k(()=>import(`./_app.settings-C3GzeJ4q.js`),__vite__mapDeps([31,4,1,5,25,9,11,14,19])),`component`)}),Kr=O(`/_app/usage`)({component:D(()=>k(()=>import(`./_app.usage-D2qlcEp4.js`),__vite__mapDeps([32,3,4,1,5,12,16,17])),`component`)}),qr=O(`/_app/plugins/$pluginId`)({component:D(()=>k(()=>import(`./_app.plugins._pluginId-BK0ADugW.js`),__vite__mapDeps([33,4,1,34,5])),`component`)}),$=Nr.update({id:`/_app`,getParentRoute:()=>tr}),Jr=Ir.update({id:`/client`,path:`/client`,getParentRoute:()=>tr}),Yr=Lr.update({id:`/login`,path:`/login`,getParentRoute:()=>tr}),Xr=Rr.update({id:`/`,path:`/`,getParentRoute:()=>$}),Zr={AppAccountsRoute:zr.update({id:`/accounts`,path:`/accounts`,getParentRoute:()=>$}),AppConsoleRoute:Br.update({id:`/console`,path:`/console`,getParentRoute:()=>$}),AppDatabaseRoute:Vr.update({id:`/database`,path:`/database`,getParentRoute:()=>$}),AppKeysRoute:Hr.update({id:`/keys`,path:`/keys`,getParentRoute:()=>$}),AppLogsRoute:Ur.update({id:`/logs`,path:`/logs`,getParentRoute:()=>$}),AppModelsRoute:Wr.update({id:`/models`,path:`/models`,getParentRoute:()=>$}),AppSettingsRoute:Gr.update({id:`/settings`,path:`/settings`,getParentRoute:()=>$}),AppUsageRoute:Kr.update({id:`/usage`,path:`/usage`,getParentRoute:()=>$}),AppIndexRoute:Xr,AppPluginsPluginIdRoute:qr.update({id:`/plugins/$pluginId`,path:`/plugins/$pluginId`,getParentRoute:()=>$})},Qr={AppRoute:$._addFileChildren(Zr),ClientRoute:Jr,LoginRoute:Yr},$r=tr._addFileChildren(Qr)._addFileTypes();function ei(e){return{isLoginRoute:()=>e().state.location.pathname===`/login`,onUnauthenticated:()=>void e().navigate({to:`/login`,search:{next:e().state.location.href}})}}function ti(e){let t=t=>{t instanceof _e&&t.isUnauthenticated&&(e.isLoginRoute()||e.onUnauthenticated())};return new Te({queryCache:new we({onError:t}),mutationCache:new Ce({onError:t}),defaultOptions:{queries:{retry:(e,t)=>t instanceof _e&&t.isUnauthenticated?!1:e<2,staleTime:5e3,refetchOnWindowFocus:!0},mutations:{retry:!1}}})}var ni,ri=ti(ei(()=>ni));ni=Yn({routeTree:$r,context:{queryClient:ri}});var ii=document.getElementById(`root`);if(ii===null)throw Error(`#root is missing from index.html`);Fe(ii).render(N(Oe,{children:N(ye,{children:N(Ee,{client:ri,children:N(Qn,{router:ni})})})}));export{Dr as a,sr as c,Or as i,Lr as n,Er as o,wr as r,nr as s,qr as t};
@@ -1,4 +1,4 @@
1
- import{Et as e,Xt as t,nn as n,qt as r,t as i}from"./Lamp-DkvXKB-B.js";import{C as a,D as o,E as s,_ as c,b as l,n as u,o as d}from"./Panel-CWmOTDAP.js";import{n as f}from"./index-89mqAVmK.js";import{n as p,t as m}from"./Field-BYBri2NV.js";import{t as h}from"./reasons-Du1OBWAM.js";import{useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import y from"styled-components";var b=y.div`
1
+ import{Et as e,Xt as t,nn as n,qt as r,t as i}from"./Lamp-DkvXKB-B.js";import{C as a,D as o,E as s,_ as c,b as l,n as u,o as d}from"./Panel-CWmOTDAP.js";import{n as f}from"./index-Bk9sabex.js";import{n as p,t as m}from"./Field-BYBri2NV.js";import{t as h}from"./reasons-Du1OBWAM.js";import{useState as g}from"react";import{jsx as _,jsxs as v}from"react/jsx-runtime";import y from"styled-components";var b=y.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
package/public/index.html CHANGED
@@ -9,7 +9,7 @@
9
9
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
10
10
  <title>OmniGateway — One endpoint in front of the AI accounts you already pay for.</title>
11
11
  <script type="importmap">{"imports":{"react":"/shared/react.js","react/jsx-runtime":"/shared/jsx-runtime.js","react-dom":"/shared/react-dom.js","react-dom/client":"/shared/react-dom-client.js","styled-components":"/shared/styled-components.js","@tanstack/react-query":"/shared/react-query.js","@omnigateway/dashboard-sdk":"/shared/dashboard-sdk.js"}}</script>
12
- <script type="module" crossorigin src="/assets/index-89mqAVmK.js"></script>
12
+ <script type="module" crossorigin src="/assets/index-Bk9sabex.js"></script>
13
13
  <link rel="modulepreload" crossorigin href="/assets/Panel-CWmOTDAP.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/Lamp-DkvXKB-B.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-BPaHpbO_.js">