okengine 0.13.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/manifest.v1.schema.json +7 -1
- package/package.json +2 -2
- package/site/content/docs/ai/mcp.mdx +27 -2
- package/site/content/docs/elements/ai.mdx +58 -11
- package/site/content/docs/elements/clock.mdx +27 -12
- package/site/content/docs/elements/flow.mdx +6 -3
- package/site/content/docs/elements/signal.mdx +71 -25
- package/site/content/docs/elements/store.mdx +1 -1
- package/site/content/docs/get-started/installation.mdx +2 -2
- package/site/content/docs/reference/fx.mdx +27 -22
- package/src/cli/ai-setup/recommend.test.ts +25 -0
- package/src/cli/ai-setup/recommend.ts +8 -3
- package/src/compiler/effects-infer.ts +58 -3
- package/src/compiler/extract.test.ts +54 -1
- package/src/compiler/extract.ts +69 -2
- package/src/compiler/response.ts +45 -1
- package/src/console/server/ai.ts +5 -2
- package/src/console/server/flows.ts +1 -0
- package/src/console/server/serve.ts +17 -2
- package/src/console/ui-next/dist/assets/cache-glyph-BanhLsEY.js +1 -0
- package/src/console/ui-next/dist/assets/flows-page-DxDsOd4f.js +1 -0
- package/src/console/ui-next/dist/assets/http-method-CJCBYL2j.js +1 -0
- package/src/console/ui-next/dist/assets/{index-Bp-R7jtM.js → index-Ce6WKWKM.js} +3 -3
- package/src/console/ui-next/dist/assets/observability-page-BEZDzyYh.js +4 -0
- package/src/console/ui-next/dist/assets/trace-detail-sheet-DFLFfUUX.js +2 -0
- package/src/console/ui-next/dist/assets/units-page-C0gW6Kdo.js +1 -0
- package/src/console/ui-next/dist/assets/{vault-page-Ca-MvcmJ.js → vault-page-DuKzqwzW.js} +1 -1
- package/src/console/ui-next/dist/index.html +1 -1
- package/src/console/ui-next/seed-invoke-host.ts +2 -0
- package/src/console/ui-next/src/features/flows/graph/build-flow-graph.test.ts +18 -0
- package/src/console/ui-next/src/features/flows/graph/build-flow-graph.ts +14 -1
- package/src/console/ui-next/src/features/flows/graph/neighborhood.test.ts +17 -0
- package/src/console/ui-next/src/features/flows/graph/neighborhood.ts +16 -3
- package/src/console/ui-next/src/features/flows/traces/effect-kind.ts +3 -1
- package/src/console/ui-next/src/features/flows/traces/effect-summary.ts +24 -0
- package/src/console/ui-next/src/features/flows/traces/trace-detail-sheet.tsx +9 -3
- package/src/console/ui-next/src/features/flows/traces/trace-detail.test.ts +10 -1
- package/src/console/ui-next/src/features/observability/lib/ask-count.test.ts +25 -0
- package/src/console/ui-next/src/features/observability/lib/ask-count.ts +4 -1
- package/src/console/ui-next/src/features/units/detail/effects-summary.tsx +12 -4
- package/src/docker/docker.test.ts +1 -1
- package/src/docker/dockerfile.ts +1 -1
- package/src/drivers/ai-anthropic.ts +5 -0
- package/src/drivers/ai-ollama.ts +49 -30
- package/src/drivers/ai-openai-compatible.ts +57 -46
- package/src/drivers/ai-providers.test.ts +3 -0
- package/src/drivers/bun-native-completeness.test.ts +7 -9
- package/src/drivers/redis.ts +11 -4
- package/src/drivers/signal-redis.ts +24 -14
- package/src/drivers/signal-types.ts +2 -1
- package/src/elements/ai/declare.ts +109 -0
- package/src/elements/ai/errors.test.ts +5 -1
- package/src/elements/ai/errors.ts +30 -2
- package/src/elements/ai/eval.ts +4 -6
- package/src/elements/ai/mcp-client.test.ts +206 -0
- package/src/elements/ai/mcp-client.ts +362 -0
- package/src/elements/ai/mcp-http.ts +159 -0
- package/src/elements/ai/mcp-mock.ts +134 -0
- package/src/elements/ai/mcp-protocol.ts +234 -0
- package/src/elements/ai/mcp-stdio.test.ts +50 -0
- package/src/elements/ai/mcp-stdio.ts +212 -0
- package/src/elements/ai/mcp-transport.ts +70 -0
- package/src/elements/ai/runtime.ts +159 -29
- package/src/elements/ai.test.ts +139 -0
- package/src/elements/ai.ts +16 -0
- package/src/elements/clock/health.test.ts +43 -0
- package/src/elements/clock/runtime.ts +55 -2
- package/src/elements/clock/schedule.ts +71 -142
- package/src/elements/clock.test.ts +9 -40
- package/src/elements/clock.ts +6 -1
- package/src/elements/index.ts +2 -0
- package/src/elements/signal/declare.ts +2 -1
- package/src/elements/signal/runtime.ts +16 -1
- package/src/elements/signal.ts +1 -0
- package/src/elements/store/cache.test.ts +2 -0
- package/src/elements/store/cache.ts +3 -3
- package/src/elements/vault/builtin-adapter.ts +17 -0
- package/src/full.ts +2 -0
- package/src/index.ts +4 -0
- package/src/kernel/app.ts +97 -64
- package/src/kernel/auto-registry.test.ts +5 -0
- package/src/kernel/boot-bind/ai.ts +24 -0
- package/src/kernel/boot-bind/clock.ts +2 -0
- package/src/kernel/boot.ts +3 -1
- package/src/kernel/element-registries.ts +4 -1
- package/src/kernel/fx-dead-letters.test.ts +77 -0
- package/src/kernel/fx.test.ts +22 -0
- package/src/kernel/fx.ts +112 -6
- package/src/kernel/http-stream.test.ts +174 -0
- package/src/kernel/index.ts +2 -0
- package/src/manifest/mcp-ref.ts +88 -0
- package/src/manifest/types.ts +28 -2
- package/src/manifest/validate.test.ts +20 -0
- package/src/mcp/docs-server.ts +1 -1
- package/src/mcp/server.ts +1 -1
- package/src/plugins/compression.test.ts +21 -0
- package/src/plugins/compression.ts +1 -0
- package/src/runtime/bun.ts +41 -4
- package/src/test/reset-element-registries.ts +2 -0
- package/src/console/ui-next/dist/assets/cache-glyph-CLPBqZeb.js +0 -1
- package/src/console/ui-next/dist/assets/flows-page-Dg8CTE29.js +0 -1
- package/src/console/ui-next/dist/assets/http-method-BJ92Z_ke.js +0 -1
- package/src/console/ui-next/dist/assets/observability-page-DAnpEaq1.js +0 -4
- package/src/console/ui-next/dist/assets/trace-detail-sheet-D16lWQMt.js +0 -2
- package/src/console/ui-next/dist/assets/units-page-BtQ0bqMe.js +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{$n as n,Cr as r,Er as i,La as a,Li as o,Mr as s,Oa as c,Qn as l,To as u,_r as d,br as f,cr as p,dr as m,er as h,gr as g,ha as _,hr as v,i as y,kr as b,l as x,mr as S,nr as C,o as w,s as T,sr as E,tr as D,u as O,ur as k,va as A,vr as j,wa as M,wr as N,xr as P,yr as F}from"./shortcut-keys-DO4IsVqv.js";import{t as I,x as L}from"./link-DF7SZ9Ek.js";import{n as R,r as z}from"./react-dom-Bph1y7z7.js";import{A as ee,C as te,D as B,E as V,S as H,T as U,_ as ne,b as re,g as ie,h as ae,v as oe,w as se,x as ce,y as W}from"./xyflow-D7n4g6go.js";import{g as le,i as ue,k as de,n as fe,t as G,x as pe}from"./react-B1ML8gxg.js";import{i as me,n as he,r as ge}from"./duration-tone-oiRxPVsZ.js";import{c as _e,s as ve,t as ye}from"./trace-detail-sheet-DFLFfUUX.js";import{a as be,c as xe,i as Se,o as Ce,r as we,s as Te}from"./index-Ce6WKWKM.js";import{_ as Ee,f as De,g as Oe,h as ke,m as Ae,n as je,p as Me,r as Ne,t as Pe,u as Fe}from"./collapsible-DYb0xU8C.js";import{a as Ie,i as Le,s as Re}from"./highlighted-json-CvDPvveV.js";import{D as ze}from"./http-method-CJCBYL2j.js";import{H as Be,M as Ve,n as He,t as Ue}from"./replica-lag-C8_BRt2x.js";import{n as We,r as Ge}from"./use-vault-list-Cl79j_ku.js";import{t as Ke}from"./explorer-empty-HjTnVQoR.js";import{t as qe}from"./call-pii-button-bqkxMrJH.js";function Je(e,t,n={}){let r=e.get(),i=null,a=r,o,s=typeof r==`string`?r.replace(/[\d.-]/g,``):void 0,c=()=>{i&&=(i.stop(),null),e.animation=void 0},l=()=>{let t=Xe(e.get()),r=Xe(a);if(t===r){c();return}let s=i?i.getGeneratorVelocity():e.getVelocity();c(),i=new pe({keyframes:[t,r],velocity:s,type:`spring`,restDelta:.001,restSpeed:.01,...n,onUpdate:o})},u=()=>{l(),e.animation=i??void 0,e.events.animationStart?.notify(),i?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((e,t)=>{a=e,o=e=>t(Ye(e,s)),de.postRender(u)},c),le(t)){let r=n.skipInitialAnimation===!0,i=t.on(`change`,t=>{r?(r=!1,e.jump(Ye(t,s),!1)):e.set(Ye(t,s))}),a=e.on(`destroy`,i);return()=>{i(),a()}}return c}function Ye(e,t){return t?e+t:e}function Xe(e){return typeof e==`number`?e:parseFloat(e)}var K=e(z(),1);function Ze(e,t={}){let{isStatic:n}=(0,K.useContext)(ue),r=()=>le(e)?e.get():e;if(n)return ve(r);let i=_e(r());return(0,K.useInsertionEffect)(()=>Je(i,e,t),[i,JSON.stringify(t)]),i}function Qe(e,t={}){return Ze(e,{type:`spring`,...t})}var $e=Math.PI/180,et=180/Math.PI,tt=18,nt=.96422,rt=1,it=.82521,at=4/29,ot=6/29,st=3*ot*ot,ct=ot*ot*ot;function lt(e){if(e instanceof dt)return new dt(e.l,e.a,e.b,e.opacity);if(e instanceof vt)return yt(e);e instanceof ce||(e=U(e));var t=ht(e.r),n=ht(e.g),r=ht(e.b),i=ft((.2225045*t+.7168786*n+.0606169*r)/rt),a,o;return t===n&&n===r?a=o=i:(a=ft((.4360747*t+.3850649*n+.1430804*r)/nt),o=ft((.0139322*t+.0971045*n+.7141733*r)/it)),new dt(116*i-16,500*(a-i),200*(i-o),e.opacity)}function ut(e,t,n,r){return arguments.length===1?lt(e):new dt(e,t,n,r??1)}function dt(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}V(dt,ut,B(re,{brighter(e){return new dt(this.l+tt*(e??1),this.a,this.b,this.opacity)},darker(e){return new dt(this.l-tt*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=nt*pt(t),e=rt*pt(e),n=it*pt(n),new ce(mt(3.1338561*t-1.6168667*e-.4906146*n),mt(-.9787684*t+1.9161415*e+.033454*n),mt(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function ft(e){return e>ct?e**(1/3):e/st+at}function pt(e){return e>ot?e*e*e:st*(e-at)}function mt(e){return 255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055)}function ht(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function gt(e){if(e instanceof vt)return new vt(e.h,e.c,e.l,e.opacity);if(e instanceof dt||(e=lt(e)),e.a===0&&e.b===0)return new vt(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*et;return new vt(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function _t(e,t,n,r){return arguments.length===1?gt(e):new vt(e,t,n,r??1)}function vt(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function yt(e){if(isNaN(e.h))return new dt(e.l,0,0,e.opacity);var t=e.h*$e;return new dt(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}V(vt,_t,B(re,{brighter(e){return new vt(this.h,this.c,this.l+tt*(e??1),this.opacity)},darker(e){return new vt(this.h,this.c,this.l-tt*(e??1),this.opacity)},rgb(){return yt(this).rgb()}}));var bt=-.14861,xt=1.78277,St=-.29227,Ct=-.90649,wt=1.97294,Tt=wt*Ct,Et=wt*xt,Dt=xt*St-Ct*bt;function Ot(e){if(e instanceof At)return new At(e.h,e.s,e.l,e.opacity);e instanceof ce||(e=U(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(Dt*r+Tt*t-Et*n)/(Dt+Tt-Et),a=r-i,o=(wt*(n-i)-St*a)/Ct,s=Math.sqrt(o*o+a*a)/(wt*i*(1-i)),c=s?Math.atan2(o,a)*et-120:NaN;return new At(c<0?c+360:c,s,i,e.opacity)}function kt(e,t,n,r){return arguments.length===1?Ot(e):new At(e,t,n,r??1)}function At(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}V(At,kt,B(re,{brighter(e){return e=e==null?H:H**+e,new At(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?te:te**+e,new At(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*$e,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new ce(255*(t+n*(bt*r+xt*i)),255*(t+n*(St*r+Ct*i)),255*(t+wt*r*n),this.opacity)}}));function jt(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function Mt(e){return function(t,n){var r=e((t=se(t)).h,(n=se(n)).h),i=W(t.s,n.s),a=W(t.l,n.l),o=W(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Nt=Mt(oe),Pt=Mt(W);function Ft(e,t){var n=W((e=ut(e)).l,(t=ut(t)).l),r=W(e.a,t.a),i=W(e.b,t.b),a=W(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function It(e){return function(t,n){var r=e((t=_t(t)).h,(n=_t(n)).h),i=W(t.c,n.c),a=W(t.l,n.l),o=W(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Lt=It(oe),Rt=It(W);function zt(e){return(function t(n){n=+n;function r(t,r){var i=e((t=kt(t)).h,(r=kt(r)).h),a=W(t.s,r.s),o=W(t.l,r.l),s=W(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}var Bt=zt(oe),Vt=zt(W),Ht=[`console.ai.list`];function Ut(){return u({queryKey:Ht,queryFn:async()=>{let e=await _();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty AI list`);return e.data}})}var Wt=[`console.clock.list`];function Gt(){return u({queryKey:Wt,queryFn:async()=>{let e=await A();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty clock list`);return e.data},refetchInterval:15e3})}var Kt=[`console.instances.list`];function qt(){return u({queryKey:Kt,queryFn:async()=>{let e=await M();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty instances list`);return e.data},refetchInterval:15e3})}var Jt=[`console.signals.list`];function Yt(){return u({queryKey:Jt,queryFn:async()=>{let e=await a();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty signals list`);return e.data},refetchInterval:1e4})}function Xt(e,t,n){let r=Te(e,t,n),i=0,a=0;for(let e of r)e.inputTokens!==null&&e.inputTokens>0&&(i+=e.inputTokens),e.outputTokens!==null&&e.outputTokens>0&&(a+=e.outputTokens);return i===0&&a===0?{kind:`empty`}:{kind:`summary`,inputTokens:i,outputTokens:a,windowMs:n}}function Zt(e){return!Number.isFinite(e)||e<=0?`—`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(Math.round(e))}function Qt(e){let t=[];return e.inputTokens>0&&t.push(`${Zt(e.inputTokens)} in`),e.outputTokens>0&&t.push(`${Zt(e.outputTokens)} out`),t.length===0?null:t.join(` · `)}var q=ee();function $t({ai:e,asks:t,tokens:n}){let r=(e?.versions??[]).filter(e=>e.sampleCount>0),i=r.length===0?null:r.reduce((e,t)=>e+t.cost.mean,0)/r.length,a=n.kind===`summary`?Qt(n):null;return(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 border-b border-border/60 px-3 py-1.5`,"data-slot":`observability-ai-rail`,"aria-label":`AI usage`,children:[(0,q.jsx)(`span`,{className:`text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`AI`}),i==null?(0,q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,"data-slot":`observability-ai-empty`,children:`No cost samples in the Console AI journal.`}):(0,q.jsxs)(`p`,{className:`text-[11px] text-foreground/85`,"data-slot":`observability-ai-cost`,children:[(0,q.jsxs)(`span`,{className:`tabular-nums`,children:[`mean `,en(i)]}),(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:` · `}),(0,q.jsxs)(`span`,{className:`tabular-nums`,children:[r.length,` version`]})]}),a?(0,q.jsx)(`p`,{className:`font-mono text-[10px] text-muted-foreground`,"data-slot":`observability-ai-tokens`,children:a}):null,t.kind===`summary`?(0,q.jsxs)(`span`,{className:`ml-auto font-mono text-[10px] text-muted-foreground`,"data-slot":`observability-ai-asks`,children:[t.asks,` ask`,t.asks===1?``:`s`,` in window`]}):(0,q.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:`No ask effects in window`})]})}function en(e){return Number.isFinite(e)?e===0?`0`:e<.01?e.toExponential(2):e.toFixed(4):`—`}function tn({fleet:e,open:t,onClose:n}){let r=e?.kind===`fleet`?e.instances:[],i=e?.kind===`fleet`?e.now:Date.now();return(0,q.jsx)(y,{open:t,onOpenChange:e=>!e&&n(),children:(0,q.jsxs)(w,{side:`right`,className:`flex w-full flex-col sm:max-w-md`,"data-slot":`instance-fleet-sheet`,children:[(0,q.jsxs)(x,{children:[(0,q.jsx)(O,{children:`Instances`}),(0,q.jsx)(T,{children:e?.kind===`fleet`?`${e.alive} alive — Clock and Journal leases this process holds`:`No shared fleet registry on this Console`})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r.length===0?(0,q.jsx)(`p`,{className:E,children:e?.kind===`fleet`?`Every presence lease has expired.`:`The registry is unbound (test / no shared store).`}):(0,q.jsx)(`ul`,{className:`divide-y divide-border/60`,children:r.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(nn,{row:e,now:i})},e.id))})})]})})}function nn({row:e,now:t}){let n=Math.max(0,t-e.heartbeatAt),i=e.clock.map(e=>e.name).join(`, `),a=e.journal.map(e=>e.flow).join(`, `);return(0,q.jsxs)(`div`,{className:m,"data-slot":`instance-fleet-row`,"data-instance-id":e.id,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`size-1.5 shrink-0 rounded-full`,n<3e4?`bg-emerald-500`:`bg-muted-foreground/50`)}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`p`,{className:`truncate font-medium text-foreground`,children:e.id}),(0,q.jsxs)(`p`,{className:`mt-0.5 text-[10px] text-muted-foreground`,children:[`heartbeat `,Le(n),` ago`,e.pid===void 0?``:` · pid ${e.pid}`]}),(0,q.jsx)(`p`,{className:`${P} mt-1.5`,children:`Clock`}),(0,q.jsx)(`p`,{className:`truncate font-mono text-[10px] text-muted-foreground`,children:i.length>0?i:`holding nothing`}),(0,q.jsx)(`p`,{className:`${P} mt-1.5`,children:`Journal`}),(0,q.jsx)(`p`,{className:`truncate font-mono text-[10px] text-muted-foreground`,children:a.length>0?a:`holding nothing`})]})]})}function rn(e){return e.map(e=>({date:new Date(e.startAt),requests:e.n,errors:e.errors,p95:e.p95Ms}))}function an(e){return e<=36e5?6e4:e<=864e5?3e5:36e5}function on(e,t){return Math.floor(e/t)*t}function sn(e,t,n){let r=Te(e,t,n);if(r.length===0)return{kind:`empty`};let i=an(n),a=on(t-Math.max(0,n),i),o=on(t,i),s=new Map,c=new Map;for(let e=a;e<=o;e+=i)s.set(e,[]),c.set(e,{n:0,errors:0});for(let e of r){let t=on(e.startedAt,i),n=s.get(t),r=c.get(t);!n||!r||(n.push(e.durationMs),r.n+=1,Ce(e)&&(r.errors+=1))}let l=[];for(let e=a;e<=o;e+=i){let t=s.get(e)??[],n=c.get(e)??{n:0,errors:0},r=[...t].sort((e,t)=>e-t);l.push({startAt:e,n:n.n,errors:n.errors,errorRate:n.n===0?0:n.errors/n.n,p95Ms:n.n===0?0:be(r,.95),requestPerSec:n.n/(i/1e3)})}return{kind:`series`,buckets:l,bucketMs:i,windowMs:n}}function J(e){return function(){return e}}var cn=Math.PI,ln=2*cn,un=1e-6,dn=ln-un;function fn(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function pn(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return fn;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var mn=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?fn:pn(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>un)if(!(Math.abs(u*s-c*l)>un)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((cn-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>un&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>un||Math.abs(this._y1-l)>un)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%ln+ln),d>dn?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>un&&this._append`A${n},${n},0,${+(d>=cn)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};mn.prototype;function hn(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new mn(t)}Array.prototype.slice;function gn(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function _n(e){this._context=e}_n.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function vn(e){return new _n(e)}function yn(e){return e[0]}function bn(e){return e[1]}function xn(e,t){var n=J(!0),r=null,i=vn,a=null,o=hn(s);e=typeof e==`function`?e:e===void 0?yn:J(e),t=typeof t==`function`?t:t===void 0?bn:J(t);function s(s){var c,l=(s=gn(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:J(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Sn(e,t,n){var r=null,i=J(!0),a=null,o=vn,s=null,c=hn(l);e=typeof e==`function`?e:e===void 0?yn:J(+e),t=typeof t==`function`?t:J(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?bn:J(+n);function l(l){var u,d,f,p=(l=gn(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return xn().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:J(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:J(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:J(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function Cn(e){return e<0?-1:1}function wn(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Cn(a)+Cn(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Tn(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function En(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Dn(e){this._context=e}Dn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:En(this,this._t0,Tn(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,En(this,Tn(this,n=wn(this,e,t)),n);break;default:En(this,this._t0,n=wn(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Dn.prototype).point=function(e,t){Dn.prototype.point.call(this,t,e)};function On(e){return new Dn(e)}function kn(e){this._context=e}kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=An(e),i=An(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function An(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function jn(e){return new kn(e)}var Mn=t(((e,t)=>{(function(){var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}));function Nn(e,t){e(t)}function Pn(){let{x:e,x0:t,x1:n,y:r,y0:i,y1:a,defined:o,curve:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=Sn();return e&&Nn(c.x,e),t&&Nn(c.x0,t),n&&Nn(c.x1,n),r&&Nn(c.y,r),i&&Nn(c.y0,i),a&&Nn(c.y1,a),o&&c.defined(o),s&&c.curve(s),c}function Fn(){let{x:e,y:t,defined:n,curve:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=xn();return e&&Nn(i.x,e),t&&Nn(i.y,t),n&&i.defined(n),r&&i.curve(r),i}var In=e(Mn());function Ln(e){let{top:t=0,left:n=0,transform:r,className:i,children:a,innerRef:o,...s}=e;return(0,q.jsx)(`g`,{ref:o,className:(0,In.default)(`visx-group`,i),transform:r||`translate(${n}, ${t})`,...s,children:a})}function Rn(e){let{from:t={x:0,y:0},to:n={x:1,y:1},fill:r=`transparent`,className:i,innerRef:a,...o}=e,s=t.x===n.x||t.y===n.y;return(0,q.jsx)(`line`,{ref:a,className:(0,In.default)(`visx-line`,i),x1:t.x,y1:t.y,x2:n.x,y2:n.y,fill:r,shapeRendering:s?`crispEdges`:`auto`,...o})}function zn(e){let{children:t,data:n=[],x:r,y:i,fill:a=`transparent`,className:o,curve:s,innerRef:c,defined:l=()=>!0,...u}=e,d=Fn({x:r,y:i,defined:l,curve:s});return t?(0,q.jsx)(q.Fragment,{children:t({path:d})}):(0,q.jsx)(`path`,{ref:c,className:(0,In.default)(`visx-linepath`,o),d:d(n)||``,fill:a,strokeLinecap:`round`,...u})}function Bn(e){let{x:t,x0:n,x1:r,y:i,y1:a,y0:o,yScale:s,data:c=[],defined:l=()=>!0,className:u,curve:d,innerRef:f,children:p,...m}=e,h=Pn({x:t,x0:n,x1:r,defined:l,curve:d});return o==null?h.y0(s.range()[0]):Nn(h.y0,o),i&&!a&&Nn(h.y1,i),a&&!i&&Nn(h.y1,a),p?(0,q.jsx)(q.Fragment,{children:p({path:h})}):(0,q.jsx)(`path`,{ref:f,className:(0,In.default)(`visx-area-closed`,u),d:h(c)||``,...m})}function Vn(e){return e===!1?{left:!1,right:!1,any:!1}:e===`left`?{left:!0,right:!1,any:!0}:e===`right`?{left:!1,right:!0,any:!0}:{left:!0,right:!0,any:!0}}function Hn(e){return[{offset:`0%`,opacity:+!e.left},{offset:`15%`,opacity:1},{offset:`85%`,opacity:1},{offset:`100%`,opacity:+!e.right}]}function Un(e){return{gradientUnits:`userSpaceOnUse`,x1:0,x2:e,y1:0,y2:0}}function Wn({gradientId:e,strokeGradientId:t,edgeMaskId:n,edgeGradientId:r,fill:i,fillOpacity:a,gradientToOpacity:o,gradientSpan:s=1,resolvedStroke:c,isPatternFill:l,fadeEdges:u,innerWidth:d,innerHeight:f}){let p=Vn(u),m=p.any?Hn(p):null,h=p.any&&!l?Hn(p):null,g=Math.min(1,Math.max(.01,s)),_=`${g*100}%`;return(0,q.jsxs)(`defs`,{children:[l?null:(0,q.jsxs)(`linearGradient`,{id:e,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:i,stopOpacity:a}}),(0,q.jsx)(`stop`,{offset:_,style:{stopColor:i,stopOpacity:o}}),g<1?(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:i,stopOpacity:o}}):null]}),m?(0,q.jsx)(`linearGradient`,{id:t,...Un(d),children:m.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:c,stopOpacity:e.opacity}},e.offset))}):null,h?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`linearGradient`,{id:r,...Un(d),children:h.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:`white`,stopOpacity:e.opacity}},e.offset))}),(0,q.jsx)(`mask`,{id:n,children:(0,q.jsx)(`rect`,{fill:`url(#${r})`,height:f,width:d,x:`0`,y:`0`})})]}):null]})}function Gn(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Kn(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function qn(e){let t,n,r;e.length===2?(t=e===Gn||e===Kn?e:Jn,n=e,r=e):(t=Gn,n=(t,n)=>Gn(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Jn(){return 0}function Yn(e){return e===null?NaN:+e}var Xn=qn(Gn),Zn=Xn.right;Xn.left,qn(Yn).center;function Qn(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var $n=Math.sqrt(50),er=Math.sqrt(10),tr=Math.sqrt(2);function nr(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=$n?10:a>=er?5:a>=tr?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?nr(e,t,n*2):[s,c,l]}function rr(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?nr(t,e,n):nr(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o;else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function ir(e,t,n){return t=+t,e=+e,n=+n,nr(e,t,n)[2]}function ar(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?ir(t,e,n):ir(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function or(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function sr(e){return function(){return e}}function cr(e){return+e}var lr=[0,1];function ur(e){return e}function dr(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:sr(isNaN(t)?NaN:.5)}function fr(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function pr(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=dr(i,r),a=n(o,a)):(r=dr(r,i),a=n(a,o)),function(e){return a(r(e))}}function mr(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=dr(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Zn(e,t,1,r)-1;return a[n](i[n](t))}}function hr(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function gr(){var e=lr,t=lr,n=ae,r,i,a,o=ur,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==ur&&(o=fr(e[0],e[n-1])),s=n>2?mr:pr,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),ie))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,cr),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=jt,u()},d.clamp=function(e){return arguments.length?(o=e?!0:ur,u()):o!==ur},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function _r(){return gr()(ur,ur)}function vr(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function yr(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function br(e){return e=yr(Math.abs(e)),e?e[1]:NaN}function xr(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Sr(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Cr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function wr(e){if(!(t=Cr.exec(e)))throw Error(`invalid format: `+e);var t;return new Tr({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}wr.prototype=Tr.prototype;function Tr(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Tr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Er(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Dr;function Or(e,t){var n=yr(e,t);if(!n)return Dr=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Dr=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+yr(e,Math.max(0,t+a-1))[0]}function kr(e,t){var n=yr(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Ar={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:vr,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>kr(e*100,t),r:kr,s:Or,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function jr(e){return e}var Mr=Array.prototype.map,Nr=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Pr(e){var t=e.grouping===void 0||e.thousands===void 0?jr:xr(Mr.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?jr:Sr(Mr.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=wr(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Ar[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Ar[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Er(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Dr!==void 0?Nr[8+Dr/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(br(t)/3)))*3,r=10**-n,i=l((e=wr(e),e.type=`f`,e),{suffix:Nr[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Fr,Ir,Lr;Rr({thousands:`,`,grouping:[3],currency:[`$`,``]});function Rr(e){return Fr=Pr(e),Ir=Fr.format,Lr=Fr.formatPrefix,Fr}function zr(e){return Math.max(0,-br(Math.abs(e)))}function Br(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(br(t)/3)))*3-br(Math.abs(e)))}function Vr(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,br(t)-br(e))+1}function Hr(e,t,n,r){var i=ar(e,t,n),a;switch(r=wr(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Br(i,o))&&(r.precision=a),Lr(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Vr(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=zr(i))&&(r.precision=a-(r.type===`%`)*2)}return Ir(r)}function Ur(e){var t=e.domain;return e.ticks=function(e){var n=t();return rr(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Hr(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=ir(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Wr(){var e=_r();return e.copy=function(){return hr(e,Wr())},or.apply(e,arguments),Ur(e)}function Gr(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var Kr=new Date,qr=new Date;function Y(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Y(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(Kr.setTime(+t),qr.setTime(+r),e(Kr),e(qr),Math.floor(n(Kr,qr))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Jr=Y(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Jr.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Y(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Jr),Jr.range;var Yr=1e3,Xr=Yr*60,Zr=Xr*60,Qr=Zr*24,$r=Qr*7,ei=Qr*30,ti=Qr*365,ni=Y(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Yr)},(e,t)=>(t-e)/Yr,e=>e.getUTCSeconds());ni.range;var ri=Y(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Yr)},(e,t)=>{e.setTime(+e+t*Xr)},(e,t)=>(t-e)/Xr,e=>e.getMinutes());ri.range;var ii=Y(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Xr)},(e,t)=>(t-e)/Xr,e=>e.getUTCMinutes());ii.range;var ai=Y(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Yr-e.getMinutes()*Xr)},(e,t)=>{e.setTime(+e+t*Zr)},(e,t)=>(t-e)/Zr,e=>e.getHours());ai.range;var oi=Y(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zr)},(e,t)=>(t-e)/Zr,e=>e.getUTCHours());oi.range;var si=Y(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xr)/Qr,e=>e.getDate()-1);si.range;var ci=Y(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Qr,e=>e.getUTCDate()-1);ci.range;var li=Y(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Qr,e=>Math.floor(e/Qr));li.range;function ui(e){return Y(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xr)/$r)}var di=ui(0),fi=ui(1),pi=ui(2),mi=ui(3),hi=ui(4),gi=ui(5),_i=ui(6);di.range,fi.range,pi.range,mi.range,hi.range,gi.range,_i.range;function vi(e){return Y(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/$r)}var yi=vi(0),bi=vi(1),xi=vi(2),Si=vi(3),Ci=vi(4),wi=vi(5),Ti=vi(6);yi.range,bi.range,xi.range,Si.range,Ci.range,wi.range,Ti.range;var Ei=Y(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Ei.range;var Di=Y(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Di.range;var Oi=Y(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Y(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Oi.range;var ki=Y(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ki.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Y(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),ki.range;function Ai(e,t,n,r,i,a){let o=[[ni,1,Yr],[ni,5,5*Yr],[ni,15,15*Yr],[ni,30,30*Yr],[a,1,Xr],[a,5,5*Xr],[a,15,15*Xr],[a,30,30*Xr],[i,1,Zr],[i,3,3*Zr],[i,6,6*Zr],[i,12,12*Zr],[r,1,Qr],[r,2,2*Qr],[n,1,$r],[t,1,ei],[t,3,3*ei],[e,1,ti]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=qn(([,,e])=>e).right(o,i);if(a===o.length)return e.every(ar(t/ti,n/ti,r));if(a===0)return Jr.every(Math.max(ar(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[ji,Mi]=Ai(ki,Di,yi,li,oi,ii),[Ni,Pi]=Ai(Oi,Ei,di,si,ai,ri);function Fi(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Ii(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Li(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Ri(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Ui(i),u=Wi(i),d=Ui(a),f=Wi(a),p=Ui(o),m=Wi(o),h=Ui(s),g=Wi(s),_=Ui(c),v=Wi(c),y={a:N,A:P,b:F,B:I,c:null,d:da,e:da,f:ga,g:Da,G:ka,H:fa,I:pa,j:ma,L:ha,m:_a,M:va,p:L,q:R,Q:Qa,s:$a,S:ya,u:ba,U:xa,V:Ca,w:wa,W:Ta,x:null,X:null,y:Ea,Y:Oa,Z:Aa,"%":Za},b={a:z,A:ee,b:te,B,c:null,d:ja,e:ja,f:Ia,g:qa,G:Ya,H:Ma,I:Na,j:Pa,L:Fa,m:La,M:Ra,p:V,q:H,Q:Qa,s:$a,S:za,u:Ba,U:Va,V:Ua,w:Wa,W:Ga,x:null,X:null,y:Ka,Y:Ja,Z:Xa,"%":Za},x={a:E,A:D,b:O,B:k,c:A,d:ta,e:ta,f:sa,g:Zi,G:Xi,H:ra,I:ra,j:na,L:oa,m:ea,M:ia,p:T,q:$i,Q:la,s:ua,S:aa,u:Ki,U:qi,V:Ji,w:Gi,W:Yi,x:j,X:M,y:Zi,Y:Xi,Z:Qi,"%":ca};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=zi[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=Li(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=Ii(Li(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?bi.ceil(a):bi(a),a=ci.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Fi(Li(r.y,0,1)),o=a.getDay(),a=o>4||o===0?fi.ceil(a):fi(a),a=si.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?Ii(Li(r.y,0,1)).getUTCDay():Fi(Li(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,Ii(r)):Fi(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in zi?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function ee(e){return a[e.getUTCDay()]}function te(e){return c[e.getUTCMonth()]}function B(e){return s[e.getUTCMonth()]}function V(e){return i[+(e.getUTCHours()>=12)]}function H(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var zi={"-":``,_:` `,0:`0`},X=/^\s*\d+/,Bi=/^%/,Vi=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Hi(e){return e.replace(Vi,`\\$&`)}function Ui(e){return RegExp(`^(?:`+e.map(Hi).join(`|`)+`)`,`i`)}function Wi(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Gi(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Ki(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function qi(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Ji(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Yi(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Xi(e,t,n){var r=X.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Zi(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Qi(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function $i(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function ea(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function ta(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function na(e,t,n){var r=X.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function ra(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function ia(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function aa(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function oa(e,t,n){var r=X.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function sa(e,t,n){var r=X.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ca(e,t,n){var r=Bi.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function la(e,t,n){var r=X.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function ua(e,t,n){var r=X.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function da(e,t){return Z(e.getDate(),t,2)}function fa(e,t){return Z(e.getHours(),t,2)}function pa(e,t){return Z(e.getHours()%12||12,t,2)}function ma(e,t){return Z(1+si.count(Oi(e),e),t,3)}function ha(e,t){return Z(e.getMilliseconds(),t,3)}function ga(e,t){return ha(e,t)+`000`}function _a(e,t){return Z(e.getMonth()+1,t,2)}function va(e,t){return Z(e.getMinutes(),t,2)}function ya(e,t){return Z(e.getSeconds(),t,2)}function ba(e){var t=e.getDay();return t===0?7:t}function xa(e,t){return Z(di.count(Oi(e)-1,e),t,2)}function Sa(e){var t=e.getDay();return t>=4||t===0?hi(e):hi.ceil(e)}function Ca(e,t){return e=Sa(e),Z(hi.count(Oi(e),e)+(Oi(e).getDay()===4),t,2)}function wa(e){return e.getDay()}function Ta(e,t){return Z(fi.count(Oi(e)-1,e),t,2)}function Ea(e,t){return Z(e.getFullYear()%100,t,2)}function Da(e,t){return e=Sa(e),Z(e.getFullYear()%100,t,2)}function Oa(e,t){return Z(e.getFullYear()%1e4,t,4)}function ka(e,t){var n=e.getDay();return e=n>=4||n===0?hi(e):hi.ceil(e),Z(e.getFullYear()%1e4,t,4)}function Aa(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function ja(e,t){return Z(e.getUTCDate(),t,2)}function Ma(e,t){return Z(e.getUTCHours(),t,2)}function Na(e,t){return Z(e.getUTCHours()%12||12,t,2)}function Pa(e,t){return Z(1+ci.count(ki(e),e),t,3)}function Fa(e,t){return Z(e.getUTCMilliseconds(),t,3)}function Ia(e,t){return Fa(e,t)+`000`}function La(e,t){return Z(e.getUTCMonth()+1,t,2)}function Ra(e,t){return Z(e.getUTCMinutes(),t,2)}function za(e,t){return Z(e.getUTCSeconds(),t,2)}function Ba(e){var t=e.getUTCDay();return t===0?7:t}function Va(e,t){return Z(yi.count(ki(e)-1,e),t,2)}function Ha(e){var t=e.getUTCDay();return t>=4||t===0?Ci(e):Ci.ceil(e)}function Ua(e,t){return e=Ha(e),Z(Ci.count(ki(e),e)+(ki(e).getUTCDay()===4),t,2)}function Wa(e){return e.getUTCDay()}function Ga(e,t){return Z(bi.count(ki(e)-1,e),t,2)}function Ka(e,t){return Z(e.getUTCFullYear()%100,t,2)}function qa(e,t){return e=Ha(e),Z(e.getUTCFullYear()%100,t,2)}function Ja(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function Ya(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Ci(e):Ci.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function Xa(){return`+0000`}function Za(){return`%`}function Qa(e){return+e}function $a(e){return Math.floor(e/1e3)}var eo,to;no({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function no(e){return eo=Ri(e),to=eo.format,eo.parse,eo.utcFormat,eo.utcParse,eo}function ro(e){return new Date(e)}function io(e){return e instanceof Date?+e:+new Date(+e)}function ao(e,t,n,r,i,a,o,s,c,l){var u=_r(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,io)):f().map(ro)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(Gr(n,e)):u},u.copy=function(){return hr(u,ao(e,t,n,r,i,a,o,s,c,l))},u}function oo(){return or.apply(ao(Ni,Pi,Oi,Ei,di,si,ai,ri,ni,to).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function so(e,t){t.domain&&(`nice`in e||`quantiles`in e||`padding`in e,e.domain(t.domain))}function co(e,t){t.range&&(`padding`in e,e.range(t.range))}function lo(e,t){`align`in e&&`align`in t&&t.align!==void 0&&e.align(t.align)}function uo(e,t){`base`in e&&`base`in t&&t.base!==void 0&&e.base(t.base)}function fo(e,t){`clamp`in e&&`clamp`in t&&t.clamp!==void 0&&e.clamp(t.clamp)}function po(e,t){`constant`in e&&`constant`in t&&t.constant!==void 0&&e.constant(t.constant)}function mo(e,t){`exponent`in e&&`exponent`in t&&t.exponent!==void 0&&e.exponent(t.exponent)}var ho={lab:Ft,hcl:Lt,"hcl-long":Rt,hsl:Nt,"hsl-long":Pt,cubehelix:Bt,"cubehelix-long":Vt,rgb:ne};function go(e){switch(e){case`lab`:case`hcl`:case`hcl-long`:case`hsl`:case`hsl-long`:case`cubehelix`:case`cubehelix-long`:case`rgb`:return ho[e]}let{type:t,gamma:n}=e,r=ho[t];return n===void 0?r:r.gamma(n)}function _o(e,t){if(`interpolate`in t&&`interpolate`in e&&t.interpolate!==void 0){let n=go(t.interpolate);e.interpolate(n)}}var vo=new Date(Date.UTC(2020,1,2,3,4,5)),yo=`%Y-%m-%d %H:%M`;function bo(e){return e.tickFormat(1,yo)(vo)===`2020-02-02 03:04`}var xo={day:si,hour:ai,minute:ri,month:Ei,second:ni,week:di,year:Oi},So={day:ci,hour:oi,minute:ii,month:Di,second:ni,week:yi,year:ki};function Co(e,t){if(`nice`in t&&t.nice!==void 0&&`nice`in e){let{nice:n}=t;if(typeof n==`boolean`)n&&e.nice();else if(typeof n==`number`)e.nice(n);else{let t=e,r=bo(t);if(typeof n==`string`)t.nice(r?So[n]:xo[n]);else{let{interval:e,step:i}=n,a=(r?So[e]:xo[e]).every(i);a!=null&&t.nice(a)}}}}function wo(e,t){`padding`in e&&`padding`in t&&t.padding!==void 0&&e.padding(t.padding),`paddingInner`in e&&`paddingInner`in t&&t.paddingInner!==void 0&&e.paddingInner(t.paddingInner),`paddingOuter`in e&&`paddingOuter`in t&&t.paddingOuter!==void 0&&e.paddingOuter(t.paddingOuter)}function To(e,t){if(t.reverse){let t=e.range().slice().reverse();`padding`in e,e.range(t)}}function Eo(e,t){`round`in t&&t.round!==void 0&&(t.round&&`interpolate`in t&&t.interpolate!==void 0?console.warn(`[visx/scale/applyRound] ignoring round: scale config contains round and interpolate. only applying interpolate. config:`,t):`round`in e?e.round(t.round):`interpolate`in e&&t.round&&e.interpolate(jt))}function Do(e,t){`unknown`in e&&`unknown`in t&&t.unknown!==void 0&&e.unknown(t.unknown)}function Oo(e,t){if(`zero`in t&&t.zero===!0){let[t,n]=e.domain(),r=n<t,[i,a]=r?[n,t]:[t,n],o=[Math.min(0,i),Math.max(0,a)];e.domain(r?o.reverse():o)}}var ko=[`domain`,`nice`,`zero`,`interpolate`,`round`,`range`,`reverse`,`align`,`base`,`clamp`,`constant`,`exponent`,`padding`,`unknown`],Ao={domain:so,nice:Co,zero:Oo,interpolate:_o,round:Eo,align:lo,base:uo,clamp:fo,constant:po,exponent:mo,padding:wo,range:co,reverse:To,unknown:Do};function jo(){let e=new Set([...arguments]),t=ko.filter(t=>e.has(t));return function(e,n){return n!==void 0&&t.forEach(t=>{Ao[t](e,n)}),e}}var Mo=jo(`domain`,`range`,`reverse`,`clamp`,`interpolate`,`nice`,`round`,`zero`);function No(e){return Mo(Wr(),e)}var Po=jo(`domain`,`range`,`reverse`,`clamp`,`interpolate`,`nice`,`round`);function Fo(e){return Po(oo(),e)}function Io(e){if((typeof e==`function`||typeof e==`object`&&e)&&`valueOf`in e){let t=e.valueOf();if(typeof t==`number`)return t}return e}function Lo(e,t){let n=e;return`ticks`in n?n.ticks(t):n.domain().filter((e,n,r)=>t==null||r.length<=t||n%Math.round((r.length-1)/t)===0)}var Ro=`left`;function zo(e){return e==null||e===``?Ro:String(e)}function Bo(e){let t=new Map;for(let n of e){let e=zo(n.yAxisId),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function Vo(e,t){return e[Ro]||(Object.values(e)[0]??t)}function Ho({lines:e,innerHeight:t,domainsByAxis:n}){let r=Bo(e),i={};for(let[e]of r){let r=n[e]??n.left??[0,100];i[e]=No({range:[t,0],domain:r})}return i.left||(i[Ro]=No({range:[t,0],domain:n.left??[0,100]})),i}var Q={background:`var(--chart-background)`,foreground:`var(--chart-foreground)`,foregroundMuted:`var(--chart-foreground-muted)`,label:`var(--chart-label)`,linePrimary:`var(--chart-line-primary)`,lineSecondary:`var(--chart-line-secondary)`,crosshair:`var(--chart-crosshair)`,grid:`var(--chart-grid)`,indicatorColor:`var(--chart-indicator-color)`,indicatorSecondaryColor:`var(--chart-indicator-secondary-color)`,markerBackground:`var(--chart-marker-background)`,markerBorder:`var(--chart-marker-border)`,markerForeground:`var(--chart-marker-foreground)`,badgeBackground:`var(--chart-marker-badge-background)`,badgeForeground:`var(--chart-marker-badge-foreground)`,segmentBackground:`var(--chart-segment-background)`,segmentLine:`var(--chart-segment-line)`,brushBorder:`var(--chart-brush-border)`,tooltipBackground:`var(--chart-tooltip-background)`},Uo=[`var(--chart-1)`,`var(--chart-2)`,`var(--chart-3)`,`var(--chart-4)`,`var(--chart-5)`],Wo=(0,K.createContext)(null),Go=(0,K.createContext)(null);function Ko({children:e,value:t}){let n=(0,K.useMemo)(()=>({data:t.data,renderData:t.renderData,xScale:t.xScale,yScale:t.yScale,yScales:t.yScales,width:t.width,height:t.height,innerWidth:t.innerWidth,innerHeight:t.innerHeight,margin:t.margin,columnWidth:t.columnWidth,containerRef:t.containerRef,lines:t.lines,referenceAreas:t.referenceAreas,chartPhase:t.chartPhase,chartStatus:t.chartStatus,loadingLabel:t.loadingLabel,yDomainTweenDuration:t.yDomainTweenDuration,yDomainSkeletonByAxis:t.yDomainSkeletonByAxis,yDomainTargetByAxis:t.yDomainTargetByAxis,isLoaded:t.isLoaded,animationDuration:t.animationDuration,animationEasing:t.animationEasing,enterTransition:t.enterTransition,revealEpoch:t.revealEpoch,notifyLoadingPulseComplete:t.notifyLoadingPulseComplete,xAccessor:t.xAccessor,dateLabels:t.dateLabels,xDomain:t.xDomain,xDomainSlotCount:t.xDomainSlotCount,barScale:t.barScale,bandWidth:t.bandWidth,barXAccessor:t.barXAccessor,orientation:t.orientation,stacked:t.stacked,stackOffsets:t.stackOffsets,composedBarDataKeys:t.composedBarDataKeys,composedBarSize:t.composedBarSize,composedMaxBarSize:t.composedMaxBarSize,composedBarGap:t.composedBarGap,composedStacked:t.composedStacked,composedStackOffsets:t.composedStackOffsets,composedStackGap:t.composedStackGap}),[t.data,t.renderData,t.xScale,t.yScale,t.yScales,t.width,t.height,t.innerWidth,t.innerHeight,t.margin,t.columnWidth,t.containerRef,t.lines,t.referenceAreas,t.chartPhase,t.chartStatus,t.loadingLabel,t.yDomainTweenDuration,t.yDomainSkeletonByAxis,t.yDomainTargetByAxis,t.isLoaded,t.animationDuration,t.animationEasing,t.enterTransition,t.revealEpoch,t.notifyLoadingPulseComplete,t.xAccessor,t.dateLabels,t.xDomain,t.xDomainSlotCount,t.barScale,t.bandWidth,t.barXAccessor,t.orientation,t.stacked,t.stackOffsets,t.composedBarDataKeys,t.composedBarSize,t.composedMaxBarSize,t.composedBarGap,t.composedStacked,t.composedStackOffsets,t.composedStackGap]),r=(0,K.useMemo)(()=>({tooltipData:t.tooltipData,setTooltipData:t.setTooltipData,selection:t.selection,clearSelection:t.clearSelection,hoveredBarIndex:t.hoveredBarIndex,setHoveredBarIndex:t.setHoveredBarIndex,hoveredCandleIndex:t.hoveredCandleIndex,setHoveredCandleIndex:t.setHoveredCandleIndex}),[t.tooltipData,t.setTooltipData,t.selection,t.clearSelection,t.hoveredBarIndex,t.setHoveredBarIndex,t.hoveredCandleIndex,t.setHoveredCandleIndex]);return(0,q.jsx)(Wo.Provider,{value:n,children:(0,q.jsx)(Go.Provider,{value:r,children:e})})}function qo(){let e=(0,K.useContext)(Wo);if(!e)throw Error(`useChartStable must be used within a ChartProvider. Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.`);return e}function Jo(e){let{yScales:t,yScale:n}=qo();return t[e==null||e===``?`left`:String(e)]??n}function Yo(){let e=(0,K.useContext)(Go);if(!e)throw Error(`useChartHover must be used within a ChartProvider. Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.`);return e}function Xo(){let e=qo(),t=Yo();return{...e,...t}}var Zo=2.2,Qo=.45,$o=[.85,0,.15,1],es=10;function ts(e){switch(e){case`loading`:return`loop`;case`exiting`:return`exit`;case`revealingLoading`:return`enter`;default:return null}}function ns(e,t,n,r){let i=_e(0),a=e+20,o=e+es,s=ve(i,e=>e<=.5?e/.5*a:(1-(e-.5)/.5)*a),c=ve(i,e=>{if(e<=.5)return-10;let t=(e-.5)/.5;return o-(1-t)*a});return(0,K.useEffect)(()=>{if(e<=0)return;let n=Zo/2,a=!1,o,s=()=>{a||r?.()},c=e=>{let t=n*((1-e)/.5);o=me(i,1,{duration:Math.max(t,.01),ease:[...$o],onComplete:s})};if(t===`loop`)return i.set(0),o=me(i,1,{duration:Zo,ease:[...$o],onComplete:s}),()=>{a=!0,o?.stop()};if(t===`exit`){let e=i.get();if(e<.5){let t=n*((.5-e)/.5);o=me(i,.5,{duration:Math.max(t,.01),ease:[...$o],onComplete:()=>{a||c(.5)}})}else c(e);return()=>{a=!0,o?.stop()}}if(t===`enter`)return i.set(0),o=me(i,.5,{duration:n,ease:[...$o],onComplete:s}),()=>{a=!0,o?.stop()}},[e,n,t,r,i]),{clipX:c,clipWidth:s}}function rs({pathD:e,mode:t=`loop`,loopEpoch:n=0,stroke:r=Q.foreground,strokeOpacity:i=.5,strokeWidth:a=2.5,onCycleComplete:o}){let{innerWidth:s,innerHeight:c}=qo(),l=(0,K.useId)(),u=`line-loading-clip-${l}`,d=`line-loading-gradient-${l}`,f=Hn(Vn(!0)),p=c+20,{clipX:m,clipWidth:h}=ns(s,t,n,o);return s<=0?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`defs`,{children:[(0,q.jsx)(`clipPath`,{id:u,children:(0,q.jsx)(G.rect,{height:p,style:{width:h,x:m},y:-10})}),(0,q.jsx)(`linearGradient`,{id:d,...Un(s),children:f.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,stopColor:r,stopOpacity:e.opacity},e.offset))})]}),(0,q.jsx)(`path`,{clipPath:`url(#${u})`,d:e,fill:`none`,opacity:i,stroke:`url(#${d})`,strokeLinecap:`round`,strokeWidth:a})]})}rs.displayName=`LineLoadingPulseStroke`;var is=2,as=-1,os=2,ss=25,cs=20,ls=80,us=14,ds=.55,fs=.18,ps=.02;function ms(e){let t=Math.sin(e)*43758.5453;return t-Math.floor(t)}function hs(e,t=0,n=cs,r=ls){let i=r-n;return Array.from({length:e},(e,r)=>n+Math.floor(ms((r+1)*12.9898+t)*i))}function gs(e=17,t=.05,n=.9){return Array.from({length:e},(r,i)=>{let a=i/(e-1),o=t+Math.sin(a*Math.PI)**2*(n-t);return{offset:`${(a*100).toFixed(0)}%`,opacity:Number(o.toFixed(3))}})}function _s({chartId:e,width:t,height:n,durationSeconds:r,onSweepComplete:i}){let a=(0,K.useMemo)(()=>gs(),[]),o=(0,K.useRef)(as),s=(0,K.useCallback)(e=>{let t=typeof e.x==`number`?e.x:as;t>=1&&o.current<1&&i(),o.current=t},[i]);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`linearGradient`,{id:`${e}-grad`,x1:`0`,x2:`1`,y1:`0`,y2:`0`,children:a.map(({offset:e,opacity:t})=>(0,q.jsx)(`stop`,{offset:e,stopColor:`white`,stopOpacity:t},e))}),(0,q.jsx)(`pattern`,{height:`1`,id:`${e}-pattern`,patternContentUnits:`objectBoundingBox`,patternTransform:`rotate(${ss})`,patternUnits:`objectBoundingBox`,width:3,x:`0`,y:`0`,children:(0,q.jsx)(G.rect,{animate:{x:os},fill:`url(#${e}-grad)`,height:`1`,initial:{x:as},onUpdate:s,transition:{duration:r,ease:`linear`,repeat:1/0,repeatType:`loop`},width:`1`,y:`0`})}),(0,q.jsx)(`mask`,{id:`${e}-mask`,maskUnits:`userSpaceOnUse`,children:(0,q.jsx)(`rect`,{fill:`url(#${e}-pattern)`,height:n,width:t})})]})}function vs({curve:e,withArea:t=!1,mode:n=`loop`,onTransitionComplete:r,stroke:i=Q.foreground,strokeOpacity:a=ds,strokeWidth:o=2,pointCount:s=us,durationSeconds:c=is}){let{innerWidth:l,innerHeight:u}=qo(),d=fe(),f=`line-sweep-${(0,K.useId)().replace(/[^a-zA-Z0-9_-]/g,``)}`,p=n===`loop`,[m,h]=(0,K.useState)(0),g=(0,K.useCallback)(()=>{p&&h(e=>e+1)},[p]),_=(0,K.useMemo)(()=>hs(s,m),[s,m]);if((0,K.useEffect)(()=>{d&&!p&&r?.()},[d,p,r]),l<=0||u<=0||_.length<2)return null;let v=No({domain:[0,_.length-1],range:[0,l]}),y=No({domain:[0,100],range:[u,0]}),b=_.map((e,t)=>({index:t,value:e})),x=e=>v(e.index),S=e=>y(e.value),C=(0,q.jsxs)(q.Fragment,{children:[t?(0,q.jsx)(Bn,{curve:e,data:b,fill:`url(#${f}-area)`,x,y:S,yScale:y}):null,(0,q.jsx)(zn,{curve:e,data:b,fill:`none`,stroke:i,strokeLinecap:`round`,strokeOpacity:a,strokeWidth:o,x,y:S})]}),w=t?(0,q.jsxs)(`linearGradient`,{id:`${f}-area`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,q.jsx)(`stop`,{offset:`0%`,stopColor:i,stopOpacity:fs}),(0,q.jsx)(`stop`,{offset:`100%`,stopColor:i,stopOpacity:ps})]}):null;if(d)return(0,q.jsxs)(q.Fragment,{children:[w?(0,q.jsx)(`defs`,{children:w}):null,C]});let T=`url(#${f}-mask)`,E=(0,q.jsxs)(`defs`,{children:[w,(0,q.jsx)(_s,{chartId:f,durationSeconds:c,height:u,onSweepComplete:g,width:l})]});return p?(0,q.jsxs)(q.Fragment,{children:[E,(0,q.jsx)(`g`,{mask:T,children:C})]}):(0,q.jsxs)(q.Fragment,{children:[E,(0,q.jsx)(G.g,{animate:{opacity:n===`exit`?0:1},initial:{opacity:+(n===`exit`)},mask:T,onAnimationComplete:r,transition:{duration:Qo,ease:[...$o]},children:C})]})}vs.displayName=`LineLoadingSweep`;var ys={pathD:null,pathLength:0};function bs(e,t){let[n,r]=(0,K.useState)(ys);return(0,K.useEffect)(()=>{let t=e.current;if(!t)return;let n=t.getAttribute(`d`),i=n?t.getTotalLength():0;r(e=>e.pathD===n&&e.pathLength===i?e:{pathD:n,pathLength:i})},t),n}function xs(e,t){return e!=null&&e>=0&&e<t-1}function Ss(e,t,n,r){let i=e[t];return i?n(r(i))??0:0}function Cs({pathD:e,pathLength:t,dashStartLength:n,dashStartX:r,innerWidth:i,innerHeight:a,stroke:o,strokeWidth:s,dashArray:c}){let l=(0,K.useId)().replace(/:/g,``);if(!e||t<=0||n>=t)return null;let u=s*2,d=Math.max(0,i-r+u);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`clipPath`,{id:l,children:(0,q.jsx)(`rect`,{height:a+u,width:d,x:r-s,y:-s})})}),(0,q.jsx)(`path`,{d:e,fill:`none`,stroke:o,strokeDasharray:`${n} ${Math.max(1,t-n)}`,strokeLinecap:`round`,strokeWidth:s}),(0,q.jsx)(`path`,{clipPath:`url(#${l})`,d:e,fill:`none`,stroke:o,strokeDasharray:c,strokeLinecap:`round`,strokeWidth:s})]})}function ws({dashFromIndex:e,dashArray:t,data:n,pathD:r,pathLength:i,innerWidth:a,innerHeight:o,stroke:s,strokeWidth:c,xScale:l,xAccessor:u}){let d=xs(e,n.length),f=(0,K.useMemo)(()=>!d||e==null?0:Ss(n,e,l,u),[d,e,n,l,u]),p=(0,K.useMemo)(()=>!d||e==null||i<=0?0:e/Math.max(1,n.length-1)*i,[d,e,n.length,i]);return!d||e==null||i<=0?null:(0,q.jsx)(Cs,{dashArray:t,dashStartLength:p,dashStartX:f,innerHeight:o,innerWidth:a,pathD:r,pathLength:i,stroke:s,strokeWidth:c})}var Ts=(0,K.memo)(ws);function Es({pathRef:e,visible:t,stroke:n,strokeWidth:r,height:i,x:a,width:o}){let s=(0,K.useId)();return t&&e.current?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`clipPath`,{id:s,children:(0,q.jsx)(G.rect,{height:i,width:o,x:a,y:0})})}),(0,q.jsx)(G.path,{animate:{opacity:1},clipPath:`url(#${s})`,d:e.current.getAttribute(`d`)||``,exit:{opacity:0},fill:`none`,initial:{opacity:0},stroke:n,strokeLinecap:`round`,strokeWidth:r,transition:{duration:.4,ease:`easeInOut`}})]}):null}Es.displayName=`HighlightSegment`;var Ds={tooltipSpring:{stiffness:300,damping:30},tooltipBoxSpring:{stiffness:100,damping:20},highlightSpring:{stiffness:180,damping:28}},Os=(0,K.createContext)(null);function ks(){return(0,K.useContext)(Os)??Ds}var As=Ds.tooltipBoxSpring.damping;function js(e){if(e===0)return{animate:!1,springConfig:Ds.tooltipBoxSpring};let t=e??As,n=Ds.tooltipBoxSpring.stiffness;if(t<As){let e=(As-t)/As;n+=e*400}else if(t>As){let e=(t-As)/(100-As);n-=e*85}return{animate:!0,springConfig:{stiffness:Math.max(12,Math.round(n)),damping:t}}}var Ms={x:0,width:0,isActive:!1};function Ns(e,t,n,r,i){if(e.length===0)return Ms;if(i?.active)return{x:Math.min(i.startX,i.endX),width:Math.abs(i.endX-i.startX),isActive:!0};if(!r)return Ms;let a=r.index,o=Math.max(0,a-1),s=Math.min(e.length-1,a+1),c=e[o],l=e[s];if(!(c&&l))return Ms;let u=t(n(c))??0,d=t(n(l))??0;return{x:u,width:Math.max(0,d-u),isActive:!0}}function Ps({enabled:e=!0}={}){let{data:t,xScale:n,xAccessor:r}=qo(),{tooltipData:i,selection:a}=Yo(),{highlightSpring:o}=ks(),s=(0,K.useMemo)(()=>e?Ns(t,n,r,i,a):Ms,[e,t,n,r,i,a]),c=Qe(0,o),l=Qe(0,o),u=(0,K.useRef)(!1);return s.isActive&&!u.current?(c.jump(s.x),l.jump(s.width)):(c.set(s.x),l.set(s.width)),u.current=s.isActive,{xSpring:c,widthSpring:l,isActive:s.isActive}}function Fs({enabled:e,height:t,pathRef:n,stroke:r,strokeWidth:i}){let{isLoaded:a}=qo(),{xSpring:o,widthSpring:s,isActive:c}=Ps({enabled:e});return(0,q.jsx)(Es,{height:t,pathRef:n,stroke:r,strokeWidth:i,visible:e&&c&&a,width:s,x:o})}Fs.displayName=`SeriesHighlightLayer`;var Is=(0,K.createContext)(null);function Ls(){return(0,K.useContext)(Is)??{hoveredIndex:null,setHoveredIndex:()=>{}}}function Rs({enabled:e=!0,dimOpacity:t=.5,durationSec:n=.4,seriesIndex:r,children:i}){let{tooltipData:a,selection:o}=Yo(),{hoveredIndex:s}=Ls(),c=a!==null||o?.active===!0,l=e&&(c||s!==null&&r!==void 0&&s!==r)?t:1;return(0,q.jsx)(G.g,{animate:{opacity:l},initial:{opacity:1},transition:{duration:n,ease:`easeInOut`},children:i})}Rs.displayName=`SeriesHoverDim`;var zs=`cubic-bezier(0.85, 0, 0.15, 1)`,Bs=1100,Vs={type:`tween`,duration:Bs/1e3,ease:[.85,0,.15,1]};function Hs(e){return e?.type===`tween`?{...e,ease:e.ease??Vs.ease}:{type:`tween`,duration:typeof e?.duration==`number`?e.duration:Bs/1e3,ease:Vs.ease}}function Us({fill:e,stroke:t,strokeWidth:n,ringGap:r,outlineWidth:i,outlineColor:a,radius:o}){let s=t??e??`currentColor`,c=a??s,l=n>0?o+r+n:o,u=i>0?l+i/2:0;return(0,q.jsxs)(q.Fragment,{children:[i>0?(0,q.jsx)(`circle`,{cx:0,cy:0,fill:`none`,r:u,stroke:c,strokeWidth:i}):null,(0,q.jsx)(`circle`,{cx:0,cy:0,fill:e,r:o}),n>0?(0,q.jsx)(`circle`,{cx:0,cy:0,fill:`none`,r:o+r+n/2,stroke:s,strokeWidth:n}):null]})}var Ws=(0,K.memo)(function({cx:e,cy:t,scale:n=1,fill:r,stroke:i,strokeWidth:a=2,ringGap:o=2,outlineWidth:s=0,outlineColor:c,radius:l=5}){return(0,q.jsx)(`g`,{transform:`translate(${e}, ${t}) scale(${n})`,children:(0,q.jsx)(Us,{fill:r,outlineColor:c,outlineWidth:s,radius:l,ringGap:o,stroke:i,strokeWidth:a})})});function Gs({dataKey:e,index:t,cx:n,cy:r,enterBlur:i=2,revealDelay:a,revealEpoch:o,enterDuration:s,fill:c,stroke:l,strokeWidth:u=2,ringGap:d=2,outlineWidth:f=0,outlineColor:p,radius:m=5}){let h={hidden:{opacity:0,filter:`blur(${i}px)`,scale:1},visible:{opacity:1,filter:`blur(0px)`,scale:1,transition:{delay:a,duration:s,ease:Vs.ease}}};return(0,q.jsx)(`g`,{transform:`translate(${n}, ${r})`,children:(0,q.jsx)(G.g,{animate:`visible`,initial:`hidden`,variants:h,children:(0,q.jsx)(Us,{fill:c,outlineColor:p,outlineWidth:f,radius:m,ringGap:d,stroke:l,strokeWidth:u})},`${e}-${t}-${o}`)})}function Ks(e){let t=e.radius??5,n=e.strokeWidth??2,r=e.ringGap??2,i=e.outlineWidth??0,a=e.showActiveHighlight??!0,o=n>0?r+n:0,s=i>0?i:0,c=a?t*.35:0;return t+o+s+c+2}function qs({dataKey:e,fill:t,stroke:n,strokeWidth:r=2,ringGap:i=2,outlineWidth:a=0,outlineColor:o,radius:s=5,animate:c=!0,fadeOnHover:l=!0,inactiveOpacity:u=.5,inactiveBlur:d=2,enterBlur:f=2,showActiveHighlight:p=!0}){let{data:m,xScale:h,innerWidth:g,enterTransition:_,animationDuration:v,revealEpoch:y,isLoaded:b,xAccessor:x,lines:S}=qo(),C=(0,K.useMemo)(()=>{let t=S.findIndex(t=>t.dataKey===e);return t>=0?t:0},[S,e]),w=S[C],T=Jo(w?.yAxisId),E=Uo[C%Uo.length]??Uo[0],D=t??w?.stroke??E,O=n??D,k=(0,K.useMemo)(()=>Ks({radius:s,strokeWidth:r,ringGap:i,outlineWidth:a,showActiveHighlight:p}),[s,r,i,a,p]),A=Hs(_).duration??v/1e3,j=c&&!b,M=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?T(n)??0:null},[e,T]),N=(0,K.useMemo)(()=>m.flatMap((e,t)=>{let n=M(e);if(n===null)return[];let r=h(x(e))??0,i=Math.max(0,r-k);return[{index:t,cx:r,cy:n,revealDelay:g>0&&j?i/g*A:0}]}),[m,M,h,x,g,j,A,k]),P=(0,K.useMemo)(()=>({fill:D,stroke:O,strokeWidth:r,ringGap:i,outlineWidth:a,outlineColor:o,radius:s}),[D,O,r,i,a,o,s]);if(j)return(0,q.jsx)(`g`,{children:N.map(t=>(0,q.jsx)(Gs,{cx:t.cx,cy:t.cy,dataKey:e,enterBlur:f,enterDuration:.5,index:t.index,revealDelay:t.revealDelay,revealEpoch:y??0,...P},`${e}-${t.index}`))});let F=N.map(t=>(0,q.jsx)(Ws,{cx:t.cx,cy:t.cy,...P},`${e}-${t.index}`));return(0,q.jsxs)(`g`,{children:[(0,q.jsx)(Js,{enabled:l,inactiveBlur:d,inactiveOpacity:u,seriesIndex:C,children:F}),(0,q.jsx)(Ys,{activeScale:p?1.35:1,enabled:l,markerStyle:P,points:N})]})}qs.displayName=`SeriesMarkers`;function Js({enabled:e,inactiveOpacity:t,inactiveBlur:n,seriesIndex:r,children:i}){let{tooltipData:a}=Yo(),{hoveredIndex:o}=Ls(),s=e&&(a!==null||o!==null&&o!==r);return(0,q.jsx)(`g`,{opacity:s?t:1,style:{transition:`opacity 0.15s ease-in-out, filter 0.15s ease-in-out`,filter:s&&n>0?`blur(${n}px)`:`none`},children:i})}function Ys({enabled:e,points:t,markerStyle:n,activeScale:r}){let{tooltipData:i}=Yo();if(!e||i===null)return null;let a=t.find(e=>e.index===i.index);return a?(0,q.jsx)(Ws,{cx:a.cx,cy:a.cy,scale:r,...n}):null}function Xs(e,t,n,r){let i=ts(e),a=t===!1?null:n??(t===!0?`loop`:i),o=a!=null,s=e===`revealing`||e===`ready`||e===`exitingReady`,[c,l]=(0,K.useState)(0);return{handleLoadingPulseComplete:(0,K.useCallback)(()=>{if(a===`loop`){window.setTimeout(()=>{l(e=>e+1)},280);return}r?.()},[r,a]),pulseMode:a,pulseEpoch:c,showLoadingPulse:o,showSeriesContent:s}}function Zs({dataKey:e,yAxisId:t,fill:n=Q.linePrimary,fillOpacity:r=.4,stroke:i,strokeWidth:a=2,curve:o=On,animate:s=!0,showLine:c=!0,showHighlight:l=!0,gradientToOpacity:u=0,gradientSpan:d=1,fadeEdges:f=!1,showMarkers:p=!1,markers:m,dashFromIndex:h,dashArray:g=`6,4`,loading:_,loadingStroke:v=Q.foreground,loadingStrokeOpacity:y=.5,loadingPulseMode:b,loadingStyle:x=`pulse`}){let{data:S,renderData:C,xScale:w,innerHeight:T,innerWidth:E,xAccessor:D,lines:O,chartPhase:k,notifyLoadingPulseComplete:A}=qo(),j=Jo(t),{handleLoadingPulseComplete:M,pulseMode:N,pulseEpoch:P,showLoadingPulse:F,showSeriesContent:I}=Xs(k,_,b,A),L=(0,K.useMemo)(()=>{let t=O.findIndex(t=>t.dataKey===e);return t>=0?t:0},[O,e]),R=(0,K.useRef)(null),{pathLength:z,pathD:ee}=bs(R,[C,E,h,c,I,F]),te=(0,K.useId)(),B=`area-gradient-${e}-${te}`,V=`area-stroke-gradient-${e}-${te}`,H=`area-edge-mask-${e}-${te}`,U=`${H}-gradient`,ne=n.startsWith(`url(`),re=ne||r>0,ie=ne?n:`url(#${B})`,ae=i||(ne?Q.linePrimary:n),oe=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?j(n)??0:0},[e,j]),se=xs(h,S.length),ce=Vn(f),W=ce.any&&!ne,le=ae;!W&&ce.any&&(le=`url(#${V})`);let ue=l&&c&&!F&&I,de=I&&c,fe=`transparent`;de&&!se&&(fe=le);let G=(0,q.jsxs)(q.Fragment,{children:[I&&re?(0,q.jsx)(Bn,{curve:o,data:C,fill:ie,x:e=>w(D(e))??0,y:oe,yScale:j}):null,c&&(I||F)?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(zn,{curve:o,data:C,innerRef:R,stroke:fe,strokeLinecap:`round`,strokeWidth:a,x:e=>w(D(e))??0,y:oe}),de?(0,q.jsx)(Ts,{dashArray:g,dashFromIndex:h,data:S,innerHeight:T,innerWidth:E,pathD:ee,pathLength:z,stroke:le,strokeWidth:a,xAccessor:D,xScale:w}):null]}):null]}),pe=F&&E>0&&x===`sweep`,me=F&&E>0&&!pe;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Wn,{edgeGradientId:U,edgeMaskId:H,fadeEdges:f,fill:n,fillOpacity:r,gradientId:B,gradientSpan:d,gradientToOpacity:u,innerHeight:T,innerWidth:E,isPatternFill:ne,resolvedStroke:ae,strokeGradientId:V}),(0,q.jsx)(Rs,{dimOpacity:.6,enabled:l,seriesIndex:L,children:W?(0,q.jsx)(`g`,{mask:`url(#${H})`,children:G}):G}),(0,q.jsx)(Fs,{enabled:ue,height:T,pathRef:R,stroke:ae,strokeWidth:a}),p&&I?(0,q.jsx)(qs,{animate:s,dataKey:e,...m,fill:m?.fill??ae,stroke:m?.stroke??m?.fill??ae}):null,pe?(0,q.jsx)(vs,{curve:o,mode:N??`loop`,onTransitionComplete:M,stroke:v,strokeOpacity:y,strokeWidth:a,withArea:!0},`loading-sweep`):null,me&&ee?(0,q.jsx)(rs,{loopEpoch:P,mode:N??void 0,onCycleComplete:M,pathD:ee,stroke:v,strokeOpacity:y,strokeWidth:a},`loading-pulse`):null]})}Zs.displayName=`Area`;var Qs=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),$s=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),ec=t(((e,t)=>{var n=$s(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),tc=t(((e,t)=>{var n=ec();t.exports=function(){return n.Date.now()}})),nc=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),rc=t(((e,t)=>{var n=nc(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),ic=t(((e,t)=>{t.exports=ec().Symbol})),ac=t(((e,t)=>{var n=ic(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),oc=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),sc=t(((e,t)=>{var n=ic(),r=ac(),i=oc(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),cc=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),lc=t(((e,t)=>{var n=sc(),r=cc(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),uc=t(((e,t)=>{var n=rc(),r=Qs(),i=lc(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),dc=e(t(((e,t)=>{var n=Qs(),r=tc(),i=uc(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c}))()),fc=[],pc={width:0,height:0,top:0,left:0};function mc(){let{initialSize:e=pc,debounceTime:t=300,ignoreDimensions:n=fc,enableDebounceLeadingCall:r=!0,resizeObserverPolyfill:i}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=(0,K.useRef)(null),o=(0,K.useRef)(0),[s,c]=(0,K.useState)({...pc,...e}),l=(0,K.useMemo)(()=>{let e=Array.isArray(n)?n:[n];return(0,dc.default)(t=>{c(n=>Object.keys(n).filter(e=>n[e]!==t[e]).every(t=>e.includes(t))?n:t)},t,{leading:r})},[t,r,n]);return(0,K.useEffect)(()=>{let e=new(i||window.ResizeObserver)(e=>{e.forEach(e=>{let{left:t,top:n,width:r,height:i}=e?.contentRect??{};o.current=window.requestAnimationFrame(()=>{l({width:r,height:i,top:n,left:t})})})});return a.current&&e.observe(a.current),()=>{window.cancelAnimationFrame(o.current),e.disconnect(),l.cancel()}},[l,i]),{parentRef:a,resize:l,...s}}var hc={width:`100%`,height:`100%`};function gc(e){let{className:t,children:n,debounceTime:r,ignoreDimensions:i,initialSize:a,parentSizeStyles:o=hc,enableDebounceLeadingCall:s=!0,resizeObserverPolyfill:c,...l}=e,{parentRef:u,resize:d,...f}=mc({initialSize:a,debounceTime:r,ignoreDimensions:i,enableDebounceLeadingCall:s,resizeObserverPolyfill:c});return(0,q.jsx)(`div`,{style:o,ref:u,className:t,...l,children:n({...f,ref:u.current,resize:d})})}function _c(e,t,n,r,i){return e.map((e,a)=>{let o=t(e),s=e[i];return{x:n(o)??0,y:typeof s==`number`?r(s)??0:0,key:String(o.getTime?.()??a)}})}function vc(e,t,n){if(n>=1)return t;if(n<=0)return e.length>0?e:t;let r=new Map(e.map(e=>[e.key,e]));return t.map((i,a)=>{let o=r.get(i.key);if(o)return{key:i.key,x:o.x+(i.x-o.x)*n,y:o.y+(i.y-o.y)*n};let s=a>0?t[a-1]:void 0,c=s?r.get(s.key):void 0,l=a<t.length-1?t[a+1]:void 0,u=l?r.get(l.key):void 0,d=c??u??e[0]??i;return{key:i.key,x:d.x+(i.x-d.x)*n,y:d.y+(i.y-d.y)*n}})}function yc(e,t){return e.length===0?``:xn().x(e=>e.x).y(e=>e.y).curve(t)(e)??``}function bc({renderData:e,xAccessor:t,dataKey:n,innerWidth:r,xDomainMin:i,xDomainMax:a}){return`${r}|${i}|${a}|${e.map(e=>{let r=t(e),i=e[n];return`${r.getTime()}:${typeof i==`number`?i:``}`}).join(`,`)}`}function xc({renderData:e,xAccessor:t,xScale:n,yScale:r,dataKey:i,curve:a,chartPhase:o,durationMs:s,innerWidth:c,enabled:l}){let u=fe(),[d,f]=(0,K.useState)(null),p=(0,K.useRef)(null),m=(0,K.useRef)(!1),h=(0,K.useMemo)(()=>n.domain?.()??[new Date(0),new Date(0)],[n]),g=(0,K.useMemo)(()=>bc({renderData:e,xAccessor:t,dataKey:i,innerWidth:c,xDomainMin:h[0]?.getTime?.()??0,xDomainMax:h[1]?.getTime?.()??0}),[e,t,i,c,h]),_=(0,K.useMemo)(()=>_c(e,t,n,r,i),[e,t,n,r,i]),v=(0,K.useRef)(g);(0,K.useEffect)(()=>{m.current||(p.current=_)},[_]),(0,K.useEffect)(()=>{if(!(l&&!u&&o===`ready`&&s>0&&e.length>0)){m.current=!1,f(null),p.current=_,v.current=g;return}if(v.current===g)return;v.current=g;let a=p.current??_;if(a.length===0){p.current=_;return}m.current=!0;let c=a,d=me(0,1,{duration:s/1e3,ease:[...$o],onUpdate:a=>{let o=_c(e,t,n,r,i),s=vc(c,o,a);p.current=s,f(s)},onComplete:()=>{m.current=!1,p.current=_,f(null)}});return()=>{d.stop(),m.current=!1}},[g,o,s,l,u,e,t,n,r,i,_]);let y=d??_;return{pathD:(0,K.useMemo)(()=>yc(y,a),[y,a]),isPathAnimating:d!=null}}function Sc({animatedPathD:e,curve:t,getY:n,pathRef:r,renderData:i,strokeWidth:a,useDataTransitionPath:o,visibleStroke:s,xAccessor:c,xScale:l}){return o&&e?(0,q.jsx)(`path`,{d:e,fill:`none`,ref:r,stroke:s,strokeLinecap:`round`,strokeWidth:a}):(0,q.jsx)(zn,{curve:t,data:i,innerRef:r,stroke:s,strokeLinecap:`round`,strokeWidth:a,x:e=>l(c(e))??0,y:n})}function Cc({curve:e,handleLoadingPulseComplete:t,innerWidth:n,loadingStroke:r,loadingStrokeOpacity:i,loadingStyle:a,pathD:o,pulseEpoch:s,pulseMode:c,showLoadingPulse:l,strokeWidth:u}){let d=l&&n>0&&a===`sweep`;return(0,q.jsxs)(q.Fragment,{children:[d?(0,q.jsx)(vs,{curve:e,mode:c??`loop`,onTransitionComplete:t,stroke:r,strokeOpacity:i,strokeWidth:u},`loading-sweep`):null,l&&n>0&&!d&&o?(0,q.jsx)(rs,{loopEpoch:s,mode:c??void 0,onCycleComplete:t,pathD:o,stroke:r,strokeOpacity:i,strokeWidth:u},`loading-pulse`):null]})}function wc({dataKey:e,yAxisId:t,stroke:n=Q.linePrimary,strokeWidth:r=2.5,curve:i=jn,animate:a=!0,fadeEdges:o=!0,showHighlight:s=!0,showMarkers:c=!1,markers:l,dashFromIndex:u,dashArray:d=`6,4`,loading:f,loadingStroke:p=Q.foreground,loadingStrokeOpacity:m=.5,loadingPulseMode:h,onLoadingPulseCycleComplete:g,loadingStyle:_=`pulse`}){let{data:v,renderData:y,xScale:b,innerHeight:x,innerWidth:S,xAccessor:C,lines:w,chartPhase:T,notifyLoadingPulseComplete:E,yDomainTweenDuration:D}=qo(),O=Jo(t),k=a&&T===`ready`,{pathD:A}=xc({chartPhase:T,curve:i,dataKey:e,durationMs:D,enabled:k,innerWidth:S,renderData:y,xAccessor:C,xScale:b,yScale:O}),j=ts(T),M=f===!1?null:h??(f===!0?`loop`:j),N=M!=null,[P,F]=(0,K.useState)(0),I=s&&!N,L=(0,K.useCallback)(()=>{if(g?.(),M===`loop`){window.setTimeout(()=>{F(e=>e+1)},280);return}E?.()},[E,g,M]),R=(0,K.useMemo)(()=>{let t=w.findIndex(t=>t.dataKey===e);return t>=0?t:0},[w,e]),z=(0,K.useRef)(null),{pathLength:ee,pathD:te}=bs(z,[y,S,u,a,k?A:null]),B=`line-gradient-${e}-${(0,K.useId)()}`,V=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?O(n)??0:0},[e,O]),H=xs(u,v.length),U=Vn(o),ne=U.any?`url(#${B})`:n,re=U.any?Hn(U):null,ie=T===`revealing`||T===`ready`||T===`exitingReady`,ae=`transparent`;return ie&&!H&&(ae=ne),(0,q.jsxs)(q.Fragment,{children:[re?(0,q.jsx)(`defs`,{children:(0,q.jsx)(`linearGradient`,{id:B,...Un(S),children:re.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:n,stopOpacity:e.opacity}},e.offset))})}):null,(0,q.jsxs)(Rs,{dimOpacity:.3,enabled:I,seriesIndex:R,children:[(0,q.jsx)(Sc,{animatedPathD:A,curve:i,getY:V,pathRef:z,renderData:y,strokeWidth:r,useDataTransitionPath:k,visibleStroke:ae,xAccessor:C,xScale:b}),(0,q.jsx)(Ts,{dashArray:d,dashFromIndex:u,data:v,innerHeight:x,innerWidth:S,pathD:te,pathLength:ee,stroke:ne,strokeWidth:r,xAccessor:C,xScale:b})]}),c?(0,q.jsx)(qs,{animate:a,dataKey:e,...l,fill:l?.fill??n,stroke:l?.stroke??l?.fill??n}):null,(0,q.jsx)(Fs,{enabled:I,height:x,pathRef:z,stroke:n,strokeWidth:r}),(0,q.jsx)(Cc,{curve:i,handleLoadingPulseComplete:L,innerWidth:S,loadingStroke:p,loadingStrokeOpacity:m,loadingStyle:_,pathD:te,pulseEpoch:P,pulseMode:M,showLoadingPulse:N,strokeWidth:r})]})}wc.displayName=`Line`;function Tc(e,t,n=Vs){return{...e??n,delay:t}}function Ec(e){let{innerWidth:t,dataLength:n,columnWidth:r,seriesCount:i,composedBarSize:a,composedMaxBarSize:o,composedBarGap:s=4,stacked:c=!1}=e,l=s,u=c?1:Math.max(1,i),d=r;d<=0&&(d=n<2?t:t/(n-1));let f=a??Math.min(d*.88,o??1/0);if(o!=null&&(f=Math.min(f,o)),u>1){let e=d*.92;u*f+(u-1)*l>e&&e>0&&(f=Math.max(4,(e-(u-1)*l)/u))}return Math.max(2,f)}function Dc(e){let{barWidth:t,seriesCount:n,gap:r=4,stacked:i=!1}=e;if(i||n<=1)return Math.ceil(t/2);let a=n*t+(n-1)*r;return Math.ceil(a/2)}function Oc(e){let{stacked:t,composedStackOffsets:n,rowIndex:r,dataKey:i,value:a,yScale:o,innerHeight:s,xCenter:c,barWidth:l,seriesCount:u,gap:d,seriesIndex:f,stackGap:p,isLastSeries:m,radius:h}=e;if(t&&n){let e=n.get(r)?.get(i)??0,t=s-(o(a)??0),u=o(e)??s,d=f*p,g=u-t-d;return!m&&p>0&&(t=Math.max(0,t-p)),{barLeft:c-l/2,barHeight:t,effectiveRadius:p>0||m?h:0,valueY:g}}let g=u*l+(u>1?(u-1)*d:0),_=o(a)??s;return{barLeft:c-g/2+f*(l+d),barHeight:s-_,effectiveRadius:h,valueY:_}}function kc({dataKey:e,fill:t=Q.linePrimary,radius:n=0,animate:r=!0,fadedOpacity:i=.3}){let{data:a,xScale:o,yScale:s,xAccessor:c,innerHeight:l,innerWidth:u,columnWidth:d,isLoaded:f,animationDuration:p,enterTransition:m,revealEpoch:h=0,barScale:g,composedBarDataKeys:_,composedBarSize:v,composedMaxBarSize:y,composedBarGap:b,composedStacked:x,composedStackOffsets:S,composedStackGap:C,tooltipData:w}=Xo(),T=(0,K.useMemo)(()=>_&&_.length>0?_:[e],[_,e]),E=(0,K.useMemo)(()=>{let t=T.indexOf(e);return t>=0?t:0},[T,e]),D=T.length,O=b??4,k=C??0,A=!!x&&S!=null&&_!=null&&_.length>0,j=E===D-1,M=(0,K.useMemo)(()=>Ec({innerWidth:u,dataLength:a.length,columnWidth:d,seriesCount:D,composedBarSize:v,composedMaxBarSize:y,composedBarGap:O,stacked:A}),[d,v,y,a.length,O,u,D,A]),N=(p||1100)*.4,P=a.length>1?N/1e3/a.length:0,{hoveredIndex:F}=Ls(),I=F!==null&&F!==E,L=w?.index??null;return g?(console.warn(`SeriesBar is for time-based ComposedChart / LineChart context. Use Bar inside BarChart for categorical x.`),null):(0,q.jsx)(`g`,{className:`series-bar`,children:a.map((a,u)=>{let d=a[e];if(typeof d!=`number`)return null;let p=o(c(a))??0,{barLeft:g,valueY:_,barHeight:v,effectiveRadius:y}=Oc({stacked:A,composedStackOffsets:S,rowIndex:u,dataKey:e,value:d,yScale:s,innerHeight:l,xCenter:p,barWidth:M,seriesCount:D,gap:O,seriesIndex:E,stackGap:k,isLastSeries:j,radius:n}),b=String(c(a).getTime()),x=L!==null&&L!==u||I;return r&&!f?(0,q.jsx)(Ac,{barHeight:v,barWidth:M,calculatedStaggerDelay:P,enterTransition:m,fadedOpacity:i,fill:t,index:u,innerHeight:l,isFaded:x,radius:y,revealEpoch:h,x:g,y:_},`${e}-${b}-${h}`):(0,q.jsx)(G.rect,{animate:{opacity:x?i:1},fill:t,height:v,rx:y,ry:y,transition:{opacity:{duration:.12}},width:M,x:g,y:_},`${e}-${b}`)})})}kc.displayName=`SeriesBar`;function Ac({x:e,y:t,barWidth:n,barHeight:r,fill:i,radius:a,index:o,innerHeight:s,calculatedStaggerDelay:c,enterTransition:l,revealEpoch:u,isFaded:d,fadedOpacity:f}){let p=Tc(l,o*c);return(0,q.jsx)(G.rect,{animate:{height:r,y:t,opacity:d?f:1},fill:i,initial:{height:0,y:s,opacity:1},rx:a,ry:a,transition:p,width:n,x:e},`series-bar-${o}-${u}`)}function jc(e){return typeof e==`function`&&e.__chartClipPassthrough===!0}function Mc(e){if(jc(e.type)){let t=e.props.children;if((0,K.isValidElement)(t))return Mc(t)}return e}var Nc=new Set([`Background`,`Grid`,`XAxis`,`YAxis`,`BarXAxis`,`BarYAxis`,`LiveXAxis`,`LiveYAxis`]),Pc=new Set([`ReferenceArea`,`BarColumnTrack`]);function Fc(e){let t=e.type;if(t.__isChartMarkers||t.__isPostOverlay)return!0;let n=typeof e.type==`function`&&(t.displayName||t.name)||``;return n===`ChartMarkers`||n===`MarkerGroup`||n===`ChartBrush`}function Ic(e){let t=e.type,n=typeof e.type==`function`&&(t.displayName||t.name)||``;return Pc.has(n)}function Lc(e){let t=e.type,n=typeof e.type==`function`&&(t.displayName||t.name)||``;return Nc.has(n)}function Rc(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}var zc=new Set([`Lines`,`Circles`,`Waves`,`Hexagons`,`Path`,`Pattern`]);function Bc(e){let t=Rc(e);return t.includes(`Pattern`)||zc.has(t)}function Vc(e){let t=Rc(e);return t.includes(`Gradient`)||t===`LinearGradient`||t===`RadialGradient`}var Hc=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`}),Uc=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),Wc=new Intl.DateTimeFormat(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1});new Intl.DateTimeFormat(`en-US`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});var Gc=new Intl.NumberFormat(`en-US`).format,Kc=`ready`;function qc(e){return e===`loading`?`loading`:`ready`}function Jc(e){return e===`ready`}function Yc({clipPathId:e,height:t,targetWidth:n,enterTransition:r,revealEpoch:i,padding:a=0,animating:o=!0,mode:s=`reveal`,onComplete:c}){let l=Hs(r),u=Math.max(0,n+a*2),d=t+a*2;if(!o)return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(`rect`,{height:d,width:u,x:-a,y:-a})});if(s===`conceal`){let t=-a+u;return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(G.rect,{animate:{width:0,x:t},height:d,initial:{width:u,x:-a},onAnimationComplete:()=>c?.(),transition:l,y:-a},`conceal-${i}`)})}return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(G.rect,{animate:{width:u},height:d,initial:{width:0},transition:l,width:u,x:-a,y:-a},`reveal-${i}`)})}function Xc(e,t,n=[]){let r=e.length;if(t>=r||t<3)return e;let i=(e,t)=>{if(n.length===0){for(let t of Object.values(e))if(typeof t==`number`)return t;return t}let r=0,i=0;for(let t of n){let n=e[t];typeof n==`number`&&(r+=n,i++)}return i>0?r/i:t},a=[e[0]],o=(r-2)/(t-2),s=0;for(let n=0;n<t-2;n++){let t=Math.floor((n+1)*o)+1,c=Math.min(Math.floor((n+2)*o)+1,r-1),l=Math.floor((n+2)*o)+1,u=Math.min(Math.floor((n+3)*o)+1,r),d=Math.max(0,u-l),f=r-1,p=i(e[r-1],r-1);if(d>0){f=0,p=0;for(let t=l;t<u;t++)f+=t,p+=i(e[t],t);f/=d,p/=d}let m=e[s],h=s,g=i(m,s),_=-1,v=t;for(let n=t;n<c;n++){let t=Math.abs((h-f)*(i(e[n],n)-g)-(h-n)*(p-g))*.5;t>_&&(_=t,v=n)}a.push(e[v]),s=v}return a.push(e[r-1]),a}function Zc(e){return Math.max(64,Math.ceil(e*1.5))}function Qc(e,t,n){let r=t[0].getTime(),i=t[1].getTime(),a=Math.min(r,i),o=Math.max(r,i);return e.filter(e=>{let t=n(e).getTime();return t>=a&&t<=o})}function $c(e={}){let t=e.dataKey??`value`,n=e.pointCount??7,r=e.baseDate??new Date(`2025-01-01`);return Array.from({length:n},(e,n)=>{let i=new Date(r);return i.setDate(r.getDate()+n),{date:i,[t]:Math.round(110+Math.sin(n*1.15)*36+n*9)}})}function el(e,t){return e.map((e,n)=>({...e,[t]:Math.round(95+Math.sin(n*1.05)*28+n*7)}))}function tl(e){let t=1/0,n=-1/0;for(let r of e)for(let e of r)e.value<t&&(t=e.value),e.value>n&&(n=e.value);return t===1/0?null:{minValue:t,maxValue:n}}function nl(e){let t=1/0,n=-1/0;for(let r of e)for(let e of r){let r=e.date.getTime();r<t&&(t=r),r>n&&(n=r)}return t===1/0?null:{minTime:t,maxTime:n}}function rl(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function il(e){return rl(e)===`ProjectionLine`}function al(e){return e?.length?e.map(e=>({date:e.date instanceof Date?e.date:new Date(e.date),value:e.value})):[]}function ol(e){let t=[],n=e=>{K.Children.forEach(e,e=>{if(!(0,K.isValidElement)(e))return;if(e.type===K.Fragment){n(e.props.children);return}if(il(e)){let n=e.props,r=al(n?.data);r.length>=2&&t.push({yAxisId:zo(n?.yAxisId),data:r});return}if(jc(e.type)){n(e.props.children);return}let r=e.props;r?.children&&n(r.children)})};return n(e),t}function sl(e,t,n){let r=tl(t.filter(e=>e.yAxisId===n).map(e=>e.data));if(!r)return e;let[i,a]=e,o=Math.min(i,r.minValue),s=Math.max(a,r.maxValue);if(o>=0&&i>=0)return[0,s<=0?100:s*1.1];let c=(s-o)*.05||1;return[o-c,s+c]}function cl(e,t){let n=nl(t.map(e=>e.data));return n?Math.max(e,n.maxTime):e}function ll(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function ul(e){return ll(e)===`ReferenceArea`}function dl(e){let t=[],n=e=>{K.Children.forEach(e,e=>{if(!(0,K.isValidElement)(e))return;if(ul(e)){let n=e.props;n&&t.push({yAxisId:zo(n.yAxisId),y1:n.y1,y2:n.y2,axisLabelColor:n.axisLabelColor});return}let r=e.props;r?.children&&n(r.children)})};return n(e),t}var fl=(0,K.createContext)(null),pl=(0,K.createContext)(!1);function ml(){return(0,K.useContext)(pl)}function hl(e){let t=No({domain:e,range:[0,1],nice:!0}).domain();return[t[0]??e[0],t[1]??e[1]]}function gl(e,t){let n=Math.max(Math.abs(t[1]-t[0]),Math.abs(e[1]-e[0]),1),r=Math.abs(t[0]-e[0])/n,i=Math.abs(t[1]-e[1])/n;return r>=.02||i>=.02}function _l(e){return e===`loading`||e===`revealingLoading`}function vl(e){return e===`loading`||e===`exiting`||e===`gridTweenLoading`}function yl(e){return e===`gridTweenLoading`||e===`gridTweenReady`}function bl(e,t,n){switch(e){case`loading`:case`exiting`:case`gridTweenLoading`:return t;case`exitingReady`:case`gridTweenReady`:case`revealing`:case`ready`:return n;default:return n}}function xl({lines:e,resolveDomain:t}){let n=Bo(e),r={};for(let[e,i]of n){let n=i.map(e=>e.dataKey);r[zo(e)]=hl(t(n))}return r.left||=hl([0,100]),r}function Sl(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!(n&&i)||n[0]!==i[0]||n[1]!==i[1])return!1}return!0}function Cl(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function wl(e,t,n){Sl(n.current,e)||(t(e),n.current=e)}function Tl({destination:e,durationMs:t,enabled:n,reducedMotion:r,animatedRef:i,setAnimatedByAxis:a,onSettled:o}){if(Sl(i.current,e)){o?.();return}if(!n||r){wl(e,a,i),o?.();return}let s=Object.keys(e),c=i.current,l=!1;for(let t of s){let n=c[t]??e[t]??[0,100];if(gl(n,e[t]??n)){l=!0;break}}if(!l){wl(e,a,i),o?.();return}let u={};for(let t of s)u[t]=c[t]??e[t]??[0,100];return me(0,1,{duration:t/1e3,ease:[...$o],onUpdate:t=>{let n={};for(let r of s){let i=u[r]??e[r]??[0,100],a=e[r]??i;n[r]=gl(i,a)?Cl(i,a,t):a}i.current=n,a(n)},onComplete:()=>{wl(e,a,i),o?.()}})}function El({enabled:e,durationMs:t,chartPhase:n,skeletonByAxis:r,targetByAxis:i,onSettled:a,tweenOnTargetChange:o=!1}){let s=fe(),c=bl(n,r,i),l=(0,K.useRef)(c);l.current=c;let u=(0,K.useRef)(r);u.current=r;let d=(0,K.useRef)(i);d.current=i;let[f,p]=(0,K.useState)(c),m=(0,K.useRef)(f),h=(0,K.useRef)(n),g=(0,K.useRef)(a);g.current=a,(0,K.useEffect)(()=>{m.current=f},[f]),(0,K.useEffect)(()=>{if(h.current===n)return;h.current=n;let r=()=>{g.current?.()};if(n===`exiting`){wl(u.current,p,m);return}if(n===`exitingReady`){wl(d.current,p,m);return}if(n===`loading`){wl(u.current,p,m);return}if(n===`revealing`||n===`ready`){wl(d.current,p,m);return}if(!yl(n))return;let i=Tl({destination:l.current,durationMs:t,enabled:e,reducedMotion:s,animatedRef:m,setAnimatedByAxis:p,onSettled:r});return()=>i?.stop()},[n,t,e,s]);let _=JSON.stringify(i),v=(0,K.useRef)(_);return(0,K.useEffect)(()=>{if(n!==`ready`&&n!==`revealing`){v.current=_;return}if(v.current!==_){if(v.current=_,o&&n===`ready`){let n=Tl({destination:d.current,durationMs:t,enabled:e,reducedMotion:s,animatedRef:m,setAnimatedByAxis:p,onSettled:()=>g.current?.()});return()=>n?.stop()}wl(d.current,p,m)}},[n,t,e,s,_,o]),f}var Dl=class{x=0;y=0;constructor(e){let{x:t=0,y:n=0}=e;this.x=t,this.y=n}value(){return{x:this.x,y:this.y}}toArray(){return[this.x,this.y]}};function Ol(e){return!!e&&e instanceof Element}function kl(e){return!!e&&(e instanceof SVGElement||`ownerSVGElement`in e)}function Al(e){return!!e&&`createSVGPoint`in e}function jl(e){return!!e&&`getScreenCTM`in e}function Ml(e){return!!e&&`changedTouches`in e}function Nl(e){return!!e&&`clientX`in e}function Pl(e){return!!e&&(e instanceof Event||`nativeEvent`in e&&e.nativeEvent instanceof Event)}var Fl={x:0,y:0};function Il(e){if(!e)return{...Fl};if(Ml(e))return e.changedTouches.length>0?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{...Fl};if(Nl(e))return{x:e.clientX,y:e.clientY};let t=e?.target,n=t&&`getBoundingClientRect`in t?t.getBoundingClientRect():null;return n?{x:n.x+n.width/2,y:n.y+n.height/2}:{...Fl}}function Ll(e,t){if(!e||!t)return null;let n=Il(t),r=kl(e)?e.ownerSVGElement:e,i=jl(r)?r.getScreenCTM():null;if(Al(r)&&i){let e=r.createSVGPoint();return e.x=n.x,e.y=n.y,e=e.matrixTransform(i.inverse()),new Dl({x:e.x,y:e.y})}let a=e.getBoundingClientRect();return new Dl({x:n.x-a.left-e.clientLeft,y:n.y-a.top-e.clientTop})}function Rl(e,t){if(Ol(e)&&t)return Ll(e,t);if(Pl(e)){let t=e,n=t.target;if(n)return Ll(n,t)}return null}function zl(e){if(typeof e==`object`&&e&&`index`in e&&typeof e.index==`number`){let{index:t,x:n}=e;return typeof n==`number`?`${t}:${Math.round(n)}`:String(t)}return JSON.stringify(e)}function Bl(){let[e,t]=(0,K.useState)(null),n=(0,K.useRef)(null),r=(0,K.useRef)(null),i=(0,K.useRef)(null),a=(0,K.useRef)(null);(0,K.useEffect)(()=>()=>{i.current!==null&&cancelAnimationFrame(i.current)},[]);let o=(0,K.useCallback)((e,r)=>{r!==n.current&&(n.current=r,t(e))},[]);return{tooltipData:e,setTooltipData:t,scheduleTooltip:(0,K.useCallback)((e,t)=>{let s=t??zl(e);r.current=e,a.current=s,s!==n.current&&i.current===null&&(i.current=requestAnimationFrame(()=>{i.current=null;let e=r.current,t=a.current;e&&t&&o(e,t)}))},[o]),clearTooltip:(0,K.useCallback)(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null),r.current=null,a.current=null,n.current=null,t(null)},[]),resetTooltipDedupe:(0,K.useCallback)(()=>{n.current=null},[])}}function Vl({xScale:e,yScale:t,yScales:n,data:r,lines:i,margin:a,xAccessor:o,bisectDate:s,canInteract:c}){let[l,u]=(0,K.useState)(null),{tooltipData:d,setTooltipData:f,scheduleTooltip:p,clearTooltip:m,resetTooltipDedupe:h}=Bl(),g=(0,K.useRef)(!1),_=(0,K.useRef)(0),v=(0,K.useRef)(null),y=(0,K.useCallback)(a=>{let c=e.invert(a),l=s(r,c,1),u=r[l-1],d=r[l];if(!u)return null;let f=u,p=l-1;if(d){let e=o(u).getTime(),t=o(d).getTime();c.getTime()-e>t-c.getTime()&&(f=d,p=l)}let m={};for(let e of i){let r=f[e.dataKey];if(typeof r==`number`){let i=n[zo(e.yAxisId)]??t;m[e.dataKey]=i(r)??0}}return{point:f,index:p,x:e(o(f))??0,yPositions:m}},[e,t,n,r,i,o,s]),b=(0,K.useCallback)(t=>{let n=e.invert(t),i=s(r,n,1),a=r[i-1],c=r[i];if(!a)return 0;if(c){let e=o(a).getTime(),t=o(c).getTime();if(n.getTime()-e>t-n.getTime())return i}return i-1},[e,r,o,s]),x=(0,K.useCallback)((e,t=0)=>{let n=null;if(`touches`in e){let r=e.touches[t];if(!r)return null;let i=e.currentTarget.ownerSVGElement;if(!i)return null;n=Rl(i,r)}else n=Rl(e);return n?n.x-a.left:null},[a.left]),S=(0,K.useCallback)(e=>{let t=x(e);if(t===null)return;if(g.current){let e=Math.min(_.current,t),n=Math.max(_.current,t);u({startX:e,endX:n,startIndex:b(e),endIndex:b(n),active:!0});return}v.current=t;let n=y(t);n&&p(n)},[x,y,b,p]),C=(0,K.useCallback)(()=>{v.current=null,m(),g.current&&=!1,u(null)},[m]),w=(0,K.useCallback)(e=>{let t=x(e);t!==null&&(g.current=!0,_.current=t,m(),u(null))},[x,m]),T=(0,K.useCallback)(()=>{g.current&&=!1,u(null)},[]),E=(0,K.useCallback)(e=>{if(e.touches.length===1){e.preventDefault();let t=x(e,0);if(t===null)return;v.current=t;let n=y(t);n&&p(n)}else if(e.touches.length===2){e.preventDefault(),h(),m();let t=x(e,0),n=x(e,1);if(t===null||n===null)return;let r=Math.min(t,n),i=Math.max(t,n);u({startX:r,endX:i,startIndex:b(r),endIndex:b(i),active:!0})}},[x,y,b,p,h,m]),D=(0,K.useCallback)(e=>{if(e.touches.length===1){e.preventDefault();let t=x(e,0);if(t===null)return;v.current=t;let n=y(t);n&&p(n)}else if(e.touches.length===2){e.preventDefault();let t=x(e,0),n=x(e,1);if(t===null||n===null)return;let r=Math.min(t,n),i=Math.max(t,n);u({startX:r,endX:i,startIndex:b(r),endIndex:b(i),active:!0})}},[x,y,b,p]),O=(0,K.useCallback)(()=>{m(),u(null)},[m]),k=(0,K.useCallback)(()=>{u(null)},[]);return(0,K.useEffect)(()=>{if(!c||v.current===null)return;let e=y(v.current);if(e){p(e,`${e.index}:${Math.round(e.x)}`);return}m()},[c,m,y,p]),{tooltipData:d,setTooltipData:f,selection:l,clearSelection:k,interactionHandlers:c?{onMouseMove:S,onMouseLeave:C,onMouseDown:w,onMouseUp:T,onTouchStart:E,onTouchMove:D,onTouchEnd:O}:{},interactionStyle:{cursor:c?`crosshair`:`default`,touchAction:`none`}}}function Hl({chartStatus:e,targetData:t,skeletonData:n,animationDuration:r,yDomainTweenDuration:i,revealSignature:a=``,skipEnterReveal:o=!1}){let[s,c]=(0,K.useState)(()=>qc(e)),[l,u]=(0,K.useState)(()=>e===`loading`?n:t),[d,f]=(0,K.useState)(0),[p,m]=(0,K.useState)(0),[h,g]=(0,K.useState)(()=>e===`ready`),_=(0,K.useRef)(e),v=(0,K.useRef)(s);v.current=s,(0,K.useEffect)(()=>{let a=_.current;if(a!==e){if(_.current=e,e===`ready`&&a===`loading`){g(!1),r<=0?i<=0?(u(t),c(`revealing`)):c(`gridTweenReady`):c(`exiting`);return}e===`loading`&&a===`ready`&&(g(!1),r<=0?i<=0?(u(n),c(`loading`)):c(`gridTweenLoading`):(m(e=>e+1),c(`exitingReady`)))}},[r,e,n,t,i]),(0,K.useEffect)(()=>{o||e===`ready`&&v.current===`ready`&&(c(`revealing`),g(!1))},[r,e,a,o]),(0,K.useEffect)(()=>{switch(s){case`loading`:e===`loading`&&u(n);break;case`exiting`:u(n);break;case`exitingReady`:case`gridTweenLoading`:case`gridTweenReady`:case`revealing`:case`ready`:u(t)}},[s,e,n,t]);let y=(0,K.useCallback)(()=>{v.current===`exiting`&&c(`gridTweenReady`)},[]),b=(0,K.useCallback)(()=>{v.current===`exitingReady`&&c(`gridTweenLoading`)},[]),x=(0,K.useCallback)(()=>{if(v.current===`gridTweenLoading`){c(`loading`);return}v.current===`gridTweenReady`&&c(`revealing`)},[]);return(0,K.useEffect)(()=>{if(s!==`revealing`)return;if(f(e=>e+1),r<=0){c(`ready`),g(!0);return}let e=window.setTimeout(()=>{c(`ready`),g(!0)},r);return()=>window.clearTimeout(e)},[r,s]),{chartPhase:s,plotData:l,revealEpoch:d,concealEpoch:p,isLoaded:h,notifyLoadingPulseComplete:y,notifyRevealConcealComplete:b,notifyYDomainTweenComplete:x}}function Ul(e,t){let n=1/0,r=-1/0;for(let i of e)for(let e of t){let t=i[e];typeof t==`number`&&(t<n&&(n=t),t>r&&(r=t))}return n===1/0?{minValue:0,maxValue:100}:{minValue:n,maxValue:r}}function Wl(e,t,n){if(n!=null&&n>0)return[0,n*1.1];let{minValue:r,maxValue:i}=Ul(e,t);if(r>=0)return[0,i<=0?100:i*1.1];let a=(i-r)*.05||1;return[r-a,i+a]}function Gl(e,t){return e.key==null?(0,K.cloneElement)(e,{key:`chart-child-${t}`}):e}function Kl(e){let{width:t,height:n}=e;return t<10||n<10?null:(0,q.jsx)(ql,{...e})}var ql=(0,K.memo)(function({width:e,height:t,data:n,xDataKey:r,margin:i,animationDuration:a,animationEasing:o=zs,enterTransition:s,revealSignature:c=``,children:l,containerRef:u,lines:d,clipPathId:f,composedBarDataKeys:p,composedBarSize:m,composedMaxBarSize:h,composedBarGap:g,composedStacked:_,composedStackOffsets:v,composedStackGap:y,yScaleDomainMax:b,chartStatus:x=Kc,loadingLabel:S,yDomainTween:C=!0,yDomainTweenDuration:w=500,xDomain:T,xDomainSlotCount:E,tweenYDomainOnXDomainChange:D=!1,onPhaseChange:O}){let k=ml(),A=e-i.left-i.right,j=t-i.top-i.bottom,M=(0,K.useCallback)((e,t)=>{let n=Bo(d);return Wl(e,t,n.size===1&&n.has(`left`)&&b!=null?b:void 0)},[d,b]),N=(0,K.useMemo)(()=>{let e=d[0]?.dataKey??`value`;return n.length===0?$c({dataKey:e}):el(n,e)},[n,d]),{chartPhase:P,plotData:F,revealEpoch:I,concealEpoch:L,isLoaded:R,notifyLoadingPulseComplete:z,notifyRevealConcealComplete:ee,notifyYDomainTweenComplete:te}=Hl({animationDuration:a,chartStatus:x,revealSignature:c,skeletonData:N,skipEnterReveal:k,targetData:n,yDomainTweenDuration:w});(0,K.useEffect)(()=>{O?.(P)},[P,O]);let B=(0,K.useCallback)(e=>{let t=e[r];return t instanceof Date?t:new Date(t)},[r]),V=(0,K.useMemo)(()=>qn(e=>B(e)).left,[B]),H=(0,K.useMemo)(()=>T?Qc(F,T,B):F,[F,T,B]),U=(0,K.useMemo)(()=>ol(l),[l]),ne=(0,K.useMemo)(()=>{let e=T?T[0].getTime():Qn(F,e=>B(e).getTime())[0]??0,t=T?T[1].getTime():Qn(F,e=>B(e).getTime())[1]??e;return T||(t=cl(t,U)),Fo({range:[0,A],domain:[e,t]})},[A,F,U,B,T]),re=T?F:H,ie=(0,K.useMemo)(()=>{let e=d.map(e=>e.dataKey);return Xc(re,Zc(A),e)},[re,A,d]),ae=(0,K.useMemo)(()=>{let e=T&&E!=null?E:H.length;return e<2?0:A/(e-1)},[A,H.length,T,E]),oe=(0,K.useMemo)(()=>xl({lines:d,resolveDomain:e=>M(N,e)}),[d,M,N]),se=(0,K.useMemo)(()=>{let e=xl({lines:d,resolveDomain:e=>M(T?H:n,e)});if(U.length===0)return e;let t={...e};for(let n of Object.keys(e))t[n]=sl(e[n]??[0,100],U,n);for(let e of U)t[e.yAxisId]||(t[e.yAxisId]=sl([0,100],U,e.yAxisId));return t},[n,d,U,M,H,T]),ce=El({chartPhase:P,durationMs:w,enabled:C,onSettled:te,skeletonByAxis:oe,targetByAxis:se,tweenOnTargetChange:C||D&&T!=null}),W=(0,K.useMemo)(()=>Ho({domainsByAxis:ce,innerHeight:j,lines:d}),[ce,j,d]),le=Vo(W,No({range:[j,0],domain:[0,100],nice:!0})),ue=(0,K.useMemo)(()=>{let e=H.map(e=>B(e)),t=e[0],n=e.at(-1),r=(t&&n?n.getTime()-t.getTime():0)<1296e5?Wc:Hc;return e.map(e=>r.format(e))},[H,B]),{tooltipData:de,setTooltipData:fe,selection:G,clearSelection:pe,interactionHandlers:me,interactionStyle:he}=Vl({bisectDate:V,canInteract:R&&Jc(P),data:H,lines:d,margin:i,xAccessor:B,xScale:ne,yScale:le,yScales:W}),ge=[],_e=[],ve=[],ye=[],be=[];K.Children.forEach(l,(e,t)=>{if(!(0,K.isValidElement)(e))return;let n=Mc(Gl(e,t));Vc(n)?ge.push(n):Bc(n)?ye.push(n):Fc(n)?be.push(n):Lc(n)?_e.push(n):Ic(n)?ve.push(n):ye.push(n)});let[xe,Se]=(0,K.useState)(()=>new Map),Ce=(0,K.useCallback)((e,t)=>{Se(n=>{let r=n.get(e);if(r&&r.yAxisId===t.yAxisId&&r.y1===t.y1&&r.y2===t.y2&&r.axisLabelColor===t.axisLabelColor)return n;let i=new Map(n);return i.set(e,t),i})},[]),we=(0,K.useCallback)(e=>{Se(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),Te=(0,K.useMemo)(()=>({registerReferenceArea:Ce,unregisterReferenceArea:we}),[Ce,we]),Ee=(0,K.useMemo)(()=>{let e=dl(l),t=[...xe.values()];return t.length===0?e:e.length===0?t:[...e,...t]},[l,xe]),De=(0,K.useMemo)(()=>({data:H,renderData:ie,xScale:ne,yScale:le,yScales:W,width:e,height:t,innerWidth:A,innerHeight:j,margin:i,columnWidth:ae,tooltipData:de,setTooltipData:fe,containerRef:u,lines:d,referenceAreas:Ee,chartPhase:P,chartStatus:x,loadingLabel:S,yDomainTweenDuration:w,yDomainSkeletonByAxis:oe,yDomainTargetByAxis:se,isLoaded:R,animationDuration:a,animationEasing:o,enterTransition:s,revealEpoch:I,notifyLoadingPulseComplete:z,xAccessor:B,dateLabels:ue,xDomain:T,xDomainSlotCount:E,selection:G,clearSelection:pe,composedBarDataKeys:p,composedBarSize:m,composedMaxBarSize:h,composedBarGap:g,composedStacked:_,composedStackOffsets:v,composedStackGap:y}),[H,ie,ne,le,W,e,t,A,j,i,ae,de,fe,u,d,Ee,P,x,S,w,oe,se,R,a,o,s,I,z,B,ue,T,E,G,pe,p,m,h,g,_,v,y]),Oe=!k&&ie.length>1&&A>0&&a>0,ke=P===`revealing`,Ae=P===`exitingReady`&&a>0,je=s??{...Vs,duration:a/1e3},Me=(0,K.useMemo)(()=>p?.length?Dc({barWidth:Ec({columnWidth:ae,composedBarGap:g,composedBarSize:m,composedMaxBarSize:h,dataLength:F.length,innerWidth:A,seriesCount:p.length,stacked:_}),gap:g,seriesCount:p.length,stacked:_}):0,[ae,p,g,m,h,_,A,F.length]);return(0,q.jsx)(fl.Provider,{value:Te,children:(0,q.jsx)(Ko,{value:De,children:(0,q.jsxs)(`svg`,{"aria-hidden":`true`,height:t,width:e,children:[(0,q.jsxs)(`defs`,{children:[ge,Oe?(0,q.jsx)(Yc,{animating:ke||Ae,clipPathId:f,enterTransition:je,height:j+20,mode:Ae?`conceal`:`reveal`,onComplete:Ae?ee:void 0,padding:Me,revealEpoch:Ae?L:I,targetWidth:A}):null]}),(0,q.jsx)(`rect`,{fill:`transparent`,height:t,width:e,x:0,y:0}),(0,q.jsxs)(`g`,{...me,style:he,transform:`translate(${i.left},${i.top})`,children:[(0,q.jsx)(`rect`,{fill:`transparent`,height:j,width:A,x:0,y:0}),_e,ve,Oe?(0,q.jsx)(`g`,{clipPath:`url(#${f})`,children:ye}):ye,be]})]})})})}),Jl={top:40,right:40,bottom:40,left:40};function Yl(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function Xl(e,t){let n=e.findIndex(e=>e.dataKey===t.dataKey);if(n===-1){e.push(t);return}e[n]=t}function Zl(e,t,n){let r=Yl(e);if(e.type!==kc&&r!==`SeriesBar`)return!1;let i=e.props;return!i.dataKey||(n.push(i.dataKey),Xl(t,{dataKey:i.dataKey,stroke:i.stroke||i.fill||`var(--chart-line-primary)`,strokeWidth:0}),!0)}function Ql(e,t){let n=Yl(e);if(e.type!==wc&&n!==`Line`)return!1;let r=e.props;return r.dataKey&&Xl(t,{dataKey:r.dataKey,stroke:r.stroke||`var(--chart-line-primary)`,strokeWidth:r.strokeWidth??2.5,yAxisId:r.yAxisId}),!0}function $l(e,t){let n=Yl(e);if(e.type!==Zs&&n!==`Area`)return!1;let r=e.props;return r.dataKey&&Xl(t,{dataKey:r.dataKey,stroke:r.stroke||r.fill||`var(--chart-line-primary)`,strokeWidth:r.strokeWidth??2,yAxisId:r.yAxisId}),!0}function eu(e){let t=[],n=[];return K.Children.forEach(e,e=>{(0,K.isValidElement)(e)&&(Zl(e,t,n)||Ql(e,t)||$l(e,t))}),{lines:t,barDataKeys:n}}function tu(e,t,n){let r=new Set(n),i=0;for(let a of e){let e=0;for(let t of n){let n=a[t];typeof n==`number`&&(e+=n)}let o=0;for(let e of t){if(r.has(e.dataKey))continue;let t=a[e.dataKey];typeof t==`number`&&(o=Math.max(o,t))}i=Math.max(i,e,o)}return i>0?i:void 0}function nu({width:e,height:t,data:n,xDataKey:r,margin:i,animationDuration:a,animationEasing:o,enterTransition:s,revealSignature:c,children:l,containerRef:u,barSize:d,maxBarSize:f,barGap:p,stacked:m=!1,stackGap:h=0,onPhaseChange:g}){let{lines:_,barDataKeys:v}=(0,K.useMemo)(()=>eu(l),[l]),y=(0,K.useMemo)(()=>{if(!(m&&v.length>0))return;let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];if(!r)continue;let i=new Map,a=0;for(let e of v){i.set(e,a);let t=r[e];typeof t==`number`&&(a+=t)}e.set(t,i)}return e},[n,v,m]),b=(0,K.useMemo)(()=>m&&v.length>0?tu(n,_,v):void 0,[n,_,v,m]);return(0,q.jsx)(Kl,{animationDuration:a,animationEasing:o,clipPathId:`composed-chart-grow-clip`,composedBarDataKeys:v.length>0?v:void 0,composedBarGap:p,composedBarSize:d,composedMaxBarSize:f,composedStacked:m,composedStackGap:h,composedStackOffsets:y,containerRef:u,data:n,enterTransition:s,height:t,lines:_,margin:i,onPhaseChange:g,revealSignature:c,width:e,xDataKey:r,yScaleDomainMax:b,children:l})}function ru({data:e,xDataKey:t=`date`,margin:n,animationDuration:i=1100,animationEasing:a,enterTransition:o,revealSignature:s,aspectRatio:c=`2 / 1`,className:l=``,children:u,barSize:d,maxBarSize:f,barGap:p=4,stacked:m=!1,stackGap:h=0,onPhaseChange:g}){let _=(0,K.useRef)(null),v={...Jl,...n};return(0,q.jsx)(`div`,{className:r(`relative w-full`,l),ref:_,style:{aspectRatio:c,touchAction:`none`},children:(0,q.jsx)(gc,{debounceTime:10,children:({width:n,height:r})=>(0,q.jsx)(nu,{animationDuration:i,animationEasing:a,barGap:p,barSize:d,containerRef:_,data:e,enterTransition:o,height:r,margin:v,maxBarSize:f,onPhaseChange:g,revealSignature:s,stacked:m,stackGap:h,width:n,xDataKey:t,children:u})})})}ru.displayName=`ComposedChart`;function iu(e){return`bandwidth`in e?e.bandwidth():0}function au(e){let{top:t=0,left:n=0,scale:r,width:i,stroke:a=`#eaf0f6`,strokeWidth:o=1,strokeDasharray:s,className:c,children:l,numTicks:u=10,lineStyle:d,offset:f,tickValues:p,...m}=e,h=p??Lo(r,u),g=(f??0)+iu(r)/2,_=h.map((e,t)=>{let n=(Io(r(e))??0)+g;return{index:t,from:new Dl({x:0,y:n}),to:new Dl({x:i,y:n})}});return(0,q.jsx)(Ln,{className:(0,In.default)(`visx-rows`,c),top:t,left:n,children:l?l({lines:_}):_.map(e=>{let{from:t,to:n,index:r}=e;return(0,q.jsx)(Rn,{from:t,to:n,stroke:a,strokeWidth:o,strokeDasharray:s,style:d,...m},`row-line-${r}`)})})}function ou(e){let{top:t=0,left:n=0,scale:r,height:i,stroke:a=`#eaf0f6`,strokeWidth:o=1,strokeDasharray:s,className:c,numTicks:l=10,lineStyle:u,offset:d,tickValues:f,children:p,...m}=e,h=f??Lo(r,l),g=(d??0)+iu(r)/2,_=h.map((e,t)=>{let n=(Io(r(e))??0)+g;return{index:t,from:new Dl({x:n,y:0}),to:new Dl({x:n,y:i})}});return(0,q.jsx)(Ln,{className:(0,In.default)(`visx-columns`,c),top:t,left:n,children:p?p({lines:_}):_.map(e=>{let{from:t,to:n,index:r}=e;return(0,q.jsx)(Rn,{from:t,to:n,stroke:a,strokeWidth:o,strokeDasharray:s,style:u,...m},`column-line-${r}`)})})}function su({innerWidth:e,shimmer:t,shimmerLength:n,shimmerSpeed:r,shimmerSync:i,active:a,oneShot:o=!1}){let s=_e(0),c=fe(),l=Zo/Math.max(r,.1),u=a&&t&&c!==!0&&e>0;(0,K.useEffect)(()=>{if(!u)return;let e=!1,t,n,r=()=>{e||(s.set(0),n=me(s,1,{duration:l,ease:[...$o],onComplete:()=>{e||(t=window.setTimeout(r,280))}}))};return i&&o?(s.set(0),n=me(s,1,{duration:l/2,ease:[...$o]}),()=>n?.stop()):i?(r(),()=>{e=!0,n?.stop(),t!==void 0&&window.clearTimeout(t)}):(s.set(0),n=me(s,1,{duration:l,repeat:1/0,ease:[...$o]}),()=>n?.stop())},[o,s,l,u,i]);let d=ve(s,t=>-n+t*(e+n*2));return{shimmerEnabled:u,shimmerTransform:ve(d,e=>`translate(${e}, 0)`)}}var cu=140,lu=1,uu=`color-mix(in oklch, var(--foreground) 68%, transparent)`;function du(e,t){return!t||e.length<=2?e:e.slice(1,-1)}function fu(e){let{hideHorizontalEdgeLines:t,numTicksRows:n,rowTickValues:r,yScale:i}=e,a=r??(i.ticks?i.ticks(n):[]),o=du(a,t);if(!(o===a&&!r&&!t))return o.length>0?o:void 0}function pu({horizontal:e=!0,vertical:t=!1,numTicksRows:n=5,numTicksColumns:r=10,rowTickValues:i,stroke:a=Q.grid,loadingStroke:o,strokeOpacity:s=1,strokeWidth:c=1,strokeDasharray:l=`4,4`,highlightRowValues:u,highlightRowStroke:d=Q.foregroundMuted,highlightRowStrokeOpacity:f=1,highlightRowStrokeWidth:p=1,highlightRowStrokeDasharray:m=`0`,fadeHorizontal:h=!0,fadeVertical:g=!1,hideHorizontalEdgeLines:_=!1,hideVerticalEdgeLines:v=!1,yAxisId:y,shimmer:b=!1,shimmerStroke:x=uu,shimmerLength:S=cu,shimmerSpeed:C=lu,shimmerSync:w=!1}){let{xScale:T,innerWidth:E,innerHeight:D,orientation:O,barScale:k,chartPhase:A}=qo(),j=Jo(y),M=b&&_l(A),N=vl(A)&&o!=null?o:a,{shimmerEnabled:P,shimmerTransform:F}=su({innerWidth:E,shimmer:b,shimmerLength:S,shimmerSpeed:C,shimmerSync:w,active:M}),I=O===`horizontal`&&k?j:T,L=fu({hideHorizontalEdgeLines:_,numTicksRows:n,rowTickValues:i,yScale:j}),R=t&&I&&typeof I==`function`&&v?(()=>{let e=du(I.ticks?.(r)??[],!0);return e.length>0?e:void 0})():void 0,z=(0,K.useId)(),ee=`grid-rows-fade-${z}`,te=`${ee}-gradient`,B=`grid-shimmer-${z}`,V=`grid-cols-fade-${z}`,H=`${V}-gradient`,U=h?`url(#${ee})`:void 0;return(0,q.jsxs)(`g`,{className:`chart-grid`,children:[e&&h&&(0,q.jsxs)(`defs`,{children:[(0,q.jsxs)(`linearGradient`,{id:te,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:`white`,stopOpacity:0}}),(0,q.jsx)(`stop`,{offset:`10%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`90%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:`white`,stopOpacity:0}})]}),(0,q.jsx)(`mask`,{id:ee,children:(0,q.jsx)(`rect`,{fill:`url(#${te})`,height:D,width:E,x:`0`,y:`0`})})]}),e&&P?(0,q.jsx)(`defs`,{children:(0,q.jsxs)(G.linearGradient,{gradientTransform:F,gradientUnits:`userSpaceOnUse`,id:B,x1:0,x2:S,y1:0,y2:0,children:[(0,q.jsx)(`stop`,{offset:`0%`,stopColor:x,stopOpacity:0}),(0,q.jsx)(`stop`,{offset:`35%`,stopColor:x,stopOpacity:.45}),(0,q.jsx)(`stop`,{offset:`50%`,stopColor:x,stopOpacity:1}),(0,q.jsx)(`stop`,{offset:`65%`,stopColor:x,stopOpacity:.45}),(0,q.jsx)(`stop`,{offset:`100%`,stopColor:x,stopOpacity:0})]})}):null,t&&g&&(0,q.jsxs)(`defs`,{children:[(0,q.jsxs)(`linearGradient`,{id:H,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:`white`,stopOpacity:0}}),(0,q.jsx)(`stop`,{offset:`10%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`90%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:`white`,stopOpacity:0}})]}),(0,q.jsx)(`mask`,{id:V,children:(0,q.jsx)(`rect`,{fill:`url(#${H})`,height:D,width:E,x:`0`,y:`0`})})]}),e&&(0,q.jsxs)(`g`,{mask:U,children:[(0,q.jsx)(au,{numTicks:L?void 0:n,scale:j,stroke:N,strokeDasharray:l,strokeOpacity:s,strokeWidth:c,tickValues:L,width:E}),P?(0,q.jsx)(au,{numTicks:L?void 0:n,scale:j,stroke:`url(#${B})`,strokeDasharray:l,strokeOpacity:1,strokeWidth:c,tickValues:L,width:E}):null]}),e&&u&&u.length>0?(0,q.jsx)(`g`,{className:`chart-grid-highlight-rows`,children:u.map(e=>{let t=j(e);return t==null||!Number.isFinite(t)?null:(0,q.jsx)(`line`,{stroke:d,strokeDasharray:m,strokeOpacity:f,strokeWidth:p,x1:0,x2:E,y1:t,y2:t},e)})}):null,t&&I&&typeof I==`function`&&(0,q.jsx)(`g`,{mask:g?`url(#${V})`:void 0,children:(0,q.jsx)(ou,{height:D,numTicks:R?void 0:r,scale:I,stroke:a,strokeDasharray:l,strokeOpacity:s,strokeWidth:c,tickValues:R})})]})}pu.displayName=`Grid`;var mu=e(R(),1),hu=24,gu=60,_u=(0,K.memo)(function({currentIndex:e,labels:t}){let n=t[e]??t[0]??``;return(0,q.jsx)(`div`,{className:`overflow-hidden rounded-full bg-zinc-900 px-4 py-1 text-white shadow-lg dark:bg-zinc-100 dark:text-zinc-900`,children:(0,q.jsx)(`div`,{className:`flex h-6 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:n})})})}),vu=(0,K.memo)(function({currentIndex:e,labels:t}){let n=(0,K.useMemo)(()=>t.map((e,t)=>{let n=e.split(` `);return{month:n[0]||``,day:n[1]||``,full:e,key:`${e}::${t}`}}),[t]),r=(0,K.useMemo)(()=>{let e=[];return n.forEach((t,n)=>{let r=e.at(-1);(!r||r.month!==t.month)&&e.push({month:t.month,key:`${t.month}-${n}`,startIndex:n})}),e},[n]),i=(0,K.useMemo)(()=>{if(e<0||e>=n.length)return 0;for(let t=r.length-1;t>=0;t--){let n=r[t];if(n&&n.startIndex<=e)return t}return 0},[e,n.length,r]),a=(0,K.useRef)(-1),o=Qe(0,{stiffness:400,damping:35}),s=Qe(0,{stiffness:400,damping:35});if(o.set(-e*hu),i>=0){let e=a.current===-1,t=a.current!==i;(e||t)&&(s.set(-i*hu),a.current=i)}return(0,q.jsx)(`div`,{className:`overflow-hidden rounded-full bg-zinc-900 px-4 py-1 text-white shadow-lg dark:bg-zinc-100 dark:text-zinc-900`,children:(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-1`,children:[(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsx)(G.div,{className:`flex flex-col`,style:{y:s},children:r.map(e=>(0,q.jsx)(`div`,{className:`flex h-6 shrink-0 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:e.month})},e.key))})}),(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsx)(G.div,{className:`flex flex-col`,style:{y:o},children:n.map(e=>(0,q.jsx)(`div`,{className:`flex h-6 shrink-0 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:e.day})},e.key))})})]})})})});function yu({currentIndex:e,labels:t,visible:n}){return!n||t.length===0?null:t.length>gu?(0,q.jsx)(_u,{currentIndex:e,labels:t}):(0,q.jsx)(vu,{currentIndex:e,labels:t})}yu.displayName=`DateTicker`;function bu(e){let[t,n]=(0,K.useState)(!1);(0,K.useEffect)(()=>{n(!0)},[]);let r=e.containerRef.current;return!(t&&r)||!e.visible?null:(0,q.jsx)(xu,{...e,container:r})}function xu({x:e,y:t,containerWidth:n,containerHeight:i,offset:a=16,className:o=``,children:s,left:c,top:l,flipped:u,springConfig:d,animate:f=!0,entrance:p=!0,panelStyle:m,backgroundColor:h=Q.tooltipBackground,container:g}){let{tooltipBoxSpring:_}=ks(),v=d??_,y=(0,K.useRef)(null),b=(0,K.useRef)(180),x=(0,K.useRef)(80),[S,C]=(0,K.useState)({left:e,top:t}),w=b.current,T=x.current,E=e+w+a>n,D=E?e-a-w:e+a,O=Math.max(a,Math.min(t-T/2,i-T-a)),k=Qe(D,v),A=Qe(O,v);f&&c===void 0&&k.set(D),f&&l===void 0&&A.set(O),(0,K.useLayoutEffect)(()=>{if(!y.current)return;let r=y.current,o=r.offsetWidth,s=r.offsetHeight;o>0&&(b.current=o),s>0&&(x.current=s);let u=b.current,d=x.current,p=e+u+a>n?e-a-u:e+a,m=Math.max(a,Math.min(t-d/2,i-d-a));if(!f){C({left:p,top:m});return}c===void 0&&k.set(p),l===void 0&&A.set(m)},[e,t,n,i,a,c,l,f,k,A]);let j=(0,K.useRef)(E),[M,N]=(0,K.useState)(0);(0,K.useEffect)(()=>{j.current!==E&&(N(e=>e+1),j.current=E)},[E]);let P=f?c??k:S.left,F=f?l??A:S.top,I=u??E,L=I?`right top`:`left top`,R=r(`min-w-[140px] overflow-hidden rounded-lg text-chart-tooltip-foreground shadow-lg`,m?.backgroundColor===void 0&&h===Q.tooltipBackground&&`bg-chart-tooltip-background`,m?.backdropFilter===void 0&&`backdrop-blur-md`),z={transformOrigin:L,...m?.backgroundColor===void 0&&{backgroundColor:h},...m};return p?(0,mu.createPortal)((0,q.jsx)(G.div,{animate:{opacity:1},className:r(`pointer-events-none absolute z-50`,o),exit:{opacity:0},initial:{opacity:0},ref:y,style:{left:P,top:F},transition:{duration:.1},children:(0,q.jsx)(G.div,{animate:{scale:1,opacity:1,x:0},className:R,initial:{scale:.85,opacity:0,x:I?20:-20},style:z,transition:{type:`spring`,stiffness:300,damping:25},children:s},M)}),g):(0,mu.createPortal)((0,q.jsx)(`div`,{className:r(`pointer-events-none absolute z-50`,o),ref:y,style:{left:S.left,top:S.top},children:(0,q.jsx)(`div`,{className:R,style:z,children:s})}),g)}bu.displayName=`TooltipBox`;function Su({title:e,rows:t,children:n}){return(0,q.jsx)(`div`,{className:`overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`px-3 py-2.5`,children:[e&&(0,q.jsx)(`div`,{className:`mb-2 text-left font-medium text-chart-tooltip-foreground text-xs`,children:e}),(0,q.jsx)(`div`,{className:`space-y-1.5`,children:t.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,q.jsx)(`span`,{className:`text-chart-tooltip-muted text-sm`,children:e.label})]}),(0,q.jsx)(`span`,{className:`font-medium text-chart-tooltip-foreground text-sm tabular-nums`,children:typeof e.value==`number`?Gc(e.value):e.value})]},`${e.label}-${e.color}`))}),n&&(0,q.jsx)(`div`,{className:`mt-2 transition-opacity duration-200 ease-out`,children:n})]})})}Su.displayName=`TooltipContent`;function Cu(e,t){return e*2*Math.max(0,Math.min(.5,t))}function wu({x:e,y:t,halfExtent:n,cornerRadiusFraction:r,fill:i,stroke:a,strokeWidth:o,springConfig:s}){let{tooltipSpring:c}=ks(),l=s??c,u=Qe(e,l),d=Qe(t,l),f=n*2,p=Cu(n,r),m=ve(u,e=>e-n),h=ve(d,e=>e-n);return u.set(e),d.set(t),(0,q.jsx)(G.rect,{fill:i,height:f,rx:p,ry:p,stroke:a,strokeWidth:o,width:f,x:m,y:h})}function Tu({x:e,y:t,visible:n,color:r,size:i=5,strokeColor:a=Q.background,strokeWidth:o=2,variant:s=`dot`,cornerRadiusFraction:c=.25,springConfig:l,animate:u=!0}){let{tooltipSpring:d}=ks(),f=l??d,p=Qe(e,f),m=Qe(t,f),h=s===`ring`,g=h?`transparent`:r,_=h?r:a,v=h?o??1.5:o;if(u&&!h&&(p.set(e),m.set(t)),!n)return null;if(h){if(u)return(0,q.jsx)(wu,{cornerRadiusFraction:c,fill:g,halfExtent:i,springConfig:l,stroke:_,strokeWidth:v,x:e,y:t});let n=i*2,r=Cu(i,c);return(0,q.jsx)(`rect`,{fill:g,height:n,rx:r,ry:r,stroke:_,strokeWidth:v,width:n,x:e-i,y:t-i})}return u?(0,q.jsx)(G.circle,{cx:p,cy:m,fill:g,r:i,stroke:_,strokeWidth:v}):(0,q.jsx)(`circle`,{cx:e,cy:t,fill:g,r:i,stroke:_,strokeWidth:v})}Tu.displayName=`TooltipDot`;function Eu(e){return e===!1||e===`none`?{top:!1,bottom:!1,any:!1}:e===!0||e===`both`?{top:!0,bottom:!0,any:!0}:e===`top`?{top:!0,bottom:!1,any:!0}:{top:!1,bottom:!0,any:!0}}function Du(e,t=10){let n=Math.min(40,Math.max(2,t)),r=100-n;return e.any?e.top&&e.bottom?[{offset:`0%`,opacity:0},{offset:`${n}%`,opacity:1},{offset:`50%`,opacity:1},{offset:`${r}%`,opacity:1},{offset:`100%`,opacity:0}]:e.top?[{offset:`0%`,opacity:0},{offset:`${n}%`,opacity:1},{offset:`100%`,opacity:1}]:[{offset:`0%`,opacity:1},{offset:`${r}%`,opacity:1},{offset:`100%`,opacity:0}]:[{offset:`0%`,opacity:1}]}function Ou(e){if(typeof e==`number`)return e;switch(e){case`line`:return 1;case`thin`:return 2;case`medium`:return 4;case`thick`:return 8;default:return 1}}function ku(e){return e.visible?(0,q.jsx)(Au,{...e}):null}function Au({x:e,visible:t,height:n,width:r=`line`,span:i,columnWidth:a,colorEdge:o=Q.crosshair,colorMid:s=Q.crosshair,fadeEdges:c=`both`,fadeLength:l=10,animate:u=!0,gradientId:d=`tooltip-indicator-gradient`,springConfig:f,strokeDasharray:p}){let{tooltipSpring:m}=ks(),h=f??m,g=i!==void 0&&a!==void 0?i*a:Ou(r),_=e-g/2,v=e,y=Qe(_,h),b=Qe(v,h);u&&(y.set(_),b.set(v)),(0,K.useEffect)(()=>{y.set(_),b.set(v)},[b,y,v,_,t]);let x=s||o,S=Eu(c);if(p){let e=Math.max(1,g);return u?(0,q.jsx)(G.line,{stroke:x,strokeDasharray:p,strokeWidth:e,x1:b,x2:b,y1:0,y2:n}):(0,q.jsx)(`line`,{stroke:x,strokeDasharray:p,strokeWidth:e,x1:v,x2:v,y1:0,y2:n})}if(!S.any)return u?(0,q.jsx)(G.rect,{fill:x,height:n,width:g,x:y,y:0}):(0,q.jsx)(`rect`,{fill:x,height:n,width:g,x:_,y:0});let C=Du(S,l);return(0,q.jsxs)(`g`,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`linearGradient`,{id:d,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:C.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:x,stopOpacity:e.opacity}},e.offset))})}),u?(0,q.jsx)(G.rect,{fill:`url(#${d})`,height:n,width:g,x:y,y:0}):(0,q.jsx)(`rect`,{fill:`url(#${d})`,height:n,width:g,x:_,y:0})]})}ku.displayName=`TooltipIndicator`;var ju=(0,K.memo)(function({showDatePill:e=!0,showCrosshair:t=!0,showDots:n=!0,dotVariant:r=`dot`,dotSize:i=5,dotRadiusFraction:a,dotScale:o=1,dotStrokeWidth:s,indicatorColor:c,content:l,rows:u,dotColor:d,children:f,className:p=``,container:m,springConfig:h,matchCrosshair:g=!1,damping:_,indicatorDasharray:v,indicatorFadeEdges:y,indicatorFadeLength:b,boxSpringConfig:x,panelStyle:S,backgroundColor:C}){let{tooltipData:w,width:T,height:E,innerHeight:D,margin:O,columnWidth:k,lines:A,xAccessor:j,dateLabels:M,containerRef:N,orientation:P,barXAccessor:F,bandWidth:I,squareSnap:L}=Xo(),{tooltipSpring:R}=ks(),z=P===`horizontal`,ee=M.length>60,te=(0,K.useMemo)(()=>{if(r!==`ring`||!I||A.length===0)return i*o;let e=A.length,t=L?.groupGap??(e>1?4:0);return(I-t*(e-1))/e/2*o},[I,o,i,r,A.length,L?.groupGap]),B=(0,K.useMemo)(()=>x?{animate:!ee,springConfig:x}:g?{animate:!ee,springConfig:h??R}:js(_),[x,_,ee,g,h,R]),V=w!==null,H=w?.x??0,U=H+O.left,ne=A[0]?.dataKey,re=(ne?w?.yPositions[ne]??0:0)+O.top,ie=(0,K.useMemo)(()=>w?u?u(w.point):A.map(e=>({color:e.stroke,label:e.dataKey,value:w.point[e.dataKey]??0})):[],[w,A,u]),ae=(0,K.useMemo)(()=>(e,t)=>{if(u&&ie[t]?.color)return ie[t].color;if(d!=null){if(typeof d==`function`&&w)return d(w.point,e);if(typeof d==`string`)return d}return e.stroke},[d,u,w,ie]),oe=(0,K.useMemo)(()=>c==null?Q.crosshair:typeof c==`function`?w?c(w.point):Q.crosshair:c,[c,w]),se=(0,K.useMemo)(()=>{if(w)return F?F(w.point):Uc.format(j(w.point))},[w,F,j]),ce=(0,q.jsxs)(q.Fragment,{children:[t&&(0,q.jsx)(`svg`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,height:`100%`,width:`100%`,children:(0,q.jsx)(`g`,{transform:`translate(${O.left},${O.top})`,children:(0,q.jsx)(ku,{animate:!ee,colorEdge:oe,colorMid:oe,columnWidth:k,fadeEdges:v?`none`:y??`both`,fadeLength:b,height:D,springConfig:h,strokeDasharray:v,visible:V,width:`line`,x:H})})}),n&&V&&!z&&(0,q.jsx)(`svg`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,height:`100%`,width:`100%`,children:(0,q.jsx)(`g`,{transform:`translate(${O.left},${O.top})`,children:A.map((e,t)=>(0,q.jsx)(Tu,{color:ae(e,t),cornerRadiusFraction:r===`ring`?a:void 0,size:te,springConfig:h,strokeColor:Q.background,strokeWidth:r===`ring`?s:void 0,variant:r,visible:V,x:w?.xPositions?.[e.dataKey]??H,y:w?.yPositions[e.dataKey]??0},e.dataKey))})}),(0,q.jsx)(bu,{animate:B.animate,backgroundColor:C,className:p,containerHeight:E,containerRef:N,containerWidth:T,panelStyle:S,springConfig:B.springConfig,top:z?void 0:O.top,visible:V,x:U,y:z?re:O.top,children:l&&w?l({point:w.point,index:w.index}):!l&&(0,q.jsx)(Su,{rows:ie,title:se,children:f})}),(0,q.jsx)(Nu,{currentIndex:w?.index??0,discreteInteraction:ee,enabled:e&&!z,labels:M,springConfig:h,visible:V,xWithMargin:U})]});return(0,mu.createPortal)(ce,m)});function Mu(e){let{containerRef:t}=qo(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)(ju,{...e,container:i}):null}Mu.displayName=`ChartTooltip`;function Nu(e){return e.enabled&&e.visible&&e.labels.length>0?(0,q.jsx)(Pu,{...e}):null}function Pu({labels:e,currentIndex:t,xWithMargin:n,discreteInteraction:r,springConfig:i,visible:a}){let{tooltipSpring:o}=ks(),s=Qe(n,i??o);return r||s.set(n),(0,K.useEffect)(()=>{s.set(n)},[s,a]),(0,q.jsx)(G.div,{className:`pointer-events-none absolute z-50`,style:{left:r?n:s,transform:`translateX(-50%)`,bottom:4},children:(0,q.jsx)(yu,{currentIndex:t,labels:e,visible:a})})}var Fu=500;function Iu({label:e,x:t,crosshairX:n,hoveredLabel:i,isHovering:a,tickerHalfWidth:o,animatePosition:s}){let c=o+20,l=1;if(a&&n!==null){let r=Math.abs(t-n);r<o||i&&e===i?l=0:r<c&&(l=(r-o)/20)}return(0,q.jsx)(`div`,{className:`absolute`,style:{left:t,bottom:12,width:0,display:`flex`,justifyContent:`center`,transition:s?`left ${Fu}ms cubic-bezier(${$o.join(`, `)})`:void 0},children:(0,q.jsx)(`span`,{className:r(`whitespace-nowrap text-chart-label text-xs`),style:{opacity:l,transition:`opacity 0.4s ease-in-out`},children:e})})}var Lu=400;function Ru(e,t){if(t<0||t>e)return 0;let n=1;for(let r=0;r<t;r++)n=n*(e-r)/(r+1);return n}function zu(e,t){if(t===1)return e>=1?[[e]]:[];let n=[];for(let r=1;r<=e-(t-1);r++)for(let i of zu(e-r,t-1))n.push([r,...i]);return n}function Bu(e){let t=[0],n=0;for(let r of e)n+=r,t.push(n);return t}function Vu(e,t){let n=e-1;if(n<=0)return[0];let r=Array.from({length:t},(e,r)=>Math.round(r/(t-1)*n)),i=[...new Set(r)].sort((e,t)=>e-t);return i[0]!==0&&i.unshift(0),i.at(-1)!==n&&i.push(n),[...new Set(i)].sort((e,t)=>e-t)}function Hu(e,t){let n=e-1;if(n<=0)return[[0]];let r=t-1;return r<=0?[[0]]:Ru(n-1,r-1)>Lu?[Vu(e,t)]:zu(n,r).map(Bu)}function Uu(e,t,n,r){let i=new Set,a=[];for(let o of e){let e=t[o];if(!e)continue;let s=n[o]??Hc.format(r(e));i.has(s)||(i.add(s),a.push(o))}return a}function Wu(e){let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=e[n-1];r!=null&&i!=null&&t.push(r-i)}return t}function Gu(e){let t=Wu(e),n=Math.min(...t),r=t.indexOf(n);return r===t.length-1?0:r===0?1:2}function Ku(e,t,n){if(e.length<2)return{score:1/0,symmetryPenalty:1/0,countDistance:1/0,edgePreference:1/0};let r=[];for(let n=1;n<e.length;n++){let i=e[n],a=e[n-1];i!=null&&a!=null&&r.push(t(i)-t(a))}let i=Math.min(...r),a=Math.max(...r),o=r.reduce((e,t)=>e+t,0)/r.length,s=o>0?(a-i)/o:a-i,c=Math.abs(e.length-n),l=Wu(e),u=Math.min(...l),d=l.indexOf(u),f=d>0&&d<l.length-1?.08:0,p=l.reduce((e,t,n)=>e+Math.abs(t-(l.at(-1-n)??t)),0)/l.length;return{score:s+.1*c+f+p*.02,symmetryPenalty:p,countDistance:c,edgePreference:Gu(e)}}function qu(e,t,n,r){return e.score<t.score-1e-6?!0:Math.abs(e.score-t.score)>1e-6?!1:n<r?!0:n>r?!1:e.symmetryPenalty<t.symmetryPenalty-1e-6?!0:e.symmetryPenalty>t.symmetryPenalty+1e-6?!1:e.edgePreference<t.edgePreference}function Ju(e,t,n){if(e<=0)return[];if(e===1)return[0];if(e<=t)return Array.from({length:e},(e,t)=>t);let r=n?.resolveXPx??(e=>e),i=Math.max(2,t-1),a=Math.min(e,t+1),o=Vu(e,t),s=Ku(o,r,t),c=s.countDistance;for(let l=i;l<=a;l++)for(let i of Hu(e,l)){let e=n?.data&&n.dateLabels&&n.xAccessor?Uu(i,n.data,n.dateLabels,n.xAccessor):i;if(e.length<2)continue;let a=Ku(e,r,t),l=Math.abs(e.length-t);qu(a,s,l,c)&&(o=e,s=a,c=l)}return o}function Yu({data:e,dateLabels:t,marginLeft:n,targetTickCount:r,xAccessor:i,xScale:a}){let o=new Set,s=[],c=t=>{let n=e[t];return n?a(i(n))??0:t};for(let l of Ju(e.length,r,{data:e,dateLabels:t,resolveXPx:c,xAccessor:i})){let r=e[l];if(!r)continue;let c=i(r),u=t[l]??Hc.format(c);o.has(u)||(o.add(u),s.push({date:c,label:u,x:(a(c)??0)+n}))}return s}function Xu({marginLeft:e,numTicks:t,xScale:n}){let r=n.domain(),i=r[0],a=r[1];if(!(i&&a))return[];let o=i.getTime(),s=a.getTime()-o,c=Math.max(2,t),l=new Set,u=[];for(let t=0;t<c;t++){let r=t/(c-1),i=new Date(o+r*s),a=Hc.format(i);l.has(a)||(l.add(a),u.push({date:i,label:a,x:(n(i)??0)+e}))}return u}function Zu(e,t,n){if(e.length===0)return!1;let r=n.domain()[1],i=e.at(-1);return r&&i?r.getTime()>t(i).getTime():!1}function Qu(e,t,n,r,i,a){if(t.length===0||a<=0)return e;let o=t.at(-1),s=r.domain()[1];if(!(o&&s))return e;let c=n(o).getTime(),l=s.getTime();if(l<=c)return e;let u=new Set(e.map(e=>e.label)),d=[],f=Math.min(a,3);for(let e=1;e<=f;e++){let t=new Date(c+e/(f+1)*(l-c)),n=Hc.format(t);u.has(n)||(u.add(n),d.push({date:t,label:n,x:(r(t)??0)+i}))}let p=Hc.format(s);return u.has(p)||d.push({date:s,label:p,x:(r(s)??0)+i}),d.length===0?e:[...e,...d].sort((e,t)=>e.x-t.x)}function $u(e){let{containerRef:t}=qo(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)(ed,{...e,container:i}):null}var ed=(0,K.memo)(function({numTicks:e=5,tickerHalfWidth:t=50,tickMode:n=`data`,container:r}){let{xScale:i,margin:a,tooltipData:o,data:s,xAccessor:c,dateLabels:l,xDomain:u}=Xo(),d=(0,K.useMemo)(()=>{let t=n===`data`&&Zu(s,c,i);if(n===`domain`||t&&u==null)return Xu({marginLeft:a.left,numTicks:e,xScale:i});let r=Yu({data:s,dateLabels:l,marginLeft:a.left,targetTickCount:e,xAccessor:c,xScale:i});return t&&u!=null?Qu(r,s,c,i,a.left,Math.max(1,e-r.length+1)):r},[n,u,s,l,c,i,a.left,e]),f=o!==null,p=o?o.x+a.left:null,m=f&&o?l[o.index]??Hc.format(c(o.point)):null;return(0,mu.createPortal)((0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,children:d.map(e=>(0,q.jsx)(Iu,{animatePosition:u==null,crosshairX:p,hoveredLabel:m,isHovering:f,label:e.label,tickerHalfWidth:t,x:e.x},`${e.date.getTime()}-${e.x}`))}),r)});$u.displayName=`XAxis`;function td(e,t,n){let r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]),a=e??r,o=t??i;return[Math.min(a,o),Math.max(a,o)]}function nd(e){if(e==null||!Number.isFinite(e))return 5;let t=Math.round(e);return t<1?1:t>10?10:t}var rd=500;function id(e,t,n){return n?n(e):t&&e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e)}function ad(e,t,n,r){for(let i of r){if(!i.axisLabelColor||zo(i.yAxisId)!==t)continue;let[r,a]=td(i.y1,i.y2,n.domain()),o=n(a)??0,s=n(r)??0;if(e>=Math.min(o,s)&&e<=Math.max(o,s))return i.axisLabelColor}}function od(e){let{containerRef:t}=qo(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)(sd,{...e,container:i}):null}var sd=(0,K.memo)(function({yAxisId:e,orientation:t=`left`,numTicks:n=5,formatLargeNumbers:r=!0,formatValue:i,container:a}){let{margin:o,referenceAreas:s}=qo(),c=Jo(e),l=t===`left`,u=zo(e),d=(0,K.useMemo)(()=>c.ticks(nd(n)).map(e=>{let t=(c(e)??0)+o.top;return{value:e,y:t,label:id(e,r,i),labelColor:ad(t-o.top,u,c,s)}}),[c,o.top,n,r,i,u,s]);return(0,mu.createPortal)((0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,children:(0,q.jsx)(`div`,{className:`absolute top-0 bottom-0`,style:l?{left:0,width:o.left}:{right:0,width:o.right},children:d.map(e=>(0,q.jsx)(`div`,{className:`absolute flex items-center`,style:{top:e.y,transform:`translateY(-50%)`,transition:`top ${rd}ms cubic-bezier(${$o.join(`, `)})`,...l?{right:0,justifyContent:`flex-end`,paddingRight:8}:{left:0,justifyContent:`flex-start`,paddingLeft:8}},children:(0,q.jsx)(`span`,{className:`text-chart-label text-xs`,style:e.labelColor?{color:e.labelColor}:void 0,children:e.label})},e.value))})}),a)});od.displayName=`YAxis`;var $={requests:{key:`requests`,label:`Requests`,color:`var(--chart-1)`},errors:{key:`errors`,label:`Errors`,color:`var(--destructive)`},p95:{key:`p95`,label:`P95`,color:`var(--chart-2)`}};function cd({data:e}){let t=e.map(e=>({date:e.date,requests:e.requests,errors:e.errors,p95:e.p95}));return(0,q.jsxs)(ru,{aspectRatio:`16 / 7`,barGap:0,className:`min-h-[240px]`,data:t,margin:{top:12,right:44,bottom:28,left:36},maxBarSize:16,xDataKey:`date`,children:[(0,q.jsx)(pu,{horizontal:!0,numTicksRows:4}),(0,q.jsx)(kc,{dataKey:$.requests.key,fill:$.requests.color,radius:2}),(0,q.jsx)(wc,{dataKey:$.errors.key,showMarkers:!1,stroke:$.errors.color,strokeWidth:2}),(0,q.jsx)(Zs,{dataKey:$.p95.key,fadeEdges:!0,fill:$.p95.color,fillOpacity:.28,showMarkers:!1,strokeWidth:2,yAxisId:`right`}),(0,q.jsx)(od,{formatLargeNumbers:!1,numTicks:4}),(0,q.jsx)(od,{formatValue:e=>Le(e),numTicks:4,orientation:`right`,yAxisId:`right`}),(0,q.jsx)($u,{numTicks:6}),(0,q.jsx)(Mu,{rows:ld,showCrosshair:!0})]})}function ld(e){let t=ud(e.requests),n=ud(e.errors),r=ud(e.p95);return[{color:$.requests.color,label:$.requests.label,value:t},{color:$.errors.color,label:$.errors.label,value:n},{color:$.p95.color,label:$.p95.label,value:Le(r)}]}function ud(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function dd({series:e,stats:t}){if(e.kind===`empty`||t.kind===`empty`)return(0,q.jsx)(Ke,{icon:i,title:`No runs in this window`,description:`The Console buffer has no traces for the selected lookback. Numbers stay empty — they are not zero.`});let n=rn(e.buckets),a=Math.round(t.errorRate*100);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`observability-metrics`,children:[(0,q.jsxs)(`header`,{className:v,children:[(0,q.jsx)(`h2`,{className:r(P,`flex items-center px-2`),children:`Metrics`}),(0,q.jsxs)(`span`,{className:`ml-auto px-2 font-mono text-[10px] text-muted-foreground`,children:[e.buckets.length,` buckets`]})]}),(0,q.jsxs)(`div`,{className:`grid shrink-0 grid-cols-4 border-b border-border/60`,"data-slot":`observability-kpis`,children:[(0,q.jsx)(fd,{label:`Runs`,value:String(t.total)}),(0,q.jsx)(fd,{label:`Errors`,meta:`${a}%`,tone:t.errors>0?`warn`:`ok`,value:String(t.errors)}),(0,q.jsx)(fd,{label:`P95`,toneClassName:ge(he(t.p95Ms)),value:Le(t.p95Ms)}),(0,q.jsx)(fd,{label:`P50`,toneClassName:ge(he(t.p50Ms)),value:Le(t.p50Ms)})]}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 px-3 pt-3`,"data-slot":`observability-legend`,children:[(0,q.jsx)(pd,{color:$.requests.color,label:$.requests.label,shape:`bar`}),(0,q.jsx)(pd,{color:$.errors.color,label:$.errors.label,shape:`line`}),(0,q.jsx)(pd,{color:$.p95.color,label:`${$.p95.label} · right`,shape:`area`})]}),(0,q.jsx)(`div`,{className:`px-1 pb-2`,"data-slot":`observability-chart`,children:(0,q.jsx)(cd,{data:n})})]})]})}function fd({label:e,value:t,meta:n,tone:i,toneClassName:a}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5 border-r border-border/60 px-3 py-2.5 last:border-r-0`,children:[(0,q.jsx)(`span`,{className:r(P,`text-muted-foreground`),children:e}),(0,q.jsxs)(`span`,{className:r(`font-mono text-lg leading-none font-semibold tabular-nums tracking-tight`,i===`warn`&&`text-destructive`,i===`ok`&&`text-foreground`,a),children:[t,n?(0,q.jsx)(`span`,{className:`ml-1.5 text-[10px] font-medium text-muted-foreground`,children:n}):null]})]})}function pd({color:e,label:t,shape:n}){return(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[10px] text-muted-foreground`,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`shrink-0`,n===`bar`&&`h-2 w-2 rounded-[2px]`,n===`line`&&`h-0.5 w-3 rounded-full`,n===`area`&&`h-2 w-2.5 rounded-sm opacity-70`),style:{backgroundColor:e}}),t]})}function md(e){if(!e.error)return null;let t=e.error.data,n=t&&typeof t==`object`&&`reason`in t&&typeof t.reason==`string`?t.reason:null,r=Error(n??e.error.message??e.error.code);return r.code=e.error.code,r.data=e.error.data,r}function hd(){return L({mutationFn:async e=>{let t=await c(e),n=md(t);if(n)throw n;if(!t.data)throw Error(`Empty runs query`);return t.data}})}var gd=`SELECT flow, count(*) AS runs, round(avg(duration_ms), 1) AS avg_ms
|
|
2
|
+
FROM runs
|
|
3
|
+
GROUP BY flow
|
|
4
|
+
ORDER BY runs DESC`;function _d(){let[e,t]=(0,K.useState)(gd),[n,i]=(0,K.useState)(!0),a=hd(),s=a.error instanceof Error?a.error.message:a.error?String(a.error):null;return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`runs-query-panel`,children:[(0,q.jsxs)(`header`,{className:v,children:[(0,q.jsx)(`h2`,{className:r(P,`flex items-center px-2`),children:`Query`}),(0,q.jsx)(qe,{piiMasked:n,disabled:a.isPending,onToggle:()=>i(e=>!e)}),(0,q.jsxs)(`button`,{type:`button`,className:r(d,`ml-auto font-semibold disabled:pointer-events-none disabled:opacity-40`),disabled:a.isPending||e.trim().length===0,onClick:()=>a.mutate({sql:e,...n?{}:{revealPii:!0}}),"data-slot":`runs-query-run`,children:[(0,q.jsx)(N,{icon:o,className:`size-3.5`}),`Run`]})]}),(0,q.jsx)(`p`,{className:`shrink-0 border-b border-border/60 px-3 py-1.5 text-[11px] leading-relaxed text-muted-foreground`,"data-slot":`runs-query-pii-gap`,role:`note`,children:`Free-form SQL over persisted runs. Masking is column-key only (dim_* and JSON blobs) — aliases and expressions can leak classified values. Limitation: RunsQueryPiiProjectionGap. Not the same guarantee as GET /console/runs.`}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,q.jsx)(Ve,{value:e,onChange:t,language:`sql`,onRun:()=>a.mutate({sql:e,...n?{}:{revealPii:!0}}),label:`Runs SQL`})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 border-t border-border/60`,children:(0,q.jsx)(He,{rows:a.data?.rows??null,error:s,pending:a.isPending,meta:a.data?`${a.data.rowCount} rows${a.data.truncated?` (truncated)`:``} · ${a.data.durationMs}ms`:null,executed:e,storeRef:`runs`})})]})}function vd(e,t,n){return`${e}\u001f${t??``}\u001f${n}`}function yd(e,t,n){let r=Te(e,t,n).filter(Ce);if(r.length===0)return{kind:`empty`};let i=new Map;for(let e of r){let t=e.error,n=vd(t,e.errorMessage,e.flow),r=i.get(n);if(!r){i.set(n,{key:n,error:t,errorMessage:e.errorMessage,flow:e.flow,count:1,latestStartedAt:e.startedAt,latestRunId:e.id});continue}let a=e.startedAt>=r.latestStartedAt;i.set(n,{...r,count:r.count+1,latestStartedAt:a?e.startedAt:r.latestStartedAt,latestRunId:a?e.id:r.latestRunId})}return{kind:`groups`,groups:[...i.values()].sort((e,t)=>t.count===e.count?t.latestStartedAt-e.latestStartedAt:t.count-e.count),windowMs:n}}function bd(e,t){let n=t.trim().toLowerCase();return n.length===0?e:e.filter(e=>e.error.toLowerCase().includes(n)||e.flow.toLowerCase().includes(n)||(e.errorMessage?.toLowerCase().includes(n)??!1))}function xd(e){let t=[],n=new Map;for(let r of e){let e=n.get(r.error);if(!e){t.push(r.error),n.set(r.error,[r]);continue}e.push(r)}return t.map(e=>({error:e,groups:n.get(e)??[]}))}function Sd({group:e,selected:t,nowMs:n,onSelect:i}){return(0,q.jsxs)(`div`,{"data-slot":`observability-error-row`,"data-error-key":e.key,"data-selected":t?`true`:`false`,className:r(`group relative flex w-full items-stretch border-b border-border/60 text-xs transition-colors`,`hover:bg-muted/50 focus-within:bg-muted/50`,t&&`bg-muted/70`),children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(k,`bg-destructive`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:`flex min-w-0 flex-1 items-center gap-2 py-1.5 pr-1 pl-0 text-left outline-none`,children:[(0,q.jsx)(`span`,{className:`ml-2.5 size-1.5 shrink-0 rounded-full bg-destructive`,"aria-hidden":!0}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:e.flow}),e.errorMessage?(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[` · `,e.errorMessage]}):null]}),(0,q.jsx)(`span`,{className:`w-8 shrink-0 text-right font-mono tabular-nums text-[10px] text-muted-foreground`,children:e.count}),(0,q.jsx)(`span`,{className:`w-10 shrink-0 truncate text-right text-[10px] text-muted-foreground`,children:Cd(e.latestStartedAt,n)})]}),(0,q.jsx)(`button`,{type:`button`,className:r(`flex items-center px-2 text-[10px] text-muted-foreground hover:bg-muted/50 hover:text-foreground`,`opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100`),"data-slot":`observability-error-open-trace`,onClick:t=>{t.stopPropagation(),i(e)},children:`Trace`})]})}function Cd(e,t){let n=Math.max(0,t-e);return n<6e4?`${Math.max(1,Math.round(n/1e3))}s`:n<36e5?`${Math.round(n/6e4)}m`:`${Math.round(n/36e5)}h`}function wd({errors:e,query:t,selectedErrorKey:n,nowMs:r,onQueryChange:i,onSelect:a}){let o=e.kind===`groups`?e.groups:[],s=(0,K.useMemo)(()=>bd(o,t),[o,t]),c=(0,K.useMemo)(()=>xd(s),[s]);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`observability-error-list`,children:[(0,q.jsx)(`div`,{className:f,children:(0,q.jsx)(Fe,{"data-slot":`observability-error-search`,value:t,onChange:e=>i(e.target.value),placeholder:`Filter errors…`,"aria-label":`Filter errors`})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.kind===`empty`?(0,q.jsx)(`p`,{className:E,"data-slot":`observability-errors-empty`,children:`No errors in the Console buffer for this window.`}):s.length===0?(0,q.jsx)(`p`,{className:E,children:`No errors match this filter.`}):c.map(e=>(0,q.jsx)(Td,{error:e.error,groups:e.groups,selectedErrorKey:n,nowMs:r,onSelect:a},e.error))})]})}function Td({error:e,groups:t,selectedErrorKey:i,nowMs:a,onSelect:o}){let[c,u]=(0,K.useState)(!0),d=t.reduce((e,t)=>e+t.count,0);return(0,q.jsxs)(Pe,{open:c,onOpenChange:u,className:l,children:[(0,q.jsx)(Ne,{nativeButton:!1,className:n,render:t=>(0,q.jsxs)(`div`,{...t,children:[(0,q.jsx)(N,{icon:s,className:r(D,!c&&`-rotate-90`),"aria-hidden":!0}),(0,q.jsx)(N,{icon:b,className:`size-3.5 shrink-0 text-destructive`}),(0,q.jsx)(`span`,{className:h,children:e}),(0,q.jsx)(`span`,{className:C,children:d})]})}),(0,q.jsx)(je,{children:t.map(e=>(0,q.jsx)(Sd,{group:e,selected:e.key===i,nowMs:a,onSelect:o},e.key))})]})}var Ed=Object.keys(Se);function Dd({cells:e,window:t,onWindowChange:n,onInstancesClick:i}){return(0,q.jsx)(`section`,{"aria-label":`System health`,className:`shrink-0 border-b border-border/60 bg-background`,"data-slot":`observability-health-strip`,children:(0,q.jsxs)(`div`,{className:`flex min-h-10 flex-wrap items-stretch`,children:[e.map(e=>(0,q.jsx)(Od,{cell:e,onClick:e.id===`instances`?i:void 0},e.id)),(0,q.jsx)(`div`,{className:`ml-auto flex items-stretch`,role:`group`,"aria-label":`Lookback window`,children:Ed.map(e=>{let i=e===t;return(0,q.jsx)(Ee,{label:`Last ${e}`,className:`flex self-stretch`,children:(0,q.jsx)(`button`,{type:`button`,"aria-pressed":i,onClick:()=>n(e),className:r(d,`tabular-nums`,i?F:j),children:e})},e)})})]})})}function Od({cell:e,onClick:t}){let n=r(`flex items-center gap-1.5 self-stretch px-2 text-[10px] transition-colors`,e.tone===`warn`&&`text-destructive dark:text-rose-300`,e.tone===`ok`&&`text-foreground/85`,e.tone===`empty`&&`text-muted-foreground`,(t||e.href)&&`hover:bg-muted/50`),i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`size-1.5 shrink-0 rounded-full`,e.tone===`ok`&&`bg-emerald-500 dark:bg-emerald-400`,e.tone===`warn`&&`bg-destructive`,e.tone===`empty`&&`bg-muted-foreground/40`,e.id===`live`&&e.tone===`ok`&&`animate-pulse`)}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,q.jsx)(`span`,{className:`font-mono tabular-nums`,children:e.value})]});return t?(0,q.jsx)(`button`,{type:`button`,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,"aria-label":`${e.label} ${e.value}`,onClick:t,children:i}):e.href?(0,q.jsx)(I,{to:e.href,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,"aria-label":`${e.label} ${e.value}`,children:i}):(0,q.jsx)(`span`,{role:e.tone===`warn`?`alert`:`status`,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,children:i})}function kd(e,t,n){let r=Te(e,t,n),i=0;for(let e of r)for(let t of e.effects)(t.kind===`ask`||t.kind===`call`&&ze(t.resource))&&(i+=1);return i===0?{kind:`empty`}:{kind:`summary`,asks:i,windowMs:n}}function Ad(e,t){let n=new Set(t.flatMap(e=>e.children.map(e=>e.effectRef)));return n.size===0?null:Ue(e,n)}function jd(e){return[Md(e.fleet),Nd(e.vaultCard),Pd(e.stores),Fd(e.runs,e.stores),Id(e.crons),Ld(e.signals),Rd(e.window),zd(e.liveStatus)]}function Md(e){return!e||e.kind===`empty`?{id:`instances`,label:`Instances`,value:`no fleet`,tone:`empty`}:e.alive===0?{id:`instances`,label:`Instances`,value:`0 alive`,tone:`warn`}:{id:`instances`,label:`Instances`,value:`${e.alive} alive`,tone:`ok`}}function Nd(e){if(!e)return{id:`vault`,label:`Vault`,value:`no backend`,tone:`empty`,href:`/vault`};let t=e.badges.find(e=>e.tone===`warn`);if(t)return{id:`vault`,label:`Vault`,value:t.label,tone:`warn`,href:`/vault`};let n=e.badges.find(e=>e.id===`unsealed`||e.id===`sealed`),r=e.facts.find(e=>e.label===`KEK generation`),i=[n?.label,r?.value].filter(e=>!!e);return{id:`vault`,label:`Vault`,value:i.length>0?i.join(` · `):e.title,tone:`ok`,href:`/vault`}}function Pd(e){if(e.length===0)return{id:`drift`,label:`Store`,value:`no stores`,tone:`empty`,href:`/store`};let t=e.filter(e=>e.migrationDrift?.drifted===!0).length;return t>0?{id:`drift`,label:`Store`,value:`${t} drifted`,tone:`warn`,href:`/store`}:{id:`drift`,label:`Store`,value:`in sync`,tone:`ok`,href:`/store`}}function Fd(e,t){let n=Ad(e,t);return n==null?{id:`lag`,label:`Replica`,value:`no lag observed`,tone:`empty`,href:`/store`}:{id:`lag`,label:`Replica`,value:Le(n),tone:n>=250?`warn`:`ok`,href:`/store`}}function Id(e){if(e.length===0)return{id:`clock`,label:`Clock`,value:`no crons`,tone:`empty`};let t=e.filter(e=>e.health.overdue).length;if(t>0)return{id:`clock`,label:`Clock`,value:`${t} overdue`,tone:`warn`};let n=e.find(e=>e.health.leaderInstanceId)?.health.leaderInstanceId;return{id:`clock`,label:`Clock`,value:n?`lease ${Bd(n)}`:`on schedule`,tone:`ok`}}function Ld(e){if(e.length===0)return{id:`signal`,label:`Signal`,value:`no signals`,tone:`empty`};let t=e.reduce((e,t)=>e+t.dead,0),n=e.reduce((e,t)=>e+t.pending,0),r=e.reduce((e,t)=>t.outboxLagMs==null?e:e==null||t.outboxLagMs>e?t.outboxLagMs:e,null);return t>0?{id:`signal`,label:`Signal`,value:`${t} dead`,tone:`warn`}:r!=null&&r>=250?{id:`signal`,label:`Signal`,value:`${Le(r)} lag`,tone:`warn`}:n>0?{id:`signal`,label:`Signal`,value:`${n} pending`,tone:`ok`}:{id:`signal`,label:`Signal`,value:`quiet`,tone:`ok`}}function Rd(e){if(e.kind===`empty`)return{id:`window`,label:`Runs`,value:`no recent runs`,tone:`empty`};let t=Math.round(e.errorRate*100);return{id:`window`,label:`Runs`,value:`P95 ${Le(e.p95Ms)} · ${t}% err`,tone:e.errorRate>0||e.p95Ms>=250?`warn`:`ok`}}function zd(e){return e===`open`?{id:`live`,label:`Live`,value:`live`,tone:`ok`}:e===`connecting`?{id:`live`,label:`Live`,value:`connecting`,tone:`empty`}:{id:`live`,label:`Live`,value:`polling`,tone:`warn`}}function Bd(e){return e.length<=8?e:e.slice(0,8)}function Vd(){let e=Re(),t=Ie(!0),n=Be(),i=We(),a=Gt(),o=qt(),s=Yt(),c=Ut(),{selectedRunId:l,window:u,selectedErrorKey:f,query:m,view:h,setSelectedRun:_,setWindow:y,setSelectedError:b,setQuery:x,setView:C}=we(),[w,T]=(0,K.useState)(!1),E=De(),D=(0,q.jsx)(Oe,{open:E.open,onToggle:E.toggle,noun:`errors`,controlsId:`observability-errors`,dataSlot:`observability-errors-toggle`}),O=Date.now(),k=Se[u],A=e.data??[],M=(0,K.useMemo)(()=>xe(A,O,k),[A,O,k]),N=(0,K.useMemo)(()=>yd(A,O,k),[A,O,k]),P=(0,K.useMemo)(()=>sn(A,O,k),[A,O,k]),F=(0,K.useMemo)(()=>kd(A,O,k),[A,O,k]),I=(0,K.useMemo)(()=>Xt(A,O,k),[A,O,k]),L=(0,K.useMemo)(()=>Ge(i.data?.backend??null),[i.data?.backend]),R=(0,K.useMemo)(()=>jd({vaultCard:L,stores:n.data?.stores??[],runs:A,crons:a.data?.crons??[],signals:s.data?.signals??[],window:M,liveStatus:t,fleet:o.data}),[L,n.data?.stores,A,a.data?.crons,s.data?.signals,M,t,o.data]),z=(0,K.useMemo)(()=>l?A.find(e=>e.id===l)??null:null,[A,l]);return(0,q.jsxs)(`div`,{className:p,"data-slot":`observability-page`,children:[(0,q.jsx)(Dd,{cells:R,window:u,onWindowChange:y,onInstancesClick:()=>T(!0)}),(0,q.jsxs)(ke,{orientation:`horizontal`,className:`min-h-0 flex-1`,children:[(0,q.jsx)(Ae,{panelRef:E.panelRef,collapsible:!0,collapsedSize:0,defaultSize:S.start.defaultSize,minSize:S.start.minSize,onResize:E.onResize,className:`min-h-0 overflow-hidden`,children:(0,q.jsx)(`div`,{id:`observability-errors`,className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`observability-errors`,children:(0,q.jsx)(wd,{errors:N,query:m,selectedErrorKey:f,nowMs:O,onQueryChange:x,onSelect:e=>b(e.key,e.latestRunId)})})}),E.open?(0,q.jsx)(Me,{withHandle:!0}):null,(0,q.jsx)(Ae,{defaultSize:S.end.defaultSize,minSize:S.end.minSize,className:`min-h-0 overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:v,role:`tablist`,"aria-label":`Observability detail`,children:[D,(0,q.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0}),(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":h===`metrics`,className:r(d,`font-semibold tracking-[0.08em] uppercase`,h===`metrics`?g:j),onClick:()=>C(`metrics`),"data-slot":`observability-view-metrics`,children:`Metrics`}),(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":h===`query`,className:r(d,`font-semibold tracking-[0.08em] uppercase`,h===`query`?g:j),onClick:()=>C(`query`),"data-slot":`observability-view-query`,children:`SQL`})]}),h===`query`?(0,q.jsx)(_d,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)($t,{ai:c.data,asks:F,tokens:I}),(0,q.jsx)(dd,{series:P,stats:M})]})]})})]}),(0,q.jsx)(ye,{run:z,onClose:()=>_(null)}),(0,q.jsx)(tn,{fleet:o.data,open:w,onClose:()=>T(!1)})]})}export{Vd as ObservabilityPage};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ar as t,Cr as n,F as r,Fr as i,Ir as a,L as o,Mr as s,P as c,Pr as l,Ri as u,Si as d,Sr as f,Ti as p,Xi as m,Ya as h,_r as g,ar as _,dr as v,ea as y,gr as b,hr as x,i as ee,ir as te,ji as ne,kr as re,l as ie,li as S,nr as ae,o as oe,or as se,qr as ce,s as le,ta as C,tr as ue,u as de,ur as fe,vr as pe,wr as w,xr as me}from"./shortcut-keys-DO4IsVqv.js";import{r as T}from"./react-dom-Bph1y7z7.js";import{A as E}from"./xyflow-D7n4g6go.js";import{O as D,R as he,i as O,k as ge,n as _e,t as k,v as A,w as ve,y as ye,z as j}from"./react-B1ML8gxg.js";import{a as be,i as xe,t as M}from"./duration-tone-oiRxPVsZ.js";import{d as N,i as Se,n as Ce,r as we,t as Te}from"./collapsible-DYb0xU8C.js";import{c as Ee,i as P,t as F}from"./highlighted-json-CvDPvveV.js";import{C as I,a as De,c as Oe,d as L,f as R,g as z,m as ke,o as Ae,p as je,r as B,s as Me,t as V}from"./http-method-CJCBYL2j.js";function H(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],a=e[2+n],o=e[3+n],s=ve(i,a,o);return t?s(r):s}var U=e(T(),1);function W(e){let t=j(()=>ye(e)),{isStatic:n}=(0,U.useContext)(O);if(n){let[,n]=(0,U.useState)(e);(0,U.useEffect)(()=>t.on(`change`,n),[])}return t}function G(e,t){let n=W(t()),r=()=>n.set(t());return r(),he(()=>{let t=()=>ge.preRender(r,!1,!0),n=e.map(e=>e.on(`change`,t));return()=>{n.forEach(e=>e()),D(r)}}),n}function K(e){A.current=[],e();let t=G(A.current,e);return A.current=void 0,t}function q(e,t,n,r){if(typeof e==`function`)return K(e);if(n!==void 0&&!Array.isArray(n)&&typeof t!=`function`)return Pe(e,t,n,r);let i=typeof t==`function`?t:H(t,n,r),a=Array.isArray(e)?Ne(e,i):Ne([e],([e])=>i(e)),o=Array.isArray(e)?void 0:e.accelerate;return o&&!o.isTransformed&&typeof t!=`function`&&Array.isArray(n)&&r?.clamp!==!1&&(a.accelerate={...o,times:t,keyframes:n,isTransformed:!0,...r?.ease?{ease:r.ease}:{}}),a}function Ne(e,t){let n=j(()=>[]);return G(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}function Pe(e,t,n,r){let i=j(()=>Object.keys(n)),a=j(()=>({}));for(let o of i)a[o]=q(e,t,n[o],r);return a}var J=E();function Fe(e){return!Number.isFinite(e)||e<=0?900:Math.min(1600,Math.max(700,e*6))}function Ie(e,t){let n=t?.flows??{},r=[...e],i=[];for(let e=0;e<r.length;e++){let t=r[e];i.push(`flow:${t}`);let a=r[e+1];if(!a)break;let o=Le(t,a,n);o&&i.push(`signal:${o}`)}return i}function Le(e,t,n){let r=n[e],i=n[t];if(!r||!i)return null;let a=i.trigger?.signal;return a&&r.effects?.emits?.includes(a)?a:null}function Re(e,t){return e.length===0?null:e[Math.floor(Math.min(.999,Math.max(0,t))*e.length)]??null}function ze(e){return typeof e!=`object`||!e||Array.isArray(e)?null:Object.entries(e).map(([e,t])=>({key:e,value:t,display:We(t),kind:Ue(t)}))}function Be(e){if(Array.isArray(e)){let t=e.length;return`${t} ${t===1?`item`:`items`}`}if(typeof e==`object`&&e){let t=Object.keys(e).length;return`${t} ${t===1?`field`:`fields`}`}return typeof e==`string`?`${e.length} chars`:null}function Ve(e){let t=new TextEncoder().encode(e).length;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function He(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function Ue(e){if(e===null)return`null`;if(Array.isArray(e))return`array`;switch(typeof e){case`string`:return`string`;case`number`:return`number`;case`boolean`:return`boolean`;case`object`:return`object`;default:return`string`}}function We(e){if(e===null)return`null`;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return String(e)}}var Y=`flex min-h-0 flex-1 flex-col`,Ge=`flex min-h-0 flex-1 overflow-auto pb-3 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`;function Ke({method:e,path:t,headline:r,input:i,output:a,error:o,errorMessage:s,inputOpen:c,onInputOpenChange:l,outputOpen:u,onOutputOpenChange:d}){let f=e&&t?`${e} ${t}`:r,p=o!==null,m=i!=null,h=u&&!p&&a!=null,g=c&&m&&!h;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`section`,{className:n(`border-b border-border/60 last:border-b-0`,g&&n(Y,`pb-3`)),"data-slot":`trace-request`,children:[(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsx)(`h3`,{className:n(me,`flex items-center px-2`),children:`Request`}),f?(0,J.jsx)(`div`,{className:`ml-auto flex h-full items-stretch`,children:(0,J.jsx)(X,{label:`Copy endpoint`,text:f,dataSlot:`trace-request-copy-endpoint`})}):null]}),(0,J.jsx)(`div`,{"data-slot":`trace-request-frame`,className:g?Y:void 0,children:(0,J.jsxs)(`div`,{className:n(`flex min-w-0`,g&&`min-h-0 flex-1`),children:[(0,J.jsx)(Je,{method:e}),(0,J.jsxs)(`div`,{className:n(`flex min-w-0 flex-1 flex-col`,g&&`min-h-0`),children:[(0,J.jsx)(Ye,{method:e,path:t,headline:r}),(0,J.jsx)(qe,{value:i,open:c,onOpenChange:l,label:`Body`,empty:`No stored input — replay uses an empty body when the ledger has none.`,copyLabel:`Copy body JSON`,copySlot:`trace-request-copy-input`,toggleSlot:`trace-input-toggle`,fieldsSlot:`trace-request-fields`,jsonSlot:`trace-input-json`,fill:g})]})]})})]}),(0,J.jsxs)(`section`,{className:n(`border-b border-border/60 last:border-b-0`,h&&n(Y,`pb-3`)),"data-slot":`trace-response`,children:[(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsx)(`h3`,{className:n(me,`flex items-center px-2`),children:`Response`}),(0,J.jsxs)(`div`,{className:`ml-auto flex h-full items-stretch`,children:[!p&&a!=null?(0,J.jsx)(X,{label:`Copy response JSON`,text:JSON.stringify(a,null,2),dataSlot:`trace-response-copy`}):null,p?(0,J.jsx)(X,{label:`Copy error`,text:[o,s].filter(Boolean).join(`
|
|
2
|
+
`),dataSlot:`trace-response-copy-error`}):null]})]}),p?(0,J.jsx)(`div`,{"data-slot":`trace-response-error`,role:`alert`,children:(0,J.jsxs)(`div`,{className:`flex min-w-0`,children:[(0,J.jsx)(`div`,{className:`w-1 shrink-0 self-stretch bg-destructive`,"aria-hidden":!0,"data-slot":`trace-response-rail`}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1 px-2.5 py-2.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(w,{icon:re,className:`size-3.5 shrink-0 text-destructive`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`font-mono text-xs font-semibold text-destructive`,children:o})]}),s?(0,J.jsx)(`p`,{className:`text-[11px] leading-snug text-destructive/90`,children:s}):(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Run failed with this error code — no return value was stored.`})]})]})}):(0,J.jsx)(`div`,{"data-slot":`trace-response-frame`,className:h?Y:void 0,children:(0,J.jsxs)(`div`,{className:n(`flex min-w-0`,h&&`min-h-0 flex-1`),children:[(0,J.jsx)(`div`,{className:`w-1 shrink-0 self-stretch bg-emerald-500`,"aria-hidden":!0,"data-slot":`trace-response-rail`}),(0,J.jsx)(`div`,{className:n(`flex min-w-0 flex-1 flex-col`,h&&`min-h-0`),children:(0,J.jsx)(qe,{value:a,open:u,onOpenChange:d,label:`Body`,empty:`No stored response — this run completed without a return value.`,copyLabel:`Copy response JSON`,copySlot:`trace-response-copy-body`,toggleSlot:`trace-response-toggle`,fieldsSlot:`trace-response-fields`,jsonSlot:`trace-response-json`,fill:h})})]})})]})]})}function qe({value:e,open:t,onOpenChange:r,label:i,empty:a,copyLabel:o,copySlot:c,toggleSlot:l,fieldsSlot:u,jsonSlot:d,fill:f=!1}){let p=e!=null,m=(0,U.useMemo)(()=>p?JSON.stringify(e,null,2):``,[p,e]),h=(0,U.useMemo)(()=>p?ze(e):null,[p,e]),_=(0,U.useMemo)(()=>p?Be(e):null,[p,e]),v=(0,U.useMemo)(()=>p?Ve(m):null,[p,m]),[y,b]=(0,U.useState)(h?`fields`:`raw`);return(0,U.useEffect)(()=>{b(h?`fields`:`raw`)},[h]),p?(0,J.jsxs)(Te,{open:t,onOpenChange:r,className:f?Y:void 0,children:[(0,J.jsxs)(`div`,{className:n(x,`border-t`),children:[(0,J.jsxs)(we,{className:n(g,`min-w-0 flex-1 justify-start`),"data-slot":l,children:[(0,J.jsx)(w,{icon:s,className:n(ue,!t&&`-rotate-90`)}),(0,J.jsx)(`span`,{children:i}),_?(0,J.jsxs)(`span`,{className:`truncate font-normal text-muted-foreground`,children:[`· `,_]}):null,v?(0,J.jsx)(`span`,{className:`shrink-0 font-mono text-[10px] font-normal text-muted-foreground tabular-nums`,children:v}):null]}),h?(0,J.jsx)(Xe,{view:y,onChange:b}):null,(0,J.jsx)(X,{label:o,text:m,dataSlot:c})]}),(0,J.jsx)(Ce,{className:f?n(Y,`overflow-hidden`):void 0,children:(0,J.jsx)(`div`,{className:n(`border-t border-border/60`,f&&Y),children:y===`fields`&&h?(0,J.jsx)(`div`,{className:f?`min-h-0 flex-1 overflow-auto pb-3`:void 0,children:(0,J.jsx)(Qe,{rows:h,dataSlot:u})}):(0,J.jsx)(F,{json:m,dataSlot:d,className:f?Ge:void 0})})})]}):(0,J.jsx)(`p`,{className:`border-t border-border/60 px-2 py-2 text-[11px] text-muted-foreground`,children:a})}function Je({method:e}){return(0,J.jsx)(`div`,{className:n(`w-1 shrink-0 self-stretch`,e?B(e):`bg-muted-foreground/50`),"aria-hidden":!0,"data-slot":`trace-request-rail`})}function Ye({method:e,path:t,headline:r}){return e&&t?(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 px-2.5 py-2`,"data-slot":`trace-request-endpoint`,children:[(0,J.jsx)(`span`,{className:n(`shrink-0 font-mono text-[10px] font-semibold tracking-[0.08em] uppercase`,f(V(e))),"data-slot":`trace-request-method`,children:e}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs text-foreground select-all`,children:t})]}):(0,J.jsx)(`div`,{className:`px-2.5 py-2 font-mono text-xs text-foreground select-all`,"data-slot":`trace-request-endpoint`,children:r})}function Xe({view:e,onChange:t}){return(0,J.jsxs)(`div`,{className:`flex h-full shrink-0 items-stretch`,role:`group`,"aria-label":`Body view`,"data-slot":`trace-request-view-toggle`,children:[(0,J.jsx)(Ze,{active:e===`fields`,label:`Fields`,icon:p,onClick:()=>t(`fields`)}),(0,J.jsx)(Ze,{active:e===`raw`,label:`Raw`,icon:m,onClick:()=>t(`raw`)})]})}function Ze({active:e,label:t,icon:r,onClick:i}){return(0,J.jsxs)(`button`,{type:`button`,className:n(g,`font-semibold tracking-[0.08em] uppercase`,e?b:pe),"aria-pressed":e,"aria-label":t,onClick:i,children:[(0,J.jsx)(w,{icon:r,className:`size-3`}),(0,J.jsx)(`span`,{className:`hidden sm:inline`,children:t})]})}function Qe({rows:e,dataSlot:t}){return(0,J.jsx)(`ul`,{"data-slot":t,children:e.map(e=>(0,J.jsxs)(`li`,{className:n(v,`group/field items-start`),"data-slot":`trace-payload-field`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-3`,children:[(0,J.jsx)(`span`,{className:`w-[7.5rem] shrink-0 truncate font-mono text-[11px] font-medium text-sky-600 dark:text-sky-400`,children:e.key}),(0,J.jsx)(`span`,{className:n(`min-w-0 flex-1 break-all font-mono text-[11px] leading-snug`,$e(e.kind)),title:e.display,children:e.display})]}),(0,J.jsx)(`span`,{className:`mt-0.5 shrink-0 font-mono text-[9px] tracking-wide text-muted-foreground uppercase opacity-70`,children:e.kind}),(0,J.jsx)(`div`,{className:`opacity-0 transition-opacity group-hover/field:opacity-100 group-focus-within/field:opacity-100`,children:(0,J.jsx)(X,{label:`Copy ${e.key}`,text:He(e.value),dataSlot:`trace-payload-copy-field`,bare:!0})})]},e.key))})}function $e(e){switch(e){case`string`:return`text-teal-800/90 dark:text-teal-300/90`;case`number`:return`text-amber-800 dark:text-amber-300`;case`boolean`:return`text-violet-800 dark:text-violet-300`;case`null`:return`text-muted-foreground italic`;default:return`text-foreground/80`}}function X({text:e,label:t,dataSlot:n,bare:i=!1}){let[a,s]=(0,U.useState)(!1),l=async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1200)}catch{s(!1)}};return(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:e=>(0,J.jsx)(`button`,{...e,type:`button`,className:i?te:_,"aria-label":a?`Copied`:t,"data-slot":n,onClick:t=>{e.onClick?.(t),l(t)},children:(0,J.jsx)(w,{icon:a?y:ce,className:`size-3.5`})})}),(0,J.jsx)(r,{side:`bottom`,className:`text-[11px]`,children:a?`Copied`:t})]})}function et(e){return e.effects.some(e=>e.kind===`send`||e.kind===`ask`||e.reversibility===`irreversible`)}function tt(e){return{rootId:e.id,dryRun:et(e)}}async function nt(e,t=h){return t(tt(e))}function rt(e){return e.id}function it(e){let t=at(e),n=z[t];return{icon:n.icon,label:n.label}}function at(e){switch(e){case`http`:return`http`;case`signal`:return`signal`;case`every`:return`every`;case`cron`:return`cron`;case`cdc`:return`cdc`;case`internal`:return`internal`;default:return`internal`}}function ot(e,t,n){return!Number.isFinite(t)||!Number.isFinite(n)||n<=0?e.map((e,t)=>({index:t,kind:e.kind,resource:e.resource,startOffsetMs:0,durationMs:0,offsetRatio:0,widthRatio:0})):e.map((e,r)=>{let i=Number.isFinite(e.timestamp)?e.timestamp-t:0,a=Number.isFinite(e.duration)?Math.max(0,e.duration):0,o=Math.min(n,Math.max(0,i)),s=Math.min(n,Math.max(o,i+a))-o;return{index:r,kind:e.kind,resource:e.resource,startOffsetMs:o,durationMs:s,offsetRatio:o/n,widthRatio:s/n}})}var Z=[1,2,4,8];function Q(e,t=0){let n=Number.isFinite(e)&&e>=1?e:1,r=1/n;return{startRatio:Math.min(Number.isFinite(t)?Math.max(0,t):0,Math.max(0,1-r)),widthRatio:r,zoom:n}}function $(e,t,n){let r=e,i=e+t,a=n.startRatio+n.widthRatio;if(i<=n.startRatio||r>=a)return null;let o=Math.max(r,n.startRatio),s=Math.min(i,a);return{left:(o-n.startRatio)/n.widthRatio,width:(s-o)/n.widthRatio}}function st(e,t=5){if(!Number.isFinite(e)||e<=0)return[0];let n=ft(e,t),r=[0];for(let t=n;t<e-n*.25;t+=n)r.push(Math.round(t*1e3)/1e3);return r[r.length-1]!==e&&r.push(e),r}function ct(e,t,n=5){if(!Number.isFinite(e)||e<=0)return[{offsetMs:0,viewRatio:0,isEnd:!0}];let r=t.startRatio*e,i=t.widthRatio*e,a=st(i,n).map(e=>r+e),o=Math.min(e,r+i);return a[a.length-1]!==o&&(a[a.length-1]=o),a.map((e,t)=>({offsetMs:e,viewRatio:(e-r)/i,isEnd:t===a.length-1}))}function lt(e,t){if(!Number.isFinite(t)||t<=0)return[];let n=dt(e,t),r=[],i=0;for(let[e,a]of n)e>i&&r.push(ut(i,e,t)),i=Math.max(i,a);return i<t&&r.push(ut(i,t,t)),r.filter(e=>e.durationMs>0&&e.widthRatio>0)}function ut(e,t,n){let r=Math.max(0,e),i=Math.max(0,t-r);return{startOffsetMs:r,durationMs:i,offsetRatio:r/n,widthRatio:i/n}}function dt(e,t){let n=e.map(e=>{let n=Math.max(0,Math.min(t,e.startOffsetMs));return[n,Math.max(n,Math.min(t,e.startOffsetMs+e.durationMs))]}).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]),r=[];for(let e of n){let t=r[r.length-1];!t||e[0]>t[1]?r.push([e[0],e[1]]):t[1]=Math.max(t[1],e[1])}return r}function ft(e,t){let n=e/Math.max(1,t),r=10**Math.floor(Math.log10(Math.max(n,1e-6))),i=n/r,a;return a=i<=1?1:i<=2?2:i<=5?5:10,a*r}function pt(e){return Z.find(t=>t>e)??Z[Z.length-1]}function mt(e){let t=Z[0];for(let n of Z){if(n>=e)return t;t=n}return t}function ht(e){return`${Me(e)} · ${e.resource} · ${P(e.durationMs)} · +${P(e.startOffsetMs)}`}var gt=`border-b border-border/60 last:border-b-0`;function _t({run:e,onClose:t,replay:r=h,focusEffectIndex:o=null,onFocusEffectChange:c,playbackKey:d=0,onReplayStart:f}){let p=Ee(),m=_e(),y=e?it(e.trigger):null,b=e?Ae(e.cache):null,te=(0,U.useMemo)(()=>e?Oe(e):[],[e]),re=(0,U.useMemo)(()=>e?ke(e.gates,p.data??null):[],[e,p.data]),S=(0,U.useMemo)(()=>e?ot(e.effects,e.startedAt,e.durationMs):[],[e]),ce=(0,U.useMemo)(()=>e?lt(S,e.durationMs):[],[e,S]),C=(0,U.useMemo)(()=>e?De(p.data??null,e.flow,e.trigger):{method:null,path:null,headline:``},[e,p.data]),[pe,T]=(0,U.useState)(!1),[E,D]=(0,U.useState)(null),[he,O]=(0,U.useState)(null),[ge,A]=(0,U.useState)(!0),[ve,ye]=(0,U.useState)(!0),[j,M]=(0,U.useState)(!0),[N,F]=(0,U.useState)(null),[I,L]=(0,U.useState)(1),[R,z]=(0,U.useState)(0),[B,V]=(0,U.useState)(!1),H=W(0),G=W(0),K=(0,U.useMemo)(()=>Q(I,R),[I,R]),Ne=(0,U.useMemo)(()=>e?ct(e.durationMs,K):[],[e,K]),Pe=q(H,e=>{let t=$(e,1e-4,K);return t?`${t.left*100}%`:`-10%`});(0,U.useEffect)(()=>{if(D(null),O(null),T(!1),A(!0),ye(!0),M(!0),F(null),L(1),z(0),V(!1),H.set(0),!e)return;if(m){G.set(e.durationMs);return}G.set(0);let t=xe(G,e.durationMs,{duration:.6,ease:[.16,1,.3,1]});return()=>t.stop()},[e?.id,m]),(0,U.useEffect)(()=>{if(d===0||!e)return;if(m){H.set(1),G.set(e.durationMs),V(!1);return}V(!0),H.set(0),G.set(0);let t=xe(H,1,{duration:Fe(e.durationMs)/1e3,ease:`linear`,onUpdate:t=>G.set(t*e.durationMs),onComplete:()=>{G.set(e.durationMs),V(!1)}});return()=>{t.stop(),V(!1)}},[d]);let Ie=async t=>{if(t.stopPropagation(),!(!e||pe)){T(!0),D(null),O(null);try{let t=await nt(e,r);if(t.error){D(t.error.message??t.error.code),O(`error`);return}D(t.data?.dryRun?`Replayed (dry-run)`:`Replayed`),O(`ok`),f?.()}catch(e){D(e instanceof Error?e.message:`Replay failed`),O(`error`)}finally{T(!1)}}};return(0,J.jsx)(ee,{open:e!==null,modal:!1,disablePointerDismissal:!0,onOpenChange:e=>{e||t()},children:(0,J.jsx)(oe,{side:`left`,showOverlay:!1,"data-slot":`trace-detail-sheet`,className:`inset-y-0 h-dvh w-full max-w-none gap-0 rounded-none p-0 shadow-xl md:left-12! data-[side=left]:sm:max-w-2xl`,children:e&&y?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(ie,{className:`gap-1.5 border-b border-border/60 px-2 py-2 pr-12`,children:[(0,J.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,J.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,title:y.label,"aria-hidden":!0,children:(0,J.jsx)(w,{icon:y.icon,className:se})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(de,{className:`truncate font-mono text-base font-semibold tracking-tight`,children:e.flow}),(0,J.jsxs)(le,{className:`mt-0.5 flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,J.jsx)(`span`,{children:y.label}),b?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,J.jsxs)(`span`,{className:n(`inline-flex items-center gap-1`,b.className),"data-slot":`trace-sheet-cache`,"data-cache":e.cache,title:b.label,children:[(0,J.jsx)(w,{icon:b.icon,className:`size-3`,"aria-hidden":!0}),b.label]})]}):null]})]})]}),(0,J.jsx)(be,{mode:`wait`,children:E?(0,J.jsx)(k.div,{initial:!m&&{opacity:0,y:-4,scale:.96},animate:{opacity:1,y:0,scale:1},exit:m?void 0:{opacity:0,y:-4,scale:.96},transition:{duration:.18,ease:`easeOut`},children:(0,J.jsx)(Se,{variant:`outline`,role:`status`,className:n(`h-5 w-fit rounded-md px-1.5 text-[10px] font-medium`,he===`ok`&&`border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400`,he===`error`&&`border-destructive/40 bg-destructive/10 text-destructive`),children:E})},E):null})]}),(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-0 overflow-y-auto p-0`,children:[(0,J.jsx)(`section`,{className:gt,"data-slot":`trace-summary`,children:(0,J.jsx)(yt,{chips:te,durationMs:e.durationMs,durationValue:G})}),re.length>0?(0,J.jsx)(`section`,{className:gt,"data-slot":`trace-gates`,children:(0,J.jsx)(je,{gates:re})}):null,(0,J.jsxs)(`section`,{className:gt,"data-slot":`trace-waterfall`,children:[(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsx)(`h3`,{className:n(me,`flex items-center px-2`),children:`Waterfall`}),(0,J.jsxs)(`div`,{className:`ml-auto flex h-full items-stretch`,"data-slot":`trace-waterfall-zoom`,children:[(0,J.jsx)(`button`,{type:`button`,className:_,"aria-label":`Pan left`,disabled:I<=1||K.startRatio<=0,onClick:()=>z(e=>Q(I,Math.max(0,e-K.widthRatio*.5)).startRatio),children:(0,J.jsx)(w,{icon:l,className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,className:_,"aria-label":`Zoom out`,disabled:I<=1,onClick:()=>{let e=mt(I);L(e),z(t=>Q(e,t).startRatio)},children:(0,J.jsx)(w,{icon:ne,className:`size-3.5`})}),(0,J.jsxs)(`span`,{className:`flex min-w-8 items-center justify-center font-mono text-[10px] tabular-nums text-muted-foreground`,children:[I,`×`]}),(0,J.jsx)(`button`,{type:`button`,className:_,"aria-label":`Zoom in`,disabled:I>=8,onClick:()=>{let e=pt(I);L(e),z(t=>Q(e,t).startRatio)},children:(0,J.jsx)(w,{icon:u,className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,className:_,"aria-label":`Pan right`,disabled:I<=1||K.startRatio+K.widthRatio>=1,onClick:()=>z(e=>Q(I,e+K.widthRatio*.5).startRatio),children:(0,J.jsx)(w,{icon:a,className:`size-3.5`})})]})]}),S.length===0?(0,J.jsx)(`p`,{className:`px-2 py-2 text-[11px] text-muted-foreground`,children:`No effects recorded`}):(0,J.jsxs)(`div`,{className:`relative flex flex-col gap-1.5 px-2 py-2`,children:[(0,J.jsx)(Ct,{ticks:Ne}),(0,J.jsx)(wt,{bars:S,gaps:ce,view:K,hoverIndex:N,onHover:F,onSelect:e=>c?.(o===e?null:e),focusIndex:o}),S.map(e=>(0,J.jsx)(Et,{bar:e,view:K,dimmed:N!==null&&N!==e.index,focused:o===e.index,progress:H,playing:B,onHover:F,onSelect:e=>c?.(o===e?null:e)},e.index)),B?(0,J.jsx)(k.div,{className:`pointer-events-none absolute top-4 bottom-0 w-px bg-foreground/70`,style:{left:Pe},"data-slot":`trace-waterfall-playhead`,"aria-hidden":!0}):null,ce.length>0?(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Hatched spans are idle time — no effects recorded.`}):null]})]}),(0,J.jsx)(`section`,{className:gt,"data-slot":`trace-events-section`,children:(0,J.jsxs)(Te,{open:ge,onOpenChange:A,children:[(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsxs)(we,{className:n(g,`min-w-0 flex-1 justify-start`),"data-slot":`trace-events-toggle`,children:[(0,J.jsx)(w,{icon:s,className:n(ue,!ge&&`-rotate-90`)}),(0,J.jsx)(`span`,{className:`truncate`,children:`Event Details`}),(0,J.jsxs)(`span`,{className:ae,children:[e.effects.length,` `,e.effects.length===1?`event`:`events`]})]}),(0,J.jsxs)(`button`,{type:`button`,className:g,disabled:pe,"data-slot":`trace-sheet-replay`,onClick:e=>void Ie(e),children:[(0,J.jsx)(w,{icon:i,className:`size-3.5`}),`Replay`]})]}),(0,J.jsx)(Ce,{children:(0,J.jsx)(`ul`,{className:`flex flex-col`,"data-slot":`trace-events`,children:e.effects.map((e,t)=>{let r=S[t],i=o===t;return(0,J.jsxs)(`li`,{"data-slot":`trace-event-row`,"data-index":t,"data-focused":i?`true`:`false`,className:n(v,`cursor-pointer flex-col items-stretch gap-1 text-[11px]`,i&&`bg-muted/70 text-foreground`,N===t&&!i&&`bg-muted/50`),onClick:()=>c?.(o===t?null:t),onMouseEnter:()=>F(t),onMouseLeave:()=>F(null),children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:n(fe,i&&`bg-sky-500`)}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(vt,{kind:e.kind,resource:e.resource}),(0,J.jsx)(`span`,{className:`w-[4.5rem] shrink-0 font-medium text-foreground/90`,children:Me(e)}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-muted-foreground`,children:e.resource}),(0,J.jsx)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:P(e.duration)})]}),r?(0,J.jsx)(`div`,{className:`relative ml-7 h-1.5 w-[calc(100%-1.75rem)] rounded-full bg-muted/70`,"data-slot":`trace-event-bar-track`,"aria-hidden":!0,children:(0,J.jsx)(Dt,{bar:r,left:r.offsetRatio,width:r.widthRatio,progress:H,playing:B,slot:`trace-event-bar`})}):null]},`${e.kind}:${e.resource}:${t}`)})})})]})}),(0,J.jsx)(Ke,{method:C.method,path:C.path,headline:C.headline,input:e.input,output:e.output,error:e.error,errorMessage:e.errorMessage,inputOpen:ve,onInputOpenChange:ye,outputOpen:j,onOutputOpenChange:M})]})]}):null})})}function vt({kind:e,resource:t}){let n=L(e);return(0,J.jsx)(`span`,{className:se,style:{color:n},"aria-hidden":!0,children:(0,J.jsx)(w,{icon:R(e,t),className:`size-3.5`})})}function yt({chips:e,durationMs:t,durationValue:i}){let a=e.find(e=>e.variant===`duration`),s=e.filter(e=>e.variant!==`duration`),l=q(i,e=>P(Math.round(e)));return(0,J.jsxs)(`div`,{className:x,"data-slot":`trace-summary-strip`,role:`group`,"aria-label":`Run summary`,children:[a?(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:e=>(0,J.jsxs)(`div`,{...e,className:`flex h-full shrink-0 items-center gap-1.5 px-2`,"data-slot":`trace-summary-duration`,children:[(0,J.jsx)(w,{icon:C,className:n(`size-3.5`,M(t)),"aria-hidden":!0}),(0,J.jsx)(k.span,{className:n(`font-mono text-sm font-semibold tracking-tight tabular-nums leading-none`,M(t)),children:l})]})}),(0,J.jsx)(r,{side:`bottom`,className:`max-w-xs text-[11px]`,children:a.detail})]}):null,s.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0}),(0,J.jsx)(`ul`,{className:`flex h-full min-w-0 flex-1 flex-nowrap items-stretch overflow-x-auto overscroll-x-contain [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:s.map(e=>(0,J.jsx)(`li`,{className:`list-none shrink-0`,children:(0,J.jsx)(bt,{chip:e})},e.key))})]}):null]})}function bt({chip:e}){let t=St(e.variant),i=xt(e.variant);return(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:r=>(0,J.jsxs)(`span`,{...r,className:n(g,`text-foreground/90`),"data-slot":`trace-summary-chip`,"data-variant":e.variant,children:[(0,J.jsx)(`span`,{style:{color:t},"aria-hidden":!0,children:(0,J.jsx)(w,{icon:i,className:`size-3`})}),(0,J.jsx)(`span`,{className:`tabular-nums font-medium`,children:e.shortLabel}),(0,J.jsx)(`span`,{className:`sr-only`,children:e.label})]})}),(0,J.jsxs)(r,{side:`bottom`,className:`max-w-xs flex-col items-start gap-0.5 text-[11px]`,children:[(0,J.jsx)(`p`,{className:`font-medium text-background`,children:e.label}),(0,J.jsx)(`p`,{className:`text-background/70`,children:e.detail})]})]})}function xt(e){switch(e){case`duration`:return C;case`api`:return t;case`gate`:return N.gate.icon;case`cache`:return S;case`db`:return N.store.icon;case`logs`:return d;default:return R(e)}}function St(e){switch(e){case`duration`:return`currentColor`;case`api`:return`var(--foreground)`;case`gate`:return I.gate.accent;case`cache`:return`var(--color-sky-500)`;case`db`:return I.store.accent;case`logs`:return`var(--muted-foreground)`;default:return L(e)}}function Ct({ticks:e}){return(0,J.jsx)(`div`,{className:`relative h-4 w-full border-b border-border/60`,"data-slot":`trace-waterfall-ruler`,children:e.map(e=>(0,J.jsxs)(`div`,{className:`absolute top-0 flex h-full flex-col items-center`,style:{left:`${e.viewRatio*100}%`,transform:e.isEnd?`translateX(-100%)`:e.viewRatio===0?`none`:`translateX(-50%)`},children:[(0,J.jsx)(`span`,{className:`font-mono text-[9px] tabular-nums text-muted-foreground`,children:P(e.offsetMs)}),(0,J.jsx)(`span`,{className:`mt-auto h-1.5 w-px bg-border`,"aria-hidden":!0})]},`${e.offsetMs}-${e.viewRatio}`))})}function wt({bars:e,gaps:t,view:i,hoverIndex:a,onHover:s,onSelect:l,focusIndex:u}){return(0,J.jsxs)(`div`,{className:`relative h-3 w-full overflow-hidden rounded-full bg-muted/50`,"data-slot":`trace-waterfall-overview`,children:[t.map(e=>{let t=$(e.offsetRatio,e.widthRatio,i);return!t||t.width<=0?null:(0,J.jsx)(Tt,{left:t.left,width:t.width,gap:e},`gap-${e.startOffsetMs}`)}),e.map(e=>{let t=$(e.offsetRatio,e.widthRatio,i);if(!t||t.width<=0)return null;let d=u===e.index;return(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:r=>(0,J.jsx)(`div`,{...r,className:n(`absolute inset-y-0.5 cursor-pointer rounded-full transition-opacity`,a!==null&&a!==e.index&&!d&&`opacity-35`,d&&`ring-1 ring-foreground/40`),style:{left:`${t.left*100}%`,width:`${Math.max(t.width*100,.4)}%`,backgroundColor:L(e.kind)},"data-slot":`trace-waterfall-overview-bar`,onClick:t=>{t.stopPropagation(),l?.(e.index)},onMouseEnter:t=>{r.onMouseEnter?.(t),s(e.index)},onMouseLeave:e=>{r.onMouseLeave?.(e),s(null)}})}),(0,J.jsx)(r,{side:`top`,className:`max-w-xs font-mono text-[11px]`,children:ht(e)})]},`ov-${e.index}`)})]})}function Tt({left:e,width:t,gap:n}){return(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:n=>(0,J.jsx)(`div`,{...n,className:`absolute inset-y-0 overflow-hidden rounded-sm`,style:{left:`${e*100}%`,width:`${t*100}%`},"data-slot":`trace-waterfall-gap`,children:(0,J.jsx)(`div`,{className:`size-full opacity-70`,style:{backgroundImage:`repeating-linear-gradient(-45deg, color-mix(in oklab, var(--muted-foreground) 28%, transparent) 0 1px, transparent 1px 5px)`},"aria-hidden":!0})})}),(0,J.jsxs)(r,{side:`top`,className:`max-w-xs text-[11px]`,children:[`Idle · `,P(n.durationMs),` — no effects recorded`]})]})}function Et({bar:e,view:t,dimmed:n,focused:i,progress:a,playing:s,onHover:l,onSelect:u}){let d=$(e.offsetRatio,e.widthRatio,t);return!d||d.width<=0?null:(0,J.jsxs)(c,{children:[(0,J.jsx)(o,{render:t=>(0,J.jsx)(`div`,{...t,className:`relative h-2.5 w-full cursor-pointer rounded-full bg-muted/70`,"data-slot":`trace-waterfall-track`,"data-index":e.index,onClick:t=>{t.stopPropagation(),u?.(e.index)},onMouseEnter:n=>{t.onMouseEnter?.(n),l(e.index)},onMouseLeave:e=>{t.onMouseLeave?.(e),l(null)},children:(0,J.jsx)(Dt,{bar:e,left:d.left,width:d.width,progress:a,playing:s,dimmed:n,focused:i,slot:`trace-waterfall-bar`})})}),(0,J.jsx)(r,{side:`top`,className:`max-w-xs font-mono text-[11px]`,children:ht(e)})]})}function Dt({bar:e,left:t,width:r,progress:i,playing:a,dimmed:o=!1,focused:s=!1,slot:c}){let l=Math.max(e.widthRatio,.02),u=q(i,[e.offsetRatio,e.offsetRatio+l],[0,1],{clamp:!0}),d=q(i,t=>t>=e.offsetRatio?1:.25),f=a;return(0,J.jsx)(k.div,{className:n(`absolute inset-y-0 rounded-full transition-opacity`,!f&&o&&!s&&`opacity-35`,s&&`ring-1 ring-foreground/40`),style:{left:`${t*100}%`,width:`${Math.max(r*100,.5)}%`,backgroundColor:L(e.kind),transformOrigin:`left`,...f?{scaleX:u,opacity:d}:{}},"data-slot":c})}export{Fe as a,W as c,Re as i,it as n,Ie as o,rt as r,q as s,_t as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$i as t,$n as n,Cr as r,E as i,Ei as a,Er as o,F as s,Fr as c,Gi as l,Hi as u,L as d,Li as f,Mr as p,Nr as m,P as h,Qn as g,S as _,Sr as v,Ti as y,Xi as b,Zn as x,_r as S,a as C,ar as w,br as T,cr as E,dr as D,ea as O,er as k,gr as A,hr as j,i as M,kr as N,l as ee,lr as te,mr as P,nr as ne,o as re,oa as ie,or as F,pi as ae,qr as oe,rr as se,s as ce,si as le,sr as ue,ta as de,tr as fe,u as pe,ur as me,vi as he,vr as ge,wr as I,xr as L,zr as _e}from"./shortcut-keys-DO4IsVqv.js";import{t as ve}from"./link-DF7SZ9Ek.js";import{r as ye}from"./react-dom-Bph1y7z7.js";import{A as be}from"./xyflow-D7n4g6go.js";import{A as xe,C as Se,h as Ce,l as we,p as Te,s as R,t as Ee}from"./sheet-form-D-ata7jy.js";import{B as De,I as z,L as Oe,N as ke,P as B,R as V,a as Ae,d as je,f as Me,h as Ne,i as Pe,k as Fe,l as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve,t as He,u as Ue,v as We}from"./query-gate-parts-1m8m1iNp.js";import{l as Ge}from"./index-Ce6WKWKM.js";import{_ as Ke,d as qe,f as Je,g as Ye,h as Xe,i as Ze,m as Qe,n as $e,p as et,r as tt,t as nt,u as rt}from"./collapsible-DYb0xU8C.js";import{a as it,c as at,i as ot,s as st,t as ct}from"./highlighted-json-CvDPvveV.js";import{_ as H,a as lt,d as ut,f as dt,g as ft,h as pt,i as mt,l as ht,m as gt,n as _t,p as vt,t as yt,u as bt,v as xt}from"./http-method-CJCBYL2j.js";import{c as St,n as Ct,s as wt,t as Tt}from"./cache-glyph-BanhLsEY.js";import{t as Et}from"./explorer-empty-HjTnVQoR.js";import{n as Dt,o as Ot,r as kt,t as At}from"./call-pii-button-bqkxMrJH.js";var U=e(ye(),1),W=be();function jt(e,t){let n=Re(e.asGate);return n===`operator`?`Operator`:n===`public`?`Public`:e.asUserId?t.find(t=>t.id===e.asUserId)?.name??e.asUserId:e.asGate?`As · ${e.asGate}`:`As`}function G(e){let t=Re(e.asGate);return t===`operator`||t===`public`||!!(e.asUserId||e.asGate)}function Mt({manifest:e,identities:t,value:n,onChange:i}){let a=Fe(!0),o=(0,U.useMemo)(()=>Ne(We(e),a.data??null),[e,a.data]),s=(0,U.useMemo)(()=>Ve(o),[o]),c=(0,U.useMemo)(()=>Ie(t,o),[t,o]),l=o.gates.find(e=>e.kind===`public`)?.description??`Intentionally unauthenticated.`,u=Re(n.asGate),d=n.asGate!==null,[f,p]=(0,U.useState)(n.asUserId?`user`:`policy`),m=s.find(e=>e.id===n.asGate)??null,h=c.find(e=>e.id===n.asUserId&&e.gate===n.asGate)??null,g=s.length>0||c.length>0,v=e=>{if(e===`operator`){i({asGate:null,asUserId:null});return}if(e===`public`){i({asGate:`public`,asUserId:null});return}if(u===`as`)return;let t=m?.id??s[0]?.id??c[0]?.gate??null;if(t!==null){if(c[0]&&t===c[0].gate&&s.length===0){p(`user`),i({asGate:c[0].gate,asUserId:c[0].id});return}p(`policy`),i({asGate:t,asUserId:null})}};return(0,W.jsxs)(Te,{children:[(0,W.jsx)(Se,{render:e=>(0,W.jsxs)(_,{...e,type:`button`,variant:`ghost`,size:`sm`,className:r(`h-full max-w-44 min-w-0 rounded-none px-2 text-[11px]`,d&&`text-sky-800 dark:text-sky-300`),"aria-label":d?`Invoke as Gate ${n.asGate}`:`Invoke as Operator (bypass gates)`,"data-slot":`call-api-identity`,children:[(0,W.jsx)(I,{icon:qe.gate.icon,"data-icon":`inline-start`,className:`size-3.5`}),(0,W.jsx)(`span`,{className:`truncate`,children:jt(n,t)})]})}),(0,W.jsxs)(Ce,{align:`end`,className:`w-80 overflow-hidden p-0`,children:[(0,W.jsx)(Ae,{children:`Invoke as`}),(0,W.jsxs)(Pe,{label:`Invoke as`,children:[(0,W.jsx)(Le,{mode:`operator`,title:`Operator`,caption:`Bypass`,selected:u===`operator`,onSelect:()=>v(`operator`)}),(0,W.jsx)(Le,{mode:`public`,title:`Public`,caption:`Anonymous`,selected:u===`public`,onSelect:()=>v(`public`)}),(0,W.jsx)(Le,{mode:`as`,title:`As`,caption:h?h.label:m?.label??`User / policy`,selected:u===`as`,disabled:!g,onSelect:()=>v(`as`)})]}),u===`operator`?(0,W.jsx)(Be,{title:`Operator`,badge:`Default`,children:`Bypasses the flow's gate chain.`}):null,u===`public`?(0,W.jsxs)(Be,{title:`Public`,children:[l,` Only `,(0,W.jsx)(`span`,{className:`font-mono`,children:`gate.public`}),` flows succeed.`]}):null,u===`as`?(0,W.jsx)(He,{tab:f,onTabChange:p,policies:s,users:c,asGate:n.asGate,asUserId:h?.id??null,onSelectPolicy:e=>{p(`policy`),i({asGate:e.id,asUserId:null})},onSelectUser:e=>{p(`user`),i({asGate:e.gate,asUserId:e.id})},hint:h?(0,W.jsxs)(`p`,{className:`border-t border-border/60 px-2 py-2 text-[10px] leading-relaxed text-muted-foreground`,children:[`Calls as `,(0,W.jsx)(`span`,{className:`font-medium text-foreground`,children:h.label}),` `,`via `,(0,W.jsx)(`span`,{className:`font-mono`,children:n.asGate}),`.`]}):m?(0,W.jsxs)(`p`,{className:`border-t border-border/60 px-2 py-2 text-[10px] leading-relaxed text-muted-foreground`,children:[m.detail,` Sets scopes for`,` `,(0,W.jsx)(`span`,{className:`font-mono`,children:m.id}),`.`]}):null}):null]})]})}function K(e,t=``){if(!e)return[];if(e.type===`object`||e.properties){let n=e.properties??{},r=new Set(Array.isArray(e.required)?e.required:[]);return Object.entries(n).map(([e,n])=>Nt(e,`${t}/${e}`,n,r.has(e)))}return[Nt(`value`,t||`/`,e,!0)]}function Nt(e,t,n,r){let i=Pt(e,n),a=typeof n.description==`string`?n.description:void 0;if(Array.isArray(n.enum)){let o=Vt(n);return{path:t,name:e,type:`enum`,required:r,enumValues:n.enum.map(String),...a===void 0?{}:{description:a},...o===void 0?{}:{valueMeanings:o},...i}}let o=n.type;if(o===`object`||n.properties)return{path:t,name:e,type:`object`,required:r,...a===void 0?{}:{description:a},...i,children:K(n,t)};if(o===`array`)return{path:t,name:e,type:`array`,required:r,...a===void 0?{}:{description:a},...i,children:n.items?K(n.items,`${t}/0`):void 0};let s=o===`integer`||o===`number`||o===`boolean`||o===`string`?o:`unknown`,c=Vt(n);return{path:t,name:e,type:s,required:r,minimum:typeof n.minimum==`number`?n.minimum:void 0,maximum:typeof n.maximum==`number`?n.maximum:void 0,...a===void 0?{}:{description:a},...c===void 0?{}:{valueMeanings:c},...i}}function Pt(e,t){let n=Ft(e),r=It(t.references),i=t.primaryKey===!0||n.primaryKey===!0,a=r!==void 0||n.foreignKey===!0,o=!i&&(t.unique===!0||n.unique===!0);return{...t.pii===!0?{pii:!0}:{},...t.sensitive===!0?{sensitive:!0}:{},...i?{primaryKey:!0}:{},...a?{foreignKey:!0}:{},...o?{unique:!0}:{},...r===void 0?{}:{references:r}}}function Ft(e){return e===`id`?{primaryKey:!0}:/(?:Id|_id)$/.test(e)||/(?:Key|_key)$/.test(e)&&e!==`key`?{foreignKey:!0}:e===`identifier`||e===`key`?{unique:!0}:{}}function It(e){if(!e||typeof e!=`object`)return;let t=`table`in e&&typeof e.table==`string`?e.table:void 0;if(!t)return;let n=`column`in e&&typeof e.column==`string`?e.column:void 0;return n===void 0?{table:t}:{table:t,column:n}}var Lt=12;function Rt(e){return e.enumValues&&e.enumValues.length>0?e.enumValues.join(` · `):e.minimum!==void 0&&e.maximum!==void 0?`${e.minimum}–${e.maximum}`:e.minimum===void 0?e.maximum===void 0?null:`≤ ${e.maximum}`:`≥ ${e.minimum}`}function zt(e){return e.minimum!==void 0&&e.maximum!==void 0?`Must be from ${e.minimum} up to ${e.maximum}.`:e.minimum===void 0?e.maximum===void 0?null:`Must be at most ${e.maximum}.`:`Must be at least ${e.minimum}.`}function Bt(e){return e.filter(e=>e.minimum!==void 0||e.maximum!==void 0||(e.enumValues?.length??0)>0||(e.valueMeanings?.length??0)>0)}function Vt(e){let t=Array.isArray(e.oneOf)?e.oneOf:Array.isArray(e.anyOf)?e.anyOf:null;if(t){let e=[];for(let n of t){if(!n||typeof n!=`object`)continue;let t=n;if(!(`const`in t))continue;let r=String(t.const),i=typeof t.title==`string`?t.title:typeof t.description==`string`?t.description:void 0;i&&e.push({value:r,label:i})}return e.length>0?e:void 0}}function Ht(e){if(e.type!==`integer`||e.minimum===void 0||e.maximum===void 0||!Number.isInteger(e.minimum)||!Number.isInteger(e.maximum))return null;let t=e.maximum-e.minimum;return t<0||t>Lt?null:Array.from({length:t+1},(t,n)=>e.minimum+n)}function q(e){return e?Ut(e):{}}function Ut(e){if(Array.isArray(e.enum)&&e.enum.length>0)return e.enum[0];let t=e.type;if(t===`object`||!t&&e.properties){let t=e.properties??{},n=new Set(Array.isArray(e.required)?e.required:[]),r={};for(let[e,i]of Object.entries(t))(n.has(e)||`default`in i||Object.keys(t).length<=4)&&(r[e]=Ut(i));return r}if(t===`array`){let t=e.items;return t?[Ut(t)]:[]}return t===`integer`||t===`number`?typeof e.default==`number`?e.default:typeof e.minimum==`number`?e.minimum:1:t===`boolean`?!1:t===`string`?e.format===`email`?`user@example.com`:e.format===`uuid`?`00000000-0000-4000-8000-000000000001`:typeof e.default==`string`?e.default:e.minLength?`x`.repeat(Number(e.minLength)):``:null}function J(e){return!e||typeof e==`string`?null:e}function Wt(e,t){if(!e.foreignKey||!t)return null;let n=Jt(t);if(n.length===0)return null;if(e.references?.table){let t=Yt(n,e.references.table);return t?Kt(t,e.references.column??Zt(t.table)??`id`):null}let r=qt(e.name);if(!r)return null;let i=Xt(n,r.stem);return i?Kt(i,r.kind===`key`?Qt(i.table,`key`)??Zt(i.table)??`id`:Zt(i.table)??`id`):null}function Gt(e,t){if(!t)return[];let n=new Set,r=[];for(let i of e){let e=i[t.column];if(e==null)continue;let a=String(e);if(n.has(a))continue;n.add(a);let o=t.labelColumn?i[t.labelColumn]:void 0,s=o!=null&&String(o)!==a?String(o):null;r.push({value:a,label:s?`${a} · ${s}`:a})}return r}function Kt(e,t){let n=$t(e.table,t);return{ref:e.ref,child:e.name,column:t,...n===void 0?{}:{labelColumn:n}}}function qt(e){return e===`id`?null:e.endsWith(`Id`)?{stem:e.slice(0,-2),kind:`id`}:e.endsWith(`_id`)?{stem:e.slice(0,-3),kind:`id`}:e.endsWith(`Key`)?{stem:e.slice(0,-3),kind:`key`}:e.endsWith(`_key`)?{stem:e.slice(0,-4),kind:`key`}:null}function Jt(e){let t=[];for(let[n,r]of Object.entries(e.stores??{}))r.facet!==`sql`||!r.tables||t.push({ref:`sql:${n}`,tables:r.tables});return t}function Yt(e,t){let n=t.toLowerCase();for(let t of e)for(let[e,r]of Object.entries(t.tables))if(e.toLowerCase()===n)return{ref:t.ref,name:e,table:r};return null}function Xt(e,t){let n=nn(t),r=[t,n,tn(t),tn(n)].map(e=>e.toLowerCase());for(let t of e)for(let[e,n]of Object.entries(t.tables))if(r.includes(e.toLowerCase()))return{ref:t.ref,name:e,table:n};return null}function Zt(e){for(let[t,n]of Object.entries(e.columns??{}))if(en(n)&&n.primaryKey===!0)return t;if(e.columns&&`id`in e.columns)return`id`}function Qt(e,t){return e.columns&&t in e.columns?t:void 0}function $t(e,t){if(t!==`name`&&e.columns&&`name`in e.columns)return`name`}function en(e){return`type`in e||`primaryKey`in e||`references`in e}function tn(e){return e.endsWith(`y`)&&!/[aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:/(?:s|x|z|ch|sh)$/i.test(e)?`${e}es`:`${e}s`}function nn(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/([A-Z])([A-Z][a-z])/g,`$1_$2`).toLowerCase()}function rn(e){let t=[];for(let n of e.split(`/`))n.startsWith(`:`)&&n.length>1&&t.push(n.slice(1));return t}function an(e){return`:${e}`}var on={"attachments:id":`attachments/tsk_eng_12/spec.pdf`,"tasks:id":`tsk_eng_12`,"comments:id":`cmt_1`,"projects:id":`proj_api`,"spaces:id":`space_eng`,"tags:id":`tag_bug`,"tags:tagId":`tag_feature`,"goals:id":`goal_harbor`,"documents:id":`doc_prd_api`,"members:id":`mem_aria`,"forms:id":`form_customer`,"drafts:id":`ENG-12`,"views:id":`view_web_board`,"inbox:id":`inb_1`};function sn(e,t){let n=e.split(`/`).filter(Boolean),r=`:${t}`,i=n.indexOf(r),a=i>0?n[i-1]:void 0;return(a?on[`${a}:${t}`]:void 0)??on[`:${t}`]}function cn(e,t){let n={};if(!e)return n;for(let r of t){let t=sn(e,r);t&&(n[r]=t)}return n}function ln(e,t){let n=e?.flows?.[t],r=n?.trigger?.cron,i=n?.trigger?.every;if(!r&&!i)return{kind:`unmatched`};let a=e?.clocks??{},o=new Set;for(let[e,n]of Object.entries(a)){if(t===e||t.endsWith(`.${e}`)){o.add(e);continue}if(r&&n.cron===r){o.add(e);continue}i&&n.every===i&&o.add(e)}if(o.size!==1)return{kind:`unmatched`};let s=[...o][0],c=a[s];return{kind:`matched`,clockName:s,timezone:c.timezone??null,description:c.description??null,cron:c.cron??null,every:c.every??null}}function un(e){let t=e.handlerMs!=null&&Number.isFinite(e.handlerMs)?e.handlerMs:null;return t===null?e.rttMs!==null&&Number.isFinite(e.rttMs)?{primaryMs:e.rttMs,primaryKind:`rtt`,rttMs:e.rttMs}:null:{primaryMs:t,primaryKind:`handler`,rttMs:e.rttMs}}function dn(e){let t=new Set;if(!e?.stores)return t;for(let n of Object.values(e.stores)){for(let e of Object.values(n.tables??{}))for(let[n,r]of Object.entries(e.columns??{}))r?.pii&&kt(t,n);for(let[e,r]of Object.entries(n.classifications??{}))if(r&&typeof r==`object`&&!Array.isArray(r)&&`pii`in r&&r.pii){let n=e.includes(`.`)?e.slice(e.lastIndexOf(`.`)+1):e;kt(t,n)}}return t}function Y(e,t,n=Dt){if(t.size===0||e==null)return e;if(Array.isArray(e))return e.map(e=>Y(e,t,n));if(typeof e==`object`){let r={};for(let[i,a]of Object.entries(e))r[i]=t.has(i)?n:Y(a,t,n);return r}return e}function fn(e){return e.failure==null?e.response!==void 0&&e.response!==null?JSON.stringify(e.response,null,2):JSON.stringify({status:e.status??200,failure:null,response:null},null,2):JSON.stringify({status:e.status??null,failure:e.failure,response:e.response??null},null,2)}function pn(e,t,n){return t&&e.masked===!1?fn({...e,response:Y(e.response,n),failure:e.failure===void 0?void 0:{...e.failure,data:Y(e.failure.data,n)},masked:!0}):fn(e)}function mn(e){let t=e.flow.effects;return!t||(t.writes?.length??0)===0&&(t.emits?.length??0)===0&&(t.sends?.length??0)===0&&(t.asks?.length??0)===0}function hn(e,t){return!t&&mn(e)}function gn(e,t){if(!e)return{ok:!0,errors:[],value:t};let n=[];return _n(e,t,``,n),{ok:n.length===0,errors:n,value:t}}function _n(e,t,n,r){let i=e.type;if(i===`object`||e.properties){if(typeof t!=`object`||!t||Array.isArray(t)){r.push({path:n||`/`,message:`must be object`});return}let i=t,a=e.properties??{},o=Array.isArray(e.required)?e.required:[];for(let e of o)(i[e]===void 0||i[e]===null||i[e]===``)&&r.push({path:`${n}/${e}`,message:`required`});for(let[e,t]of Object.entries(a))i[e]!==void 0&&_n(t,i[e],`${n}/${e}`,r);return}if(Array.isArray(e.enum)){e.enum.map(String).includes(String(t))||r.push({path:n||`/`,message:`invalid enum`});return}i===`string`&&typeof t!=`string`?r.push({path:n||`/`,message:`must be string`}):i===`integer`?typeof t!=`number`||!Number.isInteger(t)?r.push({path:n||`/`,message:`must be integer`}):vn(e,t,n,r):i===`number`?typeof t!=`number`||Number.isNaN(t)?r.push({path:n||`/`,message:`must be number`}):vn(e,t,n,r):i===`boolean`&&typeof t!=`boolean`&&r.push({path:n||`/`,message:`must be boolean`})}function vn(e,t,n,r){let i=typeof e.minimum==`number`?e.minimum:void 0,a=typeof e.maximum==`number`?e.maximum:void 0;i!==void 0&&t<i&&r.push({path:n||`/`,message:`must be ≥ ${i}`}),a!==void 0&&t>a&&r.push({path:n||`/`,message:`must be ≤ ${a}`})}function X(e){return JSON.stringify(e,null,2)}function yn({row:e,manifest:t}){let n=H(e.flow.trigger);return n===`cron`||n===`every`?(0,W.jsx)(bn,{row:e,manifest:t}):(0,W.jsx)(xn,{row:e,kind:n,manifest:t})}function bn({row:e,manifest:t}){let n=(0,U.useMemo)(()=>ln(t,e.id),[t,e.id]),r=Ue(),i=je(),o=Me(),[s,c]=(0,U.useState)({asGate:null,asUserId:null}),[l,u]=(0,U.useState)(null),[d,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{r.reset(),o.reset(),p(null),u(null)},[e.id]);let m=n.kind===`matched`;async function h(){if(u(performance.now()),m){p(`clock`);try{await r.mutateAsync({name:n.clockName})}catch{}return}if(G(s)){p(`invoke`);try{await o.mutateAsync({flowId:e.id,body:{},...s.asUserId?{asUserId:s.asUserId}:{},...s.asGate?{asGate:s.asGate}:{}})}catch{}}}let g=m?r.isPending:o.isPending,v=m?r.isError:o.isError||o.isSuccess&&o.data?.failure!=null,y=m?r.isSuccess:o.isSuccess&&!o.data?.failure,b=l!==null&&(y||v)?performance.now()-l:null,x=(0,U.useMemo)(()=>m&&r.data?JSON.stringify(r.data,null,2):!m&&o.data?fn(o.data):null,[m,r.data,o.data]),S=m?`Run now`:`Run handler`,C=m?`Run now`:`Run handler once`;return(0,W.jsx)(Tn,{title:S,dataMode:m?`clock`:`invoke-fallback`,actions:(0,W.jsxs)(W.Fragment,{children:[m?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Mt,{manifest:t,identities:i.data??[],value:s,onChange:c}),(0,W.jsx)(Z,{})]}),(0,W.jsx)(_,{type:`button`,"data-slot":`call-api-submit`,disabled:g||!m&&!G(s),onClick:()=>void h(),className:kn,children:g?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(I,{icon:a,className:`animate-spin`,"data-icon":`inline-start`}),`Running…`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(I,{icon:f,"data-icon":`inline-start`}),C]})})]}),children:(0,W.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[m?(0,W.jsxs)(`p`,{className:`px-3 pt-2.5 pb-2 text-[11px] leading-snug text-muted-foreground`,"data-slot":`clock-path-copy`,children:[`Fires Manifest clock`,` `,(0,W.jsx)(`code`,{className:`rounded bg-muted/50 px-1 py-px font-mono text-[10px]`,children:n.clockName}),` `,`via`,` `,(0,W.jsx)(`code`,{className:`rounded bg-muted/50 px-1 py-px font-mono text-[10px]`,children:`/console/clock/run-now`}),` `,`(lease-gated — the real scheduler path).`,n.timezone?(0,W.jsxs)(W.Fragment,{children:[` `,`Timezone · `,(0,W.jsx)(`span`,{className:`font-mono`,children:n.timezone}),`.`]}):null]}):(0,W.jsxs)(`div`,{className:`mx-3 mt-2.5 rounded-md border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] leading-snug text-foreground/90`,"data-slot":`invoke-fallback-copy`,role:`note`,children:[`No unique Manifest clock matches this flow's schedule.`,` `,(0,W.jsx)(`strong`,{className:`font-medium`,children:`Run handler once`}),` uses`,` `,(0,W.jsx)(`code`,{className:`rounded bg-muted/50 px-1 py-px font-mono text-[10px]`,children:`/console/flows/invoke`}),` `,`with empty input — it does `,(0,W.jsx)(`em`,{children:`not`}),` exercise the Clock lease / scheduler path.`]}),(0,W.jsx)(Sn,{failed:!!v,success:!!y,elapsed:b,handlerMs:m?null:o.data?.durationMs,statusCode:m?r.data?.ran?200:409:o.data?.status,errorMessage:m?r.isError?r.error.message:null:o.isError?o.error.message:null,responseJson:x,emptyHint:m?`Run now to fire the real clock tick.`:`Run handler once to invoke with empty input.`,pathUsed:d,cache:m?void 0:o.data?.cache})]})})}function xn({row:e,kind:t,manifest:n}){let o=je(),l=Me(),u=J(e.flow.in),p=(0,U.useMemo)(()=>K(u),[u]),m=(0,U.useMemo)(()=>t===`http`&&e.path?rn(e.path):[],[t,e.path]),[g,v]=(0,U.useState)({asGate:null,asUserId:null}),[y,b]=(0,U.useState)(!0),[x,S]=(0,U.useState)(()=>cn(e.path,m)),[C,w]=(0,U.useState)(()=>q(u)??{}),[T,E]=(0,U.useState)(`fields`),[D,O]=(0,U.useState)(()=>X(q(u)??{})),[k,A]=(0,U.useState)(null),[j,M]=(0,U.useState)([]),[N,ee]=(0,U.useState)(null),[te,P]=(0,U.useState)(null),ne=(0,U.useMemo)(()=>q(u)??{},[u]);(0,U.useEffect)(()=>{let t=q(u)??{};w(t),O(X(t)),A(null),E(`fields`),S(cn(e.path,m)),M([]),P(null),ee(null),l.reset()},[e.id]);function re(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t||Array.isArray(t)?(A(`Body must be a JSON object.`),!1):(w(t),A(null),!0)}catch(e){return A(e instanceof Error?e.message:`Invalid JSON.`),!1}}function ie(e){if(e!==T){if(e===`raw`){O(X(C)),A(null),E(`raw`);return}re(D)&&E(`fields`)}}async function F(t=!y){let n=C;if(T===`raw`){if(!re(D))return;try{n=JSON.parse(D)}catch{return}}let r=gn(u,n);if(!r.ok){M(r.errors);return}if(M([]),G(g)){ee(performance.now());try{await l.mutateAsync({flowId:e.id,body:n,...g.asUserId?{asUserId:g.asUserId}:{},...g.asGate?{asGate:g.asGate}:{},...m.length>0?{pathParams:x}:{},...t?{revealPii:!0}:{}})}catch{}}}function ae(){w(ne),O(X(ne)),A(null),S(cn(e.path,m)),M([])}(0,U.useEffect)(()=>{N===null||l.isPending||(l.isSuccess||l.isError)&&P(performance.now()-N)},[l.isSuccess,l.isError,l.isPending,N]);let oe=(0,U.useMemo)(()=>l.data?pn(l.data,y,dn(n)):null,[l.data,y,n]),se=l.data?.failure!=null,ce=l.data?.status,le=t===`http`?`Call API`:t===`signal`?`Run handler`:`Invoke`,ue=le;return(0,W.jsx)(Tn,{title:le,dataTrigger:t,actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Mt,{manifest:n,identities:o.data??[],value:g,onChange:v}),(0,W.jsx)(At,{piiMasked:y,disabled:l.isPending,onToggle:()=>{let t=!y;b(t),l.data&&!l.isPending&&hn(e,t)&&F(!0)}}),(0,W.jsx)(Z,{}),(0,W.jsx)(En,{view:T,onChange:ie}),(0,W.jsx)(Z,{}),(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:e=>(0,W.jsxs)(_,{...e,type:`button`,variant:`ghost`,"data-slot":`call-api-reset`,disabled:l.isPending,onClick:ae,className:On,children:[(0,W.jsx)(I,{icon:c,"data-icon":`inline-start`}),`Reset`]})}),(0,W.jsx)(s,{side:`bottom`,className:`text-[11px]`,children:`Reset body to the schema example`})]}),(0,W.jsx)(Z,{}),(0,W.jsx)(_,{type:`button`,"data-slot":`call-api-submit`,disabled:l.isPending||!G(g),onClick:()=>void F(),className:kn,children:l.isPending?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(I,{icon:a,className:`animate-spin`,"data-icon":`inline-start`}),`Calling…`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(I,{icon:f,"data-icon":`inline-start`}),ue]})})]}),children:(0,W.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,W.jsxs)(`div`,{className:`min-h-0 min-w-0 shrink overflow-y-auto`,children:[t===`http`?(0,W.jsxs)(`p`,{className:`px-3 pt-2.5 pb-2 text-[11px] leading-snug text-muted-foreground`,children:[`Operator session · invoke-as`,` `,(0,W.jsx)(`code`,{className:`rounded bg-muted/50 px-1 py-px font-mono text-[10px]`,children:`console:flows:invoke-as`})]}):null,t===`signal`?(0,W.jsxs)(`div`,{className:`mx-3 mt-2.5 rounded-md border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] leading-snug text-foreground/90`,"data-slot":`signal-honest-copy`,role:`note`,children:[(0,W.jsx)(`strong`,{className:`font-medium`,children:`Run handler directly`}),` — invokes the flow with your payload via`,` `,(0,W.jsx)(`code`,{className:`rounded bg-muted/50 px-1 py-px font-mono text-[10px]`,children:`/console/flows/invoke`}),`. It does `,(0,W.jsx)(`em`,{children:`not`}),` publish on the signal bus, so it does not test delivery physics (once / broadcast / live, retries, dead-letter).`]}):null,t===`internal`?(0,W.jsxs)(`div`,{className:`mx-3 mt-2.5 rounded-md border border-border/60 bg-muted/20 px-3 py-2 text-[11px] leading-snug text-muted-foreground`,"data-slot":`call-only-bypass-copy`,role:`note`,children:[`This flow has no external trigger. Invoking here bypasses its normal caller (`,(0,W.jsx)(`code`,{className:`font-mono text-[10px]`,children:`fx.call`}),` /`,` `,(0,W.jsx)(`code`,{className:`font-mono text-[10px]`,children:`effects.calls`}),`). The body still matches `,(0,W.jsx)(`code`,{className:`font-mono text-[10px]`,children:`flow.in`}),`.`]}):null,t===`cdc`?(0,W.jsx)(`p`,{className:`px-3 pt-2.5 pb-2 text-[11px] leading-snug text-muted-foreground`,children:`Direct handler invoke — not a Store CDC event.`}):null,m.length>0?(0,W.jsxs)(`section`,{className:`min-w-0`,"aria-label":`Path params`,children:[(0,W.jsx)(jn,{title:`Path params`,hint:e.path??void 0}),m.map(e=>(0,W.jsx)(R,{label:e,className:`[&>span]:px-3`,children:(0,W.jsx)(i,{id:`path-${e}`,flat:!0,className:r(Ee,`px-3 font-mono`),placeholder:an(e),value:x[e]??``,onChange:t=>S(n=>({...n,[e]:t.target.value}))})},e))]}):null,(0,W.jsxs)(`section`,{className:`min-w-0`,"aria-label":`Body`,children:[(0,W.jsx)(jn,{title:`Body`,hint:T===`raw`?`raw JSON`:`seeded from schema`}),T===`raw`?(0,W.jsxs)(`div`,{className:`border-b border-border/50`,children:[(0,W.jsx)(`textarea`,{"data-slot":`call-api-body-raw`,"aria-label":`Raw JSON body`,spellCheck:!1,value:D,onChange:e=>{O(e.target.value),k&&A(null)},className:r(`min-h-40 w-full resize-y rounded-none border-0 bg-transparent px-3 py-2 font-mono text-xs leading-relaxed text-foreground outline-none`,`placeholder:text-muted-foreground focus-visible:bg-muted/20`,k&&`text-destructive`)}),k?(0,W.jsx)(`p`,{role:`alert`,className:`px-3 pb-2 text-xs text-destructive`,"data-slot":`call-api-raw-error`,children:k}):null]}):p.length===0?(0,W.jsx)(`p`,{className:`border-b border-border/50 px-3 py-2 text-xs text-muted-foreground`,children:`No body fields (empty object).`}):(0,W.jsx)(we,{children:p.map(e=>(0,W.jsx)(Mn,{field:e,value:C[e.name],onChange:t=>w(n=>({...n,[e.name]:t})),error:j.find(t=>t.path===`/${e.name}`||t.path===e.path),wide:e.type===`object`||e.type===`array`,manifest:n},e.path))}),j.length>0?(0,W.jsx)(`p`,{role:`alert`,className:`px-3 py-2 text-xs text-destructive`,"data-slot":`call-api-validation`,children:`Fix contract errors before sending.`}):null]})]}),(0,W.jsx)(Sn,{failed:!!se,success:!!l.data&&!se,elapsed:te,handlerMs:l.data?.durationMs,statusCode:ce,errorMessage:l.isError?l.error.message:null,responseJson:oe,emptyHint:`Call to see a real host response.`,pathUsed:null,cache:l.data?.cache})]})})}function Sn({failed:e,success:t,elapsed:n,handlerMs:i,statusCode:a,errorMessage:o,responseJson:s,emptyHint:c,pathUsed:l,cache:u}){let[d,f]=(0,U.useState)(!1),p=(0,W.jsx)(wn,{failed:e,success:t,elapsed:n,handlerMs:i,statusCode:a,pathUsed:l,cache:u});return(0,W.jsxs)(`section`,{className:`flex min-h-56 min-w-0 flex-1 flex-col overflow-hidden`,"aria-label":`Response`,"data-slot":`call-api-response-block`,children:[(0,W.jsxs)(`div`,{className:j,children:[(0,W.jsx)(`h4`,{className:r(L,`flex items-center px-2`),children:`Response`}),(0,W.jsxs)(`div`,{className:`ml-auto flex h-full items-stretch`,children:[p,s?(0,W.jsx)(Ke,{label:`Expand response`,className:`flex self-stretch`,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":`Expand response`,"data-slot":`call-api-response-expand`,className:w,onClick:()=>f(!0),children:(0,W.jsx)(I,{icon:m,className:`size-3.5`,"aria-hidden":!0})})}):null]})]}),o?(0,W.jsx)(`p`,{role:`alert`,className:`px-2 py-2 text-sm text-destructive`,"data-slot":`call-api-error`,children:o}):null,s?(0,W.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,"data-slot":`call-api-response-frame`,children:[(0,W.jsx)(`div`,{className:r(`w-1 shrink-0 self-stretch`,e?`bg-destructive`:`bg-emerald-500`),"aria-hidden":!0,"data-slot":`call-api-response-rail`}),(0,W.jsx)(ct,{json:s,dataSlot:`call-api-response`,className:`flex min-h-0 flex-1 overflow-auto`})]}):(0,W.jsx)(`p`,{className:`px-2 py-3 text-xs text-muted-foreground`,children:c}),s?(0,W.jsx)(M,{open:d,onOpenChange:f,children:(0,W.jsxs)(re,{side:`right`,showCloseButton:!1,className:`gap-0 p-0 data-[side=right]:w-[min(48rem,calc(100vw-2rem))] data-[side=right]:sm:max-w-[min(48rem,calc(100vw-2rem))]`,"data-slot":`call-api-response-dialog`,children:[(0,W.jsxs)(ee,{className:r(j,`flex-row gap-0 border-border/60 p-0`),children:[(0,W.jsx)(pe,{className:r(L,`flex items-center px-2`),children:`Response`}),(0,W.jsx)(ce,{className:`sr-only`,children:`Full Call API response JSON`}),(0,W.jsxs)(`div`,{className:`ml-auto flex h-full items-stretch`,children:[p,(0,W.jsx)(Cn,{json:s}),(0,W.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0}),(0,W.jsxs)(C,{"aria-label":`Close`,className:w,"data-slot":`call-api-response-close`,children:[(0,W.jsx)(I,{icon:_e,className:`size-3.5`,"aria-hidden":!0}),(0,W.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}),(0,W.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,W.jsxs)(`div`,{className:`flex h-full min-h-0`,children:[(0,W.jsx)(`div`,{className:r(`w-1 shrink-0 self-stretch`,e?`bg-destructive`:`bg-emerald-500`),"aria-hidden":!0}),(0,W.jsx)(ct,{json:s,dataSlot:`call-api-response-expanded`,className:`flex min-h-0 flex-1 overflow-auto`})]})})]})}):null]})}function Cn({json:e}){let[t,n]=(0,U.useState)(!1);return(0,W.jsx)(Ke,{label:t?`Copied`:`Copy response`,className:`flex self-stretch`,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":t?`Copied`:`Copy response`,"data-slot":`call-api-response-copy`,className:w,onClick:()=>{navigator.clipboard&&navigator.clipboard.writeText(e).then(()=>{n(!0),window.setTimeout(()=>n(!1),1200)})},children:(0,W.jsx)(I,{icon:t?O:oe,className:`size-3.5`,"aria-hidden":!0})})})}function wn({failed:e,success:t,elapsed:n,handlerMs:i,statusCode:a,pathUsed:o,cache:c}){let l=t||e,u=l?un({handlerMs:i,rttMs:n}):null;return(0,W.jsxs)(W.Fragment,{children:[o?(0,W.jsxs)(`span`,{className:`flex h-full items-center px-2 font-mono text-[10px] text-muted-foreground`,"data-slot":`call-api-path-used`,"data-path":o,children:[`via `,o===`clock`?`clock.run-now`:`flows.invoke`]}):null,l?(0,W.jsxs)(`span`,{className:r(`inline-flex h-full items-center gap-1 px-2 font-mono text-[10px] font-semibold`,e?`text-destructive`:`text-emerald-700 dark:text-emerald-400`),"data-slot":`call-api-status`,"data-failed":e?`true`:`false`,children:[(0,W.jsx)(I,{icon:e?N:O,className:`size-3`,"aria-hidden":!0}),a??(e?`error`:`ok`)]}):null,l?(0,W.jsx)(`span`,{className:`flex h-full items-center px-2`,children:(0,W.jsx)(Tt,{cache:c??`none`,dataSlot:`call-api-cache`})}):null,u?(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:e=>(0,W.jsx)(`span`,{...e,className:`flex h-full items-center px-2 font-mono text-[10px] tabular-nums text-muted-foreground`,"data-slot":`call-api-duration`,"data-kind":u.primaryKind,children:ot(u.primaryMs)})}),(0,W.jsx)(s,{side:`bottom`,className:`max-w-xs text-[11px]`,children:u.primaryKind===`handler`?`Handler time — same clock as Traces.`:`Browser round-trip. Handler time is on the Traces row.`})]}):null,u?.primaryKind===`handler`&&u.rttMs!==null?(0,W.jsxs)(`span`,{className:`flex h-full items-center px-2 font-mono text-[10px] tabular-nums text-muted-foreground/70`,"data-slot":`call-api-rtt`,title:`Browser round-trip`,children:[ot(u.rttMs),` rtt`]}):null]})}function Tn({title:e,actions:t,children:n,dataTrigger:i,dataMode:a}){return(0,W.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`call-api-panel`,"data-trigger":i,"data-mode":a,children:[(0,W.jsxs)(`div`,{className:r(T,`min-w-0`),children:[(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 px-2`,children:[(0,W.jsx)(I,{icon:f,className:`size-3.5 text-muted-foreground`,"aria-hidden":!0}),(0,W.jsx)(`h3`,{className:r(L,`text-foreground`),children:e})]}),(0,W.jsx)(`div`,{className:`ml-auto flex h-full min-w-0 items-stretch`,children:t})]}),(0,W.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:n})]})}function En({view:e,onChange:t}){return(0,W.jsxs)(`div`,{className:`flex h-full shrink-0 items-stretch`,role:`group`,"aria-label":`Body view`,"data-slot":`call-api-body-view-toggle`,children:[(0,W.jsx)(Dn,{active:e===`fields`,label:`Fields`,icon:y,onClick:()=>t(`fields`)}),(0,W.jsx)(Dn,{active:e===`raw`,label:`Raw`,icon:b,onClick:()=>t(`raw`)})]})}function Dn({active:e,label:t,icon:n,onClick:i}){return(0,W.jsxs)(`button`,{type:`button`,className:r(S,`font-semibold tracking-[0.08em] uppercase`,e?A:ge),"aria-pressed":e,"aria-label":t,onClick:i,children:[(0,W.jsx)(I,{icon:n,className:`size-3`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:t})]})}var On=`h-full rounded-none border-0 bg-transparent px-2 text-[10px] font-semibold tracking-[0.08em] uppercase shadow-none hover:bg-muted/50`,kn=`h-full rounded-none border-0 px-3 text-[10px] font-semibold tracking-[0.14em] uppercase shadow-none`;function Z(){return(0,W.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0})}var An=`h-7 w-full justify-between rounded-none border-0 bg-transparent px-2 shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent dark:hover:bg-transparent`;function jn({title:e,hint:t}){return(0,W.jsxs)(`div`,{className:j,children:[(0,W.jsx)(`h4`,{className:r(L,`flex items-center px-2`),children:e}),t?(0,W.jsx)(`span`,{className:`ml-auto flex items-center px-2 text-[10px] text-muted-foreground`,children:t}):null]})}function Mn({field:e,value:t,onChange:n,error:a,wide:o=!1,manifest:s}){let c=`body-${e.name}`,l=Nn(e,s),u=[e.required?null:`optional`,l.lookup?`fk · ${l.lookup.child}.${l.lookup.column}`:e.type,l.lookup?null:Rt(e)].filter(Boolean).join(` · `),d=a?(0,W.jsx)(`p`,{className:`px-3 pb-2 text-xs text-destructive`,children:a.message}):null,f=r(o&&`col-span-full border-r-0`);if(l.lookup){let r=t==null||t===``?``:String(t),i=Pn(l.options,r);return(0,W.jsxs)(R,{label:e.name,hint:u,dense:!0,className:f,children:[(0,W.jsxs)(ke,{value:r||null,onValueChange:e=>{e==null||Array.isArray(e)||n(String(e))},children:[(0,W.jsx)(Oe,{id:c,className:An,disabled:l.isLoading,children:(0,W.jsx)(V,{placeholder:l.isLoading?`Loading…`:`Select…`})}),(0,W.jsx)(B,{children:i.map(e=>(0,W.jsx)(z,{value:e.value,children:e.label},e.value))})]}),d]})}if(e.type===`enum`&&e.enumValues)return(0,W.jsxs)(R,{label:e.name,hint:u,dense:!0,className:f,children:[(0,W.jsxs)(ke,{value:String(t??``),onValueChange:e=>{e==null||Array.isArray(e)||n(String(e))},children:[(0,W.jsx)(Oe,{id:c,className:An,children:(0,W.jsx)(V,{})}),(0,W.jsx)(B,{children:e.enumValues.map(e=>(0,W.jsx)(z,{value:e,children:e},e))})]}),d]});if(e.type===`boolean`)return(0,W.jsx)(R,{label:e.name,hint:u,dense:!0,className:f,children:(0,W.jsxs)(ke,{value:t===!0?`true`:`false`,onValueChange:e=>{e==null||Array.isArray(e)||n(String(e)===`true`)},children:[(0,W.jsx)(Oe,{id:c,className:An,children:(0,W.jsx)(V,{})}),(0,W.jsxs)(B,{children:[(0,W.jsx)(z,{value:`true`,children:`true`}),(0,W.jsx)(z,{value:`false`,children:`false`})]})]})});if(e.type===`integer`||e.type===`number`){let a=Ht(e);if(a){let r=typeof t==`number`?String(t):``;return(0,W.jsxs)(R,{label:e.name,hint:u,dense:!0,className:f,children:[(0,W.jsxs)(ke,{value:r||null,onValueChange:e=>{e==null||Array.isArray(e)||n(Number(e))},children:[(0,W.jsx)(Oe,{id:c,className:An,children:(0,W.jsx)(V,{placeholder:`Select…`})}),(0,W.jsx)(B,{children:a.map(t=>{let n=e.valueMeanings?.find(e=>e.value===String(t));return(0,W.jsx)(z,{value:String(t),children:n?`${t} · ${n.label}`:t},t)})})]}),d]})}return(0,W.jsxs)(R,{label:e.name,hint:u,dense:!0,className:f,children:[(0,W.jsx)(i,{id:c,type:`number`,flat:!0,className:r(Ee,`h-7 px-2 font-mono`),min:e.minimum,max:e.maximum,step:e.type===`integer`?1:void 0,value:typeof t==`number`?t:``,onChange:t=>{if(t.target.value===``){n(void 0);return}n(Fn(Number(t.target.value),e.minimum,e.maximum))}}),d]})}return(0,W.jsxs)(R,{label:e.name,hint:u,dense:!0,className:f,children:[(0,W.jsx)(i,{id:c,flat:!0,className:r(Ee,`h-7 px-2 font-mono`),value:typeof t==`string`?t:t==null?``:String(t),onChange:e=>n(e.target.value)}),d]})}function Nn(e,t){let n=(0,U.useMemo)(()=>Wt(e,t),[e,t]),r=De(n?{ref:n.ref,child:n.child,limit:200}:null,n!==null);return{lookup:n,options:(0,U.useMemo)(()=>Gt(r.data?.rows??[],n),[r.data?.rows,n]),isLoading:r.isFetching}}function Pn(e,t){return!t||e.some(e=>e.value===t)?e:[{value:t,label:t},...e]}function Fn(e,t,n){let r=e;return t!==void 0&&r<t&&(r=t),n!==void 0&&r>n&&(r=n),r}function Q({title:e,meta:t,ruled:n=!0}){return(0,W.jsxs)(`div`,{className:r(`flex items-baseline justify-between gap-2`,n&&`border-b border-border/60 pb-1.5`),children:[(0,W.jsx)(`h3`,{className:L,children:e}),t?(0,W.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:t}):null]})}function In({method:e,className:t}){return(0,W.jsx)(Ze,{variant:`outline`,className:r(`h-5 px-1.5 font-mono text-[10px] uppercase`,yt(e),t),"data-slot":`http-method-badge`,children:e})}var Ln=[`once`,`broadcast`,`live`],Rn={once:{delivery:`once`,icon:t,label:`once`,title:`once — one consumer claims; retries + DLQ`,wellClass:`border-amber-500/35 bg-amber-500/10 text-amber-700 dark:text-amber-400`,badgeClass:`border-amber-500/35 bg-amber-500/15 text-amber-800 dark:text-amber-400`},broadcast:{delivery:`broadcast`,icon:l,label:`broadcast`,title:`broadcast — every subscriber gets a copy`,wellClass:`border-sky-500/35 bg-sky-500/10 text-sky-700 dark:text-sky-400`,badgeClass:`border-sky-500/35 bg-sky-500/15 text-sky-700 dark:text-sky-400`},live:{delivery:`live`,icon:o,label:`live`,title:`live — retained feed; late subscribers replay history`,wellClass:`border-emerald-500/35 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400`,badgeClass:`border-emerald-500/35 bg-emerald-500/15 text-emerald-700 dark:text-emerald-400`}};function zn({delivery:e,className:t}){let n=Rn[e];return(0,W.jsx)(Ze,{variant:`outline`,title:n.title,className:r(`h-5 px-1.5 font-mono text-[10px]`,n.badgeClass,t),"data-slot":`signal-delivery-badge`,"data-delivery":e,children:n.label})}var Bn=new Set([`q`,`query`,`search`,`limit`,`offset`,`cursor`,`page`,`pageSize`,`perPage`,`per_page`,`page_size`,`order`,`orderBy`,`order_by`,`sort`,`sortBy`,`sort_by`,`direction`]);function Vn(e,t=[]){let n=new Set,r=[];for(let i of t){n.add(i);let t=e.find(e=>e.name===i);r.push(t??Hn(i))}let i=[];for(let t of e)n.has(t.name)||(Bn.has(t.name)?r.push(t):i.push(t));return{parameters:r,fields:i}}function Hn(e){return{path:`/path/${e}`,name:e,type:`string`,required:!0}}function Un({effects:e}){let t=Wn(e);return t.length===0?null:(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"data-slot":`effects-summary`,"aria-label":`Effects`,children:[(0,W.jsx)(Q,{title:`Effects`,meta:String(t.length)}),(0,W.jsx)(`ul`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>{let t=ut(e.kind),n=dt(e.kind,e.ref),r=e.kind===`call`?ht(e.ref):null;return(0,W.jsxs)(`li`,{className:`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 font-mono text-[10px]`,style:{borderColor:`${t}55`,color:t},title:r??`${bt[e.kind]} ${e.ref}`,children:[(0,W.jsx)(I,{icon:n,className:`size-3`}),r?(0,W.jsx)(`span`,{className:`text-foreground/90`,children:r}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:bt[e.kind]}),(0,W.jsx)(`span`,{className:`text-foreground/90`,children:e.ref})]})]},`${e.kind}:${e.ref}`)})})]})}function Wn(e){if(!e)return[];let t=[],n=(e,n)=>{for(let r of n??[]){let n=typeof r==`string`?r:r.ref??String(r);t.push({kind:e,ref:n})}};return n(`read`,e.reads),n(`write`,e.writes),n(`emit`,e.emits),n(`send`,e.sends),n(`ask`,e.asks),n(`secret`,e.secrets),n(`call`,e.calls),t}function Gn({errors:e}){let t=Kn(e);return t.length===0?null:(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"data-slot":`errors-section`,"aria-label":`Flow errors`,children:[(0,W.jsx)(Q,{title:`Flow errors`,meta:String(t.length)}),(0,W.jsx)(`ul`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>{let t=(e.schema?K(e.schema):[]).map(e=>e.name).join(`, `);return(0,W.jsxs)(`li`,{className:`inline-flex items-center gap-1 rounded-md border border-destructive/25 bg-destructive/[0.04] px-1.5 py-0.5 font-mono text-[10px] text-destructive`,title:t?`{ code, data: { ${t} } }`:`Typed error — { code, data }`,"data-slot":`error-code`,"data-code":e.code,children:[(0,W.jsx)(I,{icon:N,className:`size-3`,"aria-hidden":!0}),(0,W.jsx)(`span`,{className:`text-foreground/90`,children:e.code}),t?(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:t}):null]},e.code)})})]})}function Kn(e){return e?Array.isArray(e)?e.map(e=>({code:e,schema:null})):Object.entries(e).map(([e,t])=>({code:e,schema:J(t)})):[]}var qn=36e5;function Jn(e,t,n,r=qn){let i=Ct(e,new Set([t])),a=n-r,o=i.filter(e=>e.startedAt>=a);if(o.length===0)return{kind:`empty`};let s=o.filter(e=>e.error!=null&&e.error.length>0).length,c=o[0];return{kind:`summary`,calls:o.length,errors:s,errorRate:s/o.length,lastStartedAt:c.startedAt,latestRunId:c.id,windowMs:r}}function Yn({flowId:e,runs:t,nowMs:n=Date.now(),windowMs:i=qn,children:a}){let o=Jn(t??[],e,n,i);return(0,W.jsxs)(`div`,{className:r(j,`px-2`),"data-slot":`flow-activity-strip`,"data-kind":o.kind,"aria-label":`Recent activity`,children:[(0,W.jsx)(`span`,{className:r(L,`flex items-center`),children:`Activity`}),(0,W.jsx)(Xn,{summary:o,nowMs:n}),a?(0,W.jsx)(`div`,{className:`ml-auto flex h-full items-stretch`,children:a}):null]})}function Xn({summary:e,nowMs:t}){if(e.kind===`empty`)return(0,W.jsx)(`p`,{className:`flex items-center text-[11px] text-muted-foreground`,"data-slot":`flow-activity-empty`,children:`No recent runs in the Console buffer.`});let n=Math.round(e.errorRate*100),i=Zn(e.lastStartedAt,t);return(0,W.jsxs)(`p`,{className:`flex min-w-0 items-center gap-x-2 text-[11px] text-foreground/85`,children:[(0,W.jsxs)(`span`,{className:`tabular-nums`,"data-slot":`flow-activity-calls`,children:[e.calls,` call`,e.calls===1?``:`s`]}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,"aria-hidden":!0,children:`·`}),(0,W.jsxs)(`span`,{className:`tabular-nums`,"data-slot":`flow-activity-errors`,children:[n,`% errors`]}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,"aria-hidden":!0,children:`·`}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,"data-slot":`flow-activity-ago`,children:i}),(0,W.jsx)(ve,{to:`/overview`,search:{run:e.latestRunId},className:r(S,ge),"data-slot":`flow-activity-open-run`,children:`Open latest`})]})}function Zn(e,t){let n=Math.max(0,t-e);return n<6e4?`${Math.max(1,Math.round(n/1e3))}s ago`:n<36e5?`${Math.round(n/6e4)}m ago`:`${Math.round(n/36e5)}h ago`}function Qn(e){switch(e){case`string`:return`border-teal-500/35 bg-teal-500/10 text-teal-800 dark:text-teal-300`;case`integer`:return`border-blue-500/35 bg-blue-500/10 text-blue-800 dark:text-blue-300`;case`number`:return`border-amber-500/35 bg-amber-500/10 text-amber-800 dark:text-amber-300`;case`boolean`:return`border-violet-500/35 bg-violet-500/10 text-violet-800 dark:text-violet-300`;case`enum`:return`border-indigo-500/35 bg-indigo-500/10 text-indigo-800 dark:text-indigo-300`;case`array`:return`border-cyan-500/35 bg-cyan-500/10 text-cyan-800 dark:text-cyan-300`;case`object`:return`border-zinc-500/35 bg-zinc-500/10 text-zinc-700 dark:text-zinc-300`;default:return`border-border/70 bg-muted/40 text-muted-foreground`}}function $n({fields:e,emptyLabel:t=`No schema fields declared.`,layout:n=`list`}){return e.length===0?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,"data-slot":`schema-fields-empty`,children:t}):n===`grid`?(0,W.jsx)(`div`,{"data-slot":`schema-fields`,"data-layout":`grid`,children:(0,W.jsx)(we,{columns:3,children:e.map(e=>(0,W.jsx)(er,{field:e,depth:0,cell:!0},e.path))})}):(0,W.jsx)(`ul`,{className:`flex flex-col`,"data-slot":`schema-fields`,children:e.map(e=>(0,W.jsx)(er,{field:e,depth:0},e.path))})}function er({field:e,depth:t,cell:n=!1}){let i=e.type===`enum`&&e.enumValues,a=Rt(e);return(0,W.jsxs)(n?`div`:`li`,{className:n?`min-w-0 border-b border-border/50`:void 0,children:[(0,W.jsxs)(`div`,{className:n?`flex items-center gap-1.5 px-2 py-1.5`:`flex items-center gap-2 py-1`,style:n?void 0:{paddingLeft:t*14},"data-slot":`schema-field-row`,children:[(0,W.jsx)(`span`,{className:`shrink-0`,"data-slot":`schema-field-keys`,title:tr(e),children:(0,W.jsx)(Ot,{primaryKey:e.primaryKey,foreignKey:e.foreignKey,unique:e.unique,empty:`none`})}),(0,W.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[11px] font-medium text-foreground/90`,children:e.name}),e.required?null:(0,W.jsx)(`span`,{className:`shrink-0 rounded border border-border/60 bg-muted/30 px-1 py-px text-[9px] font-medium tracking-wide text-muted-foreground uppercase`,"data-slot":`schema-field-optional`,children:`optional`}),e.pii?(0,W.jsx)(`span`,{className:`shrink-0 rounded border border-amber-500/40 bg-amber-500/10 px-1 py-px text-[9px] font-medium tracking-wide text-amber-800 uppercase dark:text-amber-300`,"data-slot":`schema-field-pii`,children:`pii`}):null,e.sensitive?(0,W.jsx)(`span`,{className:`shrink-0 rounded border border-rose-500/40 bg-rose-500/10 px-1 py-px text-[9px] font-medium tracking-wide text-rose-700 uppercase dark:text-rose-300`,"data-slot":`schema-field-sensitive`,children:`sensitive`}):null,a&&!i?(0,W.jsx)(`span`,{className:`shrink-0 rounded border border-blue-500/35 bg-blue-500/10 px-1 py-px font-mono text-[9px] font-medium tracking-wide text-blue-800 dark:text-blue-300`,"data-slot":`schema-field-constraint`,title:`Allowed range ${a}`,children:a}):null,(0,W.jsx)(`span`,{className:r(`ml-auto shrink-0 rounded border px-1.5 py-px font-mono text-[9px] font-medium tracking-wide`,Qn(e.type)),"data-slot":`schema-field-type`,title:i?e.enumValues?.join(` | `):e.type,children:e.type})]}),e.children?.map(e=>(0,W.jsx)(er,{field:e,depth:t+1,cell:n},e.path))]})}function tr(e){let t=[];if(e.primaryKey&&t.push(`Primary key`),e.foreignKey){let n=e.references?[e.references.table,e.references.column].filter(Boolean).join(`.`):null;t.push(n?`Foreign key → ${n}`:`Foreign key`)}return e.unique&&t.push(`Unique`),t.length>0?t.join(` · `):`None`}function nr({fields:e}){let t=Bt(e);return t.length===0?null:(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"data-slot":`validation-section`,"aria-label":`Validation`,children:[(0,W.jsx)(Q,{title:`Validation`,meta:String(t.length)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-3`,children:t.map(e=>(0,W.jsx)(rr,{field:e},e.path))})]})}function rr({field:e}){let t=zt(e),n=e.valueMeanings?.length?e.valueMeanings:e.enumValues?.map(e=>({value:e,label:e}));return(0,W.jsxs)(`li`,{className:`flex flex-col gap-1.5`,"data-slot":`validation-field`,"data-field":e.name,children:[(0,W.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,W.jsx)(`span`,{className:`font-mono text-[11px] font-medium text-foreground/90`,children:e.name}),t?(0,W.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:t}):null]}),n&&n.length>0?(0,W.jsx)(`ul`,{className:`grid grid-cols-2 gap-x-4 gap-y-1 sm:grid-cols-3 lg:grid-cols-5`,children:n.map(e=>(0,W.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-1.5 font-mono text-[11px]`,"data-slot":`validation-option`,children:[(0,W.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.value}),(0,W.jsx)(`span`,{className:`truncate text-foreground/90`,children:e.label})]},e.value))}):null]})}function ir({row:e,manifest:t,runs:n,leading:i}){let a=H(e.flow.trigger),o=xt(e.flow.trigger),s=lt(t,e.id,a===`http`?`http`:a===`internal`?`internal`:a),c=J(e.flow.in),l=J(e.flow.out),u=gt(e.flow.gates??[],t),d=a===`signal`&&e.flow.trigger?.signal?t?.signals?.[e.flow.trigger.signal]:void 0,f=a===`cron`||a===`every`?ln(t,e.id):null,p=a===`internal`?wt(t,e.id):[],m=a===`http`?`Request`:`Input`,h=a===`http`?`Response`:`Output`,g=a!==`cron`&&a!==`every`,_=K(c),v=K(l),y=Vn(_,a===`http`&&e.path?rn(e.path):[]);return(0,W.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`flow-contract-panel`,"data-trigger":a,children:[(0,W.jsx)(xe,{dataSlot:`endpoint-header`,leading:i,icon:(0,W.jsx)(`span`,{"data-slot":`trigger-kind-icon`,"data-kind":a,children:(0,W.jsx)(I,{icon:o.icon,className:`size-4`})}),wellClassName:o.wellClass,title:(0,W.jsx)(`span`,{className:`font-mono`,children:e.id}),badge:(0,W.jsx)(`span`,{className:`font-mono text-[10px] font-medium tracking-[0.08em] text-muted-foreground uppercase`,"data-slot":`trigger-kind-badge`,children:o.label}),subtitle:a===`http`&&s.method&&s.path?(0,W.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,"data-slot":`http-endpoint-line`,children:[(0,W.jsx)(In,{method:s.method}),(0,W.jsx)(`code`,{className:`min-w-0 truncate font-mono text-[11px] leading-none text-muted-foreground select-all`,children:s.path})]}):a===`signal`&&d?(0,W.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,"data-slot":`signal-endpoint-line`,children:[(0,W.jsx)(zn,{delivery:d.delivery}),(0,W.jsx)(`code`,{className:`min-w-0 truncate font-mono text-[11px] leading-none text-muted-foreground select-all`,children:e.flow.trigger?.signal})]}):(0,W.jsx)(`span`,{className:`truncate font-mono text-[11px] leading-none text-muted-foreground`,"data-slot":`trigger-headline`,children:s.headline}),actions:(0,W.jsxs)(ve,{to:`/overview`,search:{flow:e.id},"data-slot":`open-in-graph`,className:r(S,`text-sky-700 dark:text-sky-400`),children:[(0,W.jsx)(I,{icon:qe.flow.icon,className:`size-3.5`,"aria-hidden":!0}),`Open in graph`]})}),(0,W.jsxs)(Yn,{flowId:e.id,runs:n,children:[e.flow.plane?(0,W.jsx)(ar,{plane:e.flow.plane}):null,e.flow.durable?(0,W.jsx)(or,{icon:de,label:`durable`,title:`Durable — long-running, retryable steps`}):null,e.flow.live?(0,W.jsx)(or,{icon:he,label:`live`,title:`Live — subscribes to realtime updates`}):null]}),(0,W.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-3`,children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(Un,{effects:e.flow.effects}),(0,W.jsx)(vt,{gates:u}),(0,W.jsx)(Gn,{errors:e.flow.errors}),a===`signal`&&d&&(d.retries!==void 0||d.deadLetter)?(0,W.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,"data-slot":`signal-delivery`,children:[d.retries===void 0?null:`retries ${d.retries}`,d.deadLetter?`dead-letter`:null].filter(e=>e!==null).join(` · `)}):null,(a===`cron`||a===`every`)&&f?.kind===`matched`?(0,W.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,"data-slot":`clock-join`,children:[`Clock · `,(0,W.jsx)(`span`,{className:`font-mono`,children:f.clockName}),f.timezone?` · ${f.timezone}`:``]}):null,a===`internal`?(0,W.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,"data-slot":`call-only-note`,children:[`No external trigger — reachable via `,(0,W.jsx)(`code`,{className:`font-mono`,children:`effects.calls`}),` /`,` `,(0,W.jsx)(`code`,{className:`font-mono`,children:`fx.call`}),`.`]}):null,a===`internal`?(0,W.jsxs)(`section`,{className:`flex flex-col gap-1.5`,"aria-label":`Callers`,"data-slot":`callers-list`,children:[(0,W.jsx)(Q,{title:`Called by`,meta:String(p.length)}),p.length===0?(0,W.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`No Manifest caller declares `,(0,W.jsx)(`code`,{className:`font-mono`,children:`effects.calls`}),` for this flow.`]}):(0,W.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:p.map(e=>(0,W.jsx)(`li`,{className:`font-mono text-xs text-foreground/90`,children:e},e))})]}):null,g&&y.parameters.length>0?(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"aria-label":`Parameters`,"data-slot":`parameters`,children:[(0,W.jsx)(Q,{title:`Parameters`,meta:String(y.parameters.length)}),(0,W.jsx)($n,{fields:y.parameters,layout:`grid`})]}):null,(0,W.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[g&&(y.fields.length>0||y.parameters.length===0)?(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"aria-label":m,"data-slot":`request`,children:[(0,W.jsx)(Q,{title:m,meta:String(y.fields.length)}),(0,W.jsx)($n,{fields:y.fields,emptyLabel:typeof e.flow.in==`string`?`Schema not expanded in Manifest.`:a===`signal`?`No flow input schema — signal payload shape lives on the signal when declared.`:`No input schema declared.`})]}):null,(0,W.jsxs)(`section`,{className:`flex flex-col gap-2`,"aria-label":h,children:[(0,W.jsx)(Q,{title:h,meta:String(v.length)}),(0,W.jsx)($n,{fields:v,emptyLabel:typeof e.flow.out==`string`?`Schema not expanded in Manifest.`:`No output schema declared.`})]})]}),g?(0,W.jsx)(nr,{fields:_}):null]})})]})}function ar({plane:e}){let t=e===`operator`,n=t?u:ie,i=t?`operator`:`user`;return(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:t=>(0,W.jsxs)(`span`,{...t,className:r(S,`cursor-help`),"data-slot":`plane-badge`,"data-plane":e,children:[(0,W.jsx)(I,{icon:n,className:`size-3`,"aria-hidden":!0}),i]})}),(0,W.jsx)(s,{side:`bottom`,className:`max-w-xs text-[11px]`,children:t?`Operator plane — runs under a Console operator identity, not an application user.`:`User plane — runs under an application user identity (invoke-as).`})]})}function or({icon:e,label:t,title:n}){return(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:n=>(0,W.jsxs)(`span`,{...n,className:r(S,ge,`cursor-help`),children:[(0,W.jsx)(I,{icon:e,className:`size-3`,"aria-hidden":!0}),t]})}),(0,W.jsx)(s,{side:`bottom`,className:`max-w-xs text-[11px]`,children:n})]})}function sr(e){let t=new Map(pt.map(e=>[e,[]]));for(let n of e){let e=new Map;for(let t of n.flows){let n=H(t.flow.trigger),r=e.get(n)??[];r.push(t),e.set(n,r)}for(let[r,i]of e)t.get(r)?.push({unit:n.unit,flows:i})}return pt.flatMap(e=>{let n=t.get(e)??[];return n.length===0?[]:[{id:e,label:ft[e].label,groups:n}]})}function cr(e){return`band:${e}`}function lr(e,t){return`unit:${e}:${t}`}function ur(e,t,n=!1){let r=t[e];return r===void 0?n:r}function dr(e){let t=[];for(let n of e){t.push(cr(n.id));for(let e of n.groups)t.push(lr(n.id,e.unit))}return t}function fr(e,t){for(let n of e)for(let e of n.groups)if(e.flows.some(e=>e.id===t))return[cr(n.id),lr(n.id,e.unit)];return[]}function pr(e,t){let n=mt(e.method)-mt(t.method);return n===0?e.id.localeCompare(t.id):n}function mr(e){let t=e?.flows;if(!t)return[];let n=new Map;for(let[r,i]of Object.entries(t)){let t=St(r),a=r.includes(`.`)?r.slice(r.indexOf(`.`)+1):r,o=i.trigger?.http,s=i.trigger?.signal??null,c={id:r,unit:t,action:a,flow:i,method:o?.method??null,path:o?.path??null,signal:s,delivery:s?e.signals?.[s]?.delivery??null:null},l=n.get(t)??[];l.push(c),n.set(t,l)}return[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({unit:e,flows:t.sort(pr)}))}function hr(e,t){let n=t.trim().toLowerCase();return n?e.map(e=>{let t=e.unit.toLowerCase().includes(n)?e.flows:e.flows.filter(e=>e.id.toLowerCase().includes(n)||e.action.toLowerCase().includes(n)||(e.method?.toLowerCase().includes(n)??!1)||(e.path?.toLowerCase().includes(n)??!1)||(e.signal?.toLowerCase().includes(n)??!1)||(e.delivery?.toLowerCase().includes(n)??!1));return t.length>0?{unit:e.unit,flows:t}:null}).filter(e=>e!==null):e}function gr(e){return(e.triggerKinds?.length??0)+(e.planes?.length??0)+(e.deliveries?.length??0)+ +!!e.durableOnly+ +!!e.liveOnly}function _r(e,t){let n=t.triggerKinds?.length?new Set(t.triggerKinds):null,r=t.planes?.length?new Set(t.planes):null,i=t.deliveries?.length?new Set(t.deliveries):null,a=t.durableOnly===!0,o=t.liveOnly===!0;return!n&&!r&&!i&&!a&&!o?e:e.map(e=>{let t=e.flows.filter(e=>!(n&&!n.has(H(e.flow.trigger))||r&&!r.has(e.flow.plane??`user`)||i&&(e.delivery===null||!i.has(e.delivery))||a&&!e.flow.durable||o&&!e.flow.live));return t.length>0?{unit:e.unit,flows:t}:null}).filter(e=>e!==null)}var vr={user:{icon:ie,label:`user`},operator:{icon:u,label:`operator`}},yr=[`user`,`operator`];function br({groups:e,selectedFlowId:t,onSelect:n}){let[i,a]=(0,U.useState)(``),[o,c]=(0,U.useState)(!1),[l,u]=(0,U.useState)({}),[f,p]=(0,U.useState)({}),m=(0,U.useMemo)(()=>{let t=new Set;for(let n of e)for(let e of n.flows)t.add(H(e.flow.trigger));return pt.filter(e=>t.has(e))},[e]),g=(0,U.useMemo)(()=>{let t=new Set;for(let n of e)for(let e of n.flows)e.flow.plane&&t.add(e.flow.plane);return yr.filter(e=>t.has(e))},[e]),{hasDurable:_,hasLive:v,availableDeliveries:y}=(0,U.useMemo)(()=>{let t=!1,n=!1,r=new Set;for(let i of e)for(let e of i.flows)e.flow.durable&&(t=!0),e.flow.live&&(n=!0),e.delivery&&r.add(e.delivery);return{hasDurable:t,hasLive:n,availableDeliveries:Ln.filter(e=>r.has(e))}},[e]),b=gr(l),x=(0,U.useMemo)(()=>sr(_r(hr(e,i),l)),[e,i,l]),S=(0,U.useMemo)(()=>dr(x),[x]),C=i.trim().length>0,E=S.length>0&&S.every(e=>ur(e,f,C));(0,U.useEffect)(()=>{if(!t)return;let e=fr(x,t);e.length!==0&&p(t=>{let n=!1,r={...t};for(let t of e)r[t]!==!0&&(r[t]=!0,n=!0);return n?r:t})},[t,x]);let D=(e,t)=>{p(n=>n[e]===t?n:{...n,[e]:t})},O=()=>{let e=!E;p(t=>{let n={...t};for(let t of S)n[t]=e;return n})},k=e=>u(t=>({...t,triggerKinds:Sr(t.triggerKinds??[],e)})),A=e=>u(t=>({...t,planes:Sr(t.planes??[],e)})),j=e=>u(t=>({...t,[e]:!t[e]})),M=e=>u(t=>({...t,deliveries:Sr(t.deliveries??[],e)}));return(0,W.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`units-tree`,children:[(0,W.jsxs)(`div`,{className:`shrink-0 border-b border-border/60`,children:[(0,W.jsxs)(`div`,{className:r(T,`border-b-0`),children:[(0,W.jsx)(rt,{value:i,onChange:e=>a(e.target.value),placeholder:`Search flows…`,"aria-label":`Search flows`,"data-slot":`units-search`}),(0,W.jsxs)(`div`,{className:`flex shrink-0 items-stretch pr-0.5`,children:[(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:e=>(0,W.jsxs)(`button`,{...e,type:`button`,"aria-expanded":o,"aria-controls":`units-advanced-panel`,"aria-label":b>0?`Advanced filters, ${b} active`:`Advanced filters`,"data-slot":`units-advanced-toggle`,onClick:t=>{e.onClick?.(t),c(e=>!e)},className:r(w,`relative`,(o||b>0)&&`text-foreground`),children:[(0,W.jsx)(I,{icon:le,className:`size-3`,"aria-hidden":!0}),b>0?(0,W.jsx)(`span`,{"data-slot":`units-advanced-count`,className:`absolute -top-0.5 -inset-e-0.5 flex size-3.5 items-center justify-center rounded-full bg-foreground text-[8px] font-medium text-background`,"aria-hidden":!0,children:b}):null]})}),(0,W.jsx)(s,{side:`bottom`,children:`Advanced`})]}),(0,W.jsx)(ze,{allOpen:E,disabled:S.length===0,onToggle:O,dataSlot:`units-tree-expand-toggle`})]})]}),o?(0,W.jsxs)(`div`,{id:`units-advanced-panel`,"data-slot":`units-advanced-panel`,className:`flex flex-col gap-2 border-t border-border/60 bg-muted/20 p-2`,children:[(0,W.jsx)(xr,{label:`Trigger`,groupLabel:`Trigger kind filter`,children:m.map(e=>{let t=ft[e];return(0,W.jsx)($,{icon:t.icon,label:t.label,pressed:l.triggerKinds?.includes(e)??!1,onToggle:()=>k(e),dataFacet:`kind:${e}`},e)})}),y.length>0?(0,W.jsx)(xr,{label:`Delivery`,groupLabel:`Signal delivery filter`,children:y.map(e=>{let t=Rn[e];return(0,W.jsx)($,{icon:t.icon,label:t.label,pressed:l.deliveries?.includes(e)??!1,onToggle:()=>M(e),dataFacet:`delivery:${e}`},e)})}):null,g.length>0?(0,W.jsx)(xr,{label:`Plane`,groupLabel:`Plane filter`,children:g.map(e=>{let t=vr[e];return(0,W.jsx)($,{icon:t.icon,label:t.label,pressed:l.planes?.includes(e)??!1,onToggle:()=>A(e),dataFacet:`plane:${e}`},e)})}):null,_||v?(0,W.jsxs)(xr,{label:`Flags`,groupLabel:`Flow flags filter`,children:[_?(0,W.jsx)($,{icon:de,label:`durable`,pressed:l.durableOnly??!1,onToggle:()=>j(`durableOnly`),dataFacet:`flag:durable`}):null,v?(0,W.jsx)($,{icon:he,label:`live`,pressed:l.liveOnly??!1,onToggle:()=>j(`liveOnly`),dataFacet:`flag:live`}):null]}):null,b>0?(0,W.jsx)(`button`,{type:`button`,"data-slot":`units-advanced-clear`,onClick:()=>u({}),className:`self-end px-2 py-1 text-[10px] font-medium text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,children:`Clear all`}):null]}):null]}),(0,W.jsx)(`div`,{className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto`,children:x.length===0?(0,W.jsx)(`p`,{className:ue,children:`No flows match.`}):(0,W.jsx)(`div`,{className:`flex flex-col`,children:x.map(e=>{let r=cr(e.id);return(0,W.jsx)(Cr,{band:e,open:ur(r,f,C),onOpenChange:e=>D(r,e),groupOpen:t=>ur(lr(e.id,t),f,C),onGroupOpenChange:(t,n)=>D(lr(e.id,t),n),selectedFlowId:t,onSelect:n},e.id)})})})]})}function xr({label:e,groupLabel:t,children:n}){return(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`w-14 shrink-0 text-[9px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:e}),(0,W.jsx)(`div`,{className:`flex min-h-7 flex-wrap items-stretch`,role:`group`,"aria-label":t,children:n})]})}function $({icon:e,label:t,pressed:n,onToggle:i,dataFacet:a}){return(0,W.jsxs)(`button`,{type:`button`,"data-slot":`units-facet-chip`,"data-facet":a,"aria-pressed":n,onClick:i,className:r(`inline-flex items-center gap-1 px-2 text-[10px] font-medium transition-colors hover:bg-muted/50`,n?`text-foreground`:`text-muted-foreground hover:text-foreground`),children:[(0,W.jsx)(I,{icon:e,className:`size-3`,"aria-hidden":!0}),t]})}function Sr(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Cr({band:e,open:t,onOpenChange:i,groupOpen:a,onGroupOpenChange:o,selectedFlowId:s,onSelect:c}){let l=ft[e.id],u=e.groups.reduce((e,t)=>e+t.flows.length,0),d=e.groups.map(e=>e.unit),f=d.length>0&&d.every(e=>a(e)),m=()=>{let e=!f;for(let t of d)o(t,e);e&&i(!0)};return(0,W.jsx)(`section`,{"data-slot":`units-trigger-band`,"data-band":e.id,"aria-label":e.label,className:g,children:(0,W.jsxs)(nt,{open:t,onOpenChange:i,children:[(0,W.jsx)(tt,{nativeButton:!1,className:n,"data-slot":`units-trigger-band-toggle`,render:n=>(0,W.jsxs)(`div`,{...n,children:[(0,W.jsx)(I,{icon:p,className:r(fe,!t&&`-rotate-90`),"aria-hidden":!0}),(0,W.jsx)(I,{icon:l.icon,className:r(F,v(l.wellClass)),"aria-hidden":!0}),(0,W.jsx)(`span`,{className:r(k,`flex-1`),children:e.label}),(0,W.jsx)(`span`,{className:ne,children:u}),(0,W.jsx)(`span`,{className:x,children:(0,W.jsx)(ze,{allOpen:f,disabled:d.length===0,onToggle:m,collapseLabel:`Collapse all in ${e.label}`,expandLabel:`Expand all in ${e.label}`,dataSlot:`units-band-expand-toggle`,disclose:!0,bare:!0})})]})}),(0,W.jsx)($e,{children:(0,W.jsx)(`ul`,{className:`flex flex-col`,children:e.groups.map(t=>(0,W.jsx)(wr,{group:t,open:a(t.unit),onOpenChange:e=>o(t.unit,e),selectedFlowId:s,onSelect:c},`${e.id}:${t.unit}`))})})]})})}function wr({group:e,open:t,onOpenChange:n,selectedFlowId:i,onSelect:a}){return(0,W.jsx)(`li`,{"data-slot":`unit-group`,"data-unit":e.unit,children:(0,W.jsxs)(nt,{open:t,onOpenChange:n,children:[(0,W.jsxs)(tt,{className:r(se,`pl-4`),children:[(0,W.jsx)(I,{icon:p,className:r(fe,!t&&`-rotate-90`),"aria-hidden":!0}),(0,W.jsx)(I,{icon:ae,className:r(F,`text-muted-foreground`),"aria-hidden":!0}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium text-foreground`,children:e.unit}),(0,W.jsx)(`span`,{className:ne,children:e.flows.length})]}),(0,W.jsx)($e,{children:(0,W.jsx)(`ul`,{className:`flex flex-col`,children:e.flows.map(e=>(0,W.jsx)(Tr,{flow:e,selected:i===e.id,onSelect:a},e.id))})})]})})}function Tr({flow:e,selected:t,onSelect:n}){let i=xt(e.flow.trigger),a=e.delivery?Rn[e.delivery]:null,o=a?.icon??(e.method?_t(e.method):i.icon),c=v(a?.wellClass??(e.method?yt(e.method):i.wellClass)),l=a?e.signal?`${a.title} · ${e.signal}`:a.title:i.detail?`${i.label} · ${i.detail}`:i.label;return(0,W.jsx)(`li`,{children:(0,W.jsxs)(`button`,{type:`button`,"data-slot":`unit-flow-item`,"data-flow-id":e.id,"data-delivery":e.delivery??void 0,"aria-current":t?`true`:void 0,onClick:()=>n(e.id),className:r(D,`group/flow pl-8`,t&&`bg-muted/70 text-foreground`),children:[(0,W.jsx)(`span`,{"aria-hidden":!0,className:r(me,t?te:`bg-transparent`)}),(0,W.jsxs)(h,{children:[(0,W.jsx)(d,{render:e=>(0,W.jsx)(`span`,{...e,className:r(F,c),"aria-hidden":!0,children:(0,W.jsx)(I,{icon:o,className:`size-3.5`})})}),(0,W.jsx)(s,{side:`right`,className:`text-[11px]`,children:l})]}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium text-foreground`,children:e.action}),e.method?(0,W.jsx)(In,{method:e.method,className:`ml-auto h-3.5 px-1 text-[8px] leading-none`}):null]})})}function Er(){let e=at(),t=st();it(!0);let{selectedFlowId:n,setSelectedFlow:r}=Ge(),i=Je(),a=(0,U.useMemo)(()=>mr(e.data??null),[e.data]),o=(0,W.jsx)(Ye,{open:i.open,onToggle:i.toggle,noun:`flows`,controlsId:`flows-tree`,dataSlot:`flows-tree-toggle`}),s=n??a[0]?.flows[0]?.id??null,c=(0,U.useMemo)(()=>{if(!s)return null;for(let e of a){let t=e.flows.find(e=>e.id===s);if(t)return t}return null},[a,s]);return(0,W.jsx)(`div`,{className:E,"data-slot":`units-page`,children:(0,W.jsxs)(Xe,{orientation:`horizontal`,className:`min-h-0 flex-1`,children:[(0,W.jsx)(Qe,{panelRef:i.panelRef,collapsible:!0,collapsedSize:0,defaultSize:P.start.defaultSize,minSize:P.start.minSize,onResize:i.onResize,className:`min-h-0 overflow-hidden`,children:(0,W.jsx)(`div`,{id:`flows-tree`,className:`h-full min-h-0 overflow-hidden`,"data-slot":`flows-tree`,children:(0,W.jsx)(br,{groups:a,selectedFlowId:s,onSelect:e=>{r(e)}})})}),i.open?(0,W.jsx)(et,{withHandle:!0}):null,(0,W.jsx)(Qe,{defaultSize:P.end.defaultSize,minSize:P.end.minSize,className:`min-h-0 overflow-hidden`,children:(0,W.jsx)(`div`,{className:`h-full min-h-0 overflow-hidden`,children:c?(0,W.jsxs)(Xe,{orientation:`vertical`,className:`min-h-0 flex-1`,"data-slot":`units-inspector`,children:[(0,W.jsx)(Qe,{defaultSize:`56%`,minSize:`28%`,className:`min-h-0 overflow-hidden`,children:(0,W.jsx)(ir,{row:c,manifest:e.data??null,runs:t.data,leading:o})}),(0,W.jsx)(et,{withHandle:!0}),(0,W.jsx)(Qe,{defaultSize:`44%`,minSize:`220px`,className:`min-h-0 overflow-hidden`,children:(0,W.jsx)(yn,{row:c,manifest:e.data??null})})]}):(0,W.jsx)(Et,{icon:qe.flow.icon,title:e.isLoading?`Loading Manifest…`:`Select a flow`,description:e.isLoading?`Reading the derived Manifest.`:`Pick a flow from the tree to inspect its contract.`,leading:o})})})]})})}export{Er as UnitsPage};
|