@dudousxd/nestjs-agent-dashboard 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-\[3px\]{top:3px;right:3px;bottom:3px;left:3px}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.left-1{left:.25rem}.right-0{right:0}.top-14{top:3.5rem}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-\[520px\]{max-height:520px}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[520px\]{min-width:520px}.min-w-\[560px\]{min-width:560px}.min-w-\[640px\]{min-width:640px}.min-w-\[700px\]{min-width:700px}.min-w-\[760px\]{min-width:760px}.min-w-\[860px\]{min-width:860px}.min-w-\[var\(--anchor-width\)\]{min-width:var(--anchor-width)}.max-w-\[1180px\]{max-width:1180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[420px\]{max-width:420px}.max-w-\[720px\]{max-width:720px}.max-w-\[min\(28rem\,90vw\)\]{max-width:min(28rem,90vw)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[var\(--transform-origin\)\]{transform-origin:var(--transform-origin)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--line\)\]{border-color:var(--line)}.border-bad\/40{border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.border-bad\/50{border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.border-brand\/40{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.border-brand\/50{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.border-good\/50{border-color:color-mix(in srgb,var(--good) 50%,transparent)}.border-input,.border-line{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--line) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.border-line-soft{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--line-soft) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.border-transparent{border-color:transparent}.border-warn\/40{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.border-warn\/50{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.bg-accent{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-bad\/10{background-color:color-mix(in srgb,var(--bad) 10%,transparent)}.bg-bad\/5{background-color:color-mix(in srgb,var(--bad) 5%,transparent)}.bg-black\/60{background-color:#0009}.bg-brand\/10{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.bg-brand\/20{background-color:color-mix(in srgb,var(--accent) 20%,transparent)}.bg-good{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--good) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-good\/10{background-color:color-mix(in srgb,var(--good) 10%,transparent)}.bg-line{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--line) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-muted-foreground\/50{background-color:color-mix(in srgb,var(--muted) 50%,transparent)}.bg-panel{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-panel-2,.bg-popover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-transparent{background-color:transparent}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-bad{--tw-gradient-from: var(--bad) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--bad) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-brand{--tw-gradient-from: var(--accent) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--accent) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-panel-2{--tw-gradient-from: var(--panel-2) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--panel-2) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-live{--tw-gradient-to: var(--live) var(--tw-gradient-to-position)}.to-panel{--tw-gradient-to: var(--panel) var(--tw-gradient-to-position)}.to-warn{--tw-gradient-to: var(--warn) var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-none{line-height:1}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--muted\)\]{color:var(--muted)}.text-bad{--tw-text-opacity: 1;color:color-mix(in srgb,var(--bad) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-brand{--tw-text-opacity: 1;color:color-mix(in srgb,var(--accent) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-good{--tw-text-opacity: 1;color:color-mix(in srgb,var(--good) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-live{--tw-text-opacity: 1;color:color-mix(in srgb,var(--live) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-muted-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-popover-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-warn{--tw-text-opacity: 1;color:color-mix(in srgb,var(--warn) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.underline{text-decoration-line:underline}.decoration-line{text-decoration-color:var(--line)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--bg: #09090b;--panel: #0c0c0f;--panel-2: #101017;--line: #1c1c22;--line-soft: #16161a;--text: #e7e7ea;--muted: #76767f;--good: #34d399;--warn: #fbbf24;--bad: #f87171;--live: #60a5fa;--accent: #a78bfa}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(900px 420px at 82% -10%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),radial-gradient(700px 360px at 8% -12%,color-mix(in srgb,var(--live) 6%,transparent),transparent 70%),linear-gradient(to right,var(--line-soft) 1px,transparent 1px),linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px);background-size:100% 100%,100% 100%,46px 46px,46px 46px;-webkit-mask-image:linear-gradient(to bottom,black,black 62%,transparent);mask-image:linear-gradient(to bottom,black,black 62%,transparent);opacity:.55}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.tnum{font-variant-numeric:tabular-nums}.dot{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);display:inline-block}.live-pulse{animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .32s cubic-bezier(.2,.7,.2,1) both}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--line) 70%,var(--muted));border:3px solid var(--bg);border-radius:999px}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:border-brand\/50:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.hover\:bg-bad\/20:hover{background-color:color-mix(in srgb,var(--bad) 20%,transparent)}.hover\:bg-brand\/20:hover{background-color:color-mix(in srgb,var(--accent) 20%,transparent)}.hover\:bg-good\/20:hover{background-color:color-mix(in srgb,var(--good) 20%,transparent)}.hover\:bg-panel:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.hover\:bg-panel-2:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.hover\:text-brand:hover{--tw-text-opacity: 1;color:color-mix(in srgb,var(--accent) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:decoration-brand:hover{text-decoration-color:var(--accent)}.focus\:border-brand\/50:focus{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.focus\:bg-panel:focus{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.focus-visible\:border-brand\/50:focus-visible{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: color-mix(in srgb, var(--accent) calc(var(--tw-ring-opacity, 1) * 100%), transparent)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: color-mix(in srgb, var(--accent) 50% , transparent)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[ending-style\]\:translate-x-full[data-ending-style],.data-\[starting-style\]\:translate-x-full[data-starting-style]{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[ending-style\]\:scale-95[data-ending-style],.data-\[starting-style\]\:scale-95[data-starting-style]{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:border-brand[data-active]{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--accent) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.data-\[popup-open\]\:border-brand\/50[data-popup-open]{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.data-\[active\]\:bg-brand\/10[data-active]{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.data-\[active\]\:text-foreground[data-active],.data-\[highlighted\]\:text-accent-foreground[data-highlighted],.data-\[selected\]\:text-foreground[data-selected]{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.data-\[ending-style\]\:opacity-0[data-ending-style],.data-\[starting-style\]\:opacity-0[data-starting-style]{opacity:0}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:inset-x-auto{left:auto;right:auto}.sm\:left-0{left:0}.sm\:top-full{top:100%}.sm\:mt-2{margin-top:.5rem}.sm\:w-60{width:15rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:rounded-lg{border-radius:.5rem}.sm\:border{border-width:1px}}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
@@ -0,0 +1 @@
1
+ var Yt=t=>{throw TypeError(t)};var xt=(t,e,s)=>e.has(t)||Yt("Cannot "+s);var n=(t,e,s)=>(xt(t,e,"read from private field"),s?s.call(t):e.get(t)),f=(t,e,s)=>e.has(t)?Yt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),l=(t,e,s,r)=>(xt(t,e,"write to private field"),r?r.call(t,s):e.set(t,s),s),x=(t,e,s)=>(xt(t,e,"access private method"),s);var ct=(t,e,s,r)=>({set _(i){l(t,e,i,s)},get _(){return n(t,e,r)}});import{u as Rs,L as Os,A as ar,D as or,R as ur,T as cr,C as lr,E as hr,I as dr,a as fr,S as Es,b as pr,G as yr,M as mr,P as gr,c as vr,d as br,e as xr,f as wr,g as Sr,p as Cr,h as Pr,i as jr,U as Rr,W as Zt,j as Or,k as Er,l as Tr,m as Dr,n as Fr,o as Mr,B as Ts,q as Ar,r as Ir,s as kr,t as Qr,v as qr,w as Nr,x as Ur}from"./index-Br3YfiYJ.js";import{r as b,j as a,P as Lr,b as Kr,d as _r,e as $r,f as Hr}from"./base-ui-Bm0nR785.js";import"./recharts-CURTGZ5d.js";const Ds=b.createContext(void 0),ut=t=>{const e=b.useContext(Ds);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},Br=({client:t,children:e})=>(b.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),a.jsx(Ds.Provider,{value:t,children:e})),Gr={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)};var le,Kt,ps,Wr=(ps=class{constructor(){f(this,le,Gr);f(this,Kt,!1)}setTimeoutProvider(t){l(this,le,t)}setTimeout(t,e){return n(this,le).setTimeout(t,e)}clearTimeout(t){n(this,le).clearTimeout(t)}setInterval(t,e){return n(this,le).setInterval(t,e)}clearInterval(t){n(this,le).clearInterval(t)}},le=new WeakMap,Kt=new WeakMap,ps);const be=new Wr;function zr(t){setTimeout(t,0)}const Vr=typeof window>"u"||"Deno"in globalThis;function K(){}function Jr(t,e){return typeof t=="function"?t(e):t}function Fs(t){return typeof t=="number"&&t>=0&&t!==1/0}function Ms(t,e){return Math.max(t+(e||0)-Date.now(),0)}function T(t,e){return typeof t=="function"?t(e):t}function Xt(t,e){const{type:s="all",exact:r,fetchStatus:i,predicate:o,queryKey:c,stale:u}=t;if(c){if(r){if(e.queryHash!==_t(c,e.options))return!1}else if(!ze(e.queryKey,c))return!1}if(s!=="all"){const h=e.isActive();if(s==="active"&&!h||s==="inactive"&&h)return!1}return!(typeof u=="boolean"&&e.isStale()!==u||i&&i!==e.state.fetchStatus||o&&!o(e))}function es(t,e){const{exact:s,status:r,predicate:i,mutationKey:o}=t;if(o){if(!e.options.mutationKey)return!1;if(s){if(Fe(e.options.mutationKey)!==Fe(o))return!1}else if(!ze(e.options.mutationKey,o))return!1}return!(r&&e.state.status!==r||i&&!i(e))}function _t(t,e){return((e==null?void 0:e.queryKeyHashFn)||Fe)(t)}function Fe(t){return JSON.stringify(t,(e,s)=>wt(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}function ze(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(Array.isArray(t)&&Array.isArray(e)){if(e.length>t.length)return!1;for(let r=0;r<e.length;r++)if(!ze(t[r],e[r]))return!1;return!0}const s=Object.keys(e);for(const r of s)if(!ze(t[r],e[r]))return!1;return!0}return!1}const Yr=Object.prototype.hasOwnProperty;function $t(t,e,s=0){if(t===e)return t;if(s>500)return e;const r=ts(t)&&ts(e);if(!r&&!(wt(t)&&wt(e)))return e;const i=(r?t:Object.keys(t)).length,o=r?e:Object.keys(e),c=o.length,u=r?new Array(c):{};let h=0;for(let m=0;m<c;m++){const y=r?m:o[m],g=t[y],p=e[y];if(g===p){u[y]=g,(r?m<i:Yr.call(t,y))&&h++;continue}if(g===null||p===null||typeof g!="object"||typeof p!="object"){u[y]=p;continue}const S=$t(g,p,s+1);u[y]=S,S===g&&h++}return i===c&&h===i?t:u}function Ze(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const s in t)if(t[s]!==e[s])return!1;return!0}function ts(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function wt(t){if(!ss(t))return!1;const e=Object.getPrototypeOf(t),s=e==null?void 0:e.constructor;if(s===void 0)return!0;if(typeof s!="function")return!1;const r=s.prototype;return!(!ss(r)||!r.hasOwnProperty("isPrototypeOf")||e!==Object.prototype)}function ss(t){return Object.prototype.toString.call(t)==="[object Object]"}function Zr(t){return new Promise(e=>{be.setTimeout(e,t)})}function St(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?$t(t,e):e}function mt(t){return t}function Xr(t,e,s=0){const r=[...t,e];return s&&r.length>s?r.slice(1):r}function en(t,e,s=0){const r=[e,...t];return s&&r.length>s?r.slice(0,-1):r}const Ht=Symbol();function As(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===Ht?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function Bt(t,e){return typeof t=="function"?t(...e):!!t}function tn(t,e,s){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??(i=e()),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i)}),t}let sn=()=>Vr;const Gt=()=>sn();var Me=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},xe,he,Ae,ys,rn=(ys=class extends Me{constructor(){super();f(this,xe);f(this,he);f(this,Ae);l(this,Ae,e=>{if(typeof window<"u"&&window.addEventListener){const s=()=>e();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){n(this,he)||this.setEventListener(n(this,Ae))}onUnsubscribe(){var e;this.hasListeners()||((e=n(this,he))==null||e.call(this),l(this,he,void 0))}setEventListener(e){var s;l(this,Ae,e),(s=n(this,he))==null||s.call(this),l(this,he,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){n(this,xe)!==e&&(l(this,xe,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(s=>{s(e)})}isFocused(){var e;return typeof n(this,xe)=="boolean"?n(this,xe):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},xe=new WeakMap,he=new WeakMap,Ae=new WeakMap,ys);const Wt=new rn,nn=zr;function an(){let t=[],e=0,s=u=>{u()},r=u=>{u()},i=nn;const o=u=>{e?t.push(u):i(()=>{s(u)})},c=()=>{const u=t;t=[],u.length&&i(()=>{r(()=>{u.forEach(h=>{s(h)})})})};return{batch:u=>{let h;e++;try{h=u()}finally{e--,e||c()}return h},batchCalls:u=>(...h)=>{o(()=>{u(...h)})},schedule:o,setNotifyFunction:u=>{s=u},setBatchNotifyFunction:u=>{r=u},setScheduler:u=>{i=u}}}const A=an();var Ie,de,ke,ms,on=(ms=class extends Me{constructor(){super();f(this,Ie,!0);f(this,de);f(this,ke);l(this,ke,e=>{if(typeof window<"u"&&window.addEventListener){const s=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",r)}}})}onSubscribe(){n(this,de)||this.setEventListener(n(this,ke))}onUnsubscribe(){var e;this.hasListeners()||((e=n(this,de))==null||e.call(this),l(this,de,void 0))}setEventListener(e){var s;l(this,ke,e),(s=n(this,de))==null||s.call(this),l(this,de,e(this.setOnline.bind(this)))}setOnline(e){n(this,Ie)!==e&&(l(this,Ie,e),this.listeners.forEach(s=>{s(e)}))}isOnline(){return n(this,Ie)}},Ie=new WeakMap,de=new WeakMap,ke=new WeakMap,ms);const ft=new on;function un(t){return Math.min(1e3*2**t,3e4)}function Is(t){return(t??"online")==="online"?ft.isOnline():!0}var Ct=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function ks(t){let e=!1,s=0,r,i="pending",o,c;const u=new Promise((P,j)=>{o=P,c=j});u.catch(K);const h=()=>i!=="pending",m=P=>{var j;if(!h()){const O=new Ct(P);d(O),(j=t.onCancel)==null||j.call(t,O)}},y=()=>{e=!0},g=()=>{e=!1},p=()=>Wt.isFocused()&&(t.networkMode==="always"||ft.isOnline())&&t.canRun(),S=()=>Is(t.networkMode)&&t.canRun(),M=P=>{h()||(r==null||r(),i="resolved",o(P))},d=P=>{h()||(r==null||r(),i="rejected",c(P))},v=()=>new Promise(P=>{var j;r=O=>{(h()||p())&&P(O)},(j=t.onPause)==null||j.call(t)}).then(()=>{var P;r=void 0,h()||(P=t.onContinue)==null||P.call(t)}),E=()=>{if(h())return;let P;const j=s===0?t.initialPromise:void 0;try{P=j??t.fn()}catch(O){P=Promise.reject(O)}Promise.resolve(P).then(M).catch(O=>{var D;if(h())return;const w=t.retry??(Gt()?0:3),_=t.retryDelay??un,I=typeof _=="function"?_(s,O):_,J=w===!0||typeof w=="number"&&s<w||typeof w=="function"&&w(s,O);if(e||!J){d(O);return}s++,(D=t.onFail)==null||D.call(t,s,O),Zr(I).then(()=>p()?void 0:v()).then(()=>{e?d(O):E()})})};return{promise:u,status:()=>i,cancel:m,continue:()=>(r==null||r(),u),cancelRetry:y,continueRetry:g,canStart:S,start:()=>(S()?E():v().then(E),u)}}var we,gs,Qs=(gs=class{constructor(){f(this,we)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Fs(this.gcTime)&&l(this,we,be.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Gt()?1/0:3e5))}clearGcTimeout(){n(this,we)!==void 0&&(be.clearTimeout(n(this,we)),l(this,we,void 0))}},we=new WeakMap,gs);function cn(t){return{onFetch:(e,s)=>{var y,g,p,S,M;const r=e.options,i=(p=(g=(y=e.fetchOptions)==null?void 0:y.meta)==null?void 0:g.fetchMore)==null?void 0:p.direction,o=((S=e.state.data)==null?void 0:S.pages)||[],c=((M=e.state.data)==null?void 0:M.pageParams)||[];let u={pages:[],pageParams:[]},h=0;const m=async()=>{let d=!1;const v=j=>{tn(j,()=>e.signal,()=>d=!0)},E=As(e.options,e.fetchOptions),P=async(j,O,w)=>{if(d)return Promise.reject(e.signal.reason);if(O==null&&j.pages.length)return Promise.resolve(j);const I=(()=>{const Jt={client:e.client,queryKey:e.queryKey,pageParam:O,direction:w?"backward":"forward",meta:e.options.meta};return v(Jt),Jt})(),J=await E(I),{maxPages:D}=e.options,$=w?en:Xr;return{pages:$(j.pages,J,D),pageParams:$(j.pageParams,O,D)}};if(i&&o.length){const j=i==="backward",O=j?ln:rs,w={pages:o,pageParams:c};u=await P(w,O(r,w),j)}else{const j=t??o.length;do{const O=h===0?c[0]??r.initialPageParam:rs(r,u);if(h>0&&O==null)break;u=await P(u,O),h++}while(h<j)}return u};e.options.persister?e.fetchFn=()=>{var d,v;return(v=(d=e.options).persister)==null?void 0:v.call(d,m,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s)}:e.fetchFn=m}}}function rs(t,{pages:e,pageParams:s}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,s[r],s):void 0}function ln(t,{pages:e,pageParams:s}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,s[0],s):void 0}var Qe,Se,qe,V,Ce,k,Xe,Pe,Y,re,vs,hn=(vs=class extends Qs{constructor(e){super();f(this,Y);f(this,Qe);f(this,Se);f(this,qe);f(this,V);f(this,Ce);f(this,k);f(this,Xe);f(this,Pe);l(this,Pe,!1),l(this,Xe,e.defaultOptions),this.setOptions(e.options),this.observers=[],l(this,Ce,e.client),l(this,V,n(this,Ce).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,l(this,Se,is(this.options)),this.state=e.state??n(this,Se),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return n(this,Qe)}get promise(){var e;return(e=n(this,k))==null?void 0:e.promise}setOptions(e){if(this.options={...n(this,Xe),...e},e!=null&&e._type&&l(this,Qe,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=is(this.options);s.data!==void 0&&(this.setState(ns(s.data,s.dataUpdatedAt)),l(this,Se,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&n(this,V).remove(this)}setData(e,s){const r=St(this.state.data,e,this.options);return x(this,Y,re).call(this,{data:r,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),r}setState(e){x(this,Y,re).call(this,{type:"setState",state:e})}cancel(e){var r,i;const s=(r=n(this,k))==null?void 0:r.promise;return(i=n(this,k))==null||i.cancel(e),s?s.then(K).catch(K):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return n(this,Se)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>T(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Ht||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>T(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Ms(this.state.dataUpdatedAt,e)}onFocus(){var e,s;(e=this.observers.find(r=>r.shouldFetchOnWindowFocus()))==null||e.refetch({cancelRefetch:!1}),(s=n(this,k))==null||s.continue()}onOnline(){var e,s;(e=this.observers.find(r=>r.shouldFetchOnReconnect()))==null||e.refetch({cancelRefetch:!1}),(s=n(this,k))==null||s.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),n(this,V).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){const s=this.observers.indexOf(e);s!==-1&&(this.observers.splice(s,1),this.observers.length||(n(this,k)&&(n(this,Pe)||this.state.fetchStatus==="paused"&&this.state.status==="pending"?n(this,k).cancel({revert:!0}):n(this,k).cancelRetry()),this.scheduleGc()),n(this,V).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||x(this,Y,re).call(this,{type:"invalidate"})}async fetch(e,s){var m,y,g,p,S,M,d,v,E,P,j,O;if(this.state.fetchStatus!=="idle"&&((m=n(this,k))==null?void 0:m.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(n(this,k))return n(this,k).continueRetry(),n(this,k).promise}if(e&&this.setOptions(e),!this.options.queryFn){const w=this.observers.find(_=>_.options.queryFn);w&&this.setOptions(w.options)}const r=new AbortController,i=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(l(this,Pe,!0),r.signal)})},o=()=>{const w=As(this.options,s),I=(()=>{const J={client:n(this,Ce),queryKey:this.queryKey,meta:this.meta};return i(J),J})();return l(this,Pe,!1),this.options.persister?this.options.persister(w,I,this):w(I)},u=(()=>{const w={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:n(this,Ce),state:this.state,fetchFn:o};return i(w),w})();(y=n(this,Qe)==="infinite"?cn(this.options.pages):this.options.behavior)==null||y.onFetch(u,this),l(this,qe,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((g=u.fetchOptions)==null?void 0:g.meta))&&x(this,Y,re).call(this,{type:"fetch",meta:(p=u.fetchOptions)==null?void 0:p.meta});const h=l(this,k,ks({initialPromise:s==null?void 0:s.initialPromise,fn:u.fetchFn,onCancel:w=>{w instanceof Ct&&w.revert&&this.setState({...n(this,qe),fetchStatus:"idle"}),r.abort()},onFail:(w,_)=>{x(this,Y,re).call(this,{type:"failed",failureCount:w,error:_})},onPause:()=>{x(this,Y,re).call(this,{type:"pause"})},onContinue:()=>{x(this,Y,re).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{const w=await h.start();if(w===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(w),(M=(S=n(this,V).config).onSuccess)==null||M.call(S,w,this),(v=(d=n(this,V).config).onSettled)==null||v.call(d,w,this.state.error,this),w}catch(w){if(w instanceof Ct){if(w.silent)return n(this,k).promise;if(w.revert){if(this.state.data===void 0)throw w;return this.state.data}}throw x(this,Y,re).call(this,{type:"error",error:w}),(P=(E=n(this,V).config).onError)==null||P.call(E,w,this),(O=(j=n(this,V).config).onSettled)==null||O.call(j,this.state.data,w,this),w}finally{n(this,k)===h&&l(this,k,void 0),this.scheduleGc()}}},Qe=new WeakMap,Se=new WeakMap,qe=new WeakMap,V=new WeakMap,Ce=new WeakMap,k=new WeakMap,Xe=new WeakMap,Pe=new WeakMap,Y=new WeakSet,re=function(e){const s=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...qs(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...ns(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return l(this,qe,e.manual?i:void 0),i;case"error":const o=e.error;return{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=s(this.state),A.batch(()=>{this.observers.slice().forEach(r=>{r.onQueryUpdate()}),n(this,V).notify({query:this,type:"updated",action:e})})},vs);function qs(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Is(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function ns(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function is(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,r=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var H,C,et,B,je,Ne,ne,tt,Ue,Le,Re,Oe,fe,Ke,R,Je,Pt,jt,Rt,Ot,Et,Tt,Dt,Ft,bs,gt=(bs=class extends Me{constructor(e,s){super();f(this,R);f(this,H);f(this,C);f(this,et);f(this,B);f(this,je);f(this,Ne);f(this,ne);f(this,tt);f(this,Ue);f(this,Le);f(this,Re);f(this,Oe);f(this,fe);f(this,Ke,new Set);this.options=s,l(this,H,e),l(this,ne,null),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(n(this,C).addObserver(this),as(n(this,C),this.options)?x(this,R,Je).call(this):this.updateResult(),x(this,R,Et).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Mt(n(this,C),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Mt(n(this,C),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,x(this,R,Tt).call(this),x(this,R,Dt).call(this),n(this,C).removeObserver(this)}setOptions(e){const s=this.options,r=n(this,C);if(this.options=n(this,H).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof T(this.options.enabled,n(this,C))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");x(this,R,Ft).call(this),n(this,C).setOptions(this.options),s._defaulted&&!Ze(this.options,s)&&n(this,H).getQueryCache().notify({type:"observerOptionsUpdated",query:n(this,C),observer:this});const i=this.hasListeners();i&&os(n(this,C),r,this.options,s)&&x(this,R,Je).call(this),this.updateResult(),i&&(n(this,C)!==r||T(this.options.enabled,n(this,C))!==T(s.enabled,n(this,C))||T(this.options.staleTime,n(this,C))!==T(s.staleTime,n(this,C)))&&x(this,R,jt).call(this);const o=x(this,R,Rt).call(this);i&&(n(this,C)!==r||T(this.options.enabled,n(this,C))!==T(s.enabled,n(this,C))||o!==n(this,fe))&&x(this,R,Ot).call(this,o)}getOptimisticResult(e){const s=n(this,H).getQueryCache().build(n(this,H),e),r=this.createResult(s,e);return Ze(this.getCurrentResult(),r)||(l(this,B,r),l(this,Ne,this.options),l(this,je,n(this,C).state)),r}getCurrentResult(){return n(this,B)}trackResult(e,s){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),s==null||s(i),Reflect.get(r,i))})}trackProp(e){n(this,Ke).add(e)}getCurrentQuery(){return n(this,C)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const s=n(this,H).defaultQueryOptions(e),r=n(this,H).getQueryCache().build(n(this,H),s);let i=()=>{},o;const c=new Promise(u=>{o=u,i=n(this,H).getQueryCache().subscribe(h=>{h.type==="updated"&&h.query.queryHash===r.queryHash&&r.state.data!==void 0&&(i(),u(this.createResult(r,s)))})});return Promise.race([r.fetch().then(()=>{const u=this.createResult(r,s);return o==null||o(u),u}).finally(()=>{i()}),c])}fetch(e){return x(this,R,Je).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),n(this,B)))}createResult(e,s){var _;const r=n(this,C),i=this.options,o=n(this,B),c=n(this,je),u=n(this,Ne),h=e!==r?e.state:n(this,et),{state:m}=e;let y={...m},g=!1,p;if(s._optimisticResults){const I=this.hasListeners(),J=!I&&as(e,s),D=I&&os(e,r,s,i);(J||D)&&(y={...y,...qs(m.data,e.options)}),s._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:S,errorUpdatedAt:M,status:d}=y;p=y.data;let v=!1;if(s.placeholderData!==void 0&&p===void 0&&d==="pending"){let I;o!=null&&o.isPlaceholderData&&s.placeholderData===(u==null?void 0:u.placeholderData)?(I=o.data,v=!0):I=typeof s.placeholderData=="function"?s.placeholderData((_=n(this,Le))==null?void 0:_.state.data,n(this,Le)):s.placeholderData,I!==void 0&&(d="success",p=St(o==null?void 0:o.data,I,s),g=!0)}if(s.select&&p!==void 0&&!v)if(o&&p===(c==null?void 0:c.data)&&s.select===n(this,tt))p=n(this,Ue);else try{l(this,tt,s.select),p=s.select(p),p=St(o==null?void 0:o.data,p,s),l(this,Ue,p),l(this,ne,null)}catch(I){l(this,ne,I)}else p===void 0&&l(this,ne,null);n(this,ne)&&(S=n(this,ne),p=n(this,Ue),M=Date.now(),d="error",g=!1);const E=y.fetchStatus==="fetching",P=d==="pending",j=d==="error",O=P&&E,w=p!==void 0;return{status:d,fetchStatus:y.fetchStatus,isPending:P,isSuccess:d==="success",isError:j,isInitialLoading:O,isLoading:O,data:p,dataUpdatedAt:y.dataUpdatedAt,error:S,errorUpdatedAt:M,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:y.dataUpdateCount>h.dataUpdateCount||y.errorUpdateCount>h.errorUpdateCount,isFetching:E,isRefetching:E&&!P,isLoadingError:j&&!w,isPaused:y.fetchStatus==="paused",isPlaceholderData:g,isRefetchError:j&&w,isStale:zt(e,s),refetch:this.refetch,isEnabled:T(s.enabled,e)!==!1}}updateResult(){const e=n(this,B),s=this.createResult(n(this,C),this.options);if(l(this,je,n(this,C).state),l(this,Ne,this.options),n(this,je).data!==void 0&&l(this,Le,n(this,C)),Ze(s,e))return;l(this,B,s);const i=(()=>{if(!e)return!0;const{notifyOnChangeProps:o}=this.options,c=typeof o=="function"?o():o;if(c==="all"||!c&&!n(this,Ke).size)return!0;const u=new Set(c??n(this,Ke));return this.options.throwOnError&&u.add("error"),Object.keys(n(this,B)).some(h=>{const m=h;return n(this,B)[m]!==e[m]&&u.has(m)})})();A.batch(()=>{i&&this.listeners.forEach(o=>{o(n(this,B))}),n(this,H).getQueryCache().notify({query:n(this,C),type:"observerResultsUpdated"})})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&x(this,R,Et).call(this)}},H=new WeakMap,C=new WeakMap,et=new WeakMap,B=new WeakMap,je=new WeakMap,Ne=new WeakMap,ne=new WeakMap,tt=new WeakMap,Ue=new WeakMap,Le=new WeakMap,Re=new WeakMap,Oe=new WeakMap,fe=new WeakMap,Ke=new WeakMap,R=new WeakSet,Je=function(e){x(this,R,Ft).call(this);let s=n(this,C).fetch(this.options,e);return e!=null&&e.throwOnError||(s=s.catch(K)),s},Pt=function(e){return!Gt()&&T(this.options.enabled,n(this,C))!==!1&&Fs(e)},jt=function(){x(this,R,Tt).call(this);const e=T(this.options.staleTime,n(this,C));if(n(this,B).isStale||!x(this,R,Pt).call(this,e))return;const s=Ms(n(this,B).dataUpdatedAt,e)+1;l(this,Re,be.setTimeout(()=>{n(this,B).isStale||this.updateResult()},s))},Rt=function(){return T(this.options.refetchInterval,n(this,C))??!1},Ot=function(e){x(this,R,Dt).call(this),l(this,fe,e),!(n(this,fe)===0||!x(this,R,Pt).call(this,n(this,fe)))&&l(this,Oe,be.setInterval(()=>{(this.options.refetchIntervalInBackground||Wt.isFocused())&&x(this,R,Je).call(this)},n(this,fe)))},Et=function(){x(this,R,jt).call(this),x(this,R,Ot).call(this,x(this,R,Rt).call(this))},Tt=function(){n(this,Re)!==void 0&&(be.clearTimeout(n(this,Re)),l(this,Re,void 0))},Dt=function(){n(this,Oe)!==void 0&&(be.clearInterval(n(this,Oe)),l(this,Oe,void 0))},Ft=function(){const e=n(this,H).getQueryCache().build(n(this,H),this.options);if(e===n(this,C))return;const s=n(this,C);l(this,C,e),l(this,et,e.state),this.hasListeners()&&(s==null||s.removeObserver(this),e.addObserver(this))},bs);function dn(t,e){return T(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&T(e.retryOnMount,t)===!1)}function as(t,e){return dn(t,e)||t.state.data!==void 0&&Mt(t,e,e.refetchOnMount)}function Mt(t,e,s){if(T(e.enabled,t)!==!1&&T(e.staleTime,t)!=="static"){const r=T(s,t);return r==="always"||r!==!1&&zt(t,e)}return!1}function os(t,e,s,r){return(t!==e||T(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&zt(t,s)}function zt(t,e){return T(e.enabled,t)!==!1&&t.isStaleByTime(T(e.staleTime,t))}var st,X,U,Ee,ee,ce,xs,fn=(xs=class extends Qs{constructor(e){super();f(this,ee);f(this,st);f(this,X);f(this,U);f(this,Ee);l(this,st,e.client),this.mutationId=e.mutationId,l(this,U,e.mutationCache),l(this,X,[]),this.state=e.state||Ns(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){n(this,X).includes(e)||(n(this,X).push(e),this.clearGcTimeout(),n(this,U).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){l(this,X,n(this,X).filter(s=>s!==e)),this.scheduleGc(),n(this,U).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){n(this,X).length||(this.state.status==="pending"?this.scheduleGc():n(this,U).remove(this))}continue(){var e;return((e=n(this,Ee))==null?void 0:e.continue())??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(e){var u,h,m,y,g,p,S,M,d,v,E,P,j,O,w,_,I,J;const s=()=>{x(this,ee,ce).call(this,{type:"continue"})},r={client:n(this,st),meta:this.options.meta,mutationKey:this.options.mutationKey},i=l(this,Ee,ks({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(D,$)=>{x(this,ee,ce).call(this,{type:"failed",failureCount:D,error:$})},onPause:()=>{x(this,ee,ce).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>n(this,U).canRun(this)})),o=this.state.status==="pending",c=!i.canStart();try{if(o)s();else{x(this,ee,ce).call(this,{type:"pending",variables:e,isPaused:c}),n(this,U).config.onMutate&&await n(this,U).config.onMutate(e,this,r);const $=await((h=(u=this.options).onMutate)==null?void 0:h.call(u,e,r));$!==this.state.context&&x(this,ee,ce).call(this,{type:"pending",context:$,variables:e,isPaused:c})}const D=await i.start();return await((y=(m=n(this,U).config).onSuccess)==null?void 0:y.call(m,D,e,this.state.context,this,r)),await((p=(g=this.options).onSuccess)==null?void 0:p.call(g,D,e,this.state.context,r)),await((M=(S=n(this,U).config).onSettled)==null?void 0:M.call(S,D,null,this.state.variables,this.state.context,this,r)),await((v=(d=this.options).onSettled)==null?void 0:v.call(d,D,null,e,this.state.context,r)),x(this,ee,ce).call(this,{type:"success",data:D}),D}catch(D){try{await((P=(E=n(this,U).config).onError)==null?void 0:P.call(E,D,e,this.state.context,this,r))}catch($){Promise.reject($)}try{await((O=(j=this.options).onError)==null?void 0:O.call(j,D,e,this.state.context,r))}catch($){Promise.reject($)}try{await((_=(w=n(this,U).config).onSettled)==null?void 0:_.call(w,void 0,D,this.state.variables,this.state.context,this,r))}catch($){Promise.reject($)}try{await((J=(I=this.options).onSettled)==null?void 0:J.call(I,void 0,D,e,this.state.context,r))}catch($){Promise.reject($)}throw x(this,ee,ce).call(this,{type:"error",error:D}),D}finally{n(this,Ee)===i&&l(this,Ee,void 0),n(this,U).runNext(this)}}},st=new WeakMap,X=new WeakMap,U=new WeakMap,Ee=new WeakMap,ee=new WeakSet,ce=function(e){const s=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=s(this.state),A.batch(()=>{n(this,X).forEach(r=>{r.onMutationUpdate(e)}),n(this,U).notify({mutation:this,type:"updated",action:e})})},xs);function Ns(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ie,Z,rt,ws,pn=(ws=class extends Me{constructor(e={}){super();f(this,ie);f(this,Z);f(this,rt);this.config=e,l(this,ie,new Set),l(this,Z,new Map),l(this,rt,0)}build(e,s,r){const i=new fn({client:e,mutationCache:this,mutationId:++ct(this,rt)._,options:e.defaultMutationOptions(s),state:r});return this.add(i),i}add(e){n(this,ie).add(e);const s=lt(e);if(typeof s=="string"){const r=n(this,Z).get(s);r?r.push(e):n(this,Z).set(s,[e])}this.notify({type:"added",mutation:e})}remove(e){if(n(this,ie).delete(e)){const s=lt(e);if(typeof s=="string"){const r=n(this,Z).get(s);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&n(this,Z).delete(s)}}this.notify({type:"removed",mutation:e})}canRun(e){var r;const s=lt(e);if(typeof s=="string"){const i=(r=n(this,Z).get(s))==null?void 0:r.find(o=>o.state.status==="pending");return!i||i===e}else return!0}runNext(e){var r,i;const s=lt(e);return typeof s=="string"?((i=(r=n(this,Z).get(s))==null?void 0:r.find(o=>o!==e&&o.state.isPaused))==null?void 0:i.continue())??Promise.resolve():Promise.resolve()}clear(){A.batch(()=>{n(this,ie).forEach(e=>{this.notify({type:"removed",mutation:e})}),n(this,ie).clear(),n(this,Z).clear()})}getAll(){return Array.from(n(this,ie))}find(e){const s={exact:!0,...e};return this.getAll().find(r=>es(s,r))}findAll(e={}){return this.getAll().filter(s=>es(e,s))}notify(e){A.batch(()=>{this.listeners.forEach(s=>{s(e)})})}resumePausedMutations(){const e=this.getAll().filter(s=>s.state.isPaused);return A.batch(()=>Promise.all(e.map(s=>s.continue().catch(K))))}},ie=new WeakMap,Z=new WeakMap,rt=new WeakMap,ws);function lt(t){var e;return(e=t.options.scope)==null?void 0:e.id}var ae,pe,L,oe,se,Ye,At,Ss,yn=(Ss=class extends Me{constructor(e,s){super();f(this,se);f(this,ae);f(this,pe);f(this,L);f(this,oe);l(this,ae,e),this.setOptions(s),this.bindMethods(),x(this,se,Ye).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var r;const s=this.options;this.options=n(this,ae).defaultMutationOptions(e),Ze(this.options,s)||n(this,ae).getMutationCache().notify({type:"observerOptionsUpdated",mutation:n(this,L),observer:this}),s!=null&&s.mutationKey&&this.options.mutationKey&&Fe(s.mutationKey)!==Fe(this.options.mutationKey)?this.reset():((r=n(this,L))==null?void 0:r.state.status)==="pending"&&n(this,L).setOptions(this.options)}onSubscribe(){this.listeners.size===1&&n(this,L)&&(n(this,L).addObserver(this),x(this,se,Ye).call(this))}onUnsubscribe(){var e;this.hasListeners()||(e=n(this,L))==null||e.removeObserver(this)}onMutationUpdate(e){x(this,se,Ye).call(this),x(this,se,At).call(this,e)}getCurrentResult(){return n(this,pe)}reset(){var e;(e=n(this,L))==null||e.removeObserver(this),l(this,L,void 0),x(this,se,Ye).call(this),x(this,se,At).call(this)}mutate(e,s){var r;return l(this,oe,s),(r=n(this,L))==null||r.removeObserver(this),l(this,L,n(this,ae).getMutationCache().build(n(this,ae),this.options)),n(this,L).addObserver(this),n(this,L).execute(e)}},ae=new WeakMap,pe=new WeakMap,L=new WeakMap,oe=new WeakMap,se=new WeakSet,Ye=function(){var s;const e=((s=n(this,L))==null?void 0:s.state)??Ns();l(this,pe,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},At=function(e){A.batch(()=>{var s,r,i,o,c,u,h,m;if(n(this,oe)&&this.hasListeners()){const y=n(this,pe).variables,g=n(this,pe).context,p={client:n(this,ae),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(r=(s=n(this,oe)).onSuccess)==null||r.call(s,e.data,y,g,p)}catch(S){Promise.reject(S)}try{(o=(i=n(this,oe)).onSettled)==null||o.call(i,e.data,null,y,g,p)}catch(S){Promise.reject(S)}}else if((e==null?void 0:e.type)==="error"){try{(u=(c=n(this,oe)).onError)==null||u.call(c,e.error,y,g,p)}catch(S){Promise.reject(S)}try{(m=(h=n(this,oe)).onSettled)==null||m.call(h,void 0,e.error,y,g,p)}catch(S){Promise.reject(S)}}}this.listeners.forEach(y=>{y(n(this,pe))})})},Ss);function us(t,e){const s=new Set(e);return t.filter(r=>!s.has(r))}var _e,G,$e,Te,z,De,nt,it,at,ot,Q,It,kt,Us,Qt,qt,Nt,Cs,mn=(Cs=class extends Me{constructor(e,s,r){super();f(this,Q);f(this,_e);f(this,G);f(this,$e);f(this,Te);f(this,z);f(this,De);f(this,nt);f(this,it);f(this,at);f(this,ot,[]);l(this,_e,e),l(this,Te,r),l(this,$e,[]),l(this,z,[]),l(this,G,[]),this.setQueries(s)}onSubscribe(){this.listeners.size===1&&n(this,z).forEach(e=>{e.subscribe(s=>{x(this,Q,qt).call(this,e,s)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,n(this,z).forEach(e=>{e.destroy()})}setQueries(e,s){l(this,$e,e),l(this,Te,s),A.batch(()=>{const r=n(this,z),i=x(this,Q,Qt).call(this,n(this,$e));i.forEach(g=>g.observer.setOptions(g.defaultedQueryOptions));const o=i.map(g=>g.observer),c=o.map(g=>g.getCurrentResult()),u=r.length!==o.length,h=o.some((g,p)=>g!==r[p]),m=u||h,y=m?!0:c.some((g,p)=>{const S=n(this,G)[p];return!S||!Ze(g,S)});!m&&!y||(m&&(l(this,ot,i),l(this,z,o)),l(this,G,c),this.hasListeners()&&(m&&(us(r,o).forEach(g=>{g.destroy()}),us(o,r).forEach(g=>{g.subscribe(p=>{x(this,Q,qt).call(this,g,p)})})),x(this,Q,Nt).call(this)))})}getCurrentResult(){return n(this,G)}getQueries(){return n(this,z).map(e=>e.getCurrentQuery())}getObservers(){return n(this,z)}getOptimisticResult(e,s){const r=x(this,Q,Qt).call(this,e),i=r.map(c=>c.observer.getOptimisticResult(c.defaultedQueryOptions)),o=r.map(c=>c.defaultedQueryOptions.queryHash);return[i,c=>x(this,Q,kt).call(this,c??i,s,o),()=>x(this,Q,It).call(this,i,r)]}},_e=new WeakMap,G=new WeakMap,$e=new WeakMap,Te=new WeakMap,z=new WeakMap,De=new WeakMap,nt=new WeakMap,it=new WeakMap,at=new WeakMap,ot=new WeakMap,Q=new WeakSet,It=function(e,s){const r=new Set;return s.map((i,o)=>{const c=e[o];return i.defaultedQueryOptions.notifyOnChangeProps?c:i.observer.trackResult(c,u=>{r.has(u)||(r.add(u),s.forEach(h=>{h.observer.trackProp(u)}))})})},kt=function(e,s,r){if(s){const i=n(this,at),o=r!==void 0&&i!==void 0&&(i.length!==r.length||r.some((c,u)=>c!==i[u]));return(n(this,G)!==n(this,it)||o||s!==n(this,nt))&&(l(this,nt,s),l(this,it,n(this,G)),r!==void 0&&l(this,at,r),l(this,De,$t(n(this,De),s(e)))),n(this,De)}return e},Us=function(){var e;return!((e=n(this,Te))!=null&&e.combine)||n(this,z).some((s,r)=>{var i;return s.options.suspense&&((i=n(this,G)[r])==null?void 0:i.data)===void 0})},Qt=function(e){const s=new Map;n(this,z).forEach(i=>{const o=i.options.queryHash;if(!o)return;const c=s.get(o);c?c.push(i):s.set(o,[i])});const r=[];return e.forEach(i=>{var u;const o=n(this,_e).defaultQueryOptions(i),c=((u=s.get(o.queryHash))==null?void 0:u.shift())??new gt(n(this,_e),o);r.push({defaultedQueryOptions:o,observer:c})}),r},qt=function(e,s){const r=n(this,z).indexOf(e);r!==-1&&(l(this,G,n(this,G).slice()),n(this,G)[r]=s,x(this,Q,Nt).call(this))},Nt=function(){var e;if(this.hasListeners()){const s=x(this,Q,Us).call(this),r=n(this,De),i=s?r:x(this,Q,kt).call(this,x(this,Q,It).call(this,n(this,G),n(this,ot)),(e=n(this,Te))==null?void 0:e.combine);(s||r!==i)&&A.batch(()=>{this.listeners.forEach(o=>{o(n(this,G))})})}},Cs),te,Ps,gn=(Ps=class extends Me{constructor(e={}){super();f(this,te);this.config=e,l(this,te,new Map)}build(e,s,r){const i=s.queryKey,o=s.queryHash??_t(i,s);let c=this.get(o);return c||(c=new hn({client:e,queryKey:i,queryHash:o,options:e.defaultQueryOptions(s),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(c)),c}add(e){n(this,te).has(e.queryHash)||(n(this,te).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){n(this,te).get(e.queryHash)===e&&(e.destroy(),n(this,te).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){A.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return n(this,te).get(e)}getAll(){return[...n(this,te).values()]}find(e){const s={exact:!0,...e};return this.getAll().find(r=>Xt(s,r))}findAll(e={}){const s=this.getAll();return Object.keys(e).length>0?s.filter(r=>Xt(e,r)):s}notify(e){A.batch(()=>{this.listeners.forEach(s=>{s(e)})})}onFocus(){A.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){A.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},te=new WeakMap,Ps),F,ye,me,He,Be,ge,Ge,We,js,vn=(js=class{constructor(t={}){f(this,F);f(this,ye);f(this,me);f(this,He);f(this,Be);f(this,ge);f(this,Ge);f(this,We);l(this,F,t.queryCache||new gn),l(this,ye,t.mutationCache||new pn),l(this,me,t.defaultOptions||{}),l(this,He,new Map),l(this,Be,new Map),l(this,ge,0)}mount(){ct(this,ge)._++,n(this,ge)===1&&(l(this,Ge,Wt.subscribe(async t=>{t&&(await this.resumePausedMutations(),n(this,F).onFocus())})),l(this,We,ft.subscribe(async t=>{t&&(await this.resumePausedMutations(),n(this,F).onOnline())})))}unmount(){var t,e;ct(this,ge)._--,n(this,ge)===0&&((t=n(this,Ge))==null||t.call(this),l(this,Ge,void 0),(e=n(this,We))==null||e.call(this),l(this,We,void 0))}isFetching(t){return n(this,F).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return n(this,ye).findAll({...t,status:"pending"}).length}getQueryData(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=n(this,F).get(e.queryHash))==null?void 0:s.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),s=n(this,F).build(this,e),r=s.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(T(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return n(this,F).findAll(t).map(({queryKey:e,state:s})=>[e,s.data])}setQueryData(t,e,s){var c;const r=this.defaultQueryOptions({queryKey:t}),i=(c=n(this,F).get(r.queryHash))==null?void 0:c.state.data,o=Jr(e,i);if(o!==void 0)return n(this,F).build(this,r).setData(o,{...s,manual:!0})}setQueriesData(t,e,s){return A.batch(()=>n(this,F).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,s)]))}getQueryState(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=n(this,F).get(e.queryHash))==null?void 0:s.state}removeQueries(t){const e=n(this,F);A.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){const s=n(this,F);return A.batch(()=>{const r=s.findAll(t),i=new Set(r);return r.forEach(o=>{o.reset()}),this.refetchQueries({type:"active",predicate:o=>i.has(o)},e)})}cancelQueries(t,e={}){const s={revert:!0,...e},r=A.batch(()=>n(this,F).findAll(t).map(i=>i.cancel(s)));return Promise.all(r).then(K).catch(K)}invalidateQueries(t,e={}){return A.batch(()=>(n(this,F).findAll(t).forEach(s=>{s.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const s={...e,cancelRefetch:e.cancelRefetch??!0},r=A.batch(()=>n(this,F).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let o=i.fetch(void 0,s);return s.throwOnError||(o=o.catch(K)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(r).then(K)}async query(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=n(this,F).build(this,e),r=s.isStaleByTime(T(e.staleTime,s))?await s.fetch(e):s.state.data,i=e.select;return i?i(r):r}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=n(this,F).build(this,e);return s.isStaleByTime(T(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(K).catch(K)}infiniteQuery(t){return t._type="infinite",this.query(t)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(K).catch(K)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return ft.isOnline()?n(this,ye).resumePausedMutations():Promise.resolve()}getQueryCache(){return n(this,F)}getMutationCache(){return n(this,ye)}getDefaultOptions(){return n(this,me)}setDefaultOptions(t){l(this,me,t)}setQueryDefaults(t,e){n(this,He).set(Fe(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...n(this,He).values()],s={};return e.forEach(r=>{ze(t,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(t,e){n(this,Be).set(Fe(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...n(this,Be).values()],s={};return e.forEach(r=>{ze(t,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;const e={...n(this,me).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=_t(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===Ht&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...n(this,me).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){n(this,F).clear(),n(this,ye).clear()}},F=new WeakMap,ye=new WeakMap,me=new WeakMap,He=new WeakMap,Be=new WeakMap,ge=new WeakMap,Ge=new WeakMap,We=new WeakMap,js);const Ls=b.createContext(!1),Ks=()=>b.useContext(Ls);Ls.Provider;const _s=(t,e,s)=>{const r=s!=null&&s.state.error&&typeof t.throwOnError=="function"?Bt(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||r)&&(e.isReset()||(t.retryOnMount=!1))},$s=t=>{b.useEffect(()=>{t.clearReset()},[t])},Hs=({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||Bt(s,[t.error,r])),Bs=(t,e)=>e.state.data===void 0,Gs=t=>{if(t.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},Ut=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,Ws=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function bn({queries:t,...e},s){const r=ut(),i=Ks(),o=Rs(),c=e.subscribed!==!1,u=b.useMemo(()=>t.map(d=>{const v=r.defaultQueryOptions(d);return v._optimisticResults=i?"isRestoring":c?"optimistic":void 0,v}),[t,r,i,c]);u.forEach(d=>{Gs(d);const v=r.getQueryCache().get(d.queryHash);_s(d,o,v)}),$s(o);const[h]=b.useState(()=>new mn(r,u,e)),[m,y,g]=h.getOptimisticResult(u,e.combine),p=!i&&c;b.useSyncExternalStore(b.useCallback(d=>p?h.subscribe(A.batchCalls(d)):K,[h,p]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),b.useEffect(()=>{h.setQueries(u,e)},[u,e,h]);const S=m.some((d,v)=>Ut(u[v],d))?m.flatMap((d,v)=>{const E=u[v];if(E&&Ut(E,d)){const P=new gt(r,E);return Ws(E,P,o)}return[]}):[];if(S.length>0)throw Promise.all(S);const M=m.find((d,v)=>{const E=u[v];return E&&Hs({result:d,errorResetBoundary:o,throwOnError:E.throwOnError,query:r.getQueryCache().get(E.queryHash),suspense:E.suspense})});if(M)throw M.error;return y(g())}function zs(t,e,s){const r=Ks(),i=Rs(),o=ut(),c=o.defaultQueryOptions(t),u=o.getQueryCache().get(c.queryHash),h=t.subscribed!==!1;c._optimisticResults=r?"isRestoring":h?"optimistic":void 0,Gs(c),_s(c,i,u),$s(i);const[m]=b.useState(()=>new e(o,c)),y=m.getOptimisticResult(c),g=!r&&h;if(b.useSyncExternalStore(b.useCallback(p=>{const S=g?m.subscribe(A.batchCalls(p)):K;return m.updateResult(),S},[m,g]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),b.useEffect(()=>{m.setOptions(c)},[c,m]),Ut(c,y))throw Ws(c,m,i);if(Hs({result:y,errorResetBoundary:i,throwOnError:c.throwOnError,query:u,suspense:c.suspense}))throw y.error;return c.notifyOnChangeProps?y:m.trackResult(y)}function ue(t,e){return zs(t,gt)}function vt(t,e){return zs({...t,enabled:!0,suspense:!0,throwOnError:Bs,placeholderData:void 0},gt)}function xn(t,e){return bn({...t,queries:t.queries.map(s=>({...s,suspense:!0,throwOnError:Bs,enabled:!0,placeholderData:void 0}))})}function Vs(t,e){const s=ut(),[r]=b.useState(()=>new yn(s,t));b.useEffect(()=>{r.setOptions(t)},[r,t]);const i=b.useSyncExternalStore(b.useCallback(c=>r.subscribe(A.batchCalls(c)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=b.useCallback((...c)=>{r.mutate(c[0],c[1]).catch(K)},[r]);if(i.error&&Bt(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:o,mutateAsync:i.mutate}}const wn=864e5,Sn=/^\d{4}-\d{2}-\d{2}$/;function cs(t,e=Date.now()){return new Date(e-t*wn).toISOString().slice(0,10)}function Cn(t=30,e=Date.now()){return{fromDay:cs(t-1,e),toDay:cs(0,e)}}function Pn(t){return Sn.test(t)}function jn(){return a.jsxs("div",{className:"relative grid min-h-full place-items-center px-5 py-16",children:[a.jsx("div",{className:"app-bg"}),a.jsxs("div",{role:"alert",className:"relative z-10 flex max-w-md flex-col items-center gap-3 rounded-xl border border-line bg-panel px-8 py-10 text-center",children:[a.jsx("div",{className:"grid h-10 w-10 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:a.jsx(Os,{className:"h-5 w-5 text-brand"})}),a.jsx("h1",{className:"text-base font-semibold tracking-tight",children:"Access denied"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"You are signed in, but not allowed to use this console. Ask an administrator for access."})]})]})}const Js={workflow:a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"3",y:"4",width:"6",height:"6",rx:"1.5"}),a.jsx("rect",{x:"15",y:"14",width:"6",height:"6",rx:"1.5"}),a.jsx("path",{d:"M9 7h4a2 2 0 0 1 2 2v5"})]}),telescope:a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"m4 14 13-6 2 4-13 6z"}),a.jsx("path",{d:"m10 16 2 5M14 15l-2 6M17 8l1-3 3 1-1 3"})]}),media:a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),a.jsx("circle",{cx:"9",cy:"10",r:"2"}),a.jsx("path",{d:"m21 16-5-5-9 9"})]}),payments:a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),a.jsx("path",{d:"M2.5 10h19M6.5 15h4"})]}),agent:a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"5",y:"8",width:"14",height:"11",rx:"3"}),a.jsx("path",{d:"M12 8V4M9 13h.01M15 13h.01M9.5 16.5h5"}),a.jsx("circle",{cx:"12",cy:"3.5",r:"0.5"})]}),identity:a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 3 4.5 6v5.5c0 4.5 3.2 8.2 7.5 9.5 4.3-1.3 7.5-5 7.5-9.5V6z"}),a.jsx("circle",{cx:"12",cy:"10",r:"2.5"}),a.jsx("path",{d:"M8 16a4.5 4.5 0 0 1 8 0"})]}),generic:a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1.5"}),a.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1.5"}),a.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1.5"}),a.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1.5"})]})};function Ys(t){return typeof t=="string"&&Object.hasOwn(Js,t)?t:"generic"}function ls({icon:t,className:e}){const s=Ys(t);return a.jsx("svg",{viewBox:"0 0 24 24",width:16,height:16,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true","data-icon":s,children:Js[s]})}function Zs(t){return typeof t=="string"&&t.startsWith("/")&&!t.startsWith("//")}function Rn(t){if(typeof document>"u")return;const e=document.getElementById(t);if(e!==null)try{const s=JSON.parse(e.textContent??""),r=s==null?void 0:s.switcher;return!r||!Zs(r.endpoint)||typeof r.others!="number"||r.others<=0?void 0:{endpoint:r.endpoint,others:r.others}}catch{return}}function On(t){return Array.isArray(t)?t.flatMap(e=>{if(typeof e!="object"||e===null)return[];const s=e;return typeof s.id!="string"||typeof s.title!="string"||!Zs(s.href)?[]:[{id:s.id,title:s.title,icon:Ys(s.icon),href:s.href}]}):[]}let Ve;function En(t){if((Ve==null?void 0:Ve.endpoint)===t.endpoint)return Ve.result;const e=fetch(t.endpoint,{headers:{accept:"application/json"},credentials:"same-origin"}).then(async s=>{var r;return s.ok?On((r=await s.json())==null?void 0:r.consoles):[]}).catch(()=>[]);return Ve={endpoint:t.endpoint,result:e},e}function Tn({brand:t,current:e,config:s}){const[r,i]=b.useState([]),[o,c]=b.useState(!1),u=b.useRef(null),h=b.useRef(null),m=b.useRef(null);b.useEffect(()=>{if(!s)return;let d=!0;return En(s).then(v=>{d&&i(v)}),()=>{d=!1}},[s]);const y=b.useCallback(d=>{var v;c(!1),d&&((v=h.current)==null||v.focus())},[]);b.useEffect(()=>{if(!o)return;const d=v=>{u.current&&!u.current.contains(v.target)&&y(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[o,y]);const g=()=>{var d;return Array.from(((d=m.current)==null?void 0:d.querySelectorAll('[role="menuitem"]'))??[])},p=d=>{var E;const v=g();v.length>0&&((E=v[(d+v.length)%v.length])==null||E.focus())};if(b.useEffect(()=>{var d,v;o&&((v=(d=m.current)==null?void 0:d.querySelector('[role="menuitem"]'))==null||v.focus())},[o]),!s||r.length===0)return a.jsx(a.Fragment,{children:t});const S=d=>{const v=g().indexOf(document.activeElement),P={ArrowDown:()=>p(v+1),ArrowUp:()=>p(v-1),Home:()=>p(0),End:()=>p(-1),Escape:()=>y(!0)}[d.key];P?(d.preventDefault(),P()):d.key==="Tab"&&y(!1)},M="flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm text-foreground outline-none focus:bg-panel";return a.jsxs("div",{ref:u,className:"relative","data-aviary-switcher":"",children:[a.jsxs("button",{ref:h,type:"button","aria-haspopup":"menu","aria-expanded":o,"aria-label":`${e.title}: switch console`,className:"flex items-center gap-1.5 rounded-lg text-left outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>c(d=>!d),onKeyDown:d=>{(d.key==="ArrowDown"||d.key==="Enter"||d.key===" ")&&(d.preventDefault(),c(!0))},children:[t,a.jsx("svg",{viewBox:"0 0 24 24",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:2,className:"text-muted-foreground","aria-hidden":"true",children:a.jsx("path",{d:"m6 9 6 6 6-6"})})]}),o&&a.jsxs("div",{ref:m,role:"menu","aria-label":"Consoles",tabIndex:-1,onKeyDown:S,className:"fixed inset-x-0 top-14 z-50 border-y border-line bg-popover p-1 shadow-lg shadow-black/50 sm:absolute sm:inset-x-auto sm:left-0 sm:top-full sm:mt-2 sm:w-60 sm:rounded-lg sm:border",children:[a.jsxs("div",{role:"menuitem","aria-current":"page","aria-disabled":"true",tabIndex:-1,className:M,children:[a.jsx(ls,{icon:e.icon,className:"text-brand"}),a.jsx("span",{className:"truncate",children:e.title}),a.jsx("svg",{viewBox:"0 0 24 24",width:14,height:14,fill:"none",stroke:"currentColor",strokeWidth:2,className:"ml-auto text-brand","aria-hidden":"true",children:a.jsx("path",{d:"m5 12 5 5 9-10"})})]}),r.map(d=>a.jsxs("a",{role:"menuitem",href:d.href,tabIndex:-1,className:`${M} hover:bg-panel`,children:[a.jsx(ls,{icon:d.icon,className:"text-muted-foreground"}),a.jsx("span",{className:"truncate",children:d.title})]},d.id))]})]})}function dt(){return typeof window<"u"&&window.__AGENT_API__?window.__AGENT_API__:`${typeof window<"u"&&window.__AGENT_BASE__||"/ai-gateway"}/api`}const pt=new Set;function Dn(t){return pt.add(t),()=>{pt.delete(t)}}async function Lt(t){if((t.status===401||t.status===403)&&pt.size>0){const e=await t.json().catch(()=>{}),s=t.status===401&&typeof(e==null?void 0:e.redirectTo)=="string"&&e.redirectTo!==""?{kind:"redirect",redirectTo:e.redirectTo}:t.status===403&&(e==null?void 0:e.error)==="forbidden"?{kind:"forbidden"}:void 0;if(s!==void 0)for(const r of pt)r(s)}throw new Error(`${t.status} ${t.statusText}`)}async function N(t,e){const s=await fetch(dt()+t,e);return s.ok?await s.json():Lt(s)}function ht(t){const e=new URLSearchParams({page:`${t.page}`,limit:`${t.pageSize}`});if(t.where!==void 0)for(const[s,r]of Object.entries(t.where))typeof r=="string"&&r!==""&&e.set(`where[${s}]`,r);return e}const q={spend(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/spend?${e.toString()}`)},topThreads(t,e=10){const s=new URLSearchParams({from:t.fromDay,to:t.toDay,limit:`${e}`});return N(`/top-threads?${s.toString()}`)},reliability(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/reliability?${e.toString()}`)},runs(t=50){return N(`/runs?limit=${t}`)},toolCalls(t=50){return N(`/tool-calls?limit=${t}`)},toolCallsPage(t){return N(`/tool-calls-page?${ht(t)}`)},approvals(t=50){return N(`/approvals?limit=${t}`)},approvalsPage(t){return N(`/approvals-page?${ht(t)}`)},runDetail(t){return N(`/runs/${encodeURIComponent(t)}`)},threadDetail(t,e={}){const s=new URLSearchParams;e.messages!==void 0&&s.set("messages",`${e.messages}`),e.runs!==void 0&&s.set("runs",`${e.runs}`);const r=s.size>0?`?${s.toString()}`:"";return N(`/threads/${encodeURIComponent(t)}${r}`)},async decideApproval(t,e){const s=await fetch(`${dt()}/approvals/${encodeURIComponent(t)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});s.ok||await Lt(s)},toolStats(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/tools?${e.toString()}`)},genuiStats(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/genui?${e.toString()}`)},threads(t=50){return N(`/threads?limit=${t}`)},threadsPage(t){return N(`/threads-page?${ht(t)}`)},runsPage(t){return N(`/runs-page?${ht(t)}`)},pricing(){return N("/pricing")},async upsertPrice(t){const e=await fetch(`${dt()}/pricing`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});e.ok||await Lt(e)},streamEvents(t){const e=new EventSource(`${dt()}/stream`);return e.onmessage=s=>{try{t(JSON.parse(s.data))}catch{}},()=>e.close()}},W={aggregate:6e4,activity:15e3,queue:0,config:5*6e4,detail:3e4};function Xs(t){return{queryKey:["spend",t.fromDay,t.toDay],queryFn:()=>q.spend(t),staleTime:W.aggregate}}function er(t){return vt(Xs(t))}function Fn(t,e=10){const[s,r]=xn({queries:[Xs(t),{queryKey:["top-threads",t.fromDay,t.toDay,e],queryFn:()=>q.topThreads(t,e),staleTime:W.aggregate}]});return{overview:s.data,topThreads:r.data}}function Mn(t){return vt({queryKey:["reliability",t.fromDay,t.toDay],queryFn:()=>q.reliability(t),staleTime:W.aggregate})}function An(t){return vt({queryKey:["tool-stats",t.fromDay,t.toDay],queryFn:()=>q.toolStats(t),staleTime:W.aggregate})}function In(t=50){return vt({queryKey:["tool-calls",t],queryFn:()=>q.toolCalls(t),staleTime:W.activity})}function kn(t,e,s){return ue({queryKey:["runs-page",t,e,s],queryFn:()=>q.runsPage({page:t,pageSize:e,where:s}),placeholderData:mt,staleTime:W.activity})}function Qn(t,e,s){return ue({queryKey:["tool-calls-page",t,e,s],queryFn:()=>q.toolCallsPage({page:t,pageSize:e,where:s}),placeholderData:mt,staleTime:W.activity})}function qn(t,e,s){return ue({queryKey:["threads-page",t,e,s],queryFn:()=>q.threadsPage({page:t,pageSize:e,where:s}),placeholderData:mt,staleTime:W.activity})}function Nn(t,e,s){return ue({queryKey:["approvals-page",t,e,s],queryFn:()=>q.approvalsPage({page:t,pageSize:e,where:s}),placeholderData:mt,staleTime:W.queue})}function Un(){return ue({queryKey:["approvals-count"],queryFn:async()=>(await q.approvalsPage({page:1,pageSize:1})).total,staleTime:W.queue,refetchInterval:2e4,refetchIntervalInBackground:!0})}function Ln(t){return ue({queryKey:["run-detail",t],queryFn:()=>q.runDetail(t),staleTime:W.detail})}function Kn(t){return ue({queryKey:["thread-detail",t],queryFn:()=>q.threadDetail(t),staleTime:W.detail})}function _n(t){return ue({queryKey:["genui",t.fromDay,t.toDay],queryFn:()=>q.genuiStats(t),staleTime:W.aggregate})}function $n(){return ue({queryKey:["pricing"],queryFn:()=>q.pricing(),staleTime:W.config})}const Hn=[["approvals"],["approvals-page"],["approvals-count"],["tool-calls"],["tool-calls-page"],["tool-stats"],["run-detail"]];function Bn(){const t=ut();return Vs({mutationFn:({toolCallId:e,input:s})=>q.decideApproval(e,s),onSuccess:()=>{for(const e of Hn)t.invalidateQueries({queryKey:e})}})}const Gn=[["pricing"],["spend"],["top-threads"],["thread-detail"]];function Wn(){const t=ut();return Vs({mutationFn:e=>q.upsertPrice(e),onSuccess:()=>{for(const e of Gn)t.invalidateQueries({queryKey:e})}})}function zn({range:t}){return a.jsx(ar,{rows:er(t).data.byActor})}const Vn=["spend","models","actors","runs","reliability","approvals","tools","genui","pricing","live"],tr="spend";function Jn(t){return Vn.some(e=>e===t)}function hs(t){const e=t.replace(/^#\/?/,""),s=e.indexOf("?"),r=s===-1?e:e.slice(0,s);return Jn(r)?{section:r,params:new URLSearchParams(s===-1?"":e.slice(s+1))}:{section:tr,params:new URLSearchParams}}function Vt(t,e){const s=e===void 0?"":new URLSearchParams(e).toString();return s===""?`#/${t}`:`#/${t}?${s}`}const sr=b.createContext({open:()=>{}});function bt(){return b.useContext(sr)}function Yn({children:t}){const[e,s]=b.useState([]),r=b.useCallback(u=>{s(h=>[...h,u])},[]),i=b.useCallback(()=>s([]),[]),o=b.useCallback(()=>s(u=>u.slice(0,-1)),[]);b.useEffect(()=>(window.addEventListener("hashchange",i),()=>window.removeEventListener("hashchange",i)),[i]);const c=e[e.length-1];return a.jsxs(sr.Provider,{value:{open:r},children:[t,c!==void 0&&a.jsx(or,{title:c.kind==="run"?"Run":"Thread",subtitle:c.kind==="run"?c.runId:c.threadId,onClose:i,...e.length>1?{onBack:o}:{},children:c.kind==="run"?a.jsx(ti,{runId:c.runId,onOpenThread:Xn(r)}):a.jsx(si,{threadId:c.threadId,onOpenRun:ei(r)})},Zn(c))]})}function Zn(t){return t.kind==="run"?`run:${t.runId}`:`thread:${t.threadId}`}function Xn(t){return e=>t({kind:"thread",threadId:e})}function ei(t){return e=>t({kind:"run",runId:e})}function ti({runId:t,onOpenThread:e}){const s=Ln(t);return s.isPending?a.jsx(nr,{label:"run"}):s.isError?a.jsx(rr,{label:"This run",error:s.error,onRetry:()=>void s.refetch(),goneLabel:"This run no longer exists in the read-model."}):a.jsx(ur,{detail:s.data,onOpenThread:e})}function si({threadId:t,onOpenRun:e}){const s=Kn(t);return s.isPending?a.jsx(nr,{label:"thread"}):s.isError?a.jsx(rr,{label:"This thread",error:s.error,onRetry:()=>void s.refetch(),goneLabel:"This thread no longer exists in the read-model."}):a.jsx(cr,{detail:s.data,onOpenRun:e,runsHref:Vt("reliability",{threadId:t})})}function rr({label:t,error:e,onRetry:s,goneLabel:r}){return e instanceof Error&&e.message.startsWith("404")?a.jsx(hr,{label:r}):a.jsx(dr,{label:t,error:e,onRetry:s})}function nr({label:t}){return a.jsxs(lr,{className:"animate-pulse p-6 text-sm text-muted-foreground","aria-busy":"true",children:["Loading ",t,"…"]})}const ve=25;function yt(t,e,s){return{page:t.data??{rows:[],total:0,page:e,pageSize:s},error:t.isError?t.error:null,retry:()=>void t.refetch()}}function ri(){const{open:t}=bt(),[e,s]=b.useState(1),r=Nn(e,ve,{}),i=Bn();return a.jsx(fr,{table:yt(r,e,ve),onPageChange:s,onDecide:(o,c)=>i.mutateAsync({toolCallId:o,input:c}),onOpenRun:o=>t({kind:"run",runId:o})})}const ni="501";function ii({range:t}){const e=_n(t),s=e.isError&&e.error.message.startsWith(ni);return e.isError&&!s?a.jsx(Es,{label:"Generative UI",error:e.error,onRetry:()=>void e.refetch()}):e.isPending?a.jsx(pr,{label:"Generative UI"}):a.jsx(yr,{stats:e.data??null,unavailable:s})}function ai({range:t}){return a.jsx(mr,{rows:er(t).data.byModel})}const oi="501";function ui(){const t=$n(),e=Wn(),s=t.isError&&t.error.message.startsWith(oi);return t.isError&&!s?a.jsx(Es,{label:"Pricing",error:t.error,onRetry:()=>void t.refetch()}):a.jsx(gr,{prices:t.data??[],loading:t.isPending,unavailable:s,onUpsert:r=>e.mutateAsync(r),saving:e.isPending})}function ci({range:t,threadId:e}){const{open:s}=bt(),r=Mn(t),[i,o]=b.useState(1),[c,u]=b.useState(""),[h,m]=b.useState(""),y={...c!==""?{status:c}:{},...h!==""?{agentName:h}:{},...e!==void 0&&e!==""?{threadId:e}:{}},g=kn(i,ve,y);return a.jsx(vr,{overview:r.data,runsTable:yt(g,i,ve),runsWhere:y,onRunsStatusChange:p=>{u(p),o(1)},onRunsAgentNameChange:p=>{m(p),o(1)},onRunsThreadIdClear:()=>{o(1),window.location.hash=Vt("reliability")},onRunsPageChange:o,onOpenRun:p=>s({kind:"run",runId:p})})}function li(){const{open:t}=bt(),e=In(),[s,r]=b.useState(1),[i,o]=b.useState(""),[c,u]=b.useState(""),h={...i!==""?{toolName:i}:{},...c!==""?{status:c}:{}},m=Qn(s,ve,h),[y,g]=b.useState(1),[p,S]=b.useState(""),M={...p!==""?{title:p}:{}},d=qn(y,ve,M);return a.jsx(br,{toolCalls:e.data,toolCallsTable:yt(m,s,ve),toolCallsWhere:h,onToolCallsToolNameChange:v=>{o(v),r(1)},onToolCallsStatusChange:v=>{u(v),r(1)},onToolCallsPageChange:r,threadsTable:yt(d,y,ve),threadsWhere:M,onThreadsTitleChange:v=>{S(v),g(1)},onThreadsPageChange:g,onOpenRun:v=>t({kind:"run",runId:v}),onOpenThread:v=>t({kind:"thread",threadId:v})})}function hi({range:t}){const{open:e}=bt(),{overview:s,topThreads:r}=Fn(t);return a.jsx(xr,{overview:s,topThreads:r,onOpenThread:i=>e({kind:"thread",threadId:i})})}function di({range:t}){return a.jsx(wr,{rows:An(t).data})}const fi=Lr,pi=Kr;function yi({className:t,align:e="end",sideOffset:s=6,...r}){return a.jsx(_r,{children:a.jsx($r,{align:e,sideOffset:s,className:"z-50 outline-none",children:a.jsx(Hr,{className:Sr("origin-[var(--transform-origin)] rounded-lg border border-line bg-popover p-3 text-popover-foreground shadow-lg shadow-black/50 outline-none","transition-[opacity,transform] duration-150 ease-out","data-[starting-style]:scale-95 data-[starting-style]:opacity-0","data-[ending-style]:scale-95 data-[ending-style]:opacity-0",t),...r})})})}function mi(t){window.location.assign(t)}function gi(t=mi){const[e,s]=b.useState(!1);return b.useEffect(()=>Dn(r=>{r.kind==="redirect"?t(r.redirectTo):s(!0)}),[t]),{denied:e}}function vi(t=200){const[e,s]=b.useState([]),[r,i]=b.useState(!1),o=b.useRef(0);return b.useEffect(()=>{i(!0);const c=q.streamEvents(u=>{o.current+=1,s(h=>Cr(h,u,o.current,t))});return()=>{i(!1),c()}},[t]),{events:e,connected:r}}const ir=[{key:"spend",label:"Spend & usage",icon:a.jsx(Pr,{})},{key:"models",label:"Models",icon:a.jsx(jr,{})},{key:"actors",label:"Actors & budgets",icon:a.jsx(Rr,{})},{key:"runs",label:"Runs & tools",icon:a.jsx(Zt,{})},{key:"reliability",label:"Reliability",icon:a.jsx(Or,{})},{key:"approvals",label:"Approvals",icon:a.jsx(Er,{})},{key:"tools",label:"Tools",icon:a.jsx(Zt,{})},{key:"genui",label:"Generative UI",icon:a.jsx(Tr,{})},{key:"pricing",label:"Pricing",icon:a.jsx(Dr,{})},{key:"live",label:"Live",icon:a.jsx(Fr,{})}],bi=Object.fromEntries(ir.map(t=>[t.key,t.label]));function xi(){const[t,e]=b.useState(()=>typeof window>"u"?{section:tr,params:new URLSearchParams}:hs(window.location.hash));return b.useEffect(()=>{function s(){e(hs(window.location.hash))}return window.addEventListener("hashchange",s),()=>window.removeEventListener("hashchange",s)},[]),t}const wi=Rn("agent-dashboard-config");function Si(){const[t,e]=b.useState(Cn()),{section:s,params:r}=xi(),i=vi(),o=Un();return gi().denied?a.jsx(jn,{}):a.jsx(Mr,{delay:400,closeDelay:0,timeout:300,children:a.jsx(Yn,{children:a.jsxs("div",{className:"relative min-h-full",children:[a.jsx("div",{className:"app-bg"}),a.jsxs("div",{className:"relative z-10 mx-auto max-w-[1180px] px-5 py-5",children:[a.jsx(Pi,{range:t,onRange:e,connected:i.connected,liveCount:i.events.length}),a.jsx("nav",{className:"mb-5 flex flex-wrap gap-1",children:ir.map(u=>{const h=u.key==="live"?i.events.length:u.key==="approvals"?o.data??0:0,m=s===u.key;return a.jsxs(Ts,{render:a.jsx("a",{href:Vt(u.key),...m?{"aria-current":"page"}:{}}),size:"md",variant:m?"default":"ghost",className:"gap-2 rounded-lg",children:[u.icon,u.label,h>0&&a.jsx(Ar,{variant:"accent",className:"tnum border-transparent bg-brand/20",children:h})]},u.key)})}),a.jsx(Ir,{label:bi[s],children:a.jsx(Ci,{section:s,range:t,params:r,liveEvents:i.events,connected:i.connected})},s)]})]})})})}function Ci({section:t,range:e,params:s,liveEvents:r,connected:i}){switch(t){case"spend":return a.jsx(hi,{range:e});case"models":return a.jsx(ai,{range:e});case"actors":return a.jsx(zn,{range:e});case"runs":return a.jsx(li,{});case"reliability":return a.jsx(ci,{range:e,threadId:s.get("threadId")??void 0});case"approvals":return a.jsx(ri,{});case"tools":return a.jsx(di,{range:e});case"genui":return a.jsx(ii,{range:e});case"pricing":return a.jsx(ui,{});case"live":return a.jsx(Qr,{events:r,connected:i});default:return null}}function Pi({range:t,onRange:e,connected:s,liveCount:r}){return a.jsxs("header",{className:"mb-5 flex flex-wrap items-center gap-4",children:[a.jsx(Tn,{config:wi,current:{title:"Agents",icon:"agent"},brand:a.jsxs("div",{className:"flex items-center gap-2.5",children:[a.jsx("div",{className:"grid h-8 w-8 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:a.jsx(Os,{className:"h-4 w-4 text-brand"})}),a.jsxs("div",{className:"leading-none",children:[a.jsx("div",{className:"text-sm font-semibold tracking-tight",children:"AI gateway"}),a.jsx("div",{className:"mono text-[10px] uppercase tracking-[0.2em] text-muted-foreground",children:"governance console"})]})]})}),a.jsxs("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[a.jsx(ji,{range:t,onRange:e}),a.jsxs("span",{className:"flex items-center gap-1.5 rounded-lg border border-line px-2.5 py-1.5 text-[11px] text-muted-foreground",children:[a.jsx(kr,{tone:s?"live":"bad"}),"live ",r>0?`· ${r}`:""]})]})]})}function ji({range:t,onRange:e}){return a.jsxs(fi,{children:[a.jsxs(pi,{render:a.jsx(Ts,{size:"md",variant:"outline",className:"mono gap-2 rounded-lg"}),children:[a.jsx(qr,{width:12,height:12}),a.jsxs("span",{className:"tnum text-foreground",children:[t.fromDay," → ",t.toDay]})]}),a.jsxs(yi,{className:"flex flex-col gap-2",children:[a.jsx(ds,{label:"From",value:t.fromDay,onChange:s=>e({...t,fromDay:s})}),a.jsx(ds,{label:"To",value:t.toDay,onChange:s=>e({...t,toDay:s})}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Whole UTC days, inclusive."})]})]})}function ds({label:t,value:e,onChange:s}){return a.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-line bg-panel px-2.5 py-1 text-[11px] text-muted-foreground",children:[a.jsx("span",{className:"uppercase tracking-wider",children:t}),a.jsx(Nr,{type:"date",value:e,onChange:r=>{const i=r.target.value;Pn(i)&&s(i)}})]})}const Ri=new vn({defaultOptions:{queries:{retry:1}}}),fs=document.getElementById("root");fs&&Ur.createRoot(fs).render(a.jsx(b.StrictMode,{children:a.jsx(Br,{client:Ri,children:a.jsx(Si,{})})}));
@@ -1 +1 @@
1
- import{x as C,o as O,L as M,e as A,M as _,A as R,d as m,c as N,a as v,f as j,G as c,P as k,t as P,S as g,b as U,C as E,B as h,D as L,R as K,T as q}from"./index-DS11tOEH.js";import{j as e,r as w}from"./base-ui-Bm0nR785.js";import"./recharts-CURTGZ5d.js";const G=[{modelId:"gpt-4o",requests:4200,inputTokens:84e5,outputTokens:21e5,costUsd:84.2},{modelId:"claude-3-5-sonnet",requests:2600,inputTokens:52e5,outputTokens:13e5,costUsd:41.6},{modelId:"gpt-4o-mini",requests:9800,inputTokens:12e6,outputTokens:3e6,costUsd:9.4},{modelId:"llama-3-70b",requests:1200,inputTokens:21e5,outputTokens:64e4,costUsd:0}],H=[{actorRef:"tenant:acme",requests:8200,totalTokens:184e5,costUsd:78.1,actorLabel:"Acme Corp"},{actorRef:"user:davi@goflip.ai",requests:3100,totalTokens:69e5,costUsd:34.2,actorLabel:"Davi de Carvalho"},{actorRef:"tenant:globex",requests:4400,totalTokens:92e5,costUsd:21.8,actorLabel:null},{actorRef:"user:ops-bot",requests:2100,totalTokens:394e4,costUsd:1.1,actorLabel:null}],B={"tenant:acme":2e7,"user:davi@goflip.ai":5e6,"tenant:globex":12e6};function F(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/3)*.5+1;a.push({day:r,totalTokens:Math.round(7e5*s+t*4e3),costUsd:Number((4.2*s+t*.05).toFixed(2))})}return a}function z(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/3)*.5+1,l=Math.round(18*s+t*.3);a.push({day:r,runs:l,failed:Math.max(0,Math.round(l*.06))})}return a}const u={byModel:G,byActor:H,trend:F()},W={metrics:{runs:482,completed:461,failed:21,successRate:461/482,retries:34,durationP50Ms:640,durationP95Ms:2400,ttftP50Ms:310,ttftP95Ms:1150},byAgent:[{agentName:"analyst",runs:210,failed:8,retries:14},{agentName:"billing-agent",runs:150,failed:9,retries:12},{agentName:"(default)",runs:122,failed:4,retries:8}],errors:[{errorCode:"TIMEOUT",count:9},{errorCode:"TOOL_ERROR",count:6},{errorCode:"RATE_LIMIT",count:4},{errorCode:"UNKNOWN",count:2}],trend:z()},x={runId:"r-7c31",threadId:"th2",actorRef:"user:ops-bot",agentName:"billing-agent",status:"failed",durationMs:4200,ttftMs:null,costUsd:.0031,modelId:"gpt-4o",errorCode:"TIMEOUT",errorMessage:"upstream model request timed out after 3 attempts",retries:2,startedAt:new Date(Date.now()-21e4).toISOString(),promptHash:"ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221",parentRunId:null},D=[{runId:"r-9f2a",threadId:"th1",actorRef:"tenant:acme",agentName:"analyst",status:"completed",durationMs:820,ttftMs:290,costUsd:.0042,modelId:"gpt-4o-mini",errorCode:null,errorMessage:null,retries:0,startedAt:new Date(Date.now()-4e4).toISOString(),promptHash:"a1b2c3d4e5f60718293a4b5c6d7e8f9012345678901234567890abcdef01234",parentRunId:null},x,{runId:"r-a114",threadId:"th3",actorRef:"user:davi@goflip.ai",agentName:null,status:"completed",durationMs:1150,ttftMs:410,costUsd:.0117,modelId:"claude-sonnet-4-5",errorCode:null,errorMessage:null,retries:1,startedAt:new Date(Date.now()-54e4).toISOString(),promptHash:null,parentRunId:null},{runId:"r-b902",threadId:"th1",actorRef:"tenant:acme",agentName:"analyst",status:"failed",durationMs:980,ttftMs:null,costUsd:null,modelId:null,errorCode:"TOOL_ERROR",errorMessage:"search_records returned a 500",retries:0,startedAt:new Date(Date.now()-132e4).toISOString(),promptHash:"a1b2c3d4e5f60718293a4b5c6d7e8f9012345678901234567890abcdef01234",parentRunId:null},{runId:"r-c447",threadId:"th2",actorRef:"user:ops-bot",agentName:"billing-agent",status:"running",durationMs:null,ttftMs:null,costUsd:null,modelId:null,errorCode:null,errorMessage:null,retries:0,startedAt:new Date(Date.now()-8e3).toISOString(),promptHash:"ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221",parentRunId:"r-7c31"}],Q=[{toolCallId:"tc-approve-1",runId:"r-c447",toolName:"delete_asset",input:{assetId:"asset-42",reason:"stale"},threadId:"th2",threadTitle:"Incident triage",actorRef:"user:ops-bot",agentName:"billing-agent",requestedAt:new Date(Date.now()-3e5).toISOString()},{toolCallId:"tc-approve-2",runId:"r-9f2a",toolName:"send_email",input:{to:"finance@acme.example",subject:"Q3 invoice adjustment"},threadId:"th1",threadTitle:"Q3 procurement review",actorRef:"tenant:acme",agentName:"analyst",requestedAt:new Date(Date.now()-9e5).toISOString()}],V=[{toolName:"search_records",toolType:"read",calls:420,failed:6,rejected:0,p50ExecutionMs:42,p95ExecutionMs:180},{toolName:"delete_asset",toolType:"action",calls:34,failed:1,rejected:4,p50ExecutionMs:310,p95ExecutionMs:620},{toolName:"send_email",toolType:"action",calls:58,failed:2,rejected:2,p50ExecutionMs:96,p95ExecutionMs:410},{toolName:"fetch_pricing",toolType:"read",calls:210,failed:0,rejected:0,p50ExecutionMs:88,p95ExecutionMs:95}],Y=B,p=[{toolCallId:"tc1",runId:"r-9f2a",toolName:"search_records",toolType:"read",status:"ok",threadId:"th1",createdAt:new Date(Date.now()-12e3).toISOString()},{toolCallId:"tc2",runId:"r-7c31",toolName:"delete_asset",toolType:"action",status:"forbidden",threadId:"th2",createdAt:new Date(Date.now()-9e4).toISOString()},{toolCallId:"tc3",runId:"r-9f2a",toolName:"fetch_pricing",toolType:"read",status:"ok",threadId:"th1",createdAt:new Date(Date.now()-24e4).toISOString()},{toolCallId:"tc4",runId:"r-a114",toolName:"send_email",toolType:"action",status:"failed",threadId:"th3",createdAt:new Date(Date.now()-62e4).toISOString()},{toolCallId:"tc5",runId:null,toolName:"summarize_thread",toolType:"read",status:"ok",threadId:"th2",createdAt:new Date(Date.now()-12e5).toISOString()}],y={threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",messageCount:11,totalTokens:62e3,lastActivityAt:new Date(Date.now()-4e5).toISOString(),actorLabel:null},J=[{threadId:"th1",title:"Q3 procurement review",actorRef:"tenant:acme",messageCount:24,totalTokens:184e3,lastActivityAt:new Date(Date.now()-3e4).toISOString(),actorLabel:"Acme Corp"},y,{threadId:"th3",title:"Contract summary",actorRef:"user:davi@goflip.ai",messageCount:6,totalTokens:28400,lastActivityAt:new Date(Date.now()-18e5).toISOString(),actorLabel:"Davi de Carvalho"}],X=[{threadId:"th1",title:"Q3 procurement review",actorRef:"tenant:acme",requests:24,totalTokens:184e3,costUsd:18.4,actorLabel:"Acme Corp"},{threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",requests:11,totalTokens:62e3,costUsd:6.2,actorLabel:null},{threadId:"th3",title:"Contract summary",actorRef:"user:davi@goflip.ai",requests:6,totalTokens:28400,costUsd:2.8,actorLabel:"Davi de Carvalho"}],f={rows:p,total:137,page:1,pageSize:25},I={rows:J,total:46,page:1,pageSize:25},Z={rows:D,total:482,page:1,pageSize:25},$={rows:Q,total:7,page:1,pageSize:25},T={run:x,thread:{threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",deleted:!1,actorLabel:null},toolCalls:[{toolCallId:"tc2",toolName:"delete_asset",toolType:"action",status:"forbidden",executionMs:null,executedByRef:"user:davi@goflip.ai",error:null,createdAt:new Date(Date.now()-215e3).toISOString()},{toolCallId:"tc9",toolName:"fetch_pricing",toolType:"read",status:"ok",executionMs:96,executedByRef:null,error:null,createdAt:new Date(Date.now()-213e3).toISOString()},{toolCallId:"tc10",toolName:"search_records",toolType:"read",status:"failed",executionMs:3980,executedByRef:null,error:"upstream returned 500 after 3 attempts",createdAt:new Date(Date.now()-212e3).toISOString()}]},S={thread:y,deleted:!1,usage:{requests:11,inputTokens:48e3,outputTokens:14e3,totalTokens:62e3,costUsd:6.2},runs:D.filter(a=>a.threadId==="th2"),runTotal:34,messages:[{messageId:"m1",role:"user",content:"The billing sync failed again overnight — can you find out which asset broke it?",truncated:!1,agentName:null,toolCallCount:0,createdAt:new Date(Date.now()-4e5).toISOString()},{messageId:"m2",role:"assistant",content:"I found 3 assets with a null billing code. Asset-42 is the only one touched by last night’s sync, so I want to delete it — that needs your approval.",truncated:!1,agentName:"billing-agent",toolCallCount:2,createdAt:new Date(Date.now()-38e4).toISOString()},{messageId:"m3",role:"assistant",content:"Here is the full audit trail for asset-42 across the last 90 days, starting with the ingest that first assigned it a billing code and continuing through every subsequent",truncated:!0,agentName:"billing-agent",toolCallCount:1,createdAt:new Date(Date.now()-36e4).toISOString()}]},ee=[{modelId:"gpt-4o",inputPricePer1m:2.5,outputPricePer1m:10,cacheReadPricePer1m:1.25,effectiveFrom:new Date(Date.now()-5*864e5).toISOString()},{modelId:"claude-3-5-sonnet",inputPricePer1m:3,outputPricePer1m:15,cacheWritePricePer1m:3.75,cacheReadPricePer1m:.3,effectiveFrom:new Date(Date.now()-12*864e5).toISOString()},{modelId:"gpt-4o-mini",inputPricePer1m:.15,outputPricePer1m:.6,effectiveFrom:new Date(Date.now()-2*864e5).toISOString()}],te=[{id:"e1",event:"run.started",ts:Date.now()-2e3,payload:{runId:"r-9f2",agentName:"analyst"}},{id:"e2",event:"tool-call",ts:Date.now()-5e3,payload:{toolName:"search_records",toolType:"read",status:"ok"}},{id:"e3",event:"quota.exceeded",ts:Date.now()-9e3,payload:{actorId:"tenant:globex",usedTokens:124e5,limitTokens:12e6}},{id:"e4",event:"tool-call",ts:Date.now()-14e3,payload:{toolName:"delete_asset",toolType:"action",status:"forbidden"}},{id:"e5",event:"delegated",ts:Date.now()-2e4,payload:{fromAgent:"router",toAgent:"billing-agent"}},{id:"e6",event:"run.finished",ts:Date.now()-26e3,payload:{runId:"r-8a1",steps:7,inputTokens:4200,outputTokens:1100}}];function ae(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/4)*.4+1,l=Math.round(26*s+(29-t)*.6),i=Math.round(l*1.28);a.push({day:r,calls:i,turns:l,inputTokens:i*3400,outputTokens:i*1150,costUsd:Number((i*.0123).toFixed(4)),firstTryRate:Number((.82+Math.cos(t/5)*.06).toFixed(3))})}return a}const n=ae(),oe={totals:{calls:n.reduce((a,t)=>a+t.calls,0),turns:n.reduce((a,t)=>a+t.turns,0),firstAttempts:1014,firstTrySuccesses:842,firstTryRate:842/1014,retried:131,failed:207,inputTokens:n.reduce((a,t)=>a+t.inputTokens,0),outputTokens:n.reduce((a,t)=>a+t.outputTokens,0),costUsd:n.reduce((a,t)=>a+(t.costUsd??0),0)},byToolModel:[{toolName:"ui__render",modelId:"arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5",mode:"tree",calls:612,firstAttempts:498,firstTrySuccesses:461,firstTryRate:461/498,retried:41,failed:58,costUsd:6.84},{toolName:"ui__sandbox",modelId:"arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5",mode:"sandbox",calls:284,firstAttempts:201,firstTrySuccesses:139,firstTryRate:139/201,retried:52,failed:93,costUsd:5.12},{toolName:"ui__show_order_card",modelId:"gpt-4o-mini",mode:"per-component",calls:241,firstAttempts:232,firstTrySuccesses:221,firstTryRate:221/232,retried:7,failed:13,costUsd:.41},{toolName:"ui__show",modelId:"gpt-4o-mini",mode:"show",calls:108,firstAttempts:83,firstTrySuccesses:21,firstTryRate:21/83,retried:31,failed:43,costUsd:null}],errors:[{category:"syntax",message:"invalid Sandbox code: jsx line 14:22: Unexpected token — check that every JSX tag is closed in order",toolName:"ui__sandbox",count:48,lastAt:new Date(Date.now()-12*6e4).toISOString()},{category:"shape",message:'invalid UI tree: children[2].props.columns: Expected array, received "…"',toolName:"ui__render",count:37,lastAt:new Date(Date.now()-40*6e4).toISOString()},{category:"unknown-component",message:"invalid UI tree code: children[0] jsx line 3:22: `<Slider>` is not a kit component — use one of `Button`, `Card`, or a plain element",toolName:"ui__render",count:21,lastAt:new Date(Date.now()-3*36e5).toISOString()},{category:"missing-app",message:"invalid Sandbox code: jsx: no `App` — rename `function Calculator` to `function App`; App is what gets drawn",toolName:"ui__sandbox",count:19,lastAt:new Date(Date.now()-5*36e5).toISOString()},{category:"unavailable",message:'component "…" is not available here',toolName:"ui__show",count:14,lastAt:new Date(Date.now()-26*36e5).toISOString()},{category:"bridge",message:"invalid Sandbox code: html line 1:18: `flippy.send` — the bridge is `agent.send(payload)`",toolName:"ui__sandbox",count:9,lastAt:new Date(Date.now()-2*864e5).toISOString()},{category:"other",message:"Request timed out after 30000ms",toolName:"ui__show",count:3,lastAt:new Date(Date.now()-4*864e5).toISOString()}],byDay:n,costPerTurn:{turns:n.reduce((a,t)=>a+t.turns,0),avgUsd:.0157,p50Usd:.0112,p95Usd:.0441},latency:{firstFrame:{samples:1002,p50Ms:740,p95Ms:2310},complete:{samples:931,p50Ms:3480,p95Ms:9120}}},ne={totals:{calls:0,turns:0,firstAttempts:0,firstTrySuccesses:0,firstTryRate:null,retried:0,failed:0,inputTokens:0,outputTokens:0,costUsd:null},byToolModel:[],errors:[],byDay:[],costPerTurn:{turns:0,avgUsd:null,p50Usd:null,p95Usd:null},latency:{firstFrame:{samples:0,p50Ms:null,p95Ms:null},complete:{samples:0,p50Ms:null,p95Ms:null}}};function d(a){return{page:a,error:null,retry:()=>{}}}function se(a,t){return{page:a,error:t,retry:()=>{}}}function re(){const[a,t]=w.useState(null);return e.jsx(O,{delay:400,closeDelay:0,timeout:300,children:e.jsxs("div",{className:"relative min-h-full",children:[e.jsx("div",{className:"app-bg"}),e.jsxs("div",{className:"relative z-10 mx-auto max-w-[1180px] space-y-6 px-5 py-6",children:[e.jsxs("header",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"grid h-8 w-8 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:e.jsx(M,{className:"h-4 w-4 text-brand"})}),e.jsxs("div",{className:"leading-none",children:[e.jsx("div",{className:"text-sm font-semibold tracking-tight",children:"AI gateway — preview"}),e.jsx("div",{className:"mono text-[10px] uppercase tracking-[0.2em] text-muted-foreground",children:"mock data · no backend"})]})]}),e.jsx(o,{label:"Spend & usage",children:e.jsx(A,{overview:u,topThreads:X,onOpenThread:()=>t("thread")})}),e.jsx(o,{label:"Models",children:e.jsx(_,{rows:u.byModel})}),e.jsx(o,{label:"Actors & budgets",children:e.jsx(R,{rows:u.byActor,budgets:Y})}),e.jsx(o,{label:"Runs & tools",children:e.jsx(m,{toolCalls:p,toolCallsTable:d(f),toolCallsWhere:{},onToolCallsToolNameChange:()=>{},onToolCallsStatusChange:()=>{},onToolCallsPageChange:()=>{},threadsTable:d(I),threadsWhere:{},onThreadsTitleChange:()=>{},onThreadsPageChange:()=>{},onOpenRun:()=>t("run"),onOpenThread:()=>t("thread")})}),e.jsx(o,{label:"Reliability",children:e.jsx(N,{overview:W,runsTable:d(Z),runsWhere:{threadId:"th2"},onRunsStatusChange:()=>{},onRunsAgentNameChange:()=>{},onRunsThreadIdClear:()=>{},onRunsPageChange:()=>{},onOpenRun:()=>t("run")})}),e.jsx(o,{label:"Approvals",children:e.jsx(v,{table:d($),onPageChange:()=>{},onDecide:async()=>{},onOpenRun:()=>t("run")})}),e.jsx(o,{label:"Tools",children:e.jsx(j,{rows:V})}),e.jsx(o,{label:"Generative UI",children:e.jsx(c,{stats:oe})}),e.jsx(o,{label:"Pricing",children:e.jsx(k,{prices:ee,loading:!1,unavailable:!1,onUpsert:async()=>{},saving:!1})}),e.jsx(o,{label:"Live",children:e.jsx(P,{events:te,connected:!0})}),e.jsx(o,{label:"Failure & loading states",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(g,{label:"Spend & usage",error:new Error("503 Service Unavailable"),onRetry:()=>{}}),e.jsx(g,{label:"Pricing",error:new Error("401 Unauthorized"),onRetry:()=>{}}),e.jsx(U,{label:"Reliability"}),e.jsx(c,{stats:null,unavailable:!0}),e.jsx(c,{stats:ne}),e.jsx(m,{toolCalls:p,toolCallsTable:se(f,new Error("500 Internal Server Error")),toolCallsWhere:{},onToolCallsToolNameChange:()=>{},onToolCallsStatusChange:()=>{},onToolCallsPageChange:()=>{},threadsTable:d(I),threadsWhere:{},onThreadsTitleChange:()=>{},onThreadsPageChange:()=>{}})]})}),e.jsx(o,{label:"Drill-downs",children:e.jsxs(E,{className:"flex flex-wrap gap-2 p-4 text-xs",children:[e.jsx(h,{size:"md",className:"rounded-lg",onClick:()=>t("run"),children:"Open a run"}),e.jsx(h,{size:"md",className:"rounded-lg",onClick:()=>t("thread"),children:"Open a thread"})]})})]}),a!==null&&e.jsx(L,{title:a==="run"?"Run":"Thread",subtitle:a==="run"?T.run.runId:S.thread.threadId,onClose:()=>t(null),...a==="run"?{onBack:()=>t("thread")}:{},children:a==="run"?e.jsx(K,{detail:T,onOpenThread:()=>t("thread")}):e.jsx(q,{detail:S,onOpenRun:()=>t("run"),runsHref:"#/reliability?threadId=th2"})})]})})}function o({label:a,children:t}){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"mono text-[11px] uppercase tracking-[0.2em] text-muted-foreground",children:a}),t]})}const b=document.getElementById("root");b&&C.createRoot(b).render(e.jsx(w.StrictMode,{children:e.jsx(re,{})}));
1
+ import{x as C,o as O,L as M,e as A,M as _,A as R,d as m,c as N,a as v,f as j,G as c,P as k,t as P,S as g,b as U,C as E,B as h,D as L,R as K,T as q}from"./index-Br3YfiYJ.js";import{j as e,r as w}from"./base-ui-Bm0nR785.js";import"./recharts-CURTGZ5d.js";const G=[{modelId:"gpt-4o",requests:4200,inputTokens:84e5,outputTokens:21e5,costUsd:84.2},{modelId:"claude-3-5-sonnet",requests:2600,inputTokens:52e5,outputTokens:13e5,costUsd:41.6},{modelId:"gpt-4o-mini",requests:9800,inputTokens:12e6,outputTokens:3e6,costUsd:9.4},{modelId:"llama-3-70b",requests:1200,inputTokens:21e5,outputTokens:64e4,costUsd:0}],H=[{actorRef:"tenant:acme",requests:8200,totalTokens:184e5,costUsd:78.1,actorLabel:"Acme Corp"},{actorRef:"user:davi@goflip.ai",requests:3100,totalTokens:69e5,costUsd:34.2,actorLabel:"Davi de Carvalho"},{actorRef:"tenant:globex",requests:4400,totalTokens:92e5,costUsd:21.8,actorLabel:null},{actorRef:"user:ops-bot",requests:2100,totalTokens:394e4,costUsd:1.1,actorLabel:null}],B={"tenant:acme":2e7,"user:davi@goflip.ai":5e6,"tenant:globex":12e6};function F(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/3)*.5+1;a.push({day:r,totalTokens:Math.round(7e5*s+t*4e3),costUsd:Number((4.2*s+t*.05).toFixed(2))})}return a}function z(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/3)*.5+1,l=Math.round(18*s+t*.3);a.push({day:r,runs:l,failed:Math.max(0,Math.round(l*.06))})}return a}const u={byModel:G,byActor:H,trend:F()},W={metrics:{runs:482,completed:461,failed:21,successRate:461/482,retries:34,durationP50Ms:640,durationP95Ms:2400,ttftP50Ms:310,ttftP95Ms:1150},byAgent:[{agentName:"analyst",runs:210,failed:8,retries:14},{agentName:"billing-agent",runs:150,failed:9,retries:12},{agentName:"(default)",runs:122,failed:4,retries:8}],errors:[{errorCode:"TIMEOUT",count:9},{errorCode:"TOOL_ERROR",count:6},{errorCode:"RATE_LIMIT",count:4},{errorCode:"UNKNOWN",count:2}],trend:z()},x={runId:"r-7c31",threadId:"th2",actorRef:"user:ops-bot",agentName:"billing-agent",status:"failed",durationMs:4200,ttftMs:null,costUsd:.0031,modelId:"gpt-4o",errorCode:"TIMEOUT",errorMessage:"upstream model request timed out after 3 attempts",retries:2,startedAt:new Date(Date.now()-21e4).toISOString(),promptHash:"ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221",parentRunId:null},D=[{runId:"r-9f2a",threadId:"th1",actorRef:"tenant:acme",agentName:"analyst",status:"completed",durationMs:820,ttftMs:290,costUsd:.0042,modelId:"gpt-4o-mini",errorCode:null,errorMessage:null,retries:0,startedAt:new Date(Date.now()-4e4).toISOString(),promptHash:"a1b2c3d4e5f60718293a4b5c6d7e8f9012345678901234567890abcdef01234",parentRunId:null},x,{runId:"r-a114",threadId:"th3",actorRef:"user:davi@goflip.ai",agentName:null,status:"completed",durationMs:1150,ttftMs:410,costUsd:.0117,modelId:"claude-sonnet-4-5",errorCode:null,errorMessage:null,retries:1,startedAt:new Date(Date.now()-54e4).toISOString(),promptHash:null,parentRunId:null},{runId:"r-b902",threadId:"th1",actorRef:"tenant:acme",agentName:"analyst",status:"failed",durationMs:980,ttftMs:null,costUsd:null,modelId:null,errorCode:"TOOL_ERROR",errorMessage:"search_records returned a 500",retries:0,startedAt:new Date(Date.now()-132e4).toISOString(),promptHash:"a1b2c3d4e5f60718293a4b5c6d7e8f9012345678901234567890abcdef01234",parentRunId:null},{runId:"r-c447",threadId:"th2",actorRef:"user:ops-bot",agentName:"billing-agent",status:"running",durationMs:null,ttftMs:null,costUsd:null,modelId:null,errorCode:null,errorMessage:null,retries:0,startedAt:new Date(Date.now()-8e3).toISOString(),promptHash:"ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221",parentRunId:"r-7c31"}],Q=[{toolCallId:"tc-approve-1",runId:"r-c447",toolName:"delete_asset",input:{assetId:"asset-42",reason:"stale"},threadId:"th2",threadTitle:"Incident triage",actorRef:"user:ops-bot",agentName:"billing-agent",requestedAt:new Date(Date.now()-3e5).toISOString()},{toolCallId:"tc-approve-2",runId:"r-9f2a",toolName:"send_email",input:{to:"finance@acme.example",subject:"Q3 invoice adjustment"},threadId:"th1",threadTitle:"Q3 procurement review",actorRef:"tenant:acme",agentName:"analyst",requestedAt:new Date(Date.now()-9e5).toISOString()}],V=[{toolName:"search_records",toolType:"read",calls:420,failed:6,rejected:0,p50ExecutionMs:42,p95ExecutionMs:180},{toolName:"delete_asset",toolType:"action",calls:34,failed:1,rejected:4,p50ExecutionMs:310,p95ExecutionMs:620},{toolName:"send_email",toolType:"action",calls:58,failed:2,rejected:2,p50ExecutionMs:96,p95ExecutionMs:410},{toolName:"fetch_pricing",toolType:"read",calls:210,failed:0,rejected:0,p50ExecutionMs:88,p95ExecutionMs:95}],Y=B,p=[{toolCallId:"tc1",runId:"r-9f2a",toolName:"search_records",toolType:"read",status:"ok",threadId:"th1",createdAt:new Date(Date.now()-12e3).toISOString()},{toolCallId:"tc2",runId:"r-7c31",toolName:"delete_asset",toolType:"action",status:"forbidden",threadId:"th2",createdAt:new Date(Date.now()-9e4).toISOString()},{toolCallId:"tc3",runId:"r-9f2a",toolName:"fetch_pricing",toolType:"read",status:"ok",threadId:"th1",createdAt:new Date(Date.now()-24e4).toISOString()},{toolCallId:"tc4",runId:"r-a114",toolName:"send_email",toolType:"action",status:"failed",threadId:"th3",createdAt:new Date(Date.now()-62e4).toISOString()},{toolCallId:"tc5",runId:null,toolName:"summarize_thread",toolType:"read",status:"ok",threadId:"th2",createdAt:new Date(Date.now()-12e5).toISOString()}],y={threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",messageCount:11,totalTokens:62e3,lastActivityAt:new Date(Date.now()-4e5).toISOString(),actorLabel:null},J=[{threadId:"th1",title:"Q3 procurement review",actorRef:"tenant:acme",messageCount:24,totalTokens:184e3,lastActivityAt:new Date(Date.now()-3e4).toISOString(),actorLabel:"Acme Corp"},y,{threadId:"th3",title:"Contract summary",actorRef:"user:davi@goflip.ai",messageCount:6,totalTokens:28400,lastActivityAt:new Date(Date.now()-18e5).toISOString(),actorLabel:"Davi de Carvalho"}],X=[{threadId:"th1",title:"Q3 procurement review",actorRef:"tenant:acme",requests:24,totalTokens:184e3,costUsd:18.4,actorLabel:"Acme Corp"},{threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",requests:11,totalTokens:62e3,costUsd:6.2,actorLabel:null},{threadId:"th3",title:"Contract summary",actorRef:"user:davi@goflip.ai",requests:6,totalTokens:28400,costUsd:2.8,actorLabel:"Davi de Carvalho"}],f={rows:p,total:137,page:1,pageSize:25},I={rows:J,total:46,page:1,pageSize:25},Z={rows:D,total:482,page:1,pageSize:25},$={rows:Q,total:7,page:1,pageSize:25},T={run:x,thread:{threadId:"th2",title:"Incident triage",actorRef:"user:ops-bot",deleted:!1,actorLabel:null},toolCalls:[{toolCallId:"tc2",toolName:"delete_asset",toolType:"action",status:"forbidden",executionMs:null,executedByRef:"user:davi@goflip.ai",error:null,createdAt:new Date(Date.now()-215e3).toISOString()},{toolCallId:"tc9",toolName:"fetch_pricing",toolType:"read",status:"ok",executionMs:96,executedByRef:null,error:null,createdAt:new Date(Date.now()-213e3).toISOString()},{toolCallId:"tc10",toolName:"search_records",toolType:"read",status:"failed",executionMs:3980,executedByRef:null,error:"upstream returned 500 after 3 attempts",createdAt:new Date(Date.now()-212e3).toISOString()}]},S={thread:y,deleted:!1,usage:{requests:11,inputTokens:48e3,outputTokens:14e3,totalTokens:62e3,costUsd:6.2},runs:D.filter(a=>a.threadId==="th2"),runTotal:34,messages:[{messageId:"m1",role:"user",content:"The billing sync failed again overnight — can you find out which asset broke it?",truncated:!1,agentName:null,toolCallCount:0,createdAt:new Date(Date.now()-4e5).toISOString()},{messageId:"m2",role:"assistant",content:"I found 3 assets with a null billing code. Asset-42 is the only one touched by last night’s sync, so I want to delete it — that needs your approval.",truncated:!1,agentName:"billing-agent",toolCallCount:2,createdAt:new Date(Date.now()-38e4).toISOString()},{messageId:"m3",role:"assistant",content:"Here is the full audit trail for asset-42 across the last 90 days, starting with the ingest that first assigned it a billing code and continuing through every subsequent",truncated:!0,agentName:"billing-agent",toolCallCount:1,createdAt:new Date(Date.now()-36e4).toISOString()}]},ee=[{modelId:"gpt-4o",inputPricePer1m:2.5,outputPricePer1m:10,cacheReadPricePer1m:1.25,effectiveFrom:new Date(Date.now()-5*864e5).toISOString()},{modelId:"claude-3-5-sonnet",inputPricePer1m:3,outputPricePer1m:15,cacheWritePricePer1m:3.75,cacheReadPricePer1m:.3,effectiveFrom:new Date(Date.now()-12*864e5).toISOString()},{modelId:"gpt-4o-mini",inputPricePer1m:.15,outputPricePer1m:.6,effectiveFrom:new Date(Date.now()-2*864e5).toISOString()}],te=[{id:"e1",event:"run.started",ts:Date.now()-2e3,payload:{runId:"r-9f2",agentName:"analyst"}},{id:"e2",event:"tool-call",ts:Date.now()-5e3,payload:{toolName:"search_records",toolType:"read",status:"ok"}},{id:"e3",event:"quota.exceeded",ts:Date.now()-9e3,payload:{actorId:"tenant:globex",usedTokens:124e5,limitTokens:12e6}},{id:"e4",event:"tool-call",ts:Date.now()-14e3,payload:{toolName:"delete_asset",toolType:"action",status:"forbidden"}},{id:"e5",event:"delegated",ts:Date.now()-2e4,payload:{fromAgent:"router",toAgent:"billing-agent"}},{id:"e6",event:"run.finished",ts:Date.now()-26e3,payload:{runId:"r-8a1",steps:7,inputTokens:4200,outputTokens:1100}}];function ae(){const a=[];for(let t=29;t>=0;t-=1){const r=new Date(Date.now()-t*864e5).toISOString().slice(0,10),s=Math.sin(t/4)*.4+1,l=Math.round(26*s+(29-t)*.6),i=Math.round(l*1.28);a.push({day:r,calls:i,turns:l,inputTokens:i*3400,outputTokens:i*1150,costUsd:Number((i*.0123).toFixed(4)),firstTryRate:Number((.82+Math.cos(t/5)*.06).toFixed(3))})}return a}const n=ae(),oe={totals:{calls:n.reduce((a,t)=>a+t.calls,0),turns:n.reduce((a,t)=>a+t.turns,0),firstAttempts:1014,firstTrySuccesses:842,firstTryRate:842/1014,retried:131,failed:207,inputTokens:n.reduce((a,t)=>a+t.inputTokens,0),outputTokens:n.reduce((a,t)=>a+t.outputTokens,0),costUsd:n.reduce((a,t)=>a+(t.costUsd??0),0)},byToolModel:[{toolName:"ui__render",modelId:"arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5",mode:"tree",calls:612,firstAttempts:498,firstTrySuccesses:461,firstTryRate:461/498,retried:41,failed:58,costUsd:6.84},{toolName:"ui__sandbox",modelId:"arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5",mode:"sandbox",calls:284,firstAttempts:201,firstTrySuccesses:139,firstTryRate:139/201,retried:52,failed:93,costUsd:5.12},{toolName:"ui__show_order_card",modelId:"gpt-4o-mini",mode:"per-component",calls:241,firstAttempts:232,firstTrySuccesses:221,firstTryRate:221/232,retried:7,failed:13,costUsd:.41},{toolName:"ui__show",modelId:"gpt-4o-mini",mode:"show",calls:108,firstAttempts:83,firstTrySuccesses:21,firstTryRate:21/83,retried:31,failed:43,costUsd:null}],errors:[{category:"syntax",message:"invalid Sandbox code: jsx line 14:22: Unexpected token — check that every JSX tag is closed in order",toolName:"ui__sandbox",count:48,lastAt:new Date(Date.now()-12*6e4).toISOString()},{category:"shape",message:'invalid UI tree: children[2].props.columns: Expected array, received "…"',toolName:"ui__render",count:37,lastAt:new Date(Date.now()-40*6e4).toISOString()},{category:"unknown-component",message:"invalid UI tree code: children[0] jsx line 3:22: `<Slider>` is not a kit component — use one of `Button`, `Card`, or a plain element",toolName:"ui__render",count:21,lastAt:new Date(Date.now()-3*36e5).toISOString()},{category:"missing-app",message:"invalid Sandbox code: jsx: no `App` — rename `function Calculator` to `function App`; App is what gets drawn",toolName:"ui__sandbox",count:19,lastAt:new Date(Date.now()-5*36e5).toISOString()},{category:"unavailable",message:'component "…" is not available here',toolName:"ui__show",count:14,lastAt:new Date(Date.now()-26*36e5).toISOString()},{category:"bridge",message:"invalid Sandbox code: html line 1:18: `flippy.send` — the bridge is `agent.send(payload)`",toolName:"ui__sandbox",count:9,lastAt:new Date(Date.now()-2*864e5).toISOString()},{category:"other",message:"Request timed out after 30000ms",toolName:"ui__show",count:3,lastAt:new Date(Date.now()-4*864e5).toISOString()}],byDay:n,costPerTurn:{turns:n.reduce((a,t)=>a+t.turns,0),avgUsd:.0157,p50Usd:.0112,p95Usd:.0441},latency:{firstFrame:{samples:1002,p50Ms:740,p95Ms:2310},complete:{samples:931,p50Ms:3480,p95Ms:9120}}},ne={totals:{calls:0,turns:0,firstAttempts:0,firstTrySuccesses:0,firstTryRate:null,retried:0,failed:0,inputTokens:0,outputTokens:0,costUsd:null},byToolModel:[],errors:[],byDay:[],costPerTurn:{turns:0,avgUsd:null,p50Usd:null,p95Usd:null},latency:{firstFrame:{samples:0,p50Ms:null,p95Ms:null},complete:{samples:0,p50Ms:null,p95Ms:null}}};function d(a){return{page:a,error:null,retry:()=>{}}}function se(a,t){return{page:a,error:t,retry:()=>{}}}function re(){const[a,t]=w.useState(null);return e.jsx(O,{delay:400,closeDelay:0,timeout:300,children:e.jsxs("div",{className:"relative min-h-full",children:[e.jsx("div",{className:"app-bg"}),e.jsxs("div",{className:"relative z-10 mx-auto max-w-[1180px] space-y-6 px-5 py-6",children:[e.jsxs("header",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"grid h-8 w-8 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:e.jsx(M,{className:"h-4 w-4 text-brand"})}),e.jsxs("div",{className:"leading-none",children:[e.jsx("div",{className:"text-sm font-semibold tracking-tight",children:"AI gateway — preview"}),e.jsx("div",{className:"mono text-[10px] uppercase tracking-[0.2em] text-muted-foreground",children:"mock data · no backend"})]})]}),e.jsx(o,{label:"Spend & usage",children:e.jsx(A,{overview:u,topThreads:X,onOpenThread:()=>t("thread")})}),e.jsx(o,{label:"Models",children:e.jsx(_,{rows:u.byModel})}),e.jsx(o,{label:"Actors & budgets",children:e.jsx(R,{rows:u.byActor,budgets:Y})}),e.jsx(o,{label:"Runs & tools",children:e.jsx(m,{toolCalls:p,toolCallsTable:d(f),toolCallsWhere:{},onToolCallsToolNameChange:()=>{},onToolCallsStatusChange:()=>{},onToolCallsPageChange:()=>{},threadsTable:d(I),threadsWhere:{},onThreadsTitleChange:()=>{},onThreadsPageChange:()=>{},onOpenRun:()=>t("run"),onOpenThread:()=>t("thread")})}),e.jsx(o,{label:"Reliability",children:e.jsx(N,{overview:W,runsTable:d(Z),runsWhere:{threadId:"th2"},onRunsStatusChange:()=>{},onRunsAgentNameChange:()=>{},onRunsThreadIdClear:()=>{},onRunsPageChange:()=>{},onOpenRun:()=>t("run")})}),e.jsx(o,{label:"Approvals",children:e.jsx(v,{table:d($),onPageChange:()=>{},onDecide:async()=>{},onOpenRun:()=>t("run")})}),e.jsx(o,{label:"Tools",children:e.jsx(j,{rows:V})}),e.jsx(o,{label:"Generative UI",children:e.jsx(c,{stats:oe})}),e.jsx(o,{label:"Pricing",children:e.jsx(k,{prices:ee,loading:!1,unavailable:!1,onUpsert:async()=>{},saving:!1})}),e.jsx(o,{label:"Live",children:e.jsx(P,{events:te,connected:!0})}),e.jsx(o,{label:"Failure & loading states",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(g,{label:"Spend & usage",error:new Error("503 Service Unavailable"),onRetry:()=>{}}),e.jsx(g,{label:"Pricing",error:new Error("401 Unauthorized"),onRetry:()=>{}}),e.jsx(U,{label:"Reliability"}),e.jsx(c,{stats:null,unavailable:!0}),e.jsx(c,{stats:ne}),e.jsx(m,{toolCalls:p,toolCallsTable:se(f,new Error("500 Internal Server Error")),toolCallsWhere:{},onToolCallsToolNameChange:()=>{},onToolCallsStatusChange:()=>{},onToolCallsPageChange:()=>{},threadsTable:d(I),threadsWhere:{},onThreadsTitleChange:()=>{},onThreadsPageChange:()=>{}})]})}),e.jsx(o,{label:"Drill-downs",children:e.jsxs(E,{className:"flex flex-wrap gap-2 p-4 text-xs",children:[e.jsx(h,{size:"md",className:"rounded-lg",onClick:()=>t("run"),children:"Open a run"}),e.jsx(h,{size:"md",className:"rounded-lg",onClick:()=>t("thread"),children:"Open a thread"})]})})]}),a!==null&&e.jsx(L,{title:a==="run"?"Run":"Thread",subtitle:a==="run"?T.run.runId:S.thread.threadId,onClose:()=>t(null),...a==="run"?{onBack:()=>t("thread")}:{},children:a==="run"?e.jsx(K,{detail:T,onOpenThread:()=>t("thread")}):e.jsx(q,{detail:S,onOpenRun:()=>t("run"),runsHref:"#/reliability?threadId=th2"})})]})})}function o({label:a,children:t}){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"mono text-[11px] uppercase tracking-[0.2em] text-muted-foreground",children:a}),t]})}const b=document.getElementById("root");b&&C.createRoot(b).render(e.jsx(w.StrictMode,{children:e.jsx(re,{})}));
@@ -10,11 +10,11 @@
10
10
  rel="stylesheet"
11
11
  />
12
12
  <title>ai gateway · governance console</title>
13
- <script type="module" crossorigin src="/ai-gateway/assets/index-D3yTBCU0.js"></script>
13
+ <script type="module" crossorigin src="/ai-gateway/assets/index-C4U9WEBt.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="/ai-gateway/assets/base-ui-Bm0nR785.js">
15
15
  <link rel="modulepreload" crossorigin href="/ai-gateway/assets/recharts-CURTGZ5d.js">
16
- <link rel="modulepreload" crossorigin href="/ai-gateway/assets/index-DS11tOEH.js">
17
- <link rel="stylesheet" crossorigin href="/ai-gateway/assets/index-ClnZsvJ1.css">
16
+ <link rel="modulepreload" crossorigin href="/ai-gateway/assets/index-Br3YfiYJ.js">
17
+ <link rel="stylesheet" crossorigin href="/ai-gateway/assets/index-BW1bqmTf.css">
18
18
  </head>
19
19
  <body>
20
20
  <div id="root"></div>
@@ -10,11 +10,11 @@
10
10
  rel="stylesheet"
11
11
  />
12
12
  <title>ai gateway · preview</title>
13
- <script type="module" crossorigin src="/ai-gateway/assets/preview-CbqJ2CAQ.js"></script>
13
+ <script type="module" crossorigin src="/ai-gateway/assets/preview-CJ1UfhOA.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="/ai-gateway/assets/base-ui-Bm0nR785.js">
15
15
  <link rel="modulepreload" crossorigin href="/ai-gateway/assets/recharts-CURTGZ5d.js">
16
- <link rel="modulepreload" crossorigin href="/ai-gateway/assets/index-DS11tOEH.js">
17
- <link rel="stylesheet" crossorigin href="/ai-gateway/assets/index-ClnZsvJ1.css">
16
+ <link rel="modulepreload" crossorigin href="/ai-gateway/assets/index-Br3YfiYJ.js">
17
+ <link rel="stylesheet" crossorigin href="/ai-gateway/assets/index-BW1bqmTf.css">
18
18
  </head>
19
19
  <body>
20
20
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dudousxd/nestjs-agent-dashboard",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/DavideCarvalho/nestjs-agent.git",
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-\[3px\]{top:3px;right:3px;bottom:3px;left:3px}.inset-y-0{top:0;bottom:0}.left-1{left:.25rem}.right-0{right:0}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-\[520px\]{max-height:520px}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[520px\]{min-width:520px}.min-w-\[560px\]{min-width:560px}.min-w-\[640px\]{min-width:640px}.min-w-\[700px\]{min-width:700px}.min-w-\[760px\]{min-width:760px}.min-w-\[860px\]{min-width:860px}.min-w-\[var\(--anchor-width\)\]{min-width:var(--anchor-width)}.max-w-\[1180px\]{max-width:1180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[420px\]{max-width:420px}.max-w-\[720px\]{max-width:720px}.max-w-\[min\(28rem\,90vw\)\]{max-width:min(28rem,90vw)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[var\(--transform-origin\)\]{transform-origin:var(--transform-origin)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--line\)\]{border-color:var(--line)}.border-bad\/40{border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.border-bad\/50{border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.border-brand\/40{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.border-brand\/50{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.border-good\/50{border-color:color-mix(in srgb,var(--good) 50%,transparent)}.border-input,.border-line{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--line) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.border-line-soft{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--line-soft) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.border-transparent{border-color:transparent}.border-warn\/40{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.border-warn\/50{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.bg-accent{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-bad\/10{background-color:color-mix(in srgb,var(--bad) 10%,transparent)}.bg-bad\/5{background-color:color-mix(in srgb,var(--bad) 5%,transparent)}.bg-black\/60{background-color:#0009}.bg-brand\/10{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.bg-brand\/20{background-color:color-mix(in srgb,var(--accent) 20%,transparent)}.bg-good{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--good) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-good\/10{background-color:color-mix(in srgb,var(--good) 10%,transparent)}.bg-line{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--line) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-muted-foreground\/50{background-color:color-mix(in srgb,var(--muted) 50%,transparent)}.bg-panel{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-panel-2,.bg-popover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.bg-transparent{background-color:transparent}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-bad{--tw-gradient-from: var(--bad) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--bad) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-brand{--tw-gradient-from: var(--accent) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--accent) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-panel-2{--tw-gradient-from: var(--panel-2) var(--tw-gradient-from-position);--tw-gradient-to: color-mix(in srgb, var(--panel-2) 0% , transparent) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-live{--tw-gradient-to: var(--live) var(--tw-gradient-to-position)}.to-panel{--tw-gradient-to: var(--panel) var(--tw-gradient-to-position)}.to-warn{--tw-gradient-to: var(--warn) var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-none{line-height:1}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--muted\)\]{color:var(--muted)}.text-bad{--tw-text-opacity: 1;color:color-mix(in srgb,var(--bad) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-brand{--tw-text-opacity: 1;color:color-mix(in srgb,var(--accent) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-good{--tw-text-opacity: 1;color:color-mix(in srgb,var(--good) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-live{--tw-text-opacity: 1;color:color-mix(in srgb,var(--live) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-muted-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-popover-foreground{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.text-warn{--tw-text-opacity: 1;color:color-mix(in srgb,var(--warn) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.underline{text-decoration-line:underline}.decoration-line{text-decoration-color:var(--line)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--bg: #09090b;--panel: #0c0c0f;--panel-2: #101017;--line: #1c1c22;--line-soft: #16161a;--text: #e7e7ea;--muted: #76767f;--good: #34d399;--warn: #fbbf24;--bad: #f87171;--live: #60a5fa;--accent: #a78bfa}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(900px 420px at 82% -10%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),radial-gradient(700px 360px at 8% -12%,color-mix(in srgb,var(--live) 6%,transparent),transparent 70%),linear-gradient(to right,var(--line-soft) 1px,transparent 1px),linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px);background-size:100% 100%,100% 100%,46px 46px,46px 46px;-webkit-mask-image:linear-gradient(to bottom,black,black 62%,transparent);mask-image:linear-gradient(to bottom,black,black 62%,transparent);opacity:.55}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.tnum{font-variant-numeric:tabular-nums}.dot{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);display:inline-block}.live-pulse{animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .32s cubic-bezier(.2,.7,.2,1) both}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--line) 70%,var(--muted));border:3px solid var(--bg);border-radius:999px}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:color-mix(in srgb,var(--muted) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:border-brand\/50:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.hover\:bg-bad\/20:hover{background-color:color-mix(in srgb,var(--bad) 20%,transparent)}.hover\:bg-brand\/20:hover{background-color:color-mix(in srgb,var(--accent) 20%,transparent)}.hover\:bg-good\/20:hover{background-color:color-mix(in srgb,var(--good) 20%,transparent)}.hover\:bg-panel-2:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.hover\:text-brand:hover{--tw-text-opacity: 1;color:color-mix(in srgb,var(--accent) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.hover\:decoration-brand:hover{text-decoration-color:var(--accent)}.focus\:border-brand\/50:focus{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.focus-visible\:border-brand\/50:focus-visible{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: color-mix(in srgb, var(--accent) 50% , transparent)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[ending-style\]\:translate-x-full[data-ending-style],.data-\[starting-style\]\:translate-x-full[data-starting-style]{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[ending-style\]\:scale-95[data-ending-style],.data-\[starting-style\]\:scale-95[data-starting-style]{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:border-brand[data-active]{--tw-border-opacity: 1;border-color:color-mix(in srgb,var(--accent) calc(var(--tw-border-opacity, 1) * 100%),transparent)}.data-\[popup-open\]\:border-brand\/50[data-popup-open]{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.data-\[active\]\:bg-brand\/10[data-active]{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity: 1;background-color:color-mix(in srgb,var(--panel-2) calc(var(--tw-bg-opacity, 1) * 100%),transparent)}.data-\[active\]\:text-foreground[data-active],.data-\[highlighted\]\:text-accent-foreground[data-highlighted],.data-\[selected\]\:text-foreground[data-selected]{--tw-text-opacity: 1;color:color-mix(in srgb,var(--text) calc(var(--tw-text-opacity, 1) * 100%),transparent)}.data-\[ending-style\]\:opacity-0[data-ending-style],.data-\[starting-style\]\:opacity-0[data-starting-style]{opacity:0}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
@@ -1 +0,0 @@
1
- var Jt=t=>{throw TypeError(t)};var bt=(t,e,s)=>e.has(t)||Jt("Cannot "+s);var n=(t,e,s)=>(bt(t,e,"read from private field"),s?s.call(t):e.get(t)),d=(t,e,s)=>e.has(t)?Jt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),l=(t,e,s,r)=>(bt(t,e,"write to private field"),r?r.call(t,s):e.set(t,s),s),m=(t,e,s)=>(bt(t,e,"access private method"),s);var ut=(t,e,s,r)=>({set _(i){l(t,e,i,s)},get _(){return n(t,e,r)}});import{u as Ps,L as Rs,A as tr,D as sr,R as rr,T as nr,C as ir,E as ar,I as or,a as ur,S as Os,b as cr,G as lr,M as hr,P as dr,c as fr,d as pr,e as yr,f as mr,g as gr,p as vr,h as br,i as Sr,U as wr,W as Yt,j as Cr,k as xr,l as Pr,m as Rr,n as Or,o as Tr,B as Ts,q as Er,r as jr,s as Dr,t as Fr,v as Ir,w as Qr,x as Ar}from"./index-DS11tOEH.js";import{r as b,j as c,P as Mr,b as qr,d as kr,e as Nr,f as Ur}from"./base-ui-Bm0nR785.js";import"./recharts-CURTGZ5d.js";const Es=b.createContext(void 0),ot=t=>{const e=b.useContext(Es);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},Lr=({client:t,children:e})=>(b.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),c.jsx(Es.Provider,{value:t,children:e})),_r={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)};var le,Lt,ds,Kr=(ds=class{constructor(){d(this,le,_r);d(this,Lt,!1)}setTimeoutProvider(t){l(this,le,t)}setTimeout(t,e){return n(this,le).setTimeout(t,e)}clearTimeout(t){n(this,le).clearTimeout(t)}setInterval(t,e){return n(this,le).setInterval(t,e)}clearInterval(t){n(this,le).clearInterval(t)}},le=new WeakMap,Lt=new WeakMap,ds);const be=new Kr;function $r(t){setTimeout(t,0)}const Hr=typeof window>"u"||"Deno"in globalThis;function _(){}function Br(t,e){return typeof t=="function"?t(e):t}function js(t){return typeof t=="number"&&t>=0&&t!==1/0}function Ds(t,e){return Math.max(t+(e||0)-Date.now(),0)}function j(t,e){return typeof t=="function"?t(e):t}function Zt(t,e){const{type:s="all",exact:r,fetchStatus:i,predicate:a,queryKey:u,stale:o}=t;if(u){if(r){if(e.queryHash!==_t(u,e.options))return!1}else if(!ze(e.queryKey,u))return!1}if(s!=="all"){const h=e.isActive();if(s==="active"&&!h||s==="inactive"&&h)return!1}return!(typeof o=="boolean"&&e.isStale()!==o||i&&i!==e.state.fetchStatus||a&&!a(e))}function Xt(t,e){const{exact:s,status:r,predicate:i,mutationKey:a}=t;if(a){if(!e.options.mutationKey)return!1;if(s){if(Fe(e.options.mutationKey)!==Fe(a))return!1}else if(!ze(e.options.mutationKey,a))return!1}return!(r&&e.state.status!==r||i&&!i(e))}function _t(t,e){return((e==null?void 0:e.queryKeyHashFn)||Fe)(t)}function Fe(t){return JSON.stringify(t,(e,s)=>St(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}function ze(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(Array.isArray(t)&&Array.isArray(e)){if(e.length>t.length)return!1;for(let r=0;r<e.length;r++)if(!ze(t[r],e[r]))return!1;return!0}const s=Object.keys(e);for(const r of s)if(!ze(t[r],e[r]))return!1;return!0}return!1}const Gr=Object.prototype.hasOwnProperty;function Kt(t,e,s=0){if(t===e)return t;if(s>500)return e;const r=es(t)&&es(e);if(!r&&!(St(t)&&St(e)))return e;const i=(r?t:Object.keys(t)).length,a=r?e:Object.keys(e),u=a.length,o=r?new Array(u):{};let h=0;for(let y=0;y<u;y++){const p=r?y:a[y],g=t[p],f=e[p];if(g===f){o[p]=g,(r?y<i:Gr.call(t,p))&&h++;continue}if(g===null||f===null||typeof g!="object"||typeof f!="object"){o[p]=f;continue}const C=Kt(g,f,s+1);o[p]=C,C===g&&h++}return i===u&&h===i?t:o}function Ye(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const s in t)if(t[s]!==e[s])return!1;return!0}function es(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function St(t){if(!ts(t))return!1;const e=Object.getPrototypeOf(t),s=e==null?void 0:e.constructor;if(s===void 0)return!0;if(typeof s!="function")return!1;const r=s.prototype;return!(!ts(r)||!r.hasOwnProperty("isPrototypeOf")||e!==Object.prototype)}function ts(t){return Object.prototype.toString.call(t)==="[object Object]"}function Wr(t){return new Promise(e=>{be.setTimeout(e,t)})}function wt(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?Kt(t,e):e}function yt(t){return t}function zr(t,e,s=0){const r=[...t,e];return s&&r.length>s?r.slice(1):r}function Vr(t,e,s=0){const r=[e,...t];return s&&r.length>s?r.slice(0,-1):r}const $t=Symbol();function Fs(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===$t?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function Ht(t,e){return typeof t=="function"?t(...e):!!t}function Jr(t,e,s){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??(i=e()),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i)}),t}let Yr=()=>Hr;const Bt=()=>Yr();var Ie=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Se,he,Qe,fs,Zr=(fs=class extends Ie{constructor(){super();d(this,Se);d(this,he);d(this,Qe);l(this,Qe,e=>{if(typeof window<"u"&&window.addEventListener){const s=()=>e();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){n(this,he)||this.setEventListener(n(this,Qe))}onUnsubscribe(){var e;this.hasListeners()||((e=n(this,he))==null||e.call(this),l(this,he,void 0))}setEventListener(e){var s;l(this,Qe,e),(s=n(this,he))==null||s.call(this),l(this,he,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){n(this,Se)!==e&&(l(this,Se,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(s=>{s(e)})}isFocused(){var e;return typeof n(this,Se)=="boolean"?n(this,Se):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},Se=new WeakMap,he=new WeakMap,Qe=new WeakMap,fs);const Gt=new Zr,Xr=$r;function en(){let t=[],e=0,s=o=>{o()},r=o=>{o()},i=Xr;const a=o=>{e?t.push(o):i(()=>{s(o)})},u=()=>{const o=t;t=[],o.length&&i(()=>{r(()=>{o.forEach(h=>{s(h)})})})};return{batch:o=>{let h;e++;try{h=o()}finally{e--,e||u()}return h},batchCalls:o=>(...h)=>{a(()=>{o(...h)})},schedule:a,setNotifyFunction:o=>{s=o},setBatchNotifyFunction:o=>{r=o},setScheduler:o=>{i=o}}}const I=en();var Ae,de,Me,ps,tn=(ps=class extends Ie{constructor(){super();d(this,Ae,!0);d(this,de);d(this,Me);l(this,Me,e=>{if(typeof window<"u"&&window.addEventListener){const s=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",r)}}})}onSubscribe(){n(this,de)||this.setEventListener(n(this,Me))}onUnsubscribe(){var e;this.hasListeners()||((e=n(this,de))==null||e.call(this),l(this,de,void 0))}setEventListener(e){var s;l(this,Me,e),(s=n(this,de))==null||s.call(this),l(this,de,e(this.setOnline.bind(this)))}setOnline(e){n(this,Ae)!==e&&(l(this,Ae,e),this.listeners.forEach(s=>{s(e)}))}isOnline(){return n(this,Ae)}},Ae=new WeakMap,de=new WeakMap,Me=new WeakMap,ps);const dt=new tn;function sn(t){return Math.min(1e3*2**t,3e4)}function Is(t){return(t??"online")==="online"?dt.isOnline():!0}var Ct=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Qs(t){let e=!1,s=0,r,i="pending",a,u;const o=new Promise((P,R)=>{a=P,u=R});o.catch(_);const h=()=>i!=="pending",y=P=>{var R;if(!h()){const T=new Ct(P);S(T),(R=t.onCancel)==null||R.call(t,T)}},p=()=>{e=!0},g=()=>{e=!1},f=()=>Gt.isFocused()&&(t.networkMode==="always"||dt.isOnline())&&t.canRun(),C=()=>Is(t.networkMode)&&t.canRun(),Q=P=>{h()||(r==null||r(),i="resolved",a(P))},S=P=>{h()||(r==null||r(),i="rejected",u(P))},w=()=>new Promise(P=>{var R;r=T=>{(h()||f())&&P(T)},(R=t.onPause)==null||R.call(t)}).then(()=>{var P;r=void 0,h()||(P=t.onContinue)==null||P.call(t)}),E=()=>{if(h())return;let P;const R=s===0?t.initialPromise:void 0;try{P=R??t.fn()}catch(T){P=Promise.reject(T)}Promise.resolve(P).then(Q).catch(T=>{var D;if(h())return;const v=t.retry??(Bt()?0:3),K=t.retryDelay??sn,A=typeof K=="function"?K(s,T):K,J=v===!0||typeof v=="number"&&s<v||typeof v=="function"&&v(s,T);if(e||!J){S(T);return}s++,(D=t.onFail)==null||D.call(t,s,T),Wr(A).then(()=>f()?void 0:w()).then(()=>{e?S(T):E()})})};return{promise:o,status:()=>i,cancel:y,continue:()=>(r==null||r(),o),cancelRetry:p,continueRetry:g,canStart:C,start:()=>(C()?E():w().then(E),o)}}var we,ys,As=(ys=class{constructor(){d(this,we)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),js(this.gcTime)&&l(this,we,be.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Bt()?1/0:3e5))}clearGcTimeout(){n(this,we)!==void 0&&(be.clearTimeout(n(this,we)),l(this,we,void 0))}},we=new WeakMap,ys);function rn(t){return{onFetch:(e,s)=>{var p,g,f,C,Q;const r=e.options,i=(f=(g=(p=e.fetchOptions)==null?void 0:p.meta)==null?void 0:g.fetchMore)==null?void 0:f.direction,a=((C=e.state.data)==null?void 0:C.pages)||[],u=((Q=e.state.data)==null?void 0:Q.pageParams)||[];let o={pages:[],pageParams:[]},h=0;const y=async()=>{let S=!1;const w=R=>{Jr(R,()=>e.signal,()=>S=!0)},E=Fs(e.options,e.fetchOptions),P=async(R,T,v)=>{if(S)return Promise.reject(e.signal.reason);if(T==null&&R.pages.length)return Promise.resolve(R);const A=(()=>{const Vt={client:e.client,queryKey:e.queryKey,pageParam:T,direction:v?"backward":"forward",meta:e.options.meta};return w(Vt),Vt})(),J=await E(A),{maxPages:D}=e.options,$=v?Vr:zr;return{pages:$(R.pages,J,D),pageParams:$(R.pageParams,T,D)}};if(i&&a.length){const R=i==="backward",T=R?nn:ss,v={pages:a,pageParams:u};o=await P(v,T(r,v),R)}else{const R=t??a.length;do{const T=h===0?u[0]??r.initialPageParam:ss(r,o);if(h>0&&T==null)break;o=await P(o,T),h++}while(h<R)}return o};e.options.persister?e.fetchFn=()=>{var S,w;return(w=(S=e.options).persister)==null?void 0:w.call(S,y,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s)}:e.fetchFn=y}}}function ss(t,{pages:e,pageParams:s}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,s[r],s):void 0}function nn(t,{pages:e,pageParams:s}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,s[0],s):void 0}var qe,Ce,ke,V,xe,M,Ze,Pe,Y,re,ms,an=(ms=class extends As{constructor(e){super();d(this,Y);d(this,qe);d(this,Ce);d(this,ke);d(this,V);d(this,xe);d(this,M);d(this,Ze);d(this,Pe);l(this,Pe,!1),l(this,Ze,e.defaultOptions),this.setOptions(e.options),this.observers=[],l(this,xe,e.client),l(this,V,n(this,xe).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,l(this,Ce,ns(this.options)),this.state=e.state??n(this,Ce),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return n(this,qe)}get promise(){var e;return(e=n(this,M))==null?void 0:e.promise}setOptions(e){if(this.options={...n(this,Ze),...e},e!=null&&e._type&&l(this,qe,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=ns(this.options);s.data!==void 0&&(this.setState(rs(s.data,s.dataUpdatedAt)),l(this,Ce,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&n(this,V).remove(this)}setData(e,s){const r=wt(this.state.data,e,this.options);return m(this,Y,re).call(this,{data:r,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),r}setState(e){m(this,Y,re).call(this,{type:"setState",state:e})}cancel(e){var r,i;const s=(r=n(this,M))==null?void 0:r.promise;return(i=n(this,M))==null||i.cancel(e),s?s.then(_).catch(_):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return n(this,Ce)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>j(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===$t||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>j(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Ds(this.state.dataUpdatedAt,e)}onFocus(){var e,s;(e=this.observers.find(r=>r.shouldFetchOnWindowFocus()))==null||e.refetch({cancelRefetch:!1}),(s=n(this,M))==null||s.continue()}onOnline(){var e,s;(e=this.observers.find(r=>r.shouldFetchOnReconnect()))==null||e.refetch({cancelRefetch:!1}),(s=n(this,M))==null||s.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),n(this,V).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){const s=this.observers.indexOf(e);s!==-1&&(this.observers.splice(s,1),this.observers.length||(n(this,M)&&(n(this,Pe)||this.state.fetchStatus==="paused"&&this.state.status==="pending"?n(this,M).cancel({revert:!0}):n(this,M).cancelRetry()),this.scheduleGc()),n(this,V).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||m(this,Y,re).call(this,{type:"invalidate"})}async fetch(e,s){var y,p,g,f,C,Q,S,w,E,P,R,T;if(this.state.fetchStatus!=="idle"&&((y=n(this,M))==null?void 0:y.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(n(this,M))return n(this,M).continueRetry(),n(this,M).promise}if(e&&this.setOptions(e),!this.options.queryFn){const v=this.observers.find(K=>K.options.queryFn);v&&this.setOptions(v.options)}const r=new AbortController,i=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(l(this,Pe,!0),r.signal)})},a=()=>{const v=Fs(this.options,s),A=(()=>{const J={client:n(this,xe),queryKey:this.queryKey,meta:this.meta};return i(J),J})();return l(this,Pe,!1),this.options.persister?this.options.persister(v,A,this):v(A)},o=(()=>{const v={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:n(this,xe),state:this.state,fetchFn:a};return i(v),v})();(p=n(this,qe)==="infinite"?rn(this.options.pages):this.options.behavior)==null||p.onFetch(o,this),l(this,ke,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((g=o.fetchOptions)==null?void 0:g.meta))&&m(this,Y,re).call(this,{type:"fetch",meta:(f=o.fetchOptions)==null?void 0:f.meta});const h=l(this,M,Qs({initialPromise:s==null?void 0:s.initialPromise,fn:o.fetchFn,onCancel:v=>{v instanceof Ct&&v.revert&&this.setState({...n(this,ke),fetchStatus:"idle"}),r.abort()},onFail:(v,K)=>{m(this,Y,re).call(this,{type:"failed",failureCount:v,error:K})},onPause:()=>{m(this,Y,re).call(this,{type:"pause"})},onContinue:()=>{m(this,Y,re).call(this,{type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}));try{const v=await h.start();if(v===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(v),(Q=(C=n(this,V).config).onSuccess)==null||Q.call(C,v,this),(w=(S=n(this,V).config).onSettled)==null||w.call(S,v,this.state.error,this),v}catch(v){if(v instanceof Ct){if(v.silent)return n(this,M).promise;if(v.revert){if(this.state.data===void 0)throw v;return this.state.data}}throw m(this,Y,re).call(this,{type:"error",error:v}),(P=(E=n(this,V).config).onError)==null||P.call(E,v,this),(T=(R=n(this,V).config).onSettled)==null||T.call(R,this.state.data,v,this),v}finally{n(this,M)===h&&l(this,M,void 0),this.scheduleGc()}}},qe=new WeakMap,Ce=new WeakMap,ke=new WeakMap,V=new WeakMap,xe=new WeakMap,M=new WeakMap,Ze=new WeakMap,Pe=new WeakMap,Y=new WeakSet,re=function(e){const s=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Ms(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...rs(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return l(this,ke,e.manual?i:void 0),i;case"error":const a=e.error;return{...r,error:a,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:a,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=s(this.state),I.batch(()=>{this.observers.slice().forEach(r=>{r.onQueryUpdate()}),n(this,V).notify({query:this,type:"updated",action:e})})},ms);function Ms(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Is(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function rs(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function ns(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,r=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var H,x,Xe,B,Re,Ne,ne,et,Ue,Le,Oe,Te,fe,_e,O,Ve,xt,Pt,Rt,Ot,Tt,Et,jt,Dt,gs,mt=(gs=class extends Ie{constructor(e,s){super();d(this,O);d(this,H);d(this,x);d(this,Xe);d(this,B);d(this,Re);d(this,Ne);d(this,ne);d(this,et);d(this,Ue);d(this,Le);d(this,Oe);d(this,Te);d(this,fe);d(this,_e,new Set);this.options=s,l(this,H,e),l(this,ne,null),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(n(this,x).addObserver(this),is(n(this,x),this.options)?m(this,O,Ve).call(this):this.updateResult(),m(this,O,Tt).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ft(n(this,x),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ft(n(this,x),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,m(this,O,Et).call(this),m(this,O,jt).call(this),n(this,x).removeObserver(this)}setOptions(e){const s=this.options,r=n(this,x);if(this.options=n(this,H).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof j(this.options.enabled,n(this,x))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");m(this,O,Dt).call(this),n(this,x).setOptions(this.options),s._defaulted&&!Ye(this.options,s)&&n(this,H).getQueryCache().notify({type:"observerOptionsUpdated",query:n(this,x),observer:this});const i=this.hasListeners();i&&as(n(this,x),r,this.options,s)&&m(this,O,Ve).call(this),this.updateResult(),i&&(n(this,x)!==r||j(this.options.enabled,n(this,x))!==j(s.enabled,n(this,x))||j(this.options.staleTime,n(this,x))!==j(s.staleTime,n(this,x)))&&m(this,O,Pt).call(this);const a=m(this,O,Rt).call(this);i&&(n(this,x)!==r||j(this.options.enabled,n(this,x))!==j(s.enabled,n(this,x))||a!==n(this,fe))&&m(this,O,Ot).call(this,a)}getOptimisticResult(e){const s=n(this,H).getQueryCache().build(n(this,H),e),r=this.createResult(s,e);return Ye(this.getCurrentResult(),r)||(l(this,B,r),l(this,Ne,this.options),l(this,Re,n(this,x).state)),r}getCurrentResult(){return n(this,B)}trackResult(e,s){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),s==null||s(i),Reflect.get(r,i))})}trackProp(e){n(this,_e).add(e)}getCurrentQuery(){return n(this,x)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const s=n(this,H).defaultQueryOptions(e),r=n(this,H).getQueryCache().build(n(this,H),s);let i=()=>{},a;const u=new Promise(o=>{a=o,i=n(this,H).getQueryCache().subscribe(h=>{h.type==="updated"&&h.query.queryHash===r.queryHash&&r.state.data!==void 0&&(i(),o(this.createResult(r,s)))})});return Promise.race([r.fetch().then(()=>{const o=this.createResult(r,s);return a==null||a(o),o}).finally(()=>{i()}),u])}fetch(e){return m(this,O,Ve).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),n(this,B)))}createResult(e,s){var K;const r=n(this,x),i=this.options,a=n(this,B),u=n(this,Re),o=n(this,Ne),h=e!==r?e.state:n(this,Xe),{state:y}=e;let p={...y},g=!1,f;if(s._optimisticResults){const A=this.hasListeners(),J=!A&&is(e,s),D=A&&as(e,r,s,i);(J||D)&&(p={...p,...Ms(y.data,e.options)}),s._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:C,errorUpdatedAt:Q,status:S}=p;f=p.data;let w=!1;if(s.placeholderData!==void 0&&f===void 0&&S==="pending"){let A;a!=null&&a.isPlaceholderData&&s.placeholderData===(o==null?void 0:o.placeholderData)?(A=a.data,w=!0):A=typeof s.placeholderData=="function"?s.placeholderData((K=n(this,Le))==null?void 0:K.state.data,n(this,Le)):s.placeholderData,A!==void 0&&(S="success",f=wt(a==null?void 0:a.data,A,s),g=!0)}if(s.select&&f!==void 0&&!w)if(a&&f===(u==null?void 0:u.data)&&s.select===n(this,et))f=n(this,Ue);else try{l(this,et,s.select),f=s.select(f),f=wt(a==null?void 0:a.data,f,s),l(this,Ue,f),l(this,ne,null)}catch(A){l(this,ne,A)}else f===void 0&&l(this,ne,null);n(this,ne)&&(C=n(this,ne),f=n(this,Ue),Q=Date.now(),S="error",g=!1);const E=p.fetchStatus==="fetching",P=S==="pending",R=S==="error",T=P&&E,v=f!==void 0;return{status:S,fetchStatus:p.fetchStatus,isPending:P,isSuccess:S==="success",isError:R,isInitialLoading:T,isLoading:T,data:f,dataUpdatedAt:p.dataUpdatedAt,error:C,errorUpdatedAt:Q,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:p.dataUpdateCount>h.dataUpdateCount||p.errorUpdateCount>h.errorUpdateCount,isFetching:E,isRefetching:E&&!P,isLoadingError:R&&!v,isPaused:p.fetchStatus==="paused",isPlaceholderData:g,isRefetchError:R&&v,isStale:Wt(e,s),refetch:this.refetch,isEnabled:j(s.enabled,e)!==!1}}updateResult(){const e=n(this,B),s=this.createResult(n(this,x),this.options);if(l(this,Re,n(this,x).state),l(this,Ne,this.options),n(this,Re).data!==void 0&&l(this,Le,n(this,x)),Ye(s,e))return;l(this,B,s);const i=(()=>{if(!e)return!0;const{notifyOnChangeProps:a}=this.options,u=typeof a=="function"?a():a;if(u==="all"||!u&&!n(this,_e).size)return!0;const o=new Set(u??n(this,_e));return this.options.throwOnError&&o.add("error"),Object.keys(n(this,B)).some(h=>{const y=h;return n(this,B)[y]!==e[y]&&o.has(y)})})();I.batch(()=>{i&&this.listeners.forEach(a=>{a(n(this,B))}),n(this,H).getQueryCache().notify({query:n(this,x),type:"observerResultsUpdated"})})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&m(this,O,Tt).call(this)}},H=new WeakMap,x=new WeakMap,Xe=new WeakMap,B=new WeakMap,Re=new WeakMap,Ne=new WeakMap,ne=new WeakMap,et=new WeakMap,Ue=new WeakMap,Le=new WeakMap,Oe=new WeakMap,Te=new WeakMap,fe=new WeakMap,_e=new WeakMap,O=new WeakSet,Ve=function(e){m(this,O,Dt).call(this);let s=n(this,x).fetch(this.options,e);return e!=null&&e.throwOnError||(s=s.catch(_)),s},xt=function(e){return!Bt()&&j(this.options.enabled,n(this,x))!==!1&&js(e)},Pt=function(){m(this,O,Et).call(this);const e=j(this.options.staleTime,n(this,x));if(n(this,B).isStale||!m(this,O,xt).call(this,e))return;const s=Ds(n(this,B).dataUpdatedAt,e)+1;l(this,Oe,be.setTimeout(()=>{n(this,B).isStale||this.updateResult()},s))},Rt=function(){return j(this.options.refetchInterval,n(this,x))??!1},Ot=function(e){m(this,O,jt).call(this),l(this,fe,e),!(n(this,fe)===0||!m(this,O,xt).call(this,n(this,fe)))&&l(this,Te,be.setInterval(()=>{(this.options.refetchIntervalInBackground||Gt.isFocused())&&m(this,O,Ve).call(this)},n(this,fe)))},Tt=function(){m(this,O,Pt).call(this),m(this,O,Ot).call(this,m(this,O,Rt).call(this))},Et=function(){n(this,Oe)!==void 0&&(be.clearTimeout(n(this,Oe)),l(this,Oe,void 0))},jt=function(){n(this,Te)!==void 0&&(be.clearInterval(n(this,Te)),l(this,Te,void 0))},Dt=function(){const e=n(this,H).getQueryCache().build(n(this,H),this.options);if(e===n(this,x))return;const s=n(this,x);l(this,x,e),l(this,Xe,e.state),this.hasListeners()&&(s==null||s.removeObserver(this),e.addObserver(this))},gs);function on(t,e){return j(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&j(e.retryOnMount,t)===!1)}function is(t,e){return on(t,e)||t.state.data!==void 0&&Ft(t,e,e.refetchOnMount)}function Ft(t,e,s){if(j(e.enabled,t)!==!1&&j(e.staleTime,t)!=="static"){const r=j(s,t);return r==="always"||r!==!1&&Wt(t,e)}return!1}function as(t,e,s,r){return(t!==e||j(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&Wt(t,s)}function Wt(t,e){return j(e.enabled,t)!==!1&&t.isStaleByTime(j(e.staleTime,t))}var tt,X,U,Ee,ee,ce,vs,un=(vs=class extends As{constructor(e){super();d(this,ee);d(this,tt);d(this,X);d(this,U);d(this,Ee);l(this,tt,e.client),this.mutationId=e.mutationId,l(this,U,e.mutationCache),l(this,X,[]),this.state=e.state||qs(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){n(this,X).includes(e)||(n(this,X).push(e),this.clearGcTimeout(),n(this,U).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){l(this,X,n(this,X).filter(s=>s!==e)),this.scheduleGc(),n(this,U).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){n(this,X).length||(this.state.status==="pending"?this.scheduleGc():n(this,U).remove(this))}continue(){var e;return((e=n(this,Ee))==null?void 0:e.continue())??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(e){var o,h,y,p,g,f,C,Q,S,w,E,P,R,T,v,K,A,J;const s=()=>{m(this,ee,ce).call(this,{type:"continue"})},r={client:n(this,tt),meta:this.options.meta,mutationKey:this.options.mutationKey},i=l(this,Ee,Qs({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(D,$)=>{m(this,ee,ce).call(this,{type:"failed",failureCount:D,error:$})},onPause:()=>{m(this,ee,ce).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>n(this,U).canRun(this)})),a=this.state.status==="pending",u=!i.canStart();try{if(a)s();else{m(this,ee,ce).call(this,{type:"pending",variables:e,isPaused:u}),n(this,U).config.onMutate&&await n(this,U).config.onMutate(e,this,r);const $=await((h=(o=this.options).onMutate)==null?void 0:h.call(o,e,r));$!==this.state.context&&m(this,ee,ce).call(this,{type:"pending",context:$,variables:e,isPaused:u})}const D=await i.start();return await((p=(y=n(this,U).config).onSuccess)==null?void 0:p.call(y,D,e,this.state.context,this,r)),await((f=(g=this.options).onSuccess)==null?void 0:f.call(g,D,e,this.state.context,r)),await((Q=(C=n(this,U).config).onSettled)==null?void 0:Q.call(C,D,null,this.state.variables,this.state.context,this,r)),await((w=(S=this.options).onSettled)==null?void 0:w.call(S,D,null,e,this.state.context,r)),m(this,ee,ce).call(this,{type:"success",data:D}),D}catch(D){try{await((P=(E=n(this,U).config).onError)==null?void 0:P.call(E,D,e,this.state.context,this,r))}catch($){Promise.reject($)}try{await((T=(R=this.options).onError)==null?void 0:T.call(R,D,e,this.state.context,r))}catch($){Promise.reject($)}try{await((K=(v=n(this,U).config).onSettled)==null?void 0:K.call(v,void 0,D,this.state.variables,this.state.context,this,r))}catch($){Promise.reject($)}try{await((J=(A=this.options).onSettled)==null?void 0:J.call(A,void 0,D,e,this.state.context,r))}catch($){Promise.reject($)}throw m(this,ee,ce).call(this,{type:"error",error:D}),D}finally{n(this,Ee)===i&&l(this,Ee,void 0),n(this,U).runNext(this)}}},tt=new WeakMap,X=new WeakMap,U=new WeakMap,Ee=new WeakMap,ee=new WeakSet,ce=function(e){const s=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=s(this.state),I.batch(()=>{n(this,X).forEach(r=>{r.onMutationUpdate(e)}),n(this,U).notify({mutation:this,type:"updated",action:e})})},vs);function qs(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ie,Z,st,bs,cn=(bs=class extends Ie{constructor(e={}){super();d(this,ie);d(this,Z);d(this,st);this.config=e,l(this,ie,new Set),l(this,Z,new Map),l(this,st,0)}build(e,s,r){const i=new un({client:e,mutationCache:this,mutationId:++ut(this,st)._,options:e.defaultMutationOptions(s),state:r});return this.add(i),i}add(e){n(this,ie).add(e);const s=ct(e);if(typeof s=="string"){const r=n(this,Z).get(s);r?r.push(e):n(this,Z).set(s,[e])}this.notify({type:"added",mutation:e})}remove(e){if(n(this,ie).delete(e)){const s=ct(e);if(typeof s=="string"){const r=n(this,Z).get(s);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&n(this,Z).delete(s)}}this.notify({type:"removed",mutation:e})}canRun(e){var r;const s=ct(e);if(typeof s=="string"){const i=(r=n(this,Z).get(s))==null?void 0:r.find(a=>a.state.status==="pending");return!i||i===e}else return!0}runNext(e){var r,i;const s=ct(e);return typeof s=="string"?((i=(r=n(this,Z).get(s))==null?void 0:r.find(a=>a!==e&&a.state.isPaused))==null?void 0:i.continue())??Promise.resolve():Promise.resolve()}clear(){I.batch(()=>{n(this,ie).forEach(e=>{this.notify({type:"removed",mutation:e})}),n(this,ie).clear(),n(this,Z).clear()})}getAll(){return Array.from(n(this,ie))}find(e){const s={exact:!0,...e};return this.getAll().find(r=>Xt(s,r))}findAll(e={}){return this.getAll().filter(s=>Xt(e,s))}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}resumePausedMutations(){const e=this.getAll().filter(s=>s.state.isPaused);return I.batch(()=>Promise.all(e.map(s=>s.continue().catch(_))))}},ie=new WeakMap,Z=new WeakMap,st=new WeakMap,bs);function ct(t){var e;return(e=t.options.scope)==null?void 0:e.id}var ae,pe,L,oe,se,Je,It,Ss,ln=(Ss=class extends Ie{constructor(e,s){super();d(this,se);d(this,ae);d(this,pe);d(this,L);d(this,oe);l(this,ae,e),this.setOptions(s),this.bindMethods(),m(this,se,Je).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var r;const s=this.options;this.options=n(this,ae).defaultMutationOptions(e),Ye(this.options,s)||n(this,ae).getMutationCache().notify({type:"observerOptionsUpdated",mutation:n(this,L),observer:this}),s!=null&&s.mutationKey&&this.options.mutationKey&&Fe(s.mutationKey)!==Fe(this.options.mutationKey)?this.reset():((r=n(this,L))==null?void 0:r.state.status)==="pending"&&n(this,L).setOptions(this.options)}onSubscribe(){this.listeners.size===1&&n(this,L)&&(n(this,L).addObserver(this),m(this,se,Je).call(this))}onUnsubscribe(){var e;this.hasListeners()||(e=n(this,L))==null||e.removeObserver(this)}onMutationUpdate(e){m(this,se,Je).call(this),m(this,se,It).call(this,e)}getCurrentResult(){return n(this,pe)}reset(){var e;(e=n(this,L))==null||e.removeObserver(this),l(this,L,void 0),m(this,se,Je).call(this),m(this,se,It).call(this)}mutate(e,s){var r;return l(this,oe,s),(r=n(this,L))==null||r.removeObserver(this),l(this,L,n(this,ae).getMutationCache().build(n(this,ae),this.options)),n(this,L).addObserver(this),n(this,L).execute(e)}},ae=new WeakMap,pe=new WeakMap,L=new WeakMap,oe=new WeakMap,se=new WeakSet,Je=function(){var s;const e=((s=n(this,L))==null?void 0:s.state)??qs();l(this,pe,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},It=function(e){I.batch(()=>{var s,r,i,a,u,o,h,y;if(n(this,oe)&&this.hasListeners()){const p=n(this,pe).variables,g=n(this,pe).context,f={client:n(this,ae),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(r=(s=n(this,oe)).onSuccess)==null||r.call(s,e.data,p,g,f)}catch(C){Promise.reject(C)}try{(a=(i=n(this,oe)).onSettled)==null||a.call(i,e.data,null,p,g,f)}catch(C){Promise.reject(C)}}else if((e==null?void 0:e.type)==="error"){try{(o=(u=n(this,oe)).onError)==null||o.call(u,e.error,p,g,f)}catch(C){Promise.reject(C)}try{(y=(h=n(this,oe)).onSettled)==null||y.call(h,void 0,e.error,p,g,f)}catch(C){Promise.reject(C)}}}this.listeners.forEach(p=>{p(n(this,pe))})})},Ss);function os(t,e){const s=new Set(e);return t.filter(r=>!s.has(r))}var Ke,G,$e,je,z,De,rt,nt,it,at,q,Qt,At,ks,Mt,qt,kt,ws,hn=(ws=class extends Ie{constructor(e,s,r){super();d(this,q);d(this,Ke);d(this,G);d(this,$e);d(this,je);d(this,z);d(this,De);d(this,rt);d(this,nt);d(this,it);d(this,at,[]);l(this,Ke,e),l(this,je,r),l(this,$e,[]),l(this,z,[]),l(this,G,[]),this.setQueries(s)}onSubscribe(){this.listeners.size===1&&n(this,z).forEach(e=>{e.subscribe(s=>{m(this,q,qt).call(this,e,s)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,n(this,z).forEach(e=>{e.destroy()})}setQueries(e,s){l(this,$e,e),l(this,je,s),I.batch(()=>{const r=n(this,z),i=m(this,q,Mt).call(this,n(this,$e));i.forEach(g=>g.observer.setOptions(g.defaultedQueryOptions));const a=i.map(g=>g.observer),u=a.map(g=>g.getCurrentResult()),o=r.length!==a.length,h=a.some((g,f)=>g!==r[f]),y=o||h,p=y?!0:u.some((g,f)=>{const C=n(this,G)[f];return!C||!Ye(g,C)});!y&&!p||(y&&(l(this,at,i),l(this,z,a)),l(this,G,u),this.hasListeners()&&(y&&(os(r,a).forEach(g=>{g.destroy()}),os(a,r).forEach(g=>{g.subscribe(f=>{m(this,q,qt).call(this,g,f)})})),m(this,q,kt).call(this)))})}getCurrentResult(){return n(this,G)}getQueries(){return n(this,z).map(e=>e.getCurrentQuery())}getObservers(){return n(this,z)}getOptimisticResult(e,s){const r=m(this,q,Mt).call(this,e),i=r.map(u=>u.observer.getOptimisticResult(u.defaultedQueryOptions)),a=r.map(u=>u.defaultedQueryOptions.queryHash);return[i,u=>m(this,q,At).call(this,u??i,s,a),()=>m(this,q,Qt).call(this,i,r)]}},Ke=new WeakMap,G=new WeakMap,$e=new WeakMap,je=new WeakMap,z=new WeakMap,De=new WeakMap,rt=new WeakMap,nt=new WeakMap,it=new WeakMap,at=new WeakMap,q=new WeakSet,Qt=function(e,s){const r=new Set;return s.map((i,a)=>{const u=e[a];return i.defaultedQueryOptions.notifyOnChangeProps?u:i.observer.trackResult(u,o=>{r.has(o)||(r.add(o),s.forEach(h=>{h.observer.trackProp(o)}))})})},At=function(e,s,r){if(s){const i=n(this,it),a=r!==void 0&&i!==void 0&&(i.length!==r.length||r.some((u,o)=>u!==i[o]));return(n(this,G)!==n(this,nt)||a||s!==n(this,rt))&&(l(this,rt,s),l(this,nt,n(this,G)),r!==void 0&&l(this,it,r),l(this,De,Kt(n(this,De),s(e)))),n(this,De)}return e},ks=function(){var e;return!((e=n(this,je))!=null&&e.combine)||n(this,z).some((s,r)=>{var i;return s.options.suspense&&((i=n(this,G)[r])==null?void 0:i.data)===void 0})},Mt=function(e){const s=new Map;n(this,z).forEach(i=>{const a=i.options.queryHash;if(!a)return;const u=s.get(a);u?u.push(i):s.set(a,[i])});const r=[];return e.forEach(i=>{var o;const a=n(this,Ke).defaultQueryOptions(i),u=((o=s.get(a.queryHash))==null?void 0:o.shift())??new mt(n(this,Ke),a);r.push({defaultedQueryOptions:a,observer:u})}),r},qt=function(e,s){const r=n(this,z).indexOf(e);r!==-1&&(l(this,G,n(this,G).slice()),n(this,G)[r]=s,m(this,q,kt).call(this))},kt=function(){var e;if(this.hasListeners()){const s=m(this,q,ks).call(this),r=n(this,De),i=s?r:m(this,q,At).call(this,m(this,q,Qt).call(this,n(this,G),n(this,at)),(e=n(this,je))==null?void 0:e.combine);(s||r!==i)&&I.batch(()=>{this.listeners.forEach(a=>{a(n(this,G))})})}},ws),te,Cs,dn=(Cs=class extends Ie{constructor(e={}){super();d(this,te);this.config=e,l(this,te,new Map)}build(e,s,r){const i=s.queryKey,a=s.queryHash??_t(i,s);let u=this.get(a);return u||(u=new an({client:e,queryKey:i,queryHash:a,options:e.defaultQueryOptions(s),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(u)),u}add(e){n(this,te).has(e.queryHash)||(n(this,te).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){n(this,te).get(e.queryHash)===e&&(e.destroy(),n(this,te).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return n(this,te).get(e)}getAll(){return[...n(this,te).values()]}find(e){const s={exact:!0,...e};return this.getAll().find(r=>Zt(s,r))}findAll(e={}){const s=this.getAll();return Object.keys(e).length>0?s.filter(r=>Zt(e,r)):s}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}onFocus(){I.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},te=new WeakMap,Cs),F,ye,me,He,Be,ge,Ge,We,xs,fn=(xs=class{constructor(t={}){d(this,F);d(this,ye);d(this,me);d(this,He);d(this,Be);d(this,ge);d(this,Ge);d(this,We);l(this,F,t.queryCache||new dn),l(this,ye,t.mutationCache||new cn),l(this,me,t.defaultOptions||{}),l(this,He,new Map),l(this,Be,new Map),l(this,ge,0)}mount(){ut(this,ge)._++,n(this,ge)===1&&(l(this,Ge,Gt.subscribe(async t=>{t&&(await this.resumePausedMutations(),n(this,F).onFocus())})),l(this,We,dt.subscribe(async t=>{t&&(await this.resumePausedMutations(),n(this,F).onOnline())})))}unmount(){var t,e;ut(this,ge)._--,n(this,ge)===0&&((t=n(this,Ge))==null||t.call(this),l(this,Ge,void 0),(e=n(this,We))==null||e.call(this),l(this,We,void 0))}isFetching(t){return n(this,F).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return n(this,ye).findAll({...t,status:"pending"}).length}getQueryData(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=n(this,F).get(e.queryHash))==null?void 0:s.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),s=n(this,F).build(this,e),r=s.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(j(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return n(this,F).findAll(t).map(({queryKey:e,state:s})=>[e,s.data])}setQueryData(t,e,s){var u;const r=this.defaultQueryOptions({queryKey:t}),i=(u=n(this,F).get(r.queryHash))==null?void 0:u.state.data,a=Br(e,i);if(a!==void 0)return n(this,F).build(this,r).setData(a,{...s,manual:!0})}setQueriesData(t,e,s){return I.batch(()=>n(this,F).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,s)]))}getQueryState(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=n(this,F).get(e.queryHash))==null?void 0:s.state}removeQueries(t){const e=n(this,F);I.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){const s=n(this,F);return I.batch(()=>{const r=s.findAll(t),i=new Set(r);return r.forEach(a=>{a.reset()}),this.refetchQueries({type:"active",predicate:a=>i.has(a)},e)})}cancelQueries(t,e={}){const s={revert:!0,...e},r=I.batch(()=>n(this,F).findAll(t).map(i=>i.cancel(s)));return Promise.all(r).then(_).catch(_)}invalidateQueries(t,e={}){return I.batch(()=>(n(this,F).findAll(t).forEach(s=>{s.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const s={...e,cancelRefetch:e.cancelRefetch??!0},r=I.batch(()=>n(this,F).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let a=i.fetch(void 0,s);return s.throwOnError||(a=a.catch(_)),i.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(_)}async query(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=n(this,F).build(this,e),r=s.isStaleByTime(j(e.staleTime,s))?await s.fetch(e):s.state.data,i=e.select;return i?i(r):r}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=n(this,F).build(this,e);return s.isStaleByTime(j(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(_).catch(_)}infiniteQuery(t){return t._type="infinite",this.query(t)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(_).catch(_)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return dt.isOnline()?n(this,ye).resumePausedMutations():Promise.resolve()}getQueryCache(){return n(this,F)}getMutationCache(){return n(this,ye)}getDefaultOptions(){return n(this,me)}setDefaultOptions(t){l(this,me,t)}setQueryDefaults(t,e){n(this,He).set(Fe(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...n(this,He).values()],s={};return e.forEach(r=>{ze(t,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(t,e){n(this,Be).set(Fe(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...n(this,Be).values()],s={};return e.forEach(r=>{ze(t,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;const e={...n(this,me).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=_t(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===$t&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...n(this,me).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){n(this,F).clear(),n(this,ye).clear()}},F=new WeakMap,ye=new WeakMap,me=new WeakMap,He=new WeakMap,Be=new WeakMap,ge=new WeakMap,Ge=new WeakMap,We=new WeakMap,xs);const Ns=b.createContext(!1),Us=()=>b.useContext(Ns);Ns.Provider;const Ls=(t,e,s)=>{const r=s!=null&&s.state.error&&typeof t.throwOnError=="function"?Ht(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||r)&&(e.isReset()||(t.retryOnMount=!1))},_s=t=>{b.useEffect(()=>{t.clearReset()},[t])},Ks=({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||Ht(s,[t.error,r])),$s=(t,e)=>e.state.data===void 0,Hs=t=>{if(t.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},Nt=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,Bs=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function pn({queries:t,...e},s){const r=ot(),i=Us(),a=Ps(),u=e.subscribed!==!1,o=b.useMemo(()=>t.map(S=>{const w=r.defaultQueryOptions(S);return w._optimisticResults=i?"isRestoring":u?"optimistic":void 0,w}),[t,r,i,u]);o.forEach(S=>{Hs(S);const w=r.getQueryCache().get(S.queryHash);Ls(S,a,w)}),_s(a);const[h]=b.useState(()=>new hn(r,o,e)),[y,p,g]=h.getOptimisticResult(o,e.combine),f=!i&&u;b.useSyncExternalStore(b.useCallback(S=>f?h.subscribe(I.batchCalls(S)):_,[h,f]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),b.useEffect(()=>{h.setQueries(o,e)},[o,e,h]);const C=y.some((S,w)=>Nt(o[w],S))?y.flatMap((S,w)=>{const E=o[w];if(E&&Nt(E,S)){const P=new mt(r,E);return Bs(E,P,a)}return[]}):[];if(C.length>0)throw Promise.all(C);const Q=y.find((S,w)=>{const E=o[w];return E&&Ks({result:S,errorResetBoundary:a,throwOnError:E.throwOnError,query:r.getQueryCache().get(E.queryHash),suspense:E.suspense})});if(Q)throw Q.error;return p(g())}function Gs(t,e,s){const r=Us(),i=Ps(),a=ot(),u=a.defaultQueryOptions(t),o=a.getQueryCache().get(u.queryHash),h=t.subscribed!==!1;u._optimisticResults=r?"isRestoring":h?"optimistic":void 0,Hs(u),Ls(u,i,o),_s(i);const[y]=b.useState(()=>new e(a,u)),p=y.getOptimisticResult(u),g=!r&&h;if(b.useSyncExternalStore(b.useCallback(f=>{const C=g?y.subscribe(I.batchCalls(f)):_;return y.updateResult(),C},[y,g]),()=>y.getCurrentResult(),()=>y.getCurrentResult()),b.useEffect(()=>{y.setOptions(u)},[u,y]),Nt(u,p))throw Bs(u,y,i);if(Ks({result:p,errorResetBoundary:i,throwOnError:u.throwOnError,query:o,suspense:u.suspense}))throw p.error;return u.notifyOnChangeProps?p:y.trackResult(p)}function ue(t,e){return Gs(t,mt)}function gt(t,e){return Gs({...t,enabled:!0,suspense:!0,throwOnError:$s,placeholderData:void 0},mt)}function yn(t,e){return pn({...t,queries:t.queries.map(s=>({...s,suspense:!0,throwOnError:$s,enabled:!0,placeholderData:void 0}))})}function Ws(t,e){const s=ot(),[r]=b.useState(()=>new ln(s,t));b.useEffect(()=>{r.setOptions(t)},[r,t]);const i=b.useSyncExternalStore(b.useCallback(u=>r.subscribe(I.batchCalls(u)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=b.useCallback((...u)=>{r.mutate(u[0],u[1]).catch(_)},[r]);if(i.error&&Ht(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}const mn=864e5,gn=/^\d{4}-\d{2}-\d{2}$/;function us(t,e=Date.now()){return new Date(e-t*mn).toISOString().slice(0,10)}function vn(t=30,e=Date.now()){return{fromDay:us(t-1,e),toDay:us(0,e)}}function bn(t){return gn.test(t)}function Sn(){return c.jsxs("div",{className:"relative grid min-h-full place-items-center px-5 py-16",children:[c.jsx("div",{className:"app-bg"}),c.jsxs("div",{role:"alert",className:"relative z-10 flex max-w-md flex-col items-center gap-3 rounded-xl border border-line bg-panel px-8 py-10 text-center",children:[c.jsx("div",{className:"grid h-10 w-10 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:c.jsx(Rs,{className:"h-5 w-5 text-brand"})}),c.jsx("h1",{className:"text-base font-semibold tracking-tight",children:"Access denied"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"You are signed in, but not allowed to use this console. Ask an administrator for access."})]})]})}function ht(){return typeof window<"u"&&window.__AGENT_API__?window.__AGENT_API__:`${typeof window<"u"&&window.__AGENT_BASE__||"/ai-gateway"}/api`}const ft=new Set;function wn(t){return ft.add(t),()=>{ft.delete(t)}}async function Ut(t){if((t.status===401||t.status===403)&&ft.size>0){const e=await t.json().catch(()=>{}),s=t.status===401&&typeof(e==null?void 0:e.redirectTo)=="string"&&e.redirectTo!==""?{kind:"redirect",redirectTo:e.redirectTo}:t.status===403&&(e==null?void 0:e.error)==="forbidden"?{kind:"forbidden"}:void 0;if(s!==void 0)for(const r of ft)r(s)}throw new Error(`${t.status} ${t.statusText}`)}async function N(t,e){const s=await fetch(ht()+t,e);return s.ok?await s.json():Ut(s)}function lt(t){const e=new URLSearchParams({page:`${t.page}`,limit:`${t.pageSize}`});if(t.where!==void 0)for(const[s,r]of Object.entries(t.where))typeof r=="string"&&r!==""&&e.set(`where[${s}]`,r);return e}const k={spend(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/spend?${e.toString()}`)},topThreads(t,e=10){const s=new URLSearchParams({from:t.fromDay,to:t.toDay,limit:`${e}`});return N(`/top-threads?${s.toString()}`)},reliability(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/reliability?${e.toString()}`)},runs(t=50){return N(`/runs?limit=${t}`)},toolCalls(t=50){return N(`/tool-calls?limit=${t}`)},toolCallsPage(t){return N(`/tool-calls-page?${lt(t)}`)},approvals(t=50){return N(`/approvals?limit=${t}`)},approvalsPage(t){return N(`/approvals-page?${lt(t)}`)},runDetail(t){return N(`/runs/${encodeURIComponent(t)}`)},threadDetail(t,e={}){const s=new URLSearchParams;e.messages!==void 0&&s.set("messages",`${e.messages}`),e.runs!==void 0&&s.set("runs",`${e.runs}`);const r=s.size>0?`?${s.toString()}`:"";return N(`/threads/${encodeURIComponent(t)}${r}`)},async decideApproval(t,e){const s=await fetch(`${ht()}/approvals/${encodeURIComponent(t)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});s.ok||await Ut(s)},toolStats(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/tools?${e.toString()}`)},genuiStats(t){const e=new URLSearchParams({from:t.fromDay,to:t.toDay});return N(`/genui?${e.toString()}`)},threads(t=50){return N(`/threads?limit=${t}`)},threadsPage(t){return N(`/threads-page?${lt(t)}`)},runsPage(t){return N(`/runs-page?${lt(t)}`)},pricing(){return N("/pricing")},async upsertPrice(t){const e=await fetch(`${ht()}/pricing`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});e.ok||await Ut(e)},streamEvents(t){const e=new EventSource(`${ht()}/stream`);return e.onmessage=s=>{try{t(JSON.parse(s.data))}catch{}},()=>e.close()}},W={aggregate:6e4,activity:15e3,queue:0,config:5*6e4,detail:3e4};function zs(t){return{queryKey:["spend",t.fromDay,t.toDay],queryFn:()=>k.spend(t),staleTime:W.aggregate}}function Vs(t){return gt(zs(t))}function Cn(t,e=10){const[s,r]=yn({queries:[zs(t),{queryKey:["top-threads",t.fromDay,t.toDay,e],queryFn:()=>k.topThreads(t,e),staleTime:W.aggregate}]});return{overview:s.data,topThreads:r.data}}function xn(t){return gt({queryKey:["reliability",t.fromDay,t.toDay],queryFn:()=>k.reliability(t),staleTime:W.aggregate})}function Pn(t){return gt({queryKey:["tool-stats",t.fromDay,t.toDay],queryFn:()=>k.toolStats(t),staleTime:W.aggregate})}function Rn(t=50){return gt({queryKey:["tool-calls",t],queryFn:()=>k.toolCalls(t),staleTime:W.activity})}function On(t,e,s){return ue({queryKey:["runs-page",t,e,s],queryFn:()=>k.runsPage({page:t,pageSize:e,where:s}),placeholderData:yt,staleTime:W.activity})}function Tn(t,e,s){return ue({queryKey:["tool-calls-page",t,e,s],queryFn:()=>k.toolCallsPage({page:t,pageSize:e,where:s}),placeholderData:yt,staleTime:W.activity})}function En(t,e,s){return ue({queryKey:["threads-page",t,e,s],queryFn:()=>k.threadsPage({page:t,pageSize:e,where:s}),placeholderData:yt,staleTime:W.activity})}function jn(t,e,s){return ue({queryKey:["approvals-page",t,e,s],queryFn:()=>k.approvalsPage({page:t,pageSize:e,where:s}),placeholderData:yt,staleTime:W.queue})}function Dn(){return ue({queryKey:["approvals-count"],queryFn:async()=>(await k.approvalsPage({page:1,pageSize:1})).total,staleTime:W.queue,refetchInterval:2e4,refetchIntervalInBackground:!0})}function Fn(t){return ue({queryKey:["run-detail",t],queryFn:()=>k.runDetail(t),staleTime:W.detail})}function In(t){return ue({queryKey:["thread-detail",t],queryFn:()=>k.threadDetail(t),staleTime:W.detail})}function Qn(t){return ue({queryKey:["genui",t.fromDay,t.toDay],queryFn:()=>k.genuiStats(t),staleTime:W.aggregate})}function An(){return ue({queryKey:["pricing"],queryFn:()=>k.pricing(),staleTime:W.config})}const Mn=[["approvals"],["approvals-page"],["approvals-count"],["tool-calls"],["tool-calls-page"],["tool-stats"],["run-detail"]];function qn(){const t=ot();return Ws({mutationFn:({toolCallId:e,input:s})=>k.decideApproval(e,s),onSuccess:()=>{for(const e of Mn)t.invalidateQueries({queryKey:e})}})}const kn=[["pricing"],["spend"],["top-threads"],["thread-detail"]];function Nn(){const t=ot();return Ws({mutationFn:e=>k.upsertPrice(e),onSuccess:()=>{for(const e of kn)t.invalidateQueries({queryKey:e})}})}function Un({range:t}){return c.jsx(tr,{rows:Vs(t).data.byActor})}const Ln=["spend","models","actors","runs","reliability","approvals","tools","genui","pricing","live"],Js="spend";function _n(t){return Ln.some(e=>e===t)}function cs(t){const e=t.replace(/^#\/?/,""),s=e.indexOf("?"),r=s===-1?e:e.slice(0,s);return _n(r)?{section:r,params:new URLSearchParams(s===-1?"":e.slice(s+1))}:{section:Js,params:new URLSearchParams}}function zt(t,e){const s=e===void 0?"":new URLSearchParams(e).toString();return s===""?`#/${t}`:`#/${t}?${s}`}const Ys=b.createContext({open:()=>{}});function vt(){return b.useContext(Ys)}function Kn({children:t}){const[e,s]=b.useState([]),r=b.useCallback(o=>{s(h=>[...h,o])},[]),i=b.useCallback(()=>s([]),[]),a=b.useCallback(()=>s(o=>o.slice(0,-1)),[]);b.useEffect(()=>(window.addEventListener("hashchange",i),()=>window.removeEventListener("hashchange",i)),[i]);const u=e[e.length-1];return c.jsxs(Ys.Provider,{value:{open:r},children:[t,u!==void 0&&c.jsx(sr,{title:u.kind==="run"?"Run":"Thread",subtitle:u.kind==="run"?u.runId:u.threadId,onClose:i,...e.length>1?{onBack:a}:{},children:u.kind==="run"?c.jsx(Gn,{runId:u.runId,onOpenThread:Hn(r)}):c.jsx(Wn,{threadId:u.threadId,onOpenRun:Bn(r)})},$n(u))]})}function $n(t){return t.kind==="run"?`run:${t.runId}`:`thread:${t.threadId}`}function Hn(t){return e=>t({kind:"thread",threadId:e})}function Bn(t){return e=>t({kind:"run",runId:e})}function Gn({runId:t,onOpenThread:e}){const s=Fn(t);return s.isPending?c.jsx(Xs,{label:"run"}):s.isError?c.jsx(Zs,{label:"This run",error:s.error,onRetry:()=>void s.refetch(),goneLabel:"This run no longer exists in the read-model."}):c.jsx(rr,{detail:s.data,onOpenThread:e})}function Wn({threadId:t,onOpenRun:e}){const s=In(t);return s.isPending?c.jsx(Xs,{label:"thread"}):s.isError?c.jsx(Zs,{label:"This thread",error:s.error,onRetry:()=>void s.refetch(),goneLabel:"This thread no longer exists in the read-model."}):c.jsx(nr,{detail:s.data,onOpenRun:e,runsHref:zt("reliability",{threadId:t})})}function Zs({label:t,error:e,onRetry:s,goneLabel:r}){return e instanceof Error&&e.message.startsWith("404")?c.jsx(ar,{label:r}):c.jsx(or,{label:t,error:e,onRetry:s})}function Xs({label:t}){return c.jsxs(ir,{className:"animate-pulse p-6 text-sm text-muted-foreground","aria-busy":"true",children:["Loading ",t,"…"]})}const ve=25;function pt(t,e,s){return{page:t.data??{rows:[],total:0,page:e,pageSize:s},error:t.isError?t.error:null,retry:()=>void t.refetch()}}function zn(){const{open:t}=vt(),[e,s]=b.useState(1),r=jn(e,ve,{}),i=qn();return c.jsx(ur,{table:pt(r,e,ve),onPageChange:s,onDecide:(a,u)=>i.mutateAsync({toolCallId:a,input:u}),onOpenRun:a=>t({kind:"run",runId:a})})}const Vn="501";function Jn({range:t}){const e=Qn(t),s=e.isError&&e.error.message.startsWith(Vn);return e.isError&&!s?c.jsx(Os,{label:"Generative UI",error:e.error,onRetry:()=>void e.refetch()}):e.isPending?c.jsx(cr,{label:"Generative UI"}):c.jsx(lr,{stats:e.data??null,unavailable:s})}function Yn({range:t}){return c.jsx(hr,{rows:Vs(t).data.byModel})}const Zn="501";function Xn(){const t=An(),e=Nn(),s=t.isError&&t.error.message.startsWith(Zn);return t.isError&&!s?c.jsx(Os,{label:"Pricing",error:t.error,onRetry:()=>void t.refetch()}):c.jsx(dr,{prices:t.data??[],loading:t.isPending,unavailable:s,onUpsert:r=>e.mutateAsync(r),saving:e.isPending})}function ei({range:t,threadId:e}){const{open:s}=vt(),r=xn(t),[i,a]=b.useState(1),[u,o]=b.useState(""),[h,y]=b.useState(""),p={...u!==""?{status:u}:{},...h!==""?{agentName:h}:{},...e!==void 0&&e!==""?{threadId:e}:{}},g=On(i,ve,p);return c.jsx(fr,{overview:r.data,runsTable:pt(g,i,ve),runsWhere:p,onRunsStatusChange:f=>{o(f),a(1)},onRunsAgentNameChange:f=>{y(f),a(1)},onRunsThreadIdClear:()=>{a(1),window.location.hash=zt("reliability")},onRunsPageChange:a,onOpenRun:f=>s({kind:"run",runId:f})})}function ti(){const{open:t}=vt(),e=Rn(),[s,r]=b.useState(1),[i,a]=b.useState(""),[u,o]=b.useState(""),h={...i!==""?{toolName:i}:{},...u!==""?{status:u}:{}},y=Tn(s,ve,h),[p,g]=b.useState(1),[f,C]=b.useState(""),Q={...f!==""?{title:f}:{}},S=En(p,ve,Q);return c.jsx(pr,{toolCalls:e.data,toolCallsTable:pt(y,s,ve),toolCallsWhere:h,onToolCallsToolNameChange:w=>{a(w),r(1)},onToolCallsStatusChange:w=>{o(w),r(1)},onToolCallsPageChange:r,threadsTable:pt(S,p,ve),threadsWhere:Q,onThreadsTitleChange:w=>{C(w),g(1)},onThreadsPageChange:g,onOpenRun:w=>t({kind:"run",runId:w}),onOpenThread:w=>t({kind:"thread",threadId:w})})}function si({range:t}){const{open:e}=vt(),{overview:s,topThreads:r}=Cn(t);return c.jsx(yr,{overview:s,topThreads:r,onOpenThread:i=>e({kind:"thread",threadId:i})})}function ri({range:t}){return c.jsx(mr,{rows:Pn(t).data})}const ni=Mr,ii=qr;function ai({className:t,align:e="end",sideOffset:s=6,...r}){return c.jsx(kr,{children:c.jsx(Nr,{align:e,sideOffset:s,className:"z-50 outline-none",children:c.jsx(Ur,{className:gr("origin-[var(--transform-origin)] rounded-lg border border-line bg-popover p-3 text-popover-foreground shadow-lg shadow-black/50 outline-none","transition-[opacity,transform] duration-150 ease-out","data-[starting-style]:scale-95 data-[starting-style]:opacity-0","data-[ending-style]:scale-95 data-[ending-style]:opacity-0",t),...r})})})}function oi(t){window.location.assign(t)}function ui(t=oi){const[e,s]=b.useState(!1);return b.useEffect(()=>wn(r=>{r.kind==="redirect"?t(r.redirectTo):s(!0)}),[t]),{denied:e}}function ci(t=200){const[e,s]=b.useState([]),[r,i]=b.useState(!1),a=b.useRef(0);return b.useEffect(()=>{i(!0);const u=k.streamEvents(o=>{a.current+=1,s(h=>vr(h,o,a.current,t))});return()=>{i(!1),u()}},[t]),{events:e,connected:r}}const er=[{key:"spend",label:"Spend & usage",icon:c.jsx(br,{})},{key:"models",label:"Models",icon:c.jsx(Sr,{})},{key:"actors",label:"Actors & budgets",icon:c.jsx(wr,{})},{key:"runs",label:"Runs & tools",icon:c.jsx(Yt,{})},{key:"reliability",label:"Reliability",icon:c.jsx(Cr,{})},{key:"approvals",label:"Approvals",icon:c.jsx(xr,{})},{key:"tools",label:"Tools",icon:c.jsx(Yt,{})},{key:"genui",label:"Generative UI",icon:c.jsx(Pr,{})},{key:"pricing",label:"Pricing",icon:c.jsx(Rr,{})},{key:"live",label:"Live",icon:c.jsx(Or,{})}],li=Object.fromEntries(er.map(t=>[t.key,t.label]));function hi(){const[t,e]=b.useState(()=>typeof window>"u"?{section:Js,params:new URLSearchParams}:cs(window.location.hash));return b.useEffect(()=>{function s(){e(cs(window.location.hash))}return window.addEventListener("hashchange",s),()=>window.removeEventListener("hashchange",s)},[]),t}function di(){const[t,e]=b.useState(vn()),{section:s,params:r}=hi(),i=ci(),a=Dn();return ui().denied?c.jsx(Sn,{}):c.jsx(Tr,{delay:400,closeDelay:0,timeout:300,children:c.jsx(Kn,{children:c.jsxs("div",{className:"relative min-h-full",children:[c.jsx("div",{className:"app-bg"}),c.jsxs("div",{className:"relative z-10 mx-auto max-w-[1180px] px-5 py-5",children:[c.jsx(pi,{range:t,onRange:e,connected:i.connected,liveCount:i.events.length}),c.jsx("nav",{className:"mb-5 flex flex-wrap gap-1",children:er.map(o=>{const h=o.key==="live"?i.events.length:o.key==="approvals"?a.data??0:0,y=s===o.key;return c.jsxs(Ts,{render:c.jsx("a",{href:zt(o.key),...y?{"aria-current":"page"}:{}}),size:"md",variant:y?"default":"ghost",className:"gap-2 rounded-lg",children:[o.icon,o.label,h>0&&c.jsx(Er,{variant:"accent",className:"tnum border-transparent bg-brand/20",children:h})]},o.key)})}),c.jsx(jr,{label:li[s],children:c.jsx(fi,{section:s,range:t,params:r,liveEvents:i.events,connected:i.connected})},s)]})]})})})}function fi({section:t,range:e,params:s,liveEvents:r,connected:i}){switch(t){case"spend":return c.jsx(si,{range:e});case"models":return c.jsx(Yn,{range:e});case"actors":return c.jsx(Un,{range:e});case"runs":return c.jsx(ti,{});case"reliability":return c.jsx(ei,{range:e,threadId:s.get("threadId")??void 0});case"approvals":return c.jsx(zn,{});case"tools":return c.jsx(ri,{range:e});case"genui":return c.jsx(Jn,{range:e});case"pricing":return c.jsx(Xn,{});case"live":return c.jsx(Fr,{events:r,connected:i});default:return null}}function pi({range:t,onRange:e,connected:s,liveCount:r}){return c.jsxs("header",{className:"mb-5 flex flex-wrap items-center gap-4",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx("div",{className:"grid h-8 w-8 place-items-center rounded-lg border border-brand/40 bg-brand/10",children:c.jsx(Rs,{className:"h-4 w-4 text-brand"})}),c.jsxs("div",{className:"leading-none",children:[c.jsx("div",{className:"text-sm font-semibold tracking-tight",children:"AI gateway"}),c.jsx("div",{className:"mono text-[10px] uppercase tracking-[0.2em] text-muted-foreground",children:"governance console"})]})]}),c.jsxs("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[c.jsx(yi,{range:t,onRange:e}),c.jsxs("span",{className:"flex items-center gap-1.5 rounded-lg border border-line px-2.5 py-1.5 text-[11px] text-muted-foreground",children:[c.jsx(Dr,{tone:s?"live":"bad"}),"live ",r>0?`· ${r}`:""]})]})]})}function yi({range:t,onRange:e}){return c.jsxs(ni,{children:[c.jsxs(ii,{render:c.jsx(Ts,{size:"md",variant:"outline",className:"mono gap-2 rounded-lg"}),children:[c.jsx(Ir,{width:12,height:12}),c.jsxs("span",{className:"tnum text-foreground",children:[t.fromDay," → ",t.toDay]})]}),c.jsxs(ai,{className:"flex flex-col gap-2",children:[c.jsx(ls,{label:"From",value:t.fromDay,onChange:s=>e({...t,fromDay:s})}),c.jsx(ls,{label:"To",value:t.toDay,onChange:s=>e({...t,toDay:s})}),c.jsx("p",{className:"text-[10px] text-muted-foreground",children:"Whole UTC days, inclusive."})]})]})}function ls({label:t,value:e,onChange:s}){return c.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-line bg-panel px-2.5 py-1 text-[11px] text-muted-foreground",children:[c.jsx("span",{className:"uppercase tracking-wider",children:t}),c.jsx(Qr,{type:"date",value:e,onChange:r=>{const i=r.target.value;bn(i)&&s(i)}})]})}const mi=new fn({defaultOptions:{queries:{retry:1}}}),hs=document.getElementById("root");hs&&Ar.createRoot(hs).render(c.jsx(b.StrictMode,{children:c.jsx(Lr,{client:mi,children:c.jsx(di,{})})}));