@inspectr/mcplab 1.22.0 → 1.22.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.
@@ -50,7 +50,7 @@ Error generating stack: `+E.message+`
50
50
 
51
51
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
52
52
 
53
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return m.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},RY="DialogDescriptionWarning",OY=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${g3(RY).contentName}}.`;return m.useEffect(()=>{const s=e.current?.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Rv=r3,MY=s3,Ov=o3,fu=l3,pu=c3,If=d3,$f=p3,Mv=m3;const x3=Rv,IY=Ov,y3=m.forwardRef(({className:e,...t},n)=>a.jsx(fu,{className:Te("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));y3.displayName=fu.displayName;const $Y=gl("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),nC=m.forwardRef(({side:e="right",className:t,children:n,...r},s)=>a.jsxs(IY,{children:[a.jsx(y3,{}),a.jsxs(pu,{ref:s,className:Te($Y({side:e}),t),...r,children:[n,a.jsxs(Mv,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[a.jsx(Ra,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));nC.displayName=pu.displayName;const b3=({className:e,...t})=>a.jsx("div",{className:Te("flex flex-col space-y-2 text-center sm:text-left",e),...t});b3.displayName="SheetHeader";const w3=m.forwardRef(({className:e,...t},n)=>a.jsx(If,{ref:n,className:Te("text-lg font-semibold text-foreground",e),...t}));w3.displayName=If.displayName;const DY=m.forwardRef(({className:e,...t},n)=>a.jsx($f,{ref:n,className:Te("text-sm text-muted-foreground",e),...t}));DY.displayName=$f.displayName;function oE({className:e,...t}){return a.jsx("div",{className:Te("animate-pulse rounded-md bg-muted",e),...t})}const LY="sidebar:state",FY=3600*24*7,zY="16rem",BY="18rem",qY="3rem",UY="b",j3=m.createContext(null);function Df(){const e=m.useContext(j3);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const S3=m.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:s,children:i,...o},c)=>{const d=bG(),[f,h]=m.useState(!1),[p,g]=m.useState(e),x=t??p,j=m.useCallback(N=>{const _=typeof N=="function"?N(x):N;n?n(_):g(_),document.cookie=`${LY}=${_}; path=/; max-age=${FY}`},[n,x]),b=m.useCallback(()=>d?h(N=>!N):j(N=>!N),[d,j,h]);m.useEffect(()=>{const N=_=>{_.key===UY&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),b())};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[b]);const y=x?"expanded":"collapsed",S=m.useMemo(()=>({state:y,open:x,setOpen:j,isMobile:d,openMobile:f,setOpenMobile:h,toggleSidebar:b}),[y,x,j,d,f,h,b]);return a.jsx(j3.Provider,{value:S,children:a.jsx(ui,{delayDuration:0,children:a.jsx("div",{style:{"--sidebar-width":zY,"--sidebar-width-icon":qY,...s},className:Te("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:c,...o,children:i})})})});S3.displayName="SidebarProvider";const N3=m.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:s,...i},o)=>{const{isMobile:c,state:d,openMobile:f,setOpenMobile:h}=Df();return n==="none"?a.jsx("div",{className:Te("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",r),ref:o,...i,children:s}):c?a.jsx(x3,{open:f,onOpenChange:h,...i,children:a.jsx(nC,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":BY},side:e,children:a.jsx("div",{className:"flex h-full w-full flex-col",children:s})})}):a.jsxs("div",{ref:o,className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?n:"","data-variant":t,"data-side":e,children:[a.jsx("div",{className:Te("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),a.jsx("div",{className:Te("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...i,children:a.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:s})})]})});N3.displayName="Sidebar";const C3=m.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:s}=Df();return a.jsxs(re,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Te("h-7 w-7",e),onClick:i=>{t?.(i),s()},...n,children:[a.jsx(w9,{}),a.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});C3.displayName="SidebarTrigger";const WY=m.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=Df();return a.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:Te("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 hover:after:bg-sidebar-border sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});WY.displayName="SidebarRail";const VY=m.forwardRef(({className:e,...t},n)=>a.jsx("main",{ref:n,className:Te("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));VY.displayName="SidebarInset";const HY=m.forwardRef(({className:e,...t},n)=>a.jsx(jt,{ref:n,"data-sidebar":"input",className:Te("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));HY.displayName="SidebarInput";const _3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"header",className:Te("flex flex-col gap-2 p-2",e),...t}));_3.displayName="SidebarHeader";const A3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"footer",className:Te("flex flex-col gap-2 p-2",e),...t}));A3.displayName="SidebarFooter";const $S=m.forwardRef(({className:e,...t},n)=>a.jsx(V5,{ref:n,"data-sidebar":"separator",className:Te("mx-2 w-auto bg-sidebar-border",e),...t}));$S.displayName="SidebarSeparator";const k3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"content",className:Te("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));k3.displayName="SidebarContent";const P3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group",className:Te("relative flex w-full min-w-0 flex-col p-2",e),...t}));P3.displayName="SidebarGroup";const E3=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"div";return a.jsx(s,{ref:r,"data-sidebar":"group-label",className:Te("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});E3.displayName="SidebarGroupLabel";const KY=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"button";return a.jsx(s,{ref:r,"data-sidebar":"group-action",className:Te("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});KY.displayName="SidebarGroupAction";const T3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group-content",className:Te("w-full text-sm",e),...t}));T3.displayName="SidebarGroupContent";const R3=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu",className:Te("flex w-full min-w-0 flex-col gap-1",e),...t}));R3.displayName="SidebarMenu";const O3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,"data-sidebar":"menu-item",className:Te("group/menu-item relative",e),...t}));O3.displayName="SidebarMenuItem";const GY=gl("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),M3=m.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:s,className:i,...o},c)=>{const d=e?lo:"button",{isMobile:f,state:h}=Df(),p=a.jsx(d,{ref:c,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:Te(GY({variant:n,size:r}),i),...o});return s?(typeof s=="string"&&(s={children:s}),a.jsxs(di,{children:[a.jsx(fi,{asChild:!0,children:p}),a.jsx(Ts,{side:"right",align:"center",hidden:h!=="collapsed"||f,...s})]})):p});M3.displayName="SidebarMenuButton";const YY=m.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},s)=>{const i=t?lo:"button";return a.jsx(i,{ref:s,"data-sidebar":"menu-action",className:Te("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...r})});YY.displayName="SidebarMenuAction";const XY=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:Te("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));XY.displayName="SidebarMenuBadge";const QY=m.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const s=m.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return a.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Te("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&a.jsx(oE,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),a.jsx(oE,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});QY.displayName="SidebarMenuSkeleton";const JY=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:Te("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));JY.displayName="SidebarMenuSub";const ZY=m.forwardRef(({...e},t)=>a.jsx("li",{ref:t,...e}));ZY.displayName="SidebarMenuSubItem";const eX=m.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...s},i)=>{const o=e?lo:"a";return a.jsx(o,{ref:i,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:Te("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...s})});eX.displayName="SidebarMenuSubButton";const I3=m.forwardRef(({className:e,activeClassName:t,pendingClassName:n,to:r,...s},i)=>a.jsx(cG,{ref:i,to:r,className:({isActive:o,isPending:c})=>Te(e,o&&t,c&&n),...s}));I3.displayName="NavLink";function tX({width:e=24,height:t=24,from:n="#53afba",to:r="#76fffb",...s}){const i=`grad-${m.useId().slice(1)}`;return a.jsxs("svg",{className:"inline-block",width:e,height:t,viewBox:"0 0 1648 1648",xmlns:"http://www.w3.org/2000/svg",...s,children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:i,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[a.jsx("stop",{offset:"0%",style:{stopColor:n}}),a.jsx("stop",{offset:"100%",style:{stopColor:r}})]})}),a.jsx("path",{d:"m610 216.654c-66.158 4.092-126.119 35.849-164.917 87.346-8.408 11.16-13.344 19.191-19.983 32.513-12.431 24.946-19.521 50.434-22.11 79.487-1.665 18.687-.854 826.238.841 837.939 7.867 54.284 32.465 101.134 70.706 134.667 16.297 14.291 32.283 24.657 53.963 34.991 16.889 8.05 34.568 13.468 60.5 18.541 9.019 1.764 52.201 1.795 61.5.044 26.487-4.989 43.97-10.341 61-18.675 15.131-7.406 21.53-11.135 60.5-35.267 20.813-12.887 23.095-14.298 29.5-18.24l13-8 13-8c6.901-4.247 12.593-7.767 29.54-18.271 5.796-3.593 12.771-7.863 15.5-9.49 2.728-1.626 8.56-5.19 12.96-7.921 4.4-2.73 72.575-44.711 151.5-93.29s150.925-92.918 160-98.531c9.075-5.612 24.15-14.936 33.5-20.719s23.075-14.234 30.5-18.78c85.169-52.142 120.029-73.942 130.014-81.304 40.974-30.211 68.344-69.764 81.788-118.194 13.864-49.94 8.549-104.847-14.809-153-16.836-34.708-41.252-62.432-74.993-85.154-4.125-2.778-17.625-11.26-30-18.849s-27-16.594-32.5-20.009c-5.5-3.416-109.45-67.427-231-142.246-306.386-188.593-335.221-206.352-350-215.553-30.562-19.028-59.301-29.911-90-34.083-11.697-1.59-30.408-2.514-39.5-1.952m-10.5 77.269c-39.541 6.402-76.013 29.73-97.661 62.467-13.001 19.66-19.718 38.39-22.802 63.584-1.472 12.028-1.434 802.191.04 818.026 1.861 19.998 6.142 35.48 14.415 52.133 17.942 36.114 53.025 64.18 91.508 73.203 3.575.839 8.975 2.118 12 2.844 8.221 1.973 40.343 1.613 49.971-.56 32.301-7.289 65.233-26.686 94.817-55.849 15.26-15.042 22.884-24.803 33.571-42.979 13.939-23.706 20.949-43.36 27.745-77.792 1.004-5.086 1.428-50 1.949-206.5.465-139.686 1.001-201.809 1.777-206 .611-3.3 1.608-9.15 2.217-13 1.672-10.583 4.039-21.117 7.191-32 8.179-28.247 20.714-55.13 37.188-79.751 24.262-36.262 53.189-63.572 93.074-87.872 4.95-3.016 12.825-7.435 17.5-9.82s8.95-4.668 9.5-5.074c3.565-2.63 34.688-13.266 52.465-17.93 6.2-1.627 11.49-3.174 11.754-3.439 1.003-1.002-1.016-2.602-10.967-8.689-5.639-3.449-16.552-10.172-24.252-14.94-13.435-8.319-31.76-19.604-58.5-36.029-6.875-4.222-16.1-9.911-20.5-12.641-7.667-4.758-73.088-45.103-122.5-75.546-75.227-46.348-108.509-66.591-116.5-70.86-9.422-5.033-25.23-10.76-37.043-13.419-7.967-1.794-40.076-2.843-47.957-1.567m473.5 305.564c-5.775.685-11.625 1.491-13 1.792-1.375.3-5.2 1.088-8.5 1.749-7.914 1.587-27.103 7.461-36.5 11.174-38.797 15.33-75.171 44.925-98.829 80.41-11.24 16.86-21.329 38.407-26.167 55.888-2.443 8.825-3.85 14.608-4.866 20-.621 3.3-1.653 8.475-2.292 11.5-.846 4.008-1.345 59.624-1.837 205-.618 182.331-.824 200.361-2.399 209.5-1.629 9.459-4.196 22.506-6.744 34.279-.628 2.903-.881 5.54-.561 5.859.596.596 455.986-279.084 472.195-290.001 17.547-11.819 36.335-33.412 46.291-53.203 3.956-7.863 9.527-23.924 11.597-33.434 4.848-22.272 3.572-48.26-3.506-71.387-6.907-22.572-18.055-40.93-35.316-58.158-12.705-12.681-16.829-15.485-79.066-53.756-7.15-4.397-15.7-9.654-19-11.684-3.3-2.029-8.925-5.504-12.5-7.722-53.826-33.397-67.199-40.611-88.616-47.8-29.343-9.85-61.599-13.421-90.384-10.006m-1066.25 1048.256c3.988.189 10.513.189 14.5 0 3.988-.19.725-.346-7.25-.346s-11.238.156-7.25.346",fill:`url(#${i})`,fillRule:"evenodd"})]})}const nX=[{title:"Home",items:[{title:"Dashboard",url:"/",icon:RD}]},{title:"Lab",items:[{title:"MCP Evaluations",url:"/mcp-evaluations",icon:ED},{title:"Analyze MCP",url:"/tool-analysis",icon:OD},{title:"OAuth Debugger",url:"/oauth-debugger",icon:N9}]},{title:"Libraries",items:[{title:"Test Cases",url:"/libraries/test-cases",icon:PD},{title:"MCP servers",url:"/libraries/servers",icon:kD},{title:"Agents",url:"/libraries/agents",icon:kr}]},{title:"Execution",items:[{title:"Run Evaluation",url:"/run",icon:is},{title:"Evaluation Results",url:"/results",icon:Ac},{title:"Compare Evaluations",url:"/compare",icon:TD},{title:"MCP Analysis Results",url:"/tool-analysis-results",icon:MD},{title:"Custom Reports",url:"/markdown-reports",icon:pc}]},{title:"Workspace",items:[{title:"Settings",url:"/settings",icon:IN},{title:"MCPLab MCP server",url:"/settings/mcp",icon:gS}]}];function rX(e={version:null}){const t=e.version??null,{state:n}=Df(),r=n==="collapsed",s=fs(),i=m.useMemo(()=>nX,[]);return a.jsxs(N3,{collapsible:"icon",children:[a.jsx(_3,{className:`border-b border-sidebar-border py-3 ${r?"px-2":"px-4"}`,children:a.jsxs("div",{className:`flex items-center ${r?"justify-center overflow-visible":"gap-2.5 overflow-hidden"}`,children:[a.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-sidebar-accent/50 border border-primary/60",children:a.jsx(tX,{width:22,height:22,from:"#f97316",to:"#fb923c"})}),!r&&a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-semibold text-sidebar-foreground",children:"MCPLab"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"MCP Evaluation Lab"})]})]})}),a.jsx(k3,{children:i.map((o,c)=>a.jsxs("div",{children:[c>0&&!r&&a.jsx($S,{className:"my-1.5"}),a.jsxs(P3,{className:r?"px-2":"px-3 py-2",children:[!r&&a.jsx(E3,{className:"px-1 pb-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/90",children:o.title}),a.jsx(T3,{children:a.jsx(R3,{children:o.items.map(d=>a.jsx(O3,{children:a.jsx(M3,{asChild:!0,isActive:d.url==="/"?s.pathname==="/":d.url==="/settings"?s.pathname==="/settings":s.pathname.startsWith(d.url),tooltip:d.title,children:a.jsxs(I3,{to:d.url,end:d.url==="/"||d.url==="/settings",activeClassName:"bg-sidebar-accent text-sidebar-accent-foreground",children:[a.jsx(d.icon,{className:"h-4 w-4"}),a.jsx("span",{children:d.title})]})})},d.title))})})]})]},o.title))}),a.jsxs(A3,{className:r?"px-2 py-2":"px-3 py-3",children:[a.jsx($S,{className:"my-1.5"}),a.jsxs("div",{className:`flex ${r?"justify-center":"items-center justify-center gap-2"} w-full`,children:[a.jsxs("a",{href:"https://github.com/inspectr-hq/mcplab",target:"_blank",rel:"noreferrer",className:`inline-flex items-center rounded-md border border-sidebar-border/70 bg-sidebar-accent/20 text-sidebar-foreground/85 transition-colors hover:bg-sidebar-accent/35 hover:text-sidebar-foreground ${r?"justify-center p-2":"gap-2 px-2.5 py-1.5"}`,title:`GitHub${t?` · v${t}`:""}`,"aria-label":"GitHub repository",children:[a.jsx(m9,{className:"h-4 w-4 shrink-0"}),!r&&a.jsx("span",{className:"text-xs text-sidebar-foreground/85",children:`v${t??"unknown"}`})]}),!r&&a.jsxs("a",{href:"https://inspectr.dev",target:"_blank",rel:"noreferrer",className:"text-xs text-muted-foreground transition-colors hover:text-sidebar-foreground",children:["Built by ",a.jsx("span",{className:"text-[#00e5ff] hover:text-[#00b8d4]",children:"Inspectr"})]})]})]})]})}const $3=m.forwardRef(({...e},t)=>a.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));$3.displayName="Breadcrumb";const D3=m.forwardRef(({className:e,...t},n)=>a.jsx("ol",{ref:n,className:Te("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));D3.displayName="BreadcrumbList";const L3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,className:Te("inline-flex items-center gap-1.5",e),...t}));L3.displayName="BreadcrumbItem";const F3=m.forwardRef(({asChild:e,className:t,...n},r)=>{const s=e?lo:"a";return a.jsx(s,{ref:r,className:Te("transition-colors hover:text-foreground",t),...n})});F3.displayName="BreadcrumbLink";const z3=m.forwardRef(({className:e,...t},n)=>a.jsx("span",{ref:n,role:"link","aria-disabled":"true","aria-current":"page",className:Te("font-normal text-foreground",e),...t}));z3.displayName="BreadcrumbPage";const B3=({children:e,className:t,...n})=>a.jsx("li",{role:"presentation","aria-hidden":"true",className:Te("[&>svg]:size-3.5",t),...n,children:e??a.jsx(RN,{})});B3.displayName="BreadcrumbSeparator";function ws(){return{input:0,output:0,total:0,hasInput:!1,hasOutput:!1,hasTotal:!1}}function cc(e,t){t&&(typeof t.inputTokens=="number"&&(e.input+=t.inputTokens,e.hasInput=!0),typeof t.outputTokens=="number"&&(e.output+=t.outputTokens,e.hasOutput=!0),typeof t.totalTokens=="number"&&(e.total+=t.totalTokens,e.hasTotal=!0))}function Xs(e){return!e.hasInput&&!e.hasOutput&&!e.hasTotal?null:{inputTokens:e.hasInput?e.input:null,outputTokens:e.hasOutput?e.output:null,totalTokens:e.hasTotal?e.total:null}}function aX(e){const t=ws();for(const n of e)cc(t,n);return Xs(t)}function sX(e,t){return`${e}-${t+1}`}function iX(e){switch(e.type){case"regex":return{type:"response_regex",value:e.pattern};case"contains":return{type:"response_contains",value:e.value};case"not_contains":return{type:"response_not_contains",value:e.value};case"starts_with":return{type:"response_starts_with",value:e.value};case"ends_with":return{type:"response_ends_with",value:e.value};case"equals":return{type:"response_equals",value:e.value};case"jsonpath":return{type:"response_jsonpath",path:e.path,equals:e.equals};case"jsonpath_exists":return{type:"response_jsonpath_exists",path:e.path};case"jsonpath_not_exists":return{type:"response_jsonpath_not_exists",path:e.path};default:throw new Error(`Unsupported response assertion type in config: ${String(e?.type??"(missing type)")}`)}}function oX(e){return e.type==="required_tool"||e.type==="forbidden_tool"||e.type==="agent_check"?null:e.type==="response_contains"?e.value?{type:"contains",value:e.value}:null:e.type==="response_not_contains"?e.value?{type:"not_contains",value:e.value}:null:e.type==="response_starts_with"?e.value?{type:"starts_with",value:e.value}:null:e.type==="response_ends_with"?e.value?{type:"ends_with",value:e.value}:null:e.type==="response_equals"?e.value?{type:"equals",value:e.value}:null:e.type==="response_regex"?e.value?{type:"regex",pattern:e.value}:null:e.type==="response_jsonpath"?e.path?.trim()?e.equals!==void 0?{type:"jsonpath",path:e.path.trim(),equals:e.equals}:{type:"jsonpath",path:e.path.trim()}:null:e.type==="response_jsonpath_exists"?e.path?.trim()?{type:"jsonpath_exists",path:e.path.trim()}:null:e.type==="response_jsonpath_not_exists"&&e.path?.trim()?{type:"jsonpath_not_exists",path:e.path.trim()}:null}function lX(e,t){const n=e.filter(f=>f.type==="required_tool").map(f=>f.value).filter(f=>typeof f=="string"&&f.length>0),r=e.filter(f=>f.type==="forbidden_tool").map(f=>f.value).filter(f=>typeof f=="string"&&f.length>0),s=e.map(f=>oX(f)).filter(f=>!!f),i=e.filter(f=>f.type==="agent_check").flatMap(f=>f.label?.trim()&&f.prompt?.trim()?[{label:f.label.trim(),prompt:f.prompt.trim()}]:[]),o=n.length>0||r.length>0?{...n.length>0?{required_tools:n}:{},...r.length>0?{forbidden_tools:r}:{}}:void 0,c={...t?.include_prompt?{include_prompt:!0}:{},...t?.include_tool_sequence?{include_tool_sequence:!0}:{}},d=Object.keys(c).length>0;if(!(!o&&s.length===0&&i.length===0&&!d))return{...o?{tool_constraints:o}:{},...s.length>0?{response_assertions:s}:{},...i.length>0?{agent_assertions:i}:{},...d?{agent_context:c}:{}}}function cX(e){if(e.length!==0)return e.map(t=>({name:t.name,from:"final_text",regex:t.pattern}))}function q3(e,t){const n=lX(e.evalRules,e.agentContext),r=cX(e.extractRules);return{id:e.id,name:e.name||void 0,servers:[],mcp_servers:t,prompt:e.prompt,eval:n,extract:r}}function lE(e){if(!("id"in e)||!e.id)return null;const t=String(e.id),n=e.auth,r={id:t,name:String(e.name||t),transport:"streamable-http",url:String(e.url||""),authType:n?.type==="bearer"?"bearer":n?.type==="api_key"||n?.type==="oauth_client_credentials"?"api-key":n?.type==="oauth_authorization_code"?"oauth2":"none",authValue:n?.type==="bearer"?String(n.token||"")||(n.env?`\${${n.env}}`:void 0):n?.type==="api_key"?String(n.value||""):void 0,apiKeyHeaderName:n?.type==="api_key"?String(n.header_name||""):void 0,oauthClientId:n?.type==="oauth_authorization_code"&&String(n.client_id||"")||void 0,oauthClientSecret:n?.type==="oauth_authorization_code"&&String(n.client_secret||"")||void 0,oauthRedirectUrl:n?.type==="oauth_authorization_code"&&String(n.redirect_url||"")||void 0,oauthScope:(n?.type==="oauth_authorization_code"||n?.type==="oauth_client_credentials")&&String(n.scope||"")||void 0,oauthMode:n?.type==="oauth_authorization_code"?n.mode:void 0,oauthAuthorizationUrl:n?.type==="oauth_authorization_code"&&String(n.authorization_url||"")||void 0,oauthTokenEndpoint:n?.type==="oauth_authorization_code"&&String(n.token_url||"")||void 0,oauthTokenUrl:n?.type==="oauth_client_credentials"?String(n.token_url||""):void 0,oauthClientIdEnv:n?.type==="oauth_client_credentials"?String(n.client_id_env||""):void 0,oauthClientSecretEnv:n?.type==="oauth_client_credentials"?String(n.client_secret_env||""):void 0,oauthAudience:n?.type==="oauth_client_credentials"&&String(n.audience||"")||void 0};return{id:t,server:r}}function Lh(e){const t=typeof e.config.name=="string"&&e.config.name.trim().length>0?e.config.name.trim():void 0,n=Array.isArray(e.config.servers)?e.config.servers:[],r=Array.isArray(e.config.agents)?e.config.agents:[],s=new Map,i=[],o=[];for(const p of n){if("ref"in p){const y=String(p.ref||"").trim();if(!y)continue;s.set(y,y),o.push({kind:"referenced",ref:y});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g;s.set(g,x);const j=p.auth?.type==="bearer"?"bearer":p.auth?.type==="api_key"||p.auth?.type==="oauth_client_credentials"?"api-key":p.auth?.type==="oauth_authorization_code"?"oauth2":"none",b={id:x,name:String(p.name||g),transport:"streamable-http",url:p.url,authType:j,authValue:p.auth?.type==="bearer"?p.auth.token??(p.auth.env?`\${${p.auth.env}}`:void 0):p.auth?.type==="api_key"?p.auth.value:void 0,apiKeyHeaderName:p.auth?.type==="api_key"?p.auth.header_name:void 0,oauthClientId:p.auth?.type==="oauth_authorization_code"?p.auth.client_id:void 0,oauthClientSecret:p.auth?.type==="oauth_authorization_code"?p.auth.client_secret:void 0,oauthRedirectUrl:p.auth?.type==="oauth_authorization_code"?p.auth.redirect_url:void 0,oauthScope:p.auth?.type==="oauth_authorization_code"||p.auth?.type==="oauth_client_credentials"?p.auth.scope:void 0,oauthMode:p.auth?.type==="oauth_authorization_code"?p.auth.mode:void 0,oauthAuthorizationUrl:p.auth?.type==="oauth_authorization_code"?p.auth.authorization_url:void 0,oauthTokenEndpoint:p.auth?.type==="oauth_authorization_code"?p.auth.token_url:void 0,oauthTokenUrl:p.auth?.type==="oauth_client_credentials"?p.auth.token_url:void 0,oauthClientIdEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_id_env:void 0,oauthClientSecretEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_secret_env:void 0,oauthAudience:p.auth?.type==="oauth_client_credentials"?p.auth.audience:void 0};i.push(b),o.push({kind:"inline",server:b})}const c=[],d=[];for(const p of r){if("ref"in p){const y=String(p.ref||"").trim();if(!y)continue;d.push({kind:"referenced",ref:y});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g,j=p.provider==="azure_openai"?"azure":p.provider,b={id:x,name:String(p.name||g),provider:j,model:p.model,temperature:p.temperature??0,maxTokens:p.max_tokens??2048,maxTurns:p.max_turns,systemPrompt:p.system};c.push(b),d.push({kind:"inline",agent:b})}const f=[],h=[];return e.config.scenarios.forEach((p,g)=>{if("ref"in p){const y=String(p.ref||"").trim();if(!y)return;const S=p.mcp_servers,N=Array.isArray(S)?S.flatMap(_=>{const A=_;if("ref"in A&&A.ref)return[{kind:"referenced",ref:String(A.ref)}];const k=lE(A);return k?[{kind:"inline",server:k.server}]:[]}):void 0;h.push({kind:"referenced",ref:y,...N?{mcpServers:N}:{}});return}const x=[];for(const y of p.eval?.tool_constraints?.required_tools??[])x.push({type:"required_tool",value:y});for(const y of p.eval?.tool_constraints?.forbidden_tools??[])x.push({type:"forbidden_tool",value:y});for(const y of p.eval?.response_assertions??[])x.push(iX(y));for(const y of p.eval?.agent_assertions??[])x.push({type:"agent_check",label:y.label,prompt:y.prompt});const j=p.eval?.agent_context&&(p.eval.agent_context.include_prompt||p.eval.agent_context.include_tool_sequence)?{include_prompt:p.eval.agent_context.include_prompt,include_tool_sequence:p.eval.agent_context.include_tool_sequence}:void 0,b={id:p.id||sX("scn",g),name:p.name||p.id||`Scenario ${g+1}`,serverIds:(()=>{if((p.servers??[]).length>0)return p.servers.map(S=>s.get(S)??S).filter(Boolean);const y=p.mcp_servers;return Array.isArray(y)?y.flatMap(S=>{if("ref"in S&&S.ref)return[String(S.ref)];const N=lE(S);if(N){const _=N.id;return s.has(_)||(s.set(_,_),i.push(N.server),o.push({kind:"inline",server:i[i.length-1]})),[_]}return[]}):[]})(),prompt:p.prompt,evalRules:x,extractRules:(p.extract??[]).map(y=>({name:y.name,pattern:y.regex})),...j?{agentContext:j}:{}};f.push(b),h.push({kind:"inline",scenario:b})}),{id:e.id,name:t||e.name,configName:t,configHash:e.hash,description:e.path,...e.relativePath?{relativePath:e.relativePath}:{},...e.suitePath!==void 0?{suitePath:e.suitePath}:{},loadError:e.error,loadWarnings:e.warnings,servers:i,serverEntries:o,agents:c,agentEntries:d,scenarios:f,scenarioEntries:h,runDefaults:e.config.run_defaults?.selected_agents&&e.config.run_defaults.selected_agents.length>0?{selectedAgentNames:[...e.config.run_defaults.selected_agents]}:void 0,createdAt:e.mtime,updatedAt:e.mtime,sourcePath:e.path}}function uX(e){const t={id:"library",name:"library",path:"library",mtime:new Date(0).toISOString(),hash:"",config:{servers:Object.entries(e.servers).map(([r,s])=>({id:r,name:s.name||r,transport:s.transport,url:s.url,auth:s.auth})),agents:Object.entries(e.agents).map(([r,s])=>({id:r,name:s.name||r,provider:s.provider,model:s.model,temperature:s.temperature,max_tokens:s.max_tokens,max_turns:s.max_turns,system:s.system})),scenarios:e.scenarios}},n=Lh(t);return{servers:n.servers,agents:n.agents,scenarios:n.scenarios}}function cE(e){const t=new Map,n=x=>{const j=x.id,b=x.authValue?.trim()??"",y=x.apiKeyHeaderName?.trim()??"",S=x.authType==="bearer"?(()=>{if(!b)throw new Error(`Server '${j}' is missing bearer token value`);return{type:"bearer",token:b}})():x.authType==="api-key"&&!x.oauthTokenUrl?{type:"api_key",...y?{header_name:y}:{},value:(()=>{if(!b)throw new Error(`Server '${j}' is missing API key value`);return b})()}:x.authType==="api-key"?{type:"oauth_client_credentials",token_url:x.oauthTokenUrl||"",client_id_env:x.oauthClientIdEnv||"",client_secret_env:x.oauthClientSecretEnv||"",...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAudience?{audience:x.oauthAudience}:{}}:x.authType==="oauth2"?{type:"oauth_authorization_code",...x.oauthMode==="dcr"?{mode:"dcr"}:{},...x.oauthMode!=="dcr"&&x.oauthClientId?{client_id:x.oauthClientId}:{},...x.oauthClientSecret?{client_secret:x.oauthClientSecret}:{},...x.oauthRedirectUrl?{redirect_url:x.oauthRedirectUrl}:{},...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAuthorizationUrl?{authorization_url:x.oauthAuthorizationUrl}:{},...x.oauthTokenEndpoint?{token_url:x.oauthTokenEndpoint}:{}}:void 0;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},transport:"http",url:x.url||"http://localhost:3000/mcp",...S!==void 0?{auth:S}:{}}},r=e.serverEntries&&e.serverEntries.length>0?e.serverEntries:[...e.servers.map(x=>({kind:"inline",server:x}))],s=new Set,i=new Map,o=r.flatMap(x=>{if(x.kind==="referenced"){const b=String(x.ref||"").trim();return!b||s.has(b)?[]:(s.add(b),t.set(b,b),[{ref:b}])}const j=n(x.server);return t.set(x.server.id,j.id),i.set(j.id,j),[j]}),c=x=>{const j=x.id;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},provider:x.provider==="azure"?"azure_openai":x.provider==="anthropic"?"anthropic":"openai",model:x.model,temperature:x.temperature,max_tokens:x.maxTokens,max_turns:x.maxTurns,system:x.systemPrompt}},d=e.agentEntries&&e.agentEntries.length>0?e.agentEntries:[...e.agents.map(x=>({kind:"inline",agent:x}))],f=new Set,h=d.flatMap(x=>{if(x.kind==="referenced"){const j=String(x.ref||"").trim();return!j||f.has(j)?[]:(f.add(j),[{ref:j}])}return[c(x.agent)]}),p=x=>{const j=x.serverIds.length>0?x.serverIds.map(b=>{const y=t.get(b)??b;return i.get(y)??{ref:y}}):void 0;return q3(x,j)},g=e.scenarioEntries&&e.scenarioEntries.length>0?e.scenarioEntries.map(x=>x.kind==="referenced"?{ref:x.ref,...Array.isArray(x.mcpServers)?{mcp_servers:x.mcpServers.map(j=>j.kind==="referenced"?{ref:j.ref}:n(j.server))}:{}}:p(x.scenario)):[...e.scenarios.map(x=>p(x))];return{name:e.configName?.trim()||void 0,servers:o,agents:h,scenarios:g,run_defaults:e.runDefaults?.selectedAgentNames&&e.runDefaults.selectedAgentNames.length>0?{selected_agents:[...e.runDefaults.selectedAgentNames]}:void 0}}function dX(e){const t=Object.fromEntries((e.servers??[]).map(r=>[r.id,(()=>{const s=r.authValue?.trim()??"",i=r.apiKeyHeaderName?.trim()??"";return{...r.name&&r.name!==r.id?{name:r.name}:{},transport:"http",url:r.url||"http://localhost:3000/mcp",auth:r.authType==="bearer"?(()=>{if(!s)throw new Error(`Server '${r.id}' is missing bearer token value`);return{type:"bearer",token:s}})():r.authType==="api-key"&&!r.oauthTokenUrl?{type:"api_key",...i?{header_name:i}:{},value:(()=>{if(!s)throw new Error(`Server '${r.id}' is missing API key value`);return s})()}:r.authType==="api-key"?{type:"oauth_client_credentials",token_url:r.oauthTokenUrl||"",client_id_env:r.oauthClientIdEnv||"",client_secret_env:r.oauthClientSecretEnv||"",...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAudience?{audience:r.oauthAudience}:{}}:r.authType==="oauth2"?{type:"oauth_authorization_code",...r.oauthMode==="dcr"?{mode:"dcr"}:{},...r.oauthMode!=="dcr"&&r.oauthClientId?{client_id:r.oauthClientId}:{},...r.oauthClientSecret?{client_secret:r.oauthClientSecret}:{},...r.oauthRedirectUrl?{redirect_url:r.oauthRedirectUrl}:{},...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAuthorizationUrl?{authorization_url:r.oauthAuthorizationUrl}:{},...r.oauthTokenEndpoint?{token_url:r.oauthTokenEndpoint}:{}}:void 0}})()])),n=Object.fromEntries(e.agents.map(r=>[r.id,{...r.name&&r.name!==r.id?{name:r.name}:{},provider:r.provider==="azure"?"azure_openai":r.provider==="anthropic"?"anthropic":"openai",model:r.model,temperature:r.temperature,max_tokens:r.maxTokens,max_turns:r.maxTurns,system:r.systemPrompt}]));return{servers:t,agents:n,scenarios:e.scenarios.map(r=>q3(r,r.serverIds.length>0?r.serverIds.map(s=>({ref:s})):void 0))}}function fX(e,t){if(e)return`${e}::${t??""}`}function mh(e){return e.type==="text"}function U3(e,t){if(!t)return e.tool_calls.map((s,i)=>({name:s,arguments:{},duration:e.tool_durations_ms[i]??0,timestamp:new Date().toISOString()}));const n=[],r=new Map;for(const s of t.messages)for(const i of s.content)i.type==="tool_use"?n.push({id:i.id,name:i.name,input:i.input??{},ts:s.ts}):i.type==="tool_result"&&r.set(i.tool_use_id,{durationMs:i.duration_ms,tsEnd:i.ts_end});return n.map((s,i)=>{const o=r.get(s.id);return{name:s.name,arguments:s.input,duration:o?.durationMs??e.tool_durations_ms[i]??0,timestamp:o?.tsEnd??s.ts??new Date().toISOString()}})}function W3(e,t){const n=[];if(!e)return n;let r;const s=e.messages??[];for(let i=0;i<s.length;i+=1){const o=s[i];if(o.role==="user"){const c=o.content.filter(mh);for(const d of c)n.push({id:`user_prompt-${n.length}`,kind:"user_prompt",text:d.text,timestamp:o.ts});continue}if(o.role==="assistant"){const c=o.content.filter(h=>h.type==="tool_use");for(const h of o.content)h.type==="text"&&(n.push({id:`assistant_thought-${n.length}`,kind:"assistant_thought",text:h.text,timestamp:o.ts}),r=n.length-1);const d=s[i+1],f=d?.role==="tool";if(c.length>0&&f){const h=new Map,p=[];for(const g of d.content)g.type==="tool_result"&&(g.tool_use_id?h.set(g.tool_use_id,g):p.push(g));for(const g of c){n.push({id:`tool_call-${n.length}`,kind:"tool_call",text:uE(g.input??{}),toolName:g.name,timestamp:o.ts,estimatedTokens:g.estimated_tokens?{inputTokens:g.estimated_tokens.input,outputTokens:g.estimated_tokens.output,totalTokens:g.estimated_tokens.total}:void 0,estimatedTokenMethod:g.estimated_tokens?.method});const x=h.get(g.id);if(!x)continue;const j=x.content.filter(mh).map(b=>b.text).join(`
53
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return m.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},RY="DialogDescriptionWarning",OY=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${g3(RY).contentName}}.`;return m.useEffect(()=>{const s=e.current?.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Rv=r3,MY=s3,Ov=o3,fu=l3,pu=c3,If=d3,$f=p3,Mv=m3;const x3=Rv,IY=Ov,y3=m.forwardRef(({className:e,...t},n)=>a.jsx(fu,{className:Te("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));y3.displayName=fu.displayName;const $Y=gl("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),nC=m.forwardRef(({side:e="right",className:t,children:n,...r},s)=>a.jsxs(IY,{children:[a.jsx(y3,{}),a.jsxs(pu,{ref:s,className:Te($Y({side:e}),t),...r,children:[n,a.jsxs(Mv,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[a.jsx(Ra,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));nC.displayName=pu.displayName;const b3=({className:e,...t})=>a.jsx("div",{className:Te("flex flex-col space-y-2 text-center sm:text-left",e),...t});b3.displayName="SheetHeader";const w3=m.forwardRef(({className:e,...t},n)=>a.jsx(If,{ref:n,className:Te("text-lg font-semibold text-foreground",e),...t}));w3.displayName=If.displayName;const DY=m.forwardRef(({className:e,...t},n)=>a.jsx($f,{ref:n,className:Te("text-sm text-muted-foreground",e),...t}));DY.displayName=$f.displayName;function oE({className:e,...t}){return a.jsx("div",{className:Te("animate-pulse rounded-md bg-muted",e),...t})}const LY="sidebar:state",FY=3600*24*7,zY="16rem",BY="18rem",qY="3rem",UY="b",j3=m.createContext(null);function Df(){const e=m.useContext(j3);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const S3=m.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:s,children:i,...o},c)=>{const d=bG(),[f,h]=m.useState(!1),[p,g]=m.useState(e),x=t??p,j=m.useCallback(N=>{const _=typeof N=="function"?N(x):N;n?n(_):g(_),document.cookie=`${LY}=${_}; path=/; max-age=${FY}`},[n,x]),b=m.useCallback(()=>d?h(N=>!N):j(N=>!N),[d,j,h]);m.useEffect(()=>{const N=_=>{_.key===UY&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),b())};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[b]);const y=x?"expanded":"collapsed",S=m.useMemo(()=>({state:y,open:x,setOpen:j,isMobile:d,openMobile:f,setOpenMobile:h,toggleSidebar:b}),[y,x,j,d,f,h,b]);return a.jsx(j3.Provider,{value:S,children:a.jsx(ui,{delayDuration:0,children:a.jsx("div",{style:{"--sidebar-width":zY,"--sidebar-width-icon":qY,...s},className:Te("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:c,...o,children:i})})})});S3.displayName="SidebarProvider";const N3=m.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:s,...i},o)=>{const{isMobile:c,state:d,openMobile:f,setOpenMobile:h}=Df();return n==="none"?a.jsx("div",{className:Te("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",r),ref:o,...i,children:s}):c?a.jsx(x3,{open:f,onOpenChange:h,...i,children:a.jsx(nC,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":BY},side:e,children:a.jsx("div",{className:"flex h-full w-full flex-col",children:s})})}):a.jsxs("div",{ref:o,className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?n:"","data-variant":t,"data-side":e,children:[a.jsx("div",{className:Te("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),a.jsx("div",{className:Te("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...i,children:a.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:s})})]})});N3.displayName="Sidebar";const C3=m.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:s}=Df();return a.jsxs(re,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Te("h-7 w-7",e),onClick:i=>{t?.(i),s()},...n,children:[a.jsx(w9,{}),a.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});C3.displayName="SidebarTrigger";const WY=m.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=Df();return a.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:Te("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 hover:after:bg-sidebar-border sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});WY.displayName="SidebarRail";const VY=m.forwardRef(({className:e,...t},n)=>a.jsx("main",{ref:n,className:Te("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));VY.displayName="SidebarInset";const HY=m.forwardRef(({className:e,...t},n)=>a.jsx(jt,{ref:n,"data-sidebar":"input",className:Te("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));HY.displayName="SidebarInput";const _3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"header",className:Te("flex flex-col gap-2 p-2",e),...t}));_3.displayName="SidebarHeader";const A3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"footer",className:Te("flex flex-col gap-2 p-2",e),...t}));A3.displayName="SidebarFooter";const $S=m.forwardRef(({className:e,...t},n)=>a.jsx(V5,{ref:n,"data-sidebar":"separator",className:Te("mx-2 w-auto bg-sidebar-border",e),...t}));$S.displayName="SidebarSeparator";const k3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"content",className:Te("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));k3.displayName="SidebarContent";const P3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group",className:Te("relative flex w-full min-w-0 flex-col p-2",e),...t}));P3.displayName="SidebarGroup";const E3=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"div";return a.jsx(s,{ref:r,"data-sidebar":"group-label",className:Te("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});E3.displayName="SidebarGroupLabel";const KY=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"button";return a.jsx(s,{ref:r,"data-sidebar":"group-action",className:Te("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});KY.displayName="SidebarGroupAction";const T3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group-content",className:Te("w-full text-sm",e),...t}));T3.displayName="SidebarGroupContent";const R3=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu",className:Te("flex w-full min-w-0 flex-col gap-1",e),...t}));R3.displayName="SidebarMenu";const O3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,"data-sidebar":"menu-item",className:Te("group/menu-item relative",e),...t}));O3.displayName="SidebarMenuItem";const GY=gl("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),M3=m.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:s,className:i,...o},c)=>{const d=e?lo:"button",{isMobile:f,state:h}=Df(),p=a.jsx(d,{ref:c,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:Te(GY({variant:n,size:r}),i),...o});return s?(typeof s=="string"&&(s={children:s}),a.jsxs(di,{children:[a.jsx(fi,{asChild:!0,children:p}),a.jsx(Ts,{side:"right",align:"center",hidden:h!=="collapsed"||f,...s})]})):p});M3.displayName="SidebarMenuButton";const YY=m.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},s)=>{const i=t?lo:"button";return a.jsx(i,{ref:s,"data-sidebar":"menu-action",className:Te("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...r})});YY.displayName="SidebarMenuAction";const XY=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:Te("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));XY.displayName="SidebarMenuBadge";const QY=m.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const s=m.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return a.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Te("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&a.jsx(oE,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),a.jsx(oE,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});QY.displayName="SidebarMenuSkeleton";const JY=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:Te("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));JY.displayName="SidebarMenuSub";const ZY=m.forwardRef(({...e},t)=>a.jsx("li",{ref:t,...e}));ZY.displayName="SidebarMenuSubItem";const eX=m.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...s},i)=>{const o=e?lo:"a";return a.jsx(o,{ref:i,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:Te("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...s})});eX.displayName="SidebarMenuSubButton";const I3=m.forwardRef(({className:e,activeClassName:t,pendingClassName:n,to:r,...s},i)=>a.jsx(cG,{ref:i,to:r,className:({isActive:o,isPending:c})=>Te(e,o&&t,c&&n),...s}));I3.displayName="NavLink";function tX({width:e=24,height:t=24,from:n="#53afba",to:r="#76fffb",...s}){const i=`grad-${m.useId().slice(1)}`;return a.jsxs("svg",{className:"inline-block",width:e,height:t,viewBox:"0 0 1648 1648",xmlns:"http://www.w3.org/2000/svg",...s,children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:i,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[a.jsx("stop",{offset:"0%",style:{stopColor:n}}),a.jsx("stop",{offset:"100%",style:{stopColor:r}})]})}),a.jsx("path",{d:"m610 216.654c-66.158 4.092-126.119 35.849-164.917 87.346-8.408 11.16-13.344 19.191-19.983 32.513-12.431 24.946-19.521 50.434-22.11 79.487-1.665 18.687-.854 826.238.841 837.939 7.867 54.284 32.465 101.134 70.706 134.667 16.297 14.291 32.283 24.657 53.963 34.991 16.889 8.05 34.568 13.468 60.5 18.541 9.019 1.764 52.201 1.795 61.5.044 26.487-4.989 43.97-10.341 61-18.675 15.131-7.406 21.53-11.135 60.5-35.267 20.813-12.887 23.095-14.298 29.5-18.24l13-8 13-8c6.901-4.247 12.593-7.767 29.54-18.271 5.796-3.593 12.771-7.863 15.5-9.49 2.728-1.626 8.56-5.19 12.96-7.921 4.4-2.73 72.575-44.711 151.5-93.29s150.925-92.918 160-98.531c9.075-5.612 24.15-14.936 33.5-20.719s23.075-14.234 30.5-18.78c85.169-52.142 120.029-73.942 130.014-81.304 40.974-30.211 68.344-69.764 81.788-118.194 13.864-49.94 8.549-104.847-14.809-153-16.836-34.708-41.252-62.432-74.993-85.154-4.125-2.778-17.625-11.26-30-18.849s-27-16.594-32.5-20.009c-5.5-3.416-109.45-67.427-231-142.246-306.386-188.593-335.221-206.352-350-215.553-30.562-19.028-59.301-29.911-90-34.083-11.697-1.59-30.408-2.514-39.5-1.952m-10.5 77.269c-39.541 6.402-76.013 29.73-97.661 62.467-13.001 19.66-19.718 38.39-22.802 63.584-1.472 12.028-1.434 802.191.04 818.026 1.861 19.998 6.142 35.48 14.415 52.133 17.942 36.114 53.025 64.18 91.508 73.203 3.575.839 8.975 2.118 12 2.844 8.221 1.973 40.343 1.613 49.971-.56 32.301-7.289 65.233-26.686 94.817-55.849 15.26-15.042 22.884-24.803 33.571-42.979 13.939-23.706 20.949-43.36 27.745-77.792 1.004-5.086 1.428-50 1.949-206.5.465-139.686 1.001-201.809 1.777-206 .611-3.3 1.608-9.15 2.217-13 1.672-10.583 4.039-21.117 7.191-32 8.179-28.247 20.714-55.13 37.188-79.751 24.262-36.262 53.189-63.572 93.074-87.872 4.95-3.016 12.825-7.435 17.5-9.82s8.95-4.668 9.5-5.074c3.565-2.63 34.688-13.266 52.465-17.93 6.2-1.627 11.49-3.174 11.754-3.439 1.003-1.002-1.016-2.602-10.967-8.689-5.639-3.449-16.552-10.172-24.252-14.94-13.435-8.319-31.76-19.604-58.5-36.029-6.875-4.222-16.1-9.911-20.5-12.641-7.667-4.758-73.088-45.103-122.5-75.546-75.227-46.348-108.509-66.591-116.5-70.86-9.422-5.033-25.23-10.76-37.043-13.419-7.967-1.794-40.076-2.843-47.957-1.567m473.5 305.564c-5.775.685-11.625 1.491-13 1.792-1.375.3-5.2 1.088-8.5 1.749-7.914 1.587-27.103 7.461-36.5 11.174-38.797 15.33-75.171 44.925-98.829 80.41-11.24 16.86-21.329 38.407-26.167 55.888-2.443 8.825-3.85 14.608-4.866 20-.621 3.3-1.653 8.475-2.292 11.5-.846 4.008-1.345 59.624-1.837 205-.618 182.331-.824 200.361-2.399 209.5-1.629 9.459-4.196 22.506-6.744 34.279-.628 2.903-.881 5.54-.561 5.859.596.596 455.986-279.084 472.195-290.001 17.547-11.819 36.335-33.412 46.291-53.203 3.956-7.863 9.527-23.924 11.597-33.434 4.848-22.272 3.572-48.26-3.506-71.387-6.907-22.572-18.055-40.93-35.316-58.158-12.705-12.681-16.829-15.485-79.066-53.756-7.15-4.397-15.7-9.654-19-11.684-3.3-2.029-8.925-5.504-12.5-7.722-53.826-33.397-67.199-40.611-88.616-47.8-29.343-9.85-61.599-13.421-90.384-10.006m-1066.25 1048.256c3.988.189 10.513.189 14.5 0 3.988-.19.725-.346-7.25-.346s-11.238.156-7.25.346",fill:`url(#${i})`,fillRule:"evenodd"})]})}const nX=[{title:"Home",items:[{title:"Dashboard",url:"/",icon:RD}]},{title:"Lab",items:[{title:"MCP Evaluations",url:"/mcp-evaluations",icon:ED},{title:"Analyze MCP",url:"/tool-analysis",icon:OD},{title:"OAuth Debugger",url:"/oauth-debugger",icon:N9}]},{title:"Libraries",items:[{title:"Test Cases",url:"/libraries/test-cases",icon:PD},{title:"MCP servers",url:"/libraries/servers",icon:kD},{title:"Agents",url:"/libraries/agents",icon:kr}]},{title:"Execution",items:[{title:"Run Evaluation",url:"/run",icon:is},{title:"Evaluation Results",url:"/results",icon:Ac},{title:"Compare Evaluations",url:"/compare",icon:TD},{title:"MCP Analysis Results",url:"/tool-analysis-results",icon:MD},{title:"Custom Reports",url:"/markdown-reports",icon:pc}]},{title:"Workspace",items:[{title:"Settings",url:"/settings",icon:IN},{title:"MCPLab MCP server",url:"/settings/mcp",icon:gS}]}];function rX(e={version:null}){const t=e.version??null,{state:n}=Df(),r=n==="collapsed",s=fs(),i=m.useMemo(()=>nX,[]);return a.jsxs(N3,{collapsible:"icon",children:[a.jsx(_3,{className:`border-b border-sidebar-border py-3 ${r?"px-2":"px-4"}`,children:a.jsxs("div",{className:`flex items-center ${r?"justify-center overflow-visible":"gap-2.5 overflow-hidden"}`,children:[a.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-sidebar-accent/50 border border-primary/60",children:a.jsx(tX,{width:22,height:22,from:"#f97316",to:"#fb923c"})}),!r&&a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-semibold text-sidebar-foreground",children:"MCPLab"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"MCP Evaluation Lab"})]})]})}),a.jsx(k3,{children:i.map((o,c)=>a.jsxs("div",{children:[c>0&&!r&&a.jsx($S,{className:"my-1.5"}),a.jsxs(P3,{className:r?"px-2":"px-3 py-2",children:[!r&&a.jsx(E3,{className:"px-1 pb-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/90",children:o.title}),a.jsx(T3,{children:a.jsx(R3,{children:o.items.map(d=>a.jsx(O3,{children:a.jsx(M3,{asChild:!0,isActive:d.url==="/"?s.pathname==="/":d.url==="/settings"?s.pathname==="/settings":s.pathname.startsWith(d.url),tooltip:d.title,children:a.jsxs(I3,{to:d.url,end:d.url==="/"||d.url==="/settings",activeClassName:"bg-sidebar-accent text-sidebar-accent-foreground",children:[a.jsx(d.icon,{className:"h-4 w-4"}),a.jsx("span",{children:d.title})]})})},d.title))})})]})]},o.title))}),a.jsxs(A3,{className:r?"px-2 py-2":"px-3 py-3",children:[a.jsx($S,{className:"my-1.5"}),a.jsxs("div",{className:`flex ${r?"justify-center":"items-center justify-center gap-2"} w-full`,children:[a.jsxs("a",{href:"https://github.com/inspectr-hq/mcplab",target:"_blank",rel:"noreferrer",className:`inline-flex items-center rounded-md border border-sidebar-border/70 bg-sidebar-accent/20 text-sidebar-foreground/85 transition-colors hover:bg-sidebar-accent/35 hover:text-sidebar-foreground ${r?"justify-center p-2":"gap-2 px-2.5 py-1.5"}`,title:`GitHub${t?` · v${t}`:""}`,"aria-label":"GitHub repository",children:[a.jsx(m9,{className:"h-4 w-4 shrink-0"}),!r&&a.jsx("span",{className:"text-xs text-sidebar-foreground/85",children:`v${t??"unknown"}`})]}),!r&&a.jsxs("a",{href:"https://inspectr.dev",target:"_blank",rel:"noreferrer",className:"text-xs text-muted-foreground transition-colors hover:text-sidebar-foreground",children:["Built by ",a.jsx("span",{className:"text-[#00e5ff] hover:text-[#00b8d4]",children:"Inspectr"})]})]})]})]})}const $3=m.forwardRef(({...e},t)=>a.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));$3.displayName="Breadcrumb";const D3=m.forwardRef(({className:e,...t},n)=>a.jsx("ol",{ref:n,className:Te("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));D3.displayName="BreadcrumbList";const L3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,className:Te("inline-flex items-center gap-1.5",e),...t}));L3.displayName="BreadcrumbItem";const F3=m.forwardRef(({asChild:e,className:t,...n},r)=>{const s=e?lo:"a";return a.jsx(s,{ref:r,className:Te("transition-colors hover:text-foreground",t),...n})});F3.displayName="BreadcrumbLink";const z3=m.forwardRef(({className:e,...t},n)=>a.jsx("span",{ref:n,role:"link","aria-disabled":"true","aria-current":"page",className:Te("font-normal text-foreground",e),...t}));z3.displayName="BreadcrumbPage";const B3=({children:e,className:t,...n})=>a.jsx("li",{role:"presentation","aria-hidden":"true",className:Te("[&>svg]:size-3.5",t),...n,children:e??a.jsx(RN,{})});B3.displayName="BreadcrumbSeparator";function ws(){return{input:0,output:0,total:0,hasInput:!1,hasOutput:!1,hasTotal:!1}}function cc(e,t){t&&(typeof t.inputTokens=="number"&&(e.input+=t.inputTokens,e.hasInput=!0),typeof t.outputTokens=="number"&&(e.output+=t.outputTokens,e.hasOutput=!0),typeof t.totalTokens=="number"&&(e.total+=t.totalTokens,e.hasTotal=!0))}function Xs(e){return!e.hasInput&&!e.hasOutput&&!e.hasTotal?null:{inputTokens:e.hasInput?e.input:null,outputTokens:e.hasOutput?e.output:null,totalTokens:e.hasTotal?e.total:null}}function aX(e){const t=ws();for(const n of e)cc(t,n);return Xs(t)}function sX(e,t){return`${e}-${t+1}`}function iX(e){switch(e.type){case"regex":return{type:"response_regex",value:e.pattern};case"contains":return{type:"response_contains",value:e.value};case"not_contains":return{type:"response_not_contains",value:e.value};case"starts_with":return{type:"response_starts_with",value:e.value};case"ends_with":return{type:"response_ends_with",value:e.value};case"equals":return{type:"response_equals",value:e.value};case"jsonpath":return{type:"response_jsonpath",path:e.path,equals:e.equals};case"jsonpath_exists":return{type:"response_jsonpath_exists",path:e.path};case"jsonpath_not_exists":return{type:"response_jsonpath_not_exists",path:e.path};default:throw new Error(`Unsupported response assertion type in config: ${String(e?.type??"(missing type)")}`)}}function oX(e){return e.type==="required_tool"||e.type==="forbidden_tool"||e.type==="agent_check"?null:e.type==="response_contains"?e.value?{type:"contains",value:e.value}:null:e.type==="response_not_contains"?e.value?{type:"not_contains",value:e.value}:null:e.type==="response_starts_with"?e.value?{type:"starts_with",value:e.value}:null:e.type==="response_ends_with"?e.value?{type:"ends_with",value:e.value}:null:e.type==="response_equals"?e.value?{type:"equals",value:e.value}:null:e.type==="response_regex"?e.value?{type:"regex",pattern:e.value}:null:e.type==="response_jsonpath"?e.path?.trim()?e.equals!==void 0?{type:"jsonpath",path:e.path.trim(),equals:e.equals}:{type:"jsonpath",path:e.path.trim()}:null:e.type==="response_jsonpath_exists"?e.path?.trim()?{type:"jsonpath_exists",path:e.path.trim()}:null:e.type==="response_jsonpath_not_exists"&&e.path?.trim()?{type:"jsonpath_not_exists",path:e.path.trim()}:null}function lX(e,t){const n=e.filter(f=>f.type==="required_tool").map(f=>f.value).filter(f=>typeof f=="string"&&f.length>0),r=e.filter(f=>f.type==="forbidden_tool").map(f=>f.value).filter(f=>typeof f=="string"&&f.length>0),s=e.map(f=>oX(f)).filter(f=>!!f),i=e.filter(f=>f.type==="agent_check").flatMap(f=>f.label?.trim()&&f.prompt?.trim()?[{label:f.label.trim(),prompt:f.prompt.trim()}]:[]),o=n.length>0||r.length>0?{...n.length>0?{required_tools:n}:{},...r.length>0?{forbidden_tools:r}:{}}:void 0,c={...t?.include_prompt?{include_prompt:!0}:{},...t?.include_tool_sequence?{include_tool_sequence:!0}:{}},d=Object.keys(c).length>0;if(!(!o&&s.length===0&&i.length===0&&!d))return{...o?{tool_constraints:o}:{},...s.length>0?{response_assertions:s}:{},...i.length>0?{agent_assertions:i}:{},...d?{agent_context:c}:{}}}function cX(e){if(e.length!==0)return e.map(t=>({name:t.name,from:"final_text",regex:t.pattern}))}function q3(e,t){const n=lX(e.evalRules,e.agentContext),r=cX(e.extractRules);return{id:e.id,name:e.name||void 0,mcp_servers:t,prompt:e.prompt,eval:n,extract:r}}function lE(e){if(!("id"in e)||!e.id)return null;const t=String(e.id),n=e.auth,r={id:t,name:String(e.name||t),transport:"streamable-http",url:String(e.url||""),authType:n?.type==="bearer"?"bearer":n?.type==="api_key"||n?.type==="oauth_client_credentials"?"api-key":n?.type==="oauth_authorization_code"?"oauth2":"none",authValue:n?.type==="bearer"?String(n.token||"")||(n.env?`\${${n.env}}`:void 0):n?.type==="api_key"?String(n.value||""):void 0,apiKeyHeaderName:n?.type==="api_key"?String(n.header_name||""):void 0,oauthClientId:n?.type==="oauth_authorization_code"&&String(n.client_id||"")||void 0,oauthClientSecret:n?.type==="oauth_authorization_code"&&String(n.client_secret||"")||void 0,oauthRedirectUrl:n?.type==="oauth_authorization_code"&&String(n.redirect_url||"")||void 0,oauthScope:(n?.type==="oauth_authorization_code"||n?.type==="oauth_client_credentials")&&String(n.scope||"")||void 0,oauthMode:n?.type==="oauth_authorization_code"?n.mode:void 0,oauthAuthorizationUrl:n?.type==="oauth_authorization_code"&&String(n.authorization_url||"")||void 0,oauthTokenEndpoint:n?.type==="oauth_authorization_code"&&String(n.token_url||"")||void 0,oauthTokenUrl:n?.type==="oauth_client_credentials"?String(n.token_url||""):void 0,oauthClientIdEnv:n?.type==="oauth_client_credentials"?String(n.client_id_env||""):void 0,oauthClientSecretEnv:n?.type==="oauth_client_credentials"?String(n.client_secret_env||""):void 0,oauthAudience:n?.type==="oauth_client_credentials"&&String(n.audience||"")||void 0};return{id:t,server:r}}function Lh(e){const t=typeof e.config.name=="string"&&e.config.name.trim().length>0?e.config.name.trim():void 0,n=Array.isArray(e.config.servers)?e.config.servers:[],r=Array.isArray(e.config.agents)?e.config.agents:[],s=new Map,i=[],o=[];for(const p of n){if("ref"in p){const y=String(p.ref||"").trim();if(!y)continue;s.set(y,y),o.push({kind:"referenced",ref:y});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g;s.set(g,x);const j=p.auth?.type==="bearer"?"bearer":p.auth?.type==="api_key"||p.auth?.type==="oauth_client_credentials"?"api-key":p.auth?.type==="oauth_authorization_code"?"oauth2":"none",b={id:x,name:String(p.name||g),transport:"streamable-http",url:p.url,authType:j,authValue:p.auth?.type==="bearer"?p.auth.token??(p.auth.env?`\${${p.auth.env}}`:void 0):p.auth?.type==="api_key"?p.auth.value:void 0,apiKeyHeaderName:p.auth?.type==="api_key"?p.auth.header_name:void 0,oauthClientId:p.auth?.type==="oauth_authorization_code"?p.auth.client_id:void 0,oauthClientSecret:p.auth?.type==="oauth_authorization_code"?p.auth.client_secret:void 0,oauthRedirectUrl:p.auth?.type==="oauth_authorization_code"?p.auth.redirect_url:void 0,oauthScope:p.auth?.type==="oauth_authorization_code"||p.auth?.type==="oauth_client_credentials"?p.auth.scope:void 0,oauthMode:p.auth?.type==="oauth_authorization_code"?p.auth.mode:void 0,oauthAuthorizationUrl:p.auth?.type==="oauth_authorization_code"?p.auth.authorization_url:void 0,oauthTokenEndpoint:p.auth?.type==="oauth_authorization_code"?p.auth.token_url:void 0,oauthTokenUrl:p.auth?.type==="oauth_client_credentials"?p.auth.token_url:void 0,oauthClientIdEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_id_env:void 0,oauthClientSecretEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_secret_env:void 0,oauthAudience:p.auth?.type==="oauth_client_credentials"?p.auth.audience:void 0};i.push(b),o.push({kind:"inline",server:b})}const c=[],d=[];for(const p of r){if("ref"in p){const y=String(p.ref||"").trim();if(!y)continue;d.push({kind:"referenced",ref:y});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g,j=p.provider==="azure_openai"?"azure":p.provider,b={id:x,name:String(p.name||g),provider:j,model:p.model,temperature:p.temperature??0,maxTokens:p.max_tokens??2048,maxTurns:p.max_turns,systemPrompt:p.system};c.push(b),d.push({kind:"inline",agent:b})}const f=[],h=[];return e.config.scenarios.forEach((p,g)=>{if("ref"in p){const y=String(p.ref||"").trim();if(!y)return;const S=p.mcp_servers,N=Array.isArray(S)?S.flatMap(_=>{const A=_;if("ref"in A&&A.ref)return[{kind:"referenced",ref:String(A.ref)}];const k=lE(A);return k?[{kind:"inline",server:k.server}]:[]}):void 0;h.push({kind:"referenced",ref:y,...N?{mcpServers:N}:{}});return}const x=[];for(const y of p.eval?.tool_constraints?.required_tools??[])x.push({type:"required_tool",value:y});for(const y of p.eval?.tool_constraints?.forbidden_tools??[])x.push({type:"forbidden_tool",value:y});for(const y of p.eval?.response_assertions??[])x.push(iX(y));for(const y of p.eval?.agent_assertions??[])x.push({type:"agent_check",label:y.label,prompt:y.prompt});const j=p.eval?.agent_context&&(p.eval.agent_context.include_prompt||p.eval.agent_context.include_tool_sequence)?{include_prompt:p.eval.agent_context.include_prompt,include_tool_sequence:p.eval.agent_context.include_tool_sequence}:void 0,b={id:p.id||sX("scn",g),name:p.name||p.id||`Scenario ${g+1}`,serverIds:(()=>{if((p.servers??[]).length>0)return p.servers.map(S=>s.get(S)??S).filter(Boolean);const y=p.mcp_servers;return Array.isArray(y)?y.flatMap(S=>{if("ref"in S&&S.ref)return[String(S.ref)];const N=lE(S);if(N){const _=N.id;return s.has(_)||(s.set(_,_),i.push(N.server),o.push({kind:"inline",server:i[i.length-1]})),[_]}return[]}):[]})(),prompt:p.prompt,evalRules:x,extractRules:(p.extract??[]).map(y=>({name:y.name,pattern:y.regex})),...j?{agentContext:j}:{}};f.push(b),h.push({kind:"inline",scenario:b})}),{id:e.id,name:t||e.name,configName:t,configHash:e.hash,description:e.path,...e.relativePath?{relativePath:e.relativePath}:{},...e.suitePath!==void 0?{suitePath:e.suitePath}:{},loadError:e.error,loadWarnings:e.warnings,servers:i,serverEntries:o,agents:c,agentEntries:d,scenarios:f,scenarioEntries:h,runDefaults:e.config.run_defaults?.selected_agents&&e.config.run_defaults.selected_agents.length>0?{selectedAgentNames:[...e.config.run_defaults.selected_agents]}:void 0,createdAt:e.mtime,updatedAt:e.mtime,sourcePath:e.path}}function uX(e){const t={id:"library",name:"library",path:"library",mtime:new Date(0).toISOString(),hash:"",config:{servers:Object.entries(e.servers).map(([r,s])=>({id:r,name:s.name||r,transport:s.transport,url:s.url,auth:s.auth})),agents:Object.entries(e.agents).map(([r,s])=>({id:r,name:s.name||r,provider:s.provider,model:s.model,temperature:s.temperature,max_tokens:s.max_tokens,max_turns:s.max_turns,system:s.system})),scenarios:e.scenarios}},n=Lh(t);return{servers:n.servers,agents:n.agents,scenarios:n.scenarios}}function cE(e){const t=new Map,n=x=>{const j=x.id,b=x.authValue?.trim()??"",y=x.apiKeyHeaderName?.trim()??"",S=x.authType==="bearer"?(()=>{if(!b)throw new Error(`Server '${j}' is missing bearer token value`);return{type:"bearer",token:b}})():x.authType==="api-key"&&!x.oauthTokenUrl?{type:"api_key",...y?{header_name:y}:{},value:(()=>{if(!b)throw new Error(`Server '${j}' is missing API key value`);return b})()}:x.authType==="api-key"?{type:"oauth_client_credentials",token_url:x.oauthTokenUrl||"",client_id_env:x.oauthClientIdEnv||"",client_secret_env:x.oauthClientSecretEnv||"",...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAudience?{audience:x.oauthAudience}:{}}:x.authType==="oauth2"?{type:"oauth_authorization_code",...x.oauthMode==="dcr"?{mode:"dcr"}:{},...x.oauthMode!=="dcr"&&x.oauthClientId?{client_id:x.oauthClientId}:{},...x.oauthClientSecret?{client_secret:x.oauthClientSecret}:{},...x.oauthRedirectUrl?{redirect_url:x.oauthRedirectUrl}:{},...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAuthorizationUrl?{authorization_url:x.oauthAuthorizationUrl}:{},...x.oauthTokenEndpoint?{token_url:x.oauthTokenEndpoint}:{}}:void 0;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},transport:"http",url:x.url||"http://localhost:3000/mcp",...S!==void 0?{auth:S}:{}}},r=e.serverEntries&&e.serverEntries.length>0?e.serverEntries:[...e.servers.map(x=>({kind:"inline",server:x}))],s=new Set,i=new Map,o=r.flatMap(x=>{if(x.kind==="referenced"){const b=String(x.ref||"").trim();return!b||s.has(b)?[]:(s.add(b),t.set(b,b),[{ref:b}])}const j=n(x.server);return t.set(x.server.id,j.id),i.set(j.id,j),[j]}),c=x=>{const j=x.id;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},provider:x.provider==="azure"?"azure_openai":x.provider==="anthropic"?"anthropic":"openai",model:x.model,temperature:x.temperature,max_tokens:x.maxTokens,max_turns:x.maxTurns,system:x.systemPrompt}},d=e.agentEntries&&e.agentEntries.length>0?e.agentEntries:[...e.agents.map(x=>({kind:"inline",agent:x}))],f=new Set,h=d.flatMap(x=>{if(x.kind==="referenced"){const j=String(x.ref||"").trim();return!j||f.has(j)?[]:(f.add(j),[{ref:j}])}return[c(x.agent)]}),p=x=>{const j=x.serverIds.length>0?x.serverIds.map(b=>{const y=t.get(b)??b;return i.get(y)??{ref:y}}):void 0;return q3(x,j)},g=e.scenarioEntries&&e.scenarioEntries.length>0?e.scenarioEntries.map(x=>x.kind==="referenced"?{ref:x.ref,...Array.isArray(x.mcpServers)?{mcp_servers:x.mcpServers.map(j=>j.kind==="referenced"?{ref:j.ref}:n(j.server))}:{}}:p(x.scenario)):[...e.scenarios.map(x=>p(x))];return{name:e.configName?.trim()||void 0,servers:o,agents:h,scenarios:g,run_defaults:e.runDefaults?.selectedAgentNames&&e.runDefaults.selectedAgentNames.length>0?{selected_agents:[...e.runDefaults.selectedAgentNames]}:void 0}}function dX(e){const t=Object.fromEntries((e.servers??[]).map(r=>[r.id,(()=>{const s=r.authValue?.trim()??"",i=r.apiKeyHeaderName?.trim()??"";return{...r.name&&r.name!==r.id?{name:r.name}:{},transport:"http",url:r.url||"http://localhost:3000/mcp",auth:r.authType==="bearer"?(()=>{if(!s)throw new Error(`Server '${r.id}' is missing bearer token value`);return{type:"bearer",token:s}})():r.authType==="api-key"&&!r.oauthTokenUrl?{type:"api_key",...i?{header_name:i}:{},value:(()=>{if(!s)throw new Error(`Server '${r.id}' is missing API key value`);return s})()}:r.authType==="api-key"?{type:"oauth_client_credentials",token_url:r.oauthTokenUrl||"",client_id_env:r.oauthClientIdEnv||"",client_secret_env:r.oauthClientSecretEnv||"",...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAudience?{audience:r.oauthAudience}:{}}:r.authType==="oauth2"?{type:"oauth_authorization_code",...r.oauthMode==="dcr"?{mode:"dcr"}:{},...r.oauthMode!=="dcr"&&r.oauthClientId?{client_id:r.oauthClientId}:{},...r.oauthClientSecret?{client_secret:r.oauthClientSecret}:{},...r.oauthRedirectUrl?{redirect_url:r.oauthRedirectUrl}:{},...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAuthorizationUrl?{authorization_url:r.oauthAuthorizationUrl}:{},...r.oauthTokenEndpoint?{token_url:r.oauthTokenEndpoint}:{}}:void 0}})()])),n=Object.fromEntries(e.agents.map(r=>[r.id,{...r.name&&r.name!==r.id?{name:r.name}:{},provider:r.provider==="azure"?"azure_openai":r.provider==="anthropic"?"anthropic":"openai",model:r.model,temperature:r.temperature,max_tokens:r.maxTokens,max_turns:r.maxTurns,system:r.systemPrompt}]));return{servers:t,agents:n,scenarios:e.scenarios.map(r=>q3(r,r.serverIds.length>0?r.serverIds.map(s=>({ref:s})):void 0))}}function fX(e,t){if(e)return`${e}::${t??""}`}function mh(e){return e.type==="text"}function U3(e,t){if(!t)return e.tool_calls.map((s,i)=>({name:s,arguments:{},duration:e.tool_durations_ms[i]??0,timestamp:new Date().toISOString()}));const n=[],r=new Map;for(const s of t.messages)for(const i of s.content)i.type==="tool_use"?n.push({id:i.id,name:i.name,input:i.input??{},ts:s.ts}):i.type==="tool_result"&&r.set(i.tool_use_id,{durationMs:i.duration_ms,tsEnd:i.ts_end});return n.map((s,i)=>{const o=r.get(s.id);return{name:s.name,arguments:s.input,duration:o?.durationMs??e.tool_durations_ms[i]??0,timestamp:o?.tsEnd??s.ts??new Date().toISOString()}})}function W3(e,t){const n=[];if(!e)return n;let r;const s=e.messages??[];for(let i=0;i<s.length;i+=1){const o=s[i];if(o.role==="user"){const c=o.content.filter(mh);for(const d of c)n.push({id:`user_prompt-${n.length}`,kind:"user_prompt",text:d.text,timestamp:o.ts});continue}if(o.role==="assistant"){const c=o.content.filter(h=>h.type==="tool_use");for(const h of o.content)h.type==="text"&&(n.push({id:`assistant_thought-${n.length}`,kind:"assistant_thought",text:h.text,timestamp:o.ts}),r=n.length-1);const d=s[i+1],f=d?.role==="tool";if(c.length>0&&f){const h=new Map,p=[];for(const g of d.content)g.type==="tool_result"&&(g.tool_use_id?h.set(g.tool_use_id,g):p.push(g));for(const g of c){n.push({id:`tool_call-${n.length}`,kind:"tool_call",text:uE(g.input??{}),toolName:g.name,timestamp:o.ts,estimatedTokens:g.estimated_tokens?{inputTokens:g.estimated_tokens.input,outputTokens:g.estimated_tokens.output,totalTokens:g.estimated_tokens.total}:void 0,estimatedTokenMethod:g.estimated_tokens?.method});const x=h.get(g.id);if(!x)continue;const j=x.content.filter(mh).map(b=>b.text).join(`
54
54
  `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:j,toolName:x.name,ok:!x.is_error,durationMs:x.duration_ms,timestamp:x.ts_end??d.ts,estimatedTokens:x.estimated_tokens?{inputTokens:x.estimated_tokens.input,outputTokens:x.estimated_tokens.output,totalTokens:x.estimated_tokens.total}:void 0,estimatedTokenMethod:x.estimated_tokens?.method}),h.delete(g.id)}for(const g of[...h.values(),...p]){const x=g.content.filter(mh).map(j=>j.text).join(`
55
55
  `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:x,toolName:g.name,ok:!g.is_error,durationMs:g.duration_ms,timestamp:g.ts_end??d.ts,estimatedTokens:g.estimated_tokens?{inputTokens:g.estimated_tokens.input,outputTokens:g.estimated_tokens.output,totalTokens:g.estimated_tokens.total}:void 0,estimatedTokenMethod:g.estimated_tokens?.method})}i+=1}else for(const h of c)n.push({id:`tool_call-${n.length}`,kind:"tool_call",text:uE(h.input??{}),toolName:h.name,timestamp:o.ts,estimatedTokens:h.estimated_tokens?{inputTokens:h.estimated_tokens.input,outputTokens:h.estimated_tokens.output,totalTokens:h.estimated_tokens.total}:void 0,estimatedTokenMethod:h.estimated_tokens?.method});continue}if(o.role==="tool")for(const c of o.content){if(c.type!=="tool_result")continue;const d=c.content.filter(mh).map(f=>f.text).join(`
56
56
  `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:d,toolName:c.name,ok:!c.is_error,durationMs:c.duration_ms,timestamp:c.ts_end??o.ts,estimatedTokens:c.estimated_tokens?{inputTokens:c.estimated_tokens.input,outputTokens:c.estimated_tokens.output,totalTokens:c.estimated_tokens.total}:void 0,estimatedTokenMethod:c.estimated_tokens?.method})}}return typeof r=="number"&&n[r]&&(n[r]={...n[r],kind:"assistant_final"}),n}function uE(e){try{return JSON.stringify(e)}catch{return String(e)}}function dE(e,t){t&&(typeof t.input_tokens=="number"&&(e.input+=t.input_tokens,e.hasInput=!0),typeof t.output_tokens=="number"&&(e.output+=t.output_tokens,e.hasOutput=!0),typeof t.total_tokens=="number"&&(e.total+=t.total_tokens,e.hasTotal=!0))}function qy(e,t){if(typeof e!="number"||t<=0)return new Array(t).fill(void 0);const n=Math.floor(e/t),r=e%t;return Array.from({length:t},(s,i)=>n+(i<r?1:0))}function V3(e){const t=ws(),n=ws(),r=new Map;if(!e)return{assistant:null,tool:null,perTool:{}};for(const i of e.messages??[]){if(i.role!=="assistant")continue;dE(t,i.usage);const o=i.content.filter(p=>p.type==="tool_use");if(o.length===0)continue;if(o.every(p=>!!p.estimated_tokens)){for(const p of o){const g=p.estimated_tokens;n.input+=g.input,n.hasInput=!0,n.output+=g.output,n.hasOutput=!0,n.total+=g.total,n.hasTotal=!0;const x=r.get(p.name)??ws();x.input+=g.input,x.hasInput=!0,x.output+=g.output,x.hasOutput=!0,x.total+=g.total,x.hasTotal=!0,r.set(p.name,x)}continue}dE(n,i.usage);const d=qy(i.usage?.input_tokens,o.length),f=qy(i.usage?.output_tokens,o.length),h=qy(i.usage?.total_tokens,o.length);for(let p=0;p<o.length;p+=1){const g=o[p].name,x=r.get(g)??ws(),j=d[p],b=f[p],y=h[p];typeof j=="number"&&(x.input+=j,x.hasInput=!0),typeof b=="number"&&(x.output+=b,x.hasOutput=!0),typeof y=="number"&&(x.total+=y,x.hasTotal=!0),r.set(g,x)}}const s={};for(const[i,o]of Array.from(r.entries()).sort((c,d)=>c[0].localeCompare(d[0]))){const c=Xs(o);c&&(s[i]=c)}return{assistant:Xs(t),tool:Xs(n),perTool:s}}function H3(e,t){if(t){const n=Date.parse(t.ts_start),r=Date.parse(t.ts_end);if(Number.isFinite(n)&&Number.isFinite(r))return Math.max(0,r-n)}return e.tool_durations_ms.reduce((n,r)=>n+r,0)}function fE(e,t=[]){const n=new Map;for(const o of t){const c=fX(o.scenario_id,o.agent);if(!c)continue;const d=n.get(c)??[];d.push(o),n.set(c,d)}const r=e.scenarios.map(o=>{const c=n.get(`${o.scenario_id}::${o.agent}`)??[],d=new Map;for(const y of c)d.set(y.run_index,y);const f=o.runs.map((y,S)=>{const N=d.get(y.run_index)??c[S],_=V3(N);return{runIndex:y.run_index,passed:y.pass,error:y.error,toolCalls:U3(y,N),assistantTokenUsage:_.assistant,toolTokenUsage:_.tool,toolTokenUsageByTool:_.perTool,finalAnswer:y.final_text,conversation:W3(N),duration:H3(y,N),extractedValues:Object.fromEntries(Object.entries(y.extracted).map(([A,k])=>[A,String(k??"")])),failureReasons:y.failures,checkResults:y.check_results}}),h=ws(),p=ws(),g=new Map;for(const y of f){cc(h,y.assistantTokenUsage),cc(p,y.toolTokenUsage);for(const[S,N]of Object.entries(y.toolTokenUsageByTool??{})){const _=g.get(S)??ws();cc(_,N),g.set(S,_)}}const x={};for(const[y,S]of Array.from(g.entries()).sort((N,_)=>N[0].localeCompare(_[0]))){const N=Xs(S);N&&(x[y]=N)}const j=f.length===0?0:Math.round(f.reduce((y,S)=>y+S.duration,0)/f.length),b=f.length===0?0:f.reduce((y,S)=>y+S.toolCalls.length,0)/f.length;return{scenarioId:o.scenario_id,scenarioName:o.scenario_name||o.scenario_id,agentId:o.agent,agentName:o.agent,provider:o.provider,model:o.model,runs:f,passRate:o.pass_rate,avgToolCalls:b,avgDuration:j,assistantTokenUsage:Xs(h),toolTokenUsage:Xs(p),toolTokenUsageByTool:x}}),s=ws(),i=ws();for(const o of r)cc(s,o.assistantTokenUsage),cc(i,o.toolTokenUsage);return{id:e.metadata.run_id,configId:"",configHash:e.metadata.config_hash,configPath:e.metadata.config_path,configName:e.metadata.config_name,rerunAgents:e.metadata.rerun_agents,rerunScenarioIds:e.metadata.rerun_scenario_ids,rerunServerOverrideAll:e.metadata.rerun_server_override_all,rerunScenarioServerOverrides:e.metadata.rerun_scenario_server_overrides,timestamp:e.metadata.timestamp,runNote:e.metadata.run_note,mcpServerVersions:e.metadata.mcp_server_versions??{},scenarios:r,assistantTokenUsage:Xs(s),toolTokenUsage:Xs(i),overallPassRate:e.summary.pass_rate,totalScenarios:e.summary.total_scenarios,totalRuns:e.summary.total_runs,avgToolCalls:e.summary.avg_tool_calls_per_run,avgLatency:Math.round(e.summary.avg_tool_latency_ms??0),totalToolDurationMs:typeof e.metadata.total_tool_duration_ms=="number"?Math.max(0,e.metadata.total_tool_duration_ms??0):0}}function pX(e,t){const n=V3(t??void 0);return{runIndex:e.run_index,passed:e.pass,error:e.error,toolCalls:U3(e,t??void 0),assistantTokenUsage:n.assistant,toolTokenUsage:n.tool,toolTokenUsageByTool:n.perTool,finalAnswer:e.final_text,conversation:W3(t??void 0),duration:H3(e,t??void 0),extractedValues:Object.fromEntries(Object.entries(e.extracted).map(([r,s])=>[r,String(s??"")])),failureReasons:e.failures,checkResults:e.check_results}}function hX(){return typeof window>"u"?"":window.location.port==="8685"?"http://127.0.0.1:8787":""}const Qs=hX();class rC extends Error{constructor(t,n){super(n),this.status=t,this.name="ApiError"}status}async function yt(e,t){const n=await fetch(`${Qs}${e}`,{...t,headers:{"content-type":"application/json",...t?.headers||{}}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return await n.json()}async function mX(e,t){const n=await fetch(`${Qs}${e}`,{...t,headers:{}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return n.text()}function pE(e,t){const n=new EventSource(`${Qs}${e}`),r=e.replace(/\/events$/,""),s=["session_started","turn_started","tool_call_requested","tool_call_approved","tool_call_denied","tool_call_resolved","assistant_message_completed","session_warning","session_error","session_finished"];let i=!1;const o=()=>{i||(i=!0,n.close())},c=d=>{if(!i&&!(typeof d.data!="string"||!d.data))try{const f=JSON.parse(d.data);f.type==="session_finished"&&o(),t(f)}catch{}};for(const d of s)n.addEventListener(d,c);return n.onerror=()=>{if(!i){if(n.readyState===2){o();return}fetch(`${Qs}${r}`,{method:"GET",cache:"no-store",headers:{accept:"application/json"}}).then(d=>{(d.status===404||d.status===410)&&o()}).catch(()=>{})}},()=>o()}function Uy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<=0||e.set(t,String(r))}function Wy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<0||e.set(t,String(r))}const at={health:()=>yt("/api/health"),getSettings:()=>yt("/api/settings"),updateSettings:e=>yt("/api/settings",{method:"PUT",body:JSON.stringify(e)}),listConfigs:()=>yt("/api/evals"),createConfig:(e,t)=>yt("/api/evals",{method:"POST",body:JSON.stringify({fileName:e,config:t})}),updateConfig:(e,t,n)=>yt(`/api/evals/${e}`,{method:"PUT",body:JSON.stringify({config:t,fileName:n})}),deleteConfig:e=>yt(`/api/evals/${e}`,{method:"DELETE"}),listRuns:e=>{const t=new URLSearchParams;e?.since?.trim()&&t.set("since",e.since.trim()),e?.until?.trim()&&t.set("until",e.until.trim()),typeof e?.lastDays=="number"&&Number.isFinite(e.lastDays)&&e.lastDays>0&&t.set("last_days",String(Math.floor(e.lastDays))),e?.scenario?.trim()&&t.set("scenario",e.scenario.trim()),Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/runs${n}`)},getLatestPassRatesByConfigIds:e=>yt("/api/runs/latest-pass-rates",{method:"POST",body:JSON.stringify(e)}).then(t=>t.byConfigId),listMarkdownReports:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/markdown-reports${n}`)},listToolAnalysisServers:()=>yt("/api/tool-analysis-results/servers").then(e=>e.data),getMarkdownReport:e=>yt(`/api/markdown-reports/content?path=${encodeURIComponent(e)}`),getMarkdownReportById:e=>yt(`/api/markdown-reports/${encodeURIComponent(e)}`),deleteMarkdownReport:e=>yt(`/api/markdown-reports?path=${encodeURIComponent(e)}`,{method:"DELETE"}).then(()=>{}),getRun:e=>yt(`/api/runs/${e}`),deleteRun:e=>yt(`/api/runs/${e}`,{method:"DELETE"}),updateRunNote:(e,t)=>yt(`/api/runs/${encodeURIComponent(e)}/note`,{method:"PATCH",body:JSON.stringify({runNote:t??""})}).then(()=>{}),getRunTrace:e=>yt(`/api/runs/${e}/trace`),applyResultAssistantReport:e=>yt(`/api/runs/${encodeURIComponent(e.runId)}/assistant/apply-report`,{method:"POST",body:JSON.stringify({markdown:e.markdown,outputPath:e.outputPath,overwrite:e.overwrite})}),createResultAssistantSession:(e,t)=>yt("/api/result-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`),sendResultAssistantMessage:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveResultAssistantToolCall:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify(n===void 0?{}:{argumentsOverride:n})}),denyResultAssistantToolCall:(e,t)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),closeResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`,{method:"DELETE"}).then(()=>{}),subscribeResultAssistantSessionEvents:(e,t)=>pE(`/api/result-assistant/sessions/${e}/events`,t),getLibraries:()=>yt("/api/libraries"),saveLibraries:e=>yt("/api/libraries",{method:"PUT",body:JSON.stringify(e)}),startRun:e=>yt("/api/runs",{method:"POST",body:JSON.stringify(e)}),runScenarioPreview:e=>yt("/api/runs/preview",{method:"POST",body:JSON.stringify(e)}),listProviderModels:e=>yt(`/api/providers/models?provider=${encodeURIComponent(e)}`),createScenarioAssistantSession:(e,t)=>yt("/api/scenario-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`),sendScenarioAssistantMessage:(e,t,n)=>yt(`/api/scenario-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify({})}),denyScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),approveAllScenarioAssistantToolCalls:e=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/approve-all`,{method:"POST",body:JSON.stringify({})}),closeScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`,{method:"DELETE"}),subscribeScenarioAssistantSessionEvents:(e,t)=>pE(`/api/scenario-assistant/sessions/${e}/events`,t),discoverToolsForAnalysis:e=>yt("/api/tool-analysis/discover-tools",{method:"POST",body:JSON.stringify(e)}),startToolAnalysis:e=>yt("/api/tool-analysis/jobs",{method:"POST",body:JSON.stringify(e)}),getToolAnalysisResult:e=>yt(`/api/tool-analysis/jobs/${e}/result`),stopToolAnalysis:e=>yt(`/api/tool-analysis/jobs/${e}/stop`,{method:"POST"}),subscribeToolAnalysisJob:(e,t)=>{const n=new EventSource(`${Qs}/api/tool-analysis/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},listToolAnalysisResults:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset),e?.server?.trim()&&t.set("server",e.server.trim());const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/tool-analysis-results${n}`)},getToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`),deleteToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`,{method:"DELETE"}).then(()=>{}),createOAuthDebuggerSession:e=>yt("/api/oauth-debugger/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}`),startOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/start`,{method:"POST",body:JSON.stringify({})}),subscribeOAuthDebuggerSession:(e,t)=>{const n=new EventSource(`${Qs}/api/oauth-debugger/sessions/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error"||c.type==="stopped")&&s()}catch{}};return["started","step_started","step_completed","step_failed","http_request","http_response","validation","log","waiting_for_user","waiting_for_browser_callback","completed","error","stopped"].forEach(o=>n.addEventListener(o,i)),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},submitOAuthDebuggerManualCallback:(e,t)=>yt(`/api/oauth-debugger/sessions/${e}/manual-callback`,{method:"POST",body:JSON.stringify(t)}),stopOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/stop`,{method:"POST",body:JSON.stringify({})}),exportOAuthDebuggerSession:(e,t)=>t==="json"?yt(`/api/oauth-debugger/sessions/${e}/export?format=json`):mX(`/api/oauth-debugger/sessions/${e}/export?format=${t}`),createOAuthRuntimeSession:e=>yt("/api/oauth-runtime/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}`),getOAuthRuntimeSessionToken:e=>yt(`/api/oauth-runtime/sessions/${e}/token`),submitOAuthRuntimeCallback:(e,t)=>yt(`/api/oauth-runtime/sessions/${e}/callback`,{method:"POST",body:JSON.stringify(t)}),cancelOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}/cancel`,{method:"POST",body:JSON.stringify({})}),ensureOAuthServers:e=>yt("/api/oauth-runtime/servers/ensure",{method:"POST",body:JSON.stringify(e)}),stopRun:e=>yt(`/api/runs/jobs/${e}/stop`,{method:"POST"}),getRunQueue:()=>yt("/api/runs/queue"),subscribeRunQueue:e=>{if(typeof SharedWorker>"u"){const r=new EventSource(`${Qs}/api/runs/queue/events`);let s=!1;return r.onopen=()=>{s||e({type:"connected",ts:new Date().toISOString(),payload:{message:"SSE connected"}})},r.addEventListener("queue_event",i=>{if(!s)try{e(JSON.parse(i.data))}catch{}}),r.onerror=()=>{s||(e({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error",reconnecting:r.readyState!==2}}),r.readyState===2&&(r.onerror=null,s=!0))},()=>{s||(s=!0,r.close())}}const t=new SharedWorker(new URL("/assets/sse-queue-worker-oGPvQ9ec.js",import.meta.url),{type:"module"});let n=!1;return t.onerror=()=>{n||e({type:"error",ts:new Date().toISOString(),payload:{message:"Queue worker failed to load"}})},t.port.onmessage=r=>{if(!n&&!(typeof r.data!="object"||!r.data)){if(r.data.type==="ping"){t.port.postMessage({type:"pong"});return}e(r.data)}},t.port.start(),t.port.postMessage({type:"init",baseUrl:Qs}),()=>{n||(n=!0,t.port.postMessage({type:"close"}),t.port.onmessage=null,t.port.close())}},removeQueuedRun:e=>yt(`/api/runs/queue/${e}`,{method:"DELETE"}).then(()=>{}),resumeQueue:()=>yt("/api/runs/queue/resume",{method:"POST"}),subscribeRunJob:(e,t)=>{const n=new EventSource(`${Qs}/api/runs/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("queued",i),n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.addEventListener("oauth_required",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>{s()}}};function vX(e){if(e.sourcePath){const t=e.sourcePath.split("/");return t[t.length-1].replace(/\.(yaml|yml)$/i,"")}return e.name||`config-${Date.now()}`}function gX(e){return e||`config-${Date.now()}`}const xX={async health(){return at.health()},async listConfigs(){return(await at.listConfigs()).map(Lh)},async createConfig(e){const t=await at.createConfig(vX(e),cE(e));return Lh(t)},async updateConfig(e){const t=await at.updateConfig(e.id,cE(e),gX(e.name));return Lh(t)},async deleteConfig(e){await at.deleteConfig(e)},async listResults(e){let n=0;const r=[];for(;;){const i=await at.listRuns({...e,limit:100,offset:n});if(r.push(...i.data),!i.has_more||i.next_offset===null)break;n=i.next_offset}const s=r.map(async i=>{const[{results:o},c]=await Promise.all([at.getRun(i.runId),at.getRunTrace(i.runId)]);return fE(o,c.records)});return Promise.all(s)},async listRunSummaries(e){const t=Math.max(1,Math.min(100,e?.limit??100));let n=Math.max(0,e?.offset??0);const r=[];for(;;){const s=await at.listRuns({...e,limit:t,offset:n});if(r.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return r},async listRunSummariesPage(e){return at.listRuns(e)},async getLatestPassRatesByConfigIds(e){return at.getLatestPassRatesByConfigIds(e)},async getResult(e){try{const[{results:t},n]=await Promise.all([at.getRun(e),at.getRunTrace(e)]);return fE(t,n.records)}catch{return}},async deleteResult(e){await at.deleteRun(e)},async updateRunNote(e,t){await at.updateRunNote(e,t)},async listMarkdownReports(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await at.listMarkdownReports(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await at.listMarkdownReports({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listMarkdownReportsPage(e){return at.listMarkdownReports(e)},async getMarkdownReport(e){return at.getMarkdownReport(e)},async getMarkdownReportById(e){return at.getMarkdownReportById(e)},async deleteMarkdownReport(e){await at.deleteMarkdownReport(e)},async startRun(e){return at.startRun(e)},async runScenarioPreview(e){const t=await at.runScenarioPreview(e),n=t.scenario.run;if(!n)throw new Error("Preview run did not return a run result");return{runId:t.runId,scenarioId:t.scenario.scenarioId,agentName:t.scenario.agent,run:pX(n,t.scenario.traceRecord)}},async stopRun(e){await at.stopRun(e)},async getRunQueue(){return at.getRunQueue()},subscribeRunQueue(e){return at.subscribeRunQueue(e)},async removeQueuedRun(e){await at.removeQueuedRun(e)},async resumeQueue(){return at.resumeQueue()},subscribeRunJob(e,t){return at.subscribeRunJob(e,t)},async applyResultAssistantReport(e){return at.applyResultAssistantReport(e)},async createResultAssistantSession(e,t){return at.createResultAssistantSession(e,t)},async getResultAssistantSession(e){return at.getResultAssistantSession(e)},async sendResultAssistantMessage(e,t,n){return at.sendResultAssistantMessage(e,t,n)},async approveResultAssistantToolCall(e,t,n){return at.approveResultAssistantToolCall(e,t,n)},async denyResultAssistantToolCall(e,t){return at.denyResultAssistantToolCall(e,t)},async closeResultAssistantSession(e){await at.closeResultAssistantSession(e)},subscribeResultAssistantSessionEvents(e,t){return at.subscribeResultAssistantSessionEvents(e,t)},async getLibraries(){const e=await at.getLibraries();return uX(e)},async saveLibraries(e){await at.saveLibraries(dX(e))},async listProviderModels(e){return at.listProviderModels(e)},async getWorkspaceSettings(){return at.getSettings()},async updateWorkspaceSettings(e){return at.updateSettings(e)},async createScenarioAssistantSession(e,t){return at.createScenarioAssistantSession(e,t)},async getScenarioAssistantSession(e){return at.getScenarioAssistantSession(e)},async sendScenarioAssistantMessage(e,t,n){return at.sendScenarioAssistantMessage(e,t,n)},async approveScenarioAssistantToolCall(e,t){return at.approveScenarioAssistantToolCall(e,t)},async denyScenarioAssistantToolCall(e,t){return at.denyScenarioAssistantToolCall(e,t)},async approveAllScenarioAssistantToolCalls(e){return at.approveAllScenarioAssistantToolCalls(e)},async closeScenarioAssistantSession(e){await at.closeScenarioAssistantSession(e)},subscribeScenarioAssistantSessionEvents(e,t){return at.subscribeScenarioAssistantSessionEvents(e,t)},async discoverToolsForAnalysis(e){return at.discoverToolsForAnalysis(e)},async startToolAnalysis(e){return at.startToolAnalysis(e)},subscribeToolAnalysisJob(e,t){return at.subscribeToolAnalysisJob(e,t)},async getToolAnalysisResult(e){return at.getToolAnalysisResult(e)},async stopToolAnalysis(e){return at.stopToolAnalysis(e)},async listToolAnalysisResults(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await at.listToolAnalysisResults(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await at.listToolAnalysisResults({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listToolAnalysisResultsPage(e){return at.listToolAnalysisResults(e)},async listToolAnalysisServers(){return at.listToolAnalysisServers()},async getToolAnalysisSavedResult(e){return at.getToolAnalysisSavedResult(e)},async deleteToolAnalysisSavedResult(e){await at.deleteToolAnalysisSavedResult(e)},async createOAuthDebuggerSession(e){return at.createOAuthDebuggerSession(e)},async getOAuthDebuggerSession(e){return at.getOAuthDebuggerSession(e)},async startOAuthDebuggerSession(e){return at.startOAuthDebuggerSession(e)},subscribeOAuthDebuggerSession(e,t){return at.subscribeOAuthDebuggerSession(e,t)},async submitOAuthDebuggerManualCallback(e,t){return at.submitOAuthDebuggerManualCallback(e,t)},async stopOAuthDebuggerSession(e){return at.stopOAuthDebuggerSession(e)},async exportOAuthDebuggerSession(e,t){return at.exportOAuthDebuggerSession(e,t)},async createOAuthRuntimeSession(e){return at.createOAuthRuntimeSession(e)},async getOAuthRuntimeSession(e){return at.getOAuthRuntimeSession(e)},async getOAuthRuntimeSessionToken(e){return at.getOAuthRuntimeSessionToken(e)},async submitOAuthRuntimeCallback(e,t){return at.submitOAuthRuntimeCallback(e,t)},async cancelOAuthRuntimeSession(e){return at.cancelOAuthRuntimeSession(e)},async ensureOAuthServers(e){return at.ensureOAuthServers(e)}},K3=m.createContext(null);function yX({children:e}){const t="workspace",[n,r]=m.useState("checking"),[s,i]=m.useState(null);m.useEffect(()=>{r("checking"),at.health().then(c=>{r("connected"),i(typeof c?.version=="string"?c.version:null)}).catch(()=>{r("disconnected"),i(null)})},[t]);const o=m.useMemo(()=>xX,[]);return a.jsx(K3.Provider,{value:{mode:t,connection:n,version:s,source:o},children:e})}function _n(){const e=m.useContext(K3);if(!e)throw new Error("useDataSource must be used within DataSourceProvider");return e}const bX=5,wX=2e3;function jX(e){return e.filter(t=>t.status==="blocked_auth"&&t.blockedReason==="oauth_required").length}function SX(e){const t=e?.active??null,n=Array.isArray(e?.active_jobs)?e.active_jobs:t?[t]:[],r=Array.isArray(e?.admitting_jobs)?e.admitting_jobs:[],s=Array.isArray(e?.queued)?e.queued:[];return{active:t,active_jobs:n,admitting_jobs:r,queued:s}}function NX(){const{source:e}=_n(),[t,n]=m.useState({active:null,active_jobs:[],admitting_jobs:[],queued:[]}),[r,s]=m.useState("connecting"),[i,o]=m.useState(0),c=m.useRef("connecting"),d=m.useRef(0);return m.useEffect(()=>{let f=!1,h=0,p=null,g=null;const x=()=>{p!==null&&(window.clearTimeout(p),p=null)},j=()=>{f||(x(),s("connecting"),c.current="connecting",g?.(),g=e.subscribeRunQueue(y=>{const S=y.payload.event;if(y.type==="connected"){h=0,s("connected"),c.current="connected";return}if(y.type==="queue_event"&&S){d.current+=1,s("connected"),c.current="connected",n(SX(S));return}if(y.type==="error"){if(g?.(),g=null,h>=bX){s("disconnected"),c.current="disconnected";return}h+=1,s("connecting"),c.current="connecting";const N=wX*2**(h-1);p=window.setTimeout(()=>{j()},N)}}))};j();const b=()=>{c.current!=="connected"&&j()};return window.addEventListener("focus",b),()=>{f=!0,g?.(),x(),window.removeEventListener("focus",b)}},[e,i]),m.useMemo(()=>{const f=t.active_jobs.length>0||t.admitting_jobs.length>0,h=t.queued.length,p=jX(t.queued);return{isRunning:f,queuedCount:h,oauthBlockedCount:p,streamStatus:r,reconnectStream:()=>{o(g=>g+1)}}},[t,r])}const CX=(e,t)=>{if(e==="/")return[{label:"Dashboard"}];const n=[{label:"Dashboard",to:"/"}];if(un("/mcp-evaluations/:id/edit",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation",to:e.replace(/\/edit$/,"")},{label:"Edit"}),n;if(un("/mcp-evaluations/:id",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation"}),n;if(un("/mcp-evaluations",e))return n.push({label:"MCP Evaluations"}),n;if(un("/settings/mcp",e))return n.push({label:"Settings",to:"/settings"},{label:"MCP Connection"}),n;if(un("/settings",e))return n.push({label:"Settings"}),n;if(un("/tool-analysis",e))return n.push({label:"Analyze MCP Tools"}),n;if(un("/tool-analysis-results/:id",e)){const r=un("/tool-analysis-results/:id",e);return n.push({label:"Tool Analysis Results",to:"/tool-analysis-results"},{label:r?.params.id??"Report"}),n}if(un("/tool-analysis-results",e))return n.push({label:"Tool Analysis Results"}),n;if(un("/markdown-reports/view",e))return n.push({label:"Markdown Reports",to:"/markdown-reports"},{label:"View Report"}),n;if(un("/markdown-reports",e))return n.push({label:"Markdown Reports"}),n;if(un("/oauth-debugger",e))return n.push({label:"OAuth Debugger"}),n;if(un("/results/:id",e))return n.push({label:"Evaluation Results",to:"/results"},{label:"Result"}),n;if(un("/results",e))return n.push({label:"Evaluation Results"}),n;if(un("/run",e))return n.push({label:"Run Evaluation"}),n;if(un("/libraries/servers/:serverId",e)){const r=un("/libraries/servers/:serverId",e),s=r?.params.serverId?decodeURIComponent(r.params.serverId):"Server";return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers",to:"/libraries/servers"},{label:s==="new"?"New Server":s}),n}if(un("/libraries/servers",e))return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers"}),n;if(un("/libraries/agents/:agentName",e)){const r=un("/libraries/agents/:agentName",e),s=r?.params.agentName?decodeURIComponent(r.params.agentName):"Agent";return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents",to:"/libraries/agents"},{label:s==="new"?"New Agent":s}),n}if(un("/libraries/agents",e))return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents"}),n;if(un("/libraries/test-cases/:testCaseId",e)){const r=un("/libraries/test-cases/:testCaseId",e),s=r?.params.testCaseId?decodeURIComponent(r.params.testCaseId):"Test Case";return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases",to:"/libraries/test-cases"},{label:s}),n}if(un("/libraries/test-cases",e))return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases"}),n;if(un("/compare/results",e))return n.push({label:"Compare Evaluations",to:"/compare"},{label:"Full Result Compare"}),n;if(un("/compare",e)){const s=new URLSearchParams(t).get("mode")==="within-run"?"Agents":"Runs";return n.push({label:"Compare Evaluations",to:"/compare"},{label:s}),n}return n};function _X(){const e=fs(),t=new URLSearchParams(e.search).get("embed")==="1",n=CX(e.pathname,e.search),{version:r}=_n(),{isRunning:s,queuedCount:i,oauthBlockedCount:o,streamStatus:c,reconnectStream:d}=NX(),f=i+(s?1:0);return t?a.jsx("main",{className:"min-h-screen overflow-auto bg-background p-4",children:a.jsx(KP,{})}):a.jsx(S3,{children:a.jsxs("div",{className:"flex min-h-screen w-full",children:[a.jsx(rX,{version:r}),a.jsxs("div",{className:"flex flex-1 flex-col",children:[a.jsxs("header",{className:"flex h-12 items-center gap-2 border-b bg-card px-4",children:[a.jsx(C3,{}),a.jsx($3,{children:a.jsx(D3,{children:n.map((h,p)=>{const g=p===n.length-1;return a.jsxs(m.Fragment,{children:[a.jsx(L3,{children:h.to&&!g?a.jsx(F3,{asChild:!0,children:a.jsx(St,{to:h.to,children:h.label})}):a.jsx(z3,{children:h.label})}),!g&&a.jsx(B3,{})]},`${h.label}-${p}`)})})}),a.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[(s||i>0||o>0)&&a.jsxs(St,{to:"/run",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 hover:bg-muted/50 transition-colors",title:"Open Run Evaluation queue",children:[a.jsx("span",{className:"text-xs text-muted-foreground",children:"Run Queue"}),a.jsx("span",{className:`inline-flex min-w-5 items-center justify-center rounded-full px-1.5 py-0.5 text-xs font-semibold ${o>0?"bg-yellow-500/20 text-yellow-800 dark:text-yellow-300":"bg-muted text-foreground"}`,children:f}),s&&a.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-emerald-500 border-t-transparent","aria-label":"Queue processing"}),o>0&&a.jsx("span",{className:"text-xs text-yellow-700 dark:text-yellow-400",children:"OAuth wait"})]}),a.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 disabled:opacity-70",onClick:()=>{c==="disconnected"&&d()},disabled:c==="connecting",title:c==="disconnected"?"Retry queue connection":c==="connecting"?"Connecting to queue stream...":"Queue stream connected",children:[a.jsx("span",{className:`h-2 w-2 rounded-full ${c==="connected"?"bg-emerald-500":c==="connecting"?"bg-amber-400":"bg-rose-500"}`,"aria-hidden":"true"}),a.jsx("span",{className:`text-xs ${c==="connected"?"text-emerald-700":c==="connecting"?"text-muted-foreground":"text-destructive"}`,children:c})]})]})]}),a.jsx("main",{className:"flex-1 overflow-auto p-6",children:a.jsx(KP,{})})]})]})})}const G3=m.createContext(null);function AX({children:e}){const{source:t}=_n(),[n,r]=m.useState([]),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const g=await t.listConfigs();r(g)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[o]);const c=m.useCallback(g=>n.find(x=>x.id===g),[n]),d=m.useCallback(async g=>{const x=await t.createConfig(g);return r(j=>[...j,x]),x},[t]),f=m.useCallback(async(g,x)=>{const j=await t.updateConfig({...x,id:g});return r(b=>b.map(y=>y.id===g?j:y)),j},[t]),h=m.useCallback(async g=>{await t.deleteConfig(g),r(x=>x.filter(j=>j.id!==g))},[t]),p=m.useCallback(async g=>{const x=n.find(y=>y.id===g);if(!x)throw new Error("Config not found");const j={...structuredClone(x),id:`cfg-${Date.now()}`,name:`${x.name} (Copy)`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},b=await t.createConfig(j);return r(y=>[...y,b]),b},[n,t]);return a.jsx(G3.Provider,{value:{configs:n,loading:s,getConfig:c,addConfig:d,updateConfig:f,deleteConfig:h,cloneConfig:p,reload:o},children:e})}function Lf(){const e=m.useContext(G3);if(!e)throw new Error("useConfigs must be used within ConfigProvider");return e}const Y3=m.createContext(null);function kX({children:e}){const{source:t}=_n(),[n,r]=m.useState({servers:[],agents:[],scenarios:[]}),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const f=await t.getLibraries();r(f)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[t]),m.useEffect(()=>{const f=()=>{o()};return window.addEventListener("focus",f),()=>{window.removeEventListener("focus",f)}},[t]);const c=m.useCallback(async f=>{r(f),await t.saveLibraries(f)},[t]),d=m.useMemo(()=>({...n,loading:s,setServers:async f=>c({...n,servers:f}),setAgents:async f=>c({...n,agents:f}),setScenarios:async f=>c({...n,scenarios:f}),reload:o}),[n,s,o,c]);return a.jsx(Y3.Provider,{value:d,children:e})}function hs(){const e=m.useContext(Y3);if(!e)throw new Error("useLibraries must be used within LibraryProvider");return e}const et=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Te("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));et.displayName="Card";const Tt=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Te("flex flex-col space-y-1.5 p-6",e),...t}));Tt.displayName="CardHeader";const Rt=m.forwardRef(({className:e,...t},n)=>a.jsx("h3",{ref:n,className:Te("text-2xl font-semibold leading-none tracking-tight",e),...t}));Rt.displayName="CardTitle";const xr=m.forwardRef(({className:e,...t},n)=>a.jsx("p",{ref:n,className:Te("text-sm text-muted-foreground",e),...t}));xr.displayName="CardDescription";const tt=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Te("p-6 pt-0",e),...t}));tt.displayName="CardContent";const PX=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Te("flex items-center p-6 pt-0",e),...t}));PX.displayName="CardFooter";const qr=m.forwardRef(({className:e,containerClassName:t,...n},r)=>a.jsx("div",{className:Te("relative w-full overflow-auto",t),children:a.jsx("table",{ref:r,className:Te("w-full caption-bottom text-sm",e),...n})}));qr.displayName="Table";const Ur=m.forwardRef(({className:e,...t},n)=>a.jsx("thead",{ref:n,className:Te("[&_tr]:border-b",e),...t}));Ur.displayName="TableHeader";const Wr=m.forwardRef(({className:e,...t},n)=>a.jsx("tbody",{ref:n,className:Te("[&_tr:last-child]:border-0",e),...t}));Wr.displayName="TableBody";const EX=m.forwardRef(({className:e,...t},n)=>a.jsx("tfoot",{ref:n,className:Te("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));EX.displayName="TableFooter";const zt=m.forwardRef(({className:e,...t},n)=>a.jsx("tr",{ref:n,className:Te("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",e),...t}));zt.displayName="TableRow";const lt=m.forwardRef(({className:e,...t},n)=>a.jsx("th",{ref:n,className:Te("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));lt.displayName="TableHead";const We=m.forwardRef(({className:e,...t},n)=>a.jsx("td",{ref:n,className:Te("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));We.displayName="TableCell";const TX=m.forwardRef(({className:e,...t},n)=>a.jsx("caption",{ref:n,className:Te("mt-4 text-sm text-muted-foreground",e),...t}));TX.displayName="TableCaption";function Sa({title:e,value:t,subtitle:n,icon:r,trend:s}){return a.jsx(et,{children:a.jsx(tt,{className:"p-4",children:a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e}),a.jsx("p",{className:"text-2xl font-bold",children:t}),n&&a.jsxs("p",{className:`text-xs ${s==="up"?"text-success":s==="down"?"text-destructive":"text-muted-foreground"}`,children:[s==="up"&&"↑ ",s==="down"&&"↓ ",n]})]}),a.jsx("div",{className:"rounded-lg bg-primary/10 p-2",children:a.jsx(r,{className:"h-4 w-4 text-primary"})})]})})})}const RX=gl("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),nt=m.forwardRef(({className:e,variant:t,asChild:n,...r},s)=>{const i=n?lo:"div";return a.jsx(i,{ref:s,className:Te(RX({variant:t}),e),...r})});nt.displayName="Badge";function js({rate:e,className:t}){const n=Math.round(e*100),r=n>=80?"default":n>=50?"secondary":"destructive";return a.jsxs(nt,{variant:r,className:`font-mono text-xs ${n>=80?"bg-success/15 text-success hover:bg-success/20 border-0":n>=50?"bg-warning/15 text-warning hover:bg-warning/20 border-0":"bg-destructive/15 text-destructive hover:bg-destructive/20 border-0"} ${t??""}`,children:[n,"%"]})}function OX(e){const t=[];for(const n of e.scenarios)for(const r of n.runs)r.error&&t.push(r.error),t.push(...r.failureReasons);return t.map(n=>String(n??"").trim()).filter(Boolean)}function MX(e){const t=e.toLowerCase();return t.includes("invalid_token")||t.includes("authentication failed")||t.includes("bearer token")||t.includes("oauth")?"auth":t.includes("429")||t.includes("too many requests")||t.includes("rate limit")?"rate_limit":t.includes("scenario error:")||t.includes("failed to list tools")||t.includes("failed to connect to mcp server")||t.includes("tool call failed")||t.includes("fetch failed")||t.includes("streamable http error")?"infra":null}function IX(e){return e==="auth"?"Auth error":e==="rate_limit"?"Rate limited":"Infra error"}function $X(e){const t=OX(e),n=["auth","rate_limit","infra"];for(const r of n){const s=t.find(i=>MX(i)===r);if(s)return{kind:r,label:IX(r),detail:s}}return null}function DX(e){return e==="auth"?"border-amber-500/30 bg-amber-500/10 text-amber-700":e==="rate_limit"?"border-orange-500/30 bg-orange-500/10 text-orange-700":"border-slate-500/30 bg-slate-500/10 text-slate-700"}function X3({run:e}){const t=$X(e);return t?a.jsx(ui,{delayDuration:0,children:a.jsxs(di,{children:[a.jsx(fi,{asChild:!0,children:a.jsx(nt,{variant:"outline",className:`h-5 text-[10px] ${DX(t.kind)}`,children:t.label})}),a.jsx(Ts,{className:"max-w-sm text-xs",children:a.jsx("p",{children:t.detail})})]})}):null}var Vy,hE;function Gr(){if(hE)return Vy;hE=1;var e=Array.isArray;return Vy=e,Vy}var Hy,mE;function Q3(){if(mE)return Hy;mE=1;var e=typeof ah=="object"&&ah&&ah.Object===Object&&ah;return Hy=e,Hy}var Ky,vE;function $s(){if(vE)return Ky;vE=1;var e=Q3(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Ky=n,Ky}var Gy,gE;function Ff(){if(gE)return Gy;gE=1;var e=$s(),t=e.Symbol;return Gy=t,Gy}var Yy,xE;function LX(){if(xE)return Yy;xE=1;var e=Ff(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,s=e?e.toStringTag:void 0;function i(o){var c=n.call(o,s),d=o[s];try{o[s]=void 0;var f=!0}catch{}var h=r.call(o);return f&&(c?o[s]=d:delete o[s]),h}return Yy=i,Yy}var Xy,yE;function FX(){if(yE)return Xy;yE=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Xy=n,Xy}var Qy,bE;function xi(){if(bE)return Qy;bE=1;var e=Ff(),t=LX(),n=FX(),r="[object Null]",s="[object Undefined]",i=e?e.toStringTag:void 0;function o(c){return c==null?c===void 0?s:r:i&&i in Object(c)?t(c):n(c)}return Qy=o,Qy}var Jy,wE;function yi(){if(wE)return Jy;wE=1;function e(t){return t!=null&&typeof t=="object"}return Jy=e,Jy}var Zy,jE;function hu(){if(jE)return Zy;jE=1;var e=xi(),t=yi(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return Zy=r,Zy}var eb,SE;function aC(){if(SE)return eb;SE=1;var e=Gr(),t=hu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function s(i,o){if(e(i))return!1;var c=typeof i;return c=="number"||c=="symbol"||c=="boolean"||i==null||t(i)?!0:r.test(i)||!n.test(i)||o!=null&&i in Object(o)}return eb=s,eb}var tb,NE;function co(){if(NE)return tb;NE=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return tb=e,tb}var nb,CE;function sC(){if(CE)return nb;CE=1;var e=xi(),t=co(),n="[object AsyncFunction]",r="[object Function]",s="[object GeneratorFunction]",i="[object Proxy]";function o(c){if(!t(c))return!1;var d=e(c);return d==r||d==s||d==n||d==i}return nb=o,nb}var rb,_E;function zX(){if(_E)return rb;_E=1;var e=$s(),t=e["__core-js_shared__"];return rb=t,rb}var ab,AE;function BX(){if(AE)return ab;AE=1;var e=zX(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return ab=n,ab}var sb,kE;function J3(){if(kE)return sb;kE=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return sb=n,sb}var ib,PE;function qX(){if(PE)return ib;PE=1;var e=sC(),t=BX(),n=co(),r=J3(),s=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,c=Object.prototype,d=o.toString,f=c.hasOwnProperty,h=RegExp("^"+d.call(f).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?h:i;return x.test(r(g))}return ib=p,ib}var ob,EE;function UX(){if(EE)return ob;EE=1;function e(t,n){return t?.[n]}return ob=e,ob}var lb,TE;function yl(){if(TE)return lb;TE=1;var e=qX(),t=UX();function n(r,s){var i=t(r,s);return e(i)?i:void 0}return lb=n,lb}var cb,RE;function Iv(){if(RE)return cb;RE=1;var e=yl(),t=e(Object,"create");return cb=t,cb}var ub,OE;function WX(){if(OE)return ub;OE=1;var e=Iv();function t(){this.__data__=e?e(null):{},this.size=0}return ub=t,ub}var db,ME;function VX(){if(ME)return db;ME=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return db=e,db}var fb,IE;function HX(){if(IE)return fb;IE=1;var e=Iv(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function s(i){var o=this.__data__;if(e){var c=o[i];return c===t?void 0:c}return r.call(o,i)?o[i]:void 0}return fb=s,fb}var pb,$E;function KX(){if($E)return pb;$E=1;var e=Iv(),t=Object.prototype,n=t.hasOwnProperty;function r(s){var i=this.__data__;return e?i[s]!==void 0:n.call(i,s)}return pb=r,pb}var hb,DE;function GX(){if(DE)return hb;DE=1;var e=Iv(),t="__lodash_hash_undefined__";function n(r,s){var i=this.__data__;return this.size+=this.has(r)?0:1,i[r]=e&&s===void 0?t:s,this}return hb=n,hb}var mb,LE;function YX(){if(LE)return mb;LE=1;var e=WX(),t=VX(),n=HX(),r=KX(),s=GX();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,mb=i,mb}var vb,FE;function XX(){if(FE)return vb;FE=1;function e(){this.__data__=[],this.size=0}return vb=e,vb}var gb,zE;function iC(){if(zE)return gb;zE=1;function e(t,n){return t===n||t!==t&&n!==n}return gb=e,gb}var xb,BE;function $v(){if(BE)return xb;BE=1;var e=iC();function t(n,r){for(var s=n.length;s--;)if(e(n[s][0],r))return s;return-1}return xb=t,xb}var yb,qE;function QX(){if(qE)return yb;qE=1;var e=$v(),t=Array.prototype,n=t.splice;function r(s){var i=this.__data__,o=e(i,s);if(o<0)return!1;var c=i.length-1;return o==c?i.pop():n.call(i,o,1),--this.size,!0}return yb=r,yb}var bb,UE;function JX(){if(UE)return bb;UE=1;var e=$v();function t(n){var r=this.__data__,s=e(r,n);return s<0?void 0:r[s][1]}return bb=t,bb}var wb,WE;function ZX(){if(WE)return wb;WE=1;var e=$v();function t(n){return e(this.__data__,n)>-1}return wb=t,wb}var jb,VE;function eQ(){if(VE)return jb;VE=1;var e=$v();function t(n,r){var s=this.__data__,i=e(s,n);return i<0?(++this.size,s.push([n,r])):s[i][1]=r,this}return jb=t,jb}var Sb,HE;function Dv(){if(HE)return Sb;HE=1;var e=XX(),t=QX(),n=JX(),r=ZX(),s=eQ();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Sb=i,Sb}var Nb,KE;function oC(){if(KE)return Nb;KE=1;var e=yl(),t=$s(),n=e(t,"Map");return Nb=n,Nb}var Cb,GE;function tQ(){if(GE)return Cb;GE=1;var e=YX(),t=Dv(),n=oC();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return Cb=r,Cb}var _b,YE;function nQ(){if(YE)return _b;YE=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return _b=e,_b}var Ab,XE;function Lv(){if(XE)return Ab;XE=1;var e=nQ();function t(n,r){var s=n.__data__;return e(r)?s[typeof r=="string"?"string":"hash"]:s.map}return Ab=t,Ab}var kb,QE;function rQ(){if(QE)return kb;QE=1;var e=Lv();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return kb=t,kb}var Pb,JE;function aQ(){if(JE)return Pb;JE=1;var e=Lv();function t(n){return e(this,n).get(n)}return Pb=t,Pb}var Eb,ZE;function sQ(){if(ZE)return Eb;ZE=1;var e=Lv();function t(n){return e(this,n).has(n)}return Eb=t,Eb}var Tb,eT;function iQ(){if(eT)return Tb;eT=1;var e=Lv();function t(n,r){var s=e(this,n),i=s.size;return s.set(n,r),this.size+=s.size==i?0:1,this}return Tb=t,Tb}var Rb,tT;function lC(){if(tT)return Rb;tT=1;var e=tQ(),t=rQ(),n=aQ(),r=sQ(),s=iQ();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Rb=i,Rb}var Ob,nT;function Z3(){if(nT)return Ob;nT=1;var e=lC(),t="Expected a function";function n(r,s){if(typeof r!="function"||s!=null&&typeof s!="function")throw new TypeError(t);var i=function(){var o=arguments,c=s?s.apply(this,o):o[0],d=i.cache;if(d.has(c))return d.get(c);var f=r.apply(this,o);return i.cache=d.set(c,f)||d,f};return i.cache=new(n.Cache||e),i}return n.Cache=e,Ob=n,Ob}var Mb,rT;function oQ(){if(rT)return Mb;rT=1;var e=Z3(),t=500;function n(r){var s=e(r,function(o){return i.size===t&&i.clear(),o}),i=s.cache;return s}return Mb=n,Mb}var Ib,aT;function lQ(){if(aT)return Ib;aT=1;var e=oQ(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(s){var i=[];return s.charCodeAt(0)===46&&i.push(""),s.replace(t,function(o,c,d,f){i.push(d?f.replace(n,"$1"):c||o)}),i});return Ib=r,Ib}var $b,sT;function cC(){if(sT)return $b;sT=1;function e(t,n){for(var r=-1,s=t==null?0:t.length,i=Array(s);++r<s;)i[r]=n(t[r],r,t);return i}return $b=e,$b}var Db,iT;function cQ(){if(iT)return Db;iT=1;var e=Ff(),t=cC(),n=Gr(),r=hu(),s=e?e.prototype:void 0,i=s?s.toString:void 0;function o(c){if(typeof c=="string")return c;if(n(c))return t(c,o)+"";if(r(c))return i?i.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return Db=o,Db}var Lb,oT;function eL(){if(oT)return Lb;oT=1;var e=cQ();function t(n){return n==null?"":e(n)}return Lb=t,Lb}var Fb,lT;function tL(){if(lT)return Fb;lT=1;var e=Gr(),t=aC(),n=lQ(),r=eL();function s(i,o){return e(i)?i:t(i,o)?[i]:n(r(i))}return Fb=s,Fb}var zb,cT;function Fv(){if(cT)return zb;cT=1;var e=hu();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return zb=t,zb}var Bb,uT;function uC(){if(uT)return Bb;uT=1;var e=tL(),t=Fv();function n(r,s){s=e(s,r);for(var i=0,o=s.length;r!=null&&i<o;)r=r[t(s[i++])];return i&&i==o?r:void 0}return Bb=n,Bb}var qb,dT;function nL(){if(dT)return qb;dT=1;var e=uC();function t(n,r,s){var i=n==null?void 0:e(n,r);return i===void 0?s:i}return qb=t,qb}var uQ=nL();const ca=dn(uQ);var Ub,fT;function dQ(){if(fT)return Ub;fT=1;function e(t){return t==null}return Ub=e,Ub}var fQ=dQ();const Ft=dn(fQ);var Wb,pT;function pQ(){if(pT)return Wb;pT=1;var e=xi(),t=Gr(),n=yi(),r="[object String]";function s(i){return typeof i=="string"||!t(i)&&n(i)&&e(i)==r}return Wb=s,Wb}var hQ=pQ();const tl=dn(hQ);var mQ=sC();const Lt=dn(mQ);var vQ=co();const mu=dn(vQ);var Vb={exports:{}},on={};var hT;function gQ(){if(hT)return on;hT=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),o=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.for("react.offscreen"),j;j=Symbol.for("react.module.reference");function b(y){if(typeof y=="object"&&y!==null){var S=y.$$typeof;switch(S){case e:switch(y=y.type,y){case n:case s:case r:case f:case h:return y;default:switch(y=y&&y.$$typeof,y){case c:case o:case d:case g:case p:case i:return y;default:return S}}case t:return S}}}return on.ContextConsumer=o,on.ContextProvider=i,on.Element=e,on.ForwardRef=d,on.Fragment=n,on.Lazy=g,on.Memo=p,on.Portal=t,on.Profiler=s,on.StrictMode=r,on.Suspense=f,on.SuspenseList=h,on.isAsyncMode=function(){return!1},on.isConcurrentMode=function(){return!1},on.isContextConsumer=function(y){return b(y)===o},on.isContextProvider=function(y){return b(y)===i},on.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===e},on.isForwardRef=function(y){return b(y)===d},on.isFragment=function(y){return b(y)===n},on.isLazy=function(y){return b(y)===g},on.isMemo=function(y){return b(y)===p},on.isPortal=function(y){return b(y)===t},on.isProfiler=function(y){return b(y)===s},on.isStrictMode=function(y){return b(y)===r},on.isSuspense=function(y){return b(y)===f},on.isSuspenseList=function(y){return b(y)===h},on.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===n||y===s||y===r||y===f||y===h||y===x||typeof y=="object"&&y!==null&&(y.$$typeof===g||y.$$typeof===p||y.$$typeof===i||y.$$typeof===o||y.$$typeof===d||y.$$typeof===j||y.getModuleId!==void 0)},on.typeOf=b,on}var mT;function xQ(){return mT||(mT=1,Vb.exports=gQ()),Vb.exports}var yQ=xQ(),Hb,vT;function rL(){if(vT)return Hb;vT=1;var e=xi(),t=yi(),n="[object Number]";function r(s){return typeof s=="number"||t(s)&&e(s)==n}return Hb=r,Hb}var Kb,gT;function bQ(){if(gT)return Kb;gT=1;var e=rL();function t(n){return e(n)&&n!=+n}return Kb=t,Kb}var wQ=bQ();const zf=dn(wQ);var jQ=rL();const SQ=dn(jQ);var Nr=function(t){return t===0?0:t>0?1:-1},zo=function(t){return tl(t)&&t.indexOf("%")===t.length-1},rt=function(t){return SQ(t)&&!zf(t)},NQ=function(t){return Ft(t)},Qn=function(t){return rt(t)||tl(t)},CQ=0,vu=function(t){var n=++CQ;return"".concat(t||"").concat(n)},Cr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!rt(t)&&!tl(t))return r;var i;if(zo(t)){var o=t.indexOf("%");i=n*parseFloat(t.slice(0,o))/100}else i=+t;return zf(i)&&(i=r),s&&i>n&&(i=n),i},uc=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},_Q=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},s=0;s<n;s++)if(!r[t[s]])r[t[s]]=!0;else return!0;return!1},sa=function(t,n){return rt(t)&&rt(n)?function(r){return t+r*(n-t)}:function(){return n}};function Qh(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):ca(r,t))===n})}var AQ=function(t,n){return rt(t)&&rt(n)?t-n:tl(t)&&tl(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Sc(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function DS(e){"@babel/helpers - typeof";return DS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},DS(e)}var kQ=["viewBox","children"],PQ=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],xT=["points","pathLength"],Gb={svg:kQ,polygon:xT,polyline:xT},dC=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],Jh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(m.isValidElement(t)&&(r=t.props),!mu(r))return null;var s={};return Object.keys(r).forEach(function(i){dC.includes(i)&&(s[i]=n||function(o){return r[i](r,o)})}),s},EQ=function(t,n,r){return function(s){return t(n,r,s),null}},nl=function(t,n,r){if(!mu(t)||DS(t)!=="object")return null;var s=null;return Object.keys(t).forEach(function(i){var o=t[i];dC.includes(i)&&typeof o=="function"&&(s||(s={}),s[i]=EQ(o,n,r))}),s},TQ=["children"],RQ=["children"];function yT(e,t){if(e==null)return{};var n=OQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function OQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function LS(e){"@babel/helpers - typeof";return LS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},LS(e)}var bT={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},ti=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},wT=null,Yb=null,fC=function e(t){if(t===wT&&Array.isArray(Yb))return Yb;var n=[];return m.Children.forEach(t,function(r){Ft(r)||(yQ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),Yb=n,wT=t,n};function ua(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(s){return ti(s)}):r=[ti(t)],fC(e).forEach(function(s){var i=ca(s,"type.displayName")||ca(s,"type.name");r.indexOf(i)!==-1&&n.push(s)}),n}function ra(e,t){var n=ua(e,t);return n&&n[0]}var jT=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,s=n.height;return!(!rt(r)||r<=0||!rt(s)||s<=0)},MQ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],IQ=function(t){return t&&t.type&&tl(t.type)&&MQ.indexOf(t.type)>=0},$Q=function(t){return t&&LS(t)==="object"&&"clipDot"in t},DQ=function(t,n,r,s){var i,o=(i=Gb?.[s])!==null&&i!==void 0?i:[];return n.startsWith("data-")||!Lt(t)&&(s&&o.includes(n)||PQ.includes(n))||r&&dC.includes(n)},Pt=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var s=t;if(m.isValidElement(t)&&(s=t.props),!mu(s))return null;var i={};return Object.keys(s).forEach(function(o){var c;DQ((c=s)===null||c===void 0?void 0:c[o],o,n,r)&&(i[o]=s[o])}),i},FS=function e(t,n){if(t===n)return!0;var r=m.Children.count(t);if(r!==m.Children.count(n))return!1;if(r===0)return!0;if(r===1)return ST(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var s=0;s<r;s++){var i=t[s],o=n[s];if(Array.isArray(i)||Array.isArray(o)){if(!e(i,o))return!1}else if(!ST(i,o))return!1}return!0},ST=function(t,n){if(Ft(t)&&Ft(n))return!0;if(!Ft(t)&&!Ft(n)){var r=t.props||{},s=r.children,i=yT(r,TQ),o=n.props||{},c=o.children,d=yT(o,RQ);return s&&c?Sc(i,d)&&FS(s,c):!s&&!c?Sc(i,d):!1}return!1},NT=function(t,n){var r=[],s={};return fC(t).forEach(function(i,o){if(IQ(i))r.push(i);else if(i){var c=ti(i.type),d=n[c]||{},f=d.handler,h=d.once;if(f&&(!h||!s[c])){var p=f(i,c,o);r.push(p),s[c]=!0}}}),r},LQ=function(t){var n=t&&t.type;return n&&bT[n]?bT[n]:null},FQ=function(t,n){return fC(n).indexOf(t)},zQ=["children","width","height","viewBox","className","style","title","desc"];function zS(){return zS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zS.apply(this,arguments)}function BQ(e,t){if(e==null)return{};var n=qQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function BS(e){var t=e.children,n=e.width,r=e.height,s=e.viewBox,i=e.className,o=e.style,c=e.title,d=e.desc,f=BQ(e,zQ),h=s||{width:n,height:r,x:0,y:0},p=Bt("recharts-surface",i);return X.createElement("svg",zS({},Pt(f,!0,"svg"),{className:p,width:n,height:r,style:o,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height)}),X.createElement("title",null,c),X.createElement("desc",null,d),t)}var UQ=["children","className"];function qS(){return qS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qS.apply(this,arguments)}function WQ(e,t){if(e==null)return{};var n=VQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var rn=X.forwardRef(function(e,t){var n=e.children,r=e.className,s=WQ(e,UQ),i=Bt("recharts-layer",r);return X.createElement("g",qS({className:i},Pt(s,!0),{ref:t}),n)}),ni=function(t,n){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i]},Xb,CT;function HQ(){if(CT)return Xb;CT=1;function e(t,n,r){var s=-1,i=t.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var o=Array(i);++s<i;)o[s]=t[s+n];return o}return Xb=e,Xb}var Qb,_T;function KQ(){if(_T)return Qb;_T=1;var e=HQ();function t(n,r,s){var i=n.length;return s=s===void 0?i:s,!r&&s>=i?n:e(n,r,s)}return Qb=t,Qb}var Jb,AT;function aL(){if(AT)return Jb;AT=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="\\u200d",c=RegExp("["+o+e+s+i+"]");function d(f){return c.test(f)}return Jb=d,Jb}var Zb,kT;function GQ(){if(kT)return Zb;kT=1;function e(t){return t.split("")}return Zb=e,Zb}var e0,PT;function YQ(){if(PT)return e0;PT=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="["+e+"]",c="["+s+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+c+"|"+d+")",h="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",b="["+i+"]?",y="(?:"+x+"(?:"+[h,p,g].join("|")+")"+b+j+")*",S=b+j+y,N="(?:"+[h+c+"?",c,p,g,o].join("|")+")",_=RegExp(d+"(?="+d+")|"+N+S,"g");function A(k){return k.match(_)||[]}return e0=A,e0}var t0,ET;function XQ(){if(ET)return t0;ET=1;var e=GQ(),t=aL(),n=YQ();function r(s){return t(s)?n(s):e(s)}return t0=r,t0}var n0,TT;function QQ(){if(TT)return n0;TT=1;var e=KQ(),t=aL(),n=XQ(),r=eL();function s(i){return function(o){o=r(o);var c=t(o)?n(o):void 0,d=c?c[0]:o.charAt(0),f=c?e(c,1).join(""):o.slice(1);return d[i]()+f}}return n0=s,n0}var r0,RT;function JQ(){if(RT)return r0;RT=1;var e=QQ(),t=e("toUpperCase");return r0=t,r0}var ZQ=JQ();const zv=dn(ZQ);function xn(e){return function(){return e}}const sL=Math.cos,Zh=Math.sin,ms=Math.sqrt,em=Math.PI,Bv=2*em,US=Math.PI,WS=2*US,$o=1e-6,eJ=WS-$o;function iL(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function tJ(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return iL;const n=10**t;return function(r){this._+=r[0];for(let s=1,i=r.length;s<i;++s)this._+=Math.round(arguments[s]*n)/n+r[s]}}class nJ{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?iL:tJ(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,s){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+s}`}bezierCurveTo(t,n,r,s,i,o){this._append`C${+t},${+n},${+r},${+s},${this._x1=+i},${this._y1=+o}`}arcTo(t,n,r,s,i){if(t=+t,n=+n,r=+r,s=+s,i=+i,i<0)throw new Error(`negative radius: ${i}`);let o=this._x1,c=this._y1,d=r-t,f=s-n,h=o-t,p=c-n,g=h*h+p*p;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(g>$o)if(!(Math.abs(p*d-f*h)>$o)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-o,j=s-c,b=d*d+f*f,y=x*x+j*j,S=Math.sqrt(b),N=Math.sqrt(g),_=i*Math.tan((US-Math.acos((b+g-y)/(2*S*N)))/2),A=_/N,k=_/S;Math.abs(A-1)>$o&&this._append`L${t+A*h},${n+A*p}`,this._append`A${i},${i},0,0,${+(p*x>h*j)},${this._x1=t+k*d},${this._y1=n+k*f}`}}arc(t,n,r,s,i,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let c=r*Math.cos(s),d=r*Math.sin(s),f=t+c,h=n+d,p=1^o,g=o?s-i:i-s;this._x1===null?this._append`M${f},${h}`:(Math.abs(this._x1-f)>$o||Math.abs(this._y1-h)>$o)&&this._append`L${f},${h}`,r&&(g<0&&(g=g%WS+WS),g>eJ?this._append`A${r},${r},0,1,${p},${t-c},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=h}`:g>$o&&this._append`A${r},${r},0,${+(g>=US)},${p},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+s}h${-r}Z`}toString(){return this._}}function pC(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new nJ(t)}function hC(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function oL(e){this._context=e}oL.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);break}}};function qv(e){return new oL(e)}function lL(e){return e[0]}function cL(e){return e[1]}function uL(e,t){var n=xn(!0),r=null,s=qv,i=null,o=pC(c);e=typeof e=="function"?e:e===void 0?lL:xn(e),t=typeof t=="function"?t:t===void 0?cL:xn(t);function c(d){var f,h=(d=hC(d)).length,p,g=!1,x;for(r==null&&(i=s(x=o())),f=0;f<=h;++f)!(f<h&&n(p=d[f],f,d))===g&&((g=!g)?i.lineStart():i.lineEnd()),g&&i.point(+e(p,f,d),+t(p,f,d));if(x)return i=null,x+""||null}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:xn(+d),c):e},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:xn(+d),c):t},c.defined=function(d){return arguments.length?(n=typeof d=="function"?d:xn(!!d),c):n},c.curve=function(d){return arguments.length?(s=d,r!=null&&(i=s(r)),c):s},c.context=function(d){return arguments.length?(d==null?r=i=null:i=s(r=d),c):r},c}function vh(e,t,n){var r=null,s=xn(!0),i=null,o=qv,c=null,d=pC(f);e=typeof e=="function"?e:e===void 0?lL:xn(+e),t=typeof t=="function"?t:xn(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?cL:xn(+n);function f(p){var g,x,j,b=(p=hC(p)).length,y,S=!1,N,_=new Array(b),A=new Array(b);for(i==null&&(c=o(N=d())),g=0;g<=b;++g){if(!(g<b&&s(y=p[g],g,p))===S)if(S=!S)x=g,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),j=g-1;j>=x;--j)c.point(_[j],A[j]);c.lineEnd(),c.areaEnd()}S&&(_[g]=+e(y,g,p),A[g]=+t(y,g,p),c.point(r?+r(y,g,p):_[g],n?+n(y,g,p):A[g]))}if(N)return c=null,N+""||null}function h(){return uL().defined(s).curve(o).context(i)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:xn(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:xn(+p),f):n},f.lineX0=f.lineY0=function(){return h().x(e).y(t)},f.lineY1=function(){return h().x(e).y(n)},f.lineX1=function(){return h().x(r).y(t)},f.defined=function(p){return arguments.length?(s=typeof p=="function"?p:xn(!!p),f):s},f.curve=function(p){return arguments.length?(o=p,i!=null&&(c=o(i)),f):o},f.context=function(p){return arguments.length?(p==null?i=c=null:c=o(i=p),f):i},f}class dL{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function rJ(e){return new dL(e,!0)}function aJ(e){return new dL(e,!1)}const mC={draw(e,t){const n=ms(t/em);e.moveTo(n,0),e.arc(0,0,n,0,Bv)}},sJ={draw(e,t){const n=ms(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},fL=ms(1/3),iJ=fL*2,oJ={draw(e,t){const n=ms(t/iJ),r=n*fL;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},lJ={draw(e,t){const n=ms(t),r=-n/2;e.rect(r,r,n,n)}},cJ=.8908130915292852,pL=Zh(em/10)/Zh(7*em/10),uJ=Zh(Bv/10)*pL,dJ=-sL(Bv/10)*pL,fJ={draw(e,t){const n=ms(t*cJ),r=uJ*n,s=dJ*n;e.moveTo(0,-n),e.lineTo(r,s);for(let i=1;i<5;++i){const o=Bv*i/5,c=sL(o),d=Zh(o);e.lineTo(d*n,-c*n),e.lineTo(c*r-d*s,d*r+c*s)}e.closePath()}},a0=ms(3),pJ={draw(e,t){const n=-ms(t/(a0*3));e.moveTo(0,n*2),e.lineTo(-a0*n,-n),e.lineTo(a0*n,-n),e.closePath()}},ba=-.5,wa=ms(3)/2,VS=1/ms(12),hJ=(VS/2+1)*3,mJ={draw(e,t){const n=ms(t/hJ),r=n/2,s=n*VS,i=r,o=n*VS+n,c=-i,d=o;e.moveTo(r,s),e.lineTo(i,o),e.lineTo(c,d),e.lineTo(ba*r-wa*s,wa*r+ba*s),e.lineTo(ba*i-wa*o,wa*i+ba*o),e.lineTo(ba*c-wa*d,wa*c+ba*d),e.lineTo(ba*r+wa*s,ba*s-wa*r),e.lineTo(ba*i+wa*o,ba*o-wa*i),e.lineTo(ba*c+wa*d,ba*d-wa*c),e.closePath()}};function vJ(e,t){let n=null,r=pC(s);e=typeof e=="function"?e:xn(e||mC),t=typeof t=="function"?t:xn(t===void 0?64:+t);function s(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return s.type=function(i){return arguments.length?(e=typeof i=="function"?i:xn(i),s):e},s.size=function(i){return arguments.length?(t=typeof i=="function"?i:xn(+i),s):t},s.context=function(i){return arguments.length?(n=i??null,s):n},s}function tm(){}function nm(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function hL(e){this._context=e}hL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nm(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(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;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function gJ(e){return new hL(e)}function mL(e){this._context=e}mL.prototype={areaStart:tm,areaEnd:tm,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function xJ(e){return new mL(e)}function vL(e){this._context=e}vL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function yJ(e){return new vL(e)}function gL(e){this._context=e}gL.prototype={areaStart:tm,areaEnd:tm,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function bJ(e){return new gL(e)}function OT(e){return e<0?-1:1}function MT(e,t,n){var r=e._x1-e._x0,s=t-e._x1,i=(e._y1-e._y0)/(r||s<0&&-0),o=(n-e._y1)/(s||r<0&&-0),c=(i*s+o*r)/(r+s);return(OT(i)+OT(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(c))||0}function IT(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function s0(e,t,n){var r=e._x0,s=e._y0,i=e._x1,o=e._y1,c=(i-r)/3;e._context.bezierCurveTo(r+c,s+c*t,i-c,o-c*n,i,o)}function rm(e){this._context=e}rm.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:s0(this,this._t0,IT(this,this._t0));break}(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,s0(this,IT(this,n=MT(this,e,t)),n);break;default:s0(this,this._t0,n=MT(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function xL(e){this._context=new yL(e)}(xL.prototype=Object.create(rm.prototype)).point=function(e,t){rm.prototype.point.call(this,t,e)};function yL(e){this._context=e}yL.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,s,i){this._context.bezierCurveTo(t,e,r,n,i,s)}};function wJ(e){return new rm(e)}function jJ(e){return new xL(e)}function bL(e){this._context=e}bL.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=$T(e),s=$T(t),i=0,o=1;o<n;++i,++o)this._context.bezierCurveTo(r[0][i],s[0][i],r[1][i],s[1][i],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 $T(e){var t,n=e.length-1,r,s=new Array(n),i=new Array(n),o=new Array(n);for(s[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)s[t]=1,i[t]=4,o[t]=4*e[t]+2*e[t+1];for(s[n-1]=2,i[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=s[t]/i[t-1],i[t]-=r,o[t]-=r*o[t-1];for(s[n-1]=o[n-1]/i[n-1],t=n-2;t>=0;--t)s[t]=(o[t]-s[t+1])/i[t];for(i[n-1]=(e[n]+s[n-1])/2,t=0;t<n-1;++t)i[t]=2*e[t+1]-s[t+1];return[s,i]}function SJ(e){return new bL(e)}function Uv(e,t){this._context=e,this._t=t}Uv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,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:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function NJ(e){return new Uv(e,.5)}function CJ(e){return new Uv(e,0)}function _J(e){return new Uv(e,1)}function Oc(e,t){if((o=e.length)>1)for(var n=1,r,s,i=e[t[0]],o,c=i.length;n<o;++n)for(s=i,i=e[t[n]],r=0;r<c;++r)i[r][1]+=i[r][0]=isNaN(s[r][1])?s[r][0]:s[r][1]}function HS(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function AJ(e,t){return e[t]}function kJ(e){const t=[];return t.key=e,t}function PJ(){var e=xn([]),t=HS,n=Oc,r=AJ;function s(i){var o=Array.from(e.apply(this,arguments),kJ),c,d=o.length,f=-1,h;for(const p of i)for(c=0,++f;c<d;++c)(o[c][f]=[0,+r(p,o[c].key,f,i)]).data=p;for(c=0,h=hC(t(o));c<d;++c)o[h[c]].index=c;return n(o,h),o}return s.keys=function(i){return arguments.length?(e=typeof i=="function"?i:xn(Array.from(i)),s):e},s.value=function(i){return arguments.length?(r=typeof i=="function"?i:xn(+i),s):r},s.order=function(i){return arguments.length?(t=i==null?HS:typeof i=="function"?i:xn(Array.from(i)),s):t},s.offset=function(i){return arguments.length?(n=i??Oc,s):n},s}function EJ(e,t){if((r=e.length)>0){for(var n,r,s=0,i=e[0].length,o;s<i;++s){for(o=n=0;n<r;++n)o+=e[n][s][1]||0;if(o)for(n=0;n<r;++n)e[n][s][1]/=o}Oc(e,t)}}function TJ(e,t){if((s=e.length)>0){for(var n=0,r=e[t[0]],s,i=r.length;n<i;++n){for(var o=0,c=0;o<s;++o)c+=e[o][n][1]||0;r[n][1]+=r[n][0]=-c/2}Oc(e,t)}}function RJ(e,t){if(!(!((o=e.length)>0)||!((i=(s=e[t[0]]).length)>0))){for(var n=0,r=1,s,i,o;r<i;++r){for(var c=0,d=0,f=0;c<o;++c){for(var h=e[t[c]],p=h[r][1]||0,g=h[r-1][1]||0,x=(p-g)/2,j=0;j<c;++j){var b=e[t[j]],y=b[r][1]||0,S=b[r-1][1]||0;x+=y-S}d+=p,f+=x*p}s[r-1][1]+=s[r-1][0]=n,d&&(n-=f/d)}s[r-1][1]+=s[r-1][0]=n,Oc(e,t)}}function qd(e){"@babel/helpers - typeof";return qd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qd(e)}var OJ=["type","size","sizeType"];function KS(){return KS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},KS.apply(this,arguments)}function DT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function LT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?DT(Object(n),!0).forEach(function(r){MJ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DT(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function IJ(e){var t=$J(e,"string");return qd(t)=="symbol"?t:t+""}function $J(e,t){if(qd(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(qd(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function DJ(e,t){if(e==null)return{};var n=LJ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function LJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var wL={symbolCircle:mC,symbolCross:sJ,symbolDiamond:oJ,symbolSquare:lJ,symbolStar:fJ,symbolTriangle:pJ,symbolWye:mJ},FJ=Math.PI/180,zJ=function(t){var n="symbol".concat(zv(t));return wL[n]||mC},BJ=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var s=18*FJ;return 1.25*t*t*(Math.tan(s)-Math.tan(s*2)*Math.pow(Math.tan(s),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},qJ=function(t,n){wL["symbol".concat(zv(t))]=n},vC=function(t){var n=t.type,r=n===void 0?"circle":n,s=t.size,i=s===void 0?64:s,o=t.sizeType,c=o===void 0?"area":o,d=DJ(t,OJ),f=LT(LT({},d),{},{type:r,size:i,sizeType:c}),h=function(){var y=zJ(r),S=vJ().type(y).size(BJ(i,c,r));return S()},p=f.className,g=f.cx,x=f.cy,j=Pt(f,!0);return g===+g&&x===+x&&i===+i?X.createElement("path",KS({},j,{className:Bt("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:h()})):null};vC.registerSymbol=qJ;function Mc(e){"@babel/helpers - typeof";return Mc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mc(e)}function GS(){return GS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},GS.apply(this,arguments)}function FT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function UJ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FT(Object(n),!0).forEach(function(r){Ud(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FT(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function WJ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VJ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,SL(r.key),r)}}function HJ(e,t,n){return t&&VJ(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function KJ(e,t,n){return t=am(t),GJ(e,jL()?Reflect.construct(t,n||[],am(e).constructor):t.apply(e,n))}function GJ(e,t){if(t&&(Mc(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return YJ(e)}function YJ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jL(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jL=function(){return!!e})()}function am(e){return am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},am(e)}function XJ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&YS(e,t)}function YS(e,t){return YS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},YS(e,t)}function Ud(e,t,n){return t=SL(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function SL(e){var t=QJ(e,"string");return Mc(t)=="symbol"?t:t+""}function QJ(e,t){if(Mc(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Mc(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var ja=32,gC=(function(e){function t(){return WJ(this,t),KJ(this,t,arguments)}return XJ(t,e),HJ(t,[{key:"renderIcon",value:function(r){var s=this.props.inactiveColor,i=ja/2,o=ja/6,c=ja/3,d=r.inactive?s:r.color;if(r.type==="plainline")return X.createElement("line",{strokeWidth:4,fill:"none",stroke:d,strokeDasharray:r.payload.strokeDasharray,x1:0,y1:i,x2:ja,y2:i,className:"recharts-legend-icon"});if(r.type==="line")return X.createElement("path",{strokeWidth:4,fill:"none",stroke:d,d:"M0,".concat(i,"h").concat(c,`
@@ -16,7 +16,7 @@
16
16
  <meta name="twitter:card" content="summary_large_image" />
17
17
  <meta name="twitter:site" content="@Inspectr" />
18
18
  <meta name="twitter:image" content="" />
19
- <script type="module" crossorigin src="/assets/index-5-spNLNG.js"></script>
19
+ <script type="module" crossorigin src="/assets/index-BrdYZn2f.js"></script>
20
20
  <link rel="stylesheet" crossorigin href="/assets/index-dkb6LH92.css">
21
21
  </head>
22
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/app-server/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAqBd;AAsBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAmBd;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAWjF"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/app-server/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAqBd;AAqBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAmBd;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAWjF"}
@@ -24,7 +24,6 @@ export function readConfigRecord(absPath, evalsDir, bundleRoot) {
24
24
  function emptySourceConfig() {
25
25
  return {
26
26
  name: undefined,
27
- servers: [],
28
27
  agents: [],
29
28
  scenarios: []
30
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/app-server/config-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAejC,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,QAAgB,EAChB,UAAmB;IAEnB,MAAM,EACJ,MAAM,EAAE,eAAe,EACvB,YAAY,EACZ,IAAI,EACJ,QAAQ,EACT,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI;QACJ,IAAI,EAAE,OAAO;QACb,YAAY;QACZ,SAAS,EAAE,+BAA+B,CAAC,YAAY,CAAC;QACxD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QAC/B,IAAI;QACJ,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAe;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,iBAAiB,EAAE,CAAC;QAC/F,OAAO,qBAAqB,CAAC,MAA0B,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,QAAgB,EAChB,UAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnC,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,YAAY;YACZ,SAAS,EAAE,+BAA+B,CAAC,YAAY,CAAC;YACxD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,iCAAiC,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAmB;IAC/D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3F,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpF,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/app-server/config-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAejC,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,QAAgB,EAChB,UAAmB;IAEnB,MAAM,EACJ,MAAM,EAAE,eAAe,EACvB,YAAY,EACZ,IAAI,EACJ,QAAQ,EACT,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI;QACJ,IAAI,EAAE,OAAO;QACb,YAAY;QACZ,SAAS,EAAE,+BAA+B,CAAC,YAAY,CAAC;QACxD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QAC/B,IAAI;QACJ,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAe;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,iBAAiB,EAAE,CAAC;QAC/F,OAAO,qBAAqB,CAAC,MAA0B,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,QAAgB,EAChB,UAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnC,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,YAAY;YACZ,SAAS,EAAE,+BAA+B,CAAC,YAAY,CAAC;YACxD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/B,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,iCAAiC,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAmB;IAC/D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3F,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpF,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspectr/mcplab",
3
- "version": "1.22.0",
3
+ "version": "1.22.1",
4
4
  "description": "MCPLab - Test and evaluate MCP servers with LLMs — run evals, compare agents and launch the MCPLab web app",
5
5
  "license": "MIT",
6
6
  "homepage": "https://mcplab.inspectr.dev",
@@ -44,9 +44,9 @@
44
44
  "vitest": "^4.1.8"
45
45
  },
46
46
  "dependencies": {
47
- "@inspectr/mcplab-core": "1.18.0",
48
- "@inspectr/mcplab-mcp-server": "1.5.2",
49
- "@inspectr/mcplab-reporting": "1.1.19",
47
+ "@inspectr/mcplab-core": "1.18.1",
48
+ "@inspectr/mcplab-mcp-server": "1.5.3",
49
+ "@inspectr/mcplab-reporting": "1.1.20",
50
50
  "commander": "^12.1.0",
51
51
  "dotenv": "^16.6.1",
52
52
  "kleur": "^4.1.5",